DE69429612D1 - Schreibpuffer für einen superskalaren Mikroprozessor mit Pipeline - Google Patents

Schreibpuffer für einen superskalaren Mikroprozessor mit Pipeline

Info

Publication number
DE69429612D1
DE69429612D1 DE69429612T DE69429612T DE69429612D1 DE 69429612 D1 DE69429612 D1 DE 69429612D1 DE 69429612 T DE69429612 T DE 69429612T DE 69429612 T DE69429612 T DE 69429612T DE 69429612 D1 DE69429612 D1 DE 69429612D1
Authority
DE
Germany
Prior art keywords
write buffer
pipeline microprocessor
superscalar pipeline
superscalar
microprocessor
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.)
Expired - Lifetime
Application number
DE69429612T
Other languages
English (en)
Other versions
DE69429612T2 (de
Inventor
Mark Bluhm
Garibay, Jr
Marc A Quattromani
Mark W Hervin
Nital Patwa
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.)
Via-Cyrix Inc Richardson Tex Us
Original Assignee
National Semiconductor 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
Priority claimed from US08/138,651 external-priority patent/US5740398A/en
Priority claimed from US08/139,596 external-priority patent/US5471598A/en
Priority claimed from US08/138,790 external-priority patent/US6219773B1/en
Priority claimed from US08/138,654 external-priority patent/US5584009A/en
Application filed by National Semiconductor Corp filed Critical National Semiconductor Corp
Publication of DE69429612D1 publication Critical patent/DE69429612D1/de
Application granted granted Critical
Publication of DE69429612T2 publication Critical patent/DE69429612T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • 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/30061Multi-way branch instructions, e.g. CASE
    • 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/30181Instruction operation extension or modification
    • 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/3816Instruction alignment, e.g. cache line crossing
    • 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/3824Operand accessing
    • 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/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • 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
    • 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/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • 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/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3865Recovery, e.g. branch miss-prediction, exception handling using deferred exception handling, e.g. exception flags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
DE69429612T 1993-10-18 1994-10-17 Schreibpuffer für einen superskalaren Mikroprozessor mit Pipeline Expired - Lifetime DE69429612T2 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US13959893A 1993-10-18 1993-10-18
US13865293A 1993-10-18 1993-10-18
US08/138,651 US5740398A (en) 1993-10-18 1993-10-18 Program order sequencing of data in a microprocessor with write buffer
US08/139,596 US5471598A (en) 1993-10-18 1993-10-18 Data dependency detection and handling in a microprocessor with write buffer
US08/138,790 US6219773B1 (en) 1993-10-18 1993-10-18 System and method of retiring misaligned write operands from a write buffer
US08/138,654 US5584009A (en) 1993-10-18 1993-10-18 System and method of retiring store data from a write buffer

Publications (2)

Publication Number Publication Date
DE69429612D1 true DE69429612D1 (de) 2002-02-14
DE69429612T2 DE69429612T2 (de) 2002-09-12

Family

ID=27558222

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69429612T Expired - Lifetime DE69429612T2 (de) 1993-10-18 1994-10-17 Schreibpuffer für einen superskalaren Mikroprozessor mit Pipeline

Country Status (3)

