Patents Examined by George Giroux
  • Patent number: 9086888
    Abstract: A method for processing instructions. The instructions are processed by a processor unit while using a first table in a plurality of tables to predict a set of instructions needed by the processor unit after processing of a conditional instruction. An identification is formed that a rate of success in correctly predicting the set of instructions when using the first table is less than a threshold number. A sequence of the instructions being processed by the processor unit is searched for an instruction that matches a marker in a set of markers for identifying when to use the plurality of tables. An identification that the instruction that matches the marker is formed. A second table from the plurality of tables referenced by the marker is identified. The second table is used in place of the first table.
    Type: Grant
    Filed: February 7, 2014
    Date of Patent: July 21, 2015
    Assignee: International Business Machines Corporation
    Inventors: Wen-Tzer T. Chen, Diane G. Flemming, William A. Maron, Mysore Sathyanarayana Srinivas, David Blair Whitworth
  • Patent number: 9086872
    Abstract: Receiving an instruction indicating first and second operands. Each of the operands having packed data elements that correspond in respective positions. A first subset of the data elements of the first operand and a first subset of the data elements of the second operand each corresponding to a first lane. A second subset of the data elements of the first operand and a second subset of the data elements of the second operand each corresponding to a second lane. Storing result, in response to instruction, including: (1) in first lane, only lowest order data elements from first subset of first operand interleaved with corresponding lowest order data elements from first subset of second operand; and (2) in second lane, only highest order data elements from second subset of first operand interleaved with corresponding highest order data elements from second subset of second operand.
    Type: Grant
    Filed: June 30, 2009
    Date of Patent: July 21, 2015
    Assignee: Intel Corporation
    Inventors: Asaf Hargil, Doron Orenstein
  • Patent number: 9081581
    Abstract: An out-of-order processor 4 groups program instructions together to control their commitment to complete processing. If an instruction within a group has a source operand dependent upon a plurality of destination operands of other instructions then this is identified as a size mismatch hazard. When the program instruction having the size mismatch hazard reaches a commit point within the processor, then it is flushed together with any speculatively executed succeeding program instructions. Furthermore, the group of program instructions containing the program instruction containing the program instruction having the size mismatch is divided into a plurality of groups of program instructions each containing a single program instruction which are then replayed through the processing mechanisms.
    Type: Grant
    Filed: November 16, 2010
    Date of Patent: July 14, 2015
    Assignee: ARM Limited
    Inventors: James Nolan Hardage, Conrado Blasco Allue, Glen Andrew Harris
  • Patent number: 9081744
    Abstract: A network for a large number of processing elements utilizes a trellis ring architecture to provide an efficient and fault tolerant data routing system. The processing elements (which may be chip-based processors, circuit cards, unit level assemblies, or computing devices) are interconnected together in an endless ring structure. In addition to the ring arrangement, the processing elements are interconnected via primary and additional trellis connections that reduce the average and/or the maximum number of network node hops between two processing elements in the network architecture.
    Type: Grant
    Filed: April 6, 2005
    Date of Patent: July 14, 2015
    Assignee: THE BOEING COMPANY
    Inventors: Ramin Nobakht, Daniel H. Wells
  • Patent number: 9082090
    Abstract: A method including receiving a plurality of roles in a data processing system and adding a part-time resource to at least one role. The method also includes determining, in the data processing system, if a project duration has changed as a result of adding the part-time resource, and if the project duration has changed, repeating the process at the adding step. The method also includes storing results corresponding to the resources assigned to roles. There is also a similar data processing system and machine-usable medium.
    Type: Grant
    Filed: July 24, 2008
    Date of Patent: July 14, 2015
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Saeid Tehrani, Babak Makkinejad
  • Patent number: 9081562
    Abstract: Receiving an instruction indicating first and second operands. Each of the operands having packed data elements that correspond in respective positions. A first subset of the data elements of the first operand and a first subset of the data elements of the second operand each corresponding to a first lane. A second subset of the data elements of the first operand and a second subset of the data elements of the second operand each corresponding to a second lane. Storing result, in response to instruction, including: (1) in first lane, only lowest order data elements from first subset of first operand interleaved with corresponding lowest order data elements from first subset of second operand; and (2) in second lane, only highest order data elements from second subset of first operand interleaved with corresponding highest order data elements from second subset of second operand.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: July 14, 2015
    Assignee: Intel Corporation
    Inventors: Asaf Hargil, Doron Orenstein
  • Patent number: 9069891
    Abstract: A device for supporting hardware enabled performance counters with support for context switching include a plurality of performance counters operable to collect information associated with one or more computer system related activities, a first register operable to store a memory address, a second register operable to store a mode indication, and a state machine operable to read the second register and cause the plurality of performance counters to copy the information to memory area indicated by the memory address based on the mode indication.
    Type: Grant
    Filed: January 8, 2010
    Date of Patent: June 30, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Valentina Salapura, Robert W. Wisniewski
  • Patent number: 9063804
    Abstract: Method, apparatus, and system for monitoring performance within a processing resource, which may be used to modify user-level software. Some embodiments of the invention pertain to an architecture to allow a user to improve software running on a processing resources on a per-thread basis in real-time and without incurring significant processing overhead.
    Type: Grant
    Filed: September 25, 2013
    Date of Patent: June 23, 2015
    Assignee: Intel Corporation
    Inventors: Chris J. Newburn, Robert P. Knight, Robert Y. Geva, Dion Rodgers, Xiang Zou, Hong Wang, Bryant E. Bigbee, Ittai Anati
  • Patent number: 9058179
    Abstract: A processor 2 for performing out-of-order execution of a stream of program instructions includes a special register access pipeline for performing status access instructions accessing a status register 20. In order to serialise these status access instructions relative to other instructions within the system access timing control circuitry 32 permits dispatch of other instructions to proceed but controls the commit queue and the result queue such that no program instructions in program order succeeding the status access instruction are permitted to complete until after a trigger state has been detected in which all program instructions preceding in program order the status access instruction have been performed and made any updates to the architectural state. This is followed by the performance of the status access instruction itself.
    Type: Grant
    Filed: November 12, 2010
    Date of Patent: June 16, 2015
    Assignee: ARM Limited
    Inventor: James Nolan Hardage
  • Patent number: 9058180
    Abstract: Systems and methods for efficient picking of instructions for out-of-order issue and execution in a processor. In one embodiment, a processor comprises a unified pick queue that is dynamically allocated. Each entry is configured to store age and dependency information relative to other decoded instructions. Also, each entry stores a picked field, which when asserted indicates the decoded instruction has already been picked for out-of-order issue and execution. When asserted, a trigger field indicates a result of a corresponding decoded instruction will be available a predetermined number of clock cycles afterward. A younger instruction dependent on a result of an older instruction is ready to be picked before the result of the older instruction is available. In this case, the older instruction has asserted picked and trigger fields.
    Type: Grant
    Filed: June 29, 2009
    Date of Patent: June 16, 2015
    Assignee: Oracle America, Inc.
    Inventors: Robert T. Golla, Matthew B. Smittle, Mark A. Luttrell, Xiang Shan Li
  • Patent number: 9052957
    Abstract: The system for conducting intensive multitask and multistream calculation in real time comprises a central processor core (SPP) for supporting the system software and comprising a control unit (ESCU) for assigning threads of an application, the non-critical threads being run by the central processor core (SPP), whereas the intensive or specialized threads are assigned to an auxiliary processing part (APP) comprising a set of N auxiliary calculation units (APU0, . . . , APUN-1) that are optimized for fast processing of certain operations, a memory space (SMS) shared by the auxiliary calculation units (APU0, . . . , APUN-1) via an internal network and a unit (ACU) for controlling and assigning the auxiliary resources. The various elements of the system are arranged in such a manner that communication between the various auxiliary calculation units (APU0, . . . , APUN-1) or between those auxiliary calculation units (APU0, . . .
    Type: Grant
    Filed: June 8, 2006
    Date of Patent: June 9, 2015
    Assignee: COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES
    Inventors: Raphaël David, David Vincent, Nicolas Ventroux, Thierry Collette
  • Patent number: 9047069
    Abstract: A computer implemented method selects K extreme elements of a list of N elements by partitioning each of the N elements into a plurality of sections. For each section the method selects a threshold selection determining at least K extreme entries from the list. This iteratively compares a corresponding section to a section threshold, counts a number of sections which are more extreme than the section threshold, increasing (or decreasing) the section threshold if the count is greater than K and decreasing (or increasing) the section threshold if the count is less than K. The method forms a combined threshold by concatenation of said section thresholds in order, compares each of the N elements to the combined threshold, and selects at least K elements from the set of N elements more extreme than the combined threshold.
    Type: Grant
    Filed: April 12, 2012
    Date of Patent: June 2, 2015
    Assignee: TEXAS INSTRUMENTS INCORPORATED
    Inventors: Constantin Bajenaru, Michael Livshitz, Mingjian Yan, Jing Jiang
  • Patent number: 9047094
    Abstract: According to embodiments of the invention, there is disclosed a computer processor architecture; and in particular a computer processor, a method of operating the same, and a computer program product that makes use of an instruction set for the computer. In one embodiment according to the invention, there is provided a computer processor, the processor comprising: a decode unit for decoding instruction packets fetched from a memory holding a sequence of instruction packets; and first and second processing channels, each channel comprising a plurality of functional units, wherein the first processing channel is capable of performing control operations and comprises a control register file having a relatively narrower bit width, and the second processing channel is capable of performing data processing operations at least one input of which is a vector and comprises a data register file having a relatively wider bit width.
    Type: Grant
    Filed: March 31, 2004
    Date of Patent: June 2, 2015
    Assignee: Icera Inc.
    Inventor: Simon Knowles
  • Patent number: 9043584
    Abstract: A processor receives an instruction operation (OP) code from a verification system. The instruction OP code includes instruction bits and forced event bits. The processor identifies a forced event based upon the forced event bits, which is unrelated to an instruction that corresponds to the instruction bits. In turn, the processor executes the forced event.
    Type: Grant
    Filed: July 26, 2010
    Date of Patent: May 26, 2015
    Assignee: International Business Machines Corporation
    Inventors: Christopher Lee Colletti, Bryan Glen Hickerson, Michael Joseph Schiffli
  • Patent number: 9032190
    Abstract: A leading thread and a trailing thread are executed in parallel. Assuming that no transient fault occurs in each section, a system is speculatively executed in the section, with the leading thread and the trailing thread preferably being assigned to two different cores. At this time, the leading thread and the trailing thread are simultaneously executed, performing a buffering operation on a thread local area without performing a write operation on a shared memory. When the respective execution results of the two threads match each other, the content buffered to the thread local area is committed and written to the shared memory. When the respective execution results of the two threads do not match each other, the leading thread and the trailing thread are rolled back to a preceding commit point and re-executed.
    Type: Grant
    Filed: August 20, 2010
    Date of Patent: May 12, 2015
    Assignee: International Business Machines Corporation
    Inventors: Toshihiko Koju, Takuya Nakaike
  • Patent number: 9032188
    Abstract: A multi-threaded in-order superscalar processor 2 includes an issue stage 12 including issue circuitry 22, 24 for selecting instructions to be issued to execution units 14, 16 in dependence upon a currently selected issue policy. A plurality of different issue policies are provided by associated different policy circuitry 28, 30, 32 and a selection between which of these instances of the policy circuitry 28, 30, 32 is active is made by policy selecting circuitry 34 in dependence upon detected dynamic behavior of the processor 2.
    Type: Grant
    Filed: March 27, 2008
    Date of Patent: May 12, 2015
    Assignee: ARM Limited
    Inventors: Emre Özer, Stuart David Biles
  • Patent number: 9021239
    Abstract: The disclosure relates to the implementation of multi-tasking on a digital signal processor. Blocking functions are arranged such that they do not make use of a processor's hardware stack. Respective function calls are replaced with a piece of inline assembly code, which instead performs a branch to the correct routine for carrying out said function. If a blocking condition of the blocking function is encountered, a task switch can be done to resume another task. Whilst the hardware stack is not used when a task switch might have to occur, mixed-up contents of the hardware stack among function calls performed by different tasks are avoided.
    Type: Grant
    Filed: April 7, 2006
    Date of Patent: April 28, 2015
    Assignee: NXP, B.V.
    Inventor: Tomas Henriksson
  • Patent number: 9015450
    Abstract: Embodiments of a processor architecture efficiently implement shadow registers in hardware. A register system in a processor includes a set of physical data registers coupled to register renaming logic. The register renaming logic stores data in and retrieves data from the set of physical registers when the processor is in a first processor state. The register renaming logic identifies ones of the set of physical registers that have a first operational state as a first group of registers and identifies the remaining ones of the set of physical registers as a second group of registers in response to an indication that the processor is to enter a second processor state from the first processor state. The register renaming logic stores data in and retrieves data from the second group of registers but not the first group of registers when the processor is in the second processor state.
    Type: Grant
    Filed: January 20, 2010
    Date of Patent: April 21, 2015
    Assignee: STMicroelectronics (Beijing) R&D Co. Ltd.
    Inventors: Hong-Xia Sun, Peng Fei Zhu, Yong Qiang Wu
  • Patent number: 9015451
    Abstract: A processor and a memory management method are provided. The processor includes a processor core, a cache which transceives data to/from the processor core via a single port, and stores the data accessed by the processor core, and a Scratch Pad Memory (SPM) which transceives the data to/from the processor core via at least one of a plurality of multi ports.
    Type: Grant
    Filed: March 14, 2008
    Date of Patent: April 21, 2015
    Assignees: Samsung Electronics Co., Ltd., Seoul National University R&DB Foundation
    Inventors: Il Hyun Park, Soojung Ryu, Dong-Hoon Yoo, Dong Kwan Suh, Jeongwook Kim, Choon Ki Jang
  • Patent number: 8984257
    Abstract: Illustrated is a system and method that includes a processor and service processor co-located on a common socket, the service processor to aggregate data from a distributed network of additional service processors and processors both of which are co-located on an additional common socket. The system and method also includes a first sensor to record the data from the processor. The system and method also includes a second sensor to record the data from a software stack. The system and method further includes a registry to store the data.
    Type: Grant
    Filed: April 6, 2010
    Date of Patent: March 17, 2015
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Vanish Talwar, Jeffrey R. Hilland, Vidhya Kannan, Sandeep KS, Prashanth V