KR960038602A - 파이프라인 처리기 - Google Patents

파이프라인 처리기 Download PDF

Info

Publication number
KR960038602A
KR960038602A KR1019960010897A KR19960010897A KR960038602A KR 960038602 A KR960038602 A KR 960038602A KR 1019960010897 A KR1019960010897 A KR 1019960010897A KR 19960010897 A KR19960010897 A KR 19960010897A KR 960038602 A KR960038602 A KR 960038602A
Authority
KR
South Korea
Prior art keywords
instruction
counter
address
branch instruction
command
Prior art date
Application number
KR1019960010897A
Other languages
English (en)
Other versions
KR100233220B1 (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 KR960038602A publication Critical patent/KR960038602A/ko
Application granted granted Critical
Publication of KR100233220B1 publication Critical patent/KR100233220B1/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
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30058Conditional branch instructions

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

파이프라인 처리기
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 본 발명에 따른 파이프라인 처리기(100)용 구성을 도시하는 블럭 다이어그램, 제2도는 파이프라인 처리기(100)에 사용된 브랜치 명령용 포맷을 도시하는 포맷도, 제3도는 카운터부(4)용 구성을 도시하는 블럭 다이어그램, 제4A도는 제어 신호 발생부(38)용 구성을 도시하는 블럭 다이어그램, 제4B도는 제어 신호 발생부(38)에서 신호 파형을 도시하는 파형도.

Claims (8)

  1. 제어 흐름이 변화되기전 예측 브랜치 명령이 주어진 후 계속해서 실행될 다수의 적어도 하나의 명령을 한정하는 예측 브랜치 명령을 실행하는 파이프라인 처리기에 있어서, 이동될 명령의 어드레스를 유지하는 프로그램 카운터와, 상기 프로그램 카운터에 의해 유지된 어드레스에 대응하는 명령을 출력하는 명령 메모리와, 상기 명령 메모리로 부터 출력되는 명령을 이동하여 유지하는 명령 래지스터와, 상기 명령 래지스터에 의해 유지된 명령을 디코딩하는 명령 디코딩을 구비하며, 그에 따라 상기 명령이 예측 브랜치 명령인지 아닌지를 판단하며, 상기 예측 브랜치 명령에 의해 한정된 번호로 초기화되고 상기 프로그램 카운터의 증가와 동기하여 감소된 카운터 값을 유지하여 소정의 임계값과 비교하는 카운터부와, 상기 프로그램 카운터에 의해 유지된 어드레스를 증가시켜 순차 명령 어드레스로서 증가된 어드레스를 제공하는 가산기와, 상기 예측 브랜치 명령의 브랜치 타겟 어드레스를 제공하는 브랜치 타겟 어드레스와, 순차 명령 어드레스와 상기 카운터 부에 의해 얻어진 비교 결과에 따른 예측 브랜치 명령의 브랜치 타겟 어드레스 중 하나를 선택하는 선택기를 구비하는 것을 특징으로 하는 파이프라인 처리기.
  2. 제1항에 있어서, 상기 예측 브랜치 명령은 명령 종류를 식별하는 오피코드를 기억하는 영역과, 브랜치 타겟 어드레스를 지정하는 영역과, 제어 흐름이 변화되기 전에 예측 브랜치 명령이 주어진 후 계속해서 실행될 적어도 하나의 명령 번호를 기억하는 영역을 구비하는 것을 특징으로 하는 파이프라인 처리기.
  3. 제1항에 있어서, 상기 소정의 임계값은 하나의 명령을 이동하는데 요구된 다수의 싸이클과 동일한 것을 특징으로 하는 파이프라인 처리기.
  4. 제1항에 있어서, 카운터 값이 소정 임계값과 동일한 경우, 상기 카운터 상기 예측 브랜치 명령의 브랜치 타겟 어드레스를 선택하는 선택신호를 선택기에 출력하는 것을 특징으로 하는 파이프라인 처리기.
  5. 제1항에 있어서, 상기 예측 브랜치 명령에 의해 한정된 번호가 소정의 임계값 보다 작은 경우에, 카운터 부는 예측 브랜치 명령의 브랜치 타겟 어드레스를 선택하는 선택 신호를 선택기에 출력하는 것을 특징으로 하는 파이프라인 처리기.
  6. 제1항에 있어서, 상기 예측 브랜치 명령에 의해 한정된 번호가 소정 임계값 보다 작은 경우, 상기 카운터 부는 명령 래지스터에 유지된 명령 삭제하는 삭제 신호를 명령 래지스터에 출력하는 것을 특징으로 하는 파이프라인 처리기.
  7. 제1항에 있어서, 상기 제어 흐름이 예측 브랜치 명령으로 변화되는지 아닌지를 판단하는 상태 판단부를 더 구비하며, 상기 카운터 값이 소정 값에 도달할때, 상기 카운터부는 제어 흐름이 예측 브랜치 명령으로 변화되는지 아닌지를 판단하는 타이밍에서 한정하는 신호를 상태 판단부에 출력하는 것을 특징으로 하는 파이프라인 처리기.
  8. 제7항에 있어서, 제어 흐름이 예측 브랜치 명령으로 변화되는지 아닌지를 판단하는 상태 판단부의 경우에, 상기 상태 판단부는 명령 래지스터에 의해 유지된 명령을 삭제하는 신호를 명령 래지스터에 출력하며 명령 디코딩부에 의해 디코드될 명령을 삭제하는 신호를 명령 디코딩 부에 출력하는 것을 특징으로 하는 파이프라인 처리기.
KR1019960010897A 1995-04-12 1996-04-12 파이프라인 처리기 KR100233220B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP95-86844 1995-04-12
JP8684495 1995-04-12

Publications (2)

Publication Number Publication Date
KR960038602A true KR960038602A (ko) 1996-11-21
KR100233220B1 KR100233220B1 (ko) 1999-12-01

Family

ID=13898127

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960010897A KR100233220B1 (ko) 1995-04-12 1996-04-12 파이프라인 처리기

Country Status (3)

Country Link
US (1) US5724563A (ko)
KR (1) KR100233220B1 (ko)
TW (1) TW360852B (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6170053B1 (en) * 1996-06-27 2001-01-02 Texas Instruments Incorporated Microprocessor with circuits, systems and methods for responding to branch instructions based on history of prediction accuracy
JPH1185515A (ja) * 1997-09-10 1999-03-30 Ricoh Co Ltd マイクロプロセッサ
US6016555A (en) * 1997-11-19 2000-01-18 Texas Instruments Incorporated Non-intrusive software breakpoints in a processor instruction execution pipeline
US6334184B1 (en) * 1998-03-24 2001-12-25 International Business Machines Corporation Processor and method of fetching an instruction that select one of a plurality of decoded fetch addresses generated in parallel to form a memory request
WO2001016702A1 (en) 1999-09-01 2001-03-08 Intel Corporation Register set used in multithreaded parallel processor architecture
US7681018B2 (en) 2000-08-31 2010-03-16 Intel Corporation Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set
US7178138B2 (en) * 2001-01-24 2007-02-13 Texas Instruments Incorporated Method and tool for verification of algorithms ported from one instruction set architecture to another
ATE432499T1 (de) * 2001-06-29 2009-06-15 Texas Instruments Inc Verfahren zur verbesserung der sichtbarkeit von berechnung der effektiven adressen in pipelinearchitektur
US7487505B2 (en) * 2001-08-27 2009-02-03 Intel Corporation Multithreaded microprocessor with register allocation based on number of active threads
US6868476B2 (en) 2001-08-27 2005-03-15 Intel Corporation Software controlled content addressable memory in a general purpose execution datapath
US7216204B2 (en) 2001-08-27 2007-05-08 Intel Corporation Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment
US7225281B2 (en) * 2001-08-27 2007-05-29 Intel Corporation Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms
US7610451B2 (en) * 2002-01-25 2009-10-27 Intel Corporation Data transfer mechanism using unidirectional pull bus and push bus
US7337275B2 (en) * 2002-08-13 2008-02-26 Intel Corporation Free list and ring data structure management
US7634640B2 (en) * 2002-08-30 2009-12-15 Infineon Technologies Ag Data processing apparatus having program counter sensor
JP2004206389A (ja) * 2002-12-25 2004-07-22 Denso Corp Risc型cpu,コンパイラ,マイクロコンピュータ及び補助演算装置
US6941438B2 (en) 2003-01-10 2005-09-06 Intel Corporation Memory interleaving
US7454585B2 (en) * 2005-12-22 2008-11-18 International Business Machines Corporation Efficient and flexible memory copy operation
US8966228B2 (en) * 2009-03-20 2015-02-24 Arm Limited Instruction fetching following changes in program flow
JP2011209905A (ja) * 2010-03-29 2011-10-20 Sony Corp 命令フェッチ装置、プロセッサ、および、プログラムカウンタ加算制御方法
US9535701B2 (en) * 2014-01-29 2017-01-03 Telefonaktiebolaget Lm Ericsson (Publ) Efficient use of branch delay slots and branch prediction in pipelined computer architectures
US9430245B2 (en) 2014-03-28 2016-08-30 Telefonaktiebolaget Lm Ericsson (Publ) Efficient branch predictor history recovery in pipelined computer architectures employing branch prediction and branch delay slots of variable size
GB2548604B (en) * 2016-03-23 2018-03-21 Advanced Risc Mach Ltd Branch instruction
US10936318B2 (en) * 2018-11-14 2021-03-02 International Business Machines Corporation Tagged indirect branch predictor (TIP)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108345A (ja) * 1991-10-16 1993-04-30 Nec Corp 分岐命令処理装置

Also Published As

Publication number Publication date
TW360852B (en) 1999-06-11
US5724563A (en) 1998-03-03
KR100233220B1 (ko) 1999-12-01

Similar Documents

Publication Publication Date Title
KR960038602A (ko) 파이프라인 처리기
KR920001319A (ko) 처리기 및 처리기의 처리방법
KR870004366A (ko) 데이터 처리 시스템
KR870000643A (ko) 쌍방향성 분기 예상 및 최적화방법 및 장치
KR920003153A (ko) 2개의 명령을 병렬디코드할 수 있는 마이크로프로세서
KR900010553A (ko) 분기명령 및 비교명령의 한편 또는 양편의 실행클록수를 영으로 하는 데이터처리장치
KR930018368A (ko) 롬(rom) 용량을 저감한 데이타 프로세서
KR950003974A (ko) 정보 처리 장치
KR930002935A (ko) 정보 처리 장치
KR910018872A (ko) 프로세스 제어방식 및 제어용 콘틀롤러
KR970076274A (ko) 마이크로컴퓨터
US6308263B1 (en) Pipeline processing apparatus for reducing delays in the performance of processing operations
US6182211B1 (en) Conditional branch control method
KR900010552A (ko) 명령을 페치(fetch)하기 위한 제어 시스템
KR970012141A (ko) 파이프라인 처리를 수행하는 데이터 처리 장치
KR940000960A (ko) 마이크로프로세서
KR950025532A (ko) 연산 처리 장치
KR950033818A (ko) 분기 목표 어드레스 캐쉬를 구비한 데이타 프로세서 및 그 동작 방법
KR100287891B1 (ko) 테스트 서브루틴 처리장치 및 처리방법
KR100654477B1 (ko) 프로세서 동작 방법
KR950007937B1 (ko) 피엘씨 게이트 어레이의 내부 레지스터 운용회로
US5524221A (en) Next instruction pointer calculation system for a microcomputer
KR930004861A (ko) 정보처리 시스템
KR900002602B1 (ko) 마이크로 프로그램 제어장치
KR960029969A (ko) 파이프라인 처리기능을 갖는 데이타프로세서

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: 20040823

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee