CA1115803A - Distributed multiprocessor communication system - Google Patents

Distributed multiprocessor communication system

Info

Publication number
CA1115803A
CA1115803A CA322,833A CA322833A CA1115803A CA 1115803 A CA1115803 A CA 1115803A CA 322833 A CA322833 A CA 322833A CA 1115803 A CA1115803 A CA 1115803A
Authority
CA
Canada
Prior art keywords
message
processor module
data
module
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
CA322,833A
Other languages
French (fr)
Inventor
Bernard J. Verreau
Joseph C. Antonaccio
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.)
NCR Voyix Corp
Original Assignee
NCR 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 NCR Corp filed Critical NCR Corp
Application granted granted Critical
Publication of CA1115803A publication Critical patent/CA1115803A/en
Expired legal-status Critical Current

Links

Classifications

    • 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/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/372Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a time-dependent priority, e.g. individually loaded time counters or time slot
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54541Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme using multi-processor systems
    • H04Q3/5455Multi-processor, parallelism, distributed systems

Abstract

Title of the Invention DISTRIBUTED MULTIPROCESSOR COMMUNICATION SYSTEM
Abstract of the Disclosure A distributed multiprocessor communication system, wherein the central processing unit (CPU) is relieved of the burden of bus management by a scheme which multiplexes the interprocessor module communications bus, to which all pro-cessors are guaranteed access, so that only an addressed CPU may be interrupted from performing its dedicated data processing function. Associated with each independent processor is a communications interface unit or communications network routing unit which relieves the processor of the task of decoding communications on the interprocessor or intermodule communica-tions bus and, in addition, upon decoding its address and buffering message data, transmits a "handshake" signal over the bus back to the sender during a designated time slot, thereby informing the sender that the transmitted message was actually received. Moreover, if one module is in a high priority mode of communication with another module, all lower priority messages are prevented from entering that particular module;
yet, any other pairs of modules may still communicate. In other words, no module can possibly tie up the bus, preventing other modules from communicating.
Once the data is placed onto the bus, under CPU
direction, the transmission, reception, priority discrimination, and handshake are completely independent of CPU operation so that the time required to transfer a byte of data is independent of any processor in the system.

Description

liiS~'~3 Field of the Invention The present invention relates to a distributed multi-data processor communication system, and is particularly direct-ed to a scheme for carrying out communications between processor modules distributed along a commonly shared communications bus without the necessity of continuous monitoring o~ the system communication channel by individual processors to which messages may be addressed.
Back~round of the Invention With the development and expansion of computer terminal equipment, such as that employed in electronic point-of-sales terminals, the demand for tenminals which are capable of performing a plurality of specialized tasks has resulted in the creation of equipment which contains a plurality of micro-processors, each of whiQh may bé tailored to perfonm one specific tas~ within the overall system. Concomitant to this multi-processor configuration i8 the need for a communication scheme which affords rapid, real-time communications between the independent processors. In conventional systems, each processor, in addition to performing one dedicated function, has been burdened with the task of looking for intermodule communications to which it must respond.
Typically, data is plsced on a common intermodule bus to which each processor module in the system is coupled. This data contains the address of a target module for whom the particular message is intended and all CPUs within the system decode the address portion of the message in order to ascertain for whom the data is intended. This means that all CPUs must continually look at the intermodule bus and decode data; yet, only that module for which the data is intended will respond.
This conventional approach is time consuming, the microprocess-or ~eing inherently too slow to perform this task efficiently, and usually a great deal of software is re~uired in order to distinguish between addresses or commands, and each CPU may be unnecessarily burdened.
Now, various attempts have been proposed to relieve the central processor of these communication channel monitoring duties. For example, the United States patent to Beausoleil et al. 3,400,372 describes a multi data processing system wherein the interfacing of two processors i8 effected through a processor-to-processor adapter, which becomes coupled to each computer when an interprocessor communication is to proceed.
This technique may be termed a qussi-third party control scheme ~ince each processor communicates by way of the third party (the channel adapter) under CPU control. The system is limi~ed in that it is strictly limited to interfacing two processors, the communic~tion itself is dependent upon interrupt acknowledgement before proceeding and, once begun, both the transmitting pr~cess-or and the receiving processor must suspend all other task until the message is complete.
The use of a third party interfAcing scheme is also disclosed in the United States patent to Broderick et al.

, . _i l~lS~ ~3 3,483,520 which describes a "mail-box" technique of routing multi-processor communications. All communications are routed through a central control sub-system (CCS) which contains all the interfaces for the processors that fonm part of a "star"
conf~gured network, All communications depend on one element, the CCS, so that if it fails, all communications cease. Such an approach has ob~ious shortcomings.
The case of a common bus scheme to perform data trans-fers among individual modules units is described in the United States to Bergh et al. 3,820,079 which discloses a multi-process~ng computer wherein communications within one computer are conducted by way of module control units~ each of which conmunicates with other module control units, The modules them-selves are not independent processors, however, and because of a priority scheme through which,use of the bus is defined, intermodule communications are not guaranteed, but are suS~ect to bus availability. This problem of bus-lockout also exists in the bus communication system described in the United States patent to Schlaeppi 3,480,914 which describes a scheme wherein individual bus adapters are employed for each processor. Each adapter or interaction control unit responds to commands appearing on the common bus transmitted frnm other adapters to permit seizure of the bus. It is not until an interaction control unit has completed its use of the bus that control of the bus may pass to another adapter.
A further system in which a common bus is used for ~ ~ ~ 5 ~ ~ ~

multi-module coupling is described in the United States patent to Trantanella 3,470,542. However, rather than relate to communications between independent processors, this system is directed to the transmission of signals between module units such as keyboards, printers memory, etc.; at any given time, one of the modules assumes control of the entire system.
Thus, although various prior art systems include techniques developed to control communications between various units in a digital data handling system cver a common communica-tion channel, such systems have not provided an efficient schemefor guaranteeing communications between multiple processors over a common communication link, while also relieving the individual processors of having to continuously monitor the channel for communications, thereby impeding intended dats processing functions.
Summa of the Invention ry In accordance with the present invent~on, in a distributed multiprocessor communication system the CPU is relieved of the burden of bus management by a scheme wh~ch multiplexes the interprocessor module communications bus, to which all processors sre guaranteed access, so that only an addressed CPU is allowed to be interrupted from perfonming its dedicated data process~ng function. Associated with each independent processor is a communications interface unit or cummunications network routing unit which relieves the processor of the task of decoding communications on the interprocessor or '~

15 lS ~

