CA1231459A - Scannerless message concentrator and communications multiplexer - Google Patents

Scannerless message concentrator and communications multiplexer

Info

Publication number
CA1231459A
CA1231459A CA000481733A CA481733A CA1231459A CA 1231459 A CA1231459 A CA 1231459A CA 000481733 A CA000481733 A CA 000481733A CA 481733 A CA481733 A CA 481733A CA 1231459 A CA1231459 A CA 1231459A
Authority
CA
Canada
Prior art keywords
adapter
data
bus
service
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
CA000481733A
Other languages
French (fr)
Inventor
Ronald J. Cooper
Mario A. Marsico
Richard C. Matlack, Jr.
John C. Pescatore
Robert L. Smith, Jr.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of CA1231459A publication Critical patent/CA1231459A/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2294Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test

Abstract

SCANNERLESS MESSAGE CONCENTRATOR AND
COMMUNICATIONS MULTIPLEXER

Abstract A communications concentrator and message multiplexer featuring direct access from the communications adapters to main memory via direct memory access means which eliminates the usual scanner or polling facility in a concentrator or multiplexer is described. A control microprocessor manages the allocation of memory, the conversion of message protocols and the servicing of interrupts to a plurality of port interface adapter microprocessors. The interface adapter microprocessors directly set up and control the DMA operation instead of having the DMA operation controlled by the control processor. One of the port adapters serves as a service adapter over a dedicated interface allowing a remote diagnostician access to internal registers in the control processor system, access to a dedicated read only storage for servicing, and logical interface to the main control processor for the purpose of entering instructions and directing functional operations to test each component of the system.

Description

Rowley I
3ack~rounc Field of the Invention This invention relates to data communications processors in general and specifically to multiprocessor arrays dedicated to the purpose of message concentration and multiplexing.

Prior Art A wide variety of processor controlled data communications controllers and multiplexes exists in the known prior art. Examples are the International Business Machines Corporation Model 3704 and 3705 concussions controllers or the more recent Model 3725 communications controller. These machines are computer processor based and utilize a scanner to interface communications between the communications adapters and the main memory operated by the processor. Direct memory access is featured in some models between the input-output pouts and the main memory. However, this direct memory access is under control of the main processor in the controller and a scanner is utilized for servicing the input-output adapters. This design entails some inherent limitations in speed of access from the adapter ports to the main memory and, as speeds of communication increase on the serviced ports, the DAM processing load on the control processor becomes unwieldy.

