KR950033818A - 분기 목표 어드레스 캐쉬를 구비한 데이타 프로세서 및 그 동작 방법 - Google Patents
분기 목표 어드레스 캐쉬를 구비한 데이타 프로세서 및 그 동작 방법 Download PDFInfo
- 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
Links
- 238000010586 diagram Methods 0.000 description 3
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
- G06F9/3806—Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
-
- 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
-
- 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)
- 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)
- 분기 목표 어드레스 캐쉬(48)를 갖는 데이타 프로세서(10)로서, 다수개의 세트를 기억하고, 다수개의 세트중의 각각의 세트는 인출 어드레스 및 목표 어드레스를 포함하며, 만약 상기 다수개의 세트중의 선택된 세트의 목표 어드레스를 출력시키는 분기 목표 어드레스 캐쉬(48)와, 상기 분기 목표 어드레스 캐쉬에 결합되고, 상기 입력 어드레스에 의해 인덱스된 수신 명령 및 선행 조건에 응답하여 실행 인출 어드레스를 발생시키며, 만약 상기 선행 조건의 예측 값이 논리적으로 소정값과 일치한다면 상기 실행 인출 어드레스 및 입력 어드레스의 서브세트를 상기 분기 목표 어드레스 캐쉬내에 기억시키는 분기 유닛(20)을 포함하는 것을 특징으로 하는 데이타 프로세서.
- 제1항에 있어서, 상기 분기 유닛은, 만약 상기 수신 명령이 제1명령류의 일원이라면 상기 선행조건이 넘버인 이 넘버를 기억시키는 카운터 레지스터(37)를 더 포함하는 것을 특징으로 하는 데이타 프로세서.
- 제2항에 있어서, 상기 분기 유닛(20)은 상기 수신 명령의 실행에 응답하여 상기 넘버를 디크리멘트시키는 것을 특징으로 하는 데이타 프로세서.
- 제3항에 있어서, 상기 분기 유닛에 결합되고, 만약 상기 수신 명령이 제2명령류의 일원이라면 상기 선행 조건이 비트가 있는 이 비트를 기억시키는 조건 레지스터(39), 다수개의 이력 상태를 기억시키고, 이 다수개의 이력상태중의 각각은 다수개의 인덱스 중의 다른 하나에 의해 인덱스되며, 만약 상기 이력 상태중의 하나는 다수개의 인덱스 중의 하나가 입력 어드레스의 제2 서브세트와 논리적으로 동일하다면 상기 다수개의 이력 상태중의 하나를 출력시키는 분기 이력표(50), 및 상기 분기 이력표에 결합되고, 다수개의 이력상태 중의 하나에 응답하여 디코드 인출 어드레스를 발생시키는 시퀀서 유닛(18)을 더 포함하고, 상기 분기 유닛(20)이 상기 실행 인출 어드레스에 응답하여 다수개의 이력 상태중의 하나를 수정하는 것을 특징으로 하는 데이타 프로세서.
- 제1항에 있어서, 상기 분기 유닛에 결합되고, 만약 상기 수신 명령이 제2 명령류의 일원이라면 비트가 선행 조건이 되는 이 비트를 기억시키는 조건 레지스터(39), 다수개의 이력 상태를 기억시키고, 이 다수개의 이력상태 중의 각각은 다수개의 인덱스 중의 다른 하나에 의해 인덱스되며, 만약 상기 이력 상태중의 하나의 다수개 인덱스 중의 하나가 입력 어드레스의 제2 서브세트와 논리적으로 동일하다면 상기 다수개의 이력 상태중의 하나를 출력시키는 분기 이력표(50), 및 상기 분기 이력표에 결합되고, 다수개의 이력상태 중의 하나에 응답하여 디코드 인출 어드레스를 발생시키는 시퀀서 유닛(18)을 더 포함하고, 상기 분기 유닛(20)이 상기 실행 인출 어드레스에 응답하여 다수개의 이력 상태중의 하나를 수정하는 것을 특징으로 하는 데이타 프로세서.※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
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)
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)
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 |
-
1994
- 1994-04-15 TW TW083103377A patent/TW345637B/zh active
-
1995
- 1995-01-17 JP JP7022251A patent/JPH07262006A/ja active Pending
- 1995-01-20 KR KR1019950000904A patent/KR950033818A/ko not_active Application Discontinuation
- 1995-01-26 EP EP95101035A patent/EP0666538A3/en not_active Withdrawn
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 |