intermodule communications bus and, in addition, upon decoding its address and buffering message data, generates a handshake over the bus back to the sender during a designated time slot, there~y informing the sender that the transmitted message was actually received. Moreover, if one module is in a high priority mode of communication with another module, all lower priority messages are prevented from entering that particular module; yet, any other pairs of modules may still communicate.
In other words, no module can possibly tie up the bus, prevent-ing other modules from communicating.
~ ransmission, reception, priority discrimination, andhandshake are completely independent of CPU operation once the data is placed on the bus system, so that the time required to transfer a data byte is independent of any processor in the system. The invention is further directed to a distributed multi-data processor system wherein a plurality of processor modules, each of which contains a data processor, are distribu-ted along a communication link by way of which the transfer of information from one processor module to another processor module may take place, and wherein the receiving processor module will acknowledge receipt of the information characterized in that each processor module includes means for repetitively generating a plurality of time-slots each preassigned to one of said processor modules; first means, responsive to a request from said data processor for the transmission of a message to another processor module, for recognizing its preassigned time-slot and transmitting a message character during its preassigned ~ `

11158~3 time-slot, said message character containing the address of said another processor module and a priority code defining the priority level of the message character; second means, coupled to said first means, for monitoring said communication link for acknowledgement of receipt of said message character by said another module, and enabling said first means to continuously transmit said message character during each successive occurrence of said preassigned time-slot until said another module acknowledges receipt of said message character and means responsive to receiving the priority code of the message character for altering the priority level of all subsequent message characters which will be accepted by said another module.
Another aspect of the invention is in a distributed multiprocessor system wherein a plurality of processor modules are distributed along a communication link by way of which the transfer of information from one processor module to another may take place, a method of controlling the transmission and reception of information conveyed by way of said communication link between processor modules, comprising the steps of assigning prescribed address codes to each of the processor modules in said system; generating said address codes in each of the processor modules during respective intervals of time;
for each respective processor module from which the trans-mission of information to another processor module is to take place, transmitting a message character over said communication link only during an interval of time when the generated address code corresponds to the address code assigned for said each - 6a -~,.

13 158~3 respective processor module, said message character containing the address code of the processor module for whom the message character is intended and a priority code defining the priority level of the message character; at said each respective processor module, monitoring said communication link for message characters and causing data included in a message character which contains the address of said each respective processor to be stored in that processor module and altering the priority level of all subsequent message characters which will be accepted from the transmitting processor module upon receiving the first message character.
Brief Description of the Drawings Figure 1 is a block diagram of a distributed multi-processor system having an interprocessor communications bus;
Figure 2 is a block diagram of components of which an individual processor module in the distributed multiprocessor system shown in Figure 1 may be comprised;
Figure 3, comprising Figures 3A and 3B, is a schematic diagram of the transmitter portion of a communications network routing (CNR) unit contained within an individual processor module; and Figure 4, comprising Figures 4A and 4B, is a schematic .

- 6b -lllS~3 diagram of the receiver portion of a communications ne~work routing (CNR) unit contained within an ~ndividual processor module.
Detailed Description A distributed multiprocessor network is illustrated in Figure 1 and may be comprised of an N number of independent processor modules 11-1 to ll-N, each of which modules is assigned the task of performing some specified function, through the use of its central processing unit (CPU), and which may be called upon by another module or $tself may request another module to perform its own specified functim in the course of system operat~on. The processor modules are distributed along an interproces~or bus 10 and communicate wlth one another through this commonly shared bus 10. In addition to a central processing unit, memory, and input/output (1/0) unit, each processor module may contain further functional proce~sing units, such as keyboard control units coupled to a peripheral ~eyboard/
display. Morecver, the 1/0 unit of each module may be coupled to a prescribed peripheral device, such as a printer or tape-deck, for example. Each individual processor modul 11-1 to ll-N
may be configured to be different from the rest 80 that the overall system may be tailored by a combinat~on of those processor modules whose functions meet the criteria demanded by the user. Thus, a system may contain as few as one processor module, but usually contains a plurality of such modules whose total ~unctional performance meets a multitude of user needs.

lllS8~3 In order for a multiprocessor system to perform each of its intended functions, information must be capable of being transmitted to and from the various processor modules which make up the system, so that each module may cooperate with the other processor modules of the overall system and enable the system eo perform all transactions f~r wh~ch it has been designed.
Since the transmission of data, in and of itself, between processor modules, involves time not devoted to information processing, a reduction in the time required to effect communi-cations between modules and reliev~ng the processor module CPUof the t~sk of overseelng and monitoring data transmission and reception are sought-after performance features for efficient system operation. These performance features sre ach~eved ln accordance with the pre~ent invention by incorporating into each proce~sor module a further functional unit, hereinafter referred to as a communicatlon network routing (CNR) unit, which relieves the CPU of the tas~ of mon~toring communications between separate processor modules and which operates ~o as to guarantee each ~rocessor module the same opportunity to use the interpro-cessor bus.
A block diagram of a typical processor module 11-1 to ll-N and the incorporation of a CNR into each processor module is illustrated in Figure 2~ As is shown therein, a CPU 21, I/0 unl~ 22, memory 23, and CNR 24 are coupled to an intr~processor bus 25 by way of which data, address, and control information are transmitted within the module itself. Intraprocessor bus 25 ~158~3 and the connect~ons to it may be of a conventional configuratlon and, as such, do not form the sub~ect matter of the present invention. Rather, the scheme by way of which a processor module communicates with another processor module is the sub~ect matter to which the invention is directed and, accordingly, the followlng description will be directed to the details of the CNR
and its operation in effecting transmissions between processor modules 11-1 to ll-N over intermodule bus 10.
The CNR 24 within each processor module responds to re~uests from its associated CPU 21 for communication with another processor module and also monitors the intermodule bus 10 for transmissions from other modules. For this purpose, esch CNR contains transmitter, receiver, and associated control log~c circuitry. In order to facilitate an understanding of the responsibilities of each CNR, the transmitter and receiver por-tions of a CNR will be separately descr~bed, followed by an explanation of system operation for an exemplary intermodule communication carried out by the CNRs of the transmitting and receiving processor modules, respectively.
CNR Transmitter Confi~uration Referring now to Figure 3, there are shswn the circuitry c~mponents of the transmitter portion of a CNR 24 and the bus connections for both intramodule and intermodule communications. The CNR control circuitry which is common to ~oth the transmitter and receiver portions of the CNR is illus-trated in each of Figures 3 and 4 in order to facilitate a _ g _ '. ~

l~lS~3 complete description of each of the transmitter and receiver operations, and duplication of the control circuitry components in Figures 3 and 4 is accompanied by the ssme reference numeral designations.
The intraprocessor bus 25, by way of which communica-tions within the processor module itself are carried out, is coupled via four separate ports 49 through 52, respectively designated a~ PORTs A, B, L, and K. PORT A 49 is a bidirectional dats bus port which couples the data-conveying portion of bus 25 via lead 83 to data register 48 for buffering data prior to transmission. In the exemplary illustration shown, data register 48 is an eight-bit storage regLster, the contents of which are coupled Vi8 drivers 59-66 over lines 93-100, respectively, to the data-conveying portion of intermodule bus 10. Of course, the number of data bits is not limited to eight, but may be expanded or reduced to meet system design. The data itself, which is coupled to PORT A via intraprocessor bus 25, may be stored in memory 23 (Figure 2) prior to transmission and read out a character at a t~me to be temporarily retained in register 48 for tranæmission. PO~T B 50 is a bidirectional control bus port ~or controlling the pr~ority and destination of data from one processor module's CN~ to another processor module's CNR. Lead 82 represents a ~our wire path from PORT B to priority/I.D.
(identification) register 47. Three of the wires carry a three bit binary code designating the address of the CNR for whom the transmission is intended, while the fourth bit is a priority bit c 1 115~ 3 representative of ~e mode of operation of the CNR. The contents of reg~ster 47 are coupled to intermodule bus 10 via drivers 55-58 and outpu~ bus leads 89-92.
PORT L 51 is a pulsed CNR control port which couples control signals from the CPU to various logic elements of the transmitter circuitry necessary for operation of the CNR. PORT
K 52 is a latched data CNR control port for programming the identity of the processor module relative to the other modules in the system as assigned during initialization of the system.
A three bit binary code generated at initialization is supplied over line 73 to CNR I.D. register 37. A further output of PORT
K 52 is coupled via line 71 to driver 33 which is coupled to the carry output of a three bit binary counter 32 of the control logic portion of the CNR. The carry output of the counter 32 of one of the CNR units in a system is employed to control clock synchronization of all the other CNRs which are coupled to the intermodule bus 10; the occurrence of this "bus sync" signal is ind~cated to e~ch processor of the system via a designated bit of PORT K which is coupled to driver 33 and inverter 34 via line 71. The output of inverter 34 controls driver 35, the output of which driver c~ntrols the resetting of divider 31 and counter 32.
The processor module chosen as the bus sync control module has that bit of PORT K to which line 73 is coupled set to cause the carry output of counter 32 to be coupled via line 69 to the interprocessor bus 10 for use by every other CN~, while the corresponding bit of PORT K of the other processor modules is ~.

~ 5~'~ 3 set to inhibit the coupling of their counter 32 carry outputs to the interprocessor bus 10, while enabl~ng driver 35 to couple the carry signal from the bus sync control module's counter 32 to be applied via line 70 to the reset inputs of their respective divider and counter circuits 31 and 32.
As has been mentioned previouslyt one of the advantageous features of the present invention is thst each processor module is guaranteed the same opportunity to transmit information to another processor module. To tkis end, the fundamental control of the transmission of information frum a CNR is effected by the n-bit counter 32 ~three bits in the example illustrated~ which counts clock pulses at a prescribed rate and recycles at capacity to begin counting anew (as a carry signal is generated). The various binary codes established by the n-bits of the counter 32 correspond to the respective addresses of the processor modules ll-l to ll-N of the system.
Thus, for a three bit counter 32, there are a maximum of eight codes that can be assigned as addresses of processor modules between which communications may take place. It is, however, to be understood that the invention is not limited to a system having a processor module capacity of eight, but may be expanded or reduced as the case demands, simply by varying the count capacity and corresponding I.D. codes for the processor modules.
Referring again to Figure 3, the n-bit counter 32 i8 depicted as a three-bit binary counter which counts clock pulses supplied o~er line 68 from the divider circuit 31. Divider cir-l~lS~

cuit 31 divides the processor system clock frequency supplied over line 67 (wh~ch clock controls the overall processor operations at a relatively higher rate~ by a suitable number to thereby sequentially step through the addresses (or time 810t8) ass~gned to the respective CNRs, which permits the com-pletion of necessary intramodule operations for information transmission (or reception). In order that a particular CNR
24 will know when to transmit, a comparator 36 is coupled via lines 110-112 to the respective stages of counter 32 and via lines 113-115 to the respective stages of register 37. When the contents of counter 32 match the processor I.D. stored in register 37, comparator 36 supplies an output over line 84 to one input of AND gate 38. The other input of AND gate 38 is coupled via line ~ to the Q output of TRA~SMIT "ON" flip-flop 39. TRANSMIT "ON" flip-flop 39-i~ employed to turn-on the transmitter. Namely, unless flip-flop 39 is in the set state, that CNR i8 incapable of sending data to another processor module. The set input of flip-flop 39 is coupled via line 75 to a control logic circuit 150, while its reset input is coupled to the output of an OR gate 40. Control logic c~rcuit 150 i8 coupled to the intraprocessor system bus 2S and to the CPU 21 via RESET and SYNC lines 72 ~nd 152, and ~enerates various control signals in accordance with the system clock 80 that the operation of the transmitter, as well as the receiver portion of the CNR, may proceed in a prescribed sequence. In order to provide a concise illustration and description of the invention ~3 the details of the control logic circu~t 150, per se, have not been shown, particularly since its implementation may consist of straightforward combinational logic, given the input and output signals described herein. Basically, control logic c~rcuit 15~ supplies a signal on line 74 to load the data applied to PORT A in register 37. It also supplies a signal over the line 75 to the set input of TRANSMIT "ON" flip-flop 39, to the load or write input of register 47, and to one input of an OR gate 43, the output of which gate 43 is coupled to the reset input of a TRANSMIT ACKN~WLEDGE flip-flop 42. TRANSMIT
ACKNOWLEDGE flip-flop 42 serves the purpose of storing an indication of whether or not a transmitted character has been received or captured by the processor module for whom the message was intended.
The Q output of TKANSMIT "ON" flip-flop 39 i8 coupled over line 85 to one input of AND gate 38 so that, in response to an output over line 84 from module I.D. comparator 36, and with TRANSMIT "0~" flip-flop 39 having been set, AND gate 38 will supply an enable signal via line 86 to AND gate 53 and driver circuits 54-66. Driver 54 is hardwired to a "1" bit input and its output is coupled to the intermodule communication bus 10 via line 88, to indicate that the contents of the priority bit, the destination receiver I.D. bits, and the data bits of the intermodule communication bus 10 repre3ent valid information.
The second inp~t to AND gate 53 is coupled to a "handshake"
lead of the interprocessor bus 10 via line 87. If the processor ,.

~ ~ 15~3 module for wh~m the transmitted information is intended actually receives (or captures) the transm~tted data, it will indicate receipt of the data via the handshake lead, thereby causing line 87 to go high and an output signal will be generated by AND gate 53 to set TRANSMIT ACKN~WLEDGE flip-flop 42, causing its Q output to go high and thereby inform the transmitting module of recei~er data capture. The output of flip-flop 42 is coupled over line 81 to one-shot or delay circuit 41, one input of AND gate 46, and to one bit of PORT B 50. The output of delay 41 is coupled over line 101 to one input of OR gate 40.
After a prescribed inter~al, subse~uent to the receipt of a handshake signal, which sets TRANSMIT ACKNOWLEDGE flip-flop 42, one-shot 41 generates an output which is coupled via OR gate 40 to reset flip-flop 39. Flip-flop 39 is also reset ~ia OR gate 40 by the processor reset signal coupled over line 72 from the CPU. This processor reset signal is further coupled via OR
gste 44 to the reset input of TRANSMIT INTERRUPT ENABLE flip-flop 45. TRANSMIT INTERRUPT ENABLE flip-flop 45 latches a control input from PORT L to either enable or inhibit the gating of a transmit acknowledge signal pro~ided at the Q output of TRANSMIT ACKNCWLEDGE flip-flop 42 via AND gate 46 o~er line 70 to the CPU. If an interrupt signal is to be coupled to the CPU
upon the complet~on of a data transfer, that bit of PORT L
which is coupled to line 80 is enabled, thereby setting TRANSMTT INTERRUPT ENAB~E flip-flop 45 and enabling AND gate 46.
If an interrupt signal is not to be coupled to the CPU upon the 8~3 completion of a data transfer, that bit of PORT L which is coupled to line 79 is enabled, thereby resetting TRANSMIT
INTERRVPT ENABI.~ flip-flop 45 via OR gate 44 and disabling AND
gate 46. PORT L also includes a pair of additional bit signals coupled to lines 77 and 78 for respectively resetting TRANSMIT
"ON" flip-flop 39 via OR gate 40 and TRANSMIT ACKNoWLEDGE
flip-flop 42 via OR gate 43. The setting of that bit of PORT
L to which line 77 is coupled disables the transmitter, since TRANSMIT "ON" flip-flop 39 is reset, while the setting of that blt of PO~T L to which line 78 is coupled clears or resets the TRANSMIT ACKNCWLEDGE flip-flop 42.
CNR RECEIVER CONFIGUATION
-Referring DaW to Figure 4, there are illustrated the circuitry camponentæ of the receiver portion of the CNR and the bus connections for both intramodule and intermodule communica-tions. As was the case with the connections between the intra-processor bus 25 and the logic elements of the transmitter, the transfer of address, data, and control signals between the CNR receiver and the intraprocessor bus 25 is effected through PORTS A, B, L, and K. PORT A 49 is coupled via lines 177 to data register 176, into which data from another proces~or module 11-1 to ll-N is loaded by way of data inputs 168-175 from the interprocessor bus 10. Thus, whereas in the transmitter, bidirectional data PORT A is used to couple data on the bus 25 to outgoing data register 48 (Figure 3), in the receiver such PORT A couples ;ncoming data, which has been latched in register ~, 1 ~ 1 5 ~'~3 176, onto bus 25. The data-conveying portion of bus 25 may be coupled via the CPU 21 to a message buffer portion of memory 23 (Eigure 2) assigned for storage of data characters in sequential order as they are received, so that they may be suitably processed by the receiver's CFU.
PORT B 50 is coupled via lines 204 to priority/I.D.
register 192, via line 215 to the Q output of PRIO~ITY MODE
flip-flop 199, and via line 203 to the Q output of RECEIVER
ACKNoWLEDGE flip-flop 202. PRIORITY MODE flip-flop 199 governs whether or not an incoming message character may be accepted or captured by the receiver. To this end, PRIORITY MODE flip-flop 199 latches the priority which incoming message characters must possess in order to be captured. When PRIORITY MODE flip-flop 199 is in the reset state, characters of either low or high priority may be captured. However, when PRIORITY MODE flip-flop 199 iB in the set state, only message characters having high priority may be captured. Since priority protocol of the present communication system establishes the first character of a message as a low priority character, and all subse~uent 2Q characters as high priority characters, PRIORITY MODE flip-flop 199 is set upon capture of the first character of a message thereby preventing entry of messages from other processor modules until the communication presently ~eing rece~ved is completed.
RECEIVER ACKNoWLEDGE flip-f lop 2Q2 ~s employed to indicate whether or not the receiver has captured a message ~, l~S~3 ~3 c~aracter. Normally, RECEIVER ACKN0WLEDGE flip-flop 202 is reset, but becomes set upon capture of a message character.
This acknowledgement of receipt of a message character, in turn, is indicated to PORT B and may cause a maskable interrupt to be supplied to the CPU. Thus, the states of the stages of register 192 and flip-flops 199 and 202 are coupled through PORT B to intraprocessor bus 25 to inform the CPU of the address of the transmitting processor module, whether data from that transmitting processor module may be accepted (i.e. the priority of the message character), and whether the data is being accepted. PORT L 51 is used to couple control signals from the CPU to various logic elements of the receiver. These control signals are used to preset the states of flip-~lops 191, 199, and 208 via lines 195, 200, 209, and 212. When the bit to which line 195 is connected is set, the receiver is effectively turned off by the resetting of RECEIVER "ON" flip-flop 191 via OR gate 194 and reset control line 193. Namely, RECEIVER "ON"
flip-flop 191 latches the permitted operating condition of the receiver. When RECEIVER "ON" flip-flop 191 is set, the receiver is effectively turned on and monitors the interprocessor bus 10 for message characters addressed to it. When RECEIVER l-o~"
flip-flop 191 is reset, the receiver is effectively turned off and cannot accept message characters addressed to it.
When the bit of PORT L to which line 200 is connected is set, PRIORITY MODE flip-flop 199 is reset. The respective bits of PORT L to which lines 209 and 212 are coupled are used .~ ~

~ '3 to reset or set RECEIVER INTERRUPT ENABLE flip-flop 208 and thereby control whether an interrupt will be coupled to the CPU
via line 207, AND gate 205, and output line 206, when flip-flop 202 ~s set as the receiver acknowledges receipt of a data tranSmiSBion, Namely, RECEIVER INTERRUPT ENABLE flip-flop 208 is a controllable mask for interrupt signals to the CPU which are generated whenever there is a data capture. PORT K 52 is again used to load the address assigned to the particular CNR
into I.D. register 37 via line 73 and the bus sync control bit s~atus to the control circuitry via line 71.
I.D. register 37, which is common to the CNR trans-mitter and receiver (Figures 3 and 4), stores its identifying address supplied via PORT K and couples the bit values defining the address over lines 113-115 to comparator 156 (Figure 4).
Comparator 156 i8 coupled via input leads 160-162 to the de~tin-atlon I.D. bits of the interprocessor bus 10 and generates an output on lead 188 whenever the address defined on input~ 160-162 matches the address contents of register 37, whereby the receiver will be infonmed that another processor module 11-1 to ll-N is transmitting a message to it.
Output lead 188 is coupled to an input of AND gate 178. Another input of AND gate 178 is coupled via line 68 to the output of divider 31, so that AND gate 178 is enAbled in synchronism with the CNR clock. Input lead 189 of AND gate 178 is coupled to the bus acti~e bit of the interprocessor bus 10 indicating the validity of data, priority, and I.D. information 1115~3~3 on the bus 10. Still a further input lesd 187 of AND gate 178 is coupled to the Q output of RECEIVER "ON" flip-flop 191, while a final ~nput lead 186 of such gate 178 is coupled to the output of OR gate 185 One input of OR gate 185 is coupled via lesd 190 to the Q output of PRIORlTY MODE flip-flop 199, while a second input of OR gate 185 is coupled via lead 184 to the out-put of AND gate 183. One input of AND gate 183 is coupled to the Q output of PRIORITY MODE flip-flop 199 while another input i8 coupled via lead 182, driver 181, and lead 167 to the priority bit of the interprocessor bus 10. The output of driver 181 i8 al80 coupled via lead 182 to thè priority bit stage of register 192. AND gate 178 i8 the basic operational control gate for the receiver (Figure 4) and permits or inhibits recei~er operation depending upon whether the receiver has been enabled, whether it has been addressed by another CNR, and whether or not it is still in the process of receiving informa-tlon from another CNR. In this latter instance, the priority mode will be such that data will continue to be accepted only from that transmitting CNR from which data has already been accepted by the receiver, until the communication has been completed or aborted. Namely, the already-communicating processor module 11-1 to ll-N has preference (by virtue of the high pr~or1ty mode of its message character) over all others attempting to communicate, so that even if comparator 156 generates an output on lead 188 indicating that a CN~ of another processor module has addressed a communication to ~t, gate 178 ~ 1 ~ 5&~3 may be d~sabled by PRIORITY MODE flip-flop 199 indicating that the newly transmitting CNR does not have high priority and therefore mNSt wait until the pnDcessor module which has pr~ority has finished transmitting a complete message.
The output of AND gate 17~ is coupled over line 179 to driver 180, the output of which is coupled via lead 166 to the "handshake" bit of interprocessor bus 10. Lead 179 is further coupled to load or write inputs of registers 192 and 176, and to a delay or one-shot 198, The output of one-shot 198 is coupled over lead 196 to OR gates 197 and 194. After a prescribed period of time, subsequent to receipt of an output from AND gate 178, one-shot 198 couples a pulse via OR gates 197 and 194 to respectively set PRIORITY MODE flip-flop 199 and reset RECEIVER "ON" flip-flop 191. The delay provided by one-shot 198 is sufficient to cover the time span of an individual time slot during which data from a transmitting CNR
is sccepted or captured in the receiving CNR, a receiver acknowledge signal is latched by flip-flop 202, an interrupt i8 coupled to the CPU~ and a handshake signal is sent back to the transmitting processor module. OR gates 194 and 197, as well as OR gates 201 and 211, are also coupled to the processor module reset line 72 which presets the stages of each of flip-flops 191, 199, 202, and 208 during initialization.
The set input of RECEIVER "ON" flip-flop 191 is coupled over lead 154 to control logic circuit 150, so that the receiver portion of the CNR may be effectively turned on to ~ , ~

1115~3 look for incoming messages under control of its CPU. The signal on lead 154 is also coupled via OR gate 201 to ~he reset input of RECEIVER ACKNoWLEDGE flip-flop 202. The Q output of RECEIVER ACKNaWLEDGE flip-flop 202 is coupled over the lead 203 to AND gate 2~5 and to a preselected bit of PORT B 50.
When RECEIVER ACKNoWLEDGE flip-flop 202 is set by an output gignsl over line 179 from AND gate 178, indicating that this CNR has been addressed and is accepting data, a receiver acknowledge indication is supplied to PORT B to provide status information for non-interrupting receiver routines or shared usage of an interrupt vector. Depending upon whether the interrupt enable bit has been set via PORT L, a receiver interrupt signal may be coupled to the CPU via AND gate 205 in accordance with the preset state of RECEIVER INTERRUPT
ENABLE flip-flop 208.
PERATION
Considering now the operation of the intermodule or interprocessor communication system in accordance with the present invention, let it be assumed that an exemplary terminal is configured to consist of five processor modules 11-1 through 11-5. Every terminal will contain at least one processor module having the basic components shown in Figure 2, and usually one or more additional processor modules which, in addition to comprising the basic components shown in Figure 2, may be co~pled with optional peripheral units such as tape-decks, printers, cash drawers, etc. For the purpose of providing lllS&~,3 a systematic technique by way of which intermodule cammun~ca-tions are to proceed, one processor module of each terminal, hereinafter referred to as ~ main processor board (MPB), may be given the task of assigning addresses or time slots to the various processor modules of which that terminal is comprised.
Every other processor module of the terminal will be herein-after designated as an optional peripheral functional (OPF) module. Thus, for the five module example chosen, one MPB
will be distributed together with four OPFs along the inter-module bus 10.
Since the manner in which addresses may be assignedto the various processor modules i8 essentially a special purpose data processing operation, and i8 not necessary for an understanding of the present invention, a description of this particular task which may be carried out by the CPU of the MPB
will be omitted. Let it be assumed that each of the five pro-cessor modules of the system has been assigned an address or time slot. By virtue of established protocol, the MPB may be assigned the address 000 with the remaining addresses 001 to 100 being sequentially assigned to up to the four OPFs. It is understood that if the system contained eight processor modules the MPB may be assigned the address 000 with the remaining addresses 001 to 111 being sequentially assigned to the seven OPFs in the system. Preferably, the addresses are assigned accord~ng to an established rank given to the particular type of module incorporated in the system as established by a 1115~

predetermined format assigned to the overall functions andlor peripheral equipment coupled to the mod~le. Now, in the exemplary ~llustration of the operation of the system, let it be sssumed that OPFs 001 and 100 wish to communicate with, or send a message to, OPF 010. These messages may be requests for the transfer of information from the addressed CPU, the use of its associated peripheral equipment, a request for its assigned processor operation, etc. The present invention is not directed to the data processing operstions of the modules themselves, but rather with the manner in which messages are conveyed between modules, so that a description of the contents of a message is not necessary for an understanding of the communication technique involved. However, for purposes of illu~tration, let it be assumed that a typical message is arranged such thst the first data word comprises a message control character containing the message length (the total number of data words making up the message so that the message buffer in the addressed processor module can assign successive memory locations for storage and will know when the last message character has been recelved, thereby concluding the message).
Now, initially, each CNR may be cleared 80 as to be ready to receive a message from another processor module which may require the assistsnce of one or more of the independent processor modules and/or any associated peripheral devices of the system. After initialization, each CNR l.D. reg~ster 37 will be loaded with an address corresponding to one of the eight ~ ~ ~5~

three-bit binary numbers or clock counts to be periodically generated by counter 32. These b~ts are loaded via lines 73 from PORT K. Thus, the CNR I.D. register 37 for OPF 001 will contain binary word 001. Simllarly, the CNR I.D. registers 37 of the other four modules, including the MPB, will contain their time slot-representative addresses. Assuming that the control circuitry from the MPB also is used for bus sync pur-poses, line 71 from PORT K for each of the OPFs of the system will not be set, so that the reset signal for counter 32 and div~der 31 i8 derived via the bus sync bit of the interprocessor bus 10 from the MPB (having time slot or address I.D. 000) c~upled thereto via line 69, enabled driver 35, and reset input line 70.
Looking now at the state of the transm~tter and receiver portion~ of each module, since it has been assumed that only processors 001 and 100 wifih to transmit, then the other CNRs have their transmitters turned off while all CNRs are placed in a receiver ready conditi~n, i.e. they are caused to monitor the interprocessor bus 10 for messages. Therefore, the transmitters of the MPB (I.D. = 000) and OPFs 010 and 011 are turned off, while the transmitters of OPF8 001 and 100 are turned on and loaded with the first character of a message to ~e transmitted to OPF 010. The conditions of these respective transmitters and receivers is as follows.
TRANSMITTER TURNED OFF
Originally, at initialization, the RESET line 72 from - 25 ~
-'. '~' ~ 3 the CPU had cleared each of the TRANSMIT "ON" flip-flop 39, TRANSMIT ACKNOWLEDGE flip-flop 42, and TRANSMIT INTERRUPT
ENABLE flip-flop 45. Thus, control AND gates 38~ 53, and 46 are disabled~ preventing transmitter operation. No control information need be applied via PORT L since the transmitter c~rcuitry has already been e~fectively disabled.
TRANSMITTER READY
Since OPFs 001 and lOO wish to transmit messages to OPF 010, their respective transmitters are to be loaded with the destination I.D., applicable priority, and the first word of data to OPF 010. Thus, PORT A of each of OPFs 001 and lOO, which must necessarily be written prior to turning the trans-mitter on, will supply the f~rst eight bits of data words, to be placed on bus lO, to their respective regist~rs 48. Also, via PORT B, register 47 is supplied with the destination I.D.
010. The priority of the first character of each message is set to be low priority. All characters subsequent to the first character are assigned a high priority, so that the priority bit in register 47 is loaded with a "l" for all such characters.
As a result, once a receiver accepts or captures data and goes into a high priority mode of reception, new characters of low priority will be ignored until the current message has been completed or aborted.
PORT L will supply a control bit signal over one of lines 79 or 80 t~ set or reset TRANSMIT INTERRUPT ENABLE flip-flop 45 and thereby enable a transmission acknowledge interrupt 1 ~ 15 ~3 to be supplied to the CPU upon the destination CNR having indicsted by way of a handshake signal that it has accepted data. Thus, depending upon whether or not the CPU wishes to monitor the fact that the prccessor module to which the message is sent has received the message, PORT L will select~vely disable or enable AND gate 46 by controlling the state of flip-flop 45. Here ~t will be assumed that the CPU in each of processor modules 100 and 001 wishes to monitor when module 010 captures data so that a set enable signal will be supplied via line 80 to flip-flop 4S, thereby enabling one input of AND gate 46. In other words, the transmit interrupt line is not masked.
Further, since the CNR I.D. address code and bus sync control signal are loaded via PORT K, the transmitters of each of OPFs 100 and 001 are now PORT-readied for transmitting the first character of a message.
TRANSMITTER TURNED ON
In response to the SYNC input signal over 1ine 152 from its CPU, the control logic circuit of each of OPFs 001 and 100 loads registers 47 and 48 with the information at PORTs A
and B ~ia load (or write) enable lines 75 and 76, respectively.
In addition, the signal on line 75, which loads the destination I.D. and priority bits into register 47, sets TRANSMIT "ON"
flip-flop 39, thereby enabling one input of AND gate 38.
FIRST ~ATA CHARACTER TRANSMISSION
-As counter 32 counts the clock pulses suppled over line 68, comparator 36 compares the contents of CNR I.D. register ~,~

~ i l 5~ 3 37 with the contents of counter 32. Since OPF 001 is the first processor module in the numerical counting order (000, 001, 010 ... 111) which wishes to transmit, upon its comparator 36 generating an output pulse on line 84 at time slot 001, AND gate 38 will supply a strobe output signal on line 86 and thereby place the contents of registers 47 and 48 together with 8 bus active bit "1" on the intermodule bus 10. Subsequently, at time slot 100, comparator 36 in OPF 100 (the next transmitting module in the numerical time slot order) will generate sn output on line 84, enabling its AND gate 38 and placing the contents of its registers 47 and 48, a8 well as the bus active bit "1", on the interprocessor bus 10. One input of AND gate 53 in each of the transmitters in the CNRs of OPFs 001 and lOO is also enabled 80 that AND gate 53 is ready to acknowledge a handshake from the destination I.D. (OPF 010) whereby the transmission may proceed to the second message character. Since subsequent operation of the transmitters of OPFs 001 and 100 depends upon whether or not the transmitted firfit data character was received by destination OPF 010, the operation of the receiver will next be described RECEIVER TURNED ON
As explained above, via intraprocessor ~us 25, register 37 of the CNR of each pro essor module is loaded with that CNR's own unique I.D. code, and bus sync control is established via PORT K; also, the CPU RESET signal on line 72 : will have cleared or reset, via respective OR gates 194, 201, l~iS~

and 211, each of the RECEIVER "ON" flip-flop 191, the RECEIVER
ACKNoWLEDGE flip-flop 202, and the RECEIVER INTERRUPT ENABLE
flip-flop 208. In addition, the PRIORITY MODE flip-flop 199 will have been set via OR gate 197. Also, no characters have yet been loaded into registers 192 and 176 since AND gate 178 i8 d~sabled Depending upon present CPU operation, PORT L will enable one of lines 209 or 212 so that it may selectively monitor a receiver interrupt indicating that data from another processor module has been captured, so that the CPU may take action or wait until it has completed its present data process-~ng operation if interruptæ are masked. Usually, that bit of PORT L to which line 200 is coupled will be a zero, so that the state of PRIORITY MODE latch 199 will remain unchanged.
The receiver is in a low priority mode between messages so that a low priority character may be accepted at the start of a new message. The Q output of PRIORITY MODE flip-flop 199 goes high upon the receiver's acceptance of a character, as previous-ly described. The output remains high, inhibiting the accept-ance of a low priority character via AND gate 183, unt~l line 200 from PORT L is set high to reset the PRIORITY MODE latch 199 at the completion of a message.
In response to the sync signal from the CPU, control logic circuit lS0 supplies an output on line 154, which sets ~he RECEIVER "OM" flîp-flop 191 and turns on the receiver, thereby enabling that input of AND gate 178 which is connected to line 187. The receiver in each module is now ready to capture data addressed to lt.

'-`' RECEIVER DATA CAPrURE
Once a CNR has been init~alized and loaded with its CNR I.D., its receiver comparator 156 proceeds to monitor the destination I.D. bits of the interprocessor bus 10 for destin-ation codes corresponding to the address stored in CNR I.D.
register 37. Should comparator 156 recognize a match, ~t generates an output on line 188. Since, in the working example described herein, the only destination I.D. code which is generated is that of OPF 010, only the comparator 156 of OPF
010 will supply an output signal via line 188 to AND gate 178.
This mstch signal will be first generated during time slot 001, when OPF 001 has placed its first message character on the interprocessor bus 10 and is waiting for a handshake from its transmitted destination I.D. (OPF ~10). Thus, because the counters 32 in all the proces~or modules are synchronized by a common bus sync signal, the contents of counter 32 ln OPF
010 will be the blnary number 001 at the time that comparator 156 generate~ a mstch recognition signal on line 188. Since the bus acti~e bit of the interprocessor bus is a "1", lead 189 will be high and AND gate 178 will generate an output in synchronism with the clock signal on line 68 from divider 31.
The output signal from AND gate 178 is applied on line 179 to bus driver 180, one-shot 198, the load or write enable inputs of registers 192 and 176, and the set input of RECEIVER
ACKNoWIEDGE flip-flop 202. Therefore, data register 176 is loaded with the first data word on the elght bit data portion :1115B~

