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

General-purpose register file optimized for intraprocedural register allocation, procedure calls, and multitasking performance

Assignee: GlobalFoundries Inc
•
Filing: 1985-08-30
•
Granted: 1988-10-11
•
Expires: 2005-08-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A high speed register file for use by an instruction processor suitable for reduced instruction-set computers (RISCs) is disclosed which is preferably used with an efficient register allocation method. The register file facilitates the passing of parameters between procedures by dynamically providing overlapping registers which are accessible to both procedures. Each procedure also has a set of "local" registers assigned to it which are inaccessible from other procedures. The register file is divided into a number of blocks and a protection register stores a word which proscribes access by a particular procedure or task to certain blocks. In this manner, an instruction processor using the register file can operate on multiple tasks maintaining the integrity of each from undesired changes occuring in the others.

Inventors

  • 👤 Brian W. Case
  • 👤 Rod G. Fleck
  • 👤 William M. Johnson
  • 👤 Cheng-Gang Kong
  • 👤 Ole Moller

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 02:32
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/468; G06F12/00; G06F12/14; G06F12/1458; G06F9/44; G06F9/448; G06F9/4482; G06F9/4484; G06F9/461; G06F9/462

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 134 words
A reduced instruction set digital processor control providing dynamic execution-time storage allocation which cyclically executes instructions each including a plurality of operand portions, comprising; stack means for execution-time generation of storage allocation signals; means responsive to said storage allocation signals and to said plurality of instruction operand portions for generating a plurality of signals each indicative of a location of one of said operand portions; and file means having a plurality of registers each having a location designator, responsive to said plurality of operand location signals for reading the contents of one of said registers having a location designator specified by a predetermined one of said operand location signals and for writing the contents of one of said register having a second location designator specified by a predetermined one of said operand location signals.
Claim 2
Dependent Claim 134 words
A reduced instruction set digital processor control providing dynamic execution-time storage allocation which cyclically executes instructions each including a plurality of operand portions, comprising; stack means for execution-time generation of storage allocation signals; means responsive to said storage allocation signals and to said plurality of instruction operand portions for generating a plurality of signals each indicative of a location of one of said operand portions; and file means having a plurality of registers each having a location designator, responsive to said plurality of operand location signals for reading the contents of one of said registers having a location designator specified by a predetermined one of said operand location signals and for writing the contents of one of said register having a second location designator specified by a predetermined one of said operand location signals.
Claim 3
Dependent Claim 140 words
A digital processor control according to claim 1 wherein said plurality of register within said file means includes a first set having contiguous location designators and a second set having contiguous location designators, said first and second set of designators bearing a predetermined numerical relationship with one another, said operand location signal generating means comprises; a plurality of logic circuit means each responsive to said storage allocation signal and to a predetermined portion of a predetermined one of said instruction operand portions for generating a relative location signal; a plurality of summing means each receiving at a first input signals representative of a predetermined one of said instruction operand portions and receiving at a second input said relative location signal generated by a predetermined one of said logic circuit means for generating a predetermined one of said operand location signals.
Claim 4
Dependent Claim 49 words
A digital processor control according to claim 1 further providing access protection of user-selectable ones of said register within said file means, further including means responsive to said plurality of operand location signals and to signals indicative of said user-selected register access protection for generating a protection violation signal.
Claim 5
Dependent Claim 49 words
A digital processor control according to claim 2 further providing access protection of user-selectable ones of said register within said file means, further including means responsive to said plurality of operand location signals and to signals indicative of said user-selected register access protection for generating a protection violation signal.
Claim 6
Dependent Claim 68 words
A digital processor control according to claim 3 wherein said registers within said file means are divided into a predetermined number of blocks, each block containing a predetermined number of registers having contiguous location designators; and wherein said protection violation signal generation means includes means for storing a plural-bit value indicative of said user-selected access protection, each bit position thereof corresponding to a predetermined one of said blocks.
Claim 7
Dependent Claim 68 words
A digital processor control according to claim 4 wherein said registers within said file means are divided into a predetermined number of blocks, each block containing a predetermined number of registers having contiguous location designators; and wherein said protective violation signal generation means includes means for storing a plural-bit value indicative of said user-selected access protection, each bit position thereof corresponding to a predetermined one of said blocks.
Claim 8
Dependent Claim 23 words
A digital processor control according to claim 1 wherein a predetermined one of said registers within said file means is an indirect pointer.
Claim 9
Dependent Claim 26 words
A digital processor control according to claim 1 wherein said plurality of operand portions comprises a first and second read operand and a first write operand.
Claim 10
Independent Claim 145 words
A method of dynamic execution-time storage allocation by a reduced instruction set digital processor control which cyclically executes instructions each including a plurality of operand portions, predetermined sequences of said instructions forming a procedure, said control having a file of registers each having a location designator, said control having a stack pointer for said storage allocation, said method comprising the steps of: (a) setting said stack pointer upon entry to a procedure; (b) for each of said operand portions of said instructions within said procedure calculating an effective operand register designation relative to said stack pointer; and (c) resetting said stack pointer upon entry to a procedure called by said procedure entered at step (a) so as to provide a user-selectable communication overlap between the storage allocated for the procedure entered in step (a) and the storage allocated for said procedure called by said procedure.
Claim 11
Independent Claim 145 words
A method of dynamic execution-time storage allocation by a reduced instruction set digital processor control which cyclically executes instructions each including a plurality of operand portions, predetermined sequences of said instructions forming a procedure, said control having a file of registers each having a location designator, said control having a stack pointer for said storage allocation, said method comprising the steps of: (a) setting said stack pointer upon entry to a procedure; (b) for each of said operand portions of said instructions within said procedure calculating an effective operand register designation relative to said stack pointer; and (c) resetting said stack pointer upon entry to a procedure called by said procedure entered at step (a) so as to provide a user-selectable communication overlap between the storage allocated for the procedure entered in step (a) and the storage allocated for said procedure called by said procedure.
Claim 12
Dependent Claim 77 words
An execution-time storage allocation method according to claim 9 wherein said file of registers is divided into a predetermined number of blocks, each block containing a predetermined number of registers having contiguous location designators further including the user-selectable register access protection steps of: (d) designating ones of said blocks as proscribed-access blocks; (e) aborting execution of an instruction having an operand portion with an effective address as calculated at step (b) within one of said proscribed-access blocks.
Claim 13
Dependent Claim 42 words
An execution-time storage allocation method according to claim 10 wherein said digital processor control is capable of performing multiple tasks, further including the step of: (f) for each task of said multiple tasks designating mutually-exclusive ones of said blocks as proscribed-access blocks.
Claim 14
Dependent Claim 74 words
An execution-time storage allocation method according to claim 9 wherein said file of registers has a first set of contiguous location designators and a second set of contiguous location designators, said first and second set of designators bearing a predetermined numerical relationship with one another, and wherein said calculation of an effective designator called for in step (b) is for a designator within said second set calculated by reference to said predetermined numerical relationship.

References Cited (Backward Citations)

US3461433A Cited
US4037214A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1991-10-11 1992-04-11 1992-10-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1995-10-11 1996-04-11 1996-10-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1999-10-11 2000-04-11 2000-10-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag