Method of storing data, method of loading data and signal processor
First Claim
1. A method for storing a vector of process data elements that have a size of n bits from a register file into a memory, the memory arranged for storage of a vector of storage data elements in locations having a size of m bits, wherein m>
- n, the method comprising;
exchanging bits between process data elements in the vector stored in mutually subsequent register elements, the exchange producing a vector of modified data elements, whereby the size of at least one modified data element is different from the size of another modified data element;
shuffling groups of k subsequent bits in the produced vector whereby for at least one group of k subsequent bits, k has a value which is different from n and m; and
storing the shuffled vector of modified data elements as a vector of storage data elements in the memory.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for storing a vector of process data elements (D1, . . . , D8) that have a size of n bits from a register file (RF) into a memory (M) is described. The memory is arranged for storage of a vector of storage data elements in locations (M1, . . . , M5) having a size of m bits, wherein m>n. The method comprises the steps of: exchanging bits (S2) between process data elements in the vector stored in mutually subsequent register elements, the exchanging resulting in a vector of modified data elements (DmI, . . . , Dm8), shuffling (S3) groups of k subsequent bits in the resulting vector, —storing (S4) the resulting shuffled vector of modified data elements as a vector of storage data elements in the memory (M).
12 Citations
6 Claims
-
1. A method for storing a vector of process data elements that have a size of n bits from a register file into a memory, the memory arranged for storage of a vector of storage data elements in locations having a size of m bits, wherein m>
- n, the method comprising;
exchanging bits between process data elements in the vector stored in mutually subsequent register elements, the exchange producing a vector of modified data elements, whereby the size of at least one modified data element is different from the size of another modified data element; shuffling groups of k subsequent bits in the produced vector whereby for at least one group of k subsequent bits, k has a value which is different from n and m; and storing the shuffled vector of modified data elements as a vector of storage data elements in the memory.
- n, the method comprising;
-
2. A method for loading a vector of storage data elements that are stored in memory locations that have a size of m bits of a memory as a vector of process data elements that have a size of n bits into a register file, wherein m>
- n, the method comprising;
retrieving a vector of storage data elements from the memory; shuffling two or more groups of k subsequent bits such that the k subsequent bits are exchanged in their entirety whereby for at least one group of k subsequent bits, k has a value which is different from n and m to produce a shuffled vector, the shuffled vector comprising a plurality of data elements wherein the size of at least one data element is different from the size of another data element; and exchanging bits between pairs of data elements in the shuffled vector stored in subsequent register elements, the exchanging producing a vector of modified data elements.
- n, the method comprising;
-
3. A digital signal processor, comprising:
-
one or more processing units; a register file comprising a first plurality of register elements configured to store at least a vector of process data elements that have a size of n bits; a memory configured to store at least one vector in a plurality of memory locations having a size of m bits, wherein m>
n;a shuffle facility configured to shuffle data elements having a size of k bits of a vector whereby for at least one data element k has a value which is different from n and m; and an exchange facility configured to read a vector from the register file, exchange fewer than all bits between mutually subsequent data elements of the vector, and store the vector to the register file. - View Dependent Claims (4, 5, 6)
-
Specification