Flexible Microprocessor Register File
First Claim
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 but segments to a respective one of said n2 data lanes;
whereby a desired data transposition is provided at the time of register access without register-to-register transfers.
3 Assignments
0 Petitions
Accused Products
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.
9 Citations
10 Claims
-
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 but segments to a respective one of said n2 data lanes;
whereby a desired data transposition is provided at the time of register access without register-to-register transfers. - View Dependent Claims (2, 3, 4)
- storing data in n memory segments, each having n data lanes at the output thereof; and
-
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. - View Dependent Claims (6, 7, 8)
-
-
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. (canceled)
Specification