A data processor capable of automatically storing in an external memory all essential information relating to the internal state thereof upon the detection of an access fault during instruction execution. Upon correction of the cause of the fault, the data processor automatically retrieves the stored state information and restores the state thereof in accordance with the retrieved state information. The data processor then resumes execution of the instruction. The faulted access may be selectively rerun upon the resumption of instruction execution. Means are provided to verify that the retrieved state information is valid.
In a system for transferring data between a host device and a target recording medium, a buffer interface control unit includes a host direct memory access (DMA) unit for transferring data from the host unit to a buffer memory. The host DMA unit accesses a first set of prescribed noncontinuous buffer memory storage locations to store the data transferred from the host unit in a predetermined buffer format that includes additional sets of prescribed storage locations interspersed with the first set of data storage locations for the storage of error code characters pertaining to the data. The host DMA unit also transfers error correction code characters pertaining to the data to one of the additional sets of prescribed storage locations. The buffer interface control unit further includes a target DMA unit for transferring data from the buffer memory to a write interface unit. The target DMA unit accesses the buffer memory storage locations in a predetermined noncontinuous sequence in order to retrieve the data from the buffer memory in a format that includes open time slots interspersed with time slots occupied by the retrieved data for the insertion of error detection code characters pertaining to the data retrieved from the buffer memory.
A channel apparatus including a transfer controller responsive to an input data transfer command, for translating virtual block address data designated by a channel command word (CCW) into RBA data to store the translated RBA data. The CCW commands the DMA transfer of the data over a plurality of subsequent blocks of the external memory. The translated RBA data are written in a real address storage section in a write mode. The controller outputs a transfer start instruction to a DMA transfer section after outputting an initial value of a DMA address to a DMA transfer section and writing a predetermined amount of the RBA data to the storage section. The DMA transfer section performs the DMA transfer of the data to the external memory in a read mode in accordance with the transfer start instruction while the data is being input from the external device. The transfer section generates a memory request every time performing the DMA transfer of one word of the data. At the same time, the transfer section outputs the DMA address to the storage section. In the storage section, a real address is produced in combination with the offset data in the DMA address and the stored RBA data at the read storage address in the DMA address to output the produced address to the external memory in response to the memory request.
This invention employs a token passing structure for controlling alignment fault generation. This alignment fault state circuit stores one of four states corresponding to whether the operating system permits address misalignment fault generation and whether the application program requests such address misalignment fault generation. If the token is present in a particular latch, then the corresponding state is active. If the token is absent, then the corresponding state is inactive. The presence of the token in a predetermined one of the four states causes a fault gate qualifier signal to be active permitting fault generation on address misalignment. Absence of the token from that state causes the fault gate qualifier signal to be inactive prohibiting fault generation on address misalignment. This structure efficiently implements address misalignment fault control by means of token location. Every token location is accessible at every privilege level. An additional instruction not previously supported by Intel microprocessors and Intel compatible microprocessors permits the application program access to the individual token locations and thus to all the permitted states.
In a semiconductor integrated circuit, an internal logic circuit outputs information for an external bus via buffer circuits. The output of the buffer circuit is placed in a high impedance state by responding to a control signal, and the information which is output from the internal logic circuit to the buffer circuits is held in the bus cycle during which the control signal is input. In the response to a release of the control signal by the input of the control signal, the interrupted bus cycle is released, and the information stored is output via the buffer circuit to the external bus.
A bus master is provided with the capability to accept a data transfer task from a CPU, which includes the performance of a predetermined sequence of data transfer operations between memory and a selected peripheral controlled by a respective controller. During any one of the operations, the bus master may be requested to relinquish the bus so that a higher priority transfer may occur or a deadlock condition resolved. In response to such request, the bus master immediately terminates the current bus cycle, but remembers the state thereof at the time of relinquishment. After the high priority transfer is completed, the bus master may be allowed to rearbitrate for use of the bus. Upon again obtaining control of the bus, the bus master restarts the bus cycle which was prematurely terminated and continues the sequence of operations as if no relinquishment had occurred.