US2019294571A1PendingUtilityA1

Operation of a multi-slice processor implementing datapath steering

Assignee: IBMPriority: Jun 3, 2016Filed: Jun 11, 2019Published: Sep 26, 2019
Est. expiryJun 3, 2036(~9.9 yrs left)· nominal 20-yr term from priority
G06F 13/36G06F 9/3891G06F 9/3828G06F 9/3836G06F 9/3838G06F 9/3855G06F 9/3851G06F 9/3856
62
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Operation of a multi-slice processor implementing datapath steering, where the multi-slice processor includes a plurality of execution slices. Operation of such a multi-slice processor includes: identifying, from a set of instructions, a second instruction that is dependent upon a first instruction in the set of instructions; and responsive to the second instruction being dependent upon the first instruction in the set of instructions, issuing each of the instructions in the set of instructions to a particular set of execution slices configured with bypass logic between execution slices that reduces execution latencies between dependent instructions.

Claims

exact text as granted — not AI-modified
1 - 7 . (canceled) 
     
     
         8 . A multi-slice processor comprising:
 a plurality of execution slices; and   a dispatcher, wherein the dispatcher is configured to carry out:
 prior to issuing a set of instructions, identifying, from the set of instructions, a second instruction in the set of instructions that is dependent upon a first instruction in the set of instructions; and 
 responsive to the second instruction being dependent upon the first instruction in the set of instructions, issuing each of the instructions in the set of instructions to a set of execution slices configured with bypass logic between execution slices. 
   
     
     
         9 . The multi-slice processor of  claim 8 , wherein the bypass logic is configured to pass results from the first instruction in a first execution slice in a set of execution slices to an operand register for the second instruction in a second execution slice in the set of execution slices. 
     
     
         10 . The multi-slice processor of  claim 8 , wherein a set of execution slices comprises two of the plurality of execution slices. 
     
     
         11 . The multi-slice processor of  claim 8 , wherein the multi-slice processor is further configured to carry out:
 prior to issuing each of the instructions in the set of instructions to the set of execution slices:
 generating a correspondence between each of the instructions in the set of instructions to a same identifying token, wherein an instruction sequencing unit identifies dependent instructions in dependence upon the correspondence between each of the instructions in the set of instructions to the same identifying token. 
   
     
     
         12 . The multi-slice processor of  claim 11 , wherein the same identifying token comprises a bit code setting within each opcode of each instruction in the set of instructions. 
     
     
         13 . The multi-slice processor of  claim 8 , wherein the multi-slice processor is further configured to carry out:
 determining, for a second set of instructions, an unavailability of a set of execution slices of the plurality of execution slices to receive all instructions in the second set of instructions; and   delaying issuance of the second set of instructions until a set of execution slices is able to receive all of the instructions in the second set of instructions.   
     
     
         14 . The multi-slice processor of  claim 8 , wherein the multi-slice processor is further configured to carry out:
 receiving a second plurality of instructions; and   determining a crossover set of instructions such that at least one instruction in the crossover set of instructions is an instruction from the second set of instructions that is dependent upon an instruction from the set of instructions.   
     
     
         15 . An apparatus comprising:
 a plurality of execution slices; and   a dispatcher, wherein the dispatcher is configured to carry out:
 prior to issuing a set of instructions, identifying, from the set of instructions, a second instruction in the set of instructions that is dependent upon a first instruction in the set of instructions; and 
 responsive to the second instruction being dependent upon the first instruction in the set of instructions, issuing each of the instructions in the set of instructions to a set of execution slices configured with bypass logic between execution slices. 
   
     
     
         16 . The apparatus of  claim 15 , wherein the bypass logic is configured to pass results from the first instruction in a first execution slice in a set of execution slices to an operand register for the second instruction in a second execution slice in the set of execution slices. 
     
     
         17 . The apparatus of  claim 15 , wherein a set of execution slices comprises two of the plurality of execution slices. 
     
     
         18 . The apparatus of  claim 15 , wherein the multi-slice processor is further configured to carry out:
 prior to issuing each of the instructions in the set of instructions to the set of execution slices:
 generating a correspondence between each of the instructions in the set of instructions to a same identifying token, wherein an instruction sequencing unit identifies dependent instructions in dependence upon the correspondence between each of the instructions in the set of instructions to the same identifying token. 
   
     
     
         19 . The apparatus of  claim 18 , wherein the same identifying token comprises a bit code setting within each opcode of each instruction in the set of instructions. 
     
     
         20 . The apparatus of  claim 15 , wherein the multi-slice processor is further configured to carry out:
 determining, for a second set of instructions, an unavailability of a set of execution slices of the plurality of execution slices to receive all instructions in the second set of instructions; and   delaying issuance of the second set of instructions until a set of execution slices is able to receive all of the instructions in the second set of instructions.

Join the waitlist — get patent alerts

Track US2019294571A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.