Exeception Processing (e.g., Interrupts And Traps) Patents (Class 712/244)
-
Patent number: 7913070Abstract: 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: GrantFiled: October 13, 2008Date of Patent: March 22, 2011Assignee: International Business Machines CorporationInventors: Christopher Michael Abernathy, Jonathan James DeMent, Ronald Hall, Robert Alan Philhower, David Shippy
-
Publication number: 20110066834Abstract: 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: ApplicationFiled: November 17, 2010Publication date: March 17, 2011Applicant: Microsoft CorporationInventors: John Joseph Duffy, David Callahan, David Detlefs, Vance Morrison, Brian Grunkemeyer, Eric Dean Tribble
-
Patent number: 7904703Abstract: 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: GrantFiled: July 10, 2007Date of Patent: March 8, 2011Assignee: Marvell International Ltd.Inventors: Jack Kang, Yu-Chi Chuang
-
Publication number: 20110055530Abstract: 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: ApplicationFiled: May 17, 2010Publication date: March 3, 2011Applicant: VIA TECHNOLOGIES, INC.Inventors: G. Glenn Henry, Colin Eddy, Rodney E. Hooker
-
Patent number: 7899663Abstract: 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: GrantFiled: March 30, 2007Date of Patent: March 1, 2011Assignee: International Business Machines CorporationInventors: Theodore J. Bohizic, Mark H. Decker, Viktor S. Gyuris
-
Patent number: 7900204Abstract: 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: GrantFiled: December 30, 2005Date of Patent: March 1, 2011Inventors: Steven M. Bennett, Andrew V. Anderson, Gilbert Neiger, Dion Rodgers, Richard A. Uhlig, Lawrence O. Smith, Barry E. Huntley
-
Publication number: 20110047358Abstract: 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: ApplicationFiled: August 19, 2009Publication date: February 24, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Alexandre E. Eichenberger, Alan Gara, Michael K. Gschwind
-
Publication number: 20110040956Abstract: 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: ApplicationFiled: October 26, 2010Publication date: February 17, 2011Applicant: MIPS Technologies, Inc.Inventor: Kevin D. Kissell
-
Patent number: 7890722Abstract: 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: GrantFiled: April 6, 2005Date of Patent: February 15, 2011Assignee: Oracle America, Inc.Inventors: Guy L. Steele, Jr., Ole Agesen, Nir N. Shavit
-
Patent number: 7889750Abstract: 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: GrantFiled: December 30, 2005Date of Patent: February 15, 2011Assignee: Extreme Networks, Inc.Inventor: David K. Parker
-
Patent number: 7890740Abstract: 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: GrantFiled: October 18, 2007Date of Patent: February 15, 2011Assignee: Globalfoundries Inc.Inventor: Uwe Kranich
-
Patent number: 7886135Abstract: 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: GrantFiled: November 7, 2006Date of Patent: February 8, 2011Inventors: Brett Coon, Godfrey D'Souza, Paul Serris
-
Patent number: 7882339Abstract: 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: GrantFiled: June 23, 2005Date of Patent: February 1, 2011Assignee: Intel CorporationInventors: Quinn A. Jacobson, Hong Wang, John Shen, Gautham N. Chinya, Per Hammarlund, Xiang Zou, Bryant Bigbee, Shivnandan D. Kaushik
-
Patent number: 7877629Abstract: 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: GrantFiled: June 1, 2005Date of Patent: January 25, 2011Assignee: Sanmina-SCIInventors: Jonathan Nicholas Nall, Trevor Alan Robinson
-
Patent number: 7877753Abstract: 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: GrantFiled: January 10, 2007Date of Patent: January 25, 2011Assignee: Seiko Epson CorporationInventors: Akinari Todoroki, Katsuya Tanaka
-
Publication number: 20110016338Abstract: 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: ApplicationFiled: July 15, 2009Publication date: January 20, 2011Inventors: David James Williamson, James Nolan Hardage
-
Publication number: 20110016295Abstract: 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: ApplicationFiled: May 10, 2010Publication date: January 20, 2011Inventors: Michael I. Catherwood, David Mickey
-
Publication number: 20110016294Abstract: 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: ApplicationFiled: October 30, 2009Publication date: January 20, 2011Applicant: SYNOPSYS, INC.Inventor: Jeffrey T. Brubaker
-
Patent number: 7870336Abstract: 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: GrantFiled: November 3, 2006Date of Patent: January 11, 2011Assignee: Microsoft CorporationInventors: Ulfar Erlingsson, Martin Abadi
-
Patent number: 7870172Abstract: 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: GrantFiled: December 22, 2005Date of Patent: January 11, 2011Assignee: Network Appliance, Inc.Inventor: Joydeep Sarma
-
Patent number: 7869453Abstract: 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: GrantFiled: December 17, 2004Date of Patent: January 11, 2011Assignee: Lantiq Deutschland GmbHInventors: Hong Lee Koo, Bing Tao Xu
-
Patent number: 7870372Abstract: 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: GrantFiled: August 13, 2007Date of Patent: January 11, 2011Assignee: Marvell World Trade Ltd.Inventors: Jack Kang, Hsi-Cheng Chu, Yu-Chi Chuang
-
Patent number: 7865706Abstract: 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: GrantFiled: May 7, 2007Date of Patent: January 4, 2011Assignee: Panasonic CorporationInventor: Naoya Ichinose
-
Patent number: 7861072Abstract: 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: GrantFiled: June 25, 2007Date of Patent: December 28, 2010Assignee: Microsoft CorporationInventors: John Joseph Duffy, David Callahan, David Detlefs, Vance Morrison, Brian Grunkemeyer, Eric Dean Tribble
-
Publication number: 20100325397Abstract: 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: ApplicationFiled: May 3, 2010Publication date: December 23, 2010Inventor: Simon John Craske
-
Patent number: 7853736Abstract: 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: GrantFiled: September 28, 2007Date of Patent: December 14, 2010Assignee: Fujitsu Semiconductor LimitedInventor: Hirotaka Ueno
-
Patent number: 7853779Abstract: 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: GrantFiled: May 14, 2008Date of Patent: December 14, 2010Assignee: Altera CorporationInventors: Edwin Franklin Barry, Patrick R. Marchand, Gerald George Pechanek, Larry D. Larsen
-
Patent number: 7849465Abstract: 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: GrantFiled: May 19, 2005Date of Patent: December 7, 2010Assignee: Intel CorporationInventors: 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: 7849387Abstract: 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: GrantFiled: April 23, 2008Date of Patent: December 7, 2010Assignee: Intel CorporationInventors: Arijit Biswas, Niranjan Soundararajan, Shubhendu Mukherjee
-
Patent number: 7844809Abstract: 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: GrantFiled: September 26, 2007Date of Patent: November 30, 2010Assignee: Intel CorporationInventors: Kirk Brannock, David Grawrock
-
Patent number: 7840788Abstract: 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: GrantFiled: February 26, 2008Date of Patent: November 23, 2010Inventors: Guillermo J. Rozas, David Dunn, Robert F. Cmelik
-
Patent number: 7840001Abstract: 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: GrantFiled: November 4, 2005Date of Patent: November 23, 2010Assignee: ARM LimitedInventors: Lionel Belnet, Stephane Eric Sebastien Brochier, Simon Andrew Ford
-
Patent number: 7836291Abstract: 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: GrantFiled: October 17, 2006Date of Patent: November 16, 2010Assignee: 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: 7831818Abstract: 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: GrantFiled: June 20, 2007Date of Patent: November 9, 2010Assignee: Freescale Semiconductor, Inc.Inventor: William C. Moyer
-
Patent number: 7831791Abstract: 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: GrantFiled: May 18, 2009Date of Patent: November 9, 2010Assignee: Wehnus, LLCInventors: Matthew Miller, Ken Johnson
-
Publication number: 20100262814Abstract: 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: ApplicationFiled: April 10, 2009Publication date: October 14, 2010Applicant: Microsoft CorporationInventors: Andrew J. Pardoe, Michael M. Magruder, Kumar Gaurav Khanna, Diana Milirud, Gaye Oncul Kok
-
Patent number: 7814375Abstract: 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: GrantFiled: August 29, 2007Date of Patent: October 12, 2010Assignee: International Business Machines CorporationInventors: Corville O. Allen, John H. Green, Simon A. J. Holdsworth, Piotr Przybylski
-
Patent number: 7814372Abstract: 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: GrantFiled: September 7, 2007Date of Patent: October 12, 2010Assignee: eBay Inc.Inventors: Qinping Huang, Manish Maheshwari
-
Patent number: 7805596Abstract: 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: GrantFiled: October 31, 2005Date of Patent: September 28, 2010Assignee: Sony Computer Entertainment Inc.Inventors: Shinji Noda, Takeshi Kono
-
Patent number: 7802080Abstract: 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: GrantFiled: March 24, 2004Date of Patent: September 21, 2010Assignee: ARM LimitedInventors: David John Butcher, Stephen John Hill, Hedley James Francis, Vladimir Vasekin, Andrew Christopher Rose
-
Publication number: 20100235613Abstract: 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: ApplicationFiled: December 11, 2009Publication date: September 16, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: Timothy J. Baldwin
-
Patent number: 7797515Abstract: 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: GrantFiled: January 23, 2007Date of Patent: September 14, 2010Assignee: Seiko Epson CorporationInventors: Akinari Todoroki, Katsuya Tanaka
-
Patent number: 7797692Abstract: 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: GrantFiled: May 12, 2006Date of Patent: September 14, 2010Assignee: Google Inc.Inventor: Grzegorz J. Czajkowski
-
Publication number: 20100223449Abstract: 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: ApplicationFiled: January 28, 2010Publication date: September 2, 2010Inventors: Il- hyun PARK, Soo-jung RYU, Dong-hoon YOO, Yeon-gon CHO, Bernhard EGGER
-
Patent number: 7788433Abstract: 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: GrantFiled: October 31, 2008Date of Patent: August 31, 2010Assignee: Via Technologies, Inc.Inventors: G. Glenn Henry, Terry Parks
-
Patent number: 7783867Abstract: 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: GrantFiled: February 1, 2007Date of Patent: August 24, 2010Assignee: International Business Machines CorporationInventors: Theodore J. Bohizic, Mark H. Decker, Viktor S. Gyuris
-
Patent number: 7779238Abstract: 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: GrantFiled: October 30, 2006Date of Patent: August 17, 2010Assignee: Oracle America, Inc.Inventors: Nicolai Kosche, Gregory F. Grohoski, Paul J. Jordan
-
Publication number: 20100205403Abstract: 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: ApplicationFiled: June 9, 2009Publication date: August 12, 2010Applicant: VIA TECHNOLOGIES, INC.Inventors: G. Glenn Henry, Terry Parks, Brent Bean
-
Patent number: 7774585Abstract: 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: GrantFiled: November 12, 2003Date of Patent: August 10, 2010Assignee: Infineon Technologies AGInventors: Robert E. Ober, Roger D. Arnold, Daniel F. Martin, Erik K. Norden
-
Publication number: 20100199076Abstract: 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: ApplicationFiled: December 16, 2009Publication date: August 5, 2010Inventors: Dong-hoon YOO, Soo-jung Ryu, Yeon-gon Cho, Bernhard Egger, Il-hyun Park