IP Library Granted Patent US 10,169,045
Granted Patent B2
US 10,169,045 · App. 15/408,311 · Granted Jan 1, 2019

Method for dependency broadcasting through a source organized source view data structure

Inventor: Mohammad Abdallah (El Dorado Hills, CA)
Assignee: Intel Corporation
G06F9/3838G06F9/3005G06F9/3836G06F9/3853
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,169,045
App. No.
15/408,311
Granted
Jan 1, 2019
Kind
B2
Abstract

A method for dependency broadcasting through a source organized source view data structure is disclosed. The method comprises receiving an incoming instruction sequence using a global front end and grouping the instructions to form instruction blocks. Further, the method comprises 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 instruction blocks wherein an incoming instruction block writes its respective block number into fields of the register template corresponding to destination registers referred to by the incoming instruction block. The method also comprises populating a source organized source view data structure, wherein the source view data structure stores the instruction sources corresponding to the instruction blocks as read from the register template by incoming instruction blocks.

Claims (37)

1. A method for dependency broadcasting through a source organized source view data structure, the method comprising:

receiving an incoming instruction sequence using a global front end;

grouping the instructions to form instruction blocks;

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 instruction blocks wherein an incoming instruction block writes its respective block number into fields of the register template corresponding to destination registers referred to by the incoming instruction block;

populating a source organized source view data structure, wherein the source view data structure stores the instruction sources corresponding to the instruction blocks as read from the register template by incoming instruction blocks;

upon dispatch of one block of the instruction blocks, broadcasting a number belonging to the one block to a row of the source view data structure that relates to the one block and marking sources of the row accordingly; and

updating dependency information of remaining instruction blocks in accordance with the broadcast.

2. The method of claim 1 , wherein further the register template is updated by an arrival of the incoming instruction block and the incoming instruction block reads fields of the register template corresponding to its register sources to retrieve its instruction sources.

3. The method of claim 1 , wherein information about registers referred to by the instruction blocks is stored in a register view data structure.

4. The method of claim 1 , wherein information about sources referred to by the instruction blocks is stored in the source view data structure.

5. The method of claim 1 , wherein information about instructions referred to by the instruction blocks is stored in an instruction view data structure.

6. The method of claim 1 , wherein the register template comprises data structures storing dependency and inheritance information referred to by the instruction blocks.

7. The method of claim 1 , wherein the source view data structure determines when a particular block can be dispatched wherein the determining comprises checking if a ready bit corresponding to each instruction source of the particular block is set.

8. A computer system having a processor coupled to a memory, wherein the processor is configured to implement a method for dependency broadcasting through a source organized source view data structure, comprising:

receiving an incoming instruction sequence using a global front end;

grouping the instructions to form instruction blocks;

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 instruction blocks wherein an incoming instruction block writes its respective block number into fields of the register template corresponding to destination registers referred to by the incoming instruction block;

populating a source organized source view data structure, wherein the source view data structure stores the instruction sources corresponding to the instruction blocks as read from the register template by incoming instruction blocks;

upon dispatch of one block of the instruction blocks, broadcasting a number belonging to the one block to a row of the source view data structure that relates to the one block and marking sources of the row accordingly; and

updating dependency information of remaining instruction blocks in accordance with the broadcast.

9. The computer system of claim 8 , wherein further the register template is updated by an arrival of the incoming instruction block and the incoming instruction block reads fields of the register template corresponding to its register sources to retrieve its instruction sources.

10. The computer system of claim 8 , wherein information about registers referred to by the instruction blocks is stored in a register view data structure.

11. The computer system of claim 8 , wherein information about sources referred to by the instruction blocks is stored in the source view data structure.

12. The computer system of claim 8 , wherein information about instructions referred to by the instruction blocks is stored in an instruction view data structure.

13. The computer system of claim 8 , wherein the register template comprises data structures storing dependency and inheritance information referred to by the instruction blocks.

14. The computer system of claim 8 , wherein the source view data structure determines when a particular block can be dispatched wherein the determining comprises checking if a ready bit corresponding to each instruction source of the particular block is set.

15. A computer system having a processor coupled to a memory, the memory having computer readable code which when executed by the computer system causes the computer system to implement a method for dependency broadcasting through a source organized source view data structure, comprising:

grouping incoming instructions to form instruction blocks;

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 instruction blocks wherein an incoming instruction block writes its respective block number into fields of the register template corresponding to destination registers referred to by the incoming instruction block;

populating a source organized source view data structure, wherein the source view data structure stores the instruction sources corresponding to the instruction blocks as read from the register template by incoming instruction blocks;

upon dispatch of one block of the instruction blocks, broadcasting a number belonging to the one block to a row of the source view data structure that relates to the one block and marking sources of the row accordingly; and

updating dependency information of remaining instruction blocks in accordance with the broadcast.

16. The computer system of claim 15 , wherein further the register template is updated by an arrival of the incoming instruction block and the incoming instruction block reads fields of the register template corresponding to its register sources to retrieve its instruction sources.

17. The computer system of claim 15 , wherein information about registers referred to by the instruction blocks is stored in a register view data structure.

18. The computer system of claim 15 , wherein information about sources referred to by the instruction blocks is stored in the source view data structure.

19. The computer system of claim 15 , wherein information about instructions referred to by the instruction blocks is stored in an instruction view data structure.

20. The computer system of claim 15 , wherein the source view data structure determines when a particular block can be dispatched wherein the determining comprises checking if a ready bit corresponding to each instruction source of the particular block is set.

Continuity (3)
Continuation 14213135 · Mar 14, 2014
Provisional Application 61799407 · Mar 15, 2013
Related Publication 20170123806A1 · May 4, 2017