ATE459041T1 - Ausgabe und abschluss von befehlen in einem prozessor mit unterschiedlicher pipelinetiefe - Google Patents

Ausgabe und abschluss von befehlen in einem prozessor mit unterschiedlicher pipelinetiefe

Info

Publication number
ATE459041T1
ATE459041T1 AT02021392T AT02021392T ATE459041T1 AT E459041 T1 ATE459041 T1 AT E459041T1 AT 02021392 T AT02021392 T AT 02021392T AT 02021392 T AT02021392 T AT 02021392T AT E459041 T1 ATE459041 T1 AT E459041T1
Authority
AT
Austria
Prior art keywords
pipeline
issue
stage
processor
instruction
Prior art date
Application number
AT02021392T
Other languages
English (en)
Inventor
Tse-Yu Yeh
David A Kruckemyer
Robert Rogenmoser
Original Assignee
Broadcom 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 Broadcom Corp filed Critical Broadcom Corp
Application granted granted Critical
Publication of ATE459041T1 publication Critical patent/ATE459041T1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3838Dependency mechanisms, e.g. register scoreboarding
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3854Instruction completion, e.g. retiring, committing or graduating
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3863Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3873Variable length pipelines, e.g. elastic pipeline

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)
  • Image Processing (AREA)
  • Image Generation (AREA)
AT02021392T 2001-09-24 2002-09-24 Ausgabe und abschluss von befehlen in einem prozessor mit unterschiedlicher pipelinetiefe ATE459041T1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US32434401P 2001-09-24 2001-09-24
US10/066,984 US7269714B2 (en) 2001-09-24 2002-02-04 Inhibiting of a co-issuing instruction in a processor having different pipeline lengths

Publications (1)

Publication Number Publication Date
ATE459041T1 true ATE459041T1 (de) 2010-03-15

Family

ID=26747377

Family Applications (1)

Application Number Title Priority Date Filing Date
AT02021392T ATE459041T1 (de) 2001-09-24 2002-09-24 Ausgabe und abschluss von befehlen in einem prozessor mit unterschiedlicher pipelinetiefe

Country Status (4)

Country Link
US (1) US7269714B2 (de)
EP (1) EP1296228B1 (de)
AT (1) ATE459041T1 (de)
DE (1) DE60235429D1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060095732A1 (en) * 2004-08-30 2006-05-04 Tran Thang M Processes, circuits, devices, and systems for scoreboard and other processor improvements
US9946547B2 (en) 2006-09-29 2018-04-17 Arm Finance Overseas Limited Load/store unit for a processor, and applications thereof
US7594079B2 (en) * 2006-09-29 2009-09-22 Mips Technologies, Inc. Data cache virtual hint way prediction, and applications thereof
US7647518B2 (en) * 2006-10-10 2010-01-12 Apple Inc. Replay reduction for power saving
US20090113182A1 (en) * 2007-10-24 2009-04-30 Abernathy Christopher M System and Method for Issuing Load-Dependent Instructions from an Issue Queue in a Processing Unit
US7991979B2 (en) * 2008-09-23 2011-08-02 International Business Machines Corporation Issuing load-dependent instructions in an issue queue in a processing unit of a data processing system
WO2013101152A1 (en) 2011-12-30 2013-07-04 Intel Corporation Embedded branch prediction unit
GB2499277B (en) * 2012-08-30 2014-04-02 Imagination Tech Ltd Global register protection in a multi-threaded processor

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2581236B2 (ja) * 1989-11-16 1997-02-12 三菱電機株式会社 データ処理装置
US5487156A (en) 1989-12-15 1996-01-23 Popescu; Valeri Processor architecture having independently fetching issuing and updating operations of instructions which are sequentially assigned and stored in order fetched
EP0463965B1 (de) 1990-06-29 1998-09-09 Digital Equipment Corporation Sprungvorhersageeinheit für hochleistungsfähigen Prozessor
US5655096A (en) 1990-10-12 1997-08-05 Branigin; Michael H. Method and apparatus for dynamic scheduling of instructions to ensure sequentially coherent data in a processor employing out-of-order execution
US5630157A (en) 1991-06-13 1997-05-13 International Business Machines Corporation Computer organization for multiple and out-of-order execution of condition code testing and setting instructions
JP3730252B2 (ja) 1992-03-31 2005-12-21 トランスメタ コーポレイション レジスタ名称変更方法及び名称変更システム
US5546593A (en) 1992-05-18 1996-08-13 Matsushita Electric Industrial Co., Ltd. Multistream instruction processor able to reduce interlocks by having a wait state for an instruction stream
US5559977A (en) * 1992-08-04 1996-09-24 Intel Corporation Method and apparatus for executing floating point (FP) instruction pairs in a pipelined processor by stalling the following FP instructions in an execution stage
US5884057A (en) 1994-01-11 1999-03-16 Exponential Technology, Inc. Temporal re-alignment of a floating point pipeline to an integer pipeline for emulation of a load-operate architecture on a load/store processor
US5666506A (en) 1994-10-24 1997-09-09 International Business Machines Corporation Apparatus to dynamically control the out-of-order execution of load/store instructions in a processor capable of dispatchng, issuing and executing multiple instructions in a single processor cycle
US5751985A (en) 1995-02-14 1998-05-12 Hal Computer Systems, Inc. Processor structure and method for tracking instruction status to maintain precise state
JP3720371B2 (ja) 1995-10-06 2005-11-24 アドバンスト・マイクロ・デバイシズ・インコーポレイテッド スーパースケーラープロセッサにおけるout−of−order実行のための統一化された機能オペレーションスケジューラ
US5933618A (en) 1995-10-30 1999-08-03 Advanced Micro Devices, Inc. Speculative register storage for storing speculative results corresponding to register updated by a plurality of concurrently recorded instruction
US5991884A (en) 1996-09-30 1999-11-23 Intel Corporation Method for reducing peak power in dispatching instructions to multiple execution units
US6282663B1 (en) 1997-01-22 2001-08-28 Intel Corporation Method and apparatus for performing power management by suppressing the speculative execution of instructions within a pipelined microprocessor
US5887185A (en) 1997-03-19 1999-03-23 Advanced Micro Devices, Inc. Interface for coupling a floating point unit to a reorder buffer
US5790827A (en) 1997-06-20 1998-08-04 Sun Microsystems, Inc. Method for dependency checking using a scoreboard for a pair of register sets having different precisions
US5784588A (en) 1997-06-20 1998-07-21 Sun Microsystems, Inc. Dependency checking apparatus employing a scoreboard for a pair of register sets having different precisions
US5913049A (en) 1997-07-31 1999-06-15 Texas Instruments Incorporated Multi-stream complex instruction set microprocessor
US6219796B1 (en) 1997-12-23 2001-04-17 Texas Instruments Incorporated Power reduction for processors by software control of functional units
US6076153A (en) 1997-12-24 2000-06-13 Intel Corporation Processor pipeline including partial replay
US6216222B1 (en) 1998-05-14 2001-04-10 Arm Limited Handling exceptions in a pipelined data processing apparatus

