IP Library Granted Patent US 10,684,856
Granted Patent B2
US 10,684,856 · App. 15/646,219 · Granted Jun 16, 2020

Converting multiple instructions into a single combined instruction with an extension opcode

Inventors: Giles R. Frazier (Austin, TX); Hung Q. Le (Austin, TX); Jose E. Moreira (Irvington, NY); Brian W. Thompto (Austin, TX)
Assignee: International Business Machines Corporation
G06F9/3017G06F9/30145G06F9/30181
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,684,856
App. No.
15/646,219
Granted
Jun 16, 2020
Kind
B2
Abstract

Converting program instructions for two-stage processors including receiving, by a preprocessing unit, a group of program instructions; determining, by the preprocessing unit, that at least two of the group of program instructions can be converted into a single combined instruction; converting, by the preprocessing unit, the at least two program instructions into the single combined instruction comprising an extension opcode, wherein the extension opcode indicates, to an execution unit, a format of the single combined instruction; and sending, by the preprocessing unit, the single combined instruction to the execution unit.

Claims (25)

1. A preprocessing unit for converting program instructions for two-stage processors, the preprocessing unit configured for:

receiving a group of program instructions;

determining that at least two of the group of program instructions can be converted into a single combined instruction;

converting the at least two program instructions into the single combined instruction comprising an extension opcode, wherein the extension opcode indicates, to an execution unit, a format of the single combined instruction, wherein the format indicates which respective bits of the single combined instruction correspond respectively to: an operand, a memory location, and a program instruction of the at least two program instructions; and

sending the single combined instruction to the execution unit.

2. The preprocessing unit of claim 1 , wherein the extension opcode further indicates an operation to perform on an intermediate result of the single combined instruction.

3. The preprocessing unit of claim 1 , wherein a length of the single combined instruction is less than a combined length of the two program instructions.

4. The preprocessing unit of claim 1 , wherein the single combined instruction comprises, unmodified, at least one of the two program instructions.

5. The preprocessing unit of claim 1 , wherein the two program instructions each comprise a reference to a same memory location.

6. The preprocessing unit of claim 1 ,

wherein receiving, by the preprocessing unit, the group of program instructions comprises receiving the group of program instructions within a window of program instructions; and

wherein determining, by the preprocessing unit, that at least two of the group of program instructions can be converted into the single combined instruction comprises searching the window of program instructions for at least two program instructions that include a reference to a same memory location.

7. The preprocessing unit of claim 1 , wherein the single combined instruction is an internal operation instruction.

8. A computing system, the computing system including a preprocessing unit for converting program instructions for two-stage processors, the preprocessing unit configured for:

receiving, by the preprocessing unit, a group of program instructions;

determining, by the preprocessing unit, that at least two of the group of program instructions can be converted into a single combined instruction;

converting the at least two program instructions into the single combined instruction comprising an extension opcode, wherein the extension opcode indicates, to an execution unit, a format of the single combined instruction, wherein the format indicates which respective bits of the single combined instruction correspond respectively to: an operand, a memory location, and a program instruction of the at least two program instructions; and

sending, by the preprocessing unit, the single combined instruction to the execution unit.

9. The computing system of claim 8 , wherein the extension opcode further indicates an operation to perform on an intermediate result of the single combined instruction.

10. The computing system of claim 8 , wherein a length of the single combined instruction is less than a combined length of the two program instructions.

11. The computing system of claim 8 , wherein the single combined instruction comprises, unmodified, at least one of the two program instructions.

12. The computing system of claim 8 , wherein the two program instructions each comprise a reference to a same memory location.

13. The computing system of claim 8 ,

wherein receiving, by the preprocessing unit, the group of program instructions comprises receiving the group of program instructions within a window of program instructions; and

wherein determining, by the preprocessing unit, that at least two of the group of program instructions can be converted into the single combined instruction comprises searching the window of program instructions for at least two program instructions that include a reference to a same memory location.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2017
From: FRAZIER, GILES R.; LE, HUNG Q.; MOREIRA, JOSE E.; THOMPTO, BRIAN W.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 042963/0818 →
Continuity (1)
Related Publication 20190018677A1 · Jan 17, 2019