Another employ is illustrated in U. S. Patent 4,093,323 which also incorporates a scanner and utilizes some form ox direct memory access to transfer information from a buffer.
The buffer is loaded by the scanner and the transfer to the main memory is under control of a main control processor.
This design is similarly limited by incorporation of the US scanner and the involvement of the control processor in the Do operation to the point that as higher communication speeds and traffic loads occur, the system buckeyes unwieldy and incapable of servicing all of the I/O demands without appreciable delay.
2 f`.
kiwi I
objects of the Invention In light of the foregoing shortcomings in the known prior art, it is an object of this invention to provide an improved communications controller having message concentration, protocol conversion and communications multiplexing functions which does not employ a scanner or polling routines that involve additional hardware and concomitant delay and complexity.
A further object of this invention is to provide an improved communications controller in which direct mummer access from the communication port adapters to the main memory of the communications control processor is facilitated with minimal interaction with the control processor by incorporating an arbitrator means for mediating competing requests for use of the bus or for interrupt requests to the main processor.

Yet another object of this invention is to provide an improved communications controller, a message concentrator and communications multiplexer that can be remotely diagnosed and serviced when malfunction occurs.

These and still other unenumerated objects of the invention are met in a preferred embodirbent that will be described with reference to a drawing depicting said preferred embodiment as follows:

Brief Description of the Dry Figure l illustrates the general high level data flow schematic for the multiprocessor arrangement constituting a scanner less message concentrator and communications multiplexer in accordance with the present invention.

Figure illustrates a more detailed schematic of the data flow and design. architecture of the machine and shows some of the more important control lines and data paths as I

well as the chief functional elements and control fog suers utilized in the architecture.

Figure 3 illustrates an example of an interface adapter processor in greater detail.

Figure 4 illustrates an improved arbitrator with multiplexing of interrupt requests and bus grants in accordance with the teachings herein.
Figures SPA through ED illustrate logical circuitry servicing the enable and disenable of the instate arriver receivers incorporated in Figures l and 2.

I Figure 6 illustrates the data flow for a control unit processor to communication line adapter processor interrupt operation.

Figure 7 illustrates the data flow for a communication line adapter to control unit processor interrupt.

The foregoing objects are met in the present invention by providing a control microprocessor having its own dedicated read only storage, commonly usable and addressable random access memory, an interrupt vector number generator and request arbitrator, a plurality of microprocessor based interface communication adapters and interconnecting data and address busses and control lines and logic for system control and synchronization. The individual interface adapter microprocessors can directly access the main memory by setting up and controlling a DO operation as the need for service a-t a port interface arises. The central or controllirlg microprocessor whose random access memory is being accessed does not set up and control the DAM operation which is a distinct departure from prior designs. However the central control processor can interrupt and interact with the corr~unications adapter processors. An arbitration means is 123~59 ~rovlded fur arblt~at~g s~mullaleously prosily us ruckuses and _nterTu?~ requests from. Tao Ayers adapt processors.
The data and Audis musses interconnect the varicu_ processors with the main memory arc are.in.e~ru?t^-d by instate drivers at interlace points to alloy for issue-of a failing or faulty unit and easier digresses 3_ siesta-..
rules without interference from incoming or outgoing ire. to The fault diagnosis elements are a major portion ox the hardware and also includes program status registers, a bus i error register arid machine check resister which are interfaced to a dedicated service data and address bus through a dedicated service adapter located at ore OX the interface ports to lag ligate revote diagnosis and servicing ox errors.

Detailed Specification The referred embodiment of the invention Jill row be described with reference to the drawings. For convenience, major funct'~r.al elements arid features of the elects I
; se-~arat-el~ ascribed under individual headings in Nazi specification. General fa~.~liarity with interrupt driven processors and in Particular with 16-bit wide pricers sun as the Motorola 6~0C0 is assumed and while the preferred embodiment utilizes such processors specifically, the basic techniques end generic invention art not limited Jo the specific processor. Therefore, detailed slow charts and machine coda listings are not given herein since they are no=
necessary to on understanding of the inversion clammed. Such listings deal only with the operation o. a given Swiss ye processor and can be easily programmed by one Go or~inarv skill given a. understanding of the function to be performed and the instructiQI! set for a solver. processor.

Although the several figures of the drawing are drawn somewhat di~_erently, wherever the incorporate the same element or elements, the salve num~erir.g is use as - n, other figures for thy save elements even though the ma; ye Dakota in different figures in a slight lo difIerer.t~manre~.
* Trade Mark :
I:

Jo b' ~3:~5~
Turning to Figure 1, the overall high level data flow and architecture of a preferred embodiment of the present invention is shown. At the outset, it may be observed that all of the devices below the dotted line labeled "User Interfaces" are the usual communications facilities including modems, transmission lines, terminals, cluster controllers and host Cups. All of these devices operating at do fervent speeds, protocols and data formats are interfaced to the communication ports or communication adapters of the preferred embodiment of the invention. messages destined to or from a host CPU will be queued in the main memory shown in the dotted box 16 which includes a variety of internal register spaces, some of which have been specifically called out and separately shown in Figure 1. Messages queued in main memory are lo directly loaded via Do access controlled by the individual communication adapters each of which comprises a microprocessor of the same type as the control control processor and each adapter is given the task of formatting or reformatting messages in accordance with the desired speed, format and protocol for the given communication port and user to which it is attached. Exchanges of data with main memory are therefore exchanges of pure data without frame characters, sync characters and the like. This facilitates communication between the plurality of users, all of whom may communicate using different formats and protocols in a transparent manner insofar as the user it concerned since the individual communications adapters to which the user interfaces will handle the sometimes complex tasks of conversion as necessary among the protocols and formats to enable communication to occur.

In Figure 1, a local user terminal 1 is illustrated as but one of a number of possible devices that may be connected, sometimes via a cluster controller 6 to communication ports 9 of a communication adapter 7 which is housed in a communications controller, message concentrator and multiplexer which Jill handle incoming messages from users or messages from a host CPU 4 destined to the users. where telephone lines are required for longer distance ROY
I
communication, the usual interface modems 5 are employed as shown. A service adapter 8 is a communications adapter in normal mode of operation and is interfaced to the DMA/MMI0 interface lo which comprises the system data and address busses and control lines that each of the other adapters 7 also utilizes. However, a dedicated service interface if comprising a dedicated service bus and address bus are available to the service adapter 8 by command received over the integrated service modem 5 connected to a remote terminal lo 3 over a communication line and remote modem as shown. The dedicated service interface if has its own dedicated service adapter read only memory that contains control and diagnostic routines that may be accessed from the remote terminal 3 for exercising the elements of the overall machine to uncover the source of errors. Access to the program status register 18 and to the bus error/machine check register lo are specifically available over the dedicated service interface even though the main processor lo may be disabled or inoperative.
The flow of data is from a user device l, into a communications adapter 7 and over the DMA/~I0 interface lo through trl-~tate driver/receivers 12 onto the system bus 13 and into main memory 16. The other registers I through 23 are also part of the random access memory but have been broken out and shown separately. Therefore, all of the Figure l which is within the dotted line portion is actually a part of the random access memory 16.

Tri-state driver/receivers also isolate the interface to the main processor 15 and, Chile not specifically shown, other instates also are utilized to isolate the communications adapter interfaces at the adapters 7 where the interface the MOE facility.
The basic machine depicted in Figure 1 is capable of supporting up to 16 communication line adapters 7 and each communication line adapter supports either l or 2 ports 9.
Although not shown in the figure, the base machine also I
contains a diskette adapter and drive for storing control programs for the main processor as is customary in man microprocessor based system designs. This diskette adapter and drive are interfaced over the same type of D~/MMIO
interface 10 as the other communications adapters 7 but as this aspect is not necessary to an understanding of the present invention, for simplicity it is not shown specifically.

The control processor 15 in the preferred embodiment may be the type MCKEE offered by the Motorola Company. To s is an 8 megahertz clock based processor that provides a 16-bit bidirectional data bus and a 23-bit address bus incorporating both upper data strobe and lower data strobe. This gives a memory addressing range of more than 16 megabytes. As employed in the preferred embodiment, the ~lotoxola MCKEE
provides eight 32-bit data registers, seven 32-bit address registers a user stack pointer, a supervisory stack pointer, a 32-bit program counter and a 16-bit status register. Data registers are used for 8-bit byte, 16-bit word and 32-bit long word data operations. The address registers and system stack pointer may be used as software stack pointers and base address registers as described in the vendor's product literature. In addition, the registers may be used for word and long word address operations All of the registers may be used as index registers.

The MCKEE is an interrupt driven processor as will be understood by those of skill in the field. The various interrupt levels and their interaction will be described later. First, turning to Figure 2, a somewhat more detailed understanding of the overall data flow and control architecture must be gained.

In Figure 2, the dotted line separates all of the elements which are at the Dt~A/~lIO interface. Those elements below the dotted line are the adapters, the instate drivers and receivers that isolate the adapters and all of the communication ports. It will be observed that the adapters L~98401~g ~23~ 55~
are depicted as being identical and are only numbered to distinguish between them. Each adapter is capable of interfacing to one or two ports 9 arid some of the adapters are siren dedicated functions such as being a diskette adapter, or the adapter which houses the service interface which is not shown in Figure 2. Flow of data from ports 9 to an individual adapter 7 and from thence to the instate driver receivers 34 onto the MOE interface busses 10 is further isolated by txi-state drivers 12 from the main system data and address bus 13 as shown. Each individual adapter 7 will generate either a bus request or an interrupt request as it requires interrupt service or DAM access to the main memory. These requests are presented to the arbitrator and interrupt vector number generator 29 over bus request lines 50, or a common interrupt line designated IRK This line connects both to the arbitrator 29 and to the microprocessor interrupt control logic ILL.

Incoming data from a user will be stripped of framing and formatting characters and converted to the transistor logic level in each adapter 7. The adapter will transfer data directly via DAM over the data bus into random access memory 16 at a location set up by the individual adapter processor once it has been granted access to the bus by the arbitrator 29.
Where service to an adapter microprocessor in an adapter 7 is required, the interrupt request will be arbitrated by the arbitrator 29 from among any other competing interrupt requests and when the highest priority adapter, identified by its physical position in the architecture is selected from among those requesting service, the arbitrator will generate an interrupt vector number to give the starting address in memory where the main processor 15 can fetch instructions for servicing the specific type of interrupt presented by an adapter 7.

A variety of machine control, RIO control functions and decoders, interrupt control logic and bus error and machine I I
check and logic an Xerox controls are shown and will be dusk bed in greater detail as follows.

Control Unit Interrupt Levels In the system shown, the control unit is advantageously a 68000 type microprocessor sold Dry the Motorola Company. This machine has 8 effective levels of interrupt and a it overall interrupt level which are defined or purposes of the present invention as follows.

Gus error level - this is the overall error level interrupt which is activated by the control logic I when an error is detected and the control processor is in control of the bus. This error will miserable the DMA/M~IIO interface until bus error machine check register 26 is reset and until the external bus instate drivers 12 are enabled again. The control unit interrupt control logic 66 will prevent any interrupts from being serviced after a bus error has occurred.
It contains an interrupt inhibit latch that must be reset before interrupts may be allowed again to be presented.

Interrupt level 7 - this is assigned a disk dump and testing function not pertinent to the present discussion.
interrupt level 6 - adapters present control interrupts on this level and result in vector numbers being generated by the control unit vector number generator housed in the arbitrator 29~ A control interrupt is one of three classes of interrupts that can be generated by an adapter, the other two being operational interrupt and adapter machine check. These latter two classes of interrupt are presented on interrupt level 1 as will be described later. These interrupts are reset by the adapter Willis interrupt is bins acknowledged by the bus grant signal which will be described in the section on the DO interface.

I
3~018 10 Lo Ike other interrupt on level 6 is an interrupt prom a service adapter which is one of the adapters 7 dedicated to the service function when it is in service mode.

Interrupt level 5 - this is a control unit address detection interrupt which notifies the processor 15 that its address has been recognized. This interrupt is reset by decoding an interrupt acknowledge cycle for level 5.

Interrupt level 4 - this is the machine check level activated when an adapter is the bus master and en error is detected by the control unit logic 27. It is reset by an Lowe command directed by then microprocessor 15 through the RIO
control function register 28.
Interrupt level 3 - this is the error recovery level and the interrupt is set when interrupt level d is sex and is reset by decoding of an interrupt acknowledge cycle at level 3. This is also the operating level for the control program utilized in the corr~unica~ions control processor 15.

Interrupt level 2 is reserved.

Interrupt level 1 is utilized by communications adapters for operational and machine check interrupts from the adapters which result in vector numbers generated by the vector number generator in the arbitrator 29.

Interrupt level 0 - this is the application teas};
operation level into which no lower level interrupt may be interjected. Application tasks on this level run to completion or a stopping point, whichever occurs first.

Memory Data Flow Data transfer between the memory control (not shown for simplicity) and the memory 16 is an 18-bit interface comprising 16 data bits plus 2 parity bits. For a write operation to moorer, data can be stored from the control I
microprocessor I an from an of the attached DOYLE devices (adapters) either as single bytes or as words. E for correcting code control logic 30 Jill generate a 6-bit error correction control for association with the 16 data bits.
Therefore, any write instruction that requires a 1 byte wrote will utilize a read-modif~r-write cycle so that the 6 check bits will accurately reflect the status of a 16-bit word.
Word or half Ford operations are selected by upper and lower data strobes set by the processor 15. The lowest order bit ox the address channel is utilized for the upper data strobe control in combination with the type of data transfer that is intended. If this bit is 0, the upper data strobe is issued.
If this bit is 1, the lower data strobe is issued. Certain writing operations Lo Do writing from an adapter 7 require a full word (2 byte) operation. Provision is made at the DAM
interface for indicating to the control logic 27 the requirement for word transfers with activation of both the upper data strobe and the lower data strobe exists. This will cause the issuance of both data strobes. On all word writing operations, the six error correction control check bits are generated in the EKE logic 30 and are stored axons with the 16 data bits in the memory 16. The word write operation requires only one memory cycle but a byte write operation, the byte Lo which the address is given is read from the array along with its associated byte and the 6 check bits. The byte which is to be written is to be modified to reflect new data and then 16 data bits are used to generate 6 new check bits. The 16 resulting data bits and 6 new check bits are written back into the memory 16.
System Logic The system logic is not all shown in detail in -the figures since it is normally provided without modlCication.
It includes the clock veneration together with timing signals or the various logic functions, a program enable timer or counter that provides an interrupt on level 1 every half second when enabled, card select, chip select, address decoding for ARCS and Al and Russia operations, and memory ~9~018 12 I So mapped I/O functions as shown in the memory map I/O address decode block 28. This block induces the functions of decoding addresses 'or program control of an operator's control panel, not shown set and reset OX system control latches and the instate drivers and interrupt requests to the adapters 7 from the control unit 15.

A novel functional unit in system logic is the arbitrator and interrupt vector number generator 29. This handles arbitration of interrupt requests from adapters, arbitration of DOW bus requests to the main processor 15 for Do operation, control, through issuance of a bus grant acknowledge signal, of the storage cycle for DOW operation and control of the instate address and data busses direr the DAM operation. It also handles the interrupt vector number generation and interrupt request arbitration.

Bus Error/Machine Check Register This register 26 stores an error indication Whenever an error is detected and the main processor 15 is the bus master.
When this occurs, a bit will be set in the check register 26 and a bus error signal will be activated for one cycle which will result in a bus error exception processing routine being executed. Whenever an individual adapter 7 is the bus master and an error is detected in the control unit processor 15, a bit will be set in the bus errortmachine check register 26 indicating that an adapter was bus master when the error was detected. A bit will also be set to indicate the cause of the error and a level 4 interrupt will be activated to the main processor 15. This will also cause a level 3 interrupt for error recovery routines to be run. Also, when an adapter 7 is bus master when the error occurs, the number of the bus master is saved in logic housed within the arbitrator 29 and can be US read later with an LOWE instruction from the control processor 15.

The error signal is always activated to the level of the US interlace regardless of which processor is bus master. If ~98~1018 I

an adapter is currently the bus master, this error sisal wit cause that adapter 7 to disable all signals Jo the DAM
interface. DAM access by all of the adapters will be blocked when bus error or machine check register bits are set. There are 16 b is in the bus error machine check register 26 and the outputs El through on are directed to the error detection and system instate control logic 27 in Figure 2. The meaning o-the various bits is defined as follows:

Bit 0 - this is parity error A parity check is performed on data written at the error correction control logic uric 30 or on data read at the Cowan processor 15 input. These parity checkers are numbered 31 and 32 respectively. A parity generator 33 operates on the output of the main processor lo to generate outbound parity as required.

Bit 1 - this is a double bit error from random access memory 16. Error control and correction logic 30 is capable of correcting a single bit error but a double bit error activates a signal DYE for input to the bus error machine check resister 26 as shown. The bus master when the error occurred will be indicated by bit 6 as will be described later. The error is in the RIPS whenever a double bit error occurs.
Bit 2 -I this is a refresh under run. This bit is generated by the random access memory units 16 and is shown as signal RUT for the bus error machine check error I This is caused when a refresh selection cycle has not been activated within the specified time required for the dynamic refresh of the random access memory 16.

Bit 3 is an access error/data acknowledge timeout error bit. This error can be caused by any one of seven items. An attempted write to a protected area of JAM, attempted access to the kS~lIO space in RIP by an adapter 7, access to SHEA space by the main processor 15 while it is not in the supervisor data mode, an attempted read or wrote to an unimplemented area of RAYS space, an attempted write to ROW, data transfer ROY Al I US
acknowledge not returned to the control processor 15 by a slave device, (either memory control or adapter within 4 microseconds, or an adapter which has become bus master does not deactivate strobes within 4 microseconds. he exact selection of which of these possible causes is dependent upon whether various other bits in the machine check register are set as will be explained as follows.

Bit is the timer interrupt not reset.
Bit 5 is the DAM timeout and will be set if an adapter having received bus grant does not return a bus grant acknowledgement in 2 microseconds.

Also an adapter which has been selected by an MOE
instruction from the control unit 15 which activates data transfer acknowledged for more than 2 microseconds will set this bit and failure by an adapter which is bus master to initiate a transfer cycle. This is indicated by the adapters 2G not activating the address strobe within 2 microseconds and will cause the bit to be set.

Bit 6 is the bus master indicator. If the bit is set, an adapter was bus master when the error was detected.
Bit 7 is the access type indicator. It indicates that the operation was a read operation at the time of the error if it is set; if it is not set, the operation was a write operation.
Bit 8 is the RAM write area protection violation and indicates that an attempted write to a protected area of RAY.
was made either by an adapter or by the main processor lo while it was not in supervisor data mode.
Bits 9-11 are JAM card select bits indicating winch section ox I memory was selected when the detected error occurred.

So fit 12 is the OOZE card select that indicates the ROW card was selected when the error occurred.

Bit 13 is the halt bit for the main control processor 15 indicating that it has been halted. The final bits 14 and 15 are not used in this design and are reserved.

Memory slapped I/O

Memory mapped I/O control functions 28 are used to set and reset control latches, to write control information to the adapter 7 and to read an adapter's machine check register when required. In general, MOE operations constitute I/O
operations controlled by decoding an address with the addressable range of the address bus but not assigned to memory space. These addresses, when decoded, are used as control instructions for the control unit processor or for an attached adapter. RIO operations are initiated by and controlled by the main control processor 15~ The operation itself consists of the execution of a single load or store instruction that will transfer data to or from the addressed Rio space. For MOE operations, the control processor 15 will be the bus master and the operations must be performed in supervisor data mode. Operations performed by RIO are as follows: reset of an adapter. (Each adapter has a specific RIO address for this command), enabling of an adapter, disabling of an adapter, interrupt to a specified adapter, reading of a machine check register in a specific adapter, setting a service interrupt to an individual adapter or resetting an adapter specifically without a basic assurance test of the adapter or finally, a read of the diskette adapter programming switch.

There may be up to 18 adapters 7 in the design shown in Figure 2 and these are assigned priority dependent upon their physical location. They are numbered sequentially with adapter 1 being the lowest priority for DOW and interrupts at the control unit or arbitrator 29. The highest priority is adapter 18 and is reserved or the diskette adapter function.

r~984018 16 ~23~5~
The RIO logic also has decoders for decoding a wide variety of system control functions that are located with the main processor 15 or with the main memory control. However, four specific MOE instructions are assigned to other elements. These are the bus master register 57, the data compare register 23, and the address compare register 22, and the function select register 24.

DAM Direct Memory Access In the architecture described in the figures, direct memory access is a bus master initiated I/O operation in which single or multiple bytes or words may be transferred to or from main memory 16. The bus provides I bits lo data bits and 2 parity bits) of bidirectional data between the control unit memory 16 and the attached adapter 17 and/or the control processor 15. A bus master, for purposes hereof, is defined as a unit attached to the bus that is capable of controlling the system busses. The bus master will determine the direction of data transfer, will supply the address and control information to direct the transfer, and will supply the data during a writing operation. Because several units attached to the DAM bus are capable of becoming bus masters, arbitration by the arbitrator I determines which unit will be the active master at any one time.

Access to memory space in the memory 16 during a Do operation is accomplished using a real address. The DAM
operation by adapters 7 is a data transfer in which the address to be used is set up by the adapter 7. The interface is capable of handling a general case of DAM, where a Do controller is set up with the starting address but this is not implemented in this design. The individual adapters 7 obtain starting address positions and counts from the control unit processor 15 which stores address information and transfers it via DAM to the attached adapters. This transfer is initiated and controlled bar the adapter itself, however. There are rho designated reserved spaces assigned lo each adapter in main I
memory and the adapter's assigned memory space may vary from time to time.

DAM Interface Signal Description The Do interface includes a bidirectional data bus or 18 bits width, 16 data bits plus 2 parity bits. The data bus is positively active. During a DAM read operation or during a MOE write operation from the control unit processor 15 to an adapter 7, the data bus is driven by the control unit 15.

The address bus is a multi point, 23-bit bus and is also bidirectional and positively active. When a DAM operation is not in progress, the external address bus is driven by the control processor 15 to allow monitoring of addresses. This bus is driven by the control processor 15 during M~lIO control operations from the processor 15 to the adapter processors in the adapters 7.

The write signal - this is a multi point signal lint driven by the bus master to indicate to instate isolation control logic the direction of transfer on the data bus for all I/O operations. This will be described in greater detail later. During DAM operations, activation of this signal indicates a data transfer from a bus master to memory.
Non-activation of the signal indicates data transfer from memory to a bus master and is referred to herein as a read operation.
Other control lines and busses on the interface include the following:

A level 1 interrupt. This is a multi point signal which is driven by any adapter that has a pending level 1 interrupt for the control unit processor 15. An adapter 7 activates this signal line when it has a data interrupt or an adapter machine check interrupt.

A level 6 interrupt. This is a multi point signal which is driven by any adapter 7 that has a pending level 6 ROY lo ~L~3~S~
interrupt for the control unit processor lo. This is activated when a control interrupt requires servicing.

A level 1 interrupt acknowledged signal is also supported and this is activated by the main processing controller 15 when an interrupt acknowledge cycle for a level 1 interrupt from the adapters is performed.

Level 6 interrupt acknowledge is a multi point signal activated by the main processor lo when an interrupt acknowledge for level 6 is performed.

There is a bus request/interrupt acknowledge bus. This is an 18 line bus with one bus line assigned to each adapter position. The bus is multiplexed by the arbitrator and interrupt vector number generator 29 so that it serves both as a means of handling bus requests and adapter interrupt requests. when the control processor 15 does an interrupt acknowledge cycle for level 1 interrupts, system logic in the control unit will activate level 1 interrupt acknowledge to the adapters 7. When an interrupt acknowledge cycle for level 6 occurs, a level 6 interrupt acknowledge signal to the adapters will be given. When the level l interrupt acknowledge line is active, the adapter 7 which is requesting an interrupt will activate its bus request if it had a level l interrupt presented to the controlling unit 15. The same operation occurs for a level 6 interrupt acknowledge. If neither level 1 or level 6 interrupt acknowledge are active, the adapter can activate a bus request line when it has a Do request.

Bus request line operation. When the level 1 or level 6 interrupt acknowledge signals are not active, an adapter having a DAM request can activate its bus request/interrupt request line which will be interpreted as a Do request bar the arbitrator as long as no level l or 6 interrupt acknowledge signal from the control processor occurs. This line is driven by any attached adapter 7 which requires control of the bus for an I/O operation. When an adapter activates its bus Jo 3 I
request/interrupt request line for its bus request, it must keep it active until it has gained bus ownership. The bus request will be removed if the level l or level 6 interrupt acknowledge line becomes active or if an adapter becomes disabled. When an adapter has been granted access, it becomes bus master for the duration of its t answer activity.

The interrupt acknowledge line. When the main processor 15 is doing an interrupt acknowledge cycle in response to a level 1 interrupt, a level 1 interrupt acknowledge line is activated to the adapter 7. The same is true for a level 6 interrupt and the level 6 interrupt acknowledge line. Either of these acknowledgement signals controls the adapters to remove the Do bus requests from the bus request/interrupt request lines. It a level 1 interrupt acknowledge is active, an adapter having a level l interrupt presented to the control unit processor 15 will activate its bus request interrupt request line. The same is true for a level 6 interrupt acknowledgement for adapters having level 6 interrupts present. Interrupts are encoded by the arbitration logic in the arbitrator 29 and the adapter having the highest priority will have its request presented to the processing unit 15 in the form of an interrupt vector number that will direct the processor 15 to the starting address of toe servicing routine in memory for the specific type of interrupt presented.

The bus grant/interrupt taken bus is an 18 signal bus with one line assigned to each adapter position as noted above The bus is multiplexed by the arbitrator 29 to handle bus grants and for signaling an interrupting adapter that its interrupt is being taken by the control unit processor 15. If an individual adapter 7 recognizes a bus grant/interrupt taken signal active during a level 1 or level 6 interrupt acknowledge, it will activate its encoded interrupt type lines (3 bits) to correspond to the type of interrupt that it is presenting to the control unit 15. The multiplexing operation in arbitrator 29 is achieved as follows.

Bus Grant Operation R~984018 on ~3~5~

This signet is driven by bus arbitration logic if. the arbitrator end is given to the device that is to assume ownership of the bus. Since there is more than one unit that may be requesting ownership, the system provides arbitration logic in the arbitrator 29 to resolve which unit will be allowed to control the bus. the star method of arbitration that provides or oritization based on physical position is implemented in the figures as shown. The adapter installed in position 1 (which may correspond to adapter nurser 18) will have the highest priority and the adapter installed in the last position. of the arbitrators connection ports will have -the lowest priority. The bus grant is not deactivated ours activated until after an activation of the bus grant acknowledge or upon detection of a bus grant not accepted.
Adapters 7 are not permitted to activate any signal on the Gus in the capacity of bus master unless they have detected the activation of a bus grant while they have an active bus request signal present.

The Interrelate waken Operation When a level 1 or level 6 interrupt acknowledge signal is active, the control unit 15 will activate the bus grant/interrupt taken signal to the adapter whose interrupt is being acknowledged. When an adapter recognize that its bus grant/interrupt taken line is active and it has a corresponding interrupt on level l or 6 present, the adapter will activate the eroded interrupt type line to indicate the type of interrupt it is presenting to the control unit. A
unique interrupt vector from the highest priority requesting adapter will ye yenera.ed by the arbitrator interrupt number generator 29.

Bus Grant Acknowledge The bus grant acknowledge signal is a rnultipoint signal used for obtaining bus mastership during ~'~ operations. This signal is activated by the adapter 7 that has an active Do bus request and weakly Russ the bus grant. A ton receiving __ __ Jo _ Jo _ _ , .. .

kiwi 21 I
the bus grant, the adapter must wait until the address s robe, data trallsfer acknowledgement and bus grant acknowledgement from the previous bus master are all deactivated before it can activate its own bus grant acknowledge signal. Bus mastership is terminated at the deactivation of bus grant acknowledge.

The address strobe signal is a multi point signal driven by a bus master when it executes a DAM operation. The upper and lower data strobes are also driven by the bus master with one or both being utilized to indicate whether single byte or word operations are required and whether the byte is low order or high order.

Data Transfer Acknowledge This signal is a multi point signal driven by any addressed adapter, the memory control or the system MOE logic during an I/O operation. It allows for asynchronous operation between the adapters and the control unit memory system during DAM operations and asynchronous operation between the main processor 15 and the adapter 7 during a main processor MOE
operation. In writing operations, the data transfer acknowledge is an indication that the slave device has captured the information on the interface and the operations may proceed again. In read operations, the data transfer acknowledge is an indication that data is placed on the data bus by the slave and that further operations may proceed.
During DAM operations, the slave device is the main memory and the data transfer acknowledge is supplied by the memory control. During MOE read/write cycles from the control unit 15 to an adapter 7, the addressed adapter is a slave device and must supply the data transfer acknowledge signal.

Error Signal This is a multi point signal driven by the memory control logic in the error detection and system control 27. It may be an indication of one of the following: 1) bad parity on data received from an adapter, 2) read or write to an unimplemented storage space, 3) attempted write to ROW or a timeout condition resulting frillier adapter having received a bus grant but not responding within two microseconds, 4) a timeout resulting from an adapter not deactivating a strobe within a timeout period, 5) a double bit error from main RAM or 6) a storage protection violation error. The error signal is detected as en. input by the active bus nester which then must disable any signal that is active on the interface to the control unit processor 15.
System Reset This is a negative active signal activated by the control unit 15 when any of the following resets occurs. Power on reset, reset executed by an RIO instruction, reset from a service adapter, disk dump reset or execution of the processor reset instruction.

Service Interrupt The service interrupt can interrupt the main processor on interrupt level 6. The adapter can activate the service interrupt signal and the main processor 15 will reset the service interrupt by reactivating a service interrupt acknowledge signal. The service adapter must reset its interrupt when the acknowledgement signal is received. The signal line only connects from the service adapter to the control unit 15.

The adapter select line 35 is a negative active signal activated by the main processing unit doing a RIO operation to an adapter 7. The adapter will decode the low order 8 bits present on the address bus when the signal is active to determine which adapter is selected and what function is to be performed.

service adapter reset is a negative signal and activated by the service adapter which causes the control unit 15 to activate a system reset to reset the entire machine e:ccep. for ~984018 ~3~5~ `
the service adapter. The service interrupt acknowledge signal is a point-to-point signal from the control unit 15 to the service adapter as previously noted.

