ATE467170T1 - Stromsparverfahren und -vorrichtungen für anweisungen variabler länge - Google Patents

Stromsparverfahren und -vorrichtungen für anweisungen variabler länge

Info

Publication number
ATE467170T1
ATE467170T1 AT06736989T AT06736989T ATE467170T1 AT E467170 T1 ATE467170 T1 AT E467170T1 AT 06736989 T AT06736989 T AT 06736989T AT 06736989 T AT06736989 T AT 06736989T AT E467170 T1 ATE467170 T1 AT E467170T1
Authority
AT
Austria
Prior art keywords
processor
instruction cache
instructions
variable length
length instructions
Prior art date
Application number
AT06736989T
Other languages
English (en)
Inventor
Brian Michael Stempel
James Norris Dieffenderfer
Jeffrey Todd Bridges
Rodney Wayne Smith
Thomas Andrew Sartorius
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ATE467170T1 publication Critical patent/ATE467170T1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/382Pipelined decoding, e.g. using predecoding
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • G06F9/30152Determining start or end of instruction; determining instruction length
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3816Instruction alignment, e.g. cache line crossing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)
  • Power Sources (AREA)
  • Vehicle Body Suspensions (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
  • Containers And Plastic Fillers For Packaging (AREA)
AT06736989T 2005-03-04 2006-03-03 Stromsparverfahren und -vorrichtungen für anweisungen variabler länge ATE467170T1 (de)

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
PCT/US2006/007758 WO2006096568A2 (en) 2005-03-04 2006-03-03 Power saving methods and apparatus for variable length instructions

Publications (1)

Publication Number Publication Date
ATE467170T1 true ATE467170T1 (de) 2010-05-15

Family

ID=36695266

Family Applications (1)

Application Number Title Priority Date Filing Date
AT06736989T ATE467170T1 (de) 2005-03-04 2006-03-03 Stromsparverfahren und -vorrichtungen für anweisungen variabler länge

Country Status (11)

Country Link
US (1) US7421568B2 (de)
EP (1) EP1904922B1 (de)
JP (1) JP4791495B2 (de)
KR (1) KR100942408B1 (de)
CN (1) CN101164040B (de)
AT (1) ATE467170T1 (de)
DE (1) DE602006014156D1 (de)
ES (1) ES2341993T3 (de)
IL (1) IL185594A0 (de)
MX (1) MX2007010773A (de)
WO (1) WO2006096568A2 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
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
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
US9588845B2 (en) 2014-02-10 2017-03-07 Via Alliance Semiconductor Co., Ltd. Processor that recovers from excessive approximate computing error
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 (zh) * 2023-01-16 2023-05-02 北京微核芯科技有限公司 支持压缩指令的处理器指令处理装置和方法
US12235765B2 (en) * 2023-05-23 2025-02-25 Nvidia Corporation Cache locality when using repurposed cache memory

Family Cites Families (13)

* Cited by examiner, † Cited by third party
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 (ja) * 1991-02-13 1992-09-14 Fujitsu Ltd キャッシュメモリ、該キャッシュメモリを備えたシステムおよび該システムにおける命令デコード方式
US5499204A (en) * 1994-07-05 1996-03-12 Motorola, Inc. Memory cache with interlaced data and method of operation
US5640526A (en) * 1994-12-21 1997-06-17 International Business Machines Corporation Superscaler instruction pipeline having boundary indentification logic for variable length instructions
JP2000506635A (ja) * 1995-10-06 2000-05-30 アドバンスト・マイクロ・デバイシズ・インコーポレイテッド 命令プリデコード及び複数命令デコード用プロセッサ
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
US6092182A (en) * 1998-06-24 2000-07-18 Advanced Micro Devices, Inc. Using ECC/parity bits to store predecode information
US6253309B1 (en) * 1998-09-21 2001-06-26 Advanced Micro Devices, Inc. Forcing regularity into a CISC instruction set by padding instructions
US6275927B2 (en) * 1998-09-21 2001-08-14 Advanced Micro Devices. Compressing variable-length instruction prefix bytes
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
US6901490B2 (en) * 2002-12-02 2005-05-31 Lsi Logic Corporation Read/modify/write registers

Also Published As

Publication number Publication date
CN101164040B (zh) 2010-04-14
WO2006096568A2 (en) 2006-09-14
KR100942408B1 (ko) 2010-02-17
IL185594A0 (en) 2008-01-06
MX2007010773A (es) 2007-11-08
JP4791495B2 (ja) 2011-10-12
US7421568B2 (en) 2008-09-02
JP2008532187A (ja) 2008-08-14
CN101164040A (zh) 2008-04-16
EP1904922A2 (de) 2008-04-02
ES2341993T3 (es) 2010-06-30
WO2006096568A3 (en) 2007-01-11
EP1904922B1 (de) 2010-05-05
US20060200686A1 (en) 2006-09-07
DE602006014156D1 (de) 2010-06-17
KR20070116058A (ko) 2007-12-06

Similar Documents

Publication Publication Date Title
IL185594A0 (en) Power saving methods and apparatus to selectively enable cache bits based on known processor state
US8959320B2 (en) Preventing update training of first predictor with mismatching second predictor for branch instructions with alternating pattern hysteresis
US9396117B2 (en) Instruction cache power reduction
CN101506773B (zh) 用于模拟显式子例行程序调用的分支预测行为的方法和设备
ATE463788T1 (de) Datenverarbeitungseinheit für anweisungen in geschachtelten schleifen
CN104471529B (zh) 用以扩展软件分支目标提示的方法及设备
US20070260854A1 (en) Pre-decoding variable length instructions
GB2441665A (en) Primitives to enhance thread-level speculation
DE602007006276D1 (de) Effiziente speicherhierarchieverwaltung
CN100480994C (zh) 分支目标缓冲器及其使用方法
US10241810B2 (en) Instruction-optimizing processor with branch-count table in hardware
Gautschi et al. Tailoring instruction-set extensions for an ultra-low power tightly-coupled cluster of OpenRISC cores
IL183283A0 (en) Pre-decode error handling via branch correction
CN101176060A (zh) 每索引存储两个或更多分支目标地址的分支目标地址高速缓冲存储器
US8131977B2 (en) Microprocessor inhibiting instruction storage in cache and not decoding based on pre-analysis information to reduce power consumption
ATE513261T1 (de) Verfahren und vorrichtung für befehlsvorausladesystem geringer komplexität
DE602005017909D1 (de) Selektives durchführen von abrufvorgängen für speicheroperationen während der spekulativen ausführung
US7685411B2 (en) Multi-mode instruction memory unit
GB2442908A (en) Computer having dynamically-changeable instruction set in real time
JP2009516254A (ja) 命令を実行するための処理システムおよび方法
US10324723B2 (en) Systems and methods for processing both instructions and constant values from a memory of a digital processor accessed by separate pointers
JP5292831B2 (ja) プログラマブルコントローラ
Levison et al. Branch target buffer design for embedded processors
KR20140134421A (ko) 이중 명령어 페치 장치 및 방법
Garcia et al. Processor's micro-architectural support for runtime environment

Legal Events

Date Code Title Description
RER Ceased as to paragraph 5 lit. 3 law introducing patent treaties