IP Library Patent Application 14212203
Patent Application
App. No. 14/212,203

METHOD FOR USING REGISTER TEMPLATES TO TRACK INTERDEPENDENCIES AMONG BLOCKS OF INSTRUCTIONS

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 None
App. No.
14/212,203
Abstract

A method for executing instructions using register templates to track interdependencies among blocks of instructions. The method includes receiving an incoming instruction sequence using a global front end; grouping the instructions to form instruction blocks; and using a register template to track instruction destinations and instruction sources by populating the register template with block numbers corresponding to the instruction blocks, wherein the block numbers corresponding to the instruction blocks indicate interdependencies among the blocks of instructions.

Claims (27)

1 . In a computer system, method for executing instructions using register templates to track interdependencies among blocks of instructions, comprising:

receiving an incoming instruction sequence using a global front end;

grouping the instructions to form instruction blocks;

using a register template to track instruction destinations and instruction sources by populating the register template with block numbers corresponding to the instruction blocks, wherein the block numbers corresponding to the instruction blocks indicate interdependencies among the blocks of instructions.

2 . The method of claim 1 , wherein each of the blocks write their respective block numbers into the register template fields that correspond to the block destinations, and wherein each of the blocks read the register fields that represent its register sources from the register template.

3 . The method of claim 1 , wherein when a block retires and writes its destination register contents into a register file, its number is erased from the register template.

4 . The method of claim 1 , wherein the register template is updated each cycle of the computer system whenever a block is allocated.

5 . The method of claim 1 , wherein as new register templates updates are generated, prior snapshots of current register templates are stored into an array.

6 . The method of claim 1 , wherein the computer system comprises hardware for implementing a parallel method of creating a subsequent register template from a previous register template by using encoded multiplexer controls.

7 . A computer system for executing instructions using register templates to track interdependencies among blocks of instructions, comprising:

a component for receiving an incoming instruction sequence using a global front end;

a component for grouping the instructions to form instruction blocks; and

a component for using a register template to track instruction destinations and instruction sources by populating the register template with block numbers corresponding to the instruction blocks, wherein the block numbers corresponding to the instruction blocks indicate interdependencies among the blocks of instructions.

8 . The computer system of claim 7 , wherein each of the blocks write their respective block numbers into the register template fields that correspond to the block destinations, and wherein each of the blocks read the register fields that represent its register sources from the register template.

9 . The computer system of claim 7 , wherein when a block retires and writes its destination register contents into a register file, its number is erased from the register template.

10 . The computer system of claim 7 , wherein the register template is updated each cycle of the computer system whenever a block is allocated.

11 . The computer system of claim 7 , wherein as new register templates updates are generated, prior snapshots of current register templates are stored into an array.

12 . The computer system of claim 7 , wherein the computer system comprises hardware for implementing a parallel method of creating a subsequent register template from a previous register template by using encoded multiplexer controls.

13 . A non-transitory computer readable media having computer readable code which when executed by a computer system cause the computer system to implement a method for executing instructions using register templates to track interdependencies among blocks of instructions, comprising:

receiving an incoming instruction sequence using a global front end;

grouping the instructions to form instruction blocks; and

using a register template to track instruction destinations and instruction sources by populating the register template with block numbers corresponding to the instruction blocks, wherein the block numbers corresponding to the instruction blocks indicate interdependencies among the blocks of instructions.

14 . The computer readable media of claim 13 , wherein each of the blocks write their respective block numbers into the register template fields that correspond to the block destinations, and wherein each of the blocks read the register fields that represent its register sources from the register template.

15 . The computer readable media of claim 13 , wherein when a block retires and writes its destination register contents into a register file, its number is erased from the register template.

16 . The computer readable media of claim 13 , wherein the register template is updated each cycle of the computer readable media whenever a block is allocated.

17 . The computer readable media of claim 13 , wherein as new register templates updates are generated, prior snapshots of current register templates are stored into an array.

18 . The computer readable media of claim 13 , wherein the computer system comprises hardware for implementing a parallel method of creating a subsequent register template from a previous register template by using encoded multiplexer controls.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2016
From: SOFT MACHINES, INC.
To: INTEL CORPORATION
Reel/Frame 040631/0915 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2014
From: ABDALLAH, MOHAMMAD
To: SOFT MACHINES, INC.
Reel/Frame 032442/0611 →