Flexible Microprocessor Register File
Abstract
Architectures and methods for viewing data in multiple formats within a register file. Various disclosed embodiments allow a plurality of consecutive registers within one register file to appear to be temporarily transposed by one instruction, such that each transposed register contains one byte or word from multiple consecutive registers. A program can arbitrarily reorganize the bytes within a register by swapping the value stored in any byte within the register with the value stored in any other byte within the same register. Indirect register access is also provided, without additional scoreboarding hardware, as an apparent move from one register to another. The functionality of a hardware data FIFO at the I/O is also provided, without the power consumption of register-to-register transfers. However, the size of the FIFO can be changed under program control.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method of selectably transposing data accessed in a register, comprising the actions of:
storing data in n memory segments, each having n data lanes at the output thereof; and selectably connecting each of n data bus segments to a respective one of said n 2 data lanes; whereby a desired data transposition is provided at the time of register access without register-to-register transfers.
2 . The method of claim 1 , wherein each said data lane carries 8 bits of data.
3 . The method of claim 1 , wherein said selectably connecting step is performed by activating only n of a total of n 2 multiplexers.
4 . The method of claim 1 , wherein n=4.
5 . A method of viewing data within a register file, comprising the steps of:
enabling a transpose function with respect to a selected register; and modifying a view of the selected register, as seen by an external access, such that data in the selected register is replaced with data from a plurality of consecutive registers.
6 . The method of claim 5 , wherein said modifying step effectively rotates the apparent orientation of data in said selected register.
7 . The method of claim 5 , wherein said modifying step effectively applies bytewise transposition to said view.
8 . The method of claim 5 , wherein said modifying step effectively applies wordwise transposition to said view.
9 . A method of viewing data within a register file, comprising the steps of:
identifying a first source byte in a register; copying data from the first source byte into a first destination byte of the register; identifying a second source byte in the register; and copying data from the second source byte into a second destination byte of the register.
10 . An electronic system, comprising:
a logic unit; and at least one I/O register, comprising
multiple memory segments each holding a respective fraction of a data set, said data set being distributed across said segments in a consistent pattern, and each said memory segment providing multiple lanes of data path; and
multiple multiplexers, each connected to connect a respective output bus segment to a respective data path of a respective one of said memory segments.Join the waitlist — get patent alerts
Track US2012042135A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.