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

High performance register file with overlapping windows

Assignee: Fujitsu Ltd
•
Filing: 1990-11-21
•
Granted: 1993-07-06
•
Expires: 2010-11-21
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A register file within a central processing unit which processes operations on operands stored in the register file is disclosed. The register file includes a plurality of memory locations and each of the memory locations provides the physical storage for one or more registers. Each memory location stores one of the operands. The register file also includes a plurality of windows and each of the windows provides a unique mapping of the same set of registers to an equal number of memory location and each window includes the same quantity of one or more registers. A pointer points to one of the windows of the register file for indicating which window is currently active. Each of the memory locations is coupled to at least one multiplexer. The active memory locations of the active window, currently assigned to provide storage for the registers, simultaneously output to the at least one multiplexer the operands stored in the registers. Each of the at least one multiplexers obtains one of the operands of the active window and outputs the operand to the central processing unit for processing.

Inventors

  • 👤 Anantakotiraju Vegesna
  • 👤 Steve Studulski
  • 👤 Peter Jewett
  • 👤 Sang Yoo

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 19:58
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/30098; G06F9/3012; G06F9/30123; G06F9/30127; G06F9/46; G06F9/461; G06F9/462; G11; G11C; G11C8/00; G11C8/16

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 178 words
An apparatus for fast access to binary data representing operands, said apparatus comprising: an array means for storing a plurality of operands, said array means comprising a plurality of memory locations, each of said plurality of memory locations for storing an operand, said plurality of memory locations being organized into a plurality of windows, each of said plurality of windows having a combination of said plurality of memory locations assigned to it; a window pointer means, coupled to said array means, for identifying which one of said plurality of windows is currently active, and for accessing said combination of said plurality of memory locations of said currently active window; at least one operand multiplexer means, coupled to said array means, for selecting and outputting at least one operand stored in said accessed combination of said plurality of memory locations of said currently active window; and all of the operands stored in said accessed combination of said plurality of memory locations of said currently active window are simultaneously available for selection by said at least one operand multiplexer means.
Claim 2
Independent Claim 178 words
An apparatus for fast access to binary data representing operands, said apparatus comprising: an array means for storing a plurality of operands, said array means comprising a plurality of memory locations, each of said plurality of memory locations for storing an operand, said plurality of memory locations being organized into a plurality of windows, each of said plurality of windows having a combination of said plurality of memory locations assigned to it; a window pointer means, coupled to said array means, for identifying which one of said plurality of windows is currently active, and for accessing said combination of said plurality of memory locations of said currently active window; at least one operand multiplexer means, coupled to said array means, for selecting and outputting at least one operand stored in said accessed combination of said plurality of memory locations of said currently active window; and all of the operands stored in said accessed combination of said plurality of memory locations of said currently active window are simultaneously available for selection by said at least one operand multiplexer means.
Claim 3
Dependent Claim 35 words
The apparatus of claim 1, further comprising a read register decode means, coupled to said operand multiplexer means, for identifying said at least one operand selected and outputted by said at least one multiplexer means.
Claim 4
Dependent Claim 59 words
The apparatus of claim 2, further comprising at least one result driver means, coupled to said array means, for selecting at least one of said accessed combination of said plurality of memory locations of said currently active window, and for outputting at least one new operand to be stored in said selected at least one of said accessed combination.
Claim 5
Dependent Claim 53 words
The apparatus of claim 3, further comprising a write register decode means, coupled to said result driver means, for identifying said at least one of said accessed combination of said plurality of memory locations of said currently active window selected by said result driver means to receive the at least one new operand.
Claim 6
Dependent Claim 52 words
The apparatus of claim 4, wherein said window pointer means further comprises a read decode means, coupled to said array means, for forcing said combination of said plurality of memory locations of said currently active window to output all of the operands stored therein to said at least one operand multiplexer means.
Claim 7
Dependent Claim 60 words
The apparatus of claim 5, wherein said window pointer means further comprises a write decode means, coupled to said array means, for forcing said at least one of said combination of said plurality of memory locations of said currently active window selected by sad result driver means, to store the at least one operand outputted by said result driver means.
Claim 8
Dependent Claim 66 words
The apparatus of claim 1 or claim 6, wherein said array means further comprises: a global section, comprising at least one of said plurality of memory locations for storing global operands; a local section, comprising at least one of said plurality of memory locations for storing local operands; and a shared section, comprising at least one of said plurality of memory locations for storing shared operands.
Claim 9
Dependent Claim 64 words
The apparatus of claim 7, wherein said at least one global memory location is assigned to each of said plurality of windows, and wherein each of said at least one local memory locations is assigned to a different one of said plurality of windows, and wherein each of said at least one shared memory locations is assigned to two of said plurality of windows.
Claim 10
Dependent Claim 97 words
The apparatus of claim 8, wherein said global section is comprised of at least one global row having at least one of said global memory locations, said local section is comprised of a number of local rows reach having at least one of said local memory locations, said number of local rows equal to the number of said plurality of windows, and said shared section is comprised of a number of shared rows each having at least one of said shared memory locations, said number of shared rows equal to the number of said plurality of windows.
Claim 11
Dependent Claim 67 words
The apparatus of claim 9, wherein said at least one row of said at least one global memory locations is assigned to each one of said plurality of windows, each one of said number of local rows is assigned to a different one of said plurality of windows, and each pair of numerically adjacent shared rows is assigned to a different one of said plurality of windows.
Claim 12
Dependent Claim 15 words
The apparatus of claim 10, wherein only one of said eight windows is currently active.
Claim 13
Dependent Claim 41 words
The apparatus of claim 11, wherein each of said plurality of memory locations comprises a plurality of memory cells, each of said plurality of memory cells for storing one binary bit of the operand stored in each of said memory locations.
Claim 14
Dependent Claim 66 words
The apparatus of claim 12, wherein the number of memory cells comprising each of said plurality of memory locations is the same, and the number of said at least one local memory locations comprising each of said local rows of said local section is equal to the number of said at least one shared memory locations comprising each of said shared rows of said shared section.

References Cited (Backward Citations)

US4569016A Cited
US5109524A Cited
US4734852A Cited
US4777588A Cited
US5019968A Cited
US5083263A Cited
US5109514A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag