ATE170995T1 - Vorrichtung zur auflösung von einer variablen anzahl von möglichen speicherzugriffskonflikten in einem pipeline-rechnersystem und verfahren dazu - Google Patents

Vorrichtung zur auflösung von einer variablen anzahl von möglichen speicherzugriffskonflikten in einem pipeline-rechnersystem und verfahren dazu

Info

Publication number
ATE170995T1
ATE170995T1 AT89307239T AT89307239T ATE170995T1 AT E170995 T1 ATE170995 T1 AT E170995T1 AT 89307239 T AT89307239 T AT 89307239T AT 89307239 T AT89307239 T AT 89307239T AT E170995 T1 ATE170995 T1 AT E170995T1
Authority
AT
Austria
Prior art keywords
operand
write
addresses
delivers
response
Prior art date
Application number
AT89307239T
Other languages
English (en)
Inventor
Rickey C Hetherington
David B Fite
John E Murray
Tryggve Fossum
David A Jnr Webb
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Application granted granted Critical
Publication of ATE170995T1 publication Critical patent/ATE170995T1/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/3802Instruction prefetching
    • G06F9/3816Instruction alignment, e.g. cache line crossing
    • 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/383Operand prefetching
    • 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/3834Maintaining memory consistency

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)
  • Debugging And Monitoring (AREA)
AT89307239T 1989-02-03 1989-07-17 Vorrichtung zur auflösung von einer variablen anzahl von möglichen speicherzugriffskonflikten in einem pipeline-rechnersystem und verfahren dazu ATE170995T1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/306,767 US5125083A (en) 1989-02-03 1989-02-03 Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system

Publications (1)

Publication Number Publication Date
ATE170995T1 true ATE170995T1 (de) 1998-09-15

Family

ID=23186747

Family Applications (1)

Application Number Title Priority Date Filing Date
AT89307239T ATE170995T1 (de) 1989-02-03 1989-07-17 Vorrichtung zur auflösung von einer variablen anzahl von möglichen speicherzugriffskonflikten in einem pipeline-rechnersystem und verfahren dazu

Country Status (6)