of interprocessor bus 10, and priority/I.D. register 192 is loaded with the contents (001) of counter 32 and the low priority-representative zero bit on lead 167 via driver 181 and line 182 The characters captured or accepted in registers 192 and 176 represent both the priority and the source of the message (i.e. who sent the message) and a data character of the message, respectively. The contents of registers 192 and 176 may now be read out onto the system bus and the data stored in a message buffer, which may be part of a random access memory of which memory unit 23 (~igure 2) is comprised, for subsequent processing by the CPU, as explained previously.
After a delay ~ufficient to permit interrupt latching and return of a handshake to the transmitting module, namely, all necessary signaling, one-shot 198 supplies a pulse via OR
gate 197 to reset RECEIVER "ON"- flip-flop 191 and set PRIORITY
MODE flip-flop 199, and thereby turn off the receiver while PORTS A and B are read out to also prohibit the receiver from accepting messages of low priority (priority bit zero). In ~he latter instance, with flip-flop 199 set, the enabling of AND
8ate 178 will be dependent upon the enabling of AND gate 183, one input of which is coupled to the priority bit of the inter-module bus via line 182, driver 181, and priority bit lead 167.
The output of AND gate 178, which initlated the time-out action of one-~hot 198, also placed a handshake signal on line 166 via driver 180 and caused 8 RECEIVER ACKNoWLEDGE le~el to be applied v~a line 203 to one bit of PORT B and to AND gate 1~158~3 205, so that both the transm~tting module and the receiver's CPU
may be advised of the data capture.
FIRST DATA CHARACTER TRANS~ISSION CONTINUED
When the receiver for which the transmitted message is intended has indicated that it has captured data by placing a handshake signal on the intermodule bus 10, this handshake signal is coupled via line ~7 to enable AND gate 53 which supplies a set input signal to the TRANSMIT ACKNoWLEDGE flip-flop 42 in the CNR of the transmitting module. Therefore, for the example described, with OPF 010 having captured data, it places a hand-~hake signal on the interprocesæor bus 10, and transmitting OPF
001 acknawledges the handshake by setting its TRANSMIT ACKNoWLEDGE
flip-flop 42. With TRANSMIT ACRNoWLEDGE flip-flop 42 having been set, AND gate 46 becomes enabled, so that PORT B will couple a transmission acknowledge signal over the intraprocessor bus 25 and a transmit interrupt will be provided via line 70 to the CPU vi~ AND gate 46, TRANSMTT INTERRUPT ENABLE flip-flop 45 having been set via line 80 from PORT L, as explained previously.
After a prescribed time-out period, delay circuit 41, which i8 also coupled to the Q output of TRANSMIT ACKNoWLEDGE flip-flop 42, resets the TRANSMIT "ON" flip-flop 39 via OR gate 40. AND
gate 38 becomes disabled, æo that any further transmission from OPF 001 must await a new control signal from control logic 150, which turns on the transmitter via line 75. Thus, the trans-mitter of OPF 001 will remain quiescent until new characters, including the second data character, have been loaded in regis-1~5803 ters 47 and 48, and appropriate control signals have beenloaded, via PORTs A and B from the ~ntraprocessor bus 25, and the time slot I.D. corresponding to OPF 001 is supplied by counter 32 to comparator 36.
DATA REJECTION
As was described earlier, as counter 32 in each OPF
continues to count the divided clock pulses, no further trans-mission on interprocessor bus 10 occurs until the count reaches 100, during which time-slot OPF 100, which also wishes to communicate with OPF 010, places its first message character containing a low prlority bit, data, bus active, and destination I.D. information on interprocessor bus 10. During time-slot 100, the receiver comparator 156 in OPF 010 again recognizes its own I.D. 010 as the destination I.D. in a message from a transmitt-ing module, the source I.D. lOO of the transmitting module being applied to register 192 via lines 110, 111, and 112 from counter 32 at this time. Thus, AND gate 17B receives enable signals from the bus-active input line 189, line 68 from divider 31, line 188 from comparator 156, and line 187 from RECEIYEK
"ON" flip-flop 191 (assuming that the contents of registers 176 and 192 have been read out via PORTs A and B and the receiver has again been turned on). In this regard, depending upon the intraprocessor bus 25 processing time, a plurality of count cycles of counter 32 may elapse until the receiver is again turned on. However, for purposes of illustrat~on of the opera-tion of the system, particularly the effect of the priority mode 1$15~3 of the character transmitted, let it be assumed that PORTs A and B have been read and that the RECEIVER "ON" flip-flop 191 has again been set. Now, s~nce PRIORITY MODE flip-flop 199 was set by the capture of data from OPF 001 and the processor module units of OPF 010 were ~formed of this via line 215 and PORT B, subsequent receiver-on preconditioning of the receiver via PORT
L has been such that the bit of PORT L to which the reset input of PRIORITY MODE flip-flop 199 is coupled via line 200 has not reset PRIORITY MODE flip-flop 199, so that it remains in its set or high priority state, enabling one input of AND gate 183.
The other input of AND gate 183 looks at the priority ~it of the message character from OPF 100, via line 182, driver 181, and line 167. Since the message character from OPF 100 i8 its first message character having a pr~ority of zero, or low priority, AND gate 183 remains disabled, so that OR gate 185 receive8 no input by which AND gate 178 can become enabled, and data capture does not occur, Therefore, no handshake signal i8 returned from OPF 010 to transmitting OPF 100, the TRANSMIT
ACKNoWLEDGE flip-flop 42 in OPF 100 remains reset, and its pro-cessor module is informed7 via PORT B, that data capture did notoccur When the transmitter of OPF 100 does not receive a handshake during its transmission time-slot 100 and i8 thereby advised that the receiver of OPF 010 failed to capture the message character sent to it, OPF 100 waits until its next trans-mission time-slot 100 and repeats the previous transmission, This process continues until a handshake is received or the . ~

