or
Bookmark and Share
Method and apparatus for detecting and correcting errors in a pipelined computer system
   
Document Number
US Patent 4982402
Issued Date
January 1, 1991
Link
Map
Abstract
In a multiprocessor system, an error occurring in any one of the CPUs may have an impact upon the operation of the remaining CPUs, and therefore these errors must be handled quickly. The errors are grouped into two categories: synchronous errors (those that must be corrected immediately to allow continued processing of the current instruction); and asynchronous errors (those errors that do not affect execution of the current instruction and may be handled upon completing execution of the current instruction). Since synchronous errors prevent continued execution of the current instruction, it is preferable that the last stable state conditions of the faulting CPU be restored and the faulting instruction reexecuted. These stable state conditions advantageously occur between the execution of each instruction. However, in a pipelined computer system, it is difficult to identify the beginning and ending of a selected instruction since multiple instructions are in process at the same time. Accordingly, the execution unit is selected to be the point of synchronization between error handling and instruction execution. Once the error is indentified as asynchronous or synchronous and the execution unit allows the instruction to complete or rolls back the state conditions to their preinstruction values, error analyzing software examines the condition of the suspect data latches in the CPU. A serial diagnostic link stops the system clock of the CPU and serially loads the CPU data latches into the System Processor Unit for error determination. Thereafter, the CPU system clock is restarted and the CPU resumes execution.
Tags:
Description:
Amusing 0%
Clever 0%
Complex 0%
Efficient 0%
Historic 0%
Important 0%
Innovative 0%
Interesting 0%
Practical 0%
Simple 0%
Number of Claims:
18
Comments:
no comments yet
Owner
Published
January 1, 1991
Application Number
07/306,828
Filed
February 3, 1989
US Classification
714/15  
Int'l Classification
G06F   11/14   (20060101)   G06F   11/07   (20060101)   G06F   11/267   (20060101)   G06F   9/38   (20060101)  
Examiner
Assistant Examiner
Attorney/Law Firm
USPTO Field of Search
371/12   371/16.1   371/16.5   371/15.1   371/22.3   364/2MSFile   364/9MSFile  
Related Patents
5423025 - Error handling mechanism for a controller having a plurality of servers - Owned by Amdahl Corporation (Sunnyvale, CA)

An error handling and reporting mechanism is capable of taking advantage of sophisticated error analysis performed after clocks have been stopped in response to an error detected in a controller. The controller provides services in a data processing system in response to requests for controller services from a plurality of requestors. The controller includes a plurality of ports for storing requests for controller services. A plurality of servers is coupled to the plurality of ports, and perform separate services associated with the requests for controller services stored in the plurality of ports. An error reporting mechanism is included which is responsive to a detected error in a particular server associated with a request in a particular port, for posting error status in the particular port and causing clock stoppage within a clock stop latency period. An error analysis mechanism analyzes the detected errors during the clock stoppage. Error handling logic is coupled with the error analysis mechanism, and is responsive to the posted error status in the ports, for notifying a requestor of an error status posted with a request in the particular port. The error handling logic includes a stall counter, which stalls the error handling mechanism in response to the posted error status for at least the clock latency period so that the clock stoppage occurs and the error analysis mechanism completes error analysis before the requestor is notified.

5490262 - Dual cache memory device with cache monitoring - Owned by Oki Electric Industry Co., Ltd. (Tokyo,JP)

A CPU connected to a memory storing module programs has an instruction cache for reading a module header heading a module program and module instructions following the module header out of the memory, and storing and transferring them. An operand cache reads module data included in the module program of interest out of the memory, and stores and transfers them. A processing section performs arithmetic and logical operations in pipelining with the module header of the module program transferred from the instruction cache and with the module data transferred from the operand cache. A pipelined instruction control controls other circuitry of the CPU by decoding the module instructions of the module program transferred from the instuction cache. The CPU transfers the module header to the processing section via the instruction cache while writing the whole block of module header and module instructions to the instruction cache. Alternatively, the CPU may transfer the module header to the processing section via the operand cache while writing the whole block of module header and successive module instructions to the instruction cache.

5339399 - Cache controller that alternately selects for presentation to a tag RAM a current address latch and a next address latch which hold addresses captured on an input bus - Owned by Intel Corporation (Santa Clara, CA)

A cache controller sits in parallel with a microprocessor bus and includes a tag RAM for associatively searching a directory for cache data-array addresses. Two normal address latches are provided to capture a cycle address in case the current cycle is extended by a pending tag RAM access. At any time, except when the next cycle has started, but during which the current cycle is in progress, one latch is open to an input buffer such that the input address is latched by that latch. The other latch holds the current cycle address until the cycle ends. The current cycle can be extended with snoops. The current cycle address has to be maintained as long as the cycle is still in progress. In the meantime, the external cycle might have ended and a next cycle started. The second address latch is used to capture the address corresponding to this new cycle. As signal selects which of the two latches will supply the address via a MUX to the tag RAM. Logic switches the two input address latches so that the tag RAM sees a constant address for the duration of a cycle while at the same time a new cycle address can be received.

5197133 - Control store addressing from multiple sources - Owned by Bull HN Information Systems Inc. (Billerica, MA)

The decoding of certain instructions cause an instruction unit of a production line data processing system to stall. Instructions still in the production line are executed, but no new instructions are sent into the production line until the instruction that caused the stall condition is executed. The execution of the instruction that caused the stall is completed by an execution unit taking over control of an address unit.

5109381 - Apparatus and method for detecting errors in a pipeline data processor - Owned by International Computers Limited (London,GB2)

A pipelined data processing system comprises a series of pipeline stages through which instructions pass sequentially. If an error associated with a particular instruction (e.g. an illegal instruction) is detected, a Mayday signal is produced. This does not become active immediately. Instead it is passed down the pipeline along with the instruction that caused it, and becomes active only if that instruction attempts to terminate at the end of the pipeline. When the Mayday becomes active, it causes an interrupt to a diagnostic processor. If, on the other hand, the instruction that caused the Mayday is aborted, or does not attempt to terminate, then the Mayday is discarded and does not become active. This prevents unnecessary diagnostic actions.

Claims
Description
About| FAQs| Terms & Disclaimer| Link to Us| Contact Us