Service Interface Returning to Figure 1, it will be noted that the service adapter 8 has its own dedicated service interface 11 which has just been described above. This interface has access to a variety of registers that aid in software debug and system hardware error diagnostics. To aid in software debugging functions, the control unit 15 implements a variety of registers or latches shown in Figure 1 specifically. These are accessible over the dedicated service interface 11. These also interface to the interrupt logic 66 which will create an interrupt on level 5 over line 25 to the main processor 15 if an address previously loaded into the address comparison register for diagnostic purposes is detected. The same is true for the data comparison register 23 and for the function register 24 all of which comprise, together with RIO control and decoder 28 and the interrupt control logic 66, the control serviceability functions. The function register 24, address compare register 22 and data compare register 23 are together referred to as control logic 67 in Figure 2.
As shown in Figure 1, a two byte status register 18 is also included. This register can be written by the main processor 15 and read by the service adapter 8. The main processor is not permitted to read this register and the service adapter is not permitted to write in this register.
There is a bus error machine check register 19 with dual port outputs for the machine check register portion so that it can be read by either the control unit processor 15 or the service adapter 8. The machine check register and a program status US register do not contain parity and parity checking is inhibited when these register are read by a service adapter 8.

AYE I
I
There is also the service adapter ROW 17 as shown. in Figure 1 which is interfaced to the service adapter over a dedicated two byte data bus, a 15 bit address bus and control bus and this dedicated interface will be used by the service processor 3 for instructions to read the control unit 15 machine check register and status register 19 and 18, respectively.

