WO2006096568A3 - Power saving methods and apparatus for variable length instructions - Google Patents
Power saving methods and apparatus for variable length instructions Download PDFInfo
- Publication number
- WO2006096568A3 WO2006096568A3 PCT/US2006/007758 US2006007758W WO2006096568A3 WO 2006096568 A3 WO2006096568 A3 WO 2006096568A3 US 2006007758 W US2006007758 W US 2006007758W WO 2006096568 A3 WO2006096568 A3 WO 2006096568A3
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- processor
- instruction cache
- instructions
- variable length
- length instructions
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/382—Pipelined decoding, e.g. using predecoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
- G06F9/30152—Determining start or end of instruction; determining instruction length
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3816—Instruction alignment, e.g. cache line crossing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE602006014156T DE602006014156D1 (en) | 2005-03-04 | 2006-03-03 | POWER SAVING METHOD AND DEVICES FOR INSTRUCTIONS OF VARIABLE LENGTH |
AT06736989T ATE467170T1 (en) | 2005-03-04 | 2006-03-03 | POWER SAVING METHOD AND DEVICES FOR VARIABLE LENGTH INSTRUCTIONS |
EP06736989A EP1904922B1 (en) | 2005-03-04 | 2006-03-03 | Power saving methods and apparatus for variable length instructions |
CN2006800137440A CN101164040B (en) | 2005-03-04 | 2006-03-03 | Power saving methods and apparatus for variable length instructions |
JP2007558296A JP4791495B2 (en) | 2005-03-04 | 2006-03-03 | Power saving method and apparatus for selectively enabling cache bits based on known processor state |
MX2007010773A MX2007010773A (en) | 2005-03-04 | 2006-03-03 | Power saving methods and apparatus for variable length instructions. |
IL185594A IL185594A0 (en) | 2005-03-04 | 2007-08-29 | Power saving methods and apparatus to selectively enable cache bits based on known processor state |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/073,284 US7421568B2 (en) | 2005-03-04 | 2005-03-04 | Power saving methods and apparatus to selectively enable cache bits based on known processor state |
US11/073,284 | 2005-03-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2006096568A2 WO2006096568A2 (en) | 2006-09-14 |
WO2006096568A3 true WO2006096568A3 (en) | 2007-01-11 |
Family
ID=36695266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2006/007758 WO2006096568A2 (en) | 2005-03-04 | 2006-03-03 | Power saving methods and apparatus for variable length instructions |
Country Status (11)
Country | Link |
---|---|
US (1) | US7421568B2 (en) |
EP (1) | EP1904922B1 (en) |
JP (1) | JP4791495B2 (en) |
KR (1) | KR100942408B1 (en) |
CN (1) | CN101164040B (en) |
AT (1) | ATE467170T1 (en) |
DE (1) | DE602006014156D1 (en) |
ES (1) | ES2341993T3 (en) |
IL (1) | IL185594A0 (en) |
MX (1) | MX2007010773A (en) |
WO (1) | WO2006096568A2 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7769983B2 (en) | 2005-05-18 | 2010-08-03 | Qualcomm Incorporated | Caching instructions for a multiple-state processor |
US7711927B2 (en) * | 2007-03-14 | 2010-05-04 | Qualcomm Incorporated | System, method and software to preload instructions from an instruction set other than one currently executing |
US7836285B2 (en) * | 2007-08-08 | 2010-11-16 | Analog Devices, Inc. | Implementation of variable length instruction encoding using alias addressing |
US8898437B2 (en) * | 2007-11-02 | 2014-11-25 | Qualcomm Incorporated | Predecode repair cache for instructions that cross an instruction cache line |
US10055227B2 (en) | 2012-02-07 | 2018-08-21 | Qualcomm Incorporated | Using the least significant bits of a called function's address to switch processor modes |
US20140244932A1 (en) * | 2013-02-27 | 2014-08-28 | Advanced Micro Devices, Inc. | Method and apparatus for caching and indexing victim pre-decode information |
US9588845B2 (en) | 2014-02-10 | 2017-03-07 | Via Alliance Semiconductor Co., Ltd. | Processor that recovers from excessive approximate computing error |
US10235232B2 (en) | 2014-02-10 | 2019-03-19 | Via Alliance Semiconductor Co., Ltd | Processor with approximate computing execution unit that includes an approximation control register having an approximation mode flag, an approximation amount, and an error threshold, where the approximation control register is writable by an instruction set instruction |
US9916251B2 (en) | 2014-12-01 | 2018-03-13 | Samsung Electronics Co., Ltd. | Display driving apparatus and cache managing method thereof |
US9727353B2 (en) * | 2015-10-30 | 2017-08-08 | International Business Machines Corporation | Simultaneously capturing status information for multiple operating modes |
CN115878187B (en) * | 2023-01-16 | 2023-05-02 | 北京微核芯科技有限公司 | Processor instruction processing apparatus and method supporting compressed instructions |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5644744A (en) * | 1994-12-21 | 1997-07-01 | International Business Machines Corporation | Superscaler instruction pipeline having boundary identification logic for variable length instructions |
US6141745A (en) * | 1998-04-30 | 2000-10-31 | Advanced Micro Devices, Inc. | Functional bit identifying a prefix byte via a particular state regardless of type of instruction |
US20040107330A1 (en) * | 2002-12-02 | 2004-06-03 | Lsi Logic Corporation | Read/modify/write registers |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5115500A (en) * | 1988-01-11 | 1992-05-19 | International Business Machines Corporation | Plural incompatible instruction format decode method and apparatus |
JPH04257948A (en) * | 1991-02-13 | 1992-09-14 | Fujitsu Ltd | Cache memory, system equipped with the cache memory and instruction decode method for the system |
US5499204A (en) * | 1994-07-05 | 1996-03-12 | Motorola, Inc. | Memory cache with interlaced data and method of operation |
JP2000506635A (en) * | 1995-10-06 | 2000-05-30 | アドバンスト・マイクロ・デバイシズ・インコーポレイテッド | Instruction predecode and multiple instruction decode processors |
US6092182A (en) * | 1998-06-24 | 2000-07-18 | Advanced Micro Devices, Inc. | Using ECC/parity bits to store predecode information |
US6275927B2 (en) * | 1998-09-21 | 2001-08-14 | Advanced Micro Devices. | Compressing variable-length instruction prefix bytes |
US6253309B1 (en) * | 1998-09-21 | 2001-06-26 | Advanced Micro Devices, Inc. | Forcing regularity into a CISC instruction set by padding instructions |
US6496923B1 (en) * | 1999-12-17 | 2002-12-17 | Intel Corporation | Length decode to detect one-byte prefixes and branch |
US6804799B2 (en) * | 2001-06-26 | 2004-10-12 | Advanced Micro Devices, Inc. | Using type bits to track storage of ECC and predecode bits in a level two cache |
US7058827B2 (en) * | 2001-07-18 | 2006-06-06 | Intel Corporation | Power saving circuit has an input line coupled to an external host and a keeper to hold the line in a weakly held state |
-
2005
- 2005-03-04 US US11/073,284 patent/US7421568B2/en active Active
-
2006
- 2006-03-03 AT AT06736989T patent/ATE467170T1/en not_active IP Right Cessation
- 2006-03-03 KR KR1020077022475A patent/KR100942408B1/en active IP Right Grant
- 2006-03-03 JP JP2007558296A patent/JP4791495B2/en active Active
- 2006-03-03 ES ES06736989T patent/ES2341993T3/en active Active
- 2006-03-03 EP EP06736989A patent/EP1904922B1/en not_active Not-in-force
- 2006-03-03 CN CN2006800137440A patent/CN101164040B/en not_active Expired - Fee Related
- 2006-03-03 MX MX2007010773A patent/MX2007010773A/en active IP Right Grant
- 2006-03-03 WO PCT/US2006/007758 patent/WO2006096568A2/en active Application Filing
- 2006-03-03 DE DE602006014156T patent/DE602006014156D1/en active Active
-
2007
- 2007-08-29 IL IL185594A patent/IL185594A0/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5644744A (en) * | 1994-12-21 | 1997-07-01 | International Business Machines Corporation | Superscaler instruction pipeline having boundary identification logic for variable length instructions |
US6141745A (en) * | 1998-04-30 | 2000-10-31 | Advanced Micro Devices, Inc. | Functional bit identifying a prefix byte via a particular state regardless of type of instruction |
US20040107330A1 (en) * | 2002-12-02 | 2004-06-03 | Lsi Logic Corporation | Read/modify/write registers |
Also Published As
Publication number | Publication date |
---|---|
DE602006014156D1 (en) | 2010-06-17 |
IL185594A0 (en) | 2008-01-06 |
CN101164040A (en) | 2008-04-16 |
KR20070116058A (en) | 2007-12-06 |
MX2007010773A (en) | 2007-11-08 |
US7421568B2 (en) | 2008-09-02 |
KR100942408B1 (en) | 2010-02-17 |
CN101164040B (en) | 2010-04-14 |
EP1904922B1 (en) | 2010-05-05 |
ES2341993T3 (en) | 2010-06-30 |
JP2008532187A (en) | 2008-08-14 |
EP1904922A2 (en) | 2008-04-02 |
WO2006096568A2 (en) | 2006-09-14 |
ATE467170T1 (en) | 2010-05-15 |
JP4791495B2 (en) | 2011-10-12 |
US20060200686A1 (en) | 2006-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2006096568A3 (en) | Power saving methods and apparatus for variable length instructions | |
US9396117B2 (en) | Instruction cache power reduction | |
US8959320B2 (en) | Preventing update training of first predictor with mismatching second predictor for branch instructions with alternating pattern hysteresis | |
IL183283A0 (en) | Pre-decode error handling via branch correction | |
WO2009087162A3 (en) | Rotate then operate on selected bits facility and instructions therefore | |
WO2006125219A3 (en) | Caching instructions for a multiple-state processor | |
WO2006007075A3 (en) | Selectively performing fetches for store operations during speculative execution | |
WO2007085011A3 (en) | Efficient memory hierarchy management | |
WO2008016849A3 (en) | Method and apparatus for prefetching non-sequential instruction addresses | |
JP2009536770A (en) | Branch address cache based on block | |
US8131977B2 (en) | Microprocessor inhibiting instruction storage in cache and not decoding based on pre-analysis information to reduce power consumption | |
WO2005026928A3 (en) | Power saving operation of an apparatus with a cache memory | |
TW200508967A (en) | Method and data processor with reduced stalling due to operand dependencies | |
WO2006110886A3 (en) | Instruction memory unit and method of operation | |
GB2442908A (en) | Computer having dynamically-changeable instruction set in real time | |
WO2006120408A3 (en) | Memory caching in data processing | |
JP2009516254A (en) | Processing system and method for executing instructions | |
US10853074B2 (en) | Table fetch processor instruction using table number to base address translation | |
WO2013121516A1 (en) | Data processing device | |
WO2006127856A3 (en) | Operand width indication for micro-sequence processing | |
US10031754B2 (en) | Kick-started run-to-completion processor having no instruction counter | |
CN114610391A (en) | Data loading method and related device of RISC-V vector processor | |
KR20140134421A (en) | Dual instruction fetch apparatus and method | |
JP2009176177A (en) | Programmable controller | |
US20140372735A1 (en) | Software controlled instruction prefetch buffering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200680013744.0 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 185594 Country of ref document: IL |
|
WWE | Wipo information: entry into national phase |
Ref document number: MX/a/2007/010773 Country of ref document: MX |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2007558296 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1469/MUMNP/2007 Country of ref document: IN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020077022475 Country of ref document: KR |
|
NENP | Non-entry into the national phase |
Ref country code: RU |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2006736989 Country of ref document: EP |