Abstract:
57 An apparatus and method for detecting an AC power failure condition employs a fast attack, slow decay, energy storage circuit (28) for tracking an AC input signal and for providing a slowly decaying output based upon a last received peak voltage input value. A current detection circuit (50) monitors the current flow to the storage circuit from the AC mains (72, 74) and generates a current detection signal in response thereto. A power failure condition is declared when either the voltage across the energy storage circuit decays below a selected threshold value or current is not detected flowing to the energy storage circuit at a selected time. A particular current detection circuit (200) employs a high permeability core (201) which is saturated by a current in the sensed line having a current value below an expected peak current flowing to the energy storage circuit. An interrogation pulse periodically energizes an interrogation winding which, in the absence of current in the sensed line, induces a signal across an output winding. When the current being sensed is sufficient to saturate the core, no output signal is generated across the output winding. Circuitry monitors the voltage across the output winding and generates a conditioning signal when even a selected minimum current is not detected in the line at the time of the interrogation pulse.
Abstract:
A data processing system for processing a sequence of program instructions has two independent pipelines, an instruction pipeline and an execution pipeline. Each pipeline has a plurality of serially operating stages. The instruction stages read instructions from storage and form therefrom address data to be employed by the execution pipeline. The execution pipeline receives the address data and uses it for referencing stored data to be employed for execution of the program instructions. Both pipelines operate synchronously under the control of a pipeline control unit which initiates operation of at least one stage of the execution pipeline prior to completion of the instruction pipeline for a particular instruction. Thereby operation of at least one instruction stage and one execution stage of the respective pipelines overlap for each program instruction. The instruction and execution pipelines share high speed memory. The pipeline control unit can independently control the flow of instructions through the two pipelines. This is important for operation in conjunction with a microcode storage element which allows conditional branching and subroutine operation. Circuitry also detects pipeline collisions and exception conditions and delays or inhibits operation of one or more of the pipeline stages in response thereto. Under control of the pipeline control unit, one of the independent pipelines can operate while the other is halted. Further, a program . instruction flow prediction apparatus and method employ a high speed flow prediction storage element for predicting redirection of program flow prior to the time when the instruction has been decoded. Circuitry is further provided for updating the storage element, correcting erroneous branch and/or non-branch predictions, and accommodating instructions occurring on even or odd boundaries of the normally read double word instruction. Circuitry is further provided for updating the program flow in a single execution cycle so that no disruption to normal instruction sequencing occurs.
Abstract:
Methods and apparatus are described for implementing fork operations on UNIX or UNIX-emulating operating systems, particularly in multi-user environments. The invention reduces the copy time, the number of page faults and, consequently the input-output ("I/O") operations between the central processing ünit, main memory and auxilliary memory. In one aspect of the invention, fork operations are executed by redefining those pages of the parent process image resident in main memory as pages of a child process image and modifying the page maps accordingly. Page faults are thereby eliminated for pages located in auxiliary memory. Additional improvements in performance are obtained by monitoring the level of main memory utilization and selecting optimal procedures based on the amount of excess capacity in main memory.
Abstract:
A method for performing an input/output process containing a programmed input/output (PIO) instruction in a multiprocessor system including at least two processors each having an associated I/O bus with I/O devices connected thereto. The method comprises the steps of storing a unique address and a bus location for each I/O device in a device location table, determining the address of a referenced I/O device prior to performing the PIO instruction, reading the corresponding I/O bus location of the referenced I/O device from the device location table and executing the input/output process on the prescribed processor associated with the I/O bus to which the referenced I/O device is located. The method is used in conjunction with a task scheduler including a process control block for each scheduled process. When the PIO instruction references a device on the local I/O bus, the input/output process is executed normally. To execute the input/output process on a remote processor, a locked descriptor identifying the remote processor is placed in the process control block for that process. The input/output process is then scheduled for execution on the remote processor.
Abstract:
The invention relates to a range transformation method for transforming the normalized divisor in a division calculation to a range wherein the transformed value differs from one by no more than the quantity 2 -n . The method and apparatus generate the transform multiplier value from a first high order "q" digits of the divisor and generate an out-of-range indicator signal from at least those same digits. The thus generated multiplier value is modified in response to the out-of-range indicator signal when an out-of-range condition is indicated. The apparatus employs a read-only-memory for enabling the generation of the transform multiplier value without requiring either large table look-up storage or multiplicative functions. As a result, various division methods requiring an initial transformation to provide a divisor which approaches one in value can be efficiently implemented.
Abstract:
A compiler for generating an assembly language listing of instructions for a programmable data processor from a high level programming language has elements for generating from the high level programming language input, an intermediate representation of the programming language input and for generating from the intermediate representation, an assembly language representation of the high level programming lan guage input. The compiler operates generally in accordance with the Glanville-Graham method which enables the compiler to be used with different machines. The resulting retargetable compiler is improved by employing an up/down parsing meth od in the code generator portion which removes significant re strictions found when LR parsing is employed. The parsing method allows preprocessing of the prefix grammer represent ing the input intermediate representation for producing, for use by the code generator parsing element, a state table, an ex tended state table, and a state transition table.
Abstract:
The invention provides a method and apparatus for radix-p non-restoring division. The division process occurs in four phases. In a first phase, the input operands are transformed to produce a divisor lying in a designated numerical range. Next, a transitional phase involves generating an initial radix-p quotient digit from the transformed numerator. An iterative phase of the process generates successive partial remainders according to a recursive method. From the sign and a single radix-p digit of each of these partial remainders, the process generates a radix-β quotient digit. Further, a fourth phase, which may run concurrently with the transitional and iterative phases, involves accumulating succesively generated quotient digits to produce a final quotient value.
Abstract:
The invention relates to a range transformation method for transforming the normalized divisor in a division calculation to a range wherein the transformed value differs from one by no more than the quantity 2 -n . The method and apparatus generate the transform multiplier value from a first high order "q" digits of the divisor and generate an out-of-range indicator signal from at least those same digits. The thus generated multiplier value is modified in response to the out-of-range indicator signal when an out-of-range condition is indicated. The apparatus employs a read-only-memory for enabling the generation of the transform multiplier value without requiring either large table look-up storage or multiplicative functions. As a result, various division methods requiring an initial transformation to provide a divisor which approaches one in value can be efficiently implemented.
Abstract:
Apparatus is disclosed for reading phase encoded digital data from a nine-track magnetic tape which apparatus includes timing circuitry for deriving a clock signal from the recorded data. A portion of the timing circuitry is associated with each track on the tape and automatically accomodates, without generating errors, phase changes in the derived clock signal in that track caused by speed variations in the magnetic tape transport and due to bit shifts caused by certain data patterns. Tape transport speed variations are sensed and the derived clock rate is corrected by a digital phase-locked loop which uses a counter that is clocked at a constant rate to determine the timing "window" during which the circuitry looks for signal transitions on the magnetic tape. A running average of the count remaining in the counter at the time when a transition actually occurs is used to adjust the counter starting value until equilibrium is established. The circuitry accomodates clock signal phase changes caused by bit shifting by calculating an expected arrival time for a data transition and varying the width of the timing window depending on whether the data transition is received either prior to or subsequent to the expected arrival time.
Abstract:
A cache coherence system for a multiprocessor system including a plurality of data processors coupled to a common main memory. Each of the data processors includes an associated cache memory having storage locations therein corresponding to storage locations in the main memory. The cache coherence system for a data processor includes a cache invalidate table (CIT) memory having internal storage locations corresponding to locations in the cache memory of the data processor. The cache coherence system detects when the contents of storage locations in the cache memories of the one or more of the data processors have been modified in conjunction with the activity those data processors and is responsive to such detections to generate and store in its CIT memory a multiple element linked list defining the locations in the cache memories of the data processors having modified contents. Each element of the list defines one of those cache storage locations and also identifies the location in the CIT memory of the next element in the list.