Country Link
US (1) US5125083A (de)
EP (1) EP0380846B1 (de)
JP (1) JPH02206837A (de)
AT (1) ATE170995T1 (de)
CA (1) CA1325283C (de)
DE (1) DE68928812T2 (de)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781753A (en) 1989-02-24 1998-07-14 Advanced Micro Devices, Inc. Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions
US5226126A (en) * 1989-02-24 1993-07-06 Nexgen Microsystems Processor having plurality of functional units for orderly retiring outstanding operations based upon its associated tags
JPH0328911A (ja) * 1989-06-26 1991-02-07 Mitsubishi Electric Corp マイクロプロセッサ
EP0463965B1 (de) * 1990-06-29 1998-09-09 Digital Equipment Corporation Sprungvorhersageeinheit für hochleistungsfähigen Prozessor
US5471591A (en) * 1990-06-29 1995-11-28 Digital Equipment Corporation Combined write-operand queue and read-after-write dependency scoreboard
US5432918A (en) * 1990-06-29 1995-07-11 Digital Equipment Corporation Method and apparatus for ordering read and write operations using conflict bits in a write queue
US5539911A (en) 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US5493687A (en) 1991-07-08 1996-02-20 Seiko Epson Corporation RISC microprocessor architecture implementing multiple typed register sets
JP2875909B2 (ja) * 1991-07-12 1999-03-31 三菱電機株式会社 並列演算処理装置
US5345569A (en) * 1991-09-20 1994-09-06 Advanced Micro Devices, Inc. Apparatus and method for resolving dependencies among a plurality of instructions within a storage device
US5379396A (en) * 1991-10-11 1995-01-03 Intel Corporation Write ordering for microprocessor depending on cache hit and write buffer content
DE69230129T2 (de) * 1991-12-18 2000-06-15 Sun Microsystems, Inc. Schreibüberlappung mit Verhinderung des Überschreibens
DE69311330T2 (de) 1992-03-31 1997-09-25 Seiko Epson Corp., Tokio/Tokyo Befehlsablauffolgeplanung von einem risc-superskalarprozessor
EP0638183B1 (de) 1992-05-01 1997-03-05 Seiko Epson Corporation Vorrichtung und verfahren zum befehlsabschluss in einem superskalaren prozessor.
US5497470A (en) * 1992-05-18 1996-03-05 Sun Microsystems, Inc. Method and apparatus for providing a high through put cache tag controller
JPH05342084A (ja) * 1992-06-08 1993-12-24 Matsushita Electric Ind Co Ltd データ記憶装置及びデータ記憶方法
US5450561A (en) * 1992-07-29 1995-09-12 Bull Hn Information Systems Inc. Cache miss prediction method and apparatus for use with a paged main memory in a data processing system
US5619668A (en) * 1992-08-10 1997-04-08 Intel Corporation Apparatus for register bypassing in a microprocessor
US5604912A (en) * 1992-12-31 1997-02-18 Seiko Epson Corporation System and method for assigning tags to instructions to control instruction execution
US5628021A (en) 1992-12-31 1997-05-06 Seiko Epson Corporation System and method for assigning tags to control instruction processing in a superscalar processor
JP3531166B2 (ja) 1992-12-31 2004-05-24 セイコーエプソン株式会社 レジスタ・リネーミングのシステム及び方法
US5542061A (en) * 1993-01-21 1996-07-30 Nec Corporaiton Arrangement of controlling issue timing of a read instruction to a common block in a vector processor
US5481736A (en) * 1993-02-17 1996-01-02 Hughes Aircraft Company Computer processing element having first and second functional units accessing shared memory output port on prioritized basis
US5420990A (en) * 1993-06-17 1995-05-30 Digital Equipment Corporation Mechanism for enforcing the correct order of instruction execution
US5428807A (en) * 1993-06-17 1995-06-27 Digital Equipment Corporation Method and apparatus for propagating exception conditions of a computer system
US6704861B1 (en) 1993-06-17 2004-03-09 Hewlett-Packard Development Company, L.P. Mechanism for executing computer instructions in parallel
US5421022A (en) * 1993-06-17 1995-05-30 Digital Equipment Corporation Apparatus and method for speculatively executing instructions in a computer system
US5406504A (en) * 1993-06-30 1995-04-11 Digital Equipment Multiprocessor cache examiner and coherency checker
US5748937A (en) * 1993-08-26 1998-05-05 Intel Corporation Computer system that maintains processor ordering consistency by snooping an external bus for conflicts during out of order execution of memory access instructions
US5434987A (en) * 1993-09-21 1995-07-18 Intel Corporation Method and apparatus for preventing incorrect fetching of an instruction of a self-modifying code sequence with dependency on a bufered store
US6219773B1 (en) 1993-10-18 2001-04-17 Via-Cyrix, Inc. System and method of retiring misaligned write operands from a write buffer
US5615402A (en) * 1993-10-18 1997-03-25 Cyrix Corporation Unified write buffer having information identifying whether the address belongs to a first write operand or a second write operand having an extra wide latch
US5740398A (en) * 1993-10-18 1998-04-14 Cyrix Corporation Program order sequencing of data in a microprocessor with write buffer
US5471598A (en) * 1993-10-18 1995-11-28 Cyrix Corporation Data dependency detection and handling in a microprocessor with write buffer
US5608885A (en) * 1994-03-01 1997-03-04 Intel Corporation Method for handling instructions from a branch prior to instruction decoding in a computer which executes variable-length instructions
US5751986A (en) * 1994-03-01 1998-05-12 Intel Corporation Computer system with self-consistent ordering mechanism
IL110181A (en) * 1994-06-30 1998-02-08 Softchip Israel Ltd Install microprocessor and peripherals
US5465336A (en) * 1994-06-30 1995-11-07 International Business Machines Corporation Fetch and store buffer that enables out-of-order execution of memory instructions in a data processing system
JP3164732B2 (ja) * 1994-07-04 2001-05-08 富士通株式会社 データ処理装置
US5634073A (en) * 1994-10-14 1997-05-27 Compaq Computer Corporation System having a plurality of posting queues associated with different types of write operations for selectively checking one queue based upon type of read operation
US5867734A (en) * 1994-11-21 1999-02-02 Intel Corporation Multiple-reader multiple-writer queue for a computer system
US5649157A (en) * 1995-03-30 1997-07-15 Hewlett-Packard Co. Memory controller with priority queues
US5761712A (en) * 1995-06-07 1998-06-02 Advanced Micro Devices Data memory unit and method for storing data into a lockable cache in one clock cycle by previewing the tag array
US5751983A (en) * 1995-10-03 1998-05-12 Abramson; Jeffrey M. Out-of-order processor with a memory subsystem which handles speculatively dispatched load operations
US6092184A (en) * 1995-12-28 2000-07-18 Intel Corporation Parallel processing of pipelined instructions having register dependencies
US5764943A (en) * 1995-12-28 1998-06-09 Intel Corporation Data path circuitry for processor having multiple instruction pipelines
US5854914A (en) * 1996-02-13 1998-12-29 Intel Corporation Mechanism to improved execution of misaligned loads
US5903749A (en) * 1996-07-02 1999-05-11 Institute For The Development Of Emerging Architecture, L.L.C. Method and apparatus for implementing check instructions that allow for the reuse of memory conflict information if no memory conflict occurs
US6009516A (en) * 1996-10-21 1999-12-28 Texas Instruments Incorporated Pipelined microprocessor with efficient self-modifying code detection and handling
US5923900A (en) * 1997-03-10 1999-07-13 International Business Machines Corporation Circular buffer with n sequential real and virtual entry positions for selectively inhibiting n adjacent entry positions including the virtual entry positions
US6112270A (en) * 1997-10-31 2000-08-29 International Business Machines Corporation Method and system for high speed transferring of strictly ordered bus operations by reissuing bus operations in a multiprocessor system
US6145038A (en) * 1997-10-31 2000-11-07 International Business Machines Corporation Method and system for early slave forwarding of strictly ordered bus operations
US6145062A (en) * 1998-01-26 2000-11-07 Intel Corporation Selective conflict write flush
US6173307B1 (en) 1998-08-20 2001-01-09 Intel Corporation Multiple-reader multiple-writer queue for a computer system
US6237067B1 (en) * 1998-08-31 2001-05-22 International Business Machines Corporation System and method for handling storage consistency conflict
US6301627B1 (en) 1998-12-18 2001-10-09 International Business Machines Corporation Method/system for identifying delayed predetermined information transfer request as bypassable by subsequently-generated information transfer request using bypass enable bit in bridge translation control entry
US6557084B2 (en) * 1999-07-13 2003-04-29 International Business Machines Corporation Apparatus and method to improve performance of reads from and writes to shared memory locations
US6748589B1 (en) 1999-10-20 2004-06-08 Transmeta Corporation Method for increasing the speed of speculative execution
US6732234B1 (en) * 2000-08-07 2004-05-04 Broadcom Corporation Direct access mode for a cache
US6848024B1 (en) 2000-08-07 2005-01-25 Broadcom Corporation Programmably disabling one or more cache entries
US6748492B1 (en) * 2000-08-07 2004-06-08 Broadcom Corporation Deterministic setting of replacement policy in a cache through way selection
US6748495B2 (en) 2001-05-15 2004-06-08 Broadcom Corporation Random generator
US7266587B2 (en) * 2002-05-15 2007-09-04 Broadcom Corporation System having interfaces, switch, and memory bridge for CC-NUMA operation
US7440454B1 (en) * 2004-12-21 2008-10-21 Xilinx, Inc. Packet reshuffler and method of implementing same
US8677078B1 (en) * 2007-06-28 2014-03-18 Juniper Networks, Inc. Systems and methods for accessing wide registers
US9170944B2 (en) * 2013-06-25 2015-10-27 International Business Machines Corporation Two handed insertion and deletion algorithm for circular buffer
US9652230B2 (en) * 2013-10-15 2017-05-16 Mill Computing, Inc. Computer processor employing dedicated hardware mechanism controlling the initialization and invalidation of cache lines
US9811403B1 (en) * 2016-06-22 2017-11-07 Intel Corporation Method, apparatus and system for performing matching operations in a computing system
CN117707468B (zh) * 2023-12-07 2024-09-20 沐曦科技(北京)有限公司 一种用于部分写入的数据处理系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3601809A (en) * 1968-11-04 1971-08-24 Univ Pennsylvania Addressable list memory systems
US3747072A (en) * 1972-07-19 1973-07-17 Sperry Rand Corp Integrated static mnos memory circuit
US4342081A (en) * 1979-12-12 1982-07-27 Honeywell Information Systems Inc. Tape device adapter
US4345309A (en) * 1980-01-28 1982-08-17 Digital Equipment Corporation Relating to cached multiprocessor system with pipeline timing
US4392200A (en) * 1980-01-28 1983-07-05 Digital Equipment Corporation Cached multiprocessor system with pipeline timing
JPS6057090B2 (ja) * 1980-09-19 1985-12-13 株式会社日立製作所 データ記憶装置およびそれを用いた処理装置
US4589067A (en) * 1983-05-27 1986-05-13 Analogic Corporation Full floating point vector processor with dynamically configurable multifunction pipelined ALU
US4642794A (en) * 1983-09-27 1987-02-10 Motorola Computer Systems, Inc. Video update FIFO buffer
DE3581556D1 (de) * 1984-04-27 1991-03-07 Bull Hn Information Syst Steuerungsgeraet in einem digitalen computer.
JPH0769818B2 (ja) * 1984-10-31 1995-07-31 株式会社日立製作所 デ−タ処理装置
US4803654A (en) * 1985-06-20 1989-02-07 General Datacomm Industries, Inc. Circular first-in, first out buffer system for generating input and output addresses for read/write memory independently
US4761731A (en) * 1985-08-14 1988-08-02 Control Data Corporation Look-ahead instruction fetch control for a cache memory
JPS62102344A (ja) * 1985-10-29 1987-05-12 Fujitsu Ltd バツフア・メモリ制御方式
US4949301A (en) * 1986-03-06 1990-08-14 Advanced Micro Devices, Inc. Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs
US4768148A (en) * 1986-06-27 1988-08-30 Honeywell Bull Inc. Read in process memory apparatus
AU587714B2 (en) * 1986-08-27 1989-08-24 Amdahl Corporation Cache storage queue
US4785415A (en) * 1986-08-29 1988-11-15 Hewlett-Packard Company Digital data buffer and variable shift register
US4894797A (en) * 1986-11-17 1990-01-16 Amp Incorporated FIFO data storage system using PLA controlled multiplexer for concurrent reading and writing of registers by different controllers
AU608796B2 (en) * 1986-12-23 1991-04-18 Nec Corporation Address control device for reasonably controlling an address storing operation on reception of cancellation
US4922437A (en) * 1986-12-25 1990-05-01 Kabushiki Kaisha Toshiba Image information processing apparatus
US4890254A (en) * 1987-03-11 1989-12-26 Aristacom International, Inc. Clock disabling circuit
US4991090A (en) * 1987-05-18 1991-02-05 International Business Machines Corporation Posting out-of-sequence fetches