Inter processor Interrupts Inter processor interrupts either between the control processor 15 and the adapter processors in each adapter 7 or vice versa may be accommodated. The control processor 15 can interrupt an adapter processor by memory mapped IT
instructions. One of the RIO instructions is used to signal a selected adapter to do a DAM read operation of its presently assigned communications buffer in main memory 16. The other is used to interrupt the adapter on a higher priority level to provide a servicing function. The interrupt interface from the control unit 15 to the individual adapter 7 consists ox the low order 8 bits of the DO address bus and a multi point selection line called line adapter selection. When this line is active, each adapter will compare 5 bits on a DOW address bus with a 5 bit location address permanently wired at the board position where the adapter 7 is installed. When an address compare occurs, that adapter will decode the other 3 bits on a DOW address bus to determine the selected Moe function.

Adapter to Control Unit Interrupts Adapter interrupts to the main processor 15 on interrupt level 1 or level 6 are possible as described previously. The service adapter has the same interrupt capability as a line adapter plus it has the capability to interrupt the main processor on interrupt level 6 for a service adapter to the main processor interrupt. Interrupts from these processors to the main processor are all handled as previously described.

ILLS I
Figure 6 illustrates the data ion for a processor lo to tine adapter processor 42 interrupt function. Fissure 6 should be used in conjunction with Figure 3 to gain a better understanding of the overall operation, but Figure 3 will be described in greater detail later. In this function, the control unit processor presents the address bus and the address strobe signal to the MOE logic 28. The high order address bits AYE are decoded by the MOE logic 28 an the adapter select signal 35 is presented along with eye low order 8 bits Allah to the address bus drive for the interface bus 10. These signals will be received by the address comparator and function decoder 47 housed within the indi~dual adapter 7.
Also housed in the adapter 7 is the interrupt control logic 41 and the line adapter microprocessor and control 42.
Figure 7 illustrates the communication line adapter 7 to control unit processor lo interrupt function and includes the priority encoder circuit in the arbitrator 29.

