US2016026464A1PendingUtilityA1

Programmable Counters for Counting Floating-Point Operations in SIMD Processors

Assignee: INTEL CORPPriority: Mar 29, 2012Filed: Jul 28, 2015Published: Jan 28, 2016
Est. expiryMar 29, 2032(~5.7 yrs left)· nominal 20-yr term from priority
G06F 2201/88G06F 9/30109G06F 11/3466G06F 11/3409G06F 9/3013G06F 9/30112
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A processor includes one or more execution units to execute instructions, each having one or more elements in different element sizes using one or more registers in different register sizes. The processor further includes a counter configured to count a number of instructions performing predetermined types of operations executed by the one or more execution units. The processor further includes one or more registers to allow an external component to configure the counter to count a number of instructions associated with a combination of a register size and a element size (register/element size) and to retrieve a counter value produced by the counter.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A processor, comprising:
 one or more execution units to execute instructions, each having one or more elements in different element sizes using one or more registers in different register sizes;   a counter configured to count a number of instructions performing predetermined types of operations that haven been executed by the one or more execution units; and   one or more registers to allow an external component to configure the counter to count a number of instructions associated with a combination of a register size and a element size (register/element size) and to retrieve a counter value produced by the counter.   
     
     
         2 . The processor of  claim 1 , further comprising a retirement unit to retire instructions executed by the one or more execution units, the retirement unit configured to instruct the counter to count number of the instructions based on a combination of register/element size associated with each instruction retired. 
     
     
         3 . The processor of  claim 2 , wherein the retirement unit is configured to
 for each instruction retired from the one or more execution units, determine a register size and an element size of the retired instruction,   select a counter that has been configured to count number of instructions associated with the determined register size and element size, and   transmit a signal to the selected counter to cause the selected counter to increment its count value.   
     
     
         4 . The processor of  claim 3 , wherein the retirement unit is further to select and instruct the counters based on a number of elements operated on by the instructions. 
     
     
         5 . The processor of  claim 3 , wherein the retirement unit is further to
 determine whether the instruction is a compound instruction that performs multiple predetermined operations per element, and   transmit a signal to an associated counter to increment with an incremental value equivalent to a number of operations performed by the compound instruction per element.   
     
     
         6 . The processor of  claim 1 , wherein the counter is further configured to count a number of first instructions having a first combination of a register size and element size (register/element size) and a number of second instructions having a second combination of register/element size that is different than the first combination. 
     
     
         7 . The processor of  claim 1 , wherein a register size is one of 32-bit, 64-bit, 128-bit, 256-bit, 512-bit, and 1024-bit instruction width, and wherein an element size represents one of a single precision and double precision. 
     
     
         8 . The processor of  claim 1 , wherein the external component is to compute a number of arithmetic operations performed by the instructions based on the counter value, including applying to the counter value a predetermined factor that is associated with the combination of register/element size. 
     
     
         9 . A computer-implemented method, comprising:
 configuring a counter within a processor having one or more execution units to count a number of instructions performing predetermined types of operations, the one or more execution units to execute instructions, each having one or more elements in different element sizes using one or more registers in different register sizes;   counting using the counter to count a number of instructions having a combination of a register size and element size (register/element size) executed by the one or more execution units; and   providing access to the counter to allow an external component to retrieve a counter value produced by the counter.   
     
     
         10 . The method of  claim 9 , further comprising selecting and instructing the counter to count the instructions based on a combination of register/element size associated with each instruction retired from the one or more execution units. 
     
     
         11 . The method of  claim 10 , further comprising:
 for each instruction retired from the one or more execution units, determining a register size and an element size of the retired instruction,   selecting a counter that has been configured to count number of instructions associated with the determined register size and element size, and   transmitting a signal to the selected counter to cause the selected counter to increment its count value.   
     
     
         12 . The method of  claim 11 , wherein the retirement unit is further to select and instruct the counters based on a number of elements operated on by the instructions. 
     
     
         13 . The method of  claim 11 , further comprising
 determining whether the instruction is a compound instruction that performs multiple operations per element, and   transmitting a signal to an associated counter to increment with an incremental value equivalent to a number of operations per element performed by the compound instruction.   
     
     
         14 . The method of  claim 9 , wherein the counter is further configured to count a number of first instructions having a first combination of a register size and element size (register/element size) and a number of second instructions having a second combination of register/element size that is different than the first combination. 
     
     
         15 . The method of  claim 9 , wherein a register size is one of 32-bit, 64-bit, 128-bit, 256-bit, 512-bit, and 1024-bit instruction width, and wherein an element size represents one of a single precision and double precision. 
     
     
         16 . The method of  claim 9 , wherein the external component is to compute a number of arithmetic operations performed by the instructions based on the counter value, including applying to the counter value a predetermined factor that is associated with the combination of register/element size. 
     
     
         17 . A data processing system, comprising:
 a dynamic random-access memory (DRAM); and   a processor coupled to the DRAM, the processor including
 one or more execution units to execute instructions, each having one or more elements in different element sizes using one or more registers in different register sizes, 
 a counter configured to count a number of instructions performing predetermined types of operations executed by the one or more execution units, and 
 one or more registers to allow an external component to configure the counter to count a number of instructions associated with a combination of a register size and a element size (register/element size) and to retrieve a counter value produced by the counter. 
   
     
     
         18 . The system of  claim 17 , wherein the processor further comprises a retirement unit to retire instructions executed by the one or more execution units, the retirement unit configured to select and instruct the counter to count the instructions based on a combination of register/element size associated with each instruction retired. 
     
     
         19 . The system of  claim 18 , wherein the retirement unit is configured to
 for each instruction retired from the one or more execution units, determine a register size and an element size of the retired instruction,   select a counter that has been programmed to count number of instructions associated with the determined register size and element size, and   transmit a signal to the selected counter to cause the selected counter to increment its count value.   
     
     
         20 . The system of  claim 19 , wherein the retirement unit is further to select and instruct the counters based on a number of elements operated on by the instructions.

Join the waitlist — get patent alerts

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

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