Patent ID: 7962731

Claim:
A method of managing a register file system, the method comprising: reading concurrently first data from a first read port of a register file and second data from a second read port of the register file; saving the first data comprising complete contents of a first register of the register file to a buffer outside of the register file when a first procedure associated with the first data is inactive, wherein the buffer includes a plurality of storage locations that are not addressable by processor instructions and that enable temporary on-chip storage of the first data while the first procedure remains inactive; saving the second data comprising complete contents of a second register of the register file to the buffer, wherein the first data from the first read port and the second data from the second read port are saved into a single storage location of the buffer during a single write cycle; initiating a transfer of the first data from the buffer to a second storage device when an amount of data stored at the buffer approaches a storage capacity of the buffer; receiving a request to allocate a specified number of registers of the register file to a second procedure; and determining whether the register file includes sufficient unallocated registers to accommodate the request, wherein the first data is saved to the buffer when the register file does not include sufficient unallocated registers to accommodate the request; wherein the first procedure is further associated with third data that is stored at a third register of the register file and the third data is not saved to the buffer when the register file does not include sufficient unallocated registers to accommodate the request; and wherein the buffer includes an array of storage elements, each of the storage elements having a bit width that is an integral multiple of a bit width of the register file.