IP Library Granted Patent US 10,572,263
Granted Patent B2
US 10,572,263 · App. 15/086,947 · Granted Feb 25, 2020

Executing a composite VLIW instruction having a scalar atom that indicates an iteration of execution

Inventors: Bruce M. Fleischer (Bedford Hills, NY); Thomas Winters Fox (Hopewell Junction, NY); Arpith C. Jacob (Dobbs Ferry, NY); Hans Mikael Jacobson (White Plains, NY); Ravi Nair (Briarcliff Manor, NY); Kevin John Patrick O'Brien (Yorktown Heights, NY); Daniel Arthur Prener (Croton-on-Hudson, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/3853G06F9/30065G06F9/3836
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,572,263
App. No.
15/086,947
Granted
Feb 25, 2020
Kind
B2
Abstract

A processor core includes a storage device which stores a composite very large instruction word (VLIW) instruction, an instruction unit which obtains the composite VLIW instruction from the storage device and decodes the composite VLIW instruction to determine an operation to perform, and a composite VLIW instruction execution unit which executes the decoded composite VLIW instruction to perform the operation.

Claims (42)

1. A processor core comprising:

a storage device which stores a composite very large instruction word (VLIW) instruction including a scalar atom;

an instruction unit which obtains the composite VLIW instruction from the storage device and decodes the composite VLIW instruction to determine an operation to perform; and

a composite VLIW instruction execution unit which executes the composite VLIW instruction to perform the operation, the composite VLIW instruction execution unit including a default setting which sets an iteration at which the scalar atom of the composite VLIW instruction is to be executed,

wherein the scalar atom indicates an iteration at which the scalar atom is to be executed instead of the iteration set by the default setting.

2. The processor core of claim 1 , wherein the composite VLIW instruction further comprises a vector atom and a control atom.

3. The processor core of claim 1 , wherein the composite VLIW instruction execution unit comprises a detector circuit which determines whether a REPEAT (REP) field in the composite VLIW instruction is REP=1 or REP>1, and

wherein if the detector circuit determines that the REPEAT field in the composite VLIW instruction is REP=1, then the composite VLIW instruction execution unit executes each atom in the composite VLIW instruction at a single iteration.

4. The processor core of claim 3 , wherein the composite VLIW instruction execution unit further comprises a composite VLIW instruction execution subunit, and if the detector circuit determines that the REPEAT field in the composite VLIW instruction is REP>1, then the composite VLIW instruction execution subunit executes the scalar atom of the composite VLIW instruction at a single iteration.

5. The processor core of claim 4 , wherein if the detector circuit determines that the REPEAT field in the composite VLIW instruction is REP>1, then the composite VLIW instruction execution subunit executes vector atoms of the composite VLIW instruction during all REP iterations.

6. The processor core of claim 5 , wherein if the detector circuit determines that the REPEAT field in the composite VLIW instruction is REP>1, then the composite VLIW instruction execution subunit executes branch and control atoms of the composite VLIW instruction at a single iteration.

7. The processor core of claim 6 , wherein the single iteration at which the composite VLIW instruction execution subunit executes branch and control atoms of the composite VLIW instruction comprises a last iteration.

8. The processor core of claim 6 , wherein the branch and control atoms of the composite VLIW instruction comprise a field indicating the iteration at which the composite VLIW instruction execution subunit executes the branch and control atoms.

9. The processor core of claim 6 , wherein the composite VLIW instruction execution unit comprises an iteration setting circuit which, based on a user input:

adjusts a default setting of an iteration at which to execute the branch and control atoms of the composite VLIW instruction; and

adjusts the default setting of an iteration which sets an iteration at which the scalar atom of the composite VLIW instruction is to be executed.

10. The processor core of claim 4 , wherein the single iteration at which the composite VLIW instruction execution subunit executes the scalar atom of the composite VLIW instruction comprises a first iteration.

11. The processor core of claim 4 , wherein the scalar atom of the composite VLIW instruction comprises a field indicating the iteration at which the composite VLIW instruction execution subunit executes the scalar atom.

12. The processor core of claim 1 , wherein the scalar atom includes a field indicating the iteration at which the scalar atom is to be executed, and the composite VLIW instruction execution unit executes the scalar atom at the iteration indicated by the field instead of the iteration indicated by the default setting.

13. A processor comprising the processor core of claim 1 .

14. A method of executing a composite very large instruction word (VLIW) instruction, the method comprising:

storing the composite VLIW instruction including a scalar atom;

obtaining the composite VLIW instruction, and decoding the composite VLIW instruction to determine an operation to perform; and

using a composite VLIW instruction execution unit, executing the composite VLIW instruction to perform the operation, the composite VLIW instruction execution unit including a default setting which sets an iteration at which the scalar atom of the composite VLIW instruction is to be executed,

wherein the scalar atom indicates an iteration at which the scalar atom is to be executed instead of the iteration set by the default setting.

15. The method of claim 14 , further comprising:

determining whether a REPEAT (REP) field in the composite VLIW instruction is REP=1 or REP>1; and

if the REPEAT field in the composite VLIW instruction is determined to be REP=1, then executing each atom in the composite VLIW instruction at a single iteration.

16. The method of claim 15 , further comprising:

if the REPEAT field in the composite VLIW instruction is determined to be REP>1, then executing the scalar atom of the composite VLIW instruction at a single iteration.

17. The method of claim 16 , further comprising:

if the REPEAT field in the composite VLIW instruction is determined to be REP>1, then executing vector atoms of the composite VLIW instruction during all REP iterations.

18. The method of claim 17 , further comprising:

if the REPEAT field in the composite VLIW instruction is determined to be REP>1, then executing branch and control atoms of the composite VLIW instruction at a single iteration.

19. A programmable storage medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform the method of executing a composite very large instruction word (VLIW) instruction of claim 14 .

20. A method of generating a composite VLIW instruction, comprising:

inserting a scalar atom in the composite VLIW instruction to be executed at a single iteration, the scalar atom including a field indicating an iteration in which the scalar atom is to be executed;

inserting a vector atom in the composite VLIW instruction to be executed during all iterations indicated in a REPEAT field in the composite VLIW instruction; and

inserting branch and control atoms in the composite VLIW instruction to be executed at a single iteration,

wherein the scalar atom indicates an iteration at which the scalar atom is to be executed instead of an iteration set by a default setting of an execution unit.

21. The method of claim 20 , further comprising:

inserting in the branch and control atoms a field indicating an iteration in which the branch and control atoms are to be executed.

Assignments (2)
CONFIRMATORY LICENSE Recorded Oct 17, 2016
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: U.S. DEPARTMENT OF ENERGY
Reel/Frame 040376/0809 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2016
From: FLEISCHER, BRUCE M.; FOX, THOMAS WINTERS; JACOB, ARPITH C.; JACOBSON, HANS MIKAEL; NAIR, RAVI; O'BRIEN, KEVIN JOHN PATRICK; PRENER, DANIEL ARTHUR
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038171/0472 →
Continuity (1)
Related Publication 20170286108A1 · Oct 5, 2017