US10572252B2ActiveUtilityA1

Variable-length instruction buffer management

86
Assignee: LINEAR ALGEBRA TECH LIMITEDPriority: Aug 8, 2013Filed: Dec 16, 2016Granted: Feb 25, 2020
Est. expiryAug 8, 2033(~7.1 yrs left)· nominal 20-yr term from priority
G06F 9/30032G06F 9/3822G06F 9/30149G06F 15/8053G06F 9/3001G06F 1/32G06F 9/3816G06F 9/30072G06F 1/3287G06F 1/3203G06F 9/3804G06F 1/3243G06F 9/3004G06F 9/30G06F 9/30058G06F 9/30036G06F 9/323Y02D10/00
86
PatentIndex Score
4
Cited by
164
References
25
Claims

Abstract

A vector processor is disclosed including a variety of variable-length instructions. Computer-implemented methods are disclosed for efficiently carrying out a variety of operations in a time-conscious, memory-efficient, and power-efficient manner. Methods for more efficiently managing a buffer by controlling the threshold based on the length of delay line instructions are disclosed. Methods for disposing multi-type and multi-size operations in hardware are disclosed. Methods for condensing look-up tables are disclosed. Methods for in-line alteration of variables are disclosed.

Claims

exact text as granted — not AI-modified
The invention claimed is: 
     
       1. A method for processing data with a hardware logic circuit, the method comprising:
 accessing, with a processor associated with the hardware logic circuit, a first variable-length instruction representing a first operation, the first variable-length instruction referencing one or more first operands of an integer data type, the first variable-length instruction having a first opcode value to represent the first operation, a data type field of the first variable-length instruction having a first value to indicate the one or more first operands are of the integer data type; 
 performing the first operation on the one or more first operands of the integer data type with the hardware logic circuit; 
 accessing, with the processor, a second variable-length instruction representing the first operation, the second variable-length instruction referencing one or more second operands of a floating point data type, the second variable-length instruction having the same first opcode value as the first variable-length instruction to represent the first operation, a data type field of the second variable-length instruction having a second value, different from the first value, to indicate the one or more second operands are of the floating point data type; and 
 performing the first operation on the one or more second operands of the floating point data type with the hardware logic circuit. 
 
     
     
       2. The method of  claim 1 , wherein the hardware logic circuit is to perform the first operation on operands of two or more different sizes. 
     
     
       3. The method of  claim 1 , wherein the hardware logic circuit is to perform the first operation on at least one of (1) the one or more first operands of the integer data type, (2) the one of more second operands of the floating point data type, (3) one of more third operands of a fixed point data type, or (4) one or more fourth operands of a scaled integer data type. 
     
     
       4. The method of  claim 1 , wherein a data size field of the first variable-length instruction has a third value to designate a first size of the one or more first operands, and a data size field of the second variable-length instruction has a fourth value to designate a second size of the one or more second operands. 
     
     
       5. The method of  claim 4 , wherein the second size of the one or more second operands is different from the first size of the one or more first operands. 
     
     
       6. The method of  claim 1 , further including re-formatting a result of the performing of the first operation on the one or more first operands to be a different data type than the integer data type. 
     
     
       7. The method of  claim 1 , further including re-formatting a result of the performing of the second operation on the one or more second operands to be a different data type than the floating point data type. 
     
     
       8. An apparatus comprising:
 memory to store variable-length instructions; and 
 a vector processor including a hardware logic circuit, the vector processor to:
 access a first variable-length instruction having a first opcode value to represent a first operation, the first variable-length instruction referencing one or more first operands of an integer data type, a data type field of the first variable-length instruction having a first value to indicate the one or more first operands are of the integer data type; 
 perform the first operation on the one or more first operands of the integer data type with the hardware logic circuit; 
 access a second variable-length instruction having the same first opcode value to represent the first operation, the second variable-length instruction referencing one or more second operands of a floating point data type, a data type field of the second variable-length instruction having a second value, different from the first value, to indicate the one or more second operands are of the floating point data type; and 
 perform the first operation on the one or more second operands of the floating point data type with the hardware logic circuit. 
 
 
     
     
       9. The apparatus of  claim 8 , wherein the hardware logic circuit is to perform the first operation on operands of two or more different sizes. 
     
     
       10. The apparatus of  claim 8 , wherein the hardware logic circuit is to perform the first operation on at least one of (1) the one or more first operands of the integer data type, (2) the one of more second operands of the floating point data type, (3) one of more third operands of a fixed point data type, or (4) one or more fourth operands of a scaled integer data type. 
     
     
       11. The apparatus of  claim 8 , wherein a data size field of the first variable-length instruction has a third value to designate a first size of the one or more first operands, and a data size field of the second variable-length instruction has a fourth value to designate a second size of the one or more second operands. 
     
     
       12. The apparatus of  claim 11 , wherein the second size of the one or more second operands is different from the first size of the one or more first operands. 
     
     
       13. The apparatus of  claim 8 , wherein the hardware logic circuit is to:
 re-format a result of the first operation on the one or more first operands to be a different data type than the integer point data type; and 
 re-format a result of the first operation on the one or more second operands to be a different data type than the floating point data type. 
 
     
     
       14. Computer readable memory comprising computer readable instructions that, when executed by a processor, cause the processor to at least:
 access a first variable-length instruction having a first opcode value to represent a first operation, the first variable-length instruction referencing one or more first operands of an integer data type, a data type field of the first variable-length instruction having a first value to indicate the one or more first operands are of the integer data type; 
 perform the first operation on the one or more first operands of the integer data type with hardware logic; 
 access a second variable-length instruction having the same first opcode value to represent the first operation, the second variable-length instruction referencing one or more second operands of a floating point data type, a data type field of the second variable-length instruction having a second value, different from the first value, to indicate the one or more second operands are of the floating point data type; and 
 perform the first operation on the one or more second operands of the floating point data type with the same hardware logic. 
 
     
     
       15. The computer readable memory of  claim 14 , wherein the first and second operands have two or more different sizes. 
     
     
       16. The computer readable memory of  claim 14 , wherein the hardware logic is to perform the first operation on at least one of (1) the one or more first operands of the integer data type, (2) the one of more second operands of the floating point data type, (3) one of more third operands of a fixed point data type, or (4) one or more fourth operands of a scaled integer data type. 
     
     
       17. The computer readable memory of  claim 14 , wherein a data size field of the first variable-length instruction has a third value to designate a first size of the one or more first operands, and a data size field of the second variable-length instruction has a fourth value to designate a second size of the one or more second operands. 
     
     
       18. The computer readable memory of  claim 17 , wherein the second size of the one or more second operands is different from the first size of the one or more first operands. 
     
     
       19. The computer readable memory of  claim 14 , wherein the hardware logic is to:
 re-format a result of the first operation on the one or more first operands to be a different data type than the integer point data type; and 
 re-format a result of the first operation on the one or more second operands to be a different data type than the floating point data type. 
 
     
     
       20. A computing system comprising:
 memory to store variable-length instructions; 
 means for accessing a first variable-length instruction having a first opcode value to represent a first operation and for accessing a second variable-length instruction having the same first opcode value to represent the first operation, the first variable-length instruction referencing one or more first operands of an integer data type, the second variable-length instruction referencing one or more second operands of a floating point data type, a data type field of the first variable-length instruction having a first value to indicate the one or more first operands are of the integer data type, a data type field of the second variable-length instruction having a second value, different from the first value, to indicate the one or more second operands are of the floating point data type; and 
 means for performing (i) the first operation on the one or more first operands of the integer data type and (ii) the first operation on the one or more second operands of the floating point data type. 
 
     
     
       21. The computing system of  claim 20 , wherein the means for performing is to perform the first operation on operands of two or more different sizes. 
     
     
       22. The computing system of  claim 20 , wherein the means for performing is to perform the first operation on at least one of (1) the one or more first operands data of the integer type, (2) the one of more second operands of the floating point data type, (3) one of more third operands of a fixed point data type, or (4) one or more fourth operands of a scaled integer data type. 
     
     
       23. The computing system of  claim 20 , wherein a data size field of the first variable-length instruction has a third value to designate a first size of the one or more first operands, and a data size field of the second variable-length instruction has a fourth value to designate a second size of the one or more second operands. 
     
     
       24. The computing system of  claim 23 , wherein the second size of the one or more second operands is different from the first size of the one or more first operands. 
     
     
       25. The computing system of  claim 20 , wherein the means for performing is to:
 re-format a result of the first operation on the one or more first operands to be a different data type than the integer point data type; and 
 re-format a result of the first operation on the one or more second operands to be a different data type than the floating point data type.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.