KR950033818A - 분기 목표 어드레스 캐쉬를 구비한 데이타 프로세서 및 그 동작 방법 - Google Patents

분기 목표 어드레스 캐쉬를 구비한 데이타 프로세서 및 그 동작 방법 Download PDF

Info

Publication number
KR950033818A
KR950033818A KR1019950000904A KR19950000904A KR950033818A KR 950033818 A KR950033818 A KR 950033818A KR 1019950000904 A KR1019950000904 A KR 1019950000904A KR 19950000904 A KR19950000904 A KR 19950000904A KR 950033818 A KR950033818 A KR 950033818A
Authority
KR
South Korea
Prior art keywords
branch
address
history
states
instruction
Prior art date
Application number
KR1019950000904A
Other languages
English (en)
Inventor
피이. 블랙 브라이언
에이. 덴만 2세 마빈
피터 송 성윤
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 KR950033818A publication Critical patent/KR950033818A/ko

Links

Classifications

    • 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
    • G06F9/3806Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
    • 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
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

데이타 프로세서(10)는 최근에 조우된 다수개의 인출어드레스-목표 어드레서 쌍을 기억시키는 BTAC(48)를 갖는다. 분기 유닛(20)은 선행 조건 및 수신 분기 명령에 종속하는 인출 어드레서를 발생시킨다. 분기 유닛은 각각의 분기 명령을 실행한 후, 상기 동일의 분기 명령과 조우하는 그 다음 번에도 상기 선행 조건이 충족되는지를 예측한다. 만약 상기 선행 조건의 예측값이 상기 분기가 채택되는 것으로 강제한다면, 상기 분기 유닛은 상기 분기 명령에 대응하는 인출 어드레스-목표 어드레서 쌍을 상기 BTAC에 부가시킨다. 만약 상기 선행 조건의 예측값이 상기 분기가 비채택되는 것으로 강제한다면, 상기 분기 유닛은 상기 분기 명령에 대응하는 인출 어드레서-목표 어드레서 쌍을 BTAC에서 제거시킨다.

Description

분기 목표 어드레스 캐쉬를 구비한 데이타 프로세서 및 그 동작 방법
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 본 발명에 따라 구성된 데이타 프로세서를 도시하는 블럭도, 제2도는 제1도에 도시된 데이타 프로세서에 의해 실행되는 명령의 타이밍 도시도, 제3도는 제1도에 도시된 시퀀스 유닛을 도시하는 블럭도.

Claims (5)

  1. 분기 목표 어드레스 캐쉬(48)를 갖는 데이타 프로세서(10)로서, 다수개의 세트를 기억하고, 다수개의 세트중의 각각의 세트는 인출 어드레스 및 목표 어드레스를 포함하며, 만약 상기 다수개의 세트중의 선택된 세트의 목표 어드레스를 출력시키는 분기 목표 어드레스 캐쉬(48)와, 상기 분기 목표 어드레스 캐쉬에 결합되고, 상기 입력 어드레스에 의해 인덱스된 수신 명령 및 선행 조건에 응답하여 실행 인출 어드레스를 발생시키며, 만약 상기 선행 조건의 예측 값이 논리적으로 소정값과 일치한다면 상기 실행 인출 어드레스 및 입력 어드레스의 서브세트를 상기 분기 목표 어드레스 캐쉬내에 기억시키는 분기 유닛(20)을 포함하는 것을 특징으로 하는 데이타 프로세서.
  2. 제1항에 있어서, 상기 분기 유닛은, 만약 상기 수신 명령이 제1명령류의 일원이라면 상기 선행조건이 넘버인 이 넘버를 기억시키는 카운터 레지스터(37)를 더 포함하는 것을 특징으로 하는 데이타 프로세서.
  3. 제2항에 있어서, 상기 분기 유닛(20)은 상기 수신 명령의 실행에 응답하여 상기 넘버를 디크리멘트시키는 것을 특징으로 하는 데이타 프로세서.
  4. 제3항에 있어서, 상기 분기 유닛에 결합되고, 만약 상기 수신 명령이 제2명령류의 일원이라면 상기 선행 조건이 비트가 있는 이 비트를 기억시키는 조건 레지스터(39), 다수개의 이력 상태를 기억시키고, 이 다수개의 이력상태중의 각각은 다수개의 인덱스 중의 다른 하나에 의해 인덱스되며, 만약 상기 이력 상태중의 하나는 다수개의 인덱스 중의 하나가 입력 어드레스의 제2 서브세트와 논리적으로 동일하다면 상기 다수개의 이력 상태중의 하나를 출력시키는 분기 이력표(50), 및 상기 분기 이력표에 결합되고, 다수개의 이력상태 중의 하나에 응답하여 디코드 인출 어드레스를 발생시키는 시퀀서 유닛(18)을 더 포함하고, 상기 분기 유닛(20)이 상기 실행 인출 어드레스에 응답하여 다수개의 이력 상태중의 하나를 수정하는 것을 특징으로 하는 데이타 프로세서.
  5. 제1항에 있어서, 상기 분기 유닛에 결합되고, 만약 상기 수신 명령이 제2 명령류의 일원이라면 비트가 선행 조건이 되는 이 비트를 기억시키는 조건 레지스터(39), 다수개의 이력 상태를 기억시키고, 이 다수개의 이력상태 중의 각각은 다수개의 인덱스 중의 다른 하나에 의해 인덱스되며, 만약 상기 이력 상태중의 하나의 다수개 인덱스 중의 하나가 입력 어드레스의 제2 서브세트와 논리적으로 동일하다면 상기 다수개의 이력 상태중의 하나를 출력시키는 분기 이력표(50), 및 상기 분기 이력표에 결합되고, 다수개의 이력상태 중의 하나에 응답하여 디코드 인출 어드레스를 발생시키는 시퀀서 유닛(18)을 더 포함하고, 상기 분기 유닛(20)이 상기 실행 인출 어드레스에 응답하여 다수개의 이력 상태중의 하나를 수정하는 것을 특징으로 하는 데이타 프로세서.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019950000904A 1994-02-04 1995-01-20 분기 목표 어드레스 캐쉬를 구비한 데이타 프로세서 및 그 동작 방법 KR950033818A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US191,888 1980-09-29