S~3 transmission is aborted by the CPU of OPF 100.
SECON~ AND SUBSEQUENT D M A CHARACTER TRANSMISSION AND RECEPTION
As was described previously, the first message character of each transmission is assigned a low priority while 811 subsequent characters are assigned high priority. Therefore, when the second and all subsequent message characters are losded into the registers 47 and 48 of OPF 001, the priority bit supplied via PORT B is set for a high priority mode transmission.
The first da~a character defines the length of the message, so that, at the receiving OPF (here OPF 010), the message buffer into which data characters are loaded may be assigned a corres-ponding number of addresses, with the loading of data into the last assigned address indicating the completion of the message, so that the CPU of OPF 010 will know it has a complete message stored in memory.
As these high priority message characters are supplied to OPF 010, they are permitted to be captured, since the state of line 182 carrying the priority le~el of the message character being sent represents high priority mode, thereby enabling AND gate 183 and, consequently, AND gate 178, so that the previously described reception or capture of data may proceed. A handshake ~s therefore returned to OPF 001 and the third and subsequent data characters are transmitted to OPF 010 until the message is c~mpleted. During the time that OPF 001 is transmitting to OPF 010, all other OP~s are prevented from communicating with OPF 010 because the priority of the 11158~3 first character of the message they are attempting to transmit to OPF 010 is less than the priority of the second and subse-quent characters of OPF 001, so that OPF 001 is allowed to complete its transmission to OPF ~10 before others may proceed.
However, commNnications between other OPFs are possible during each time-slot count cycle, since each processor module addresses only one other processor module at a time, whereby for an eight module address scheme, as used in the present example, up to eight independent c~mmunications, each including message character transmission, data capture, and handshake, may take place.
At the end of a communication, after PORTs A and B
have been read out for the last captured character of the message, control signals are applied via PORT L to place the receiver in the low priority mode so that it may again monitor messages from all other modules and be capable of accepting new messages.
As will be appreciated from the foregoing description of the circuitry eonfiguration and operation of the distributed multi-data processor c~mmunication system in accordance with the present invention, communication interface units or communication network routing units are provided as part of each data processor module and perform the necessary bus management responsibilities previously carried out by the modules' CPUs, By virtue of assuring a transmission time-slot for each processor module of the system, the intermodule communications 1115 ~ 3 bus cannot be tied up by one module. Furthermore, a priority protocol is employed to prevent interference between processor modules attempting to communicate with the same module. Thus, the efficiency of bus use is increased and message transmission between respective processor modules is expedited.
While we have shown and described one embodiment in accordance with the present invention, it is understood that the same is not limited thereto but is susceptible of numerous changes and modifications as known to a person skilled in the art, and we therefore do not wish to be limi~ed to the details shown and described herein but intend to cover all such changes and modifications as are obvious to one of ordinary skill in the art,

