KR960015238A - 명령프리페취회로 및 캐쉬장치 - Google Patents

명령프리페취회로 및 캐쉬장치 Download PDF

Info

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
Application number
KR1019950034373A
Other languages
English (en)
Other versions
KR100346561B1 (ko
Inventor
카즈히꼬 마끼
Original Assignee
가나미야지 준
오끼뎅끼 고오교오 가부시끼가이샤
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 가나미야지 준, 오끼뎅끼 고오교오 가부시끼가이샤 filed Critical 가나미야지 준
Publication of KR960015238A publication Critical patent/KR960015238A/ko
Application granted granted Critical
Publication of KR100346561B1 publication Critical patent/KR100346561B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/3804Instruction prefetching for branches, e.g. hedging, branch folding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • G06F9/3844Speculative 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의 명령 어드레스를 인클리먼트하고 프레페치 어드레스를 생성하는 어드레스 생성부와, 상기 프리페취 어드레스에 대응하는 상기 명령을 상기 메모리에서 판독하고 상기 연산장치로 송출하는 데이타 송출부와, 상기 제1의 명령 어드레스의 후에 입력된 제2의 명령 어드레스와 상기 프리 페취 어드레스간의 일치 불일치를 검출하고, 해당 검출결과가 일치의 경우에 상기 데이타 송출부의 송출하는 명령이 유효하며 불일치의 경우에는 무효인 것을 나타내는 판정신호를, 상기 연산 장치에 제공하는 판정 신호 생성부를 구비하고, 상기 연산 장치가 다음에 필요한 명령을 상기 제1의 명령 어드레스 보다도 선행하여 해당 연산 장치로 부여하는 명령 프리페치 회로 또는 캐쉬 장치에 있어서, 상기 제2의 명령 어드레스와 상기 프리 페취 어드레스가 일치에서 불일치로 변화했을때만, 상기 어드레스 생성부에 상기 인클리먼트의 정지를 선택시키는 선택신호를 송출하는 선택신호 생성수단을 구비하고, 상기 어드레스 생성부는, 상기 선택신호를 입력한 경우 상기 제2의 명령 어드레스를 새롭게 프리페취 어드레스로써 송출하는 구성으로 한 것을 특징으로 하는 명령 프리페취 회로 또는 캐쉬장치.
  2. 제1항에 있어서, 메모리와 데이타 송출부와 판정 신호 생성부와, 연산 장치에서 입력된 제1의 명령 어드레스를 인클리먼트하고 프리페취 어드레스를 생성하는 어드레스 생성부를 구비하고, 상기 데이타 송출부의 송출하는 명령이 무조건 분기 명령인 것을 검출하는 수단과, 상기 무조건 분기 명령에 있어서 분기선 어드레스를 해당 무조건 분기 명령에서 추출하는 수단을 설치하고, 상기 어드레스 생성부는, 상기 데이타 송출부의 송출하는 명령이 무조건 분기 명령일 때, 상기 분기선 어드레스를 새롭게 상기 프리 페취 어드레스로써 송출하는 구성으로 한 것을 특징으로 하는 명령 프리페취 회로 또는 캐쉬장치.
  3. 제1항 또는 제2항에 있어서, 메모리와 데이타 송출부와 판정 신호 생성부와, 연산 장치에서 입력된 제1의 명령 어드레스를 인클리먼트하고 프리페취 어드레스를 생성하는 어드레스 생성부를 구비하고, 상기 데이타 송출부의 송출하는 명령이 조건 분기 명령인 것을 검출하는 수단과, 상기 조건 분기 명령에 있어서 분기선 어드레스를 해당 조건 분기 명령에서 추출하는 수단과, 상기 조건 분기가 실제로 행해지는지 어떤지를 예측하는 수단과, 상기 예측에 근거하여 상기 제1의 명령 어드레스를 인클리먼트한 어드레스 또는 상기 분기선 어드레스를 선택하는 선택수단과 상기 예측이 빗나갔는지 어떤지를 나타내는 신호에 근거하여 상기 선택수단의 출력어드레스 혹은 그 때 상기 연산 장치에서 입력되어 있는 제2와 명령 어드레스를 상기 어드레스 생성부에 프리 페취 어드레스로써 출력시키는 수단을 설치하는 것을 특징으로 하는 명령 프리페취 회로 또는 캐쉬 장치.
  4. 제3항에 있어서, 상기 조건 분기가 실제로 행해지는지 어떤지를 예측하는 수단은, 명령 필드중의 분기 예측 비트를 추출하고, 그것을 예측값으로 하는 수단일 것을 특징으로 하는 명령 프리페취 회로 또는 캐쉬장치.
  5. 제3항에 있어서, 상기 조건 분기가 실제로 행해지는지 어떤지를 예측하는 수단은, 랜덤값을 예측값으로 하는 수단인 것을 특징으로 하는 명령 프리페취 회로 또는 캐쉬장치.
  6. 제3항에 있어서, 상기 조건 분기가 실제로 행해지는지 어떤지를 예측하는 수단은, 조건 분기 명령에 있어서 과거의 분기 이력을 격납하는 테이블을 이용하고, 각 분기 이력을 참조하여 예측값을 정하는 것을 특징으로 하는 명령 프리페취 회로 또는 캐쉬장치.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019950034373A 1994-10-06 1995-10-06 명령프리페치회로 KR100346561B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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