← Back to Patent Explorer
US5051885A Expired / Lapsed US ⏱️ 0.0 years remaining

Data processing system for concurrent dispatch of instructions to multiple functional units

Assignee: HP Inc
•
Filing: 1988-10-07
•
Granted: 1991-09-24
•
Expires: 2008-10-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Apparatus and method for concurrent dispatch of instruction words which selectively comprise instruction components which are separately and substantially simultaneously received by distinct floating point and integer functional units. The instruction words are powers of 2 in length, (measured in terms of the smallest machine addressable unit) typically a 4 byte longword and an 8 byte quadword aligned to the natural boundaries also corresponding to powers of 2. To provide maximum operating efficiency, each functional (or processing) unit executes a component of an instruction word during an execution cycle. The type and length of the instruction word are indicated by one of the bit fields of the instruction word, which permits the apparatus to properly detect, store and transfer the instruction word to the appropriate functional unit. The invention combines the encoding efficiency of variable length instruction combined combined with the enhanced processing speed of simultaneous operation of all available functional units, to provide the execution efficiency of systems with a single instruction length.

Inventors

  • 👤 John S. Yates, Jr.
  • 👤 Stephen J. Ciavaglia
  • 👤 John Manton
  • 👤 Michael Kahaiyan
  • 👤 Richard G. Bahr
  • 👤 Barry J. Flahive

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 22:26
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3885; G06F9/3889; G06F9/30145; G06F9/30149; G06F9/32; G06F9/321; G06F9/3802; G06F9/3814; G06F9/3816; G06F9/3836; G06F9/3853

Claims Analysis

Total Claims: 11
Claim 1
Independent Claim 223 words
Apparatus for concurrent dispatch of instructions to multiple functional units, said apparatus comprising: means for providing an instruction word that includes at least one portion selected from the group consisting of integer instructions and floating point instructions; an instruction, cache for receiving said instruction word including an integer instruction area for delivering an instruction directly to an integer processor and a floating point instruction area for delivering an instruction directly to a floating point processor; an integer processor for receiving an integer instruction from said instruction cache, and for processing data provided to said integer processor; and a floating point processor for receiving a floating point instruction from said instruction cache, said floating point instruction being received simultaneously with the receipt of said integer instruction by said integer processor, for processing data provided to said floating point processor, wherein said means for providing includes: a program counter register with a high order portion that indexes cache lines within said instruction cache, and a low order portion that identifies an appropriate starting point for each instruction within each cache line; and means for incrementing said high order portion of said program counter of said cache, said means for incrementing being ignored by said high order portion of said program counter upon a transfer of an instruction from said pre-fetch register to a receiving processor.
Claim 2
Dependent Claim 223 words
Apparatus for concurrent dispatch of instructions to multiple functional units, said apparatus comprising: means for providing an instruction word that includes at least one portion selected from the group consisting of integer instructions and floating point instructions; an instruction, cache for receiving said instruction word including an integer instruction area for delivering an instruction directly to an integer processor and a floating point instruction area for delivering an instruction directly to a floating point processor; an integer processor for receiving an integer instruction from said instruction cache, and for processing data provided to said integer processor; and a floating point processor for receiving a floating point instruction from said instruction cache, said floating point instruction being received simultaneously with the receipt of said integer instruction by said integer processor, for processing data provided to said floating point processor, wherein said means for providing includes: a program counter register with a high order portion that indexes cache lines within said instruction cache, and a low order portion that identifies an appropriate starting point for each instruction within each cache line; and means for incrementing said high order portion of said program counter of said cache, said means for incrementing being ignored by said high order portion of said program counter upon a transfer of an instruction from said pre-fetch register to a receiving processor.
Claim 3
Dependent Claim 53 words
The apparatus of claim 1 further including: pre-fetch register means for receiving and storing an integer instruction from a floating point instruction area of said cache, and subsequently transferring said integer instruction to said integer processor, after said integer processor has received an integer instruction from the integer instruction area of said cache.
Claim 4
Dependent Claim 29 words
The apparatus of claim 1, further including: means for providing an integer instruction to said integer processor, irrespective of where said integer instruction is stored within said instruction cache.
Claim 5
Dependent Claim 33 words
The apparatus of claim 1, further including: multiplexer means for selectively providing an instruction to one of said integer and floating point processors from one of said integer and floating point instruction areas.
Claim 6
Dependent Claim 60 words
The apparatus of claim 4, wherein a decode and control unit of said integer processor provides condition code and instruction code decode signals in response to the received integer instruction, and said multiplexer means is responsive to said condition code and instruction code decode signals by selecting an instruction from said integer instruction area and said floating point instruction area.
Claim 7
Dependent Claim 30 words
The apparatus of claim 5, wherein said first processor comprises a pipeline processor including means for providing a program counter signal to a program counter and to said multiplexer means.
Claim 8
Dependent Claim 64 words
The apparatus of claim 6 wherein said means for providing a program counter signal selectively increments said program counter by a number of addressable locations in memory chosen from a group of address incrementation options consisting of: zero (said program counter is not incremented), a memory address incrementation for addressing a next instruction, and a memory address incrementation for addressing a next instruction word.
Claim 9
Dependent Claim 76 words
The apparatus of claim 7 wherein said instruction word includes 64 instruction bits comprising 8 bytes of 8 bits per byte; said integer and floating point instructions comprise 4 bytes of 8 bits per byte; said multiplexer means includes means for addressing each instruction word byte; said memory address incrementation for addressing said next instruction is 4 addressable memory locations; and said memory address incrementation for addressing said next instruction word is 8 addressable memory locations.
Claim 10
Dependent Claim 36 words
The apparatus of claim 7, further including pre-fetch register means for receiving an integer instruction from said instruction cache, and for providing said integer instruction to said integer processor when said program counter is not incremented.
Claim 11
Dependent Claim 64 words
The apparatus of claim 9, wherein said integer processor further includes branch means connected to said decode and control unit, and responsive to said instruction code decode and said condition code signals for providing a branch signal to said means for providing a program counter signal, wherein said branch signal is an integer multiple of said memory address incrementation for addressing a next instruction.

References Cited (Backward Citations)

US4926323A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1994-09-23 1995-03-25 1995-09-24 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1998-09-23 1999-03-25 1999-09-24 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2002-09-23 2003-03-25 2003-09-24 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag