Patent GB-1424105-A (GB)
Title: Programmed digital data processing system
IPC: G06F9/48
Filed: 1973-05-30
Abstract: 1424105 Data processing system INTERNATIONAL BUSINESS MACHINES CORP 30 May 1973 [5 July 1972] 25822/73 Heading G4A A data processing system includes a controlling processing unit Su, a controlled processing unit Ru, and a common store and is programmed so that the controlling unit inserts into the store a first pointer specifying a space in the store containing a program to be executed by the controlling unit following execution of an operation by the controlled unit and a data block for use by the controlled unit in performing the operation, and transmits to the controlled unit a second pointer indicative of the block, the controlled unit being arranged on completion of the operation to return the second pointer to the controlling unit which is further arranged in response to the second pointer to locate the first pointer and the associated space so as to locate the program. As described the controlling unit Su, which may be a CPU, executes problem programs. On reaching a point in a problem program where further execution is dependent on an operation being performed by the controlled unit, which may be another CPU or an input/output channel (e.g. a disc store), the controlling unit initiates the required operation as follows. A space in the common storage is reserved and loaded with a pointer address indicating the point in the problem program at which execution is to be resumed following completion of the operation on the controlled device and an ORB block of data including inter alia the address in the common storage of the first instruction of the operation to be performed by the controlled unit, the priority level at which the controlled unit is to interrupt the controlling unit on completion of the operation, storage protection data, and a space for various status data. The controlling unit then addresses one of several controlled units and supplies the addressed unit with an address pointing to the ORB block. Failure to establish a connection with the addressed unit for any one of several reasons, e.g. busy, faulty &c. causes an appropriate status bit to be set for subsequent fault diagnosis. The addressed unit also receives an order code specifying for example, start the operation indicated in the ORB block, halt an operation &c. The controlled unit may request further data from the controlling unit and is instructed to operate in a particular mode. The connection between the controlling and controlled units is then severed and the controlled unit performs its operation using the ORB block. At the conclusion of the process the controlled unit loads status data in the ORB block and signals an interrupt to the controlling unit at the priority level indicated in the ORB block. When the interrupt is accepted the controlled unit sends the ORB block pointer address. The controlling unit examines the status data in the block to determine whether the operation was performed correctly and if so decrements the block pointer address to access the pointer address indicating the point in the problem program at which execution of the problem program is to be resumed. The arrangement is said to provide a more rapid return to the problem program, to reduce obstruction of interrupts arising from other sources, and allow a number of I/O or other (controlled unit) operations to be handled more efficiently.