Exeception Processing (e.g., Interrupts And Traps) Patents (Class 712/244)
  • Patent number: 7913070
    Abstract: Tracking the order of issued instructions using a counter is presented. In one embodiment, a saturating, decrementing counter is used. The counter is initialized to a value that corresponds to the processor's commit point. Instructions are issued from a first issue queue to one or more execution units and one or more second issue queues. After being issued by the first issue queue, the counter associated with each instruction is decremented during each instruction cycle until the instruction is executed by one of the execution units. Once the counter reaches zero it will be completed by the execution unit. If a flush condition occurs, instructions with counters equal to zero are maintained (i.e., not flushed or invalidated), while other instructions in the pipeline are invalidated based upon their counter values.
    Type: Grant
    Filed: October 13, 2008
    Date of Patent: March 22, 2011
    Assignee: International Business Machines Corporation
    Inventors: Christopher Michael Abernathy, Jonathan James DeMent, Ronald Hall, Robert Alan Philhower, David Shippy
  • Publication number: 20110066834
    Abstract: Various technologies and techniques are disclosed for providing concurrent exception handling. When one or more exceptions are received from concurrent workers, one or more exception handler functions are supplied. For each respective exception in the exception results, determine if the respective exception is one of a kind of exceptions handled by the one or more exception handler functions. If the respective exception is one of a kind handled by the exception handler functions, then run a particular handler of the exception handler functions and mark the respective exception as handled. Any unhandled exceptions are then processed appropriately. In one implementation, a collection of input data is processed to produce a collection of output results, with the exceptions being interleaved with other output results. In another implementation, a particular exception is selected that represents the multiple exceptions. The selected one particular exception is then thrown.
    Type: Application
    Filed: November 17, 2010
    Publication date: March 17, 2011
    Applicant: Microsoft Corporation
    Inventors: John Joseph Duffy, David Callahan, David Detlefs, Vance Morrison, Brian Grunkemeyer, Eric Dean Tribble
  • Patent number: 7904703
    Abstract: A system, apparatus and method for idling and waking threads by a multithread processing device are described herein. Embodiments of the present invention provide a multithread processing device for idling and waking threads including a scheduler configured to determine a bandwidth request mode of a first instruction execution thread and allocate zero execution cycles of an instruction execution period to the first instruction execution thread if the bandwidth request mode is an idle mode. In various embodiments, the multithread processing device may be configured to wake the first instruction thread by allocating one or more execution cycles to the first instruction execution thread if the bandwidth request mode is modified to a wake mode. Other embodiments may be described and claimed.
    Type: Grant
    Filed: July 10, 2007
    Date of Patent: March 8, 2011
    Assignee: Marvell International Ltd.
    Inventors: Jack Kang, Yu-Chi Chuang
  • Publication number: 20110055530
    Abstract: A microprocessor includes a cache memory and a grabline instruction. The grabline instruction specifies a memory address that implicates a cache line of the memory. The grabline instruction instructs the microprocessor to initiate a zero-beat read-invalidate transaction on the bus to obtain ownership of the cache line. The microprocessor foregoes initiating the transaction on the bus when executing the grabline instruction if the microprocessor determines that a store to the cache line would cause an exception.
    Type: Application
    Filed: May 17, 2010
    Publication date: March 3, 2011
    Applicant: VIA TECHNOLOGIES, INC.
    Inventors: G. Glenn Henry, Colin Eddy, Rodney E. Hooker
  • Patent number: 7899663
    Abstract: Memory consistency is provided in an emulated processing environment. A processor architected with a weak memory consistency emulates an architecture having a firm memory consistency. This memory consistency is provided without requiring serialization instructions or special hardware.
    Type: Grant
    Filed: March 30, 2007
    Date of Patent: March 1, 2011
    Assignee: International Business Machines Corporation
    Inventors: Theodore J. Bohizic, Mark H. Decker, Viktor S. Gyuris
  • Patent number: 7900204
    Abstract: Embodiments of apparatuses, methods, and systems for processing interrupts in a layered virtualization architecture are disclosed. In one embodiment, an apparatus includes a recognition logic, window logic, and evaluation logic. The event logic is to recognize an interrupt request. The window logic is to determine whether an interrupt window is open. The evaluation logic is to determine whether to transfer control to one of at least two virtual machine monitors in response to the interrupt request if the interrupt window is open.
    Type: Grant
    Filed: December 30, 2005
    Date of Patent: March 1, 2011
    Inventors: Steven M. Bennett, Andrew V. Anderson, Gilbert Neiger, Dion Rodgers, Richard A. Uhlig, Lawrence O. Smith, Barry E. Huntley
  • Publication number: 20110047358
    Abstract: Mechanisms are provided for tracking exceptions in the execution of vectorized code. A speculative instruction is executed on a vector element of a vector. An exception condition is detected in association with the vector element based on a result of executing the speculative instruction on the vector element. A special exception value is stored in the vector element in a vector register corresponding to the vector, indicative of the exception condition, without invoking an exception handler for the exception condition. The special exception value is propagated with the vector element of the vector through a processor architecture of the processor, without invoking the exception handler for the exception condition. An exception corresponding to the exception condition indicated by the special exception value is generated only in response to a non-speculative instruction being executed that performs a non-speculative operation on the vector element.
    Type: Application
    Filed: August 19, 2009
    Publication date: February 24, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Alexandre E. Eichenberger, Alan Gara, Michael K. Gschwind
  • Publication number: 20110040956
    Abstract: A multiprocessing system is disclosed. The system includes a multithreading microprocessor, including a plurality of thread contexts (TCs), each comprising a first control indicator for controlling whether the TC is exempt from servicing interrupt requests to an exception domain for the plurality of TCs, and a virtual processing element (VPE), comprising the exception domain, configured to receive the interrupt requests, wherein the interrupt requests are non-specific to the plurality of TCs, wherein the VPE is configured to select a non-exempt one of the plurality of TCs to service each of the interrupt requests, the VPE further comprising a second control indicator for controlling whether the VPE is enabled to select one of the plurality of TCs to service the interrupt requests.
    Type: Application
    Filed: October 26, 2010
    Publication date: February 17, 2011
    Applicant: MIPS Technologies, Inc.
    Inventor: Kevin D. Kissell
  • Patent number: 7890722
    Abstract: A sequentially performed implementation of a compound compare-and-swap (nCAS) operation has been developed. In one implementation, a double compare-and-swap (DCAS) operation does not result in a fault, interrupt, or trap in the situation where memory address A2 is invalid and the contents of memory address A1 are unequal to C1. In some realizations, memory locations addressed by a sequentially performed nCAS or DCAS instruction are reserved (e.g., locked) in a predefined order in accordance with a fixed total order of memory locations. In this way, deadlock between concurrently executed instances of sequentially performed nCAS instructions can be avoided. Other realizations defer responsibility for deadlock avoidance to the programmer.
    Type: Grant
    Filed: April 6, 2005
    Date of Patent: February 15, 2011
    Assignee: Oracle America, Inc.
    Inventors: Guy L. Steele, Jr., Ole Agesen, Nir N. Shavit
  • Patent number: 7889750
    Abstract: In a packet processing system, where a packet processor normally performs a fixed number of processing cycles on a packet as it progresses through a processing pipeline, a method of extending the fixed number of processing cycles for a particular packet is provided. During the processing of a packet, an extension bit associated with the packet is set to an “on” state if extended processing of the packet is needed. While the extension bit is set to that state, updating of a count, indicating the number of processing cycles that has been undertaken for the packet, is inhibited. When the extended processing of the packet has been completed, the extension bit for the packet is set to an “off” state, and the updating of the count resumed. When that count indicates the number of processing cycles the packet has undergone equals or exceeds the fixed number, the packet is exited from the pipeline.
    Type: Grant
    Filed: December 30, 2005
    Date of Patent: February 15, 2011
    Assignee: Extreme Networks, Inc.
    Inventor: David K. Parker
  • Patent number: 7890740
    Abstract: A processor comprises a first mode of operation and a second mode of operation. A state of the processor in the first mode of operation comprises a first plurality of variables. The first plurality of variables comprises a return address. A state of the processor in the second mode of operation comprises a second plurality of variables in addition to the first plurality of variables. The processor is configured to perform, in case of an interrupt or exception occurring during the second mode of operation, the steps of saving the second plurality of variables and the return address to a buffer memory, replacing the return address with an address of a trampoline instruction, and switching into the first mode of operation. These steps are performed independently of an operating system.
    Type: Grant
    Filed: October 18, 2007
    Date of Patent: February 15, 2011
    Assignee: Globalfoundries Inc.
    Inventor: Uwe Kranich
  • Patent number: 7886135
    Abstract: Instructions asserted in a microprocessors instruction pipeline (3) are accompanied by control information, comprising a group of bits, asserted within a control information pipeline (5) that is synchronized to the instruction pipeline. At the execution stage, the control information is interpreted and appropriate action taken. The control information may indicate that the instruction has been reasserted (asserted again following an initial assertion) and may also indicate the number of times that the instruction has been consecutively asserted in the instruction pipeline. Applied to unaligned memory operations, in which a memory atom is asserted twice, the control information indicates which part of the unaligned data is to be fetched each time the atom is executed.
    Type: Grant
    Filed: November 7, 2006
    Date of Patent: February 8, 2011
    Inventors: Brett Coon, Godfrey D'Souza, Paul Serris
  • Patent number: 7882339
    Abstract: A processor may include an address monitor table and an atomic update table to support speculative threading. The processor may also include one or more registers to maintain state associated with execution of speculative threads. The processor may support one or more of the following primitives: an instruction to write to a register of the state, an instruction to trigger the committing of buffered memory updates, an instruction to read the a status register of the state, and/or an instruction to clear one of the state bits associated with trap/exception/interrupt handling. Other embodiments are also described and claimed.
    Type: Grant
    Filed: June 23, 2005
    Date of Patent: February 1, 2011
    Assignee: Intel Corporation
    Inventors: Quinn A. Jacobson, Hong Wang, John Shen, Gautham N. Chinya, Per Hammarlund, Xiang Zou, Bryant Bigbee, Shivnandan D. Kaushik
  • Patent number: 7877629
    Abstract: A method for facilitating handling of exceptions in object code transformed from a 1-to-1 threading model to a M-to-N threading model comprises transforming object code having a 1-to-1 threading model to a M-to-N threading model, saving context of a Runnable section of the object code into a context object in response to an exception occurring and rethrowing the exception after performing the saving. The transforming includes creating a Boolean enable value in a method context for an exception handler in the method context, mapping an exception type to the exception handler and wrapping a Runnable section of the object code within a respective synthetic exception handler. The respective synthetic exception handler is configured for saving context of the object code Runnable into a context object in response to an exception occurring and rethrowing the exception after performing the saving.
    Type: Grant
    Filed: June 1, 2005
    Date of Patent: January 25, 2011
    Assignee: Sanmina-SCI
    Inventors: Jonathan Nicholas Nall, Trevor Alan Robinson
  • Patent number: 7877753
    Abstract: A multi-processor system with a plurality of unit processors includes: a semaphore setting section for setting semaphores representing preferential right to the competing of resources to be able to be identified to correspond to each of a plurality of the resources; a semaphore request determining section for determining, whether when a first unit processor among said unit processors requests to obtain a semaphore that is set to said semaphore setting section, the request is for requesting a semaphore being obtained by the second unit processor; and an exclusive controlling section for making the request by the first unit processor wait when it is determined that said request is for requesting a semaphore being obtained, and permitting to obtain the requested semaphore when it is determined that said request is for requesting a semaphore other than the semaphore being obtained by the semaphore request determining section.
    Type: Grant
    Filed: January 10, 2007
    Date of Patent: January 25, 2011
    Assignee: Seiko Epson Corporation
    Inventors: Akinari Todoroki, Katsuya Tanaka
  • Publication number: 20110016338
    Abstract: A processor is disclosed having a plurality of general purpose registers for storing data for processing by the processor; a set of system configuration registers for storing data indicative of a current configuration of the processor; the system configuration registers being located together in a register file; and at least some of the set of system configuration registers having a shadow register for storing a duplicate value remote from the register file, the shadow register being located close to a component that the shadow register stores a configuration value for.
    Type: Application
    Filed: July 15, 2009
    Publication date: January 20, 2011
    Inventors: David James Williamson, James Nolan Hardage
  • Publication number: 20110016295
    Abstract: A digital processor with programmable exception processing latency, may have a central processing unit (CPU) of a digital processor, an exception controller coupled with said CPU, and a control register coupled with said CPU, wherein the control register is operable to set the operation mode of said CPU in at least one of two modes, wherein in the first mode the CPU has a fixed exception processing latency time, and in a second mode the CPU has a variable exception processing latency time.
    Type: Application
    Filed: May 10, 2010
    Publication date: January 20, 2011
    Inventors: Michael I. Catherwood, David Mickey
  • Publication number: 20110016294
    Abstract: A technique for reliably replaying operations in electronic-design-automation (EDA) software is described. In this technique, the EDA software stores operations performed by a user during a design session, as well as any replay look-ahead instructions, in a log file. When repeating the first operation, the replay look-ahead instruction ensures that the same state is obtained in the EDA environment as was previously obtained. For example, if an interrupt occurred when the first operation was previously performed, the replay look-ahead instruction may specify when the interrupt occurred during the performance of the operation so that the effect of the interrupt may be simulated when replaying the first operation.
    Type: Application
    Filed: October 30, 2009
    Publication date: January 20, 2011
    Applicant: SYNOPSYS, INC.
    Inventor: Jeffrey T. Brubaker
  • Patent number: 7870336
    Abstract: Unobservable memory regions, referred to as stealth memory regions, are allocated or otherwise provided to store data whose secrecy is to be protected. The stealth memory is prevented from exposing information about its usage pattern to an attacker or adversary. In particular, the usage patterns may not be deduced via the side-channels.
    Type: Grant
    Filed: November 3, 2006
    Date of Patent: January 11, 2011
    Assignee: Microsoft Corporation
    Inventors: Ulfar Erlingsson, Martin Abadi
  • Patent number: 7870172
    Abstract: Embodiments of this invention disclose a file system having a hybrid file system format. The file system maintains certain data in two formats, thereby defining a hybrid file system format. In one exemplary application, the first format has properties favorable to write operations, e.g. a log-structured file system format, while the second format has properties favorable to read operations, e.g. an extent-based file system format. The data is stored in the first file system format and then asynchronously stored in the second file system format. The data stored in the second file system format are also updated asynchronously.
    Type: Grant
    Filed: December 22, 2005
    Date of Patent: January 11, 2011
    Assignee: Network Appliance, Inc.
    Inventor: Joydeep Sarma
  • Patent number: 7869453
    Abstract: There is provided an apparatus and method for transferring data packets from a peripheral module to a memory via a memory-controller. When a given peripheral module requests that it send a data packet to the memory via the memory-controller, the memory-controller sends an acknowledgement indicating that the peripheral module can send the data packet, whether or not there is a descriptor for the data packet. If there is a descriptor, the memory-controller receives the data packet from the peripheral module and stores it in the memory. If there is not a descriptor, the memory-controller discards the data packet as it receives it. Thus, whether or not there is a descriptor available for the data packet, the peripheral module still sends the data packet to the memory-controller. The data packets may be assigned classifications and each classification may be assigned a dedicated space in the memory.
    Type: Grant
    Filed: December 17, 2004
    Date of Patent: January 11, 2011
    Assignee: Lantiq Deutschland GmbH
    Inventors: Hong Lee Koo, Bing Tao Xu
  • Patent number: 7870372
    Abstract: A system, apparatus and method for interrupt handling on a multi-thread processing device are described herein. Embodiments of the present invention provide a multi-thread processing device for interrupt handling including an interrupt block to provide interrupt signals to a fetch block, including a first interrupt signal line corresponding to a first instruction execution thread and a second interrupt signal line corresponding to a second instruction execution thread. In embodiments, the multi-thread processing device may handle interrupts by providing a shared interrupt service routine for multiple threads or by providing each thread its own unique interrupt service routine.
    Type: Grant
    Filed: August 13, 2007
    Date of Patent: January 11, 2011
    Assignee: Marvell World Trade Ltd.
    Inventors: Jack Kang, Hsi-Cheng Chu, Yu-Chi Chuang
  • Patent number: 7865706
    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: Grant
    Filed: May 7, 2007
    Date of Patent: January 4, 2011
    Assignee: Panasonic Corporation
    Inventor: Naoya Ichinose
  • Patent number: 7861072
    Abstract: Various technologies and techniques are disclosed for providing concurrent exception handling. When one or more exceptions are received from concurrent workers, one or more exception handler functions are supplied. For each respective exception in the exception results, determine if the respective exception is one of a kind of exceptions handled by the one or more exception handler functions. If the respective exception is one of a kind handled by the exception handler functions, then run a particular handler of the exception handler functions and mark the respective exception as handled. Any unhandled exceptions are then processed appropriately. In one implementation, a collection of input data is processed to produce a collection of output results, with the exceptions being interleaved with other output results. In another implementation, a particular exception is selected that represents the multiple exceptions. The selected one particular exception is then thrown.
    Type: Grant
    Filed: June 25, 2007
    Date of Patent: December 28, 2010
    Assignee: Microsoft Corporation
    Inventors: John Joseph Duffy, David Callahan, David Detlefs, Vance Morrison, Brian Grunkemeyer, Eric Dean Tribble
  • Publication number: 20100325397
    Abstract: A data processing apparatus is described which comprises processing circuitry responsive to data processing instructions to execute integer data processing operations and floating point data processing operations, a first set of integer registers useable by the processing circuitry in executing the integer data processing operations, and a second set of floating point registers useable by the processing circuitry in executing the floating point data processing operations.
    Type: Application
    Filed: May 3, 2010
    Publication date: December 23, 2010
    Inventor: Simon John Craske
  • Patent number: 7853736
    Abstract: A data transfer device arranged in a node for connection in compliance with a communication standard. The data transfer device includes a request signal generation circuit for generating request signals defined by the communication standard with different levels of priority. A determination circuit determines the request signal having the highest level of priority. Priority is given to the transfer of data corresponding to the request signal determined to have the highest level of priority by the determination circuit. A top priority request signal generation unit generates a top priority request signal that differs from the request signals defined by the communication standard. The determination circuit includes a priority determination table in which the uppermost priority request signal is set to have a level of priority that is higher than the levels of priority of the plurality of existing request signals.
    Type: Grant
    Filed: September 28, 2007
    Date of Patent: December 14, 2010
    Assignee: Fujitsu Semiconductor Limited
    Inventor: Hirotaka Ueno
  • Patent number: 7853779
    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 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 debut interrupts and a dynamic debut monitor mechanism.
    Type: Grant
    Filed: May 14, 2008
    Date of Patent: December 14, 2010
    Assignee: Altera Corporation
    Inventors: Edwin Franklin Barry, Patrick R. Marchand, Gerald George Pechanek, Larry D. Larsen
  • Patent number: 7849465
    Abstract: Method, apparatus, and system for a programmable event driven yield mechanism that may activate other threads. The yield mechanism may allow triggering of a service thread that may execute currently with a main thread upon occurrence of an architecturally-defined condition. The service thread may be activated, in response to the condition, with limited intervention of an operating system. In one embodiment, an apparatus includes execution resources to execute a plurality of instructions and a monitor to detect an architecturally-defined condition. The apparatus may include an event handler to handle a yield event generated when the architecturally-defined condition has been detected. An architectural mechanism, including processor instructions and channel registers, may be utilized to allow user-level code to enable the yield event mechanism. Other embodiments are also described and claimed.
    Type: Grant
    Filed: May 19, 2005
    Date of Patent: December 7, 2010
    Assignee: Intel Corporation
    Inventors: Xiang Zou, Hong Wang, Scott Dion Rodgers, Darrell D. Boggs, Bryant Bigbee, Shivanandan Kaushik, Anil Aggarwal, Ittai Anati, Doron Orenstein, Per Hammarlund, John Shen, Larry O. Smith, James B. Crossland, Chris J. Newburn
  • Patent number: 7849387
    Abstract: In one embodiment, a quantum detector is provided to detect a vulnerability measure for a processor based on a processor metrics each associated with operation of a processor structure during a quantum, along with a controller to control an error mitigation unit based on the vulnerability measure. Other embodiments are described and claimed.
    Type: Grant
    Filed: April 23, 2008
    Date of Patent: December 7, 2010
    Assignee: Intel Corporation
    Inventors: Arijit Biswas, Niranjan Soundararajan, Shubhendu Mukherjee
  • Patent number: 7844809
    Abstract: A trusted system management interrupt handler may be verified by first locating a signed system management interrupt handler image in system memory. The digital signature of the signed system management interrupt handler image is verified. An existing basic input/output system management interrupt handler is erased and replaced with a new system management interrupt handler image. Then an analysis is done of the system management interrupt handler message is to determine whether to continue to launch.
    Type: Grant
    Filed: September 26, 2007
    Date of Patent: November 30, 2010
    Assignee: Intel Corporation
    Inventors: Kirk Brannock, David Grawrock
  • Patent number: 7840788
    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: February 26, 2008
    Date of Patent: November 23, 2010
    Inventors: Guillermo J. Rozas, David Dunn, Robert F. Cmelik
  • Patent number: 7840001
    Abstract: Data processing apparatus and methods are provided. One data processing apparatus comprises: a plurality of pipelined stages, each of the plurality pipelined stages being operable in each processing cycle to receive a group of data elements from an earlier pipelined stage; permute logic operable to buffer ‘n’ of the groups of data elements over a corresponding ‘n’ processing cycles thereby creating a bubble within pipelined stages, and forwarding logic operable, once the ‘n’ of the groups of data elements have been buffered by the permute logic, to forward permuted groups of data elements comprising the data elements reordered by the permute logic to fill the bubble within the pipelined stages.
    Type: Grant
    Filed: November 4, 2005
    Date of Patent: November 23, 2010
    Assignee: ARM Limited
    Inventors: Lionel Belnet, Stephane Eric Sebastien Brochier, Simon Andrew Ford
  • Patent number: 7836291
    Abstract: A method, medium, and apparatus to effectively handle an interrupt in a reconfigurable array. In the method, the reconfigurable array pauses execution of an operation when an interrupt request occurs, and after storing register values of a register to be used for handling the interrupt request, an interrupt service is performed by select processing units of the reconfigurable array in response to the interrupt request. Upon completion of the interrupt service, the register values are restored, and the reconfigurable array resumes execution of the operation.
    Type: Grant
    Filed: October 17, 2006
    Date of Patent: November 16, 2010
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Keun Soo Yim, Jeong Wook Kim, Soo Jung Ryu, Jung Keun Park, Jeong Joon Yoo, Dong-Hoon Yoo, Chae Seok Im, Jae Don Lee, Hee Seok Kim
  • Patent number: 7831818
    Abstract: A processing device includes a timer and an exception controller configured to provide an exception indicator representative of a first exception. The processing device further includes a timer controller configured to selectively enable/disable the timer in response to the exception and based on a characteristic of the exception. A method of utilizing the processing device includes receiving an exception and determining a characteristic of the exception. The method further includes, at a first time, selectively enabling/disabling the timer of the processing device based on the characteristic, and, at a second time subsequent to the first time, accessing a count value stored at the timer. The method further includes providing the count value for output from the processing device.
    Type: Grant
    Filed: June 20, 2007
    Date of Patent: November 9, 2010
    Assignee: Freescale Semiconductor, Inc.
    Inventor: William C. Moyer
  • Patent number: 7831791
    Abstract: A system and method for address space layout randomization (“ASLR”) for a Windows operating system is disclosed. The address space layout includes one or more memory regions that are identified and then a particular implementation of the system randomizes the identified memory region in order to prevent any software vulnerabilities.
    Type: Grant
    Filed: May 18, 2009
    Date of Patent: November 9, 2010
    Assignee: Wehnus, LLC
    Inventors: Matthew Miller, Ken Johnson
  • Publication number: 20100262814
    Abstract: An exception handling system is described herein that provides one or more distinguished classes of software exceptions that are handled differently than other exceptions. The system treats a distinguished exception as a “hard to catch” exception that is not passed to the catch block of program code unless a developer performs extra steps to acknowledge the distinguished nature of the exception and confirm that the program code is prepared to properly handle the exception. Exceptions that fall into this class are typically those that represent conditions from which normal exception handling practices cannot successfully recover, namely exceptions that corrupt application state. Accordingly, the system prevents the developer from catching these classes of exceptions by default unless the developer explicitly requests to have these exceptions delivered to the program code. Thus, the exception handling system encourages correct programming practices by preventing developer error by default.
    Type: Application
    Filed: April 10, 2009
    Publication date: October 14, 2010
    Applicant: Microsoft Corporation
    Inventors: Andrew J. Pardoe, Michael M. Magruder, Kumar Gaurav Khanna, Diana Milirud, Gaye Oncul Kok
  • Patent number: 7814375
    Abstract: A method and apparatus are disclosed for discovering and selecting faults where more than one programming model is involved. The present invention enables selection of faults and the mappings necessary to handle exceptions across multiple code environments.
    Type: Grant
    Filed: August 29, 2007
    Date of Patent: October 12, 2010
    Assignee: International Business Machines Corporation
    Inventors: Corville O. Allen, John H. Green, Simon A. J. Holdsworth, Piotr Przybylski
  • Patent number: 7814372
    Abstract: Methods and system for exception detecting and alerting are described. An exception indicating an occurrence of an error in an application and a path to the exception in an application space may be received. The received exception may be compared to a stored exception in a prior version of an exception data structure to determine whether the received exception is a new exception. The exception data structure may include a plurality of stored exceptions. The results of the comparison may be provided.
    Type: Grant
    Filed: September 7, 2007
    Date of Patent: October 12, 2010
    Assignee: eBay Inc.
    Inventors: Qinping Huang, Manish Maheshwari
  • Patent number: 7805596
    Abstract: In a multi-processor system (100), when a first processor interrupt generation unit (24) has executed a call command or a jump command in a main routine being executed, it generates an interrupt to a second processor. Upon reception of the interrupt from the interrupt generation unit (24), the second processor saves the return address for returning to the main routing upon completion of the subroutine processing called by the call command in a main memory area (54) other than the first processor or generates a call destination address and a jump destination address and reports it to the first processor. Thus, the first processor can be a small-size circuit capable of flexibly performing processing.
    Type: Grant
    Filed: October 31, 2005
    Date of Patent: September 28, 2010
    Assignee: Sony Computer Entertainment Inc.
    Inventors: Shinji Noda, Takeshi Kono
  • Patent number: 7802080
    Abstract: A processor 6 is provided with an instruction decoder 18 which is responsive to memory access instructions to determine whether the base register value being used matches a null value and if such a match occurs then branches to a null value exception handler.
    Type: Grant
    Filed: March 24, 2004
    Date of Patent: September 21, 2010
    Assignee: ARM Limited
    Inventors: David John Butcher, Stephen John Hill, Hedley James Francis, Vladimir Vasekin, Andrew Christopher Rose
  • Publication number: 20100235613
    Abstract: A method, apparatus and software is disclosed in which original exceptions issued by an application program are encoded as substitute exceptions with associated metadata identifying the original exception so as to enable to enable a first application program receiving the exception but not arranged to process the original exception to process the substitute exception and to enable a second application program receiving the exception and arranged to process the original exception to extract and process that original exception.
    Type: Application
    Filed: December 11, 2009
    Publication date: September 16, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Timothy J. Baldwin
  • Patent number: 7797515
    Abstract: A multi-processor system includes a plurality of unit processors that operate in parallel. The system includes a suspension prohibition section for, in response to a request from at least one of the unit processors, prohibiting suspension of processing only in the requesting unit processors for which prohibiting suspension has been requested. The suspension prohibition section limits the number of unit processors for which the suspension is prohibited at the same time to a certain limited number or below.
    Type: Grant
    Filed: January 23, 2007
    Date of Patent: September 14, 2010
    Assignee: Seiko Epson Corporation
    Inventors: Akinari Todoroki, Katsuya Tanaka
  • Patent number: 7797692
    Abstract: A system that estimates a dominant computational resource which is used by a computer program. During operation, for each basic block in the computer program, the system determines a nesting level for the basic block. Next, the system selects basic blocks with nesting levels greater than a specified threshold. For each selected basic block, the system analyzes the basic block to estimate the dominant computational resource used by the basic block. The system then uses the estimated dominant computational resources for the selected basic blocks to estimate the dominant computational resource for the computer program.
    Type: Grant
    Filed: May 12, 2006
    Date of Patent: September 14, 2010
    Assignee: Google Inc.
    Inventor: Grzegorz J. Czajkowski
  • Publication number: 20100223449
    Abstract: An interrupt support determining apparatus and method for an equal-model processor, and a processor including the interrupt support determining apparatus are provided. The interrupt support determining apparatus determines whether an instruction input to a processor decoder is a multiple latency instruction, compares a current latency of the instruction with a remaining latency if the instruction is a multiple latency instruction, and updates the current latency to the remaining latency if the current latency is greater than the remaining latency.
    Type: Application
    Filed: January 28, 2010
    Publication date: September 2, 2010
    Inventors: Il- hyun PARK, Soo-jung RYU, Dong-hoon YOO, Yeon-gon CHO, Bernhard EGGER
  • Patent number: 7788433
    Abstract: An apparatus for executing secure code, having a microprocessor coupled to a secure non-volatile memory via a private bus a system memory via a system bus. The microprocessor executes non-secure application programs and a secure application program. The microprocessor accomplishes private bus transactions over the private bus to access the secure application program within the secure non-volatile memory. The private bus transactions are hidden from system bus resources and devices coupled to the system bus. The microprocessor includes normal interrupt logic and secure execution mode interrupt logic. The normal interrupt logic provides non-secure interrupts for interrupting the non-secure application programs when the microprocessor is operating in a non-secure mode.
    Type: Grant
    Filed: October 31, 2008
    Date of Patent: August 31, 2010
    Assignee: Via Technologies, Inc.
    Inventors: G. Glenn Henry, Terry Parks
  • Patent number: 7783867
    Abstract: Instruction execution is controlled by a single test that determines whether processing should continue in mainline processing or fall through to a test set. The single test compares a dynamically set variable to an instruction counter. If the test is met, mainline processing continues. Otherwise, processing falls through to a test set.
    Type: Grant
    Filed: February 1, 2007
    Date of Patent: August 24, 2010
    Assignee: International Business Machines Corporation
    Inventors: Theodore J. Bohizic, Mark H. Decker, Viktor S. Gyuris
  • Patent number: 7779238
    Abstract: A system and method for precisely identifying an instruction causing a performance-related event is disclosed. The instruction may be detected while in a pipeline stage of a microprocessor preceding a writeback stage and the microprocessor's architectural state may not be updated until after information identifying the instruction is captured. The instruction may be flushed from the pipeline, along with other instructions from the same thread. A hardware trap may be taken when the instruction is detected and/or when an event counter overflows or is within a given range of overflowing. A software trap handler may capture and/or log information identifying the instruction, such as one or more extended address elements, before returning control and initiating a retry of the instruction. The captured and/or logged information may be stored in an event space database usable by a data space profiler to identify performance bottlenecks in the application containing the instruction.
    Type: Grant
    Filed: October 30, 2006
    Date of Patent: August 17, 2010
    Assignee: Oracle America, Inc.
    Inventors: Nicolai Kosche, Gregory F. Grohoski, Paul J. Jordan
  • Publication number: 20100205403
    Abstract: A microprocessor includes a memory that stores an exception handler to handle an exception condition. The exception handler is a non-user program private to the microprocessor and includes a conditional branch instruction. A first fetch unit fetches instructions of a user program that includes a user program instruction that causes the exception condition. An execution unit executes the user program instructions fetched by the first fetch unit and executes instructions of the exception handler. The execution unit also saves a state in response to detecting the exception condition caused by the user program instruction. A second fetch unit fetches the exception handler instructions from the memory and resolves the conditional branch instruction based on the saved state without sending the conditional branch instruction to the execution unit to resolve the conditional branch instruction.
    Type: Application
    Filed: June 9, 2009
    Publication date: August 12, 2010
    Applicant: VIA TECHNOLOGIES, INC.
    Inventors: G. Glenn Henry, Terry Parks, Brent Bean
  • Patent number: 7774585
    Abstract: A real-time, multi-threaded embedded system includes rules for handling traps and interrupts to avoid problems such as priority inversion and re-entrancy. By defining a global interrupt priority value for all active threads and only accepting interrupts having a priority higher than the interrupt priority value, priority inversion can be avoided. Switching to the same thread before any interrupt servicing, and disabling interrupts and thread switching during interrupt servicing can simplify the interrupt handling logic. By storing trap background data for traps and servicing traps only in their originating threads, trap traceability can be preserved. By disabling interrupts and thread switching during trap servicing, unintended trap re-entrancy and servicing disruption can be prevented.
    Type: Grant
    Filed: November 12, 2003
    Date of Patent: August 10, 2010
    Assignee: Infineon Technologies AG
    Inventors: Robert E. Ober, Roger D. Arnold, Daniel F. Martin, Erik K. Norden
  • Publication number: 20100199076
    Abstract: A computing apparatus and method of handling an interrupt are provided. The computing apparatus includes a coarse-grained array, a host processor, and an interrupt supervisor. When an interrupt occurs in the coarse-grained array while performing a loop operation, the host processor processes the interrupt, and the interrupt supervisor may perform mode switching between the coarse-grained array and the host processor.
    Type: Application
    Filed: December 16, 2009
    Publication date: August 5, 2010
    Inventors: Dong-hoon YOO, Soo-jung Ryu, Yeon-gon Cho, Bernhard Egger, Il-hyun Park