I/O structure for information processing system
First Claim
1. An I/O subsystem component for coupling a peripheral device to an I/O subsystem of a digital data processing system, the I/O subsystem including one or more I/O subsystem components and a synchronous I/O subsystem bus for carrying I/O communications, which require one or more I/O subsystem bus cycles, and which include I/O subsystem communications that have I/O subsystem components as destinations and I/O system communications that have components of the digital data processing system outside of the I/O subsystem as destinations, the I/O subsystem component comprising:
- control means for controlling the I/O subsystem component to originate and provide I/O communications, and responding to an incoming message;
device adapter means coupled to the peripheral device and controlled by the control means for transferring outgoing data from the peripheral device for inclusion in certain of the I/O communications and transferring incoming data intended for the peripheral device to the peripheral device; and
interface means coupled to the I/O subsystem bus, to the control means, and to the device adapter means for responding to the control means when the I/O subsystem component is providing an I/O communication to the I/O subsystem bus by receiving I/O communication information for the I/O communication from at least one of the control means and the device adapter means and outputting the I/O communication to the I/O subsystem bus as required for the I/O communication and responding to the I/O subsystem bus by monitoring I/O communications on the I/O subsystem bus and responding thereto only when the I/O communication is one of the I/O subsystem communications and has the I/O subsystem component as its destination by receiving the I/O communication and providing any incoming message to the control means and any incoming data intended for the device adapter means to the device adapter means.
8 Assignments
0 Petitions
Accused Products
Abstract
An I/O structure for use in a digital data processing system of the type in which system components including a processor and a system memory are connected by a system bus. The I/O structure includes a system bus interface connected to the system bus, a synchronous satellite processing unit (SPU) bus connected to the system bus interface, one or more satellite processing units (SPUs) connected to the SPU bus, and peripheral devices attached to the satellite processing units. Each SPU has three main components: control logic including a microprocessor for controlling the SPU, a device adapter specific to the peripheral device for controlling the peripheral device and transferring data between the peripheral device and the SPU, and an interface unit connected to the control logic and the device adapter for providing I/O communications to the SPU bus and responding to I/O communications on the SPU bus. The I/O communications fall into two classes: communications to SPUs and communications to system components. The communications to SPUs all require a single SPU bus cycle; the communications to system components require one or more cycles. The system bus interface translates communications to system components into communications on the system bus and translates communications on the system bus intended for a SPU into communications to SPUs. The SPU bus includes first lines for carrying an I/O command and an identifier for an SPU involved in the communication and second lines for carrying the contents of the communication. In multicycle communications, the I/O command and identifier remain on the first lines for all cycles, but the information on the second lines varies from cycle to cycle.
74 Citations
24 Claims
-
1. An I/O subsystem component for coupling a peripheral device to an I/O subsystem of a digital data processing system, the I/O subsystem including one or more I/O subsystem components and a synchronous I/O subsystem bus for carrying I/O communications, which require one or more I/O subsystem bus cycles, and which include I/O subsystem communications that have I/O subsystem components as destinations and I/O system communications that have components of the digital data processing system outside of the I/O subsystem as destinations, the I/O subsystem component comprising:
-
control means for controlling the I/O subsystem component to originate and provide I/O communications, and responding to an incoming message; device adapter means coupled to the peripheral device and controlled by the control means for transferring outgoing data from the peripheral device for inclusion in certain of the I/O communications and transferring incoming data intended for the peripheral device to the peripheral device; and interface means coupled to the I/O subsystem bus, to the control means, and to the device adapter means for responding to the control means when the I/O subsystem component is providing an I/O communication to the I/O subsystem bus by receiving I/O communication information for the I/O communication from at least one of the control means and the device adapter means and outputting the I/O communication to the I/O subsystem bus as required for the I/O communication and responding to the I/O subsystem bus by monitoring I/O communications on the I/O subsystem bus and responding thereto only when the I/O communication is one of the I/O subsystem communications and has the I/O subsystem component as its destination by receiving the I/O communication and providing any incoming message to the control means and any incoming data intended for the device adapter means to the device adapter means. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An I/O subsystem system component of a digital data processing system for transferring data to or from one or more peripheral devices in the digital data processing system, the I/O subsystem system component and other system components being coupled to a system bus which transfers system communications among the I/O subsystem system component and the other system components, the I/O subsystem system component comprising:
-
a synchronous I/O subsystem bus for transferring a plurality of I/O communications which require one or more I/O subsystem bus cycles, the I/O communications including I/O system communications which have system components as their destinations and I/O subsystem communications which have I/O subsystem components within the I/O subsystem system component as their destinations, the I/O subsystem bus comprising a first plurality of lines for carrying an I/O command portion of one of the I/O communications, the I/O command portion specifying the one I/O communication during all of the I/O subsystem bus cycles required to transfer the one I/O communication, a second plurality of lines for carrying, during all of the I/O subsystem bus cycles required to transfer the one I/O communication, a target identification portion of the one I/O communication, the target identification identifying the I/O subsystem component which is the source of the one I/O communication when the one I/O communication is an I/O system communication and identifying the I/O subsystem component which is the destination of the one I/O communication when the one I/O communication is an I/O subsystem communication, and a third plurality of lines which carries an other information portion of the one I/O communication; one or more I/O subsystem components, each I/O subsystem component being coupled between a given one of the peripheral devices and the I/O subsystem bus for originating I/O communications and providing the I/O communications to the I/O subsystem bus (at least some of these I/O communications including data from the peripheral device) and for responding only to I/O subsystem communications (at least some of these I/O communications including data to the peripheral device); and system bus interface means which are coupled between the system bus and the I/O subsystem bus for responding to an I/O system communication, on the I/O subsystem bus, by providing a corresponding system communication on the system bus and for responding to a system communication, on the system bus, specifying an operation to be performed in the I/O subsystem system component by providing a corresponding I/O subsystem communication on the I/O subsystem bus.
-
-
7. In a digital data processing system wherein system components are connected to a system bus which carries system communications including system interprocessor communications and includes a busy line for carrying a busy signal which indicates to a system component which is a source of a system communication that the system communication cannot presently be sent, the system components include an I/O subsystem system component including an I/O subsystem bus which carries I/O subsystem communications including I/O subsystem interprocessor communications and which has an IPC not ready line for carrying an IPC not ready signal and a system bus interface connected between the I/O subsystem bus and the system bus which converts system interprocessor communications destined for an I/O subsystem component of the I/O subsystem system component into corresponding I/O subsystem interprocessor communications and I/O subsystem communications destined for other system components into corresponding system communications, an I/O subsystem component (for coupling a
peripheral device to the I/O subsystem bus) comprising: -
control means for controlling the I/O subsystem component to originate and provide I/O subsystem communications to the I/O subsystem bus and for responding to incoming messages received in I/O subsystem interprocessor communications and interface means coupled to the I/O subsystem bus, to the control means, and to the peripheral device for responding to the control means when the I/O subsystem component is providing an I/O subsystem communication to the I/O subsystem bus by receiving I/O subsystem communication information for the I/O subsystem communication and outputting the I/O subsystem communication to the I/O subsystem bus, for responding to the I/O subsystem bus by monitoring I/O subsystem communications on the I/O subsystem bus and responding to an I/O subsystem communication that has the I/O subsystem component as its destination by receiving the I/O subsystem communication and providing any incoming message to the control means and any incoming data intended for the peripheral device to the peripheral device, and for responding to the control means when the I/O subsystem component is unable to respond to a system interprocessor communication destined for the I/O subsystem component by providing the IPC not ready signal to the IPC not ready line, the system bus interface responding to the IPC not ready signal and to a system interprocessor communication destined for the I/O subsystem component by not converting the system interprocessor communication to a corresponding I/O subsystem interprocessor communication and by outputting the busy signal on the busy line, whereby the system bus immediately becomes available for any system communication other than a system interprocessor communication destined for the I/O subsystem component. - View Dependent Claims (8)
-
-
9. An I/O subsystem system component of a digital data processing system for transferring data to or from one or more peripheral devices in the digital data processing system, the I/O subsystem system component and other system components being coupled to a system bus which transfers system communications among the I/O subsystem system component and the other system components, the I/O subsystem system component comprising:
-
a synchronous I/O subsystem bus for transferring a plurality of I/O communications which require one or more I/O subsystem bus cycles, the I/O communications including I/O system communications which have system components as their destinations and I/O subsystem communications which have I/O subsystem components within the I/O subsystem system component as their destinations, one or more I/O subsystem components, each I/O subsystem component being coupled between a given one of the peripheral devices and the I/O subsystem bus for originating I/O communications and providing the I/O communications to the I/O subsystem bus (at least some of these I/O communications including data from the peripheral device) and for responding only to I/O subsystem communications (at least some of these I/O communications including data from the peripheral device); and system bus interface means which are coupled between the system bus and the I/O subsystem bus for responding to an I/O system communication, on the I/O subsystem bus, by providing a corresponding system communication on the system bus and for responding to a system communication, on the system bus, specifying an operation to be performed in the I/O subsystem system component by providing a corresponding I/O subsystem communication on the I/O subsystem bus and wherein at least one of the system components is a memory means; the system communications include a system memory read communication which specifies an operation in which data read from the memory means is returned to the system component which is the source of the memory read communication and a system memory write communication which specifies data and an operation in which the data provided by the system component which is the source of the system memory write communication is written to the memory means; a system component can perform a lock operation in which system components other than a system component presently having access to the system bus are inhibited from having access thereto and an unlock operation in which other system components are given access to the system bus; the I/O system communications include a memory test and set communication specifying an operation in which an I/O subsystem component specifies data in the memory means which is to be read and modified; the I/O subsystem communications include an I/O subsystem data return communication which specifies data and an operation in which the data is returned to an I/O subsystem component; and the system bus interface means responds to an I/O memory test and set communication by performing the lock operation, producing a system memory read communication on the system bus, then, upon receipt of data from the memory means, producing an I/O subsystem data return communication which includes the received data on the I/O subsystem bus, modifying the received data, producing a system memory write communication which includes the modified data, and performing the unlock operation.
-
-
10. Interface apparatus for interfacing an I/O subsystem component of an I/O subsystem system component of a digital data processing system to an I/O subsystem bus, the I/O subsystem system component including at least one I/O subsystem component and the digital data processing system including memory means and other system components which are coupled indirectly to the I/O subsystem bus, the I/O subsystem component being connected to a peripheral device for performing operations as required to transfer data to or from the peripheral device, the operations being specified on the I/O subsystem bus by a plurality of I/O communications which require one or more I/O subsystem bus cycles and which include an I/O memory write communication specifying an operation in which data is transferred from the I/O subsystem component to the memory means, an I/O subsystem message communication specifying an operation in which a message is transferred to an I/O subsystem component, and an I/O subsystem data return communication specifying an operation in which data is returned to an I/O subsystem component, and the I/O subsystem bus including a first plurality of lines for carrying an I/O command specifying one of the I/O communications during all of the I/O subsystem bus cycles required to transfer the specified communication, a second plurality of lines for carrying a target identification identifying an I/O subsystem component involved in the specified communication during all of the I/O subsystem bus cycles required to transfer the specified communication, and a third plurality of lines which carries a memory address during a first I/O subsystem bus cycle and data during a second I/O subsystem bus cycle of the I/O memory write communication, which carries the message during transfer of the I/O subsystem message communication, and which carries data during transfer of the I/O subsystem data return communication, the interface apparatus comprising:
-
I/O command output means coupled to the first plurality of lines for outputting the I/O command of an I/O communication to the first plurality of lines during all of the I/O subsystem bus cycles required by the I/O subsystem component originating the I/O communication to output the I/O communication; first output means coupled to the second plurality of lines for outputting an identification of an I/O subsystem component involved in the I/O communication during all I/O subsystem bus cycles required by the I/O subsystem component originating the I/O communication to output the I/O communication; second output means coupled to the third plurality of lines for outputting a memory address to the third plurality of lines during the first I/O subsystem bus cycle of the memory write communication; third output means coupled to the third plurality of lines for outputting data to the third plurality of lines during the second I/O subsystem bus cycle of the memory write communication; target identification receiving means coupled to the second plurality of lines for receiving the target identification of an I/O communication on the I/O subsystem bus and determining whether the received target identification matches an identification of the I/O subsystem component; I/O command receiving and decoding means coupled to the first plurality of lines for responding to a match detected by the target identification receiving means by receiving and decoding the I/O command of the I/O communication on the first plurality of lines; message receiving means coupled to the third plurality of lines and responsive to the I/O command decoding means for receiving the message on the third plurality of lines when the target identification and the I/O command indicate that the I/O communication is an I/O subsystem message communication intended for the I/O subsystem component; and data receiving means coupled to the third plurality of lines and responsive to the I/O command decoding means for receiving data on the third plurality of lines when the target identification and the I/O command indicate that the I/O communication is in I/O subsystem data return communication intended for the I/O subsystem component. - View Dependent Claims (11, 12, 13, 14)
-
-
15. An I/O subsystem component interface for interfacing an I/O subsystem component to an I/O subsystem bus in an I/O subsystem system component of a digital data processing system, the I/O subsystem system component including at least one I/O subsystem component and the I/O subsystem bus carrying I/O communications, which require one or more I/O subsystem bus cycles, and which include a first type of the I/O communications which the interfaced I/O subsystem component originates and provides to the I/O subsystem bus but to which the interfaced I/O subsystem component does not respond and a second type of the I/O communications which includes I/O communications originated and provided by the interfaced I/O subsystem component and to which the interfaced I/O subsystem component responds, the I/O communications being carried on the I/O subsystem bus by means of a first plurality of lines for carrying an I/O command specifying one of the I/O communications, a second plurality of lines for carrying a target identification identifying one of the I/O subsystem components, and a third plurality of lines for carrying other information required for the specified I/O communication, the I/O subsystem component interface comprising:
-
means for interfacing with the I/O subsystem bus when the interfaced I/O subsystem component is providing one of the first type of I/O communications including means coupled to the first plurality of lines for providing the I/O command specifying the one I/O communication to the first plurality of lines during all of the I/O subsystem bus cycles required for the one I/O communication, means coupled to the second plurality of lines for providing the target identification required for the one I/O communication during all of the required I/O subsystem bus cycles, first other communication information providing means coupled to the third plurality of lines for providing a first portion of the other information required for the one I/O communication to the third plurality of lines during the first I/O subsystem bus cycle required for the one I/O communication, and additional other communication information providing means coupled to the third plurality of lines for providing an additional portion of the other information during any remaining I/O subsystem bus cycles required for the one I/O communication; and means for interfacing with the I/O subsystem bus when the interfaced I/O subsystem component is responding to one of the second type of I/O communications including detection means coupled to the second plurality of lines for detecting a target identification identifying the interfaced I/O subsystem component during transfer of the one of the second type of I/O communications, I/O command decoding means coupled to the first plurality of lines for decoding an I/O command received on the first plurality of lines during transfer of the one of the second type of I/O communications, and other information receiving means coupled to the third plurality of lines for receiving the other I/O information on the third plurality of lines during transfer of the one of the second type of I/O communications. - View Dependent Claims (16, 17, 18)
-
-
19. An I/O subsystem component used in an I/O subsystem for coupling a peripheral device to a synchronous I/O subsystem bus, the I/O subsystem including at least one I/O subsystem component and being a system component of a digital data processing system which includes other system components (at least one of which is a memory means) which are coupled indirectly to the I/O subsystem bus and the I/O subsystem bus carrying a plurality of I/O communications which require one or more I/O subsystem bus cycles and including a first plurality of lines for carrying an I/O command specifying one of the I/O communications during all of the I/O subsystem bus cycles required for the specified communication, a second plurality of lines for carrying a target identification identifying an I/O subsystem component involved in the specified communication during all of the I/O subsystem bus cycles required for the specified communication, and a third plurality of lines for carrying information including messages and data as required for the specified communication, the I/O subsystem component comprising:
-
interface means for coupling to the I/O subsystem bus for providing an I/O communication by providing an I/O command to the first plurality of lines during all I/O subsystem bus cycles required for the I/O communication, providing a target identification to the second plurality of lines during all I/O subsystem bus cycles required for the I/O communication, and providing the information to the third plurality of lines, the information varying from I/O subsystem bus cycle to I/O subsystem bus cycle as required for the I/O communication, and responding to an I/O communication by receiving an I/O command from the first plurality of lines, receiving a target identification from the second plurality of lines, and if the I/O command and the target identification indicates an I/O communication destined for the I/O subsystem component, receiving the information from the third plurality of lines; device adapter means coupled between the peripheral device and the interface means for providing data to and receiving data from the peripheral device; and control means to the interface means and the device adapter means and responsive to the interface means and to the device adapter means for controlling the I/O subsystem component to originate and respond to the I/O communications, and wherein the I/O communications include and I/O memory write communication which requires at least two I/O subsystem bus cycles and which specifies an operation in which data include in the I/O memory write communication is transferred between the I/O subsystem component and a location in the memory means specified by a memory address included in the I/O memory write communication, the I/O memory write communication being provided in that the control means provides the I/O command specifying the I/O memory write communication, the target identification of the I/O subsystem component, and a memory address to the interface means, the interface means providing the memory address on the third plurality of lines during the first I/O subsystem bus cycle and the data during any remaining I/O subsystem bus cycles, an I/O subsystem message communication which requires a single I/O subsystem bus cycle and specifies an operation in which a message is transferred to a second I/O subsystem component, the I/O subsystem message communication being provided by the I/O subsystem component in that the control means provides the I/O command for the I/O subsystem message communication, the target identification for the second I/O subsystem component, and the message to the interface means and the interface means places the I/O command on the first plurality of lines, the target identification on the second plurality of lines, and the message on the third plurality of lines for the single I/O subsystem bus cycle, and the I/O subsystem message communication being responded to by the second I/O subsystem component in that an interface means of the second I/O subsystem component receives the message on the third plurality of lines and a control means of the second I/O subsystem component interprets the received message and controls the second I/O subsystem component in accordance therewith, and an I/O subsystem data return communication which requires a single I/O subsystem bus cycle and specifies an operation in which data is provided to the I/O subsystem component, the I/O subsystem responding to the I/O subsystem data return communication in that the interface means receives the data on the third plurality of lines. - View Dependent Claims (20, 21, 22, 23, 24)
-
Specification