With the foregoing brief overview of the main functional elements, control signals and inter-relationships given as described, a detailed example of data flow from initialization, commands, receiving and transmitting of data together with arbitration for a DO operation and for interrupt operation will now be given.

Data Flow Initialization Each adapter has a communication region temporarily assigned to it and located in the main memory 16 of the control unit 15 RAM. This region contains a device status word (DEW) register 20 and a device control word (KIWI) register 21 for each adapter 7. The location of a given adapter's DOW and DO in the main Al 16 will be determined by the adapter's physical position but the space allocated by the control processor may vary within memory 16. When the machine is reset, the control program will initialize the DEW and DOW

~9~018 2G
3~55~
for each adapter 7 that is installed. The DO will be constructed by the control unit 15 executing microcode. The DOW will be read by the adapter processor 42 to initialize itself. The DOW contains a command byte and an outbound or inbound buffer address plus other fields depending upon the nature of the command. During operation, the device status word is constructed by the adapter processor microcode in the adapter processor 42. It will contain fields that report the status of the adapter processor 42, the quality of data reception, current execution sequence and the address of the last by per used for data transfer When an adapter processor 42 detects an interrupt from a control unit processor 15, the adapter will fetch the device control word from its assigned concussion region in main RAM 16 via a DAM operation and will interrogate the command byte to learn what the control unit 15 is requesting. One of the many commands is an ILL commend. This communed will cause the adapter 7 to load its operational code via DAM from the main RAM 16. The main RUM starting address is contained in the DOW which was just read. When the command is completed, the adapter processor 42 will write an ending status via a DAM
transfer into its related DEW. The adapter processor 42 will then signal the control unit processor 15 via an adapter to control unit interrupt that the task is completed.

The flow is controlled by microcode in the control unit 15 which sets up the device control word and then interrupts an adapter 7. The adapter reads the device control word via a Do operation and the adapter microcode will set up a device status word in main I 16 using a Do writing operation and will then interrupt the control unit 15 to inform it that the operation is complete. The control unit 15 can then read the device status word in main RUM to learn the results. It is seen that the main thus serves as a communicating "mail box" between the control unit processor 15 and the co~nunications control processors 7 using communication regions in the main RAM assigned for each adapter 7.

AYE I
3.23~S~
Data Buffers Vale buffers are addressed by a byte in the device control word and reside in main RP~1 16. They are accessed by the adapters using the DAM transfer initiated by the adapters.
The buffer size is fixed but ma be assigned in variable numbers of blocks. When a message of greater than a fixed, for example 288 data byte size, is intended, larger blocks of 2~8 bytes each are furnished to the adapter processor requesting them.

DOW Commands When an adapter processor detects an interrupt from the control unit 15, it must transfer its device control word from its assigned communication region in JAM via a DAM rear operation and then interrogate the command byte. Examples of commands might be to write or to read. If it is a write operation, the buffer whose first address appears in the device control word is read from RAM and transmitted into the communication line and the number of bytes to be transmitted is specified in the data count portion of the DOW. A read operation begins by writing to the starting address identified in the DOW and extending for a data count or until an end of block detection, whichever occurs first. A write command indicates a transmit operation where data is read from I A
read command indicates a receive operation where data is written to RIP

Given this overall scheme of communication, it may be seen that each adapter microprocessor is constructed to interrupt the main microprocessor for service but can autonomously present Do transfers to or from main memory to build up or take down queues of messages to or from given attached users at each adapter interface. Since each adapter s assigned the task of adapting to the user's protocol and signaling requirements at the interface but communicates with the main Al 16 only in the form of pure data without format and protocol strictures, a great deal of concentration ox data ROY 23 of , I

is possible. The control unit processor 15 waits for completion of a message in RAM and the signaling that the message has been complete by the adapter processor before it will inspect the message, direct it to an outbound adapter processor and perform any data manipulations required to accommodate diverse communication protocols. The resulting messages on a high speed outbound line are thus multiplexed in the sense that complete messages from a variety of users will be serially transmitted as complete messages but not necessarily in the order in which they were begun, buy in the approximate order in which they were completed.

For a description of the overall adapter data fly for a receive operation, we will now turn -to Figure 3 to be used in conjunction with Figures 1 and 2.

Adapter Data Flow During Receive Operation Refer to Figure 3 in which data is received at the interface driver receiver 38 from modems S attached to ports 9. The interface driver receiver 38 may be the ERRS type or any other standard interface. The driver receiver has the purpose of converting the receive voltage levels from the modems 5 to the transistor logic voltage levels for the remaining components. A serializer/deserializer and formatter 39 is implemented in the form of a Zilog Corporation model 8440, or example. This provides the function no only of serialization and deseriali~ation, but ox formatting and reformatting according to the communication procedure requirements. This includes adding or deleting frame characters, sync characters, generating block check characters, and the live. The unit I receives serial data and accumulates an 8 bit byte. This device then interrupts the interface adapter processor 42 via an interrupt line 40 that is passed through interrupt control logic 41 to sort out potentially interfering interrupts.

The processor 42 may advantageously be a model ~8000 microprocessor built by the littoral Corporation as is the . __, _ _.. .. .. .

of main control processor it. The incoming byte or data is then read from the serializer/deserializer 39 using a Moe operation for reading. As the seriali~er/deserializer 39 receives the next byte of data, it again interrupts the S processor 42 and the process of reading by the processor I
continues.

Processor 42 accumulates a word, i.e., two bytes of data in its internal data register. Upon completion or accumulating one word, processor 42 is ready to transfer the two bytes as a word transfer to main Al of the control unit 15.

The DOW that has been previously read from the main R~1 16 contains the address information used by the adapter 7 in its processor 42 to address the main RAM 16 during the Do data transfer operation. The layout of data buffers in the main Al 16 is mapped in such a fashion that the adapter can directly address the main RAM during the Do operation. The main RAM portion is located in address space in such a fashion that bit 23 of the system address is not activated during a main RAM access. Then, when an adapter performs a DAM write operation, the adapter 7 performs the write operation with bit 23 active. An operation with bit 23 active will set the Do request latch This will activate a Do bus request to the control unit 15. This latch and the interrupt line are part of the interface control and timing logic 47 in Figure 3.

The arbitration uric 29 in the control unit lo will activate the bus grant signal to the specific adapter 7 when the adapter 7 becomes the highest priority requester. For -the duration of time between the presentation of a bus request by the adapter and the reception of a bus grant by the adapter, the adapter is held in the writing cycle with its address bus, data bus and control signals all active. When the bus grant is finally received, the interface control logic 47 will activate the bus grant acknowledge signal and then will sequentially do the following operations:

kiwi 30 ;~2~5~
The address bus will be grated onto the DAM address bus lo in Figure 1 and 2, but bit 23 will be driven to an inactive state to accomplish correct mapping in the main RUM. The adapters' control signals will be grated to the Do control signal interface and the data bus will be grated onto the DAM
data bus lo in Figures 1 and 2. The main control unit 15 will perform the writing operation to the RAM 16 and will activate the data transfer acknowledge signal to the adapter 7 when the data has been written in memory. When the adapter 7 receives the data transfer acknowledgement signal, its interface control logic 47 will sequentially deactivate the signals to the DAM interface and the adapter's processor 42 will complete the writing operation cycle.

The foregoing sequence is repeated for every two bytes received from the communication line until the end of the message or end of transmission block is received and recognized by the processor 42. When this occurs, processor 42 will signal the main control processor 15 that the end of block has occurred. At this point, the main processor 15 takes over to perform any data manipulations on the stored block of data in RP*l 16, generate any required header or trailer codes and will direct the hock of data to appropriate adapter for output on a line addressed to the intended recipient for the original message. The adapter 7 at the selected output interface will format the block of data two bytes at a time with appropriate framing and control characters to meet the protocol and interface line requirements or the communication line to which it is connected.

The transmit operation at an adapter is as follows.

Adapter Data Flow During Transmit During transmission, the adapter's processor 42 Do vetches two bytes at a time into its register and delivers them to the serializer/deserializer 39. As the serialize/

I US
deseriali~er 39 empties its transmission buffer (every two bytes), it will present an interrupt to the adapter's processor 42 by activating an interrupt signal on line 40 to the interrupt control logic 68. The processor 42 will then perform an additional DAM reading operation to fetch two more bytes from the main RAM 16. As during the receive operation, the DOW that was previously read from main RAM contains the address information used by the adapter 7 to address the main RAM 16 during the data transfer operation. when an adapter performs the DAM reading operation, it will perform it with bit 23 active to present a signal to the AYE request latch in the interface control logic 47. This will activate a Do bus request to the arbitration unit I of the control unit 15 as during receive operations. the arbitration logic 29 will activate a bus grant signal when the adapter 7 becomes the highest priority adapter with an active request. When the adapter finally receives the bus grant signal, the interface control logic 47 will activate the bus grant acknowledge signal back to arbitrator 29 which, in turn, activates it to the main processor lo and will sequentially do the following:

