Patent · US Expired

Dynamic allocation of registers to procedures in a digital computer

US5564031A · kind A · utility

48Cited by
15References
9Claims
0Family size

Assignees

Inventors

Key dates

Filing dateApr 12, 1996
Grant dateOct 8, 1996
Priority date
Expiry dateApr 12, 2016

Classification

  • Technology area (CPC G)Physics
  • CPC primaryG06F9/30134
  • WIPO fieldComputer technology
  • WIPO sectorElectrical engineering

Abstract

In a digital computer, a circular queue of registers in a register file are allocated as temporary local storage for procedures rather than using the known caller/callee save convention in order to minimize main memory references. A called procedure dynamically allocates local registers as needed without regard to registers used by the caller of the procedure or by any callee of the procedure, whereby register allocation is not restricted by any predetermined window size. Local registers, including parameter passing registers, are allocated in the called procedure, rather than a priori at compile time, by adjusting register stack pointer values. Only the number of registers actually required by the procedure need by allocated. Optionally, rotating registers may be allocated among the local registers. Stack pointer values are stored in one of the parameter passing registers when a procedure is called. Hardware register file access circuitry maps virtual register numbers used by the procedures into the hardware register file. Upon return from a procedure, registers are deallocated by adjusting the register stack pointers to the values stored when the procedure was called.

Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.