Patents Examined by Keith Vicary
  • Patent number: 8078657
    Abstract: Disclosed is a circuit for simultaneously searching two ends of a vector. The circuit comprises at least one input for receiving a vector of head pointers. A first input of a memory latch receives the vector of head pointers. An input of a first priority decoder receives the vector of head pointers from the memory latch. The first priority decoder traverses the vector of head pointers from a first end of the vector for identifying one active bit in the vector. An input of a first reverse module also receives the vector of head pointers from the memory latch. An input of second priority decoder receives the vector of head pointers (in reverse order) from the first reverse module. The second priority decoder traverses the vector received from the first reverse module from a first end of the reversed vector for identifying one active bit in the vector.
    Type: Grant
    Filed: January 3, 2007
    Date of Patent: December 13, 2011
    Assignee: International Business Machines Corporation
    Inventors: Todd A. Strader, Scot H. Rider
  • Patent number: 8078845
    Abstract: A method and a device for processing instructions based on register group size information includes a pipelined processor, an instruction memory unit and a register file, whereas the pipelined processor includes a write-back unit and an execution unit. The device is characterized by including a controller that is adapted to receive a first register group size information and a first register identification information that define a first group of source registers associated with a first instruction; and to determine an execution related operation of the first instruction in response to the first register group size information, the first register identification information, a second register group size information and a second register identification information. The second register group size information and the second register identification information define a second group of target registers associated with a second instruction.
    Type: Grant
    Filed: December 16, 2005
    Date of Patent: December 13, 2011
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Noam Sheffer, Shlomit Dorani, Evgeni Ginzburg
  • Patent number: 8078843
    Abstract: An extended DRAIN instruction is used to stall processing within a computing environment. The instruction includes an indication of the one or more processing stages at which processing is to be stalled. It also includes a control that allows processing to be stalled for additional cycles, as desired. The enhanced DRAIN instruction enables its use to be more granular and to have minimal impact with respect to each individual use.
    Type: Grant
    Filed: January 31, 2008
    Date of Patent: December 13, 2011
    Assignee: International Business Machines Corporation
    Inventors: Khary J. Alexander, Fadi Y. Busaba, Mark S. Farrell, Bruce C. Giamei, Timothy J. Slegel, Charles F. Webb
  • Patent number: 8078836
    Abstract: In-lane vector shuffle operations are described. In one embodiment a shuffle instruction specifies a field of per-lane control bits, a source operand and a destination operand, these operands having corresponding lanes, each lane divided into corresponding portions of multiple data elements. Sets of data elements are selected from corresponding portions of every lane of the source operand according to per-lane control bits. Elements of these sets are copied to specified fields in corresponding portions of every lane of the destination operand. Another embodiment of the shuffle instruction also specifies a second source operand, all operands having corresponding lanes divided into multiple data elements. A set selected according to per-lane control bits contains data elements from every lane portion of a first source operand and data elements from every corresponding lane portion of the second source operand. Set elements are copied to specified fields in every lane of the destination operand.
    Type: Grant
    Filed: December 30, 2007
    Date of Patent: December 13, 2011
    Assignee: Intel Corporation
    Inventors: Zeev Sperber, Robert Valentine, Benny Eitan, Doron Orenstein
  • Patent number: 8078838
    Abstract: A multiport semiconductor memory device having a processor wake-up function and multiprocessor system, the multiprocessor system including a first processor configured to perform a first predetermined task; a second processor configured to perform a second predetermined task; and a multiport semiconductor memory device coupled to the first and second processors. The multiport semiconductor memory device includes a memory cell array having at least one shared memory area; a first port coupled to the at least one shared memory area; a second port coupled to the at least one shared memory area; and a wake-up signal generator. The first processor is coupled to the at least one shared memory area via the first port, the second processor is coupled to the at least one shared memory area via the second port, and the wake-up signal generator is coupled to the first processor and the second processor.
    Type: Grant
    Filed: September 23, 2008
    Date of Patent: December 13, 2011
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Jin-Hyoung Kwon, Han-Gu Sohn, Kwang-Myeong Jang
  • Patent number: 8078851
    Abstract: A method for recovering global history shift register (GHSR) and return address stack (RAS) is provided, which is applicable to an instruction pipeline of a processor and includes the following steps. First, provide a branch recovery table (BRT) and a backup stack. Whenever a branch instruction enters a predetermined stage of the instruction pipeline, add a record in the BRT according to the branch instruction. Whenever a return address is popped from the RAS of the instruction pipeline, push the return address into the backup stack. When flushing the instruction pipeline, determine a removal range of the BRT according to the condition which triggers the pipeline flush. Recover the RAS according to the records in the removal range and the backup stack. Remove all records in the removal range. Recover the GHSR of the instruction pipeline according to the removed records.
    Type: Grant
    Filed: December 18, 2008
    Date of Patent: December 13, 2011
    Assignee: Faraday Technology Corp.
    Inventors: Guan-Ying Chiou, Yuan-Jung Kuo, Hui-Chin Yang, Tzu-Min Chou, Shun-Chieh Chang, Chung-Ping Chung
  • Patent number: 8069338
    Abstract: A data processing device includes a program execution section to supply an operation direction signal to a peripheral device based on an executed program and execute a branch operation in response to a branch direction signal, and a branch wait operation section to receive the branch direction signal and a peripheral device status notification signal indicating whether an operation performed in the peripheral device is being executed. The branch wait operation section outputs an instruction issue stop signal directing waiting of the branch operation to the program execution section if the branch direction signal is input during a period when the peripheral device status notification signal is active indicating that the operation in the peripheral device is being executed.
    Type: Grant
    Filed: November 14, 2008
    Date of Patent: November 29, 2011
    Assignee: Renesas Electronics Corporation
    Inventors: Hitoshi Suzuki, Yukihiko Akaike
  • Patent number: 8046565
    Abstract: Systems and methods for accelerators which may execute a program in conjunction with a PC are disclosed. In one embodiment, an accelerator includes a plurality of calculation units, each calculation unit operable to execute the program in parallel, an operation control unit configured to control an operation capability or a processing capability of at least one of the plurality of calculation units, and a control unit configured to determine a corresponding operation capability or processing capability for the plurality of calculation units based on load information on the program to be executed and control the operation control unit accordingly.
    Type: Grant
    Filed: December 5, 2007
    Date of Patent: October 25, 2011
    Assignee: Kabushiki Kaisha Toshiba
    Inventor: Hideki Yasukawa
  • Patent number: 8024554
    Abstract: A processor comprising fetch logic adapted to fetch instructions from memory and decode logic coupled to the fetch logic and adapted to decode the fetched instructions. If a bit in the decode logic is in a first state, a particular fetched instruction is skipped and a group of one or more instructions is executed in lieu of the particular fetched instruction. If the bit is in a second state, both the group and the particular fetched instruction are executed.
    Type: Grant
    Filed: July 25, 2005
    Date of Patent: September 20, 2011
    Assignee: Texas Instruments Incorporated
    Inventor: Gerard Chauvel
  • Patent number: 8006078
    Abstract: Provided are a central processing unit (CPU) and method for executing a branch instruction of a CPU, which can protect user's data by preventing an error due to a computer virus and a hacker is provided. The CPU includes: a branch instruction verification unit which verifies whether a branch instruction is valid; and a branch instruction execution unit which executes the branch instruction when the branch instruction is valid. The method includes: verifying whether the branch instruction is valid; and not executing the branch instruction when the branch instruction is invalid.
    Type: Grant
    Filed: December 27, 2007
    Date of Patent: August 23, 2011
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Gyung Ho Lee, Tae Joon Park, Byung Chang Kang, Edward Jung, Yixin Shi
  • Patent number: 7979682
    Abstract: A system to prevent livelock. An outcome of an event is predicted to form an event outcome prediction. The event outcome prediction is compared with a correct value for a datum to be accessed. An instruction is appended with a real event outcome when the outcome of the event is mispredicted to form an appended instruction. A prediction override bit is set on the appended instruction. Then, the appended instruction is executed with the real event outcome.
    Type: Grant
    Filed: March 19, 2008
    Date of Patent: July 12, 2011
    Assignee: International Business Machines Corporation
    Inventors: Erik R. Altman, Vijayalakshmi Srinivasan
  • Patent number: 7971038
    Abstract: An asynchronous ripple pipeline has a plurality of stages, each with a controller (18) and a register (16). The controller has a register control output (21), and a combined acknowledgement and request output (20), together with a request input (22) and an acknowledgement input (24). The protocol used has a single signal, output on the combined acknowledgement and request output (20) of a stage (30), that functions both as a request to the next stage (32) and an acknowledgement to the previous stage (34).
    Type: Grant
    Filed: September 4, 2006
    Date of Patent: June 28, 2011
    Assignee: NXP B.V.
    Inventor: Paul Wielage
  • Patent number: 7966480
    Abstract: Trap flags and a pointer trap are associated with registers in a processor. Each trap flag indicates whether a corresponding register has been written with valid data. If not, the trap flag is set to indicate that the register corresponding to the trap flag contains invalid data. During instruction processing, the pointer trap receives control signals from instruction fetch/decode logic on the processor indicating an instruction being processed calls for a register to be used as a pointer. If the specified pointer register has its corresponding trap flag set, then the pointer trap indicates that a processing exception has occurred. The interrupt logic/exception processing logic then causes a trap interrupt service routine (ISR) to be executed in response to the exception. The ISR prevents errors from being introduced in the instruction processing due to invalid pointer values.
    Type: Grant
    Filed: December 20, 2004
    Date of Patent: June 21, 2011
    Assignee: Microchip Technology Incorporated
    Inventor: Michael I. Catherwood
  • Patent number: 7958336
    Abstract: A device and method may fetch an instruction or micro-operation for execution. An indication may be made as to whether the instruction is dependent upon any source values corresponding to a set of previously fetched instructions. A value may be stored corresponding to each source value from which the first instruction depends. An indication may be made for each of the set of sources of the instruction, whether the source depends on a previously loaded value or source, where indicating may include storing a value corresponding to the indication. The instruction may be executed after the stored values associated with the instruction indicate the dependencies are satisfied.
    Type: Grant
    Filed: June 30, 2008
    Date of Patent: June 7, 2011
    Assignee: Intel Corporation
    Inventors: Sagi Lahav, Guy Patkin, Zeev Sperber, Herbert Hum, Shih-Lien Lu, Srikanth T. Srinivasan
  • Patent number: 7953960
    Abstract: A pipeline processor has circuits to detect the presence of a register access instruction in an issue stage of the pipeline. A load-miss occurring at a later stage may cause the register access instruction to be marked with an associated bit. The register access instruction progresses down the pipeline and when the flush stage is reached, the processor checks the associated bit and flushes the register access instruction.
    Type: Grant
    Filed: October 18, 2005
    Date of Patent: May 31, 2011
    Assignee: International Business Machines Corporation
    Inventors: Kurt Alan Feiste, David Scott Ray, David Shippy, Albert James Van Norstrand, Jr.
  • Patent number: 7945765
    Abstract: An electronic apparatus includes a plurality of stages serially interconnected as a pipeline to perform sequential processings on input operands. A shortening circuit associated with at least one stage of the pipeline recognizes when one or more of input operands for the stage has been predetermined as appropriate for shortening and execute the shortening when appropriate.
    Type: Grant
    Filed: January 31, 2008
    Date of Patent: May 17, 2011
    Assignee: International Business Machines Corporation
    Inventors: Philip George Emma, Allan Mark Hartstein, Hans Jacobson, William Robert Reohr
  • Patent number: 7921280
    Abstract: In one embodiment, the present invention includes a retirement unit to receive and retire executed instructions. The retirement unit may include a first array to receive information at allocation and a second array to receive information after execution. The retirement unit may further include logic to calculate an event associated with an executed instruction if information associated with the executed instruction is stored in an on-demand portion of at least one of arrays. Other embodiments are described and claimed.
    Type: Grant
    Filed: June 27, 2008
    Date of Patent: April 5, 2011
    Assignee: Intel Corporation
    Inventors: Zeev Sperber, Rafi Marom, Ofer Levy
  • Patent number: 7917731
    Abstract: A processor performs a prefetch operation on non-sequential instruction addresses. If a first instruction address misses in an instruction cache and accesses a higher-order memory as part of a fetch operation, and a branch instruction associated with the first instruction address or an address following the first instruction address is detected and predicted taken, a prefetch operation is performed using a predicted branch target address, during the higher-order memory access. If the predicted branch target address hits in the instruction cache during the prefetch operation, associated instructions are not retrieved, to conserve power. If the predicted branch target address misses in the instruction cache during the prefetch operation, a higher-order memory access may be launched, using the predicted branch instruction address. In either case, the first instruction address is re-loaded into the fetch stage pipeline to await the return of instructions from its higher-order memory access.
    Type: Grant
    Filed: August 2, 2006
    Date of Patent: March 29, 2011
    Assignee: QUALCOMM Incorporated
    Inventors: Brian Michael Stempel, Thomas Andrew Sartorius, Rodney Wayne Smith
  • Patent number: 7917727
    Abstract: An input/output system transfers data packets to and from a SIMD array of processing elements (PEs) such that different sizes of data packets are transferred to respective ones of the PEs. The packets are transferred in batches to respective different addresses in the array under the control of the PEs. Transfer to or from the array may be carried out when either a batch or part of a batch is ready for transfer. The decision to transfer either full or part batches is made in dependence upon the speed of the PEs and the speed and intermittency of the data packets.
    Type: Grant
    Filed: May 23, 2007
    Date of Patent: March 29, 2011
    Assignee: Rambus, Inc.
    Inventors: John Rhoades, Ken Cameron, Paul Winser, Ray McConnell, Gordon Faulds, Simon McIntosh-Smith, Anthony Spencer, Jeff Bond, Matthias Dejaegher, Danny Halamish, Gajinder Panesar
  • Patent number: 7900022
    Abstract: In general, in one aspect, a processing unit includes an input buffer to store data received by the processing unit, a memory, an arithmetic logic unit coupled to the input buffer and to the memory, an output buffer; and control logic having access to a control store of program instructions, the control logic to process instructions including an instruction to transfer data from the input buffer to the memory and an instruction to cause the arithmetic logic unit to perform an operation on operands provided by at least one of the memory and the input buffer, the instruction to output results of the operation to at least one of the memory and the output buffer.
    Type: Grant
    Filed: February 14, 2006
    Date of Patent: March 1, 2011
    Assignee: Intel Corporation
    Inventors: Wajdi K. Feghali, William C. Hasenplaugh, Gilbert M. Wolrich, Daniel F. Cutter, Vinodh Gopal