The address bus will be grated to the DAM address bus to receive information. Bit 23 will be driven inactive to accomplish the correct mapping to RAM. Lowe control signals at the DAM control signal interface will be tumidity meet the main processor 15's timing specification. Since it is a reading operation, the adapter interface control logic 47 is conditioned to receive data from the interlace this includes setting the instate drivers in Figure 1 or to the appropriate state). The memory control logic of a control unit 15 will perform the reading operation from main RAM 16 and will activate the data transfer acknowledge signal to the adapter 7 when the data is active at the DO interface. When tile adapter 7 receives the data transfer acknowledge signal, the interface control logic 47 will sequentially deactivate the signals at the Do interface as the processor 42 completes the reading operation cycle.

I
The two bytes that are read during the Do reading from main RAY 16 are stored in the adapter 42's internal data register. The adapter processor 42 will perform an MOE
writing operation to transfer one byte of data to the serializer/deserializer. When the serializer/deseriali~er 39 has transmitted the byte through the driver receiver 38, it will again interrupt the adapter processor 42 to signal that its transmit buffer is empty. The sequence is repeated for every two bytes of data to be transmitted on the communication line through port 9. This is continued until the Do transmit count becomes 0 or an end of block is reached. As noted previously, the serializer/deserializer 39 contains necessary logic for generating block check characters, frame characters and control characters as necessary to meet the protocol and format requirements for the communication fine to which it is attached.

The description will now turn to a detailed example of the operation of the arbitrator 29 in Figures l and 2.
Arbitrator Operation The arbitrator is shown in more detail in Figure 4.
Arbitrator 29 has the function of arbitrating among simultaneously presented interrupt requests from the adapter unit 7 or for arbitrating simultaneously presented bus requests for doing Do operations at the adapters 7. Each adapter has a bus request signal line and a bus grant signal line as shown in Figure 2 which are connected to the arbitrator 29. These signals are multiplexed for DAM
operation and interrupt request operations and the generation of interrupt vector numbers. The arbitrator 29 will provide arbitration for up to 18 different adapters. Adapter number 18 is given the highest priority and adapter 1 the lowest.
Referring to Figure 4, each adapter will present a bus request signal on one of the lines 50 and may receive a bus grant signal on one of the lines 51. The signals, as noted previously, are multiplexed for DO operations, interrupt ROY
~L~3~5~
request operations and for the generation of interrupt vector nabbers which axe generated in the arbitrator 2g. An. example for the DAM operation will be given first.

Let us assume that adapter 10 and adapter 3 have contemporaneously activated their bus request signals on the lines 50 for the doing of a MA read or write operation.
Request latch 55 will latch the state of the 18 possible Gus request signals on lines 50. This occurs when the control logic 65 activates the latch request signal as shown. The bus request signals will be latched to synchronize the arbitration operation in such a fashion that the inputs to the encoder 56 and the decoder 54 will not change during the arbitration of the requests.
When at least one request has been latched into the request latch 55, a bus request proceed signal will be activated to the processor 15. The processor will respond by activating a bus grant procedure signal back to the arbitrator 29 where it is received at the control logic 65.

The output of the request latch 55 feeds the input of a decoder 54 that generates a grant signal on one line based upon the highest priority active request that is apparent in the latch 55. In the example we have assumed, number 10 has the higher priority than number 3 and a bus grant signal will be activated to device 10 over one of the lines 51 when the control logic 65 activates a grant enable signal as shown.

The output of the bus request latch 55 also feeds the input of an encoder 56. Encoder 56 is an 18 bit to 5 bit coder that selects the highest priority requester and encodes a S bit identifier code. This is the adapter identification and identifies that adapter 7 which will be given the bus grant signal by the decoder 54. This code from encoder 56 is also stored in the last bus master register 57 when the control logic 65 activates the latch bus master signal as shown. This preserves a record Sol error control that can be ~L~f23~
accessed my the processor 15 when is wishes to discover who the last bus master was.

When the adapter 10 that was requesting service receives a bus grant signal on one of the fines 51, it will activate the bus grant acknowledge signal back to the arbitrator 29.
This is shown on line 52 connected to the logic unit 65. This will indicate the start of Do operation that was wrested The control logic 65 will then activate a bus slant acknowledgement to the processor 15 and keep it active so long as the bus grant acknowledgement from the adapter 7 is active This is true provided Zen error condition does not occur. inn an adapter 7 activates the bus grant acknowledgement signal, lo the arbitrator 29 in its control logic 65 will also remove the grant enable signal and activate a latch request signal for resampLing any bus request lines 50 in preparation for the next DAM cycle.

If an error condition does occur during these cycles, the processor 15 can perform an RIO operation and read the contents of the last bus master register I for diagnostic purposes. The bits in this register are grated to the system data bus over lines 59 by the multiplexer 58 when an MOE
operation to read occurs. This signal is provided on line 60 from the RIO control address decoder 28 in Figure 2.

Normal reading of interrupt vectors by the processor is provided by the logic 65 grating a signal on line 61 to enable the generation of the interrupt vector in the multiplexer 58.
The multiplexer 58 generates an interrupt vector address number based upon the adapter identification code from the encoder 56 which is received over the internal bus 63 and is utilized, together with the interrupt type from the adapter 7 over bus 64 to generate the interrupt vector number that appears on the data bus 5g. This will be described more fully below.

~.~33~S~
Arbitrator Interrupt Operation If the processor executes a level 1 or level 6 interrupt acknowledgement cycle in response to a level 1 or level 6 interrupt Loom any adapter 7, the arbitrator 29 and the adapter 7 switch to the interrupt mode of operation. In this mode of operation, the bus request signals are used to signify interrupt requests and the bus grant signals are used to signify interrupt grants. Assuming that adapter 10 and 3 have activated level 1 interrupt requests, these requests are Owed together as an indication that one or more adapters have a level 1 introit request) the request latch 55 wilt latch the state of the 18 possible bus request signals on lines 50.
This occurs when the control unit 65 activates the latch request signal as shown. The bus request signals are latched to synchronize arbitration operations so that the inputs to the encoder 56 and decoder 54 remain stable during arbitration process.

The output of the request latch 55 feeds the input of the decoder 54 which generates a grant signal based upon the highest priority active request latched into the requesting latch. It is noted that the presence of a bus request presented from one of the 18 possible adapters on lines 50 is interpreted to mean an interrupt request because the level 1 or revel 6 interrupt acknowledge line is active.

The output of the request latch 55 feeds the decoder 54 and generates an interrupt grant signal based on the highest priority active request, which in this case will be given to requester 10 which is a higher request priority than number 3.
This will be activated when the control unit 65 activates tile grant enable signal as shown and an output on one of the lines 51 will be fed back to the highest priority requesting adapter 7.

The output of the request latch also feeds the encoder 56 which generates the adapter identification code. Instead of storing this code in the last bus plaster register as is done ~L~33L So during Do operations, this code is grated directly onto the lower 5 bit portion of the data bus. this represents the identity of the unique xequestor selected by the arbitrator.

This code identifies that adapter which was given the bus grant enable (acting as an interrupt grant enable in this particular function). The granted adaptor's interrupt type code bits are also sated on bus 64 through the multiplexer 58 to the system data bus over lines 59 which are connecter on bus 13 data portion in Figure 2. This provides the 8 bit interrupt vector number that corresponds to the number of the adapter whose interrupt is being acknowledged and also gives the reason for the interrupt due to the three encoded interrupt type bits. A data transfer acknowledge generator 6 will then generate the data transfer acknowledge signal which causes the processor 15 to read in the interrelate vector number and end the interrupt acknowledgement cycle.

When the level l interrupt acknowledge signal is made inactive, the arbitrator 29 and the adapter 7 return to the DAM mode of operation.

The operation for level 6 interrupts is the same as for level 1 with the level 6 operation under control of the level 6 interrupt acknowledge signal generated by processor lo as well.

A final topic is the conditioning of the instate latches 12, 14, and 34 to accomplish the appropriate directional control of the busses 13, 10.

Tri-State Control Logic The instate driver/receiver latches 14 that are connected to the output of the processor 15 in the main control unit are shown in Figure PA. The instate driver and receivers 14 are logical devices 'hat are enabled by the condition of not bus gruel acknowledge in addition to the fact that a read or write cycle is present to control the direction I

~23~5~
of the driver and receiver pair. These instate driver and receivers 14 isolate the input and output of top microprocessor 15 or control the direction of flow as necessary. It will be noted that the data bus interface 14 in Figure PA is bidirectional since the data may flow in or out of the processor 15. However, the address driver is out only for either a read or a write. In contrast, the data bus driver receiver 14 is one direction for a read cycle and the other direction for a write cycle.
Figure SUB illustrates the instate driver receiver 12 on the data bus 13 which is bidirectional. This instate driver is enabled or disenabled by the error detection and instate control system 27. It will usually be enabled except during error recovery operations since the busses are utilized both for DOW transfers and interrupt signaling. The direction of the instate driver receiver 12 is dependent upon a variety of conditions as shown in Figure SUB. The presence of both a bus grant acknowledgement and a read cycle condition the AND
gate 70 to gate the direction of instate driver receiver 12 outbound to the adapters. The presence of a not bus grant acknowledge and a not write condition, condition the AND Nate 71 which, through OR gate 72, controls the same direction of the instate driver receiver 12 outbound to the adapters. If a writ condition is present, the instate driver 12 will be conditioned in the opposite direction towards the processor 15 or if it is an interrupt, the bus grant acknowledge will not be presort at AND gate 7G and instate will be conditioned in the direction of the processor 15.
Figure 5C illustrates the instate driver receivers 34 at the interfaces to the adapters 7. The address instate has an enable line that is always on unless a specific disable signal from the error line 36 is applied to an adapter 7 as shown in Figure ?, The presence of the enable signal at the instate driver receiver 34 on the address bus, together with the bus grant acknowledge will condition the instate 34 and address bus in the direction of from the processor 15 to the adapter 7.

