KR100402820B1 - 기본 블럭 캐쉬를 이용하는 마이크로프로세서 - Google Patents
기본 블럭 캐쉬를 이용하는 마이크로프로세서 Download PDFInfo
- Publication number
- KR100402820B1 KR100402820B1 KR10-2001-0000613A KR20010000613A KR100402820B1 KR 100402820 B1 KR100402820 B1 KR 100402820B1 KR 20010000613 A KR20010000613 A KR 20010000613A KR 100402820 B1 KR100402820 B1 KR 100402820B1
- Authority
- KR
- South Korea
- Prior art keywords
- instruction
- instructions
- group
- basic block
- cache
- Prior art date
Links
- 238000005336 cracking Methods 0.000 claims abstract description 39
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 14
- 230000004044 response Effects 0.000 claims abstract description 8
- 238000011010 flushing procedure Methods 0.000 claims description 2
- 238000003672 processing method Methods 0.000 claims 1
- 230000015556 catabolic process Effects 0.000 abstract description 7
- 238000006731 degradation reaction Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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 or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
-
- 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
-
- 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/3802—Instruction prefetching
- G06F9/3808—Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
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)
Abstract
Description
Claims (20)
- 마이크로프로세서 내의 명령어를 처리하기 위한 방법에 있어서,제1 세트의 수신된 명령어를 하나의 명령어 그룹(instruction group)으로 변환시키는 단계와,상기 명령어 그룹을 기본 블럭 캐쉬(basic block cache)의 엔트리-각각의 캐쉬 엔트리는 하나의 명령어 그룹을 포함하도록 구성됨-에 저장하는 단계와,실행을 위해 상기 명령어 그룹 내의 명령어를 송출(issue)하는 단계와,상기 명령어 그룹 내의 명령어의 실행 동안에 발생된 예외(exception)에 응답하여, 상기 기본 블럭 캐쉬와 최종단(finish stage) 사이에 대기중인 명령어들만 플러시(flush)하는 단계를 포함하는 마이크로프로세서 내의 명령어 처리 방법.
- 제1항에 있어서, 상기 발생된 예외는 잘못된 분기 예측 예외(branch mispredict exception)를 포함하는 마이크로프로세서 내의 명령어 처리 방법.
- 제1항에 있어서, 상기 수신된 명령어들은 제1 명령어 포멧에 따라 포멧팅되고, 상기 명령어 그룹 내의 명령어들은 제2 명령어 포멧에 따라 포멧팅되는 마이크로프로세서 내의 명령어 처리 방법.
- 제3항에 있어서, 상기 제2 명령어 포멧은 상기 제1 명령어 포멧보다 더 넓은 마이크로프로세서 내의 명령어 처리 방법.
- 제4항에 있어서, 실행될 다음 명령어 그룹을 예측하는 포인터를 상기 캐쉬 설비의 각각의 엔트리에 할당하는 단계를 더 포함하는 마이크로프로세서 내의 명령어 처리 방법.
- 제5항에 있어서, 상기 명령어 그룹 중 하나를 실행시키는 동안에 잘못예측된 분기의 검출에 응답하여, 상기 잘못예측된 분기에 대응하는 상기 캐쉬 엔트리의 포인터를 갱신하는 단계를 더 포함하는 마이크로프로세서 내의 명령어 처리 방법.
- 마이크로프로세서에 있어서,제1 세트의 마이크로프로세서의 명령어를 수신하여 상기 명령어 세트를 하나의 명령어 그룹으로 편성하도록 구성된 명령어 크래킹 유닛과,상기 명령어 크래킹 유닛에 의해 발생된 명령어 그룹을 캐쉬하도록 구성된 기본 블럭 캐쉬 설비와,상기 명령어 그룹 내의 명령어를 실행시키기에 적합한 실행 유닛을 포함하고,상기 명령어 그룹 내의 한 명령어의 실행 동안에 발생되며 플러시를 유발하는 예외는, 상기 기본 블럭 캐쉬로부터 디스페치된 명령어들만 플러시하는 마이크로프로세서.
- 제7항에 있어서, 상기 기본 블럭 캐쉬 내의 명령어 그룹으로부터의 명령어를 검색(retrieve)하여 이를 송출큐로 포워딩하도록 구성된 디스페치 유닛을 더 포함하는 마이크로프로세서.
- 제7항에 있어서, 상기 수신된 명령어는 제1 명령어 포멧에 따라 포멧팅되며 상기 제2 세트의 명령어는 제2 명령어 포멧에 따라 포멧팅되고, 상기 제2 명령어 포멧은 상기 제1 명령어 포멧보다 넓은 마이크로프로세서.
- 제7항에 있어서, 상기 기본 블럭 캐쉬는, 각각의 명령어 그룹을 상기 기본 블럭 캐쉬의 대응하는 엔트리 내에 저장하도록 구성된 마이크로프로세서.
- 제10항에 있어서, 상기 기본 블럭 캐쉬는 상기 대응하는 기본 블럭 캐쉬 엔트리를 가리키는 엔트리 필드를 포함하는 마이크로프로세서.
- 제11항에 있어서, 상기 기본 블럭 캐쉬 내의 각각의 엔트리는 실행될 다음 명령어 그룹을 예측하는 포인터를 포함하는 마이크로프로세서.
- 제12항에 있어서, 상기 프로세서는 잘못 예측된 분기에 응답하여 캐쉬 엔트리의 포인터를 갱신하도록 구성된 마이크로프로세서.
- 프로세서와, 메모리와, 입력 수단과, 디스플레이를 포함하는 데이타 처리 시스템에 있어서, 상기 프로세서는제1 세트의 마이크로프로세서의 명령어를 수신하여 상기 명령어 세트를 하나의 명령어 그룹으로 편성하도록 구성된 명령어 크래킹 유닛과,상기 명령어 크래킹 유닛에 의해 발생된 상기 명령어 그룹을 캐쉬하도록 구성된 기본 블럭 캐쉬 설비와,상기 명령어 그룹 내의 명령어를 실행시키기에 적합한 실행 유닛을 포함하고,상기 명령어 그룹 내의 한 명령어의 실행 동안에 발생되며 플러시를 유발하는 예외는, 상기 기본 블럭 캐쉬로부터 디스페치된 명령어들만 플러시하는 데이타 처리 시스템.
- 제14항에 있어서, 상기 기본 블럭 캐쉬 내의 명령어 그룹으로부터 명령어를 검색하여 이를 송출큐로 포워딩하도록 구성된 디스페치 유닛을 더 포함하는 데이타 처리 시스템.
- 제14항에 있어서, 상기 수신된 명령어는 제1 명령어 포멧에 따라 포멧팅되며 상기 제2 세트의 명령어는 제2 명령어 포멧에 따라 포멧팅되고, 상기 명령어 포멧은 상기 제1 명령어 포멧보다 넓은 데이타 처리 시스템.
- 제14항에 있어서, 상기 기본 블럭 캐쉬는, 각각의 명령어 그룹을 상기 기본 블럭 캐쉬의 대응하는 엔트리 내에 저장하도록 구성된 데이타 처리 시스템.
- 제17항에 있어서, 상기 기본 블럭 캐쉬는 상기 대응하는 기본 블럭 캐쉬 엔트리를 가리키는 엔트리 필드를 포함하는 데이타 처리 시스템.
- 제18항에 있어서, 상기 기본 블럭 캐쉬 내의 각각의 엔트리는 실행될 다음 명령어 그룹을 예측하는 포인터를 포함하는 데이타 처리 시스템.
- 제19항에 있어서, 상기 프로세서는 잘못 예측된 분기에 응답하여 캐쉬 엔트리의 포인터를 갱신하도록 구성된 데이타 처리 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US47830800A | 2000-01-06 | 2000-01-06 | |
US09/478,308 | 2000-01-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010070434A KR20010070434A (ko) | 2001-07-25 |
KR100402820B1 true KR100402820B1 (ko) | 2003-10-22 |
Family
ID=23899386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0000613A KR100402820B1 (ko) | 2000-01-06 | 2001-01-05 | 기본 블럭 캐쉬를 이용하는 마이크로프로세서 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP3629551B2 (ko) |
KR (1) | KR100402820B1 (ko) |
CN (1) | CN1116638C (ko) |
HK (1) | HK1035946A1 (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100395731C (zh) * | 2006-02-23 | 2008-06-18 | 华为技术有限公司 | 处理器及其数据操作方法 |
JP2009163624A (ja) * | 2008-01-09 | 2009-07-23 | Nec Electronics Corp | プロセッサ装置及び条件分岐処理方法 |
US8082467B2 (en) | 2009-12-23 | 2011-12-20 | International Business Machines Corporation | Triggering workaround capabilities based on events active in a processor pipeline |
US9104399B2 (en) | 2009-12-23 | 2015-08-11 | International Business Machines Corporation | Dual issuing of complex instruction set instructions |
US9135005B2 (en) | 2010-01-28 | 2015-09-15 | International Business Machines Corporation | History and alignment based cracking for store multiple instructions for optimizing operand store compare penalties |
US8495341B2 (en) | 2010-02-17 | 2013-07-23 | International Business Machines Corporation | Instruction length based cracking for instruction of variable length storage operands |
US8938605B2 (en) | 2010-03-05 | 2015-01-20 | International Business Machines Corporation | Instruction cracking based on machine state |
US8464030B2 (en) | 2010-04-09 | 2013-06-11 | International Business Machines Corporation | Instruction cracking and issue shortening based on instruction base fields, index fields, operand fields, and various other instruction text bits |
US8645669B2 (en) | 2010-05-05 | 2014-02-04 | International Business Machines Corporation | Cracking destructively overlapping operands in variable length instructions |
US10564979B2 (en) * | 2017-11-30 | 2020-02-18 | International Business Machines Corporation | Coalescing global completion table entries in an out-of-order processor |
US10572264B2 (en) * | 2017-11-30 | 2020-02-25 | International Business Machines Corporation | Completing coalesced global completion table entries in an out-of-order processor |
KR20190128392A (ko) * | 2018-05-08 | 2019-11-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US11409530B2 (en) * | 2018-08-16 | 2022-08-09 | Arm Limited | System, method and apparatus for executing instructions |
-
2000
- 2000-12-22 JP JP2000391300A patent/JP3629551B2/ja not_active Expired - Fee Related
- 2000-12-27 CN CN00137005A patent/CN1116638C/zh not_active Expired - Fee Related
-
2001
- 2001-01-05 KR KR10-2001-0000613A patent/KR100402820B1/ko not_active IP Right Cessation
- 2001-09-18 HK HK01106575A patent/HK1035946A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN1116638C (zh) | 2003-07-30 |
JP2001229024A (ja) | 2001-08-24 |
CN1303044A (zh) | 2001-07-11 |
HK1035946A1 (en) | 2001-12-14 |
KR20010070434A (ko) | 2001-07-25 |
JP3629551B2 (ja) | 2005-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100407013B1 (ko) | 1차 및 2차 송출큐를 갖는 마이크로프로세서 | |
KR100407014B1 (ko) | 명령어 히스토리 정보를 갖는 기본 블럭 캐쉬마이크로프로세서 | |
US6728866B1 (en) | Partitioned issue queue and allocation strategy | |
EP0871109B1 (en) | Forwarding of results of store instructions | |
US6662294B1 (en) | Converting short branches to predicated instructions | |
KR100305310B1 (ko) | 멀티스레드프로세서의명령어및연관된인출요청의백그라운드완료 | |
US6742111B2 (en) | Reservation stations to increase instruction level parallelism | |
US6052776A (en) | Branch operation system where instructions are queued until preparations is ascertained to be completed and branch distance is considered as an execution condition | |
US5931957A (en) | Support for out-of-order execution of loads and stores in a processor | |
US20020073301A1 (en) | Hardware for use with compiler generated branch information | |
JP3577052B2 (ja) | 命令発行装置及び命令発行方法 | |
JPH10312282A (ja) | 命令完了を改良するための方法および装置 | |
KR19990087940A (ko) | 단일클럭사이클내에불연속명령을페치하기위한방법및시스템 | |
KR100402820B1 (ko) | 기본 블럭 캐쉬를 이용하는 마이크로프로세서 | |
JP3689369B2 (ja) | 2次リオーダ・バッファ・マイクロプロセッサ | |
US7203821B2 (en) | Method and apparatus to handle window management instructions without post serialization in an out of order multi-issue processor supporting multiple strands | |
US20040199749A1 (en) | Method and apparatus to limit register file read ports in an out-of-order, multi-stranded processor | |
US6240507B1 (en) | Mechanism for multiple register renaming and method therefor | |
US6754813B1 (en) | Apparatus and method of processing information for suppression of branch prediction | |
US6311267B1 (en) | Just-in-time register renaming technique | |
US6622236B1 (en) | Microprocessor instruction fetch unit for processing instruction groups having multiple branch instructions | |
JPH0962508A (ja) | 分岐登録命令を有するプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20010105 |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20021218 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20030929 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20031010 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20031010 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20060904 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20060904 Start annual number: 4 End annual number: 4 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |