Context Preserving (e.g., Context Swapping, Checkpointing, Register Windowing Patents (Class 712/228)
  • Patent number: 7856510
    Abstract: A key engine that performs route lookups for a plurality of keys may include a data processing portion configured to process one data item at a time and to request data when needed. A buffer may be configured to store a partial result from the data processing portion. A controller may be configured to load the partial result from the data processing portion into the buffer. The controller also may be configured to input another data item into the data processing portion for processing while requested data is obtained for a prior data item. A number of these key engines may be used by a routing unit to perform a large number of route lookups at the same time.
    Type: Grant
    Filed: May 15, 2008
    Date of Patent: December 21, 2010
    Assignee: Juniper Networks, Inc.
    Inventors: Pankaj Patel, Viswesh Ananthakrishnan
  • Patent number: 7853954
    Abstract: A microprocessor executes programs in a pipeline architecture including a task register management unit that, if a switch instruction to a second task is issued when a plurality of units executes a first task, switches a value of a task register to second register information that is used when the second task is executed after the execution of the first task is completed and a task manager that switches a value of a task identification information register to a second task identifier after the value is switched to the second register information, and grants each of the plurality of units permission to execute the second task.
    Type: Grant
    Filed: July 7, 2005
    Date of Patent: December 14, 2010
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Hiroyoshi Haruki, Mikio Hashimoto, Takeshi Kawabata
  • Patent number: 7849297
    Abstract: A multithreading microprocessor has a plurality of thread contexts (TCs) each including sufficient state, such as general purpose registers and program counter, to execute a separate thread of execution as one of a plurality of symmetric processors controlled by a multiprocessor operating system. However, the microprocessor hardware does not support the ability for one TC to direct an exception to another TC, i.e., to specify to which of the other TCs the exception is directed. A first thread running on a first TC of the operating system executes architected instructions to halt a second thread (either user or kernel thread) running on a second TC, save state of the second TC, write the second TC state to emulate an exception—including writing a restart register with the address of an exception handler, and unhalt the second TC to execute the exception hander.
    Type: Grant
    Filed: December 20, 2005
    Date of Patent: December 7, 2010
    Assignee: MIPS Technologies, Inc.
    Inventor: Kevin D. Kissell
  • 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
  • Publication number: 20100306512
    Abstract: A method and apparatus for efficient register checkpointing is herein described. A transaction is detected in program code. A recovery block is inserted in the program code to perform recovery operations in response to an abort of the first transaction. A roll-back edge is potentially inserted from an abort point to the recovery block. A control flow edge is inserted from the recovery block to a entry point of the transaction. Checkpoint code is inserted before the entry point to backup live-in registers in backup storage elements and recovery code is inserted in the recovery block to restore the live-in registers from the backup storage elements in response to an abort of the transaction.
    Type: Application
    Filed: August 13, 2010
    Publication date: December 2, 2010
    Inventors: Cheng Wang, Youfeng Wu
  • Patent number: 7844804
    Abstract: One or more Shadow Register Files (SRF) are interposed between a Physical Register File (PRF) and a Backing Store (BS) in a shadow register file system. The SRFs comprise dual-port registers connected serially in a chain of arbitrary depth from the PRF. A Register Save Engine has random access to one port of the registers in the final SRF in the chain, and saves/restores data between the final SRF and the BS, e.g., RAM. As PRF registers are deallocated from calling procedures for use by called procedures, data are serially shifted from multi-port registers in the PRF through successive corresponding dual-port registers in SRFs, and are serially shifted back toward the multi-port registers as the PRF registers are reallocated to calling procedures. Since no procedure can access more than the number of registers in the PRF, the effective size of the PRF is increased, using less costly dual-port registers.
    Type: Grant
    Filed: November 10, 2005
    Date of Patent: November 30, 2010
    Assignee: QUALCOMM Incorporated
    Inventor: Bohuslav Rychlik
  • Patent number: 7836281
    Abstract: A system that facilitates improving performance of a processor during scout mode. During a normal-execution mode, the system executes instructions for using main thread. Upon encountering a stall condition during execution of the main thread, the system generates a checkpoint. The system then enters a scout mode, wherein instructions are speculatively executed by a speculative thread to prefetch future memory references, but results are not committed to the architectural state of the processor. Upon encountering a memory reference during scout mode, the system issues a prefetch for the memory reference. If the stall condition that caused the processor to enter scout mode is resolved, the system uses the checkpoint to resume execution of the main thread from the instruction that caused the stall condition, and simultaneously continues executing instructions in scout mode using the speculative thread from the point where the speculative thread left off.
    Type: Grant
    Filed: October 6, 2005
    Date of Patent: November 16, 2010
    Assignee: Oracle America, Inc.
    Inventors: Marc Tremblay, Shailender Chaudhry
  • Publication number: 20100281236
    Abstract: An apparatus for processing data may include an array of processing elements (such as an n×m or n×n array of processing elements) configured to simultaneously perform operations on a plurality of data elements using a single instruction. Each processing element in the array may be configured to transfer data directly to at least one neighboring processing element within the array. In selected embodiments, the apparatus may include exchange registers to temporarily store data transferred between neighboring processing elements.
    Type: Application
    Filed: April 30, 2009
    Publication date: November 4, 2010
    Applicant: Novafora, Inc.
    Inventors: Shlomo Selim Rakib, Muhammad Ahmed, Marc Schaub
  • Patent number: 7822952
    Abstract: Provided is a context switching device capable of reducing conflicts among accesses due to retrieving and saving of contexts by plural processors. The context switching device has: a transfer unit which transfers context data, according to one of (i) the first transfer mode in which the context data is transferred continuously through cycles by a processor, and (ii) the second transfer mode in which plural pieces of the context data are transferred alternately per cycle by switching respective processors of the context data; and a control unit which (i) decides the processor to be used in the first transfer mode and the processors to be used in the second transfer mode, when there is a conflict in requests of the processors for switching context data, the number of processors being more than M, and (ii) controls the transfer unit based on the decision.
    Type: Grant
    Filed: October 4, 2006
    Date of Patent: October 26, 2010
    Assignee: Panasonic Corporation
    Inventor: Masanori Hemmi
  • Patent number: 7822885
    Abstract: A channel-less system and method are provided for multithreaded communications with a direct memory access (DMA) controller. The method accepts a plurality of DMA command messages directed to a fixed port address. The DMA command messages are arranged in a first-in first-out (FIFO) queue, in the order in which they are received. The DMA command messages are supplied to a DMA controller from the FIFO queue, and in response to the DMA command message, data transfer operation are managed by the DMA controller. Following the completion of each data transfer operation, a transfer complete message indicating completion is sent. In one aspect, DMA command messages are arranged in a plurality of parallel FIFO queues, and CD sets are stored in a plurality of context memories, where each context memory is associated with a corresponding FIFO queue.
    Type: Grant
    Filed: October 16, 2007
    Date of Patent: October 26, 2010
    Assignee: Applied Micro Circuits Corporation
    Inventor: Daniel L. Bouvier
  • Publication number: 20100262812
    Abstract: Methods and apparatus are disclosed for using a register checkpointing mechanism to resolve multithreading mis-speculations. Valid architectural state is recovered and execution is rolled back. Some embodiments include memory to store checkpoint data. Multiple thread units concurrently execute threads. They execute a checkpoint mask instruction to initialize memory to store active checkpoint data including register contents and a checkpoint mask indicating the validity of stored register contents. As register contents change, threads execute checkpoint write instructions to store register contents and update the checkpoint mask. Threads also execute a recovery function instruction to store a pointer to a checkpoint recovery function, and in response to mis-speculation among the threads, branch to the checkpoint recovery function.
    Type: Application
    Filed: April 8, 2009
    Publication date: October 14, 2010
    Inventors: Pedro Lopez, Carlos Madriles, Alejandro Martinez, Raul Martinez, Josep M. Codina, Enric Gibert Codina, Fernando Latorre, Antonio Gonzalez
  • Patent number: 7805594
    Abstract: The present invention relates to a multithread processor, and this multithread processor comprises a plurality of register windows each provided for each of threads and capable of storing data to be used for instruction processing in an arithmetic unit, a work register capable of mutually transferring data with respect to the plurality of register windows and the arithmetic unit and a multithread control unit for controlling data transfer among the plurality of register windows, the work register and the arithmetic unit on the basis of an execution thread identifier for identifying the thread to be executed in the arithmetic unit. This enables conducting the multithread processing at a high speed.
    Type: Grant
    Filed: November 12, 2004
    Date of Patent: September 28, 2010
    Assignee: Fujitsu Limited
    Inventor: Toshio Yoshida
  • Patent number: 7805573
    Abstract: Systems and methods for storing stack data for multi-threaded processing in a specialized cache reduce on-chip memory requirements while maintaining low access latency. An on-chip stack cache is used store a predetermined number of stack entries for a thread. When additional entries are needed for the thread, entries stored in the stack cache are spilled, i.e., moved, to remote memory. As entries are popped off the on-chip stack cache, spilled entries are restored from the remote memory. The spilling and restoring processes may be performed while the on-chip stack cache is accessed. Therefore, a large stack size is supported using a smaller amount of die area than that needed to store the entire large stack on-chip. The large stack may be accessed without incurring the latency of reading and writing to remote memory since the stack cache is preemptively spilled and restored.
    Type: Grant
    Filed: December 20, 2005
    Date of Patent: September 28, 2010
    Assignee: NVIDIA Corporation
    Inventor: Brett W. Coon
  • Patent number: 7802259
    Abstract: A method for switching between instruction contexts within a time interval in a multi-mode wireless broadband processing system. The method can include executing critical task operations that complete execution within a time interval, a critical task including a plurality of critical task operations, executing non-critical task operations that are able to cross a time interval boundary, a non-critical task including a plurality of non-critical task operations, and entering a sleep mode in which no critical task operations or non-critical task operations are executed, if the critical task operations and the non-critical task operations begun in the time interval have been completed before a following time interval begins.
    Type: Grant
    Filed: August 8, 2005
    Date of Patent: September 21, 2010
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Theodore Jon Myers, Robert W. Boesel, Daniel Thomas Werner
  • Patent number: 7793291
    Abstract: A method and apparatus are provided for thermal management of a multiprocessor computer system. The temperatures of the various processors within a multiprocessor system are monitored. When a processor is identified as overheated, a dummy process will be assigned to it, causing all other processes to be put on hold, thereby reducing the heat output of that processor. When the temperature of the processor lowers below another predetermined value, then the dummy process is terminated.
    Type: Grant
    Filed: December 22, 2004
    Date of Patent: September 7, 2010
    Assignee: International Business Machines Corporation
    Inventors: Susumi Arai, Ryuji Orita
  • Patent number: 7788314
    Abstract: The present invention discloses a modified computer architecture (50, 71, 72) which enables an applications program (50) to be run simultaneously on a plurality of computers (M1, . . . Mn). Shared memory at each computer is updated with amendments and/or overwrites so that all memory read requests are satisfied locally. During initial program loading (75), or similar, instructions which result in memory being re-written or manipulated are identified (92). Additional instructions are inserted (103) to cause the equivalent memory locations at all computers to be updated. In addition, the initialization of JAVA language classes and objects is disclosed (162, 163) so all memory locations for all computers are initialized in the same manner. The finalization of JAVA language classes and objects is also disclosed (162, 163) so finalization only occurs when the last class or object present on all machines is no longer required.
    Type: Grant
    Filed: October 25, 2005
    Date of Patent: August 31, 2010
    Assignee: Waratek Pty Ltd.
    Inventor: John Matthew Holt
  • Patent number: 7784057
    Abstract: A method and apparatus are provided for operating a processor. The method comprising the steps of providing a single call stack for execution of a plurality of tasks that operate on the processor, parallelly operating the plurality of tasks and allowing a context switch from a first task to a second task of the plurality of tasks, but only when operation of the first task is blocked.
    Type: Grant
    Filed: August 27, 2004
    Date of Patent: August 24, 2010
    Assignee: Intel Corporation
    Inventors: Mark Davis, Sundeep R. Peechu
  • Patent number: 7782329
    Abstract: Presently disclosed are a method and apparatus for generating graphics in a protected manner by establishing a user graphics partition while in an executive context. Once the user context is established, an operating mode is switched to the user context and then executing a user graphics program while in the user context. The operating mode then reverts to the executive context when the user context expires.
    Type: Grant
    Filed: December 10, 2004
    Date of Patent: August 24, 2010
    Assignee: Rockwell Collins, Inc.
    Inventors: Tom C. Rohr, Jeffrey D. Russell, Martin Pauly
  • Patent number: 7774286
    Abstract: Multiple thread functionality in a general purpose set theoretic processor (GPSTP) is implemented by addition of a thread memory for processing multiple interleaved data input streams to enable state save-and-restore functionality. The thread memory is functionally distributed among three parts of the GPSTP that change state during execution. The system structure minimizes the number of bits required to be saved and restored, and cell structures are configured implement the multi-thread functionality.
    Type: Grant
    Filed: October 18, 2007
    Date of Patent: August 10, 2010
    Inventor: Curtis L. Harris
  • Publication number: 20100191942
    Abstract: A northbridge, when detecting a synchronization break of a redundant CPU, stops the operation of an abnormal CPU bus where an error has occurred and the firmware in an FWH instructs the northbridge to inhibit an external instruction. In addition, the firmware save the inside information of a normal CPU connected to a normal CPU bus and cache data on a memory and the northbridge issues reset to all CPUs in the home system board. The firmware then restores the inside information of the CPU save on the memory to the all CPUs and instructs the northbridge to cancel the inhibition of the external instruction.
    Type: Application
    Filed: March 24, 2010
    Publication date: July 29, 2010
    Applicant: FUJITSU LIMITED
    Inventors: Takeshi Owaki, Takaharu Ishizuka, Toshikazu Ueki, Makoto Hataida, Yuka Hosokawa, Atsushi Morosawa, Takashi Yamamoto, Daisuke Itou
  • Patent number: 7765547
    Abstract: According to some embodiments, a multithreaded microcontroller includes a thread control unit comprising thread control hardware (logic) configured to perform a number of multithreading system calls essentially in real time, e.g. in one or a few clock cycles. System calls can include mutex lock, wait condition, and signal instructions. The thread controller includes a number of thread state, mutex, and condition variable registers used for executing the multithreading system calls. Threads can transition between several states including free, run, ready and wait. The wait state includes interrupt, condition, mutex, I-cache, and memory substates. A thread state transition controller controls thread states, while a thread instructions execution unit executes multithreading system calls and manages thread priorities to avoid priority inversion. A thread scheduler schedules threads according to their priorities.
    Type: Grant
    Filed: November 24, 2004
    Date of Patent: July 27, 2010
    Assignee: Maxim Integrated Products, Inc.
    Inventors: Sorin C. Cismas, Ilie Garbacea, Kristan J. Monsen
  • Patent number: 7765546
    Abstract: A multi-streaming processor has a plurality of streams for streaming one or more instruction threads, a set of functional resources for processing instructions from streams; and interstream control mechanisms whereby any stream may effect the operation of any other stream. In various embodiments the interstream control mechanisms include mechanisms for accomplishing one or more of enabling or disabling another stream, putting another stream into a sleep mode or awakening another stream from a sleep mode, setting priorities for another stream relative to access to functional resources, and granting blocking access by another stream to functional resources. A Master Mode is taught, wherein one stream is granted master status, and thereby may exert any and all available control mechanisms relative to other streams without interference by any stream.
    Type: Grant
    Filed: August 18, 2004
    Date of Patent: July 27, 2010
    Assignee: MIPS Technologies, Inc.
    Inventors: Mario D. Nemirovsky, Adolfo M. Nemirovsky, Narendra Sankar
  • Patent number: 7765550
    Abstract: In an embodiment of the invention, a method for a memory-mapped lazy preemption control, the method includes: incrementing a counter value if an operating system attempts to involuntarily context switch out a thread and fails to context switch out the thread because the thread has a flag set; checking a counter value to determine a degree of abusiveness of a thread; and based upon the degree of abusiveness, determining if a voluntary contact switch out should be performed or should not be performed on the thread.
    Type: Grant
    Filed: May 26, 2005
    Date of Patent: July 27, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Paul Gootherts, Douglas Larson
  • Patent number: 7761636
    Abstract: A method for providing access arbitration for an integrated circuit in a wireless device is provided. The method includes receiving a command from a processing element coupled to the integrated circuit. A preempt signal associated with the command is generated. The preempt signal is operable to identify a priority for the command as one of high and low. The preempt signal is provided to an access arbiter for use in providing access arbitration for the command.
    Type: Grant
    Filed: November 22, 2006
    Date of Patent: July 20, 2010
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Jordan C. Mott, William M. Hurley, Avery C. Topps, J. Alexander Interrante
  • Publication number: 20100180106
    Abstract: Example embodiments are directed to methods of ensuring high availability of a network using asynchronous checkpointing of application state data related to an object. Example embodiments include a method of asynchronous checkpointing application state data related to at least one object, including receiving application events and processing the application events to obtain new application state data. The method further includes modifying at least a portion of previously stored application state data and asynchronously and independently checkpointing the modified application state data based on whether the modified application state data has reached a stable state. Example embodiments also include a method of ensuring consistent application state data across a network.
    Type: Application
    Filed: January 9, 2009
    Publication date: July 15, 2010
    Inventors: Ed Grinshpun, Sameer Sharma, Paul Wilford
  • Patent number: 7757070
    Abstract: A system, apparatus and method for multithread handling on a multithread processing device are described herein. Embodiments of the present invention provide a multithread processing device for multithread handling including a plurality of registers operatively coupled to an instruction dispatch block, including thread-control registers for selectively disabling threads. In various embodiments, the multithread processing device may include a thread-operation register for selectively providing a lock to a first thread to prevent a second thread from disabling the first thread while the first thread has the lock. In still further embodiments, the multithread processing device may be configured to atomically disable and release a lock held by a thread. Other embodiments may be described and claimed.
    Type: Grant
    Filed: July 10, 2007
    Date of Patent: July 13, 2010
    Assignee: Marvell International Ltd.
    Inventors: Jack Kang, Hsi-Cheng Chu, Yu-Chi Chuang
  • Publication number: 20100169613
    Abstract: A method for use by a host microprocessor which translates sequences of instructions from a target instruction set for a target processor to sequences of instructions for the host microprocessor including the steps of beginning execution of a speculative sequence of target instructions by committing state of the target processor and storing memory stores previously generated by execution at a point in the execution of instructions at which state of the target processor is known, executing the speculative sequence of host instructions until another point in the execution of target instructions at which state of the target processor is known, rolling back to last committed state of the target processor and discarding the memory stores generated by the speculative sequence of host instructions if execution fails, and beginning execution of a next sequence of target instructions if execution succeeds.
    Type: Application
    Filed: March 9, 2010
    Publication date: July 1, 2010
    Inventors: Linus Torvalds, Robert Bedichek, Stephen Johnson
  • Publication number: 20100169622
    Abstract: An information handling system includes a processor that may perform general purpose register recovery operations after an instruction flush operation that an exception, such as a branch misprediction causes. The processor receives an instruction stream that may include multiple instructions that operate on a particular target register that stores instruction result information. The general purpose register may temporarily store instruction opcode and register bits information for use during dispatch, execution and other operations. The processor includes a recovery buffer unit for use during flush recovery operations. The processor may use recovery valid and recovery pending bits that correspond with each instruction during the register recovery from flush operation.
    Type: Application
    Filed: December 31, 2008
    Publication date: July 1, 2010
    Applicants: INTERNATIONAL BUSINESS MACHINES CORPORATION, IBM Corporation
    Inventor: Dung Quoc Nguyen
  • Patent number: 7748001
    Abstract: Method, apparatus and system embodiments to assign priority to a thread when the thread is otherwise unable to proceed with instruction retirement. For at least one embodiment, the thread is one of a plurality of active threads in a multiprocessor system that includes memory livelock breaker logic and/or starvation avoidance logic. Other embodiments are also described and claimed.
    Type: Grant
    Filed: September 23, 2004
    Date of Patent: June 29, 2010
    Assignee: Intel Corporation
    Inventors: David W. Burns, K. S. Venkatraman
  • Patent number: 7747841
    Abstract: A technique known as checkpointed early load retirement, combines register checkpointing load-value prediction to manage long-latency loads. When a long-latency load reaches the retirement stage unresolved, the processor enters Clear mode by (1) taking a Checkpoint of the architectural registers, (2) supplying a load-value prediction to consumers, and (3) early-retiring the long-latency load. This unclogs retirement, thereby “clearing the way” for subsequent instructions to retire, and also allowing instructions dependent on the long-latency load to execute sooner. When the actual value returns from memory, it is compared against the prediction. A misprediction causes the processor to roll back to the checkpoint, discarding all subsequent computation.
    Type: Grant
    Filed: September 26, 2006
    Date of Patent: June 29, 2010
    Assignee: Cornell Research Foundation, Inc.
    Inventors: Jose F. Martinez, Meyrem Kirman, Nevin Kirman
  • Publication number: 20100161948
    Abstract: A unified architecture for dynamic generation, execution, synchronization and parallelization of complex instructions formats includes a virtual register file, register cache and register file hierarchy. A self-generating and synchronizing dynamic and static threading architecture provides efficient context switching.
    Type: Application
    Filed: November 14, 2007
    Publication date: June 24, 2010
    Inventor: Mohammad A. Abdallah
  • Patent number: 7743237
    Abstract: A register file bit includes a primary latch and a secondary latch with a feedback path and a context switch mechanism that allows a fast context switch when execution changes from one thread to the next. A bit value for a second thread of execution is stored in the primary latch, then transferred to the secondary latch. The bit value for a first thread of execution is then written to the primary latch. When a context switch is needed (when the first thread stalls and the second thread needs to begin execution), the register file bit can perform a context switch from the first thread to the second thread in a single clock cycle. The register file bit contains a backup latch inside the register file itself so that minimal extra wire paths are needed to or from the existing register file.
    Type: Grant
    Filed: August 31, 2007
    Date of Patent: June 22, 2010
    Assignee: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Patent number: 7739484
    Abstract: A method and apparatus provide means for saving and restoring processor register values and allocating and deallocating stack memory. A first field of a save instruction encodes whether a value in a register of a processor is saved as a static value. A second field of the save instruction encodes whether a value in a register of a processor is saved as an argument value. A third field of the save instruction encodes a size of a stack frame created during execution of the save instruction. An argument value is saved in a calling program's stack frame. A static value is saved in a called program's stack frame. A restore instruction is used to restore static values and deallocate the stack frame. The save and restore instructions may be executed using any programmable device, including a single instruction set architecture processor or a multi-instruction set architecture processor.
    Type: Grant
    Filed: October 5, 2007
    Date of Patent: June 15, 2010
    Assignee: MIPS Technologies, Inc.
    Inventors: Kevin D. Kissell, Hartvig W. J. Ekner
  • Patent number: 7730330
    Abstract: A CPU (1) automatically preserves the CPU context in a computer memory (5) that remains powered-up when the CPU is powered down in sleep mode. By means of the preserved CPU context, the CPU is able to instantly and transparently resume program execution at the instruction of the program that was asserted for execution when the CPU was powered down. The CPU is permitted to power down frequently, even during execution of a program, and results in reduced average overall power consumption.
    Type: Grant
    Filed: August 10, 2005
    Date of Patent: June 1, 2010
    Inventors: Marc Fleischmann, H. Peter Anvin
  • Patent number: 7725621
    Abstract: A semiconductor device and data transfer method capable of efficient DMA transfer processing. The device comprises: a sector buffer which temporarily stores data during transfer, the buffer having an I/O port used for DMA transfer with a system bus and having an I/O port used for data transfer with the I/O controller; a switching section which switches whether to connect between the system bus and the I/O controller, or to connect between the sector buffer and the I/O controller or the system bus; and a sector buffer controller which separately starts data transfer through the I/O ports and which, when detecting completion of the data transfer of a transfer unit between the sector buffer and the I/O controller, transmits to the switching section a control signal for cutting off data transfer between the sector buffer and the I/O controller and for connecting the system bus and the I/O controller.
    Type: Grant
    Filed: February 16, 2007
    Date of Patent: May 25, 2010
    Assignee: Fujitsu Microelectronics Limited
    Inventor: Kohei Mutaguchi
  • Patent number: 7725746
    Abstract: Provided are an apparatus and method of transmitting working context, which can minimize power consumption in a power-off standby mode of a portable apparatus including a system on a chip, where the method includes selecting a power-off standby mode, transmitting working context with respect to a hardware module, which is mounted on a semiconductor chip, to a predetermined memory, and storing the working context in the predetermined memory, transmitting the working context stored in the memory to a non-volatile memory outside the semiconductor chip, and storing the working context in the non-volatile memory, and executing the power-off standby mode; where the method may further include releasing the power-off standby mode, restoring the working context with respect to the hardware module, which is stored in the non-volatile memory, to the predetermined memory, and recovering the at least one hardware module to a state existing immediately before the power-off standby mode was executed by using the working con
    Type: Grant
    Filed: May 11, 2007
    Date of Patent: May 25, 2010
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Jin-aeon Lee, Yun-tae Lee
  • Patent number: 7725899
    Abstract: An apparatus for communicating between lock step is incorporated on two or more processors operating in a lock step mode. Each of the processors includes processor logic to execute a code sequence, and an identical code sequence is executed by the processor logic. The apparatus further includes a processor-specific resource referenced by the code sequence. A multiplexer is coupled to the processor-specific resource, and is controlled to read data based on the identification. Coupled to the processors is a lock step logic block operable to read and compare the output of each of the processors. The lock step logic determines if operation of the processors is in a lock step mode or in an independent processor mode. Such determination may be made by the lock step logic turning off, for example.
    Type: Grant
    Filed: November 14, 2006
    Date of Patent: May 25, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Kevin David Safford, Jeremy P. Petsinger
  • Publication number: 20100125722
    Abstract: A circuit arrangement and method utilize thread pair context caching, where a pair of hardware threads in a multithreaded processor, which are each capable of executing a process, are effectively paired together, at least temporarily, to perform context switching operations such as context save and/or load operations in advance of context switches performed in one or more of such paired hardware threads. By doing so, the overall latency of a context switch, where both the context for a process being switched from must be saved, and the context for the process being switched to must be loaded, may be reduced.
    Type: Application
    Filed: November 20, 2008
    Publication date: May 20, 2010
    Applicant: International Business Machines Corporation
    Inventors: Mark J. Hickey, Stephen J. Schwinn, Matthew R. Tubbs, Charles D. Wait
  • Publication number: 20100122199
    Abstract: A hybrid node of a High Performance Computing (HPC) cluster uses accelerator nodes for checkpointing to increase overall efficiency of the multi-node computing system. The host node or processor node reads/writes checkpoint data to the accelerators. After offloading the checkpoint data to the accelerators, the host processor can continue processing while the accelerators communicate the checkpoint data with the host or wait for the next checkpoint. The accelerators may also perform dynamic compression and decompression of the checkpoint data to reduce the checkpoint size and reduce network loading. The accelerators may also communicate with other node accelerators to compare checkpoint data to reduce the amount of checkpoint data stored to the host.
    Type: Application
    Filed: November 13, 2008
    Publication date: May 13, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David L. Darrington, Matthew W. Markland, Philip James Sanders, Richard Michael Shok
  • Patent number: 7716638
    Abstract: A machine readable description of a new feature of a processor is provided by a processor vendor. Control code executing on a processor, such as a traditional operating system kernel, a partitioning kernel, or the like can be programmed to receive the description of the feature and to use information provided by the description to detect, enable and manage operation of the new feature.
    Type: Grant
    Filed: March 4, 2005
    Date of Patent: May 11, 2010
    Assignee: Microsoft Corporation
    Inventor: Andrew J. Thornton
  • Publication number: 20100115250
    Abstract: A method, computer-readable medium, and apparatus for context switching between a first thread and a second thread. The method includes detecting an exception, wherein the exception is generated in response to receiving a packet of information directed to one of the first thread and the second thread, and in response to detecting the exception, invoking an exception handler. The exception handler is configured to execute one or more instructions removing access to at least a portion of a processor cache. The portion of the processor cache contains cached information for the first thread using a first address translation. Removing access to the portion of the processor cache prevents the second thread using a second address translation from accessing the cached information in the processor cache. The exception handler is also configured to branch to at least one of the first thread and the second thread.
    Type: Application
    Filed: January 11, 2010
    Publication date: May 6, 2010
    Applicant: International Business Machines Corporation
    Inventors: JON K. KRIEGEL, Eric Oliver Mejdrich
  • Publication number: 20100115249
    Abstract: Included are systems and methods for supporting a plurality of Graphics Processing Units (GPUs). At least one embodiment of a system includes a context status register configured to send data related to a status of at least one context and a context switch configuration register configured to send instructions related to at least one event for the at least one context. At least one embodiment of a system includes a context status management component coupled to the context status register and the context switch configuration register.
    Type: Application
    Filed: November 6, 2008
    Publication date: May 6, 2010
    Applicant: VIA TECHNOLOGIES, INC.
    Inventors: Timour Paltashev, Boris Prokopenko, John Brothers
  • Patent number: 7711932
    Abstract: Checkpoints may be used to recover from branch mispredictions using scalable rename map table recovery.
    Type: Grant
    Filed: December 2, 2003
    Date of Patent: May 4, 2010
    Assignee: Intel Corporation
    Inventors: Haitham H. Akkary, Ravi Rajwar, Srikanth T. Srinivasan
  • Patent number: 7712105
    Abstract: A microprocessor that includes a random number generator (RNG) that saves and restores its own state on a task switch without operating system (OS) support. The RNG includes a control and status register (CSR) for storing control values that affect the generation of random numbers. The CSR is not saved and restored by the OS. The RNG shadows the CSR with an SSE register that is saved and restored by the OS. A new instruction loads the CSR, and also loads the shadowed SSE register. Whenever the SSE register is restored from memory, the RNG sets a flag indicating that a possible task switch occurred. Whenever the processor executes a new instruction that stores the random data to memory, it checks the flag and copies the control values from the SSE register to the CSR if the flag is true, discards previously generated bytes, and restarts random number generation.
    Type: Grant
    Filed: June 30, 2006
    Date of Patent: May 4, 2010
    Assignee: IP-First, LLC.
    Inventors: G. Glenn Henry, Terry Parks, Arturo Martin-de-Nicolas
  • Publication number: 20100095100
    Abstract: A method, apparatus, and program product checkpoint an application in a parallel computing system of the type that includes a plurality of hybrid nodes. Each hybrid node includes a host element and a plurality of accelerator elements. Each host element may include at least one multithreaded processor, and each accelerator element may include at least one multi-element processor. In a first hybrid node from among the plurality of hybrid nodes, checkpointing the application includes executing at least a portion of the application in the host element and at least one accelerator element and, in response to receiving a command to checkpoint the application, checkpointing the host element separately from the at least one accelerator element.
    Type: Application
    Filed: October 9, 2008
    Publication date: April 15, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David L. Darrington, Matthew W. Markland, Philip James Sanders, Richard Michael Shok
  • Publication number: 20100095101
    Abstract: According to a sample embodiment, a method is provided for capturing context information about an event. A data collector is created comprising instructions to collect specific context data in response to specific conditions in a call stack, and the data collector is registered with a first failure data capture application. In a sample embodiment the first failure data capture application receives a registration for a context data collector. Then, in response to being called, the first failure data capture application looks for at least one of a class and a method defined in the context data collection registration that matches conditions of the call stack. In response to said call stack conditions being met, the first failure data capture application calls the data collector to collect context data from the call stack, receives context data from the context data collector; and presents the context data.
    Type: Application
    Filed: October 15, 2008
    Publication date: April 15, 2010
    Inventors: Stefan Georg Derdak, Michael Joseph Casile, Andrew James McCright, Sinee Paungam
  • Publication number: 20100095095
    Abstract: An instruction processing apparatus includes a thread execution processing section executing threads each including plural instructions, a register file including a register window having plural registers, a current window pointer indicating a position of the register where the register window is possible to be inputted and outputted, a current register reading data held by the register window designated by the current window pointer to hold the data and a replacement buffer holding data transferred from the register file to the current register, a first transfer path transferring data in a register file to one of the replacement buffer, a second data transfer transferring data in a replacement buffer to one of the current registers, a calculation section executing a switching instruction of the register window, and a control section controlling, if the calculation section executes the switching instruction, the first data transfer path and the second data transfer path.
    Type: Application
    Filed: December 11, 2009
    Publication date: April 15, 2010
    Applicant: Fujitsu Limited
    Inventor: Toshio Yoshida
  • Patent number: 7698693
    Abstract: A technique for run-time tracking changes to variables and memory locations during code execution to increase efficiency of execution of the code and to facilitate in debugging the code. In one example embodiment, this is achieved by determining whether a received instruction in a trackable instruction during code execution. The trackable instructions can include one or more trackable variables. The trackable instruction is then decoded and a track instruction cache and a track variable cache are then updated with associated decoded trackable instruction and the one or more trackable variables, respectively.
    Type: Grant
    Filed: September 2, 2005
    Date of Patent: April 13, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Venkata Seshu Kumar Kurapati
  • Patent number: 7698540
    Abstract: In an embodiment of the invention, a method for dynamic hardware multithreading, includes: using a hardware halt function or a hardware yield function in a processor core in order to enable or disable a hardware thread that shares the core; wherein the hardware thread is disabled by placing the hardware thread in a halt state or yield state, and allowing another hardware thread to utilize the core.
    Type: Grant
    Filed: October 31, 2006
    Date of Patent: April 13, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Scott J. Norton, Thomas L. Vaden, James Callister
  • Publication number: 20100088494
    Abstract: A method, system, and computer usable program product for total cost based checkpoint selection are provided in the illustrative embodiments. A cost associated with taking a checkpoint is determined. The cost includes an energy cost. An interval between checkpoints is computed so as to minimize the cost. An instruction is sent to schedule the checkpoints at the computed interval. The energy cost may further include a cost of energy consumed in collecting and saving data at a checkpoint, a cost of energy consumed in re-computing a computation lost due to a failure after taking the checkpoint, or a combination thereof. The cost may further include, converted to a cost equivalent, administration time consumed in recovering from a checkpoint, computing resources expended in taking a checkpoint, computing resources expended after a failure in restoring information from a checkpoint, performance degradation of an application while taking a checkpoint, or a combination thereof.
    Type: Application
    Filed: October 2, 2008
    Publication date: April 8, 2010
    Applicant: International Business Machines corporation
    Inventor: Elmootazbellah N. Elnozahy