KR960015238A - 명령프리페취회로 및 캐쉬장치 - Google Patents
명령프리페취회로 및 캐쉬장치 Download PDFInfo
- Publication number
- KR960015238A KR960015238A KR1019950034373A KR19950034373A KR960015238A KR 960015238 A KR960015238 A KR 960015238A KR 1019950034373 A KR1019950034373 A KR 1019950034373A KR 19950034373 A KR19950034373 A KR 19950034373A KR 960015238 A KR960015238 A KR 960015238A
- Authority
- KR
- South Korea
- Prior art keywords
- address
- instruction
- prefetch
- branch
- command
- Prior art date
Links
- 230000010365 information processing Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 1
Classifications
-
- 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
-
- 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/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
- G06F9/3844—Speculative instruction execution using dynamic branch prediction, e.g. using branch history tables
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)
Abstract
본 발명은 정보처리시스템 등에 있어서 처리를 고속화하기 위하여 이용되는 명령프리페취회로 및 캐쉬장치에 관한 것이다.
명령 어드레스와 프리 페취 어드레스가 일치해서 불일치로 변화했을 때만, 어드레스 생성부에 인크리 먼트의 정지를 선택시켜 선택 신호를 송출하는 선택신호 생성수단을 설치하고, 어드레스 생성부는 선택신호를 입력한 경우, 명령어드레스를 프리페취 어드레스로써 송출하는 구성으로써 하고 있기 때문에, 명령이 분기 명령의 경우에서도 구별하지 않고 프리페취를 계속한다.
이 때문에 프리 페취한 명령을 효율좋게 연산 장치로 공급할 수 있다.
또한, 선행 바꿔쓰기형 캐쉬장치에 적용해도 새로움을 계속하기 때문에, 캐쉬히트율이 높게되고, 성능이 향상된다.
프리 페취한 명령이 무조건 분기 명령에 있어서도, 무조건 분기 명령인 것을 검출하는 수단과, 그 분기선 어드레스를 추출하는 수단을 설치하고, 더욱 그 분기선 어드레스에서 프리페취를 행하는 구성으로 하고 있기 때문에, 무조건 분기 명령이 프리 페취되어도, 프리 페취 모드에서 벗어나지 않고, 인크리먼트한 프리 페취 동작을 한다.
따라서 효율 명령 공급을 실행할 수 있다.
Description
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 본 발명의 제1실시예를 나타낸 명령 프리 페취회로의 구성 블럭도.
Claims (6)
- 연산장치에서 사용하는 명령을 미리 어드레스로 대응시켜 격납하는 메모리와, 상기 연산장치에서 입력된 제1의 명령 어드레스를 인클리먼트하고 프레페치 어드레스를 생성하는 어드레스 생성부와, 상기 프리페취 어드레스에 대응하는 상기 명령을 상기 메모리에서 판독하고 상기 연산장치로 송출하는 데이타 송출부와, 상기 제1의 명령 어드레스의 후에 입력된 제2의 명령 어드레스와 상기 프리 페취 어드레스간의 일치 불일치를 검출하고, 해당 검출결과가 일치의 경우에 상기 데이타 송출부의 송출하는 명령이 유효하며 불일치의 경우에는 무효인 것을 나타내는 판정신호를, 상기 연산 장치에 제공하는 판정 신호 생성부를 구비하고, 상기 연산 장치가 다음에 필요한 명령을 상기 제1의 명령 어드레스 보다도 선행하여 해당 연산 장치로 부여하는 명령 프리페치 회로 또는 캐쉬 장치에 있어서, 상기 제2의 명령 어드레스와 상기 프리 페취 어드레스가 일치에서 불일치로 변화했을때만, 상기 어드레스 생성부에 상기 인클리먼트의 정지를 선택시키는 선택신호를 송출하는 선택신호 생성수단을 구비하고, 상기 어드레스 생성부는, 상기 선택신호를 입력한 경우 상기 제2의 명령 어드레스를 새롭게 프리페취 어드레스로써 송출하는 구성으로 한 것을 특징으로 하는 명령 프리페취 회로 또는 캐쉬장치.
- 제1항에 있어서, 메모리와 데이타 송출부와 판정 신호 생성부와, 연산 장치에서 입력된 제1의 명령 어드레스를 인클리먼트하고 프리페취 어드레스를 생성하는 어드레스 생성부를 구비하고, 상기 데이타 송출부의 송출하는 명령이 무조건 분기 명령인 것을 검출하는 수단과, 상기 무조건 분기 명령에 있어서 분기선 어드레스를 해당 무조건 분기 명령에서 추출하는 수단을 설치하고, 상기 어드레스 생성부는, 상기 데이타 송출부의 송출하는 명령이 무조건 분기 명령일 때, 상기 분기선 어드레스를 새롭게 상기 프리 페취 어드레스로써 송출하는 구성으로 한 것을 특징으로 하는 명령 프리페취 회로 또는 캐쉬장치.
- 제1항 또는 제2항에 있어서, 메모리와 데이타 송출부와 판정 신호 생성부와, 연산 장치에서 입력된 제1의 명령 어드레스를 인클리먼트하고 프리페취 어드레스를 생성하는 어드레스 생성부를 구비하고, 상기 데이타 송출부의 송출하는 명령이 조건 분기 명령인 것을 검출하는 수단과, 상기 조건 분기 명령에 있어서 분기선 어드레스를 해당 조건 분기 명령에서 추출하는 수단과, 상기 조건 분기가 실제로 행해지는지 어떤지를 예측하는 수단과, 상기 예측에 근거하여 상기 제1의 명령 어드레스를 인클리먼트한 어드레스 또는 상기 분기선 어드레스를 선택하는 선택수단과 상기 예측이 빗나갔는지 어떤지를 나타내는 신호에 근거하여 상기 선택수단의 출력어드레스 혹은 그 때 상기 연산 장치에서 입력되어 있는 제2와 명령 어드레스를 상기 어드레스 생성부에 프리 페취 어드레스로써 출력시키는 수단을 설치하는 것을 특징으로 하는 명령 프리페취 회로 또는 캐쉬 장치.
- 제3항에 있어서, 상기 조건 분기가 실제로 행해지는지 어떤지를 예측하는 수단은, 명령 필드중의 분기 예측 비트를 추출하고, 그것을 예측값으로 하는 수단일 것을 특징으로 하는 명령 프리페취 회로 또는 캐쉬장치.
- 제3항에 있어서, 상기 조건 분기가 실제로 행해지는지 어떤지를 예측하는 수단은, 랜덤값을 예측값으로 하는 수단인 것을 특징으로 하는 명령 프리페취 회로 또는 캐쉬장치.
- 제3항에 있어서, 상기 조건 분기가 실제로 행해지는지 어떤지를 예측하는 수단은, 조건 분기 명령에 있어서 과거의 분기 이력을 격납하는 테이블을 이용하고, 각 분기 이력을 참조하여 예측값을 정하는 것을 특징으로 하는 명령 프리페취 회로 또는 캐쉬장치.※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6242553A JPH08106387A (ja) | 1994-10-06 | 1994-10-06 | 命令プリフェッチ回路及びキャッシュ装置 |
JP94-242553 | 1994-10-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR960015238A true KR960015238A (ko) | 1996-05-22 |
KR100346561B1 KR100346561B1 (ko) | 2002-12-05 |
Family
ID=17090820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950034373A KR100346561B1 (ko) | 1994-10-06 | 1995-10-06 | 명령프리페치회로 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5729707A (ko) |
EP (2) | EP0706121B1 (ko) |
JP (1) | JPH08106387A (ko) |
KR (1) | KR100346561B1 (ko) |
DE (2) | DE69535932D1 (ko) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2759176B1 (fr) * | 1997-02-05 | 1999-04-09 | Sgs Thomson Microelectronics | Micro-processeur faisant une prediction d'adresse rapide |
US5951678A (en) * | 1997-07-25 | 1999-09-14 | Motorola, Inc. | Method and apparatus for controlling conditional branch execution in a data processor |
US6134649A (en) * | 1997-11-17 | 2000-10-17 | Advanced Micro Devices, Inc. | Control transfer indication in predecode which identifies control transfer instruction and an alternate feature of an instruction |
US6167506A (en) | 1997-11-17 | 2000-12-26 | Advanced Micro Devices, Inc. | Replacing displacement in control transfer instruction with encoding indicative of target address, including offset and target cache line location |
US6061786A (en) * | 1998-04-23 | 2000-05-09 | Advanced Micro Devices, Inc. | Processor configured to select a next fetch address by partially decoding a byte of a control transfer instruction |
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 |
US6175908B1 (en) | 1998-04-30 | 2001-01-16 | Advanced Micro Devices, Inc. | Variable byte-length instructions using state of function bit of second byte of plurality of instructions bytes as indicative of whether first byte is a prefix byte |
JP3867427B2 (ja) * | 1999-01-11 | 2007-01-10 | ソニー株式会社 | プロセッサ装置および集積回路 |
US7085915B1 (en) * | 2000-02-29 | 2006-08-01 | International Business Machines Corporation | Programmable prefetching of instructions for a processor executing a non-procedural program |
US6988189B1 (en) * | 2000-10-31 | 2006-01-17 | Altera Corporation | Ternary content addressable memory based multi-dimensional multi-way branch selector and method of operating same |
US20020073301A1 (en) * | 2000-12-07 | 2002-06-13 | International Business Machines Corporation | Hardware for use with compiler generated branch information |
US7984279B2 (en) * | 2006-11-03 | 2011-07-19 | Qualcomm Incorporated | System and method for using a working global history register |
JP2010020432A (ja) | 2008-07-09 | 2010-01-28 | Nec Electronics Corp | キャッシュメモリ装置 |
US11550577B2 (en) * | 2019-05-15 | 2023-01-10 | Western Digital Technologies, Inc. | Memory circuit for halting a program counter while fetching an instruction sequence from memory |
US11366667B2 (en) * | 2020-04-14 | 2022-06-21 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Microprocessor with instruction fetching failure solution |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DD98576A1 (ko) * | 1972-08-15 | 1973-06-20 | ||
JPS58129660A (ja) * | 1982-01-29 | 1983-08-02 | Nec Corp | 情報処理装置 |
EP0109655B1 (en) * | 1982-11-17 | 1991-07-24 | Nec Corporation | Instruction prefetching device with prediction of a branch destination address |
DE3785897T2 (de) * | 1986-02-28 | 1993-09-30 | Nippon Electric Co | Steuervorrichtung zum vorabruf von befehlen. |
JPS6393038A (ja) * | 1986-10-07 | 1988-04-23 | Mitsubishi Electric Corp | 計算機 |
JPS63170740A (ja) * | 1987-01-07 | 1988-07-14 | Mitsubishi Electric Corp | デ−タ処理装置 |
GB8728493D0 (en) * | 1987-12-05 | 1988-01-13 | Int Computers Ltd | Jump prediction |
JPH0769810B2 (ja) * | 1988-11-25 | 1995-07-31 | 日本電気株式会社 | マイクロプロセッサ |
JPH0384630A (ja) * | 1989-08-28 | 1991-04-10 | Nec Corp | マイクロプロセッサ |
JP2560889B2 (ja) * | 1990-05-22 | 1996-12-04 | 日本電気株式会社 | マイクロプロセッサ |
US5283873A (en) * | 1990-06-29 | 1994-02-01 | Digital Equipment Corporation | Next line prediction apparatus for a pipelined computed system |
JPH04348430A (ja) * | 1991-02-25 | 1992-12-03 | Matsushita Electric Ind Co Ltd | データ処理装置 |
JPH0588891A (ja) * | 1991-09-30 | 1993-04-09 | Toshiba Corp | キヤツシユメモリ制御装置 |
US5507028A (en) * | 1992-03-30 | 1996-04-09 | International Business Machines Corporation | History based branch prediction accessed via a history based earlier instruction address |
US5586278A (en) * | 1994-03-01 | 1996-12-17 | Intel Corporation | Method and apparatus for state recovery following branch misprediction in an out-of-order microprocessor |
US5542109A (en) * | 1994-08-31 | 1996-07-30 | Exponential Technology, Inc. | Address tracking and branch resolution in a processor with multiple execution pipelines and instruction stream discontinuities |
-
1994
- 1994-10-06 JP JP6242553A patent/JPH08106387A/ja not_active Withdrawn
-
1995
- 1995-10-04 DE DE69535932T patent/DE69535932D1/de not_active Expired - Fee Related
- 1995-10-04 EP EP95307045A patent/EP0706121B1/en not_active Expired - Lifetime
- 1995-10-04 DE DE69530895T patent/DE69530895T2/de not_active Expired - Lifetime
- 1995-10-04 EP EP01104981A patent/EP1109095B1/en not_active Expired - Lifetime
- 1995-10-05 US US08/539,683 patent/US5729707A/en not_active Expired - Lifetime
- 1995-10-06 KR KR1019950034373A patent/KR100346561B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP1109095A2 (en) | 2001-06-20 |
US5729707A (en) | 1998-03-17 |
EP0706121A3 (en) | 1997-01-15 |
KR100346561B1 (ko) | 2002-12-05 |
DE69530895D1 (de) | 2003-07-03 |
DE69535932D1 (de) | 2009-05-07 |
EP0706121B1 (en) | 2003-05-28 |
JPH08106387A (ja) | 1996-04-23 |
EP0706121A2 (en) | 1996-04-10 |
EP1109095B1 (en) | 2009-03-25 |
DE69530895T2 (de) | 2004-05-19 |
EP1109095A3 (en) | 2001-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR960015238A (ko) | 명령프리페취회로 및 캐쉬장치 | |
WO1999026132A3 (en) | Processor configured to generate lookahead results from collapsed moves, compares and simple arithmetic instructions | |
KR970049493A (ko) | 정보처리회로, 반도체 집적회로장치, 마이크로 컴퓨터, 및 전자기기 | |
KR910005156A (ko) | 파이프라인 처리 방법으로 동작하는 프리디코더 유니트 와 주 디코더 유니트를 갖는 마이크로프로세서 | |
KR920022117A (ko) | 메모리 억세스 장치 | |
KR870004366A (ko) | 데이터 처리 시스템 | |
KR850006087A (ko) | 데이터 처리 장치 | |
KR970705076A (ko) | 메모리에 저장된 오정렬 데이타용 어드레스를 효율적으로 결정하는 장치 및 방법(Apparatus and Method for Efficiently Determining Addresses for Misaligned Data Stored in Memory) | |
KR970066864A (ko) | 가변 파이프 라인 단수의 데이터 처리 장치 | |
KR910006840A (ko) | 가변장 명령열을 해독하고 실행하는 데이타 처리장치 | |
KR900006853A (ko) | 마이크로 프로세서 | |
KR950009454A (ko) | 다중 실행 장치 처리 시스템 상태의 선택적 저장방법 및 시스템 | |
KR930002935A (ko) | 정보 처리 장치 | |
KR900015003A (ko) | 데이타 프로세서 | |
KR970076274A (ko) | 마이크로컴퓨터 | |
KR910008565A (ko) | 분기 제어 회로 | |
KR900016865A (ko) | 파이프라인방식의 분기명령제어장치 | |
KR950012226A (ko) | 정보 처리 시스템 및 그 동작 방법 | |
KR890012226A (ko) | 정보처리장치 | |
KR960011669A (ko) | 중앙처리장치 | |
KR970049813A (ko) | 퍼지 논리 규칙을 평가하기 위한 회로와 방법 | |
KR930004861A (ko) | 정보처리 시스템 | |
US5524221A (en) | Next instruction pointer calculation system for a microcomputer | |
KR960018958A (ko) | 다중 프로세서 시스템에서 아토믹 명령어 수행시 데이타 버퍼를 사용한 메인 메모리 액세스 장치 | |
US7434038B2 (en) | Microprocessor arrangement for updating flag bits for security purposes and method for operating the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20100712 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |