Patent ID: 7949853

Claim:
A processor, comprising M independent vector register files, said M vector register files collectively storing a matrix of L data elements, each data element having B binary bits, said matrix having N rows and M columns, said L=N*M, each column having K subcolumns, said N≧2, said M≧2, said K≧2, said N=K*M, said B≧1, each row of said N rows being addressable, each subcolumn of said K subcolumns being addressable, wherein each of the M vector register files includes an array of N registers, wherein each of the N*M registers of the M vector register files is storing a data element of the L data elements, wherein the data elements of each subcolumn are stored in different vector register files, wherein the data elements of each row are stored in different vector register files, wherein the processor further comprises M address registers, wherein each address register of the M address registers is associated with a corresponding one of the M vector register files, wherein each vector register file is independently addressable through its associated address register pointing to one of the N registers of said vector register file, wherein the processor further comprises M multiplexors respectively coupled to the M vector register files, wherein each multiplexor of the M multiplexors comprises a set of binary switches subject to each binary switch being on or off and respectively represented by a binary bit 1 or 0 such that the value of the multiplexor consists of the composite value of said binary bits, wherein the M multiplexors are adapted to respond to a command to read a row of the matrix by mapping the data elements of the row from the M vector register files to the row of the matrix in accordance with a read-row mapping algorithm, and wherein the M multiplexors are adapted to respond to a command to read a subcolumn of the matrix by reading the data elements of the subcolumn from the M vector register files to the subcolumn of the matrix in accordance with a read-subcolumn mapping algorithm.