Patents Examined by Michael J Metzger
  • Patent number: 11010195
    Abstract: Methods, computer program products, and systems are presented. The method computer program products, and systems can include, for instance: assigning resources of a K-tier resource pool to a certain job residing in a job queue, wherein the certain job residing in the job queue features job coupling characterized by an independent job and a dependent job which for completion depends on an output of the independent job, wherein the K-tier resource pool includes at least one foreground virtual machine (VM) having a first central processing unit (CPU) priority and at least one background virtual machine (VM) having a second CPU priority, wherein the first CPU priority is higher than the second CPU priority, wherein the assigning resources of the K-tier resource pool to the certain job includes assigning one or more foreground VM to the independent job and assigning one or more background VM to the dependent job.
    Type: Grant
    Filed: July 19, 2019
    Date of Patent: May 18, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Vikram Yadav, Rajesh Kumar Saxena, Gopal Bhageria, Harish Bharti
  • Patent number: 11003454
    Abstract: Apparatuses for data processing and methods of data processing are provided. A data processing apparatus performs data processing operations in response to a sequence of instructions including performing speculative execution of at least some of the sequence of instructions. In response to a branch instruction the data processing apparatus predicts whether or not the branch is taken or not taken further speculative instruction execution is based on that prediction. A path speculation cost is calculated in dependence on a number of recently flushed instructions and a rate at which speculatively executed instructions are issued may be modified based on the path speculation cost.
    Type: Grant
    Filed: July 17, 2019
    Date of Patent: May 11, 2021
    Assignee: Arm Limited
    Inventors: Michael Brian Schinzler, Michael Filippo, Yasuo Ishii
  • Patent number: 10997048
    Abstract: An apparatus and method are described for a multithreaded-aware performance monitor of a processor. For example, one embodiment of a processor comprises: one or more simultaneous multithreading cores to simultaneously execute multiple instruction threads; a plurality of performance monitor counters, each performance monitor counter to count baseline events during processing of the multiple instruction threads; and a performance monitor circuit to determine whether multiple threads are concurrently generating the same baseline event and, if so, then the performance monitor circuit to distribute the count of the baseline event for only one of the multiple threads in each processor cycle for which the multiple threads are active and the baseline event applies to.
    Type: Grant
    Filed: December 30, 2016
    Date of Patent: May 4, 2021
    Assignee: Intel Corporation
    Inventor: Ahmad Yasin
  • Patent number: 10997276
    Abstract: Aspects for vector operations in neural network are described herein. The aspects may include a vector caching unit configured to store a first vector and a second vector, wherein the first vector includes one or more first elements and the second vector includes one or more second elements. The aspects may further include one or more adders and a combiner. The one or more adders may be configured to respectively add each of the first elements to a corresponding one of the second elements to generate one or more addition results. The combiner may be configured to combine a combiner configured to combine the one or more addition results into an output vector.
    Type: Grant
    Filed: October 26, 2018
    Date of Patent: May 4, 2021
    Assignee: Cambricon Technologies Corporation Limited
    Inventors: Jinhua Tao, Tian Zhi, Shaoli Liu, Tianshi Chen, Yunji Chen
  • Patent number: 10990389
    Abstract: Systems, apparatuses, and methods related to bit string operations using a computing tile are described. An example apparatus includes a plurality of computing devices (or “tiles”) coupled to a controller (e.g., and “orchestration controller”) and an interface. The controller can include circuitry to request data comprising a bit string having a first format that supports arithmetic operations to a first level of precision from a memory device (e.g., a memory array) coupled to the apparatus and cause the processing unit of at least one computing device of the plurality of computing devices to perform an operation in which the bit string is converted to a second format that supports arithmetic operations to a second level of precision that is different from the first level of precision.
    Type: Grant
    Filed: April 29, 2019
    Date of Patent: April 27, 2021
    Assignee: Micron Technology, Inc.
    Inventor: Vijay S. Ramesh
  • Patent number: 10983796
    Abstract: Embodiments involving core-to-core offload are detailed herein. For example, a method decoding an instruction having fields for at least an opcode to indicate an end a task offload operation is to be performed, and executing the decoded instruction to cause a transmission of an offload end indication to the second core, the indication including one or more of an identifier of the second core, a location of where the second core can find the results of the offload, the results of execution of the offloaded task, an instruction pointer in the original code of the second source, a requesting core state, and a requesting core state location is described.
    Type: Grant
    Filed: June 29, 2019
    Date of Patent: April 20, 2021
    Assignee: Intel Corporation
    Inventor: Elmoustapha Ould-Ahmed-Vall
  • Patent number: 10963249
    Abstract: A processor, system and/or techniques are disclosed for prefetching data streams in a processor. A prefetcher issues a plurality of requests to pre-fetch data from a stream in a plurality of streams; evaluates a confidence level of at least the first request based on an amount of confirmations observed in the stream; and assigns at least a first more aggressive prefetching ramping mode or a second less aggressive prefetching ramping mode based upon the confidence level of a thread associated with the prefetch request, wherein the prefetcher has one or more probationary states and is configured to transition between the first and second prefetching ramp mode by entering at least one of the probation states wherein the prefetcher continues to operate in the first prefetching ramp mode. In another aspect, the prefetcher may transition to the one or more probation states after a number of cycles.
    Type: Grant
    Filed: November 2, 2018
    Date of Patent: March 30, 2021
    Assignee: International Business Machines Corporation
    Inventors: Mohit Karve, Vivek Britto, George W. Rohrbaugh, III, Brian W. Thompto
  • Patent number: 10963246
    Abstract: Disclosed embodiments relate to computing dot products of nibbles in tile operands. In one example, a processor includes decode circuitry to decode a tile dot product instruction having fields for an opcode, a destination identifier to identify a M by N destination matrix, a first source identifier to identify a M by K first source matrix, and a second source identifier to identify a K by N second source matrix, each of the matrices containing doubleword elements, and execution circuitry to execute the decoded instruction to perform a flow K times for each element (m, n) of the specified destination matrix to generate eight products by multiplying each nibble of a doubleword element (M,K) of the specified first source matrix by a corresponding nibble of a doubleword element (K,N) of the specified second source matrix, and to accumulate and saturate the eight products with previous contents of the doubleword element.
    Type: Grant
    Filed: November 9, 2018
    Date of Patent: March 30, 2021
    Assignee: Intel Corporation
    Inventors: Alexander F. Heinecke, Robert Valentine, Mark J. Charney, Raanan Sade, Menachem Adelman, Zeev Sperber, Amit Gradstein, Simon Rubanovich
  • Patent number: 10956158
    Abstract: A method, processor and system for processing data is disclosed that includes evicting one or more evicted fields from a logical register mapper; receiving, by a history buffer, the one or more evicted fields from the logical register mapper; determining whether two or more of the evicted fields from the mapper qualify to be written to a single entry in the history buffer; and in response to the two or more evicted fields qualifying, writing the two or more qualifying evicted fields received from the mapper to a single entry in the qualified history buffer. The method, processor, and/or system further includes in an embodiment, remapping the one or more qualified evicted fields, and further, in response to the two or more evicted fields not qualifying to be written to a single entry in the history buffer, writing the two or more evicted fields to multiple history buffer entries.
    Type: Grant
    Filed: May 10, 2019
    Date of Patent: March 23, 2021
    Assignee: International Business Machines Corporation
    Inventors: Steven J. Battle, Khandker N. Adeeb, Brian D. Barrick, Joshua W. Bowman, Thao T. Doan, Susan E. Eisen, Brandon Goddard, Dung Q. Nguyen
  • Patent number: 10949202
    Abstract: Embodiments include methods, computing systems and computer program products for identifying and tracking frequently accessed registers in a processor of a computing system. Aspects include: creating a list of top accessed registers of certain registers in processor, each register having a corresponding register usage counter, initializing each register usage counter, starting a register usage monitoring mode, examining each register usage counter, and updating list of top accessed registers, stopping register usage monitoring mode, and updating a register file partition assignment when the list of top accessed registers is identified. Once the list of top accessed registers is identified, stopping the programs and bring its threads of execution to quiescent, moving registers between register file partitions until all registers on the list of top accessed registers are in the fully-ported register file partition, and resuming executions of the program and its threads.
    Type: Grant
    Filed: May 15, 2018
    Date of Patent: March 16, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Pratap C. Pattnaik, Jessica H. Tseng
  • Patent number: 10942737
    Abstract: Techniques and mechanisms for exchanging control signals in a data path module of a data stream processing engine. In an embodiment, the data path module may be configured to form a set of one or more data paths corresponding to an instruction which is to be executed. In another embodiment, data processing units of the data path module may be configured to exchange one or more control signals for elastic execution of the instruction.
    Type: Grant
    Filed: December 14, 2018
    Date of Patent: March 9, 2021
    Assignee: Intel Corporation
    Inventor: Vladimir Ivanov
  • Patent number: 10942744
    Abstract: Systems, methods, and apparatuses for data speculation execution (DSX) are described. In some embodiments, a hardware apparatus for DSX comprises execution hardware to execute instructions to begin and end a data speculative execution (DSX) and speculative instructions during the DSX, and DSX tracking hardware to track speculative memory accesses and detect ordering violations in a DSX of speculative instructions using a sequence number, addresses of instruction accesses, and whether an instruction being tracked is a write, and to trigger a mis-speculation upon an ordering violation.
    Type: Grant
    Filed: December 24, 2014
    Date of Patent: March 9, 2021
    Assignee: Intel Corporation
    Inventors: Elmoustapha Ould-Ahmed-Vall, Christopher J. Hughes, Robert Valentine, Milind B. Girkar
  • Patent number: 10929127
    Abstract: Systems, apparatuses, and methods utilizing an elastic floating-point encoding format are described. In particular, at least one operand of an instruction is to store, or stores, data in the elastic floating-point encoding format. In some implementations, the floating-point encoding format includes a sign bit, a self-identifying field, a mantissa, and a non-overlapping exponent range.
    Type: Grant
    Filed: May 8, 2018
    Date of Patent: February 23, 2021
    Assignee: Intel Corporation
    Inventor: Ping Tak Tang
  • Patent number: 10908907
    Abstract: A processor is described having a functional unit of an instruction execution pipeline. The functional unit has comparison bank circuitry and adder circuitry. The comparison bank circuitry is to compare one or more elements of a first input vector against an element of a second input vector. The adder circuitry is coupled to the comparison bank circuitry to add the number of elements of the second input vector that match a value of the first input vector on an element by element basis of the first input vector.
    Type: Grant
    Filed: October 29, 2018
    Date of Patent: February 2, 2021
    Assignee: Intel Corporation
    Inventor: Shih Shigjong Kuo
  • Patent number: 10908908
    Abstract: A processor is described having a functional unit of an instruction execution pipeline. The functional unit has comparison bank circuitry and adder circuitry. The comparison bank circuitry is to compare one or more elements of a first input vector against an element of a second input vector. The adder circuitry is coupled to the comparison bank circuitry to add the number of elements of the second input vector that match a value of the first input vector on an element by element basis of the first input vector.
    Type: Grant
    Filed: October 29, 2018
    Date of Patent: February 2, 2021
    Assignee: Intel Corporation
    Inventor: Shih Shigjong Kuo
  • Patent number: 10902348
    Abstract: Embodiments of the invention include a computer-implemented method of processor branch prediction. This method aims at training a machine-learning model of processor branch behavior while a processing unit executes computer instructions. Such instructions include branch instructions, load instructions and store instructions. The load instructions and the store instructions cause a control unit of the processing unit to load data from a memory into processor registers and store data from the processor registers to the memory, respectively. Basically, the training of the model involves, for each of N branch instructions (N>2) encountered whilst the processing unit executes said branch instructions: identifying a next branch instruction; and feeding the machine-learning model with carefully chosen inputs.
    Type: Grant
    Filed: May 19, 2017
    Date of Patent: January 26, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Peter Altevogt, Andreea Anghel, Gero Dittmann, Cedric Lichtenau, Thomas Pflueger
  • Patent number: 10901484
    Abstract: A processor includes a mechanism for disabling a memory array of a branch prediction unit. The processor may include a next fetch prediction unit that may include a number of entries. Each entry may correspond to a next instruction fetch group and may store an indication of whether or not the corresponding the next fetch group includes a conditional branch instruction. In response to an indication that the next fetch group does not include a conditional branch instruction, the fetch prediction unit may be configured to disable, in a next instruction execution cycle, the memory array of the branch prediction unit.
    Type: Grant
    Filed: March 25, 2019
    Date of Patent: January 26, 2021
    Assignee: Apple Inc.
    Inventors: Conrado Blasco, Ronald P. Hall, Ramesh B. Gunna, Ian D. Kountanis, Shyam Sundar, André Seznec
  • Patent number: 10896386
    Abstract: Embodiments of the invention include a computer-implemented method of processor branch prediction. This method aims at training a machine-learning model of processor branch behavior while a processing unit executes computer instructions. Such instructions include branch instructions, load instructions and store instructions. The load instructions and the store instructions cause a control unit of the processing unit to load data from a memory into processor registers and store data from the processor registers to the memory, respectively. Basically, the training of the model involves, for each of N branch instructions (N>2) encountered whilst the processing unit executes said branch instructions: identifying a next branch instruction; and feeding the machine-learning model with carefully chosen inputs.
    Type: Grant
    Filed: November 3, 2017
    Date of Patent: January 19, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Peter Altevogt, Andreea Anghel, Gero Dittmann, Cedric Lichtenau, Thomas Pflueger
  • Patent number: 10891133
    Abstract: Code-specific affiliated register prediction. A determination is made as to whether a unit of code is a candidate for affiliated register prediction. The determining employs a code specific indicator specific to the unit of code. Based on determining the unit of code is a candidate for affiliated register prediction, an indication of an affiliated register is loaded into a selected location. Based on the loading, the affiliated register is employed in speculative processing.
    Type: Grant
    Filed: September 6, 2019
    Date of Patent: January 12, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael K. Gschwind, Valentina Salapura
  • Patent number: 10884746
    Abstract: A determination is made as to whether an instruction is an affiliation-creating instruction that provides an affiliation between a plurality of registers. Based on determining the instruction is an affiliation-creating instruction, an affiliation is specified. Further, a branch instruction is obtained. The branch instruction is separated from the instruction by one or more instructions. Based on the branch instruction and specifying the affiliation, processing is performed.
    Type: Grant
    Filed: August 18, 2017
    Date of Patent: January 5, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael K. Gschwind, Valentina Salapura