Claims (22)

1. A distributed multi-data processor system wherein a plurality of processor modules, each of which contains a data processor, are distributed along a communica-tion link by way of which the transfer of information from one processor module to another processor module may take place, and wherein the receiving processor module will ack-nowledge receipt of the information characterized in that each processor module includes:
means for repetitively generating a plurality of time-slots each preassigned to one of said processor modules;
first means, responsive to a request from said data processor for the transmission of a message to another processor module, for recognizing its preassigned time-slot and transmitting a message character during its preassigned time-slot, said message character containing the address of said another processor module and a priority code defining the priority level of the message character;
second means, coupled to said first means, for monitoring said communication link for acknowledgement of receipt of said message character by said another module, and enabling said first means to continuously transmit said message character during each successive occurrence of said preassigned time-slot until said another module acknowledges receipt of said message character and means responsive to receiving the priority code of the message character for altering the priority level of all subsequent message characters which will be accepted by said another module.
2 A distributed multi-data processor system according to claim 1, wherein each processor module further includes third means for monitoring said communication link for message characters containing the address of said each processor module, and causing data included in a message character which contains the address of said each processor module to be stored in that processor module.
3. A distributed multi-data processor system according to claim 2, wherein said third means includes means for latching onto said address-containing message character and for acknowledging receipt of said address-containing message character, over said communication link, during said preassigned time-slot.
4. A distributed multi-data processor system according to claim 2, wherein said priority code is repre-sentative of one of high priority and low priority modes, the first character of each message containing a low priority mode indication and each subsequent character of each message containing a high priority mode indication, and wherein said third means includes said altering means for preventing the reception of a message character and storage of data in a message character having a low priority mode indication subsequent to the reception of the first character of a message until that message has been terminated.