ROY

For the data bus instate driver receiver 34, the presence of a bus grant acknowledge and a write condition condition AND gate 33 to control the direction from the adapter 7. An alternative is an MOE selection together w to a read condition at AND gate 75 which, through Ox gate I
controls the same direction of flow from the adapter 7. If the bus grant acknowledge (BLACK) is active and write indicator is active, the adapter is transferring data to the RIP If MOE select is active and the write indicator is not active (read), then the control unit is reading from the adapter. For instance, the control unit processor can read the adapter MY register.
Figure ED illustrates the final piece of logic for the instate driver receiver 12 on the address bus. A variety of input conditions to an OR gate 76 control setting of a disabling latch 77 to recondition the tri-stats 12 attached to the address and data bus. These conditions are shown as connected to the OR gate 76 and include a power on reset, a service adapter reset, an MOE commanded reset, a disk dump reset, a disable the external bus MOE command, a bus error or a level 4 machine check. Any of these will disable the latch 77 which turns off (disables) the T/S driver receiver 12 on the address bus and data bus.

Applicability of Invention It may be observed from the foregoing description that an extremely flexible, scanner less message concentrator and communications multiplexer results from the multiprocessor bus sharing arrangement as described. The usage of an arbitrator and allowing of Do control by the adapter processors instead of by the main control processor are significant departures in this field. These departures permit the removal of a great deal of processing workload from the main control processor it and allow the adapter processors to handle the interface tasks associated with protocols and formats of individual users.
This freeing of the processor 15 from overhead tasks permits it to run the overall control and memory access, error control and interrupt services very efficiently. The speed of the so f internal DMA/~IO data busses is such that only 2 to I of the available data bandwidth in terms of total throughput is utilized for adapter DAM transfers even with all of the adapters 7 operating at full speed. Thus, such a machine is instantly applicable to a complex communications environment in which numerous kinds of communicating devices and terminals are to be eventually connected for communication with a host CPU, perhaps at a remote location. The usual prior art multiplexes and communications controllers have adapted high speed scanners for the interface to the user's ports. The scanners are limited in throughput and are further limited by the fact that the control processor is faced with the tasks not only of overall control, but of multiplexing, demultiplexing, formatting and reformatting and all of the housekeeping chores that can be, in the present design, assigned to the interface adapter processors. In modern business operations, the plurality of possible users utilizing a number of different formats and protocols is significant and the ability to translate into a uniformly pure data stream for management by the control processor for transmission at one or more of the adapters in yet another protocol or format is extremely advantageous.

In light of the foregoing description, what is desired to have protected by Letters Patent and what is claimed in the claims appended hereto is given by way of general description and not of limitation, since numerous changes in specific components and control techniques can be applied as will be evident to those of skill in the art without departing from the basic principles and concepts of the architectural design as described.

Claims (12)

The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
1. Data communications controller apparatus for concentrating messages destined to or from a plurality of relatively lower speed users' communications ports from or to a lesser plurality of relatively higher speed communications ports, comprising:

a plurality of communications ports; and a plurality of communications port interface adapters, each said adapter being connectable with a said port;

means for connecting each said port to a said adapter;

each said adapter comprising a microprocessor for handling communications to or from a port in the port format and protocol and for initiating and controlling direct memory accesses to main memory of another processor;

a control unit;

said control unit comprising a microprocessor, main memory and a direct memory access input/output interface for handling communications between said adapters and said main memory;

address and data busses respectively interconnecting said adapters, said control unit and said main memory for communication therebetween; and said main memory being accessible through said busses via direct memory accesses initiated and controlled by said adapters utilizing said DMA interface.
2. Apparatus as described in Claim 1, further comprising;

an arbitration and control means connected to said control unit, to said adapters, and to said data bus for arbitrating among and sequentially granting access to indi-vidual, simultaneously presented requests for access to said bus and for arbitrating among and sequentially granting to simultaneously presented requests for interrupts to said control unit.
3. Apparatus as described in Claim 2, further comprising:

a memory mapped input/output interface means connected to said address bus for associating addresses presented thereto with specific locations of registers or controls for said adapters to which data may be sent or from which it may be received.
4. Apparatus as described in Claim 3, further comprising:

means for programming said adapters' microprocessors for the specific user port format and protocol requirements to which each adapter must respond; and means in each said adapter for formatting and deformatting data at said user interface into or out of the specific port protocol and for presenting pure data to or receiving pure data from said main memory via DMA requests controlled by said microprocessors.
5. Apparatus as described in Claim 1, further comprising:

a service interface means connected to one of said adapters and including a service address bus, a service data bus and a dedicated readable only memory and a machine status register and a machine check register;

said busses connecting said service interface to said memory and to said registers, said registers being connected via the said address and service data busses connected to said control unit to only receive input therefrom and being connected to said service address and data busses to only be read by said adapter connected to said service interface.
6. Apparatus as described in Claim 5 and further comprising:

a diagnostic service means including an address comparison register, a data comparison register and a function indicator register, comparison logic and an interrupt signalling means, a memory mapped I/O decoder for loading said registers, all of which being connected to said address and data busses and being connected to said control unit to be written by said control unit and read via said service busses to aid in diagnosis of errors.
7. Apparatus as described in Claim 2, further comprising:

a service interface means connected to one of said adapters and including a service address bus, a service data bus and a dedicated readable only memory and a machine status register and a machine check register;

said busses connecting said service interface to said memory and to said registers, said registers being connected via the said address and service data busses connected to said control unit to only receive input therefrom and being connected to said service address and data busses to only be read by said adapter connected to said service interface.
8. Apparatus as described in Claim 3, further comprising:

a service interface means connected to one of said adapters and including a service address bus, a service data bus and a dedicated readable only memory and a machine status register and a machine check register;

said busses connecting said service interface to said memory and to said registers, said registers being connected via the said address and service data busses connected to said control unit to only receive input therefrom and being connected to said service address and data busses to only be read by said adapter connected to said service interface.
9. Apparatus as described in Claim 4, further comprising:

a service interface means connected to one of said adapters and including a service address bus, a service data bus and a dedicated readable only memory and a machine status register and a machine check register;

said busses connecting said service interface to said memory and to said registers, said registers being connected via the said address and data busses connected to said control unit to only receive input therefrom and being connected to said service address and service data busses to only be read by said adapter connected to said service interface.
10. Apparatus as described in Claim 2 and further comprising:

a diagnostic service means including an address comparison register, a data comparison register and a function indicator register, comparison logic and an interrupt signalling means, a memory mapped I/O decoder for loading said registers, all of which being connected to said address and data busses and being connected to said control unit to be written by said control unit.
11. Apparatus as described in Claim 3 and further comprising:

a diagnostic service means including an address comparison register, a data comparison register and a function indicator register, comparison logic and an interrupt signalling means, a memory mapped I/O decoder for loading said registers, all of which being connected to said address and data busses and being connected to said control unit to be written by said control unit.
12. Apparatus as described in Claim 4 and further comprising:

a diagnostic service means including an address comparison register, a data comparison register and a function indicator register, comparison logic and an interrupt signalling means, a memory mapped I/O decoder for loading said registers, all of which being connected to said address and data busses and being connected to said control unit to be written by said control unit.
CA000481733A 1984-08-27 1985-05-16 Scannerless message concentrator and communications multiplexer Expired CA1231459A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/644,889 US4870566A (en) 1984-08-27 1984-08-27 Scannerless message concentrator and communications multiplexer
US644,889 1984-08-27

Publications (1)

Publication Number Publication Date
CA1231459A true CA1231459A (en) 1988-01-12

Family

ID=24586759

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000481733A Expired CA1231459A (en) 1984-08-27 1985-05-16 Scannerless message concentrator and communications multiplexer

Country Status (5)

