Patents Examined by Michael J Metzger
-
Patent number: 11010195Abstract: 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: GrantFiled: July 19, 2019Date of Patent: May 18, 2021Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Vikram Yadav, Rajesh Kumar Saxena, Gopal Bhageria, Harish Bharti
-
Patent number: 11003454Abstract: 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: GrantFiled: July 17, 2019Date of Patent: May 11, 2021Assignee: Arm LimitedInventors: Michael Brian Schinzler, Michael Filippo, Yasuo Ishii
-
Patent number: 10997048Abstract: 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: GrantFiled: December 30, 2016Date of Patent: May 4, 2021Assignee: Intel CorporationInventor: Ahmad Yasin
-
Patent number: 10997276Abstract: 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: GrantFiled: October 26, 2018Date of Patent: May 4, 2021Assignee: Cambricon Technologies Corporation LimitedInventors: Jinhua Tao, Tian Zhi, Shaoli Liu, Tianshi Chen, Yunji Chen
-
Patent number: 10990389Abstract: 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: GrantFiled: April 29, 2019Date of Patent: April 27, 2021Assignee: Micron Technology, Inc.Inventor: Vijay S. Ramesh
-
Patent number: 10983796Abstract: 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: GrantFiled: June 29, 2019Date of Patent: April 20, 2021Assignee: Intel CorporationInventor: Elmoustapha Ould-Ahmed-Vall
-
Patent number: 10963249Abstract: 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: GrantFiled: November 2, 2018Date of Patent: March 30, 2021Assignee: International Business Machines CorporationInventors: Mohit Karve, Vivek Britto, George W. Rohrbaugh, III, Brian W. Thompto
-
Patent number: 10963246Abstract: 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: GrantFiled: November 9, 2018Date of Patent: March 30, 2021Assignee: Intel CorporationInventors: Alexander F. Heinecke, Robert Valentine, Mark J. Charney, Raanan Sade, Menachem Adelman, Zeev Sperber, Amit Gradstein, Simon Rubanovich
-
Patent number: 10956158Abstract: 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: GrantFiled: May 10, 2019Date of Patent: March 23, 2021Assignee: International Business Machines CorporationInventors: 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: 10949202Abstract: 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: GrantFiled: May 15, 2018Date of Patent: March 16, 2021Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Pratap C. Pattnaik, Jessica H. Tseng
-
Patent number: 10942737Abstract: 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: GrantFiled: December 14, 2018Date of Patent: March 9, 2021Assignee: Intel CorporationInventor: Vladimir Ivanov
-
Patent number: 10942744Abstract: 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: GrantFiled: December 24, 2014Date of Patent: March 9, 2021Assignee: Intel CorporationInventors: Elmoustapha Ould-Ahmed-Vall, Christopher J. Hughes, Robert Valentine, Milind B. Girkar
-
Patent number: 10929127Abstract: 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: GrantFiled: May 8, 2018Date of Patent: February 23, 2021Assignee: Intel CorporationInventor: Ping Tak Tang
-
Patent number: 10908907Abstract: 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: GrantFiled: October 29, 2018Date of Patent: February 2, 2021Assignee: Intel CorporationInventor: Shih Shigjong Kuo
-
Patent number: 10908908Abstract: 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: GrantFiled: October 29, 2018Date of Patent: February 2, 2021Assignee: Intel CorporationInventor: Shih Shigjong Kuo
-
Patent number: 10902348Abstract: 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: GrantFiled: May 19, 2017Date of Patent: January 26, 2021Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Peter Altevogt, Andreea Anghel, Gero Dittmann, Cedric Lichtenau, Thomas Pflueger
-
Patent number: 10901484Abstract: 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: GrantFiled: March 25, 2019Date of Patent: January 26, 2021Assignee: Apple Inc.Inventors: Conrado Blasco, Ronald P. Hall, Ramesh B. Gunna, Ian D. Kountanis, Shyam Sundar, André Seznec
-
Patent number: 10896386Abstract: 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: GrantFiled: November 3, 2017Date of Patent: January 19, 2021Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Peter Altevogt, Andreea Anghel, Gero Dittmann, Cedric Lichtenau, Thomas Pflueger
-
Patent number: 10891133Abstract: 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: GrantFiled: September 6, 2019Date of Patent: January 12, 2021Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Michael K. Gschwind, Valentina Salapura
-
Patent number: 10884746Abstract: 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: GrantFiled: August 18, 2017Date of Patent: January 5, 2021Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Michael K. Gschwind, Valentina Salapura