5. In a distributed multiprocessor system wherein a plurality of processor modules are distributed along a
5. (concluded) communication link by way of which the transfer of informa-tion from one processor module to another may take place, a method of controlling the transmission and reception of information conveyed by way of said communication link between processor modules, comprising the steps of:
assigning prescribed address codes to each of the processor modules in said system;
generating said address codes in each of the processor modules during respective intervals of time;
for each respective processor module from which the transmission of information to another processor module is to take place, transmitting a message character over said communication link only during an interval of time when the generated address code corresponds to the address code assigned for said each respective processor module, said message character containing the address code of the processor module for whom the message character is intended and a priority code defining the priority level of the message character;
at said each respective processor module, monitoring said communication link for message characters and causing data included in a message character which contains the address of said each respective processor to be stored in that processor module and altering the priority level of all subsequent message characters which will be accepted from the trans-mitting processor module upon receiving the first message character.
6. A method according to claim 5, further comprising the steps of:
acknowledging receipt of a message character to the transmitting processor module from the message character receiving processor module, and preventing each transmitting processor module from further transmitting said message character during a subsequent occurrence of its assigned time interval in response to said acknowledgement of receipt of said message character by said message character-receiving processor module.
7. A method according to claim 5, wherein said monitoring step includes the step of preventing message characters addressed thereto from transmitting modules, after the first character in a message transmitted from that transmitting module has been received and stored in the processor module, from being received until the message from said that transmitting module has been terminated.

8. A distributed multi-data processor system wherein a plurality of processor modules, each of which con-tains a data processing unit, are distributed along a com-munication link by way of which the transfer of information from one processor module to another processor module is effected, characterized in that each processor module includes:
transmission means, coupled to said communica-tion link, for transmitting a message character including a priority mode indicator to another processor module in the system and, "
8. (concluded) receiver means, coupled to said communication link, for monitoring said communication link for messages transmitted thereover, and for accepting only a message addressed to that particular module, means for storing a prescribed code unique to that module and defining the address of the module corres-ponding to a time interval during which said transmission means may be enabled to transmit a message character to another processor module, means, coupled to said storing means and to said transmission means, for repetitively generating a code sequence containing each of the prescribed codes which define the addresses of the respective processor modules of the system, comparison means, coupled to said code sequence generating means and said storing means, for enabling said transmission means to transmit a message character upon the output of said code sequence generating means corresponding to the code stored in said storing means, and means responsive to the transmission of said priority mode indicator for limiting the transmission of additional message characters to the one processor upon the subsequent generation of the code sequence defining the address of the one processor.

9. A distributed multi-data processor system wherein a plurality of data processor modules, each of which contains a data processing unit, are distributed along a communication link by way of which the transfer of informa-tion from one processor module to another processor module
9. (concluded) is effected, characterized in that each of said processor modules includes a communications interface unit coupled to said communication link and the data processing unit of that module and which carries out the transmission and reception of messages assigned a predetermined priority level between the data processor of that processor module and another processor module, and wherein each of said interface units include;
means for repetitively generating in the same time-frame a plurality of time-slots preassigned to and defining the address of each of said data processor modules;
means for recognizing the repetitive occurrence of the time slot preassigned to that processor module;
means for enabling each communication interface unit, in response to a transmission control signal from its associated data processing unit to transmit a message including a priority code component defining the priority level of the message over said communication link during the occurrence of its preassigned time-slot;

means responsive to the generation of the transmission control signal for causing that interface unit of the data processor module to which said message is addressed to receive and store said message in the addressed data processor module;
and means responsive to receiving said priority code component for changing the priority level of the messages to be stored in the data processor module.

10. A distributed multi-data processor system according to claim 9, wherein said enabling means includes
10. (concluded) respective transmitter means, contained in each communications interface unit, for transmitting, as a component of the transmitted communication, an address code corresponding to the address and preassigned transmission time-slot of the data processor module for which the communication is intended.
11. A distributed multi-data processor system according to claim 10, wherein said enabling means comprises respective storage means, contained in each communications interface unit, for storing an address code corresponding to the address and preassigned transmission time-slot of that data processor module, and respective comparator means, contained in each communications interface unit and coupled to said storage means and to said communications link, for comparing the address code component of a communication transmitted over said communication link with the address code stored in said storing means, and causing data included in the transmitted communication to be stored in the data processor module upon said address code component corres-ponding to the stored address code.

