Exeception Processing (e.g., Interrupts And Traps) Patents (Class 712/244)
  • Patent number: 7426630
    Abstract: In one embodiment, a processor comprises a register file, register management logic coupled to the register file, and at least two sources of window swap operations coupled to the register management logic. The register management logic is configured to control an interface to the register file to switch register windows in the register file in response to one or more window swap operations. The sources of window swap operations and the register management logic are configured to cooperate according to an arbitration scheme to arbitrate between conflicting window swap operations to be performed using the interface. In one particular implementation, for example, block signals may be used from higher priority sources to lower priority sources to block issuance of window swap operations by the lower priority sources.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: September 16, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Jike Chong, Robert T. Golla, Paul J. Jordan
  • Publication number: 20080209191
    Abstract: A method and apparatus for managing a nested EXCEPTION role in a directory server is described. In one embodiment, a plurality of entries is defined in the directory server. At least one of the plurality of entries possesses a role. An entry is queried to determine its possessed role. A nested EXCEPTION role possesses at least two roles. An entry possesses the nested EXCEPTION role by possessing none of the roles within the nested EXCEPTION role.
    Type: Application
    Filed: February 27, 2007
    Publication date: August 28, 2008
    Inventor: Peter Andrew Rowley
  • Patent number: 7418585
    Abstract: A multiprocessing system is disclosed. The system includes a multithreading microprocessor including a plurality of thread contexts (TCs), each having a program counter and a general purpose register set for executing a thread. The microprocessor also includes a shared privileged resource, shared by the plurality of TCs rather than being replicated for each of the plurality of TCs, and privileged to be managed only by operating system-privileged threads rather than by user-privileged threads. The system also includes a multiprocessor operating system (OS), configured to manage the shared privileged resource, and to schedule execution of both the operating system-privileged threads and the user-privileged threads on the plurality of TCs.
    Type: Grant
    Filed: January 11, 2006
    Date of Patent: August 26, 2008
    Assignee: MIPS Technologies, Inc.
    Inventor: Kevin D Kissell
  • Patent number: 7418584
    Abstract: In one embodiment, a register in a processor is programmable with an intercept indication indicative of whether or not an event that would cause a transition by the processor to a first mode is to be intercepted during execution of a guest. Responsive to the intercept indication and further responsive to detecting the event, execution circuitry in the processor is configured to exit the guest. In another embodiment, a method comprises: detecting an event that would cause a processor to transition to a first mode, wherein first code is to be executed in the first mode; and causing the first code to be executed in a guest responsive to the detecting. In still another embodiment, a computer accessible medium comprising instructions which when executed in response to detecting the event, cause the first code to be executed in a guest.
    Type: Grant
    Filed: February 25, 2005
    Date of Patent: August 26, 2008
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Alexander C. Klaiber, Geoffrey S. Strongin, Kevin J. McGrath
  • Publication number: 20080201566
    Abstract: A computer implemented method, apparatus, and computer program product for monitoring execution of instructions in an instruction pipeline. The process identifies a number of stall cycles for a group of instructions to complete execution. The process retrieves a deterministic latency pattern corresponding to the group of instructions. The process compares the number of stall cycles to the deterministic execution latency pattern. The process identifies the instruction as a dependent instruction in response to a determination that an instruction in the group of instructions completed a deterministic number of cycles after an antecedent instruction completed.
    Type: Application
    Filed: February 15, 2007
    Publication date: August 21, 2008
    Inventors: Venkat Rajeev Indukuru, Alexander Erik Mericas
  • Publication number: 20080189534
    Abstract: A model-driven and QoS-aware infrastructure facilitates the scalable composition of Web services in highly dynamic environments. An exception management framework supports two modes of exception management for business processes, providing a novel policy-driven approach to exception management implemented in the system infrastructure. Exception management is implemented in the system infrastructure, with exception handling policies supplied by individual business processes. Using the exception management framework, developers define exception policies in a declarative manner. Before a business process is executed, the service composition middleware integrates the exception policies with normal business logic to generate a complete process schema. This policy driven-approach can significantly reduce the development time of business processes through its separation of the development of the business logic and the exception handling policies.
    Type: Application
    Filed: April 2, 2008
    Publication date: August 7, 2008
    Inventors: Jun-Jang JENG, Hui Lei, Liangzhao Zeng, Hung-yang Chang, Santhosh Kumaran, Jen-Yao Chung
  • Publication number: 20080184019
    Abstract: The problem of handling exceptionally executed code portions is improved through the practice of embedding handling instructions within other instructions, such as within their “immediate” fields. Such instructions are chosen to have short execution times. Most of the time these instructions are executed quickly without having to include jumps around them. Only rarely are the other portions of these specialized computer instruction needed or used.
    Type: Application
    Filed: January 30, 2007
    Publication date: July 31, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ali I. Sheikh, Kevin A. Stoodley
  • Patent number: 7401211
    Abstract: In a multi-threaded processor, a long latency data dependent thread is flushed from the execution pipelines. Once the stalled thread is flushed, the non-stalling threads in the pipeline can continue their execution. Several resources are used to reduce this unwanted impact of stalls on the non-stalling threads. Also, these resources ensure that the earlier stalled thread, now flushed, is re-executed when the data dependency is resolved.
    Type: Grant
    Filed: December 29, 2000
    Date of Patent: July 15, 2008
    Assignee: Intel Corporation
    Inventors: Sailesh Kottapalli, Udo Walterscheidt
  • Patent number: 7398371
    Abstract: A shared translation look-aside buffer method comprises saving data stored in a first selected set of registers to a predetermined section of a thread-specific area in memory upon encountering an exception/interrupt, re-enabling exceptions and optionally interrupts, addressing a cause of the exception/interrupt while safely permitting another exception, and restoring the saved data to the first selected set of registers.
    Type: Grant
    Filed: June 23, 2005
    Date of Patent: July 8, 2008
    Assignee: QUALCOMM Incorporated
    Inventors: Erich Plondke, William C. Anderson, Lucian Codrescu
  • Patent number: 7398372
    Abstract: Fusing a load micro-operation (uop) together with an arithmetic uop. Intra-instruction fusing can increase cache memory storage efficiency and computer instruction processing bandwidth within a microprocessor without incurring significant computer system cost. Uops are fused, stored in a cache memory, un-fused, executed in parallel, and retired in order to optimized cost and performance.
    Type: Grant
    Filed: June 25, 2002
    Date of Patent: July 8, 2008
    Assignee: Intel Corporation
    Inventors: Nicholas G. Samra, Stephan J. Jourdan, David J. Sager, Glenn J. Hinton
  • Patent number: 7398378
    Abstract: In a multi-processor system with a master-slave configuration, interrupts are efficiently allocated and processed between the processors to improve a real-time performance. A master processor (MP) provided with an operating system (OS), a slave processor (SP), an interrupt controller (INTC), and an interrupt among processors control register (IPCR) are connected to one another. The INTC has an interrupt among processors request control logic for master processor (IPRCLMP), an interrupt among processors request control logic for slave processor (IPRCLSP), and an interrupt among processors disable judgment logic for master processor (IPDJLMP). When the SP finishes the interrupt process after the MP has executed an interrupt process higher in priority and the SP has executed an interrupt process lower in priority, the IPDJLMP determines whether or not other interrupt requests have arrived and outputs an interrupt request from the SP to the MP according to the determination result.
    Type: Grant
    Filed: June 16, 2006
    Date of Patent: July 8, 2008
    Assignee: Renesas Technology Corp.
    Inventors: Yasuo Sugure, Kenta Morishima
  • Publication number: 20080162910
    Abstract: Methods and apparatus to perform asynchronous control transfer are described. In one embodiment, upon occurrence of an event (e.g., an architectural event), a service routine data block (SRDB) is accessed to obtain the address of a yield service routine. Other embodiments are also described.
    Type: Application
    Filed: December 29, 2006
    Publication date: July 3, 2008
    Inventors: Chris J. Newburn, Dion Rodgers, Robert Knight, Ittai Anati, Aaron N. Levinson, Gautham Chinya
  • Publication number: 20080155238
    Abstract: A data processing apparatus operable to process a stream of instructions from an instruction set, said instruction set comprising exception instructions and non-exception instructions, exception instructions being instructions that may cause a break in an instruction flow and non-exception instructions being instructions that execute in a statically determinable way, said data processing apparatus comprising: at least two processing blocks for processing instructions from said stream of instructions; a first processing block having a set of physical registers associated with it for storing data values being processed by said first processing block, renaming circuitry associated with said first processing block for mapping architectural registers specified in instructions to be processed by said first processing block to physical registers within said set of physical registers; a second processing block having a set of physical registers associated with it for storing data values being processed by said second
    Type: Application
    Filed: December 20, 2006
    Publication date: June 26, 2008
    Applicant: ARM Limited
    Inventors: Cedric Denis Robert Airaud, Melanie Emanuelle Lucie Vincent, Luc Orion, Norbert Bernard Eugene Lataille
  • Patent number: 7389407
    Abstract: A method and apparatus to control logic sections of a pipeline instruction processor is disclosed. A state machine is provided that models the flow of instructions through the pipeline. The state machine is capable of modeling execution for all combinations of instruction types that may be present within the pipeline at a given time. The state machine also models various events that affect the way instruction execution is overlapped within the pipeline, and other system occurrences that may cause the termination of some processing activity within the pipeline. The state machine provides signals to control the various logic sections. These signals may be used to determine whether the results of processing activity within the logic sections should be retained or discarded.
    Type: Grant
    Filed: October 23, 2002
    Date of Patent: June 17, 2008
    Assignee: Unisys Corporation
    Inventors: John S. Kuslak, Thomas D. Hartnett
  • Patent number: 7389496
    Abstract: For use with a processor employing a hierarchical register consolidation structure (HRCS), a condition management system and method of operation thereof. In one embodiment, the system includes a condition management structure (CMS) that abstracts groups of status indicators associated with the HRCS into a tree of hierarchical container objects and element objects. Each of the container objects is associated with at least one of the element objects and linked to a single parent object, and each of the element objects configured to represent at least one of the status indicators and linked to a single child object. The system further includes an abstraction retrieval subsystem that employs the CMS to traverse the HRCS to determine a condition of at least one of the status indicators, and an abstraction management subsystem that employs the CMS to control a propagation of selected ones of the status indicators through the HRCS.
    Type: Grant
    Filed: July 2, 2003
    Date of Patent: June 17, 2008
    Assignee: Agere Systems Inc.
    Inventors: Jason Eckhart, Michael A. Holmes, Chang Li, Gerald S. Williams
  • Patent number: 7386647
    Abstract: A system and method is disclosed for the handling of interrupts by the disabled logical processors of an information handling system or computer system. An interrupt service routine is written to the read-only portion of system memory. Upon receipt of an interrupt, each disabled logical processor branches to the hard coded interrupt service routine. The interrupt service routine can be written to read only memory because the context, current instruction, and return state of the disabled logical processor are known, and the disabled logical processor will not need to write to system memory during the execution of the interrupt service routine. Following the handling of the interrupt by another logical processor of the computer system, each disabled logical processor returns to the halt state.
    Type: Grant
    Filed: October 14, 2005
    Date of Patent: June 10, 2008
    Assignee: Dell Products L.P.
    Inventors: Christopher H. McFarland, Juan F. Diaz
  • Patent number: 7386710
    Abstract: Hardware and software techniques for interrupt detection and response in a scalable pipelined array processor environment are described. Utilizing these techniques, a sequential program execution model with interrupts can be maintained in a highly parallel scalable pipelined array processing containing multiple processing elements (PEs) and distributed memories and register files. When an interrupt occurs, interface signals are provided to all PEs to support independent interrupt operations in each PE dependent upon the local PE instruction sequence prior to the interrupt. Processing/element exception interrupts are supported and low latency interrupt processing is also provided for embedded systems where real time signal processing is required. Further, a hierarchical interrupt structure is used allowing a generalized debug approach using debug interrupts and a dynamic debug monitor mechanism.
    Type: Grant
    Filed: September 1, 2004
    Date of Patent: June 10, 2008
    Assignee: Altera Corporation
    Inventors: Edwin Franklin Barry, Patrick R. Marchand, Gerald George Pechanek, Larry D. Larsen
  • Publication number: 20080133900
    Abstract: In general, in one aspect, the disclosure describes a method that includes interrupting a program running on a processor. The active instruction that was interrupted is identified. Event counts since a previous interrupt are harvested.
    Type: Application
    Filed: November 30, 2006
    Publication date: June 5, 2008
    Inventors: Bob Davies, James Chapple, William K. Cheung, Guoping Wen, Carolyn Dase, Dan Nowlin
  • Patent number: 7383587
    Abstract: A data processing system includes a processor that can operate in a plurality of modes and in either a secure domain or a non-secure domain. At least one secure mode is a mode in the secure domain, and at least one non-secure mode is a mode in the non-secure domain. When the processor is executing a program in a secure mode and that program has access to secure data which is not accessible when the processor is operating in a non-secure mode, the processor is responsive to exception conditions for triggering exception processing. Specifically, the processor is responsive to a parameter specifying which of the exceptions should be handled by a secure mode exception handler executing in a secure mode and which should be handled by an exception handler executing in a mode within a current one of the secure domain and the non-secure domain when that exception occurs.
    Type: Grant
    Filed: November 17, 2003
    Date of Patent: June 3, 2008
    Assignee: Arm Limited
    Inventors: Simon Charles Watt, Christopher Bentley Dornan, Luc Orion, Nicolas Chaussade, Lionel Belnet, Stephane Eric Sebastien Brochier
  • Patent number: 7376820
    Abstract: In the control section, an operation instruction not prescribing a functional specification, and a unit for processing the specific application-purpose operation instruction is provided within the processor core. The structure of this unit can be changed based on a flexible pipeline structure, and is separately designed for each application field. A register that prescribes a latency from when an instruction of the above unit is issued till when a result can be utilized is also provided in the processor core so as to prevent contention of an output port. Another register that prescribes a latency relating to a constraint of an interval of issuing an instruction of the above unit is also provided in the processor core so as to prevent contention of a resource with the preceding instructions.
    Type: Grant
    Filed: December 22, 2000
    Date of Patent: May 20, 2008
    Assignee: Fujitsu Limited
    Inventors: Michihide Kimura, Atsuhiro Suga, Hideo Miyake, Satoshi Imai, Yasuki Nakamura
  • Publication number: 20080114971
    Abstract: A computer implemented method, apparatus, and computer program product for preserving branch history data. The process creates a branch history table in a buffer. The process saves an address for each executed branch instruction that occurs during execution of code in the branch history table to form branch history data. In response to detecting an exception, the process saves the branch history data to an allocated memory space to form a branch history snapshot.
    Type: Application
    Filed: November 14, 2006
    Publication date: May 15, 2008
    Inventors: Nathan D. Fontenot, Jacob Lorien Moilanen, Joel Howard Schopp, Michael Thomas Strosaker
  • Patent number: 7373489
    Abstract: An apparatus and method for floating point exception prediction and recovery. In one embodiment, a processor may include instruction fetch logic configured to issue a first instruction from one of a plurality of threads and to successively issue a second instruction from another one of the plurality of threads. The processor may also include floating-point arithmetic logic configured to execute a floating-point instruction issued by the instruction fetch logic from a given one of the plurality of threads, and further configured to determine whether the floating-point instruction generates an exception, and may further include exception prediction logic configured to predict whether the floating-point instruction will generate the exception, where the prediction occurs before the floating-point arithmetic logic determines whether the floating-point instruction generates the exception.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: May 13, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Jeffrey S. Brooks, Paul J. Jordan, Rabin A. Sugumar
  • Patent number: 7363471
    Abstract: A method may translate a set of source instructions into a set of target instructions, execute the set of target instructions, and unmask a denormal input control bit if the set of source instructions uses a denormal input handling mechanism. A method may detect at least one denormal exception of a faulty target instruction by executing the set of target instructions; assign a predetermined value to one or more denormal operands of the faulty target instruction; and execute the faulty target instruction with the predetermined value for the one or more denormal operands. An apparatus, system, and machine-readable medium may perform such methods.
    Type: Grant
    Filed: June 27, 2005
    Date of Patent: April 22, 2008
    Assignee: Intel Corporation
    Inventors: Sion Berkowits, Orna Etzion, Li Jianhui
  • Patent number: 7363474
    Abstract: Techniques for suspending execution of a thread until a specified memory access occurs. In one embodiment, a processor includes multiple execution units capable of executing multiple threads. A first thread includes an instruction that specifies a monitor address. Suspend logic suspends execution of the first thread, and a monitor causes resumption of the first thread in response to an access to the specified monitor address.
    Type: Grant
    Filed: December 31, 2001
    Date of Patent: April 22, 2008
    Assignee: Intel Corporation
    Inventors: Dion Rodgers, Deborah T. Marr, David L. Hill, Shiv Kaushik, James B. Crossland, David A. Koufaty
  • Patent number: 7360070
    Abstract: An exceptional situation manager associates exceptional situations with nonstandard values and desired responses to perform when specific exceptional situations occur during computations. A desired response can comprise returning an associated nonstandard value, performing an associated nonstandard action or returning a default value. The exceptional situation manager ascertains the occurrence of exceptional situations during computations. Responsive to such an occurrence, the exceptional situation manager determines the desired response associated with the exceptional situation that occurred, and executes the desired response.
    Type: Grant
    Filed: August 13, 2003
    Date of Patent: April 15, 2008
    Assignee: Apple Inc.
    Inventor: Samuel A. Figueroa
  • Patent number: 7353370
    Abstract: A system includes a multithreaded processor, a memory to store the plurality of threads, and a bus to deliver the plurality of threads to the multithreaded processor. The multithreaded processor includes an event detector to detect a first event indication for a first thread. The event detector, responsive to the detection of the first event indication for the first thread, monitors a second thread being processed within the multithreaded processor to detect a clearing point for the second thread and, responsive to the detection of the clearing point for the second thread clears a functional unit within the multithreaded processor for at least the first thread.
    Type: Grant
    Filed: January 20, 2005
    Date of Patent: April 1, 2008
    Assignee: Intel Corporation
    Inventors: Dion Rodgers, Darrell Boggs, Amit Merchant, Rajesh Kota, Rachel Hsu, Keshavan Tiruvallur
  • Publication number: 20080077782
    Abstract: Control logic for storing values relating to unresolved exception instructions within a buffer to enable a register renaming table within a processor to be restored following an exception is disclosed. The processor is operable to process a stream of instructions from an instruction set, the instruction set comprising exception instructions and non-exception instructions, exception instructions being instructions that may generate an exception and non-exception instructions being instructions that execute in a statically determinable way.
    Type: Application
    Filed: September 26, 2006
    Publication date: March 27, 2008
    Applicant: ARM Limited
    Inventors: Norbert Bernard Eugene Lataille, Florent Begon, Cedric Denis Robert Airaud, Melanie Vincent
  • Patent number: 7350110
    Abstract: A method, system, apparatus, and computer program product is presented for processing instructions. A processor is able to receive multiple types of interruptions while executing instructions, such as aborts, faults, interrupts, and traps. A set of processor fields are used to indicate whether or not one or more trap modes are active, such as a single-step trap mode or a taken-branch trap mode. The activity of a trap mode is conditioned, i.e., restricted, modified, or qualified, with a trap mode conditioning field that indicates whether or not the trap mode should remain active during interruption processing. The use of a trap mode conditioning field allows an interruption handler to run at full speed without being interrupted by the trap mode, yet the trap mode is preserved so that other processing, such as instruction tracing, may continue after interruption processing.
    Type: Grant
    Filed: January 14, 2002
    Date of Patent: March 25, 2008
    Assignee: International Business Machines Corporation
    Inventors: Jimmie Earl DeWitt, Jr., Riaz Y. Hussain, Frank Eliot Levine
  • Patent number: 7337307
    Abstract: A process which automatically inserts commands that test for and raise exceptions indicating floating point status exceptions into a sequence of instructions to be executed, re-ordering a pipelined instructions by moving a floating point instruction from after a branch instruction to before the branch instruction, and responds to exceptions in execution of the sequence of instructions by returning execution to a point in the sequence of instructions at which correct state is known and then executing each instruction in the sequence singly to completion so that exceptions in pipelined floating point instructions can be automatically detected and handled precisely.
    Type: Grant
    Filed: September 10, 2004
    Date of Patent: February 26, 2008
    Assignee: Transmeta Corporation
    Inventors: Guillermo J. Rozas, David Dunn, Robert Cmelik
  • Publication number: 20080040593
    Abstract: Methods and apparatus for identifying a first flow control instruction in an executing program, the first instruction being associated with a first program address at which program execution will continue after execution of the first instruction. A determination is made as to whether the first program address is protected. If the first program address is protected, a first alternate program address is substituted for the first program address such that program execution will continue at the first alternate program address after execution of the first instruction.
    Type: Application
    Filed: November 9, 2006
    Publication date: February 14, 2008
    Applicant: ATMEL CORPORATION
    Inventors: Majid Kaabouch, Eric Le Cocquen
  • Publication number: 20080034193
    Abstract: A system and method for providing a mediated external exception extension for a microprocessor are provided. With the system and method, in response to an external exception, a hypervisor determines if the associated external interrupt is directed to a logical partition (LPAR) that has external interrupt handling enabled. If so, the hypervisor sets appropriate state restore registers (SRRs) and passes control to an external interrupt handler of the LPAR. If external interrupt handling is not currently enabled by the LPAR, the hypervisor sets a mediated exception request and returns control to the LPAR. Once the operating system of the logical partition re-enables external interrupt handling, a mediated external interrupt occurs, state information for the LPAR is set in the SRRs, and the external interrupt handler of the LPAR is invoked. In this way, external interrupts may be received by the hypervisor even when external interrupt handling is disabled.
    Type: Application
    Filed: August 4, 2006
    Publication date: February 7, 2008
    Inventors: Michael N. Day, Jonathan J. DeMent, Charles R. Johns, Orran Y. Krieger, Cathy May
  • Publication number: 20080034194
    Abstract: One embodiment of the present invention provides a system that uses an M-bit operating system (OS) kernel to support N-bit user processes. During operation, the system receives an exception. Note that the exception can be any event that needs to be handled by executing OS kernel code. Specifically, the exception can be a hardware interrupt, a software interrupt, an asynchronous interrupt, a synchronous interrupt, a signal, a trap, or a system call. Next, the system handles the exception by first switching the processor to the M-bit mode, and then executing M-bit OS kernel code which is designed to handle the exception. Note that the processor may primarily be designed to operate in the N-bit mode; the M-bit mode may primarily be provided for backward compatibility reasons.
    Type: Application
    Filed: August 3, 2006
    Publication date: February 7, 2008
    Inventors: Christopher G. Peak, Martin Scheinberg, Joseph Sokol
  • Publication number: 20080028194
    Abstract: A system, apparatus and method for efficiently processing interrupts using general purpose registers in a pipelined processor. In accordance with the present disclosure, a register file may be updated to efficiently save an interrupt return address. When an interrupt request is received by the system's processor, or when the request is issued in the execution of a program, a pseudo-instruction is generated. This pseudo-instruction travels down the pipeline in the same way as other instructions and updates the register file by causing the register file to be written with the return address of the last instruction for which processing has not been completed.
    Type: Application
    Filed: July 25, 2006
    Publication date: January 31, 2008
    Inventors: Thomas Andrew Sartorius, Rodney Wayne Smith, Michael Scott McIlvaine
  • Patent number: 7322027
    Abstract: The present invention extends to mechanisms for detecting termination and providing information related to termination of a computer system process. A computer system loads a termination function (e.g., an abort, exit, or terminate function) into system memory. The termination function includes termination instructions that, when executed, cause a calling process to terminate without providing information related to a termination event that caused the calling process to terminate. In memory, the functionality of the memory resident termination function is redirected to a memory resident invalid instruction that, when executed, causes an exception providing termination information related to a termination event (e.g., the exception is propagated to an operating system code layer). A memory resident process detects a termination event and the memory resident program calls the termination function.
    Type: Grant
    Filed: June 30, 2003
    Date of Patent: January 22, 2008
    Assignee: Microsoft Corporation
    Inventor: Patrick Tousignant
  • Publication number: 20080005547
    Abstract: A runtime system implemented in accordance with the present invention provides an application platform for parallel-processing computer systems. Such a runtime system enables users to leverage the computational power of parallel-processing computer systems to accelerate/optimize numeric and array-intensive computations in their application programs. This enables greatly increased performance of high-performance computing (HPC) applications.
    Type: Application
    Filed: March 5, 2007
    Publication date: January 3, 2008
    Inventors: Matthew N. Papakipos, Brian K. Grant, Christopher G. Demetriou
  • Publication number: 20080005546
    Abstract: In one embodiment, the present invention includes a method for communicating a request for handling of a fault or exception occurring in an accelerator to a first instruction sequencer coupled thereto. The accelerator may be a heterogeneous resource with respect to the first instruction sequencer, e.g., of a different instruction set architecture. Responsive to the request, the fault or exception may be handled in the first instruction sequencer. Other embodiments are described and claimed.
    Type: Application
    Filed: June 29, 2006
    Publication date: January 3, 2008
    Inventors: Hong Wang, Hong Jiang, John Shen, Porus S. Khajotia, Ming W. Choy, Narayan Biswal
  • Patent number: 7313790
    Abstract: Methods and apparatus for preserving precise exceptions in code reordering by using control speculation are disclosed. A disclosed system uses a control speculation module to reorder instructions within an application program and preserve precise exceptions. Instructions, excepting and non-excepting, can be reordered by the control speculation module if the instructions meet certain conditions. When an excepting instruction is reordered, a check instruction is inserted into the program execution path and a recovery block is generated. The check instruction determines if the reordered excepting instruction actually needs to generate an exception. The recovery block contains instructions to revert the effects of code reordering. If the check instruction detects the need for an exception, the recovery block is executed to restore the architectural state of the processor and the exception is handled.
    Type: Grant
    Filed: June 23, 2003
    Date of Patent: December 25, 2007
    Assignee: Intel Corporation
    Inventor: Dz-ching Ju
  • Patent number: 7310723
    Abstract: Methods and systems thereof for exception handling are described. An event to be handled is identified during execution of a code sequence. A bit is set to indicate that handling of the event is to be deferred. An exception corresponding to the event is generated if the bit is set.
    Type: Grant
    Filed: April 2, 2003
    Date of Patent: December 18, 2007
    Assignee: Transmeta Corporation
    Inventors: Guillermo J. Rozas, Alexander Klaiber
  • Patent number: 7305712
    Abstract: There is a provided a data processing system comprising: a processor operable in a plurality of modes and either a secure domain or a non-secure domain including: at least one secure mode being a mode in said secure domain; and at least one non-secure mode being a mode in said non-secure domain; wherein when said processor is executing a program in a secure mode said program has access to secure data which is not accessible when said processor is operating in a non-secure mode; and wherein said processor is responsive to a switching request to initiate a switch between a secure mode and a non-secure mode under control of a mode switching program starting at a location specified by an exception vector associated with said switching request.
    Type: Grant
    Filed: November 17, 2003
    Date of Patent: December 4, 2007
    Assignee: ARM Limited
    Inventors: Simon Charles Watt, Christopher Bentley Dornan, Luc Orion, Nicolas Chaussade, Lionel Belnet, Stephane Eric Sebastien Brochier
  • Publication number: 20070271449
    Abstract: A system for dynamically varying the pipeline depth of a computing device, depending upon at least one of computing function and workload, includes a state machine is configured to determine an optimum length of a pipeline architecture based on a processing function to be performed, and a pipeline sequence controller, responsive to the state machine, the pipeline sequence controller configured to vary the depth of the pipeline based on the determined optimum length. A plurality of clock splitter elements is associated with a corresponding plurality of latch stages in the pipeline architecture, the clock splitter elements coupled to the pipeline sequence controller and adapted to operate in a functional mode, one or more clock gating modes, and a pass-through flush mode. For each of the clock splitter elements operating in the pass-through flush mode, data is passed through the associated latch stage without oscillation of clock signals associated therewith.
    Type: Application
    Filed: May 19, 2006
    Publication date: November 22, 2007
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Susan K. Lichtensteiger, Pascal A. Nsame, Sebastian T. Ventrone
  • Publication number: 20070266230
    Abstract: According to a generated instruction, the present invention provides an information processing method for performing processing by using a CPU that comprises at least one register. The method comprises the steps of: judging whether or not each of the registers is valid in the instruction; identifying a register whose value is changed by an interrupt processing generated in the instruction; and calculating a number of registers to be evacuated in the interrupt processing based on valid judgment information of the register and identification information of the register whose value is changed by the interrupt processing, and determining whether or not the interrupt processing is permitted based on a calculation result thereof.
    Type: Application
    Filed: May 7, 2007
    Publication date: November 15, 2007
    Inventor: Naoya Ichinose
  • Patent number: 7296257
    Abstract: A technique for implementing a data processor to determine if an exception has been thrown. Specifically, the technique may be used in an interpretive environment where a table known as a bytecode (upcode) dispatch table is used. The dispatch table contains addresses for code that implements each bytecode. When the interpreter executes normally, these addresses point to the basic target machine code for executing each bytecode. However, when an Asynchrounously Interrupted Exception (AIE) is thrown, then the dispatch table is repopulated so that all byte codes point to routines that can handle the exception. These may point to a routine, such as an athrow, that has been extended to handle the special case of the AIE. Alternatively, the rewritten table can point to a routine that is specifically written to handle the firing of an AIE. The table contents are restored to their prior state once the exception handling is complete.
    Type: Grant
    Filed: August 1, 2002
    Date of Patent: November 13, 2007
    Assignee: TymeSys Corporation
    Inventors: Peter C. Dibble, C. Douglass Locke, Scott D. Robbins, Pratik Solanki
  • Patent number: 7293119
    Abstract: The present invention relates to a method and system for performing a data transfer between a shared memory (16) of a processor device (10) and a circuitry (20) connected to the processor device (10), wherein the data transfer is performed by triggering a DMA transfer of the data to the processor device, adding the DMA transfer to a transaction log, and providing the transaction log to the processor device, when the transaction log has reached a predetermined depth limit. The processor device is then informed of the DMA transfer of the transaction log, so as to be able to validate the transferred data. Thereby, significant background data movement can be provided without introducing high core overheads at the processor device (10).
    Type: Grant
    Filed: December 27, 2001
    Date of Patent: November 6, 2007
    Assignee: Nokia Corporation
    Inventor: John Beale
  • Patent number: 7293120
    Abstract: A DMA module includes an address generator to perform a write or read access to a location of an addressable memory, and an address counter to advance a stored address to an adjacent memory location. The address counter does not act on an internal register of the DMA module but instead is configured so that between reading an address value from the memory and writing the address value to the memory, the address counter is advanced once. The memory location at which the address value is read or written takes on the function of a register conventionally integrated in the DMA module. This approach reduces the space requirement of the DMA module, and the DMA module may be employed to control a large number of DMA processes that may mutually interrupt each other by providing a plurality of memory locations to store specifications of the DMA blocks.
    Type: Grant
    Filed: January 5, 2004
    Date of Patent: November 6, 2007
    Assignee: Micronas GmbH
    Inventor: Burkhard Giebel
  • Patent number: 7290124
    Abstract: The present invention prevents a data processor from undesirable operation stop due to an overflow of a plurality of register banks. A status register includes an overflow flag to indicate an overflow of the plurality of register banks. When an interrupt exception occurs in a state in which data has been saved to all banks of the register banks, and the accepted interrupt exception is permitted to use the register banks, a central processing unit saves data of a register set to a stack area and reflects an overflow state in the overflow flag. When the overflow flag indicates an overflow state, if data restoration from the register banks to the register set is directed, the central processing unit restores the data from the stack area to the register set.
    Type: Grant
    Filed: October 23, 2003
    Date of Patent: October 30, 2007
    Assignee: Renesas Technology Corp.
    Inventors: Yasuo Sugure, Tomomi Ishikura, Kazuya Hirayanagi, Takeshi Kataoka, Seiji Takeuchi, Hiromichi Yamada, Takanaga Yamazaki
  • Patent number: 7287244
    Abstract: In preparing inlined program code for compiling, a synchronization depth is recorded in a table for ranges of program counter addresses. Furthermore, a stack frame is dedicated for the recordation of references to objects locked during the execution of the code. Such references are recorded in the stack frame at a location based on synchronization depth. When an exception occurs, the synchronization depth may be determined from the table and used to obtain, from the stack frame, a reference to an object from which a lock should be removed.
    Type: Grant
    Filed: December 9, 2003
    Date of Patent: October 23, 2007
    Assignee: International Business Machines Corporation
    Inventor: Mark Graham Stoodley
  • Patent number: 7278014
    Abstract: A system and method is provided to simulate hardware interrupts by inserting instructions into a stream of instructions where a “no operation” (or NOOP) instruction would normally be inserted. The instruction is inserted is a conditional branch instruction, called a BISLED, that branches if there is external data in a known memory area. In one embodiment, the processor has at least two pipelines that need to be aligned so that certain instructions are scheduled for the first pipeline and other instructions are scheduled for the other. In this embodiment, the BISLED also serves the purpose of re-aligning the instruction stream so that instructions are placed in the correct pipeline based upon the function performed by the instruction.
    Type: Grant
    Filed: December 2, 2004
    Date of Patent: October 2, 2007
    Assignee: International Business Machines Corporation
    Inventor: David John Erb
  • Patent number: 7272705
    Abstract: A programmable processor is adapted to detect exception conditions associated with one or more instructions before the instructions are executed. The detected exception conditions may be stored with the one or more instructions in a prefetch unit. Then, the exception conditions may be issued in parallel with the issuance of the instructions.
    Type: Grant
    Filed: May 23, 2005
    Date of Patent: September 18, 2007
    Assignee: Analog Devices, Inc.
    Inventors: Juan G. Revilla, Ravi P. Singh, Charles P. Roth
  • Patent number: 7272748
    Abstract: A prologue and an epilogue of a function are hooked. Completion of the prologue is stalled in a first state of a stack frame, and a copy of the first state of the stack frame is saved. Completion of the prologue is initiated, permitting execution of the function. Completion of the epilogue is stalled in a second state of the stack frame. The saved copy of the first state of the stack frame is located and compared with the second state of the stack frame. A determination is made whether the stack frame is corrupted based on the comparison. Upon a determination that the stack frame is corrupted, the second state of the stack frame is replaced with the copy of the first state of the stack frame, and completion of the epilogue is initiated, allowing the function to complete.
    Type: Grant
    Filed: March 17, 2004
    Date of Patent: September 18, 2007
    Assignee: Symantec Corporation
    Inventors: Matthew Conover, Sourabh Satish
  • Patent number: 7269720
    Abstract: Techniques are described for dynamically controlling the execution of operations within a multi-operation instruction, such as a very long instruction word (VLIW). A programmable processor fetches and executes a first instruction having an operation mask. Based on the operation mask, the processor selectively executes one or more operations within a second instruction. Individual operations within a multi-operation instruction can be selectively enabled and disabled, which is advantageous in many situations, including event handling and code debugging.
    Type: Grant
    Filed: April 4, 2005
    Date of Patent: September 11, 2007
    Assignee: NXP B.V.
    Inventors: Marcel J. A. Tromp, Frans W Sijstermans, Sunny C Huang, Rudolf H. J. Bloks