Also Published As

Publication number Publication date
EP0380846B1 (de) 1998-09-09
US5125083A (en) 1992-06-23
DE68928812D1 (de) 1998-10-15
CA1325283C (en) 1993-12-14
EP0380846A2 (de) 1990-08-08
JPH02206837A (ja) 1990-08-16
EP0380846A3 (de) 1992-09-02
DE68928812T2 (de) 1999-04-29

Similar Documents

Publication Publication Date Title
ATE170995T1 (de) Vorrichtung zur auflösung von einer variablen anzahl von möglichen speicherzugriffskonflikten in einem pipeline-rechnersystem und verfahren dazu
US5381536A (en) Method and apparatus for separate mark and wait instructions for processors having multiple memory ports
ATE150191T1 (de) Verfahren und datenverarbeitungseinheit zur vorverarbeitung von implizierten spezifizierern in einem pipeline-prozessor
JPH0131214B2 (de)
ATE242508T1 (de) Ausnahmebehandlung in einem datenprozessor
DE69228380D1 (de) Verfahren zur erhöhung der datenverarbeitungsgeschwindigkeit in einem rechnersystem
EP0652668A3 (de) System und Verfahren zum Austausch von Rechnerdatenverarbeitungsfähigkeiten.
DE69424115D1 (de) Rechnersystem und Verfahren zur Verarbeitung von Vektordaten
ATE162897T1 (de) Verfahren und gerät zur beschleunigung von verzweigungsbefehlen
DE69819849D1 (de) Anordnung zum willkürlichen Abtasten von Instruktionen in einer Prozessorpipeline
DE3882977D1 (de) Verfahren und anordnung zur implementierung von mehrverriegelungsanzeigen in einem multiprozessordatenverarbeitungssystem.
DE59005294D1 (de) Verfahren zur dynamischen bindung von definierbaren programmelementen eines interaktiven datenverarbeitungssystems.
DE69433621D1 (de) Geraet zur verarbeitung von befehlen in einem rechnersystem
DE3582962D1 (de) Verfahren und vorrichtung zum speicherzugriff in mehrprozessorsystemen.
DE3882989D1 (de) Verfahren und anordnung zur verwaltung von mehrverriegelungsanzeigen in einem multiprozessordatenverarbeitungssystem.
DE69623146D1 (de) Verfahren und Vorrichtung zum Koordinieren der Benutzung von physikalischen Registern in einem Mikroprozessor
DE69636268D1 (de) Informationsverarbeitungsgerät zur Datenübertragung zu/von mehreren Registern durch Kurzwortbefehle
EP0264216A3 (de) Eingeschlossene Domänenadressierung
DE69632655D1 (de) Pipeline-Datenverarbeitungsanordnung zur Durchführung einer Mehrzahl von untereinander datenabhängigen Datenprozessen
EP0287295A3 (de) Virtueller Rundruf von programmierten E/A-Befehlen auf einem vielfachen E/A-Bus
AU597980B2 (en) Apparatus and method for interprocessor communication
DE69525120D1 (de) Verfahren und Vorrichtung zur Verarbeitung von Ein-/Ausgabeanforderungen von mehreren Host-Rechnern
EP0299075A4 (de) Verarbeitungseinheit mit mindestens einem zusatzprozessor.
ATE220810T1 (de) Informationsverarbeitungssystem mit einem cachespeicher und vorrichtung zur datenvorausholung
DE69025533D1 (de) Rechnersystem für Datenverarbeitungsgerät