Patents Examined by Robert Fennema
  • Patent number: 8707016
    Abstract: A set of helper thread binaries is created to retrieve data used by a set of main thread binaries. The set of helper thread binaries and the set of main thread binaries are partitioned according to common instruction boundaries. As a first partition in the set of main thread binaries executes within a first core, a second partition in the set of helper thread binaries executes within a second core, thus “warming up” the cache in the second core. When the first partition of the main completes execution, a second partition of the main core moves to the second core, and executes using the warmed up cache in the second core.
    Type: Grant
    Filed: February 1, 2008
    Date of Patent: April 22, 2014
    Assignee: International Business Machines Corporation
    Inventors: Ravi K. Arimilli, Juan C. Rubio, Balaram Sinharoy
  • Patent number: 8700886
    Abstract: A processor configured to operate with multiple operation codes for each of a plurality of instructions comprises memory circuitry and processing circuitry coupled to the memory circuitry. The processing circuitry is configured to decode a first operation code to produce a given one of the instructions and to decode a second operation code different than the first operation code to also produce the given instruction. Thus, the same instruction is produced for execution by the processing circuitry regardless of whether the first operation code or the second operation code is decoded. The assignment of multiple operation codes to a given instruction may occur in conjunction with the design of the processor, and dynamic selection of a particular one of those operation codes may be performed in conjunction with assembly of code for execution by the processor.
    Type: Grant
    Filed: May 30, 2007
    Date of Patent: April 15, 2014
    Assignee: Agere Systems LLC
    Inventors: Prasad Avss, Jacob Mathews
  • Patent number: 8694757
    Abstract: Tracing command execution in a data processing system having a host processor and a co-processor. The host processor maintains a record of a plurality of commands for the co-processor, storing each of the plurality of commands is stored in a command queue. Hardware trace logic is provided to store one or more events based, at least in part, on transfer of the plurality of commands to a small memory. Software is executed to store the one or more events to a main memory, wherein the one or more events are aggregated into a single memory trace within the main memory.
    Type: Grant
    Filed: August 15, 2008
    Date of Patent: April 8, 2014
    Assignee: Calos Fund Limited Liability Company
    Inventors: Brucek Khailany, Mark Rygh, Jim Jian Lin, Udo Uebel
  • Patent number: 8683306
    Abstract: Various embodiments of the present invention provide systems and methods for data processing. For example, a data processing system is disclosed that includes a channel detector circuit. The channel detector circuit includes a branch metric calculator circuit that is operable to receive a number of violated checks from a preceding stage, and to scale an intrinsic branch metric using a scalar selected based at least in part on the number of violated checks to yield a scaled intrinsic branch metric.
    Type: Grant
    Filed: January 4, 2010
    Date of Patent: March 25, 2014
    Assignee: LSI Corporation
    Inventors: Shaohua Yang, Weijun Tan, Zongwang Li, Kiran Gunnam
  • Patent number: 8677107
    Abstract: Processing circuitry 4 has a plurality of exception states EL0-EL3 for handling exception events, the exception states including a base level exception state EL0 and at least one further level exception state EL1-EL3. Each exception state has a corresponding stack pointer indicating the location within the memory of a corresponding stack data store 35. When the processing circuitry is in the base level exception state EL0, stack pointer selection circuitry 40 selects the base level stack pointer as a current stack pointer indicating a current stack data store for use by the processing circuitry 4. When the processing circuitry 4 is a further exception state, the stack pointer selection circuitry 40 selects either the base level stack pointer or the further level stack pointer corresponding to the current further level exception state as a current stack pointer.
    Type: Grant
    Filed: March 7, 2011
    Date of Patent: March 18, 2014
    Assignee: ARM Limited
    Inventor: Richard Roy Grisenthwaite
  • Patent number: 8671408
    Abstract: A method, computer program product, and computing system for providing a graphical user interface including at least one selectable application in a scheduling entry in the multi-user scheduling system. An available application lockout may be activated on all available applications other than a selected application upon initialization of the scheduling entry.
    Type: Grant
    Filed: April 6, 2009
    Date of Patent: March 11, 2014
    Assignee: International Business Machines Corporation
    Inventors: Carol Sue Zimmet, Colm Farrell, Liam Harpur, Patrick Joseph O'Sullivan, Fred Raguillat
  • Patent number: 8667252
    Abstract: Clustered VLIW processing elements, each preferably simple and identical, are coupled by a runtime reconfigurable inter-cluster interconnect to form a coprocessor executing only those portions of a program having high instruction level parallelism. The initial portion of each program segment executed by the coprocessor reconfigures the interconnect, if necessary, or is skipped. Clusters may be directly connected to a subset of neighboring clusters, or indirectly connected to any other cluster, a hierarchy exposed to the programming model and enabling a larger number of clusters to be employed. The coprocessor is idled during remaining portions of the program to reduce power dissipation.
    Type: Grant
    Filed: November 21, 2002
    Date of Patent: March 4, 2014
    Assignee: STMicroelectronics, Inc.
    Inventors: Osvaldo Colavin, Davide Rizzo
  • Patent number: 8667251
    Abstract: This electronic chip includes functional modules each including a single processing unit and a single routing unit (110E) connected to one another, and connections, called routing connections, each of which has at least one end connected to the routing unit of a functional module, where the routing connections connect between themselves the routing units of the functional modules so as to allow routing of data between the processing units of the functional modules. The routing unit (110E) of at least one functional module, called a split routing unit, includes two routers (112E, 114E), called respectively a first-level router and a second-level router, which are connected to one another, where the first-level router is moreover connected to at least two routing connections, and where the second-level router is moreover connected to the processing unit of this functional module and connected to at least one other routing connection.
    Type: Grant
    Filed: February 15, 2011
    Date of Patent: March 4, 2014
    Assignee: Commissariat a l'Energie Atomique et aux Energies Alternatives
    Inventors: Walid Lafi, Didier Lattard
  • Patent number: 8661438
    Abstract: The embodiments related to systems and methods for virtualization planning. A set of target machines may employ one or more virtualization technologies to divide resources of the given target computer system into multiple execution environments for virtual machines. Overhead profiles are determined based on a configuration of a given target computer system, the virtualization technology, and work performed by the virtual machines. The overhead consumed by the virtualization technologies is estimated for the proposed allocation of virtual machines. Performance of the proposed allocation of virtual machines is then modeled and various performance measures are provided.
    Type: Grant
    Filed: August 27, 2012
    Date of Patent: February 25, 2014
    Assignee: Riverbed Technology, Inc.
    Inventors: Yiping Ding, David Carter, Shankar Ananthanarayanan
  • Patent number: 8656143
    Abstract: A serial array processor may have an execution unit, which is comprised of a multiplicity of single bit arithmetic logic units (ALUs), and which may perform parallel operations on a subset of all the words in memory by serially accessing and processing them, one bit at a time, while an instruction unit of the processor is pre-fetching the next instruction, a word at a time, in a manner orthogonal to the execution unit.
    Type: Grant
    Filed: February 3, 2010
    Date of Patent: February 18, 2014
    Inventor: Laurence H. Cooke
  • Patent number: 8627050
    Abstract: A method and system are disclosed for executing a machine instruction in a central processing unit. The method comprise the steps of obtaining a perform floating-point operation instruction; obtaining a test bit; and determining a value of the test bit. If the test bit has a first value, (a) a specified floating-point operation function is performed, and (b) a condition code is set to a value determined by said specified function. If the test bit has a second value, (c) a check is made to determine if said specified function is valid and installed on the machine, (d) if said specified function is valid and installed on the machine, the condition code is set to one code value, and (e) if said specified function is either not valid or not installed on the machine, the condition code is set to a second code value.
    Type: Grant
    Filed: October 8, 2007
    Date of Patent: January 7, 2014
    Assignee: International Business Machines Corporation
    Inventors: Michel H. T. Hack, Ronald M. Smith, Sr.
  • Patent number: 8627048
    Abstract: A method and apparatus for designating and handling irrevocable transactions is herein described. In response to detecting an irrevocable event, such as an I/O operation, a user-defined irrevocable designation, and a dynamic failure profile, a transaction is designated as irrevocable. In response to designating a transaction as irrevocable, Single Owner Read Locks (SORLs) are acquired for previous and subsequent reads in the irrevocably designated transaction to ensure the transaction is able to complete without modification to locations read from, while permitting remote resources to load from those locations to continue execution.
    Type: Grant
    Filed: September 13, 2011
    Date of Patent: January 7, 2014
    Assignee: Intel Corporation
    Inventors: Adam Welc, Bratin Saha, Ali-Reza Adl-Tabatabai
  • Patent number: 8627043
    Abstract: Mechanisms for performing data parallel function calls in code during runtime are provided. These mechanisms may operate to execute, in the processor, a portion of code having a data parallel function call to a target portion of code. The mechanisms may further operate to determine, at runtime by the processor, whether the target portion of code is a data parallel portion of code or a scalar portion of code and determine whether the calling code is data parallel code or scalar code. Moreover, the mechanisms may operate to execute the target portion of code based on the determination of whether the target portion of code is a data parallel portion of code or a scalar portion of code, and the determination of whether the calling code is data parallel code or scalar code.
    Type: Grant
    Filed: March 26, 2012
    Date of Patent: January 7, 2014
    Assignee: International Business Machines Corporation
    Inventors: Alexandre E. Eichenberger, Brian K. Flachs, Charles R. Johns, Mark R. Nutter
  • Patent number: 8627042
    Abstract: Mechanisms for performing data parallel function calls in code during runtime are provided. These mechanisms may operate to execute, in the processor, a portion of code having a data parallel function call to a target portion of code. The mechanisms may further operate to determine, at runtime by the processor, whether the target portion of code is a data parallel portion of code or a scalar portion of code and determine whether the calling code is data parallel code or scalar code. Moreover, the mechanisms may operate to execute the target portion of code based on the determination of whether the target portion of code is a data parallel portion of code or a scalar portion of code, and the determination of whether the calling code is data parallel code or scalar code.
    Type: Grant
    Filed: December 30, 2009
    Date of Patent: January 7, 2014
    Assignee: International Business Machines Corporation
    Inventors: Alexandre E. Eichenberger, Brian K. Flachs, Charles R. Johns, Mark R. Nutter
  • Patent number: 8601241
    Abstract: A clone set of General Purpose Registers (GPRs) is created to be used by a set of helper thread binaries, which is created from a set of main thread binaries. When the set of main thread binaries enters a wait state, the set of helper thread binaries uses the clone set of GPRs to continue using unused execution units within a processor core. The set of helper threads are thus able to warm up local cache memory with data that will be needed when execution of the set of main thread binaries resumes.
    Type: Grant
    Filed: February 1, 2008
    Date of Patent: December 3, 2013
    Assignee: International Business Machines Corporation
    Inventors: Ravi K. Arimilli, Juan C. Rubio, Balaram Sinharoy
  • Patent number: 8601238
    Abstract: An arithmetic processing apparatus includes: a plurality of processing units connected in series to each other, wherein each of the processing units includes a limitation information setting section in which limitation information, which indicates the amount of arithmetic processing that each of the processing units is to process for data of each arithmetic processing unit, is set; an arithmetic section which executes arithmetic processing on the data of each arithmetic processing unit, according to the limitation information set in the limitation information setting section, by the same program between the plurality of processing units; and a memory in which processing data subjected to the arithmetic processing by the arithmetic section is stored.
    Type: Grant
    Filed: May 25, 2010
    Date of Patent: December 3, 2013
    Assignee: Sony Corporation
    Inventors: Kenji Yamane, Tsuyoshi Kano, Masahiro Takahashi
  • Patent number: 8595467
    Abstract: Mechanisms are provided for performing a floating point collect and operate for a summation across a vector for a dot product operation. A routing network placed before the single instruction multiple data (SIMD) unit allows the SIMD unit to perform a summation across a vector with a singe stage of adders. The routing network routes the vector elements to the adders in a first cycle. The SIMD unit stores the results of the adders into a results vector register. The routing network routes the summation results from the results vector register to the adders in a second cycle. The SIMD unit then stores the results from the second cycle in the results vector register.
    Type: Grant
    Filed: December 29, 2009
    Date of Patent: November 26, 2013
    Assignee: International Business Machines Corporation
    Inventors: Brian K. Flachs, Seiji Maeda, Steven Osman
  • Patent number: 8589665
    Abstract: Mechanisms are provided for processing an instruction in a processor of a data processing system. The mechanisms operate to receive, in a processor of the data processing system, an instruction, the instruction including power/performance tradeoff information associated with the instruction. The mechanisms further operate to determine power/performance tradeoff priorities or criteria, specifying whether power conservation or performance is prioritized with regard to execution of the instruction, based on the power/performance tradeoff information. Moreover, the mechanisms process the instruction in accordance with the power/performance tradeoff priorities or criteria identified based on the power/performance tradeoff information of the instruction.
    Type: Grant
    Filed: May 27, 2010
    Date of Patent: November 19, 2013
    Assignee: International Business Machines Corporation
    Inventors: John B. Carter, Jian Li, Karthick Rajamani, William E. Speight, Lixin Zhang
  • Patent number: 8589663
    Abstract: A technique to perform three-source instructions. At least one embodiment of the invention relates to converting a three-source instruction into at least two instructions identifying no more than two source values.
    Type: Grant
    Filed: June 27, 2006
    Date of Patent: November 19, 2013
    Assignee: Intel Corporation
    Inventors: Avinash Sodani, Stephan Jourdan, Alexandre Farcy, Per Hammarlund
  • Patent number: 8578140
    Abstract: One aspect of the embodiments utilizes a branch instruction predicting unit includes a history memory to store a branch address as history information, a selecting unit to select a storing place with reference to selection information for selecting either one of storing places when the branch address of the branch instruction is stored as the history information, In the case that there are a plurality of branch addresses to be stored at a storing place, when a first branch address is stored at a storing place, a second branch address is stored at a storing place in accordance with selection information updated by the updating unit.
    Type: Grant
    Filed: August 22, 2008
    Date of Patent: November 5, 2013
    Assignee: Fujitsu Limited
    Inventor: Megumi Yokoi