US19188894A 1994-02-04 1994-02-04

Publications (1)

Publication Number Publication Date
KR950033818A true KR950033818A (ko) 1995-12-26

Family

ID=22707313

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950000904A KR950033818A (ko) 1994-02-04 1995-01-20 분기 목표 어드레스 캐쉬를 구비한 데이타 프로세서 및 그 동작 방법

Country Status (4)

Country Link
EP (1) EP0666538A3 (ko)
JP (1) JPH07262006A (ko)
KR (1) KR950033818A (ko)
TW (1) TW345637B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100347865B1 (ko) * 1999-11-15 2002-08-09 삼성전자 주식회사 어드레스 트레이스를 이용한 분기 예측 방법
JP4009248B2 (ja) 2003-12-05 2007-11-14 富士通株式会社 分岐予測装置および分岐予測方法
US20060218385A1 (en) * 2005-03-23 2006-09-28 Smith Rodney W Branch target address cache storing two or more branch target addresses per index
US8935517B2 (en) * 2006-06-29 2015-01-13 Qualcomm Incorporated System and method for selectively managing a branch target address cache of a multiple-stage predictor
US20140019722A1 (en) * 2011-03-31 2014-01-16 Renesas Electronics Corporation Processor and instruction processing method of processor

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763245A (en) * 1985-10-30 1988-08-09 International Business Machines Corporation Branch prediction mechanism in which a branch history table is updated using an operand sensitive branch table

Also Published As

Publication number Publication date
EP0666538A3 (en) 1995-11-22
TW345637B (en) 1998-11-21
EP0666538A2 (en) 1995-08-09
JPH07262006A (ja) 1995-10-13

Similar Documents

Publication Publication Date Title
US4524416A (en) Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system
US6178498B1 (en) Storing predicted branch target address in different storage according to importance hint in branch prediction instruction
KR920022117A (ko) 메모리 억세스 장치
US3760369A (en) Distributed microprogram control in an information handling system
US6081887A (en) System for passing an index value with each prediction in forward direction to enable truth predictor to associate truth value with particular branch instruction
KR920006275B1 (ko) 데이타 처리 장치
JP2003509733A5 (ko)
KR100287628B1 (ko) 우선 선취 예측적 주석을 이용하여 고속으로 명령을 선취 및 지명하는 방법 및 장치
US5617553A (en) Computer system which switches bus protocols and controls the writing of a dirty page bit of an address translation buffer
KR950033857A (ko) 유효 비트 이동자격을 갖춘 데이터 처리기 및 이 데이터 처리기의 피연산자간 비트를 효율적으로 이동하는 방법과 비트 이동 명령을 효율적으로 실행하는 방법
KR20010074978A (ko) 제2 레벨 분기 예측 테이블을 이용한 분기 예측 방법 및장치
KR100875377B1 (ko) 처리 시스템에서 스택 팝 및 푸쉬 동작들을 수행하는 장치 및 방법
KR920004964A (ko) 2개의 명령을 동시에 실행할 수 있는 데이타 프로세서
SE413815B (sv) Databehandlingssystem
KR930018368A (ko) 롬(rom) 용량을 저감한 데이타 프로세서
KR930016884A (ko) 데이터 처리장치
KR980004059A (ko) 데이타 처리장치 및 그 레지스터 어드레스 변환방법
KR970076253A (ko) 데이타 프로세싱 시스템 및 브랜치 인스트럭션의 결과 예측 방법
KR950033818A (ko) 분기 목표 어드레스 캐쉬를 구비한 데이타 프로세서 및 그 동작 방법
KR900016865A (ko) 파이프라인방식의 분기명령제어장치
US20200183702A1 (en) Arithmetic processing apparatus and memory apparatus
KR970702522A (ko) 마이크로코드 명령에 대한 정보를 갱신하기 위한 방법 및 장치(apparatus and method for updating information in a writable microcode control store)
JP2636088B2 (ja) 情報処理装置
US7610449B2 (en) Apparatus and method for saving power in a trace cache
US4300208A (en) Controlling which of two addresses is used by a microcode memory

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid