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

Method and apparatus for delaying writing back the results of instructions to a processor

Assignee: Intel Corp
•
Filing: 1990-02-14
•
Granted: 1993-06-22
•
Expires: 2010-02-14
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention describes an integer execution unit register file having one fewer write port by employing delayed writeback for data transfer instructions in a high speed processor. The integer execution unit comprises a register file with 32 separate registers, each 32-bits long. The register file is a write through register file. A four-stage instruction pipeline is employed to execute all integer instructions. The four stages are (1) Fetch, (2) Decode, (3) Execute, and (4) Writeback. For data transfer type of instructions such as, a load instruction, one extra instruction stage is usually required. The prior art processors add one extra write port to accommodate such data transfer type of instructions. The present invention delays the writing of the data transfer type instruction until the writeback stage of the next data transfer instruction. The result of the data transfer type instruction returns at the end of the writeback stage. The result is held in a temporary register. All references to the result of such a data type transfer instruction will be bypassed from the temporary register to the proper execution block. The data from the temporary register is written back into the register file only at the writeback stage of the next data transfer type instruction. Thus, the present invention resolves the conflict of resources for the write port and at the same time saves one port to the register file. The present invention not only reduces the amount of silicon area required for high speed processors, it also reduces the layout complexity. It follows that the present invention improves the overall speed of the processor.

Inventors

  • 👤 Piyush G. Patel

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 10:16
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3824; G06F9/3826; G06F9/30098; G06F9/30141; G06F9/3854; G06F9/3858; G06F9/3867

Claims Analysis

Total Claims: 8
Claim 1
Independent Claim 200 words
In a processor having a plurality of memory cells, an integer execution unit, and a bus control unit for processing instructions, including data transfer instructions, in a parallel instruction pipeline, said pipeline including Fetch, Decode, Execute, and Writeback stages, the integer execution unit comprising: a register file comprising at least one write port for writing data and at least one read port for reading data, said register file further having a plurality of registers; a bypass control unit, connected to said read and write ports, for delaying writing of a result of a data transfer instruction into the register file through said write port until the writeback stage of a next data transfer instruction; a shifter, connected to said control bypass unit, for performing logical and arithmetic shift operations; an arithmetic logic unit ("ALU"), connected to said shifter, for calculating effective addresses for said instructions; an internal bus over which data is communicated; an instruction pointer unit, connected to the internal bus, for pointing to the effective address of a next instruction; an instruction control logic unit, connected to said control bypass unit over said internal bus, for storing the next instruction to be executed by said integer execution unit.
Claim 2
Dependent Claim 200 words
In a processor having a plurality of memory cells, an integer execution unit, and a bus control unit for processing instructions, including data transfer instructions, in a parallel instruction pipeline, said pipeline including Fetch, Decode, Execute, and Writeback stages, the integer execution unit comprising: a register file comprising at least one write port for writing data and at least one read port for reading data, said register file further having a plurality of registers; a bypass control unit, connected to said read and write ports, for delaying writing of a result of a data transfer instruction into the register file through said write port until the writeback stage of a next data transfer instruction; a shifter, connected to said control bypass unit, for performing logical and arithmetic shift operations; an arithmetic logic unit ("ALU"), connected to said shifter, for calculating effective addresses for said instructions; an internal bus over which data is communicated; an instruction pointer unit, connected to the internal bus, for pointing to the effective address of a next instruction; an instruction control logic unit, connected to said control bypass unit over said internal bus, for storing the next instruction to be executed by said integer execution unit.
Claim 3
Dependent Claim 24 words
The integer execution unit defined by claim 1, said register file having a plurality of registers, said register file comprising at least 32 registers.
Claim 4
Dependent Claim 28 words
The integer execution unit defined by claim 2, said register file having at least two read ports and one fewer write port than the number of read ports.
Claim 5
Dependent Claim 48 words
The integer execution unit defined by claim 1, said bypass control unit further comprising a plurality of multiplexers coupled to a plurality of latches for holding data, a temporary input register connected to a first one of said multiplexers, and an output register connected to said first multiplexer.
Claim 6
Dependent Claim 35 words
The bypass control unit as defined by claim 4 being coupled to the said ALU and further to said register file for delaying said writeback stage without an extra write port of said register file.
Claim 7
Dependent Claim 77 words
The integer execution unit defined by claim 4, wherein said bypass control unit further comprises means for producing a first signal if a destination address of the result of said data transfer instruction is referenced as a source operand address of a next arithmetic/logic instruction, storing the result in said temporary input register in response to said first signal, and providing the result from said temporary input register to said ALU in response to said first signal.
Claim 8
Dependent Claim 78 words
The integer execution unit defined by claim 4, wherein said bypass control unit further comprises means for producing a second signal if a destination address of the result of said data transfer instruction is referenced as a source operand address of a next store instruction, storing the result in said temporary input register in response to said second signal, and providing the result from said temporary input register to said output register in response to said second signal.

References Cited (Backward Citations)

US4734852A Cited
US5148529A Cited
US4926323A Cited
US5123097A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-06-21 1996-12-21 1997-06-22 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-06-21 2000-12-21 2001-06-22 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-06-21 2004-12-21 2005-06-22 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag