Patents Examined by Corey Faherty
  • Patent number: 7895415
    Abstract: Apparatus and computing systems associated with cache sharing based thread control are described. One embodiment includes a memory to store a thread control instruction and a processor to execute the thread control instruction. The processor is coupled to the memory. The processor includes a first unit to dynamically determine a cache sharing behavior between threads in a multi-threaded computing system and a second unit to dynamically control the composition of a set of threads in the multi-threaded computing system. The composition of the set of threads is based, at least in part, on thread affinity as exhibited by cache-sharing behavior. The thread control instruction controls the operation of the first unit and the second unit.
    Type: Grant
    Filed: February 14, 2007
    Date of Patent: February 22, 2011
    Assignee: Intel Corporation
    Inventors: Antonio Gonzalez, Josep M. Codina, Pedro Lopez, Fernando Latorre, Jose-Alejandro Pineiro, Enric Gibert, Jaume Abella, Jaideep Moses, Donald Newell, Ravishankar Iyer, Ramesh G. Illikkal, Srihari Makineni
  • Patent number: 7890736
    Abstract: A control device (D) is a part of an integrated circuit (IC) comprising at least two cores (C1, C2) coupled, via buses (BC1, BC2), to a memory (M) arranged to store data to be transferred between these cores (C1, C2). This control device (D) comprises at least one flag register (FR1, FR2) coupled to the cores (C1, C2) via the buses (BC1, BC2) and arranged to store, at Ni addresses, Ni flag values associated to data stored into the memory (M) by one of the cores and ready to be transferred towards the other core, each flag value stored at a first address being able to be set or reset by one of the cores (C1, C2) by means of a command designating the first address, thus authorizing another flag value stored at a second address to be simultaneously set or reset by the other core (C2, C1) by means of a command designating the second address.
    Type: Grant
    Filed: November 3, 2006
    Date of Patent: February 15, 2011
    Assignee: ST-Ericsson SA
    Inventors: Francois Chancel, Patrick Fulcheri
  • Patent number: 7886130
    Abstract: A system-on-a-chip integrated circuit has a field programmable gate array core having logic clusters, static random access memory modules, and routing resources, a field programmable gate array virtual component interface translator having inputs and outputs, wherein the inputs are connected to the field programmable gate array core, a microcontroller, a microcontroller virtual component interface translator having input and outputs, wherein the inputs are connected to the microcontroller, a system bus connected to the outputs of the field programmable gate array virtual component interface translator and also to the outputs of said microcontroller virtual component interface translator, and direct connections between the microcontroller and the routing resources of the field programmable gate array core.
    Type: Grant
    Filed: December 29, 2008
    Date of Patent: February 8, 2011
    Assignee: Actel Corporation
    Inventors: Arunangshu Kundu, Arnold Goldfein, William C. Plants, David Hightower
  • Patent number: 7882339
    Abstract: A processor may include an address monitor table and an atomic update table to support speculative threading. The processor may also include one or more registers to maintain state associated with execution of speculative threads. The processor may support one or more of the following primitives: an instruction to write to a register of the state, an instruction to trigger the committing of buffered memory updates, an instruction to read the a status register of the state, and/or an instruction to clear one of the state bits associated with trap/exception/interrupt handling. Other embodiments are also described and claimed.
    Type: Grant
    Filed: June 23, 2005
    Date of Patent: February 1, 2011
    Assignee: Intel Corporation
    Inventors: Quinn A. Jacobson, Hong Wang, John Shen, Gautham N. Chinya, Per Hammarlund, Xiang Zou, Bryant Bigbee, Shivnandan D. Kaushik
  • Patent number: 7877587
    Abstract: A branch prediction mechanism 16, 18 within a multithreaded processor having hardware scheduling logic 6, 8, 10, 12 uses a shared global history table 18 which is indexed by respective branch history registers 20, 22 for each program thread. Different mappings are used between preceding branch behavior and the prediction value stored within respective branch history registers 20, 22. These different mappings may be provided by inverters placed into the shift in paths for the branch history registers 20, 22 or by adders 40, 42 or in some other way. The different mappings help to equalise the probability of use of the particular storage locations within the global history table 18 such that the plurality of program threads are not competing excessively for the same storage locations corresponding to the more commonly occurring patterns of preceding branch behavior.
    Type: Grant
    Filed: June 9, 2006
    Date of Patent: January 25, 2011
    Assignee: ARM Limited
    Inventors: Vladimir Vasekin, Stuart David Biles, Yuri Levdik, Andrei Kapustin
  • Patent number: 7877578
    Abstract: The present invention provides an information processing apparatus having a predecoder decoding an operation code in an input instruction, generating conditional branch instruction information indicating that the input instruction is a conditional branch instruction and instruction type information indicating a type of the conditional branch instruction when the input instruction is a conditional branch instruction, and writing the input instruction, from which the operation code is deleted, the conditional branch instruction information and the instruction type information to the instruction cache memory, and a history information writing unit writing history information indicating whether or not the conditional branch instruction was branched, as a result of executing the conditional branch instruction stored in the instruction cache memory, to an area in the instruction cache memory, where the operation code of the conditional branch instruction is deleted.
    Type: Grant
    Filed: February 22, 2008
    Date of Patent: January 25, 2011
    Assignee: Fujitsu Semiconductor Limited
    Inventor: Yasuhiro Yamazaki
  • Patent number: 7877584
    Abstract: Embodiments include a device and a method. In an embodiment, a device includes a processor having an associated hardware resource and operable to execute an instruction group. The device also includes a resource manager operable to implement a resource management policy for the hardware resource with respect to an execution of the instruction group, the resource management policy responsive to a prediction of a future performance of the hardware resource based at least in part on a historical performance of the hardware resource.
    Type: Grant
    Filed: August 29, 2005
    Date of Patent: January 25, 2011
    Assignee: The Invention Science Fund I, LLC
    Inventors: Bran Ferren, W. Daniel Hillis, William Henry Mangione-Smith, Nathan P. Myhrvold, Clarence T. Tegreene, Lowell L. Wood, Jr.
  • Patent number: 7877576
    Abstract: When an interruption instruction occurs in an information processing apparatus including a CPU and a coprocessor, execution of a single dedicated instruction “GETACX Dm,Dn” performs saving of necessary data from all registers. “Dm” is a value output from a general register group 104 to a first data input bus 120. Each of calculation units implemented in a coprocessor 110 recognizes a value stored therein. If a value “Dm” specifies one of the calculation units, the specified calculation unit outputs, to a selector 116, data stored in a register included in the specified calculation unit. An implemented calculation unit information output circuit 117 stores therein the count of the calculation units implemented in the coprocessor 110. If a value of the first data input bus 120 is greater than the count of the calculation units, the implemented calculation unit information output circuit 117 outputs a value “1” to a flag register 102.
    Type: Grant
    Filed: February 19, 2008
    Date of Patent: January 25, 2011
    Assignee: Panasonic Corporation
    Inventors: Toru Morikawa, Jiro Miyake, Hiroyuki Mizohata
  • Patent number: 7873820
    Abstract: The present invention provides processing systems, apparatuses, and methods that reduce power consumption with the use of a loop buffer. In an embodiment, an instruction fetch unit of a processor initially provides instructions from an instruction cache to an execution unit of the processor. While instructions are provided from the instruction cache to the execution unit, instructions forming a loop are stored in a loop buffer. When a loop stored in the loop buffer is being iterated, the instruction cache is disabled to reduce power consumption and instructions are provided to the execution unit from the loop buffer. When the loop is exited, the instruction cache is re-enabled and instructions are provided to the execution unit from the instruction cache.
    Type: Grant
    Filed: November 15, 2005
    Date of Patent: January 18, 2011
    Assignee: MIPS Technologies, Inc.
    Inventor: Matthias Knoth
  • Patent number: 7870370
    Abstract: Methods, apparatus, and products for determining thermal characteristics of instruction sets comprising one or more computer program instructions executed by a computer processor are disclosed that include tracking, in a performance counter, a number of classes of instructions run during execution of a plurality of instruction sets; identifying, for each instruction set, from the performance counter, a number of each class of instructions run during execution of the instruction set; and ranking the instruction sets in dependence upon the number of each class of instructions run during execution of each instruction set and a profile of thermal characteristics of classes of instructions.
    Type: Grant
    Filed: December 19, 2007
    Date of Patent: January 11, 2011
    Assignee: International Business Machines Corporation
    Inventors: Nathan D. Fontenot, Jacob L. Moilanen, Joel H. Schopp, Michael T. Strosaker
  • Patent number: 7856547
    Abstract: A method and system for handling of potential unsafe instructions and/or for handling transfers of control in a Virtual Machine, that includes generating a frame composed of pages of analyzed code based on original guest code; identifying instructions within the frame that transfer control (or are otherwise unsafe); replacing instructions that transfer the control with an interrupt that transfers control to a stub in non-privileged code; wherein the stub checks whether the control transfer (or instruction) is safe or unsafe, and (i) for unsafe control transfers/unsafe instructions, switches the context to Virtual Machine Monitor; and (ii) for safe control transfers, executes the control transfer in non-privileged mode. The instructions that transfer control can include any of JMP, CALL, RET and RET(n). The instructions that transfer control can also include interrupts.
    Type: Grant
    Filed: July 29, 2009
    Date of Patent: December 21, 2010
    Assignee: Parallels Holdings, Ltd.
    Inventors: Alexey B. Koryakin, Nikolay N. Dobrovolskiy, Andrey A. Omelyanchuk, Maxim A. Kuzkin, Alexander G. Tormasov, Serguei M. Beloussov, Stanislav S. Protassov
  • Patent number: 7856545
    Abstract: A co-processor module for accelerating computational performance includes a Field Programmable Gate Array (“FPGA”) and a Programmable Logic Device (“PLD”) coupled to the FPGA and configured to control start-up configuration of the FPGA. A non-volatile memory is coupled to the PLD and configured to store a start-up bitstream for the start-up configuration of the FPGA. A mechanical and electrical interface is for being plugged into a microprocessor socket of a motherboard for direct communication with at least one microprocessor capable of being coupled to the motherboard. After completion of a start-up cycle, the FPGA is configured for direct communication with the at least one microprocessor via a microprocessor bus to which the microprocessor socket is coupled.
    Type: Grant
    Filed: July 27, 2007
    Date of Patent: December 21, 2010
    Assignee: DRC Computer Corporation
    Inventor: Steven Casselman
  • Patent number: 7856546
    Abstract: A configurable processor module accelerator using a programmable logic device is described. According to one embodiment, the accelerator module includes a circuit board having coupled thereto a first programmable logic device, a controller, and a first memory. The first programmable logic device has access to a bitstream which is stored in the first memory. Access to the bitstream by the first programmable logic device is controlled by the controller. The bitstream is capable of being instantiated in the first programmable logic device using programmable logic thereof to provide at least a transport interface for communication between the first programmable logic device and one or more other devices associated with the motherboard using the microprocessor interface.
    Type: Grant
    Filed: July 27, 2007
    Date of Patent: December 21, 2010
    Assignee: DRC Computer Corporation
    Inventors: Steven Casselman, Stephen Sample
  • Patent number: 7853774
    Abstract: An integrated circuit including a plurality of tiles. Each tile comprises a processor; a switch including switching circuitry to forward data words over data paths from other tiles to the processor and to switches of other tiles; and memory coupled to the switch to buffer data transmitted among the tiles. The switches form a plurality of networks among the tiles. At least one of the networks is configured to transmit data among the tiles using an approach that reserves sufficient buffer space in the memories coupled to the switches to avoid deadlock conditions, and at least one of the networks is configured to transmit data among the tiles using an approach to detect and recover from deadlock conditions.
    Type: Grant
    Filed: December 21, 2005
    Date of Patent: December 14, 2010
    Assignee: Tilera Corporation
    Inventor: David Wentzlaff
  • Patent number: 7849296
    Abstract: There is provided a method of controlling a monitoring function of a processor, the processor being operable in at least two domains, comprising a first domain and a second domain, the first and second domains each comprising at least one mode, the method comprising the steps of: setting at least one control value, the at least one control value relating to a condition and being indicative of whether the monitoring function is allowable in the first domain; and only allowing initiation of the monitoring function in the first domain when the condition is present if its related control value indicates that the monitoring function is allowable. In some embodiments the first domain is a secure domain and the monitoring function is a debug or trace function.
    Type: Grant
    Filed: November 17, 2003
    Date of Patent: December 7, 2010
    Assignee: ARM Limited
    Inventors: Simon Charles Watt, Luc Orion
  • Patent number: 7849298
    Abstract: A method and system are disclosed for saving soft state information, which is non-critical for executing a process in a processor, upon a receipt of a process interrupt by the processor. The soft state is transmitted to a memory associated with the processor via a memory interface. Preferably, the soft state is transmitted within the processor to the memory interface via a scan-chain pathway within the processor, which allows functional data pathways to remain unobstructed by the storage of the soft state. Thereafter, the stored soft state can be restored from memory when the process is again executed.
    Type: Grant
    Filed: January 12, 2009
    Date of Patent: December 7, 2010
    Assignee: International Business Machines Corporation
    Inventors: Ravi Kumar Arimilli, Robert Alan Cargnoni, Guy Lynn Guthrie, William John Starke
  • Patent number: 7849299
    Abstract: Provided is a means for accessing multiple entries from a branch history table (BHT) in a single clock cycle, in the context of pipelined instruction processing. In a first clock cycle, a plurality of conditional branch instructions is fetched. A value is accessed from a global history record (GHR) of conditional branch resolutions and predictions for a fetched conditional branch instruction. An associated instruction address is hashed with a left-shifted GHR value. The result is used to access a word in an indexed BHT stored in a single-port random access memory (RAM). The word comprises a branch direction count for the plurality of fetched conditional branch instructions. In a second clock cycle a conditional branch instruction is executed at an execute stage and the BHT is written with an updated branch direction count in response to a resolution of the executed conditional branch instruction.
    Type: Grant
    Filed: May 5, 2008
    Date of Patent: December 7, 2010
    Assignee: Applied Micro Circuits Corporation
    Inventors: Terrence Matthew Potter, Jon A. Loschke
  • Patent number: 7844805
    Abstract: A processor for a portable electronic device. The processor includes a RISC (reduced instruction set computing) core a CISC (complex instruction set computing) core, a video accelerator circuit and an audio accelerator circuit. Each of the video and audio accelerator circuits are coupled to both the RISC and CISC cores, with both cores and both accelerator circuit being incorporated into a single integrated circuit. In a first plurality of operational modes, the RISC core is active, while the CISC core is in one of a sleep state or a power off state. In a second plurality of modes, both the RISC and CISC cores are active.
    Type: Grant
    Filed: June 6, 2007
    Date of Patent: November 30, 2010
    Assignee: VIA Technologies, Inc.
    Inventor: Chi Chang
  • Patent number: 7836282
    Abstract: The illustrative embodiments described herein provide a computer implemented method, apparatus, and computer program product for increasing a number of instructions per clock cycle associated with a processor. The illustrative embodiments fold a plurality of non-sequential instructions within the set of sequential order instructions to form a folded instruction. The folded instruction is executed to form an executed instruction. The executed instruction is placed in a reorder buffer. The instructions within the reorder buffer are written to a register based on the sequential order of execution within the set of sequential order instructions.
    Type: Grant
    Filed: December 20, 2007
    Date of Patent: November 16, 2010
    Assignee: International Business Machines Corporation
    Inventors: Oliver Keren Ban, Neo Hock Keng, Wo Heem Tan
  • Patent number: 7831815
    Abstract: A data processing apparatus is provided comprising a processing unit for executing instructions, a cache structure for storing instructions retrieved from memory for access by the processing unit, and profiling logic for identifying a sequence of instructions that is functionally equivalent to an accelerator instruction. When such a sequence of instructions is identified, the equivalent accelerator instruction is stored in the cache structure as a replacement for the first instruction of the sequence, with the remaining instructions in the sequence of instructions being stored unchanged. The accelerator instruction includes an indication to cause the processing unit to skip the remainder of the sequence when executing the accelerator instruction.
    Type: Grant
    Filed: February 6, 2008
    Date of Patent: November 9, 2010
    Assignee: ARM Limited
    Inventors: Peter Richard Greenhalgh, Stephen John Hill