发明名称 Dynamic allocation of registers to procedures in a digital computer
摘要 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.
申请公布号 US5564031(A) 申请公布日期 1996.10.08
申请号 US19960629041 申请日期 1996.04.12
申请人 HEWLETT-PACKARD COMPANY;HITACHI, LTD. 发明人 AMERSON, FREDERIC C.;ENGLISH, ROBERT M.;GUPTA, RAJIV;WATANABE, TAN
分类号 G06F9/42;G06F7/72;G06F9/30;G06F9/46;G06F9/48;(IPC1-7):G06F12/06 主分类号 G06F9/42
代理机构 代理人
主权项
地址