EP0423726A2 - Verzweigungssteuerschaltung - Google Patents

Verzweigungssteuerschaltung Download PDF

Info

Publication number
EP0423726A2
EP0423726A2 EP90119840A EP90119840A EP0423726A2 EP 0423726 A2 EP0423726 A2 EP 0423726A2 EP 90119840 A EP90119840 A EP 90119840A EP 90119840 A EP90119840 A EP 90119840A EP 0423726 A2 EP0423726 A2 EP 0423726A2
Authority
EP
European Patent Office
Prior art keywords
instruction
branch
register
address
machine language
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
EP90119840A
Other languages
English (en)
French (fr)
Other versions
EP0423726A3 (en
EP0423726B1 (de
Inventor
Takashi Miyamori
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Publication of EP0423726A2 publication Critical patent/EP0423726A2/de
Publication of EP0423726A3 publication Critical patent/EP0423726A3/en
Application granted granted Critical
Publication of EP0423726B1 publication Critical patent/EP0423726B1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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, 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/324Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address using program counter relative addressing
    • 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, 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, 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
EP90119840A 1989-10-16 1990-10-16 Verzweigungssteuerschaltung Expired - Lifetime EP0423726B1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP266158/89 1989-10-16
JP1266158A JPH0650465B2 (ja) 1989-10-16 1989-10-16 分岐制御回路

Publications (3)

Publication Number Publication Date
EP0423726A2 true EP0423726A2 (de) 1991-04-24
EP0423726A3 EP0423726A3 (en) 1992-09-16
EP0423726B1 EP0423726B1 (de) 1998-07-08

Family

ID=17427093

Family Applications (1)

Application Number Title Priority Date Filing Date
EP90119840A Expired - Lifetime EP0423726B1 (de) 1989-10-16 1990-10-16 Verzweigungssteuerschaltung

Country Status (5)

Country Link
US (1) US5295248A (de)
EP (1) EP0423726B1 (de)
JP (1) JPH0650465B2 (de)
KR (1) KR930005769B1 (de)
DE (1) DE69032463T2 (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0847004A1 (de) * 1996-12-09 1998-06-10 Matsushita Electric Industrial Co., Ltd. Datenprozessor mit genauer Vorhersage bedingter Verzweigungen
WO1999026135A1 (en) * 1997-11-17 1999-05-27 Advanced Micro Devices, Inc. Processor configured to predecode relative control transfer instructions
EP0953898A2 (de) * 1998-04-28 1999-11-03 Matsushita Electric Industrial Co., Ltd. Prozessor zur Ausführung von Befehlen aus dem Speicher mittels eines Programmzählers und Kompiler, Assembler, Programmverbinder und Fehlerbeseitiger für einen solchen Prozessor
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
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

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2761688B2 (ja) * 1992-02-07 1998-06-04 三菱電機株式会社 データ処理装置
JP3345787B2 (ja) * 1993-04-13 2002-11-18 三菱電機株式会社 データ処理装置
KR100310581B1 (ko) * 1993-05-14 2001-12-17 피터 엔. 데트킨 분기목표버퍼의추측기록메카니즘
US5724565A (en) * 1995-02-03 1998-03-03 International Business Machines Corporation Method and system for processing first and second sets of instructions by first and second types of processing systems
US5974538A (en) * 1997-02-21 1999-10-26 Wilmot, Ii; Richard Byron Method and apparatus for annotating operands in a computer system with source instruction identifiers
US6237087B1 (en) * 1998-09-30 2001-05-22 Intel Corporation Method and apparatus for speeding sequential access of a set-associative cache
JP2001273138A (ja) * 2000-03-24 2001-10-05 Fujitsu Ltd プログラム変換装置および方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5848144A (ja) * 1981-09-16 1983-03-22 Nec Corp デ−タ処理装置の分岐命令制御方式
EP0236745A2 (de) * 1986-03-13 1987-09-16 International Business Machines Corporation Verzweigungsstrom-Koprozessor
EP0320098A2 (de) * 1987-12-05 1989-06-14 International Computers Limited Sprungvorhersage
EP0394711A2 (de) * 1989-04-28 1990-10-31 Kabushiki Kaisha Toshiba Auf einem Pipelineverfahren basierte Verzweigungsbefehlssteuereinheit

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3764988A (en) * 1971-03-01 1973-10-09 Hitachi Ltd Instruction processing device using advanced control system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5848144A (ja) * 1981-09-16 1983-03-22 Nec Corp デ−タ処理装置の分岐命令制御方式
EP0236745A2 (de) * 1986-03-13 1987-09-16 International Business Machines Corporation Verzweigungsstrom-Koprozessor
EP0320098A2 (de) * 1987-12-05 1989-06-14 International Computers Limited Sprungvorhersage
EP0394711A2 (de) * 1989-04-28 1990-10-31 Kabushiki Kaisha Toshiba Auf einem Pipelineverfahren basierte Verzweigungsbefehlssteuereinheit

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
IBM TECHNICAL DISCLOSURE BULLETIN. vol. 29, no. 1, June 1986, NEW YORK US pages 357 - 359; 'Branch-Processing Instruction Cache' *
PATENT ABSTRACTS OF JAPAN vol. 7, no. 130 (P-202)7 June 1983 & JP-A-58 048 144 ( NIPPON DENKI K. K. ) 22 March 1983 *
THE 8TH ANNUAL SYMPOSIUM ON COMPUTER ARCHITECTURE MINNEAPOLIS, MINNESOTA, US pages 135 - 148; J. E. SMITH: 'A Study of Branch Prediction Strategies' *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5928358A (en) * 1996-12-09 1999-07-27 Matsushita Electric Industrial Co., Ltd. Information processing apparatus which accurately predicts whether a branch is taken for a conditional branch instruction, using small-scale hardware
EP0847004A1 (de) * 1996-12-09 1998-06-10 Matsushita Electric Industrial Co., Ltd. Datenprozessor mit genauer Vorhersage bedingter Verzweigungen
US6457117B1 (en) 1997-11-17 2002-09-24 Advanced Micro Devices, Inc. Processor configured to predecode relative control transfer instructions and replace displacements therein with a target address
WO1999026135A1 (en) * 1997-11-17 1999-05-27 Advanced Micro Devices, Inc. Processor configured to predecode relative control transfer instructions
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
EP0953898A2 (de) * 1998-04-28 1999-11-03 Matsushita Electric Industrial Co., Ltd. Prozessor zur Ausführung von Befehlen aus dem Speicher mittels eines Programmzählers und Kompiler, Assembler, Programmverbinder und Fehlerbeseitiger für einen solchen Prozessor
EP0953898A3 (de) * 1998-04-28 2003-03-26 Matsushita Electric Industrial Co., Ltd. Prozessor zur Ausführung von Befehlen aus dem Speicher mittels eines Programmzählers und Kompiler, Assembler, Programmverbinder und Fehlerbeseitiger für einen solchen Prozessor
US6880150B1 (en) 1998-04-28 2005-04-12 Matsushita Electric Industrial Co., Ltd. Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor
US6976250B2 (en) 1998-04-28 2005-12-13 Matsushita Electric Industrial Co., Ltd. Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor
US6976245B2 (en) 1998-04-28 2005-12-13 Matsushita Electric Industrial Co., Ltd. Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor
US7080367B2 (en) 1998-04-28 2006-07-18 Matsushita Electric Industrial Co., Ltd. Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor
US7823142B2 (en) 1998-04-28 2010-10-26 Panasonic Corporation Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor

Also Published As

Publication number Publication date
EP0423726A3 (en) 1992-09-16
DE69032463T2 (de) 1998-12-17
KR930005769B1 (ko) 1993-06-24
US5295248A (en) 1994-03-15
KR910008565A (ko) 1991-05-31
DE69032463D1 (de) 1998-08-13
JPH0650465B2 (ja) 1994-06-29
JPH03129432A (ja) 1991-06-03
EP0423726B1 (de) 1998-07-08

Similar Documents

Publication Publication Date Title
US5530825A (en) Data processor with branch target address cache and method of operation
US4827402A (en) Branch advanced control apparatus for advanced control of a branch instruction in a data processing system
EP0689128B1 (de) Kompression der Befehlswörter eines Rechners
US6877090B2 (en) Branch predictor suitable for multi-processing microprocessor
US4398245A (en) Data processing system having an instruction pipeline for processing a transfer instruction
US5805877A (en) Data processor with branch target address cache and method of operation
EP0823085B1 (de) Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor
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
EP0372865B1 (de) Cachespeicheranlage zum Versorgen eines Festworts eines Befehlscodes mit variabler Länge und Befehlsabrufanlage
US5761490A (en) Changing the meaning of a pre-decode bit in a cache memory depending on branch prediction mode
US5295248A (en) Branch control circuit
US4739470A (en) Data processing system
EP0094535B1 (de) Nach dem Prinzip der Pipeline arbeitendes Datenverarbeitungssystem
JP3486690B2 (ja) パイプライン方式プロセッサ
US5440704A (en) Data processor having branch predicting function
US7346737B2 (en) Cache system having branch target address cache
EP1609058A2 (de) Verfahren und vorrichtung zur erkennung und behandlung von befehlsgefahren in einem pipeline-prozessor
EP0394711A2 (de) Auf einem Pipelineverfahren basierte Verzweigungsbefehlssteuereinheit
US5142630A (en) System for calculating branch destination address based upon address mode bit in operand before executing an instruction which changes the address mode and branching
US6237087B1 (en) Method and apparatus for speeding sequential access of a set-associative cache
US5887185A (en) Interface for coupling a floating point unit to a reorder buffer
KR100273038B1 (ko) 브랜치 히스토리 테이블
US6832334B2 (en) Computer register watch
EP0324952B1 (de) Verzweigungsschaltung für einen Pipeline-Prozessor
US6289441B1 (en) Method and apparatus for performing multiple branch predictions per cycle

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 19901016

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): DE FR GB

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): DE FR GB

17Q First examination report despatched

Effective date: 19951013

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): DE FR GB

REF Corresponds to:

Ref document number: 69032463

Country of ref document: DE

Date of ref document: 19980813

ET Fr: translation filed
PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed
REG Reference to a national code

Ref country code: GB

Ref legal event code: IF02

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20051010

Year of fee payment: 16

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20051012

Year of fee payment: 16

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20051014

Year of fee payment: 16

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20070501

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20061016

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

Effective date: 20070629

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20061016

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20061031