12. A distributed multi-data processor system according to claim 10, wherein said enabling means comprises, in each communications interface unit, code generator means for repetitively generating a sequence of address codes corresponding to the respective address and preassigned transmission time-slot of each data processor module within said plurality of data processor modules,
12. (concluded) storage means for storing an address code corresponding to the address and preassigned transmission time-slot of that data processor module, comparison means, coupled to said code gener-ator means and said storage means, for comparing the address codes in the repetitively generated sequence of address codes from said code generator means with the contents of said storage means and generating a transmission enabling signal upon an address code generated by said code generator means corresponding to the contents of said storage means, and means, responsive to the transmission enabling signal generated by said comparison means, for causing said transmitter means to output the communication onto said communication link.
13. A distributed multi-data processor system according to claim 12, wherein said causing means further comprises, in each communications interface unit, comparator means, coupled to said storage means and to said communications link, for comparing the address code component of a communication transmitted over said communication link with the contents of said storage means, and causing data contained in the transmitted communication to be received and stored in that data processor module upon said address code component corresponding to the stored address code.

14. A distributed multi-data processor system according to claim 13, wherein said causing means includes
14. (concluded) means for storing the priority code component indicating the priority mode of communications which may be accepted by that data processor module, and means, coupled to said comparator means and said priority mode indication storing means, for inhibiting said comparator means from causing data contained in a transmitted communication to be stored in the data processor module unless the priority mode represented by the priority code component of the transmitted communication corresponds to the stored priority mode indication.
15. A distributed multi-data processor system according to claim 13, wherein each interface unit further comprises means, coupled to said comparator means, for transmitting a message receipt acknowledgement signal over said communication link in response to said comparator means causing a communication transmitted from another data processor module to be received and data contained therein stored, to thereby inform said another data processor module that the transmitted communication has been received.

16. A distributed multi-data processor system according to claim 15, wherein said causing means includes means for storing said priority code component indicating the priority mode of communications which may be accepted by that data processor module, and means, coupled to said comparator means and said priority mode indication storing means, for inhibit-ing said comparator means from causing a transmitted communi-cation to be received and data contained therein stored in
16. (concluded) the data processor module unless the priority mode represented by the priority code component of the transmitted communica-tion corresponds to the stored priority mode indication.
17. A distributed multi-data processor system ac-cording to claim 15, wherein each interface unit further comprises means for selectively coupling an interrupt signal to the data processing unit to which the interface unit is coupled in response to said comparator means causing data contained in a communication transmitted from another data processor module to be stored.
18. A distributed multi-data processor system according to claim 17, wherein each interface unit further comprises means, responsive to the transmission of a com-munication by that interface unit to a receiving data processor module and responsive to receipt of a message receipt acknowledgement signal from said receiving data processor module, for selectively coupling an interrupt signal to the data processing unit to which said that communication interface unit is coupled.
19. A distributed multi-data processor system according to claim 1a, wherein said enabling means comprises means for synchronizing the code generator means in each of the communications interface units of the data processor modules of the system.

20. A distributed multi-data processor system according to claim 19, wherein said communications link
20. (concluded) comprises an intermodule communications bus connected exclusively to each interface unit, said bus containing address, data, and control lines, and wherein each communi-cation transmitted from one interface unit to another is comprised of a data component coupled over said data lines, said address code component coupled over said address lines, and a control component including said priority code and a signal for synchronizing said code generator means coupled over said control lines.
21. A distributed multi-data processor system, according to claim 20, wherein said control lines include a line over which said message receipt acknowledgement signal is transmitted from a communication receiving interface unit to a communication transmitting interface unit.
22. A distributed multi-data processor system, according to claim 20, wherein each interface unit includes means for transmitting a complete message as a sequence of discrete communications, the priority mode of the first communication of the message being of a low priority and the priority mode of the second and subsequent communications of the message being of high priority, and wherein each inter-face unit includes means for causing said priority mode indication storing means to store an indication of low prior-ity mode until the first communication of a message is received and data contained therein is stored and for causing said priority mode indication storing means to thereafter store an indication of high priority through the completion of the message.
CA322,833A 1978-04-06 1979-03-06 Distributed multiprocessor communication system Expired CA1115803A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US893,856 1978-04-06
US05/893,856 US4223380A (en) 1978-04-06 1978-04-06 Distributed multiprocessor communication system

Publications (1)

Publication Number Publication Date
CA1115803A true CA1115803A (en) 1982-01-05

Family

ID=25402231

Family Applications (1)

Application Number Title Priority Date Filing Date
CA322,833A Expired CA1115803A (en) 1978-04-06 1979-03-06 Distributed multiprocessor communication system

Country Status (7)