Also Published As

Publication number Publication date
US7269714B2 (en) 2007-09-11
US20030061465A1 (en) 2003-03-27
EP1296228A2 (de) 2003-03-26
DE60235429D1 (de) 2010-04-08
EP1296228A3 (de) 2007-01-24
EP1296228B1 (de) 2010-02-24

Similar Documents

Publication Publication Date Title
DE60140603D1 (de) Verfahren und vorrichtung für die befehlssatzarchitektur mit dyadischen digitalen signalverarbeitungsbefehlen
ATE266226T1 (de) Datenverarbeitungssystem mit bedingter ausführung von erweiterten verbundbefehlen
TW200515279A (en) Method and apparatus for shuffling data
DE60122708D1 (de) Zeroklick
WO2004058404A3 (en) Enhanced scheduling sample processing system and methods of biological slide processing
ATE487180T1 (de) Vorrichtung und verfahren zur umschaltung zwischen prozessen
WO2003010657A3 (en) Method and system for encoding instructions for a vliw that reduces instruction memory requirements
WO2006113420A3 (en) System and method wherein conditional instructions unconditionally provide output
ATE459041T1 (de) Ausgabe und abschluss von befehlen in einem prozessor mit unterschiedlicher pipelinetiefe
DE602004005025D1 (de) Instruktionen zur verarbeitung einer verschlusselten nachricht
WO2003090067A3 (en) System for expanded instruction encoding and method thereof
WO2004040442A3 (en) Creating software applications
RU2008126233A (ru) Конфигурируемые пользователем библиотеки программного обеспечения
ATE542577T1 (de) Ansteuerung von mehreren vorrichtungen
WO2007076098A3 (en) Digital effects analysis in modeling environments
EP1205840A3 (de) Haltsteuerung in einem Prozessor mit mehreren Pipelines
DE602006014415D1 (de) Synchronisierung und paralleles Ausführen von Kontrollfluss und Datenfluss auf Task-Ebene
FI20011947L (fi) Menetelmä suorittimen toiminnan ohjaamiseksi ja suoritin
WO2002063465A3 (en) Method and apparatus for handling interrupts
ATE334444T1 (de) ßEMODß EINE SCHNELLE MODULE BERECHNUNG FÜR RECHNERSYSTEME
ATA15732001A (de) Vorrichtung zur regelung einer heizung, insbesondere eines wohnhauses
DE69807301D1 (de) Mikrocontroller zur Ausführung von Befehlen mit variablen Längen
DE602004029499D1 (de) Vorrichtung und verfahren zur vermeidung von gleitkommasteueranweisungen bei der konvertierung von gleitkomma- zu ganzzahldaten
RU2323408C2 (ru) Способ унификации взрывателей
DE50200445D1 (de) Verfahren und Vorrichtung zur Einfügung von Variablen in den Programmablauf einer Datenverarbeitungsanlage

Legal Events

Date Code Title Description
RER Ceased as to paragraph 5 lit. 3 law introducing patent treaties