P
US11455169B2ActiveUtilityPatentIndex 84

Look-up table read

Assignee: TEXAS INSTRUMENTS INCPriority: May 27, 2019Filed: Sep 13, 2019Granted: Sep 27, 2022
Est. expiryMay 27, 2039(~12.9 yrs left)· nominal 20-yr term from priority
Inventors:BHORIA NAVEENSAMUDRALA DHEERA BALASUBRAMANIANBUI DUCDAVIS ALAN
G06F 9/3001G06F 9/30032G06F 2212/1016G06F 2212/1056G06F 9/30145G06F 12/0886G06F 12/0846G06F 9/30007G06F 9/3891G06F 9/3004G06F 9/30101G06F 9/3818G06F 9/30167G06F 12/0246G06F 9/30043G11C 11/409G06F 9/355G06F 12/0292G06F 3/0647G06F 16/41G06F 12/0811G06F 16/9017G06F 9/44505G06F 9/30105G06F 16/322
84
PatentIndex Score
2
Cited by
9
References
21
Claims

Abstract

A digital data processor includes an instruction memory storing instructions specifying data processing operations and a data operand field, an instruction decoder coupled to the instruction memory for recalling instructions from the instruction memory and determining the operation and the data operand, and an operational unit coupled to a data register file and an instruction decoder to perform an operation upon an operand corresponding to an instruction decoded by the instruction decoder and storing results of the operation. The operational unit is configured to perform a table recall in response to a look up table read instruction by recalling data elements from a specified location and adjacent location to the specified location, in a specified number of at least one table and storing the recalled data elements in successive slots in a destination register. Recalled data elements include at least one interpolated data element in the adjacent location.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A digital data processor comprising:
 an instruction memory configured to store instructions; 
 an instruction decoder coupled to the instruction memory configured to sequentially recall and decode the instructions from the instruction memory; 
 a memory configured to store tables; 
 an intermediate register coupled to the memory; 
 a butterfly network coupled to the intermediate register; 
 a data register file that includes a destination register; and 
 at least one operational unit coupled to the data register file and to the instruction decoder and configured to:
 perform a data processing operation based on an instruction decoded by the instruction decoder and store results of the data processing operation; and 
 perform a table recall in response to a look up table read instruction that specifies the tables, a respective location in each of the tables, and the destination register by, for each of the tables:
 recalling, from the memory, a first data element stored at the respective location and a second data element stored at an adjacent location; 
 causing the first data element and the second data element to be stored in the intermediate register in a first order; 
 causing the butterfly network to reorder the first data element and the second data element to be in a second order; 
 and 
 causing the first data element and the second data element to be stored in the second order in successive slots in the destination register such that the first data element and the second data element include an extension of a number of elements based on a scaled promotion type. 
 
 
 
     
     
       2. The digital data processor of  claim 1 , wherein:
 the data register file includes a plurality of data registers designated by register number, each data register storing data; 
 the look up table read instruction includes a destination operand field specifying a register number of one of the data registers in the data register file; and 
 the instruction decoder is configured to decode the look up table read instruction to identify the data register having the register number of the destination operand field as the destination register. 
 
     
     
       3. The digital data processor of  claim 2 , wherein:
 the look up table read instruction includes a source operand field specifying a register number of a source index register in the data register file; and 
 the instruction decoder is configured to decode the look up table read instruction to determine the respective location in each of the tables based on the source index register having the register number. 
 
     
     
       4. The digital data processor of  claim 3 , wherein:
 the look up table read instruction specifies a look up table base address register storing a table base address; and 
 the instruction decoder is configured to decode the look up table read instruction to determine the tables based on the table base address stored in the look up table base address register. 
 
     
     
       5. The digital data processor of  claim 1 , wherein the look up table read instruction specifies a look up table configuration register having a look up table data element size field that indicates a data size of the first data element and the second data element. 
     
     
       6. The digital data processor of  claim 5 , wherein the look up table configuration register includes an interpolation field specifying a number of data elements of the specified data size to be recalled in addition to the first data element at the respective location. 
     
     
       7. The digital data processor of  claim 6 , wherein the interpolation field is configured to indicate a number of data elements selected from one of no interpolation, 2 element interpolation, 4-element interpolation, and 8-element interpolation. 
     
     
       8. The digital data processor of  claim 5 , wherein the look up table configuration register includes a table size field specifying a size of each of the tables. 
     
     
       9. The digital data processor of  claim 5 , wherein the look up table configuration register includes a field specifying a number of tables of a table set. 
     
     
       10. The digital data processor of  claim 1 , further comprising:
 a level one data memory comprising: 
 a first portion including a level one data cache coupled to the at least one operational unit, wherein the first portion is configured to store data for manipulation by the at least one operational unit, wherein the level one data cache services memory reads and writes of the least one operational unit; and 
 a second portion including memory directly accessible via the at least one operational unit, wherein the tables are stored in the second portion of the level one data memory. 
 
     
     
       11. The digital data processor of  claim 1 , wherein the memory includes a set of banks and the first order is based on an arrangement of elements of the tables within the set of banks. 
     
     
       12. The digital data processor of  claim 1 , wherein each of the tables includes a respective set of columns and the first order is based on an arrangement of elements in the respective set of columns. 
     
     
       13. A method, comprising:
 storing, for each table of a set of tables stored in a memory, a respective index in a source index register of a data register file; and 
 performing, by an operational unit coupled to the memory and the data register file, a table recall in response to a look up table read instruction by, for each table of the set of tables:
 recalling, from the memory, a first data element stored at the respective index and a second data element stored at an adjacent index; 
 storing the first data element and the second data element in an intermediate register in a first order; 
 reordering the first data element and the second data element using a butterfly network to be in a second order; and 
 storing the first data element and the second data element in successive slots in a destination register of the data register file in the second order such that the first data element and the second data element, include an extension of a number of elements based on a scaled promotion type. 
 
 
     
     
       14. The method of  claim 13 , wherein:
 the data register file includes a plurality of data registers designated by register number, each data register storing data; and 
 the look up table read instruction includes a destination operand field specifying a register number of one of the data registers in the data register file. 
 
     
     
       15. The method of  claim 14 , wherein the look up table read instruction includes a source operand field specifying a register number of a source index register in the data register file, the method further comprising:
 decoding, by an instruction decoder, the look up table read instruction to determine the respective index in each of the set of tables based on the source index register. 
 
     
     
       16. The method of  claim 15 , wherein the look up table read instruction specifies a look up table base address register storing a table base address, the method further comprising:
 decoding, by the instruction decoder, the look up table read instruction to determine the set of tables based on the table base address stored in the look up table base address register. 
 
     
     
       17. The method of  claim 13 , wherein the look up table read instruction specifies a look up table configuration register having a look up table data element size field that indicates a data size of the first data element and the second data element. 
     
     
       18. The method of  claim 17 , wherein the look up table configuration register includes an interpolation field specifying a number of data elements of the specified data size to be recalled in addition to the first data element at the respective index. 
     
     
       19. The method of  claim 18 , wherein the interpolation field is configured to indicate a number of data elements selected from one of no interpolation, 2-element interpolation, 4-element interpolation, and 8-element interpolation. 
     
     
       20. The method of  claim 17 , wherein the look up table configuration register includes a table size field specifying a size of each table of the set of tables. 
     
     
       21. The method of  claim 17 , wherein the look up table configuration register includes a field specifying a number of tables of a table set.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.