Country Link
US (1) US4223380A (en)
JP (1) JPS6024499B2 (en)
CA (1) CA1115803A (en)
DE (1) DE2913288C2 (en)
FR (1) FR2422206A1 (en)
GB (1) GB2019069B (en)
YU (1) YU79379A (en)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2469751A1 (en) * 1979-11-07 1981-05-22 Philips Data Syst SYSTEM INTERCOMMUNICATION PROCESSOR FOR USE IN A DISTRIBUTED DATA PROCESSING SYSTEM
JPS56108103A (en) * 1980-01-31 1981-08-27 Toshiba Corp Data transmission system of digital control device
JPS56140459A (en) * 1980-04-04 1981-11-02 Hitachi Ltd Data processing system
GB2075310A (en) * 1980-04-30 1981-11-11 Hewlett Packard Ltd Bus extender circuitry for data transmission
US4387425A (en) * 1980-05-19 1983-06-07 Data General Corporation Masterless and contentionless computer network
GB2077468B (en) * 1980-06-04 1984-10-24 Hitachi Ltd Multi-computer system with plural serial bus loops
US4504907A (en) * 1980-06-23 1985-03-12 Sperry Corporation High speed data base search system
US4412286A (en) * 1980-09-25 1983-10-25 Dowd Brendan O Tightly coupled multiple instruction multiple data computer system
CH651950A5 (en) * 1980-10-20 1985-10-15 Inventio Ag MULTIPROCESSOR ARRANGEMENT.
DE3112693A1 (en) * 1981-03-31 1982-10-14 Stollmann & Co, 2000 Hamburg MODULAR DECENTRALIZED DATA PROCESSING SYSTEM
US4493021A (en) * 1981-04-03 1985-01-08 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Multicomputer communication system
EP0077328A4 (en) * 1981-04-27 1985-06-26 Textron Inc Multi-master processor bus.
US4539636A (en) * 1981-06-24 1985-09-03 Elevator Gmbh Apparatus for inter-processor data transfer in a multi-processor system
US4488232A (en) * 1981-10-02 1984-12-11 Hughes Aircraft Company Self-adjusting, distributed control, access method for a multiplexed single-signal data bus
EP0178550B1 (en) * 1981-10-21 1991-09-25 Intel Corporation Data communication system comprising a bus and a plurality of units connected thereto
US4445197A (en) * 1981-10-27 1984-04-24 International Business Machines Corporation Weak synchronization and scheduling among concurrent asynchronous processors
US4451881A (en) * 1981-11-03 1984-05-29 International Business Machines Corp. Data processing system bus for multiple independent users
US4477871A (en) * 1981-11-23 1984-10-16 Motorola, Inc. Global operation coordination method and circuit
US4449202A (en) * 1981-12-04 1984-05-15 Ncr Corporation Full duplex integrated circuit communication controller
US4556953A (en) * 1982-02-24 1985-12-03 Caprio A Ronald Interchangeable interface circuitry arrangements for use with a data processing system
US4639860A (en) * 1982-05-12 1987-01-27 Honeywell Information Systems Inc. Wrap-around logic for interprocessor communications
US4614841A (en) * 1982-06-29 1986-09-30 At&T Bell Laboratories Geographically distributed multiprocessor time-shared communication processing system
US4513370A (en) * 1982-07-19 1985-04-23 Amdahl Corporation Data transfer control system and method for a plurality of linked stations
US4744024A (en) * 1982-08-27 1988-05-10 Burroughs Corporation Method of operating a bus in a data processing system via a repetitive three stage signal sequence
US4516205A (en) * 1982-11-09 1985-05-07 Eing A Hubert I Access control of data transmission network
US4680698A (en) * 1982-11-26 1987-07-14 Inmos Limited High density ROM in separate isolation well on single with chip
EP0135499B1 (en) * 1983-02-09 1990-05-02 International Business Machines Corporation A method for achieving multiple processor agreement optimized for no faults
JPS59176838A (en) * 1983-03-28 1984-10-06 Dainippon Screen Mfg Co Ltd Picture arithmetic processing method
US4511969A (en) * 1983-05-20 1985-04-16 At&T Information Systems Inc. Control channel interface circuit
US4577273A (en) * 1983-06-06 1986-03-18 Sperry Corporation Multiple microcomputer system for digital computers
US4591975A (en) * 1983-07-18 1986-05-27 Data General Corporation Data processing system having dual processors
US4531185A (en) * 1983-08-31 1985-07-23 International Business Machines Corporation Centralized synchronization of clocks
US4584643A (en) * 1983-08-31 1986-04-22 International Business Machines Corporation Decentralized synchronization of clocks
US4769768A (en) * 1983-09-22 1988-09-06 Digital Equipment Corporation Method and apparatus for requesting service of interrupts by selected number of processors
US4787033A (en) * 1983-09-22 1988-11-22 Digital Equipment Corporation Arbitration mechanism for assigning control of a communications path in a digital computer system
US4819164A (en) * 1983-12-12 1989-04-04 Texas Instruments Incorporated Variable frequency microprocessor clock generator
JPH0638600B2 (en) * 1983-12-28 1994-05-18 株式会社東芝 Local area network system
NL8400186A (en) * 1984-01-20 1985-08-16 Philips Nv PROCESSOR SYSTEM CONTAINING A NUMBER OF STATIONS CONNECTED BY A COMMUNICATION NETWORK AND STATION FOR USE IN SUCH A PROCESSOR SYSTEM.
DD248615B1 (en) * 1984-12-27 1990-10-10 Textima Veb K DEVICE AND METHOD FOR CONTROLLING KNITTING MACHINES
JPS623366A (en) * 1985-06-28 1987-01-09 Toshiba Corp Multi-processor system
DE3750311T2 (en) * 1986-05-30 1995-03-30 Bull Hn Information Syst Device and method for transfer between processors.
US4920485A (en) * 1986-09-02 1990-04-24 Amdahl Corporation Method and apparatus for arbitration and serialization in a multiprocessor system
CN1008018B (en) * 1986-09-27 1990-05-16 徐肇昌 Cecomputer and its method of cooperation
US5062040A (en) * 1986-12-22 1991-10-29 At&T Bell Laboratories Handling of notification of asynchronous events by user and stub processes of a distributed process executing on a plurality of processors of a multi-processor system
NL8800698A (en) * 1988-03-21 1989-10-16 Philips Nv METHOD FOR CONTROLLING QUANTI PARALLEL FROM A CONTROL UNIT A NUMBER OF PERIPHERAL UNITS AND SYSTEM FOR CARRYING OUT THIS METHOD
JPH0731666B2 (en) * 1988-06-03 1995-04-10 日本電気株式会社 Inter-processor communication method
US5025369A (en) * 1988-08-25 1991-06-18 David Schwartz Enterprises, Inc. Computer system
GB2223867A (en) * 1988-09-09 1990-04-18 Univ City Multiprocessor data processing system
US5276806A (en) * 1988-09-19 1994-01-04 Princeton University Oblivious memory computer networking
US5253342A (en) * 1989-01-18 1993-10-12 International Business Machines Corporation Intermachine communication services
JP2679775B2 (en) * 1989-07-31 1997-11-19 三田工業株式会社 Communication method between CPUs
US5131085A (en) * 1989-12-04 1992-07-14 International Business Machines Corporation High performance shared main storage interface
WO1991009366A1 (en) * 1989-12-19 1991-06-27 E-Systems, Incorporated Method and apparatus for dispersed end-entity flow control in computer networks
US5410654A (en) * 1991-07-22 1995-04-25 International Business Machines Corporation Interface with address decoder for selectively generating first and second address and control signals respectively in response to received address and control signals
KR970006027B1 (en) * 1992-08-17 1997-04-23 마쯔시다 덴기 산교 가부시끼가이샤 Data transfer control unit using a control circuit to achieve high speed data transfer
US5428796A (en) * 1992-08-26 1995-06-27 International Business Machines Corporation System and method for regulating access to direct access storage devices in data processing systems
DE4232995C2 (en) * 1992-10-01 1994-07-07 Daimler Benz Ag Method for transmitting data from several data transmitters on a common data line and device for carrying out the method
JPH07141130A (en) * 1993-11-12 1995-06-02 Canon Inc Printer controller
EP0796533B1 (en) * 1994-12-09 2003-07-30 BRITISH TELECOMMUNICATIONS public limited company Multi-processor environments
US6175854B1 (en) 1996-06-11 2001-01-16 Ameritech Services, Inc. Computer system architecture and method for multi-user, real-time applications
US5892903A (en) * 1996-09-12 1999-04-06 Internet Security Systems, Inc. Method and apparatus for detecting and identifying security vulnerabilities in an open network computer communication system
WO2000034867A1 (en) 1998-12-09 2000-06-15 Network Ice Corporation A method and apparatus for providing network and computer system security
US7346929B1 (en) 1999-07-29 2008-03-18 International Business Machines Corporation Method and apparatus for auditing network security
US8006243B2 (en) 1999-12-07 2011-08-23 International Business Machines Corporation Method and apparatus for remote installation of network drivers and software
AU2001257400A1 (en) 2000-04-28 2001-11-12 Internet Security Systems, Inc. System and method for managing security events on a network
US7574740B1 (en) 2000-04-28 2009-08-11 International Business Machines Corporation Method and system for intrusion detection in a computer network
US7162649B1 (en) 2000-06-30 2007-01-09 Internet Security Systems, Inc. Method and apparatus for network assessment and authentication
US7178166B1 (en) 2000-09-19 2007-02-13 Internet Security Systems, Inc. Vulnerability assessment and authentication of a computer by a local scanner
US9027121B2 (en) * 2000-10-10 2015-05-05 International Business Machines Corporation Method and system for creating a record for one or more computer security incidents
US7146305B2 (en) 2000-10-24 2006-12-05 Vcis, Inc. Analytical virtual machine
US7130466B2 (en) 2000-12-21 2006-10-31 Cobion Ag System and method for compiling images from a database and comparing the compiled images with known images
AU2002243763A1 (en) 2001-01-31 2002-08-12 Internet Security Systems, Inc. Method and system for configuring and scheduling security audits of a computer network
US7237264B1 (en) 2001-06-04 2007-06-26 Internet Security Systems, Inc. System and method for preventing network misuse
US7657419B2 (en) 2001-06-19 2010-02-02 International Business Machines Corporation Analytical virtual machine
WO2003058451A1 (en) 2002-01-04 2003-07-17 Internet Security Systems, Inc. System and method for the managed security control of processes on a computer system
US7370360B2 (en) 2002-05-13 2008-05-06 International Business Machines Corporation Computer immune system and method for detecting unwanted code in a P-code or partially compiled native-code program executing within a virtual machine
US7913303B1 (en) 2003-01-21 2011-03-22 International Business Machines Corporation Method and system for dynamically protecting a computer system from attack
US7657938B2 (en) 2003-10-28 2010-02-02 International Business Machines Corporation Method and system for protecting computer networks by altering unwanted network data traffic
US20050220073A1 (en) * 2004-03-30 2005-10-06 Asicexpert, Llc. System and method for transmitting signals
GB0723422D0 (en) * 2007-11-29 2008-01-09 Level 5 Networks Inc Virtualised receive side scaling
KR102205836B1 (en) 2014-01-29 2021-01-21 삼성전자 주식회사 Task Scheduling Method and Apparatus

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3400372A (en) * 1965-02-16 1968-09-03 Ibm Terminal for a multi-data processing system
US3483520A (en) * 1966-04-20 1969-12-09 Gen Electric Apparatus providing inter-processor communication in a multicomputer system
US3480914A (en) * 1967-01-03 1969-11-25 Ibm Control mechanism for a multi-processor computing system
US3470542A (en) * 1967-03-17 1969-09-30 Wang Laboratories Modular system design
US3820079A (en) * 1971-11-01 1974-06-25 Hewlett Packard Co Bus oriented,modular,multiprocessing computer
JPS534761B2 (en) * 1971-12-10 1978-02-21
US3787627A (en) * 1971-12-15 1974-01-22 Adaptive Tech Central address distributor
US3753234A (en) * 1972-02-25 1973-08-14 Reliance Electric Co Multicomputer system with simultaneous data interchange between computers
US3755789A (en) * 1972-10-30 1973-08-28 Collins Radio Co Expandable computer processor and communication system
US3870825A (en) * 1973-01-05 1975-03-11 Engineered Devices Company Time-division multiplex communication system
IT1055645B (en) * 1975-10-24 1982-01-11 Elsag ASSOCIATIVE ELECTRONIC MULTI-PROCESSOR FOR MULTIPLE CONTEMPORARY REAL-TIME DATA PROCESSING

Also Published As

Publication number Publication date
DE2913288C2 (en) 1985-01-10
JPS54139352A (en) 1979-10-29
YU79379A (en) 1982-06-30
FR2422206B1 (en) 1985-01-25
GB2019069B (en) 1982-07-07
US4223380A (en) 1980-09-16
JPS6024499B2 (en) 1985-06-13
FR2422206A1 (en) 1979-11-02
DE2913288A1 (en) 1979-10-11
GB2019069A (en) 1979-10-24

Similar Documents

Publication Publication Date Title
CA1115803A (en) Distributed multiprocessor communication system
US4428044A (en) Peripheral unit controller
US4106092A (en) Interface system providing interfaces to central processing unit and modular processor-controllers for an input-output subsystem
US3618037A (en) Digital data communication multiple line control
US5063494A (en) Programmable data communications controller
US4809217A (en) Remote I/O port for transfer of I/O data in a programmable controller
CA1125405A (en) Method of rotating priorities between stations sharing a communication channel
US4162520A (en) Intelligent input-output interface control unit for input-output subsystem
EP0472814B1 (en) Channel paths in a computer I/O system
US4189769A (en) Input-output subsystem for digital data processing system
US4816990A (en) Method and apparatus for fault-tolerant computer system having expandable processor section
US4638428A (en) Polling control method and system
US3676861A (en) Multiple mask registers for servicing interrupts in a multiprocessor system
US4099233A (en) Electronic data-processing system with data transfer between independently operating miniprocessors
US3961139A (en) Time division multiplexed loop communication system with dynamic allocation of channels
US3916380A (en) Multi-computer multiple data path hardware exchange system
EP0036172A1 (en) Multi-station processor intercommunication system comprising means for remote processor initialization
US4322793A (en) Communication controller transparently integrated into a host CPU
GB1574467A (en) Digital system for transfer of information
US4633412A (en) Option protocol arrangement for stored program rectifier controller
US4615019A (en) Data processing system with interrupt facilities
JPH0618371B2 (en) Communication terminal
US3949371A (en) Input-output system having cyclical scanning of interrupt requests
US5276813A (en) Acquiring addresses in an input/output system
US6674751B1 (en) Serialized bus communication and control architecture

Legal Events

Date Code Title Description
MKEX Expiry