Country Link
EP (1) EP0651331B1 (de)
JP (1) JP3678443B2 (de)
DE (1) DE69429612T2 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0779577B1 (de) 1993-10-18 2002-05-22 VIA-Cyrix, Inc. Mikroprozessorpipelinesteuerung und Registerübersetzung
US5758178A (en) * 1996-03-01 1998-05-26 Hewlett-Packard Company Miss tracking system and method
US6199152B1 (en) 1996-08-22 2001-03-06 Transmeta Corporation Translated memory protection apparatus for an advanced microprocessor
JP2933027B2 (ja) * 1996-08-30 1999-08-09 日本電気株式会社 複数命令並列発行/実行管理装置
US6011908A (en) * 1996-12-23 2000-01-04 Transmeta Corporation Gated store buffer for an advanced microprocessor
US6141747A (en) * 1998-09-22 2000-10-31 Advanced Micro Devices, Inc. System for store to load forwarding of individual bytes from separate store buffer entries to form a single load word
US6266747B1 (en) 1998-10-30 2001-07-24 Telefonaktiebolaget Lm Ericsson (Publ) Method for writing data into data storage units
EP1050812A1 (de) 1999-05-03 2000-11-08 STMicroelectronics SA Datenspeicherung im Rechnerspeicher
US6523109B1 (en) 1999-10-25 2003-02-18 Advanced Micro Devices, Inc. Store queue multimatch detection
US6481251B1 (en) 1999-10-25 2002-11-19 Advanced Micro Devices, Inc. Store queue number assignment and tracking
US6968469B1 (en) 2000-06-16 2005-11-22 Transmeta Corporation System and method for preserving internal processor context when the processor is powered down and restoring the internal processor context when processor is restored
US7152155B2 (en) * 2005-02-18 2006-12-19 Qualcomm Incorporated System and method of correcting a branch misprediction
US7376817B2 (en) 2005-08-10 2008-05-20 P.A. Semi, Inc. Partial load/store forward prediction
WO2007046066A1 (en) * 2005-10-19 2007-04-26 Nxp B.V. Cache with high access store bandwidth
JP5003070B2 (ja) * 2006-09-09 2012-08-15 ヤマハ株式会社 デジタル信号処理装置
JP5417879B2 (ja) 2009-02-17 2014-02-19 富士通セミコンダクター株式会社 キャッシュ装置
JP5732953B2 (ja) * 2011-03-24 2015-06-10 日本電気株式会社 ベクトル処理装置、ベクトル処理方法、及び、プログラム
US9128725B2 (en) 2012-05-04 2015-09-08 Apple Inc. Load-store dependency predictor content management
US9600289B2 (en) 2012-05-30 2017-03-21 Apple Inc. Load-store dependency predictor PC hashing
US9710268B2 (en) 2014-04-29 2017-07-18 Apple Inc. Reducing latency for pointer chasing loads
US10514925B1 (en) 2016-01-28 2019-12-24 Apple Inc. Load speculation recovery
US10437595B1 (en) 2016-03-15 2019-10-08 Apple Inc. Load/store dependency predictor optimization for replayed loads

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0442690A3 (en) * 1990-02-13 1992-11-19 Hewlett-Packard Company Data cache store buffer for high performance computer

Also Published As

Publication number Publication date
JP3678443B2 (ja) 2005-08-03
JPH07152566A (ja) 1995-06-16
EP0651331A1 (de) 1995-05-03
DE69429612T2 (de) 2002-09-12
EP0651331B1 (de) 2002-01-09

Similar Documents

Publication Publication Date Title
DE69429612T2 (de) Schreibpuffer für einen superskalaren Mikroprozessor mit Pipeline
DE69418146D1 (de) Temporärer Registersatz für einen superpipeline-superskalaren Prozessor
DE69327517D1 (de) Pipeline-Rechner mit Anzeigetafel
DE69620785T2 (de) Verbinder für einen rohrstrang
DE69423385T2 (de) Vibratogerät für einen Gitarre
DE69401313D1 (de) Antriebsaggregat für flugzeug
DE69411064T2 (de) Kontrollgerät für einen Strassenfertiger
DE69630141D1 (de) Für sehbehinderte oder analphabeten benutzbare automaten für geldtransaktionen
DE69401357D1 (de) Zahnradantriebs-system für einen schaufelantrieb
DE69534474D1 (de) Steuerungsverfahren für einen Kühlschrank
DE69430352D1 (de) Gegenflusspipeline
DE69427839D1 (de) Umstülpverfahren für einen Auskleidungsschlauch
DE69416301D1 (de) Antriebsmechanismus für verdichtungsgerät
DE69428227D1 (de) Weichmagnetischer Mehrschichtfilm für einen Magnetkopf
DE69229569D1 (de) Kugelventil für einen Wasserhahn
DE69425310T2 (de) Mikrosteuereinheit für einen superpipeline-superskalaren Mikroprozessor
DE69402698T2 (de) Handabgabevorrichtung für einen streifen
DE69817837D1 (de) Magnetische anordnung für einen transformator oder dergleichen
DE69334023D1 (de) Antriebsvorrichtung für einen Photorezeptor
DE59408841D1 (de) Programmspeichererweiterung für einen Mikroprozessor
DE68927902T2 (de) Befehlspufferspeicher für einen Mikrocomputer
DE9308576U1 (de) Bausatz für einen Balkon
DE69032494D1 (de) Befehlsdekoder für einen Pipelineprozessor
DE69521089D1 (de) Vektordatenumgehungsmechanismus für einen Vektorrechner
DE9312942U1 (de) Anschlußverschraubung für einen Ventilanschlußstutzen

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: VIA-CYRIX, INC., RICHARDSON, TEX., US

8364 No opposition during term of opposition