Country Link
US (1) US4870566A (en)
EP (1) EP0175873B1 (en)
JP (1) JPH0666821B2 (en)
CA (1) CA1231459A (en)
DE (1) DE3587378T2 (en)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ220423A (en) * 1986-05-30 1989-07-27 Honeywell Bull Multiprocessor system; shared resource status appears on bus
US5199106A (en) * 1986-09-19 1993-03-30 International Business Machines Corporation Input output interface controller connecting a synchronous bus to an asynchronous bus and methods for performing operations on the bus
US5276845A (en) * 1988-08-25 1994-01-04 Yamaha Corporation Apparatus with multiple buses for permitting concurrent access to a first memory by a processor while a DMA transfer is occurring between a second memory and a communications buffer
EP0359860A1 (en) * 1988-09-23 1990-03-28 Siemens Aktiengesellschaft Device and method for operating at least one discharge lamp
CA2008071A1 (en) * 1989-01-27 1990-07-27 Jeffrey S. Watters Pump bus to avoid indeterminacy in reading variable bit field
JPH03122742A (en) * 1989-10-05 1991-05-24 Oki Electric Ind Co Ltd Interruption informing system
US5201055A (en) * 1989-11-03 1993-04-06 Compaq Computer Corporation Multiprocessing system includes interprocessor encoding and decoding logic used for communication between two cards through reduced addressing lines
US5247671A (en) * 1990-02-14 1993-09-21 International Business Machines Corporation Scalable schedules for serial communications controller in data processing systems
US5261059A (en) * 1990-06-29 1993-11-09 Digital Equipment Corporation Crossbar interface for data communication network
US5276684A (en) * 1991-07-22 1994-01-04 International Business Machines Corporation High performance I/O processor
CA2078913A1 (en) * 1991-12-12 1993-06-13 John J. Reilly Interprocessor communication system and method for multiprocessor circuitry
US5548762A (en) * 1992-01-30 1996-08-20 Digital Equipment Corporation Implementation efficient interrupt select mechanism
US5327558A (en) * 1992-04-30 1994-07-05 Motorola, Inc. Method for asynchronous application communication
US5797018A (en) * 1995-12-07 1998-08-18 Compaq Computer Corporation Apparatus and method of preventing a deadlock condition in a computer system
US6415392B1 (en) * 1997-12-08 2002-07-02 Ricoh Company, Ltd. Remote diagnosis system and method
GB2338791B (en) 1998-06-22 2002-09-18 Advanced Risc Mach Ltd Apparatus and method for testing master logic units within a data processing apparatus
US6412024B1 (en) * 1998-08-17 2002-06-25 Sigma Designs, Inc. Sound board emulation using digital signal processor
JP3766339B2 (en) * 2002-03-19 2006-04-12 株式会社リコー I / O control device and computer system
US6854025B2 (en) * 2002-07-08 2005-02-08 Globespanvirata Incorporated DMA scheduling mechanism
US7502873B2 (en) * 2006-10-10 2009-03-10 International Business Machines Corporation Facilitating access to status and measurement data associated with input/output processing
US7500023B2 (en) * 2006-10-10 2009-03-03 International Business Machines Corporation Facilitating input/output processing by using transport control words to reduce input/output communications
US8196149B2 (en) * 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output processing system
US8108570B2 (en) * 2008-02-14 2012-01-31 International Business Machines Corporation Determining the state of an I/O operation
US7890668B2 (en) 2008-02-14 2011-02-15 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US8176222B2 (en) * 2008-02-14 2012-05-08 International Business Machines Corporation Early termination of an I/O operation in an I/O processing system
US8214562B2 (en) * 2008-02-14 2012-07-03 International Business Machines Corporation Processing of data to perform system changes in an input/output processing system
US7899944B2 (en) * 2008-02-14 2011-03-01 International Business Machines Corporation Open exchange limiting in an I/O processing system
US7904605B2 (en) * 2008-02-14 2011-03-08 International Business Machines Corporation Computer command and response for determining the state of an I/O operation
US8312189B2 (en) * 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
US8095847B2 (en) * 2008-02-14 2012-01-10 International Business Machines Corporation Exception condition handling at a channel subsystem in an I/O processing system
US7937507B2 (en) * 2008-02-14 2011-05-03 International Business Machines Corporation Extended measurement word determination at a channel subsystem of an I/O processing system
US7941570B2 (en) * 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US7840718B2 (en) * 2008-02-14 2010-11-23 International Business Machines Corporation Processing of data to suspend operations in an input/output processing log-out system
US7840717B2 (en) * 2008-02-14 2010-11-23 International Business Machines Corporation Processing a variable length device command word at a control unit in an I/O processing system
US7917813B2 (en) * 2008-02-14 2011-03-29 International Business Machines Corporation Exception condition determination at a control unit in an I/O processing system
US8001298B2 (en) * 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in an I/O processing system
US7908403B2 (en) * 2008-02-14 2011-03-15 International Business Machines Corporation Reserved device access contention reduction
US8166206B2 (en) * 2008-02-14 2012-04-24 International Business Machines Corporation Cancel instruction and command for determining the state of an I/O operation
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US8478915B2 (en) * 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US8082481B2 (en) * 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US8117347B2 (en) * 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US7904606B2 (en) * 2008-07-31 2011-03-08 International Business Machines Corporation Transport control channel program chain linked branching
US7937504B2 (en) * 2008-07-31 2011-05-03 International Business Machines Corporation Transport control channel program message pairing
US8055807B2 (en) * 2008-07-31 2011-11-08 International Business Machines Corporation Transport control channel program chain linking including determining sequence order
US8332542B2 (en) 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
US8677027B2 (en) 2011-06-01 2014-03-18 International Business Machines Corporation Fibre channel input/output data routing system and method
US9021155B2 (en) 2011-06-01 2015-04-28 International Business Machines Corporation Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US8364853B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364854B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8738811B2 (en) 2011-06-01 2014-05-27 International Business Machines Corporation Fibre channel input/output data routing system and method
US8312176B1 (en) 2011-06-30 2012-11-13 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8549185B2 (en) 2011-06-30 2013-10-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8473641B2 (en) 2011-06-30 2013-06-25 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8346978B1 (en) 2011-06-30 2013-01-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8918542B2 (en) 2013-03-15 2014-12-23 International Business Machines Corporation Facilitating transport mode data transfer between a channel subsystem and input/output devices
US8990439B2 (en) 2013-05-29 2015-03-24 International Business Machines Corporation Transport mode data transfer between a channel subsystem and input/output devices

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3836889A (en) 1973-03-23 1974-09-17 Digital Equipment Corp Priority interruption circuits for digital computer systems
US3905023A (en) * 1973-08-15 1975-09-09 Burroughs Corp Large scale multi-level information processing system employing improved failsaft techniques
US4075691A (en) * 1975-11-06 1978-02-21 Bunker Ramo Corporation Communication control unit
US4124889A (en) * 1975-12-24 1978-11-07 Computer Automation, Inc. Distributed input/output controller system
US4079452A (en) * 1976-06-15 1978-03-14 Bunker Ramo Corporation Programmable controller with modular firmware for communication control
GB1574469A (en) * 1976-09-30 1980-09-10 Borroughs Corp Interface system providing interfaces to central processing unit and modular processor-controllers for an input-out-put subsystem
US4091455A (en) * 1976-12-20 1978-05-23 Honeywell Information Systems Inc. Input/output maintenance access apparatus
US4174536A (en) * 1977-01-21 1979-11-13 Massachusetts Institute Of Technology Digital communications controller with firmware control
US4328543A (en) * 1980-03-25 1982-05-04 Ibm Corporation Control architecture for a communications controller
US4442502A (en) * 1981-03-30 1984-04-10 Datapoint Corporation Digital information switching system
JPS5848551A (en) * 1981-09-18 1983-03-22 Nippon Telegr & Teleph Corp <Ntt> Data communication controller
US4471427A (en) * 1981-12-01 1984-09-11 Burroughs Corporation Direct memory access logic system for a data transfer network
JPS58133068A (en) * 1982-02-03 1983-08-08 Hitachi Ltd Communication controller
JPS58213336A (en) * 1982-06-07 1983-12-12 Nec Corp Communication controller
US4523310A (en) * 1983-01-28 1985-06-11 Gould Computer Systems Inc. Synchronous communications multiplexer
US4571675A (en) * 1984-01-03 1986-02-18 Texas Instruments Incorporated Microprocessor device with integrated auto-loaded timer

Also Published As

Publication number Publication date
EP0175873A3 (en) 1988-08-17
JPS6155761A (en) 1986-03-20
DE3587378T2 (en) 1993-12-09
EP0175873B1 (en) 1993-06-02
US4870566A (en) 1989-09-26
EP0175873A2 (en) 1986-04-02
DE3587378D1 (en) 1993-07-08
JPH0666821B2 (en) 1994-08-24

Similar Documents

Publication Publication Date Title
CA1231459A (en) Scannerless message concentrator and communications multiplexer
EP0173809B1 (en) Multiplexed interrupt/dma request arbitration apparatus and method
US4627054A (en) Multiprocessor array error detection and recovery apparatus
EP0204960B1 (en) Multiple port integrated dma and interrupt controller and arbitrator
CA1241766A (en) Communication controller using multiported random access memory
CA1251572A (en) Multiple port service expansion adapter for a communications controller
US4488231A (en) Communication multiplexer having dual microprocessors
US3673576A (en) Programmable computer-peripheral interface
US4608631A (en) Modular computer system
EP0106084B1 (en) Modular computer system
US4751634A (en) Multiple port communications adapter apparatus
US5469542A (en) Serial diagnostic interface bus for multiprocessor systems
US5065314A (en) Method and circuit for automatically communicating in two modes through a backplane
EP0333593B1 (en) A data processing system capable of fault diagnosis
GB2127997A (en) Multiprocessor computing system featuring shared global control
CA1169158A (en) Communication multiplexer variable priority scheme
EP0049158B1 (en) I/o data processing system
JPS626269B2 (en)
JPH0143336B2 (en)
JPH04266147A (en) Bus adaptor device
JPH01220054A (en) Bus control integrated circuit
JPH02297650A (en) Receiver
JPH04101539A (en) Line control apparatus
JPH01100652A (en) Direct memory access controller
JPH02291746A (en) Data terminal communication equipment

Legal Events

Date Code Title Description
MKEX Expiry