CN100380316C - 硬件环路 - Google Patents
硬件环路 Download PDFInfo
- Publication number
- CN100380316C CN100380316C CNB018183999A CN01818399A CN100380316C CN 100380316 C CN100380316 C CN 100380316C CN B018183999 A CNB018183999 A CN B018183999A CN 01818399 A CN01818399 A CN 01818399A CN 100380316 C CN100380316 C CN 100380316C
- Authority
- CN
- China
- Prior art keywords
- register
- loop
- prediction
- group
- instruction
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims description 62
- 238000001514 detection method Methods 0.000 claims description 3
- 230000003068 static effect Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 9
- 230000008569 process Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 28
- 230000013011 mating Effects 0.000 description 15
- 238000012546 transfer Methods 0.000 description 13
- 230000003247 decreasing effect Effects 0.000 description 10
- 230000008878 coupling Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 230000007423 decrease Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001915 proofreading effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
-
- 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/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- 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 or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- 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 or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3863—Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Power Sources (AREA)
Abstract
Description
Claims (26)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/705,070 US6766444B1 (en) | 2000-11-02 | 2000-11-02 | Hardware loops |
US09/705,070 | 2000-11-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1473294A CN1473294A (zh) | 2004-02-04 |
CN100380316C true CN100380316C (zh) | 2008-04-09 |
Family
ID=24831911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB018183999A Expired - Fee Related CN100380316C (zh) | 2000-11-02 | 2001-10-31 | 硬件环路 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6766444B1 (zh) |
JP (1) | JP3739357B2 (zh) |
KR (1) | KR100536018B1 (zh) |
CN (1) | CN100380316C (zh) |
TW (1) | TWI227854B (zh) |
WO (1) | WO2002037270A2 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002149402A (ja) * | 2000-11-14 | 2002-05-24 | Pacific Design Kk | データ処理装置およびその制御方法 |
US7065636B2 (en) | 2000-12-20 | 2006-06-20 | Intel Corporation | Hardware loops and pipeline system using advanced generation of loop parameters |
US20050102659A1 (en) * | 2003-11-06 | 2005-05-12 | Singh Ravi P. | Methods and apparatus for setting up hardware loops in a deeply pipelined processor |
US7272704B1 (en) * | 2004-05-13 | 2007-09-18 | Verisilicon Holdings (Cayman Islands) Co. Ltd. | Hardware looping mechanism and method for efficient execution of discontinuity instructions |
CN101065725A (zh) * | 2004-11-25 | 2007-10-31 | 松下电器产业株式会社 | 命令供给装置 |
US9052910B2 (en) * | 2007-10-25 | 2015-06-09 | International Business Machines Corporation | Efficiency of short loop instruction fetch |
US9772851B2 (en) * | 2007-10-25 | 2017-09-26 | International Business Machines Corporation | Retrieving instructions of a single branch, backwards short loop from a local loop buffer or virtual loop buffer |
US8266414B2 (en) | 2008-08-19 | 2012-09-11 | Freescale Semiconductor, Inc. | Method for executing an instruction loop and a device having instruction loop execution capabilities |
WO2013069551A1 (ja) | 2011-11-09 | 2013-05-16 | 日本電気株式会社 | デジタル信号プロセッサ、プログラム制御方法、および制御プログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US530355A (en) * | 1894-12-04 | Neck-ybke attachment | ||
US5303355A (en) * | 1991-03-27 | 1994-04-12 | Motorola, Inc. | Pipelined data processor which conditionally executes a predetermined looping instruction in hardware |
EP0605872A1 (en) * | 1993-01-08 | 1994-07-13 | International Business Machines Corporation | Method and system for supporting speculative execution of instructions |
EP0747809A1 (en) * | 1995-06-07 | 1996-12-11 | International Business Machines Corporation | A method and system for processing multiple branch instructions that write to count and/or link registers |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6116768A (en) | 1993-11-30 | 2000-09-12 | Texas Instruments Incorporated | Three input arithmetic logic unit with barrel rotator |
US6058473A (en) * | 1993-11-30 | 2000-05-02 | Texas Instruments Incorporated | Memory store from a register pair conditional upon a selected status bit |
US5724565A (en) * | 1995-02-03 | 1998-03-03 | International Business Machines Corporation | Method and system for processing first and second sets of instructions by first and second types of processing systems |
US5710913A (en) * | 1995-12-29 | 1998-01-20 | Atmel Corporation | Method and apparatus for executing nested loops in a digital signal processor |
US6571385B1 (en) * | 1999-03-22 | 2003-05-27 | Intel Corporation | Early exit transformations for software pipelining |
US6598155B1 (en) * | 2000-01-31 | 2003-07-22 | Intel Corporation | Method and apparatus for loop buffering digital signal processing instructions |
-
2000
- 2000-11-02 US US09/705,070 patent/US6766444B1/en not_active Expired - Lifetime
-
2001
- 2001-10-31 KR KR10-2003-7005950A patent/KR100536018B1/ko active IP Right Grant
- 2001-10-31 CN CNB018183999A patent/CN100380316C/zh not_active Expired - Fee Related
- 2001-10-31 WO PCT/US2001/046063 patent/WO2002037270A2/en active IP Right Grant
- 2001-10-31 JP JP2002539954A patent/JP3739357B2/ja not_active Expired - Lifetime
- 2001-11-01 TW TW090127157A patent/TWI227854B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US530355A (en) * | 1894-12-04 | Neck-ybke attachment | ||
US5303355A (en) * | 1991-03-27 | 1994-04-12 | Motorola, Inc. | Pipelined data processor which conditionally executes a predetermined looping instruction in hardware |
EP0605872A1 (en) * | 1993-01-08 | 1994-07-13 | International Business Machines Corporation | Method and system for supporting speculative execution of instructions |
EP0747809A1 (en) * | 1995-06-07 | 1996-12-11 | International Business Machines Corporation | A method and system for processing multiple branch instructions that write to count and/or link registers |
Also Published As
Publication number | Publication date |
---|---|
KR100536018B1 (ko) | 2005-12-14 |
WO2002037270A2 (en) | 2002-05-10 |
TWI227854B (en) | 2005-02-11 |
KR20030081324A (ko) | 2003-10-17 |
CN1473294A (zh) | 2004-02-04 |
US6766444B1 (en) | 2004-07-20 |
JP2004513426A (ja) | 2004-04-30 |
JP3739357B2 (ja) | 2006-01-25 |
WO2002037270A3 (en) | 2003-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8935515B2 (en) | Method and apparatus for vector execution on a scalar machine | |
KR101334863B1 (ko) | 루프 제어 시스템 및 방법 | |
CN103150146B (zh) | 基于可扩展处理器架构的专用指令集处理器及其实现方法 | |
CN109918130A (zh) | 一种具有快速数据旁路结构的四级流水线risc-v处理器 | |
CN100573444C (zh) | 用于臆测分支预测优化的系统及其方法 | |
CN100380316C (zh) | 硬件环路 | |
CN104424158A (zh) | 基于通用单元的高性能处理器系统和方法 | |
JP2012103959A (ja) | ベクトル処理回路、命令発行制御方法、及びプロセッサシステム | |
CN101021778A (zh) | 超长指令字与单指令流多数据流融合的计算群结构 | |
US5634025A (en) | Method and system for efficiently fetching variable-width instructions in a data processing system having multiple prefetch units | |
CN101034345A (zh) | 流处理器中数据流、指令流的控制方法 | |
CN101702144B (zh) | 一种dma控制器的控制装置及控制方法 | |
US20050102659A1 (en) | Methods and apparatus for setting up hardware loops in a deeply pipelined processor | |
CN100416495C (zh) | 硬件环路 | |
US6898693B1 (en) | Hardware loops | |
CN1257450C (zh) | 节省资源的硬件环路 | |
CN101452394A (zh) | 编译方法和编译器 | |
CN100525133C (zh) | 排序装置 | |
CN100583042C (zh) | 针对程序中循环的编译方法和编译设备 | |
CN101581961A (zh) | 一种cpu和降低cpu功耗的方法 | |
CN116048627A (zh) | 指令缓冲方法、装置、处理器、电子设备及可读存储介质 | |
US8631173B2 (en) | Semiconductor device | |
CN101923386A (zh) | 一种降低cpu功耗的方法、装置及一种低功耗cpu | |
CN111782273B (zh) | 一种提高重复程序执行性能的软硬件协同缓存装置 | |
CN1481530A (zh) | 推测寄存器的调整 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20081226 Address after: Massachusetts, USA Patentee after: ANALOG DEVICES, Inc. Address before: California, USA Co-patentee before: ANALOG DEVICES, Inc. Patentee before: INTEL Corp. |
|
ASS | Succession or assignment of patent right |
Owner name: ANALOG DEVICES, INC. Free format text: FORMER OWNER: INTEL CORP Effective date: 20081226 |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080409 Termination date: 20201031 |
|
CF01 | Termination of patent right due to non-payment of annual fee |