EP0477405B1 - Communication system for transfering messages between two units - Google Patents

Communication system for transfering messages between two units Download PDF

Info

Publication number
EP0477405B1
EP0477405B1 EP90118598A EP90118598A EP0477405B1 EP 0477405 B1 EP0477405 B1 EP 0477405B1 EP 90118598 A EP90118598 A EP 90118598A EP 90118598 A EP90118598 A EP 90118598A EP 0477405 B1 EP0477405 B1 EP 0477405B1
Authority
EP
European Patent Office
Prior art keywords
virtual
priority
transmission
channel
message
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 - Lifetime
Application number
EP90118598A
Other languages
German (de)
French (fr)
Other versions
EP0477405A1 (en
Inventor
Gerd Dipl.-Ing. Koppe
Franz Dr. Rer.Nat. Dipl.-Phys. Schulte
Wilfried Dipl.-Ing. Traulsen
André Dipl.-Ing. Yakovleff
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.)
Wincor Nixdorf International GmbH
Original Assignee
Wincor Nixdorf International GmbH
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 Wincor Nixdorf International GmbH filed Critical Wincor Nixdorf International GmbH
Priority to AT90118598T priority Critical patent/ATE145739T1/en
Priority to DE59010586T priority patent/DE59010586D1/en
Priority to EP90118598A priority patent/EP0477405B1/en
Publication of EP0477405A1 publication Critical patent/EP0477405A1/en
Application granted granted Critical
Publication of EP0477405B1 publication Critical patent/EP0477405B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus

Definitions

  • the invention relates to a communication system according to the preamble of patent claim 1.
  • Such communication systems are already known. They are based essentially on the principle of messaging, i.e. a message to be transmitted is simply sent out and the setting of the required transmission path is carried out step by step on the basis of the destination information contained in the preceding control information, the message header - see Computer Networks, Vol. 3, 1979, pages 267 to 286, in particular section I “Introduction” and IEEE Transactions on Computers, Vol. C-36, No. 5, May 1987, pages 547 to 553, in particular Section I "Introduction”.
  • the transmission is stopped in another known method, and the partial messages which have already been sent remain stored along the transmission path which has already been established until the required further channel becomes free and the transmission can be continued.
  • the transmission is not stopped and accepted that parts of the message are lost due to insufficient storage capacity. Instead, the entire message is repeated with the message header in front when the required channel becomes free.
  • the object of the invention is therefore to design a communication system according to the preamble of claim 1 so that with the least possible control and storage effort in the individual connection nodes a message transmission can be guaranteed within predetermined maximum execution times.
  • the selection among the incoming transmission channels at a connection node, which request a connection to an outgoing transmission channel is not made on the basis of a predetermined priority order, but in a manner known per se based on changing ranking orders.
  • the switching of the ranking is not controlled depending on the forwarded message, but depending on the incoming reverse signal. The result of this is that an incoming transmission channel that has reached the highest priority keeps this until the reverse signal has arrived, even if in the meantime, i.e. until the next repetition of a message, another incoming channel due to the existing priority order for outgoing Channel is switched through.
  • the incoming priority channel is also switched in the event that the incoming transmission channel is a connecting channel from another connecting node, according to claim 2, only after a number of reverse signals corresponding to the number of units possibly triggering requests via this connecting channel has arrived via the occupied outgoing transmission channel , the waiting time of these units can be shortened until the desired message transmission has been successfully carried out and the mean waiting time corresponding to a predetermined network load can be adapted.
  • the physical transmission channels can also be operated as virtual transmission channels without any problems, which expands the area of application and the degree of freedom in the network design for the connection nodes.
  • the number of requesting channels multiplies according to the number of virtual transmission channels to be taken into account, which are to be taken into account when prioritizing a request, the change in order of priority being maintained by the reverse signal.
  • the switching network VN consists, for example, of two connection nodes VK1 and VK2, which are connected to one another by bidirectional connection channels K as bidirectional transmission channels CH ... (v) and to which all units M ..., CPU ..., IOP ... in are connected in the same way via bidirectional transmission channels CH ... (v), with all transmission channels being operated as virtual channels.
  • the number of connection sales ... in the switching network VN can be of any size and the wiring of the individual connection nodes VK ... with memory units M and operational units in the form of processors CPU ... and input / output systems IOP ... can be different.
  • connection node VK .. with one or two memory units M ..., a processor CPU ... and an input / output system IOP ... as a monoprocessor, in conjunction with a similarly connected connection node, you can expand to a biprocessor system as the smallest multiprocessor system that can be expanded to a multiprocessor system of the desired size by adding further connection nodes VK ...
  • a biprocessor system As a preliminary for a designed maximum configuration with n connection nodes VK ..., only a sufficient number of connection channels K ... at each connection node VK ... and an appropriately designed switching control must be provided.
  • connection channels K ... connected to a connection node V ... implement multiprocessor systems with up to 8 connection nodes and a corresponding number of processors CPU, whereby several transmission paths can be switched through simultaneously at each connection node VK ...
  • the transmission method on which the communication system according to the invention is based works by subdividing a message into equally long parts with a common message header, the message header for controlling the path switching and the associated message parts being sent out completely one after the other, and reaching the end point of a transmission route and the respective starting point by means of feedback is confirmed. If this confirmation does not arrive by a predetermined time after the start of the message transmission, the entire message is repeated automatically.
  • the predefined waiting time can be derived very easily from the duration of a message to the predefined target point. Is the message long enough and the transmission route in short, the reverse signal can easily arrive before the end signal has been sent. In addition, only one reverse signal is required overall, and no memories are required in the connection nodes for a longer-term intermediate storage.
  • the line labeled DAT represents the message to be transmitted, which consists of a message header NK and, for example, message parts 1 to 8.
  • the message header NK is accompanied by a separate request signal REQ (v) and the last part of the message is accompanied by an end signal EOT.
  • REQ REQ
  • EOT end signal
  • the monitoring time T D begins with the first transmission S1 of the message. If the response ACK (v) does not arrive in time, the entire message is automatically repeated S2. There may be several such repetitions until the ACK (v) feedback arrives.
  • the situation is somewhat more complex if, according to FIG. 1, the communication system is used for a multiprocessor system with shared memory and virtual transmission channels of different priority levels are required in order to avoid system deadlocks which prevent orderly operation.
  • the storage unit is then the source point for a further transmission path in a higher virtual level, specifically in the highest virtual level v0, if the data in the storage unit is available and can be transmitted directly to the requesting unit D as an end point, or in a virtual intermediate level v1, if the transmission path to a cache memory CA ... as an end point - if necessary again directly or via intermediary connection channels K - must be built.
  • the controlled cache memory CA ... then transfers the source point to another transmission path, the end point in one case being the requesting unit or the requesting storage unit M ..., from which a further transmission path then leads to the requesting unit.
  • Virtual transmission channels of the same priority level, namely the highest priority level v0, can then be used uniformly for the entire transmission path from the cache memory CA ... via the memory unit M ... to the requesting unit.
  • FIG. 4 A corresponding overview table with the according to the vertical listing as source points SP ... and according to the horizontal listing as end points TP ... to a connection node
  • the connected units and connection channels are shown in FIG. 4.
  • Global storage units GSU ..., input / output systems IOP ..., processors CPU without cache memory, processors with cache memory CA / CPU ... and storage units M .... can be used as units.
  • There are direct connections between incoming and outgoing transmission channels of the same unit or the same connection channel and between the storage units M ... excluded, as indicated by the horizontal lines in the individual fields, while the numbers in the other fields indicate the individual priority ranks v 0, 1 or 2 according to the virtual levels v0, Specify v1 and v2 of the virtual transmission channels CH ... (v), arriving line by line and column by line with reference to the respective unit or connection channel K ....
  • FIG. 5 shows the block diagram of a connection node. Shown in the left part are two incoming physical transmission channels CH1 and CH2 and two outgoing physical transmission channels CH3 and CH4 in the right part, only the physical connection between the transmission channels CH1 and CH3 with the associated transmission lines according to FIG. 2 being shown in more detail.
  • All incoming transmission channels CH ... are led with their transmission lines to a receive register EREG1, and from each receive register a connection path leads to every outgoing possible transmission channel, more precisely to an input E-CH ... of a selection switch, for example MUX3, which outgoing each Channel, eg CH3, is individually assigned and a transmission register, eg SREG3, is connected to the output of each.
  • Both registers are periodically repeated, spaced from one another, so that each partial message, message header or message part arriving via an incoming transmission channel is therefore only stored briefly in succession in the registers EREG1 and SREG3, in order to temporarily adjust the setting of a message header NK Enable selection switch, e.g. MUX3, if the desired outgoing channel, e.g. CH3, is free.
  • the transmission time for the individual partial messages is shorter than the time until the selection switch MUX is set ... and thus until the connection path to the transmission register SREG ... is switched through, the reception register EREG ... can be used to switch downstream and clocked in the same rhythm, Intermediate registers not shown, a corresponding delay in the forwarding of the messages can be achieved.
  • connection path for the feedback ACK (v) with a receive register, e.g. A-EREG3, a selection switch, e.g. A-MUX1, and a transmit register, e.g. A-SREG1, so that one over an outgoing channel, e.g. CH3, incoming feedback ACK (v) every incoming channel, e.g. CH1, can be fed.
  • a receive register e.g. A-EREG3
  • selection switch e.g. A-MUX1
  • transmit register e.g. A-SREG1
  • connection path to be switched through is determined by a selection device CHSEL-ST (v %) assigned to each incoming virtual channel CH ... (v) in order to determine the path signal CHSELij (v) including the outgoing virtual channel to be assigned in connection with one of these priority signals CH (i) (j) (v) evaluating priority control PRIO-ST.
  • selection devices CHSEL-ST ... are each activated by a release device EN-ST that monitors the arrival of a request REQ (v), e.g. one bistable flip-flop per priority rank v, released for evaluating the associated message header NK.
  • a request REQ e.g. one bistable flip-flop per priority rank v
  • a maximum of j different route signals can be generated for each virtual level, for example v0 to v2, starting from each incoming transmission channel.
  • Each of these path signals corresponds to a setting signal REQ (i) (j), of which i can be switched through to an output channel incoming channels refer i setting signals to the same output channel and thus the same selector switch, eg MUX3.
  • These groups of setting signals REQ (i) j, each relating to the same outgoing channel CHj, are each fed to a setting generator, for example SEL-G3, associated with the associated selection switch, for example MUX3, which derives the setting information, for example SEL1, for the selection switch and stores until the end signal EOT of the message appears at the output of the associated transmission register, eg SREG3.
  • the physical connection is released again, but not the assignment of the outgoing virtual channel CH ... (v).
  • the maintenance of this assignment is controlled by the DIS-ST device, which blocks all route signals originating from the other incoming virtual channels and relating to the same virtual outgoing channel CH ... j (v) by means of corresponding blocking signals DIS (i) j (v), the blocking signals DISi (j) (v) relating to an incoming channel CHi are fed to the respectively associated selection device CHSEL-STv ....
  • These blocking signals are derived in a simple manner from the setting information SEL ... provided by the setting generator SEL-G ...
  • the EN-ST release device is also reset, so that the previously valid route signal CHSELij (v) is omitted and the incoming channel is thus released again.
  • All three selection devices consist of an input register REG (v) from which one when a message header arrives NK as a result of the simultaneous request signal, for example REQ1 (v), takes over the control information FLIT ... which contains the address ZVKAD of the target connection node and the address UNAD of the target unit.
  • REG (v) from which one when a message header arrives NK as a result of the simultaneous request signal, for example REQ1 (v)
  • takes over the control information FLIT ... which contains the address ZVKAD of the target connection node and the address UNAD of the target unit.
  • the device VK-DEC uses the address VKAD of the connection node reached to check whether another connection node is to be controlled and which outgoing connection channel, for example Ky or Kz, is to be assigned, or whether one of the units is to be controlled at its own connection node.
  • a downstream AND gate AND is also provided that the respective path signal CHSEL ... delivers unless the generation is prevented by a corresponding blocking signal DIS ...
  • the path signals CHSEL for units M ..., CA / CPU ..., IOP ... or GSU ... at the connection node reached are suppressed if one of the outgoing connection channels, e.g. Ky or Kz, is to be proven. This prevents the address UNAD from being evaluated erroneously before the destination connection node has been reached.
  • a reversing device UST can be provided between the outputs of the device VK-DEC and the associated AND elements AND, which in the event of a fault or the absence of a selected connecting channel, e.g. Ky, using the additional information STAT to switch to another channel, e.g. Kz, allows.
  • the path signals CHSEL ... determined in this way are finally released by a signal from the input signal, e.g. REQ1 (v) delays derived signal ACT (v).
  • the request signal REQi (v) arriving in parallel to a message header NK via a transmission channel CHi leads to if no blocking signal DIS ... prevents this, with a takeover clock TI to the path signal CHSELij (v) for switching through to the outgoing channel CHj. If the priority control PRIO-ST permits the switch-through, the control signal TS generates the setting signal REQij and, depending on it, the setting information SELi and stores it.
  • an output clock TO is used to take over the partial messages forwarded via an intermediate register, which are then successively forwarded via the outgoing data lines DATj via the incoming data lines DATi.
  • the PRIO-ST priority controller decides which of several simultaneous transmission requests of the virtual transmission channels CH (i) (j) (v) to be taken into account at a connection node.
  • Figure 8 illustrates such a case with respect to the underlying multiprocessor system.
  • the storage unit M2 at the connection node VK2 waits, for example, for memory data from the cache memory CA1 at the connection node VK1 and is therefore blocked for further requests.
  • Possible acceptance locks can block other virtual channels of the same physical transmission channel under certain circumstances, so that it is necessary in this case to change the virtual priority orders depending on the forwarding of a message via an outgoing channel, while the physical priority orders within each virtual priority rank continue depending on the reverse signal.
  • the guaranteed execution time for the transmission of a message is extended by but it remains guaranteed, because once a physical transmission path has been set, the highest priority remains until the return signal arrives, even if the priority order of the virtual transmission channels for this transmission path changes.
  • This control is effected with reference to a multiprocessor system by a monitoring circuit ÜST which supplements the selection devices CHSEL-ST (v) in FIG. 5 and is constructed similarly to the selection devices and is shown in FIG.
  • All request lines REQ0 to REQ2 are in this Trap bundled by an OR gate OR1, which thus monitors whether there is a request.
  • the respective control information is transferred to a register REGz, so that the respective outgoing physical transmission channel can be determined on the basis of the respective target information - as already described with reference to FIG. 6 - independently of the assignment to a virtual transmission channel.
  • These individual channel signals are then released as a signal REQORi (j) depending on the output signal of the OR gate OR1 by the respective AND gate AND1 and also act on the priority control PRIO-ST in addition to the virtual path signals CHSEL (i) (j) (v) a.
  • This PRIO-ST priority control is shown in more detail in FIG. However, only the part relating to one of the outgoing physical transmission channels CHj is shown. The entire priority control therefore consists of several such partial controls, depending on the number of outgoing transmission channels.
  • These priority circuits each consist of a control circuit PPSTj (v) or VPSTj for changing the respective ranking of the incoming physical channels CH (i) or the virtual priority ranks v and a downstream logic circuit LVj (v) or LVj-VP for evaluating the virtual ones Path signals CH (i) j (v) depending on the existing priority order.
  • the control circuits PPSTj (v) for changing the physical priority orders are each one upon arrival Reverse signal ACKj (v) switched over the occupied outgoing virtual channel CHj (v).
  • they can consist of a cyclically operating counter, with each incoming physical channel being assigned one of the counter readings and the respective counter reading identifying the preferred channel and the associated priority order for the other channels.
  • a ring shift register can also be used, with each incoming channel being assigned a stage and a cyclically migrating control bit indicating the respective preferred channel and the associated priority order.
  • Each switching position thus corresponds to a predetermined priority state PPS (v) for the physical priorities of the individual incoming transmission channels.
  • the individual priority states PPS ... can also be identified by a code instead of a "1 out of n" marking.
  • the only thing that is decisive in the formation of the different priority ranks PRF .. is that a different transmission channel is always the highest priority channel and thus has priority over all others.
  • the value X is therefore entered in the first line for these channels to indicate that the request status of these channels is irrelevant for the evaluation.
  • These channels must be blocked accordingly, which is marked with a G in the right part.
  • the on an incoming channel, e.g. A, related partial structure of a corresponding logic logic circuit LVj (v) is shown in FIG. 16, the same applying to the additions taking into account the other channels.
  • an AND gate eg U1 to U4
  • the outputs of which are shared by a common OR gate ORA be bundled.
  • Which of the AND gates U1 to U4 is activated depends on the respective priority state PPS ... and the route signals CHSEL (i) j signaling a request for the individual channels A to D.
  • FIG. 17 shows a corresponding partial structure for the logic logic circuit LVj (v) in FIG.
  • the priority circuit for the determination of the privileged incoming virtual channel can be constructed in the same way when using equal-ranking virtual channels.
  • the switch from one virtual priority state to the next normally takes place with the signal derived from the forwarding of a message via the occupied outgoing virtual channel, e.g. the end signal EOT.
  • FIG. 18 shows a corresponding circuit arrangement for the control circuit VPSTj from FIG. 12.
  • the main component is again a cyclically operating switching element, for example a counter Z, which cyclically displays the priority states VPS0 to VPS2 which characterize the individual virtual priority orders.
  • the switchover takes place with the end signal EOT if the AND gate U21 is not locked.
  • the downstream logic logic circuit LVj-VP in FIG. 12 can be implemented in the same way as that for the physical priorities, with the enable signals ENj (0) to ENj (2) characterizing the preferred virtual priority rank in each case.
  • control signals REQOR (i) j supplied by the monitoring controller ÜST in accordance with FIG. 11 become the corresponding signals REQOR Aj to REQOR Dj Groups of AND gates UNDj fed in parallel in FIG.
  • a result signal e.g. REQ Aj
  • the condition Aj (2) ⁇ ENj (2) is fulfilled according to an existing assignment, but the current requirement of channel A for the same physical transmission path refers to the virtual transmission path of another priority rank, i.e. v ⁇ 2 is given.
  • connection network for connecting the connection nodes to one another and the assignment of the connection channels to the individual transmission paths - which is described in detail in the aforementioned parallel European patent application (GR 90 P 1680 E).
  • connection nodes form corner points of an n-dimensional boolean cube with n connection channels at each connection node are particularly advantageous.
  • Each connection node can then be identified by a binary address, each consisting of n bits, each bit position corresponding to a coordinate and thus a connection channel of the n-dimensional network.
  • the bit positions of the destination node address and the address of the connection node reached in each case are compared, with the highest-ranking of the bit positions deviating from one another determining the connection channel to be selected for a given ranking of the bit positions.
  • connection nodes of which have connections for three connection channels Kx, Kj and Kz as input can be formed by continuous expansion.
  • n is not limited to three. Networks of this type have the great advantage that no additional virtual channels are required for jammed message exchange in the network.
  • connection nodes "000” to "111" different numbers of units D can be connected to the individual connection nodes "000" to "111".
  • messages from all units D can arrive at the other connection nodes and are to be forwarded to outgoing channels.
  • only one unit at connection node "000” can trigger a request via the incoming channel x1.
  • the two units at the connection node "110” and additionally the two units at the connection node “010” via the upstream channel x2 can be via the channel y1, so that the requests arriving via the channel y1 can originate from a total of four different units.
  • FIG. 20 shows an additional control circuit KONT, which can be assigned to each control circuit PPSTj (v) from FIG.
  • This control circuit KONT consists of a counting circuit ZS, which normally counts the incoming associated downward signals ACKj (v) when the AND gate U30 is not locked.
  • a selection switch MUX is set on the basis of the identifier PPS-K ..., which selects a number indicating the number of units that can be switched through the respective connection channel, e.g. Z-Kx for the connection channel Kx, switched through to a comparator VG.
  • This compares the value ZW registered by the counting circuit ZS with the respectively valid number Z-K ... and sets a bistable flip-flop BK if there is a tie. In the set state, this blocks the AND gate U30 and resets the counter circuit ZS.
  • the AND gate U31 is released so that the control circuit PPSTj (v) can switch to the next priority state PPS ... with a new order.
  • the bistable flip-flop BK is reset via the OR gate OR30 and the control circuit KONT is released again.

Abstract

In a communication system consisting of several connection nodes (VK...) connected via bidirectional connection channels (K = CH...(v)), in which the individual units (M..., CPU..., IOP...) between which messages are to be transmitted are also connected to the connection nodes (VK...) via bidirectional transmission channels (CH....(v)), the messages (DAT) are subdivided into parts of equal length and are in each case completely transmitted prefixed by a common message header (NK) which controls the route establishment in the individual connection nodes (VK...). For controlling the message flow, only a single backward signal (ACK(v)) is used which is transmitted by the respective destination unit on the basis of an incoming message. If this backward signal (ACK(v)) does not arrive at the transmitting unit during a predetermined period (TO) after the beginning of the transmission of the message, the transmission of the entire message is automatically repeated. Particularly when used in a multiprocessor system with a common memory (MM) where special measures are taken for controlling the order of priority in the case of simultaneous transmission requests at a connection node (VK...), so that maximum execution times are guaranteed for a message transmission. <IMAGE>

Description

Die Erfindung betrifft ein Kommunikationssystem gemäß dem Oberbegriff des Patentanspruches 1.The invention relates to a communication system according to the preamble of patent claim 1.

Derartige Kommunikationssysteme sind bereits bekannt. Sie beruhen im wesentlichen auf dem Prinzip der Nachrichtenvermittlung, d.h. eine zu übertragende Nachricht wird einfach ausgesendet und die Einstellung des benötigten Übertragungsweges erfolgt schrittweise anhand der in der vorangestellten Steuerinformation, dem Nachrichtenkopf, enthaltenen Zielinformation - man siehe Computer Networks, Vol. 3, 1979, Seiten 267 bis 286, insbesondere Abschnitt I "Introduction" und IEEE Transactions on Computers, Vol. C-36, No. 5, May 1987, Seiten 547 bis 553, insbesondere Abschnitt I "Introduction".Such communication systems are already known. They are based essentially on the principle of messaging, i.e. a message to be transmitted is simply sent out and the setting of the required transmission path is carried out step by step on the basis of the destination information contained in the preceding control information, the message header - see Computer Networks, Vol. 3, 1979, pages 267 to 286, in particular section I "Introduction" and IEEE Transactions on Computers, Vol. C-36, No. 5, May 1987, pages 547 to 553, in particular Section I "Introduction".

Unterschiede ergeben sich dabei durch die Art der Übertragungssteuerung. Kann der Nachrichtenkopf einer Nachricht in einem Verbindungsknoten nicht unmittelbar weitergeleitet werden, weil der benötigte abgehende Kanal auf dem Weg zur Zieleinheit belegt ist, dann wird bei dem einen bekannten Verfahren die zusammenhängend ausgesandte Nachricht am erreichten Verbindungsknoten zwischengespeichert. Das erfordert keine Rückmeldungen, aber in den Verbindungsknoten entsprechend groß bemessene Pufferspeicher in ausreichender Anzahl.Differences result from the type of transmission control. If the message header of a message cannot be forwarded directly in a connection node because the required outgoing channel is occupied on the way to the target unit, then in the known method the continuously transmitted message is temporarily stored at the connection node reached. This does not require any feedback, but a sufficient number of appropriately sized buffers in the connection nodes.

Zur Verringerung der benötigten Speicherkapazitäten in den einzelnen Verbindungsknoten wird daher bei einem anderen bekannten Verfahren die Aussendung gestoppt, und die bereits ausgesandten Teilnachrichten bleiben entlang des bereits hergestellten Übertragungsweges gespeichert, bis der benötigte weiterführende Kanal frei wird und die Aussendung fortgesetzt werden kann. Bei einer Abwandlung dieses Verfahrens wird die Aussendung nicht gestoppt und in Kauf genommen, daß wegen nicht ausreichender Speicherkapazität Nachrichtenteile verloren gehen. Stattdessen wird die Aussendung der gesamten Nachricht mit vorangestelltem Nachrichtenkopf wiederholt, wenn der benötigte Kanal frei wird.In order to reduce the required storage capacities in the individual connection nodes, the transmission is stopped in another known method, and the partial messages which have already been sent remain stored along the transmission path which has already been established until the required further channel becomes free and the transmission can be continued. At a modification of this method, the transmission is not stopped and accepted that parts of the message are lost due to insufficient storage capacity. Instead, the entire message is repeated with the message header in front when the required channel becomes free.

In beiden Fällen sind zur Steuerung des Ubertragungsablaufes Frei- und Besetztzustände der einzelnen Verbindungskanäle zu überwachen und zusätzliche Steuersignale zur sendenden Einheit zu übertragen, z.B. um die Nachrichtenaussendung anzuhalten und wieder fortzusetzen oder aber um eine Wiederholung der gesamten Nachricht anzufordern, ohne daß damit die sendende Einheit auch Gewißheit darüber erlangt, ob die ausgesandte Nachricht am Zielort angekommen ist und daher der Sendespeicher freigegeben werden kann. Dies muß gesondert überwacht und signalisiert werden.In both cases, free and busy states of the individual connection channels must be monitored to control the transmission process and additional control signals transmitted to the sending unit, e.g. to stop and resume sending the message or to request a repetition of the entire message without the sending unit also gaining certainty as to whether the sent message has arrived at the destination and the send memory can therefore be released. This must be monitored and signaled separately.

Aus "Proceedings of the 1989 international conference on parallel processing", 8. August 1989, Seiten 14 bis 18 ist weiterhin eine Anordnung bekannt, bei der lediglich das Eintreffen einer Nachricht an einer Zieleinheit von dieser durch ein Rückwärtssignal an die sendende Einheit gemeldet wird und dieses Rückwärtssignal zur Steuerung des Ubertragungsablaufes verwendet wird, indem bei Ausbleiben des Rückwärtssignales bis zu einem vorgegebenen Zeitablauf nach Aussendung einer Nachricht die Aussendung der gesamten Nachricht automatisch wiederholt wird.From "Proceedings of the 1989 international conference on parallel processing", August 8, 1989, pages 14 to 18, an arrangement is also known in which only the arrival of a message at a target unit is reported by the latter by a reverse signal to the sending unit and this backward signal is used to control the transmission process by automatically repeating the transmission of the entire message if the backward signal is absent up to a predetermined time after a message has been sent.

Andererseits ergeben sich bei einer von einer Ringleitung zur Verbindung der einzelnen Verbindungsknoten abweichenden Netzstrukturen zusätzliche Probleme bezüglich der Nachrichtenflußsteuerung, da in jedem Verbindungsknoten Anforderungen von mehreren ankommenden Ubertragungskanälen, die eine Durchschaltung zu demselben abgehenden Ubertragungskanal beinhalten, sich zeitlich überlappen können. Dies gilt insbesondere, wenn die jeweils zwischen zwei Einheiten aufzubauenden Übertragungswege über mehrere Verbindungsknoten sich erstrecken. Denn auch in diesem Falle muß sichergestellt sein, daß eine beabsichtigte Nachrichtenübertragung von einer Sendeeinheit zu einer Empfangseinheit innerhalb einer vorgegebenen maximalen Zeitdauer tatsächlich ausgeführt ist, das heißt eine maximale Ausführungszeit garantiert werden kann, damit ein ordnungsgemäßer Betriebsablauf möglich ist.On the other hand, in the case of a network structure deviating from a ring line for connecting the individual connection nodes, there are additional problems with regard to the message flow control, since in each connection node requests from several incoming transmission channels, which include a connection to the same outgoing transmission channel, can overlap in time. This applies in particular if the transmission paths to be set up between two units each extend over several connection nodes. Because even in this case it must be ensured that an intended message transmission from a sending unit to a receiving unit is actually carried out within a predetermined maximum period of time, that is to say a maximum execution time can be guaranteed so that a proper operating sequence is possible.

Aufgabe der Erfindung ist es daher, ein Kommunikationssystem gemäß dem Oberbegriff des Patentanspruches 1 so zu gestalten, daß bei geringstmöglichem Steuerungs- und Speicheraufwand in den einzelnen Verbindungsknoten eine Nachrichtenübertragung innerhalb vorgegebener maximaler Ausführungszeiten garantiert werden kann.The object of the invention is therefore to design a communication system according to the preamble of claim 1 so that with the least possible control and storage effort in the individual connection nodes a message transmission can be guaranteed within predetermined maximum execution times.

Diese Aufgabe wird durch die kennzeichnenden Merkmale des Patentanspruches 1 gelöst.This object is achieved by the characterizing features of patent claim 1.

Danach erfolgt die Auswahl unter den ankommenden Ubertragungskanälen an einem Verbindungsknoten, die eine Durchschaltung zu einem abgehenden Ubertragungskanal anfordern, nicht anhand einer fest vorgegebenen Prioritätsrangfolge, sondern in an sich bekannter Weise anhand sich ändernder Rangfolgen. Die Umschaltung der Rangfolge wird aber nicht abhängig von der weitergeleiteten Nachricht, sondern abhängig von dem eintreffenden Rückwärtssignal gesteuert. Das hat zur Folge, daß ein ankommender Ubertragungskanal, der die höchste Priorität erreicht hat, diese jeweils behält, bis das Rückwärtssignal eingetroffen ist, auch wenn zwischenzeitlich, das heißt bis zur nächsten Wiederholung einer Nachricht, ein anderer ankommender Kanal aufgrund der bestehenden Prioritätsrangfolge zum abgehenden Kanal durchgeschaltet wird. Da bei n ankommenden Ubertragungskanälen an einem Verbindungsknoten jeder Kanal nach n-1 über den gemeinsamen abgehenden Kanal eintreffenden Rückwärtssignalen die höchste Priorität erreicht, und dies für jeden Verbindungsknoten gilt, wird ein gewünschter übertragungsweg über m Verbindungsknoten VK1 bis VKm spätestens nach (nVK1-1) . (nVK2-1) . ... . (nVKm-1) erfolgreich hergestellten Ubertragungswegen für andere Nachrichten aufgebaut. Abhängig von der jeweiligen Netzstruktur und dem gültigen Wegeschema läßt sich somit eine endliche Ausführungszeit sicherstellen, in der eine gewünschte Nachrichtenübertragung mit Sicherheit ausgeführt wird. Dabei ist der Aufwand für einen derartigen Übertragungsablauf mit nur einem einzigen Rückwärtssignal in Verbindung mit der sehr geringen Pufferspeicherkapazität in den einzelnen Verbindungsknoten äußerst gering.Thereafter, the selection among the incoming transmission channels at a connection node, which request a connection to an outgoing transmission channel, is not made on the basis of a predetermined priority order, but in a manner known per se based on changing ranking orders. The switching of the ranking is not controlled depending on the forwarded message, but depending on the incoming reverse signal. The result of this is that an incoming transmission channel that has reached the highest priority keeps this until the reverse signal has arrived, even if in the meantime, i.e. until the next repetition of a message, another incoming channel due to the existing priority order for outgoing Channel is switched through. Since with n arriving transmission channels at a connection node, each channel receives the highest priority after n-1 return signals arriving via the common outgoing channel, and this applies to each connection node, a desired transmission path via m connection nodes VK1 to VKm is at the latest after (n VK1 -1 ). (n VK2 -1). ... (n VKm -1) successfully established transmission paths for other messages. Depending on the respective network structure and the valid route scheme, a finite execution time can thus be ensured in which a desired message transmission is executed with certainty. The effort for such a transmission process with only a single reverse signal in connection with the very low buffer memory capacity in the individual connection nodes is extremely low.

Schaltet man außerdem die Prioritätsrangfolge für den Fall, daß der ankommende Ubertragungskanal ein Verbindungskanal von einem anderen Verbindungsknoten ist, gemäß Patentanspruch 2 erst weiter, wenn eine der Anzahl der über diesen Verbindungskanal möglicherweise Anforderungen auslösenden Einheiten entsprechende Anzahl von Rückwärtssignalen über den belegten abgehenden Ubertragungskanal eingetroffen ist, dann kann die Wartezeit dieser Einheiten bis zur erfolgreichen Ausführung der gewünschten Nachrichtenübertragung verkürzt und der einer vorgegebenen Netzlast entsprechenden mittleren Wartezeit angepaßt werden.If the incoming priority channel is also switched in the event that the incoming transmission channel is a connecting channel from another connecting node, according to claim 2, only after a number of reverse signals corresponding to the number of units possibly triggering requests via this connecting channel has arrived via the occupied outgoing transmission channel , the waiting time of these units can be shortened until the desired message transmission has been successfully carried out and the mean waiting time corresponding to a predetermined network load can be adapted.

Bei dem neuen Kommunikationssystem gemäß der Erfindung können die physikalischen Ubertragungskanäle ohne weiteres auch als virtuelle Übertragungskanäle betrieben werden, was den Anwendungsbereich und den Freiheitsgrad bei der Netzgestaltung für die Verbindungsknoten erweitert. Bei gleichrangigen virtuellen Ubertragungskanälen vervielfacht sich gemäß Patentanspruch 3 lediglich die Anzahl der eine Anforderung stellenden Kanäle entsprechend der Anzahl der zu berücksichtigenden virtuellen Übertragungskanäle, die bei der Priorisierung einer Anforderung zu berücksichtigen sind, wobei die Rangfolgenänderung durch das Rückwärtssignal beibehalten werden kann.In the new communication system according to the invention, the physical transmission channels can also be operated as virtual transmission channels without any problems, which expands the area of application and the degree of freedom in the network design for the connection nodes. In the case of equal-ranking virtual transmission channels, only the number of requesting channels multiplies according to the number of virtual transmission channels to be taken into account, which are to be taken into account when prioritizing a request, the change in order of priority being maintained by the reverse signal.

Bei Berücksichtigung vorgegebener Prioritätsränge für die virtuellen Kanäle in Folge von zu berücksichtigenden Annahmesperren einiger Zieleinheiten im System ist es dagegen gemäß Patentanspruch 4 zweckmäßig, die Rangfolge der Prioritätsränge durch ein von der Weiterleitung der Nachricht über einen abgehenden Übertragungskanal abgeleitetes Steuersignal zu steuern, damit eine Nachricht auf einem virtuellen Kanal mit höherem Prioritätsrang schneller berücksichtigt wird und nicht gesperrt werden kann, wenn die Nachricht auf einem virtuellen Kanal mit niedrigerem Prioritätsrang auf eine Annahmesperre läuft und dann das Rückwärtssignal ausbleibt.Taking into account predetermined priority ranks for the virtual channels as a result of acceptance blocks to be taken into account Some target units in the system, on the other hand, it is expedient according to claim 4 to control the ranking of the priority ranks by a control signal derived from the forwarding of the message via an outgoing transmission channel, so that a message on a virtual channel with a higher priority rank is taken into account more quickly and cannot be blocked if the message runs on an acceptance lock on a lower priority ranking virtual channel and then the backward signal is absent.

Zusätzliche Maßnahmen bezüglich der Änderung der virtuellen Prioritätsrangfolgen ergeben sich schließlich aus Patentanspruch 5 bei der Anwendung des Kommunikationssystems in Multiprozessorsystemen mit gemeinsamen Speicher, um betriebsbedingte Verklemmungen zu vermeiden.Additional measures relating to the change of the virtual priority orders finally result from claim 5 when using the communication system in multiprocessor systems with common memory in order to avoid operational deadlocks.

In allen Anwendungsfällen mit virtuellen Übertragungskanälen bleiben gemäß Patentanspruch 6 die einmal belegten virtuellen Übertragungskanäle eines gewünschten Übertragungsweges belegt, bis das Rückwärtssignal eintrifft, während die benutzten physikalischen Übertragungskanäle bereits mit der Weiterleitung einer Nachricht über den jeweils belegten abgehenden Übertragungskanal wieder freigegeben werden. Auf diese Weise können gegebenenfalls auch über andere ankommende physikalische Übertragungskanäle eintreffende Nachrichten eines anderen virtuellen Prioritätsranges zwischenzeitlich über denselben abgehenden physikalischen Kanal weitergeleitet werden.In all applications with virtual transmission channels, the once occupied virtual transmission channels of a desired transmission path remain occupied until the reverse signal arrives, while the physical transmission channels used are already released again with the forwarding of a message via the respectively used outgoing transmission channel. In this way, if necessary, messages of another virtual priority rank arriving via other incoming physical transmission channels can also be forwarded in the meantime via the same outgoing physical channel.

Weiterbildungen der Erfindung ergeben sich im übrigen aus den Patentansprüchen 7 bis 14, die sich auf die Ausbildung der Verbindungsknoten und der in jedem Verbindungsknoten benötigten Prioritätssteuerung beziehen.Further developments of the invention result from the claims 7 to 14, which relate to the formation of the connection nodes and the priority control required in each connection node.

Einzelheiten der Erfindung seien nachfolgend anhand eines in der Zeichnung dargestellten Ausführungsbeispieles näher erläutert. Im einzelnen zeigen

FIG 1
ein Strukturbild eines Multiprozessorsystems mit einem Kommunikationssystem gemäß der Erfindung,
FIG 2
ein Ablaufdiagramm für die Nachrichtenübertragung gemäß der Erfindung,
FIG 3
einen Verbindungsknoten des Kommunikationssystems gemäß FIG 1 mit den benötigten virtuellen Kanälen für die einzelnen Einheiten und Verbindungskanäle zur Sicherung eins verklemmungsfreien Betriebs des Multiprozessorsystems,
FIG 4
eine Übersichtstabelle der zwischen den einzelnen Einheiten als Quellen und Senken des Verbindungsnetzwerkes benötigten virtuellen Kanäle mit ihrem Prioritätsrang in Anlehnung an FIG 3,
FIG 5
ein Blockschaltbild eines Verbindungsknotens,
FIG 6
ein Blockschaltbild einer Auswahleinrichtung für die ankommenden virtuellen Kanäle eines physikalischen Kanals gemäß FIG 5,
FIG 7
ein Ablaufdiagramm für die Wegedurchschaltung in einem Verbindungsknoten gemäß FIG 5,
FIG 8 bis FIG 10
Beispiele einer möglichen gegenseitigen Blockade der Nachrichtenübertragung über virtuelle Übertragungskanäle unterschiedlichen Prioritätsranges abhängig von der Änderung der jeweiligen virtuellen Prioritätsrangfolgen durch das Rückwärtssignal oder bei Weiterleitung einer Nachricht,
FIG 11
eine die Auswahleinrichtungen von FIG 6 ergänzende Überwachungsschaltung zur Feststellung von anstehenden Anforderungen unabhängig vom Prioritätsrang der benutzten virtuellen Übertragungskanäle zur Beeinflussung der Prioritätssteuerung von FIG 5,
FIG 12
ein Blockschaltbild der Prioritätssteuerung von FIG 5,
FIG 13 und FIG 14
Beispiele für verschiedene Prioritätsrangfolgen mit Bezug auf die an einem Verbindungsknoten ankommenden Kanäle für die Auswahlsteuerung in der Prioritätssteuerung gemäß FIG 9,
FIG 15
eine zugehörige Wahrheitstabelle zur Ermittlung der Anforderung mit der jeweils höchsten Priorität,
FIG 16 und FIG 17
Schaltungsbeispiele zur Realisierung der Wahrheitstabelle von FIG 12,
FIG 18
eine Steuerschaltung zur Änderung der virtuellen Prioritäten in der Prioritätssteuerung von FIG 9,
FIG 19
eine Netzwerkkonfiguration für acht Verbindungsknoten in einem 3-dimensionalen binären System und
FIG 20
ein Blockschaltbild zur Berücksichtigung mehrerer über einen ankommenden Kanal eintreffender Nachrichten.
Details of the invention are explained in more detail below with reference to an embodiment shown in the drawing. Show in detail
FIG. 1
2 shows a structural diagram of a multiprocessor system with a communication system according to the invention,
FIG 2
a flow chart for the message transmission according to the invention,
FIG 3
1 with the required virtual channels for the individual units and connection channels to ensure jam-free operation of the multiprocessor system,
FIG 4
an overview table of the virtual channels required between the individual units as sources and sinks of the connection network with their priority rank based on FIG. 3,
FIG 5
a block diagram of a connection node,
FIG 6
5 shows a block diagram of a selection device for the incoming virtual channels of a physical channel according to FIG. 5,
FIG 7
5 shows a flowchart for path switching in a connection node according to FIG. 5,
8 to 10
Examples of a possible mutual blockage of message transmission via virtual transmission channels of different priority levels depending on the change in the respective virtual priority order by the reverse signal or when a message is forwarded,
FIG 11
a monitoring circuit supplementing the selection devices of FIG. 6 for determining pending requirements regardless of the priority rank of the used virtual transmission channels for influencing the priority control of FIG. 5,
FIG 12
5 shows a block diagram of the priority control of FIG. 5,
FIG. 13 and FIG. 14
Examples of different priority orders with reference to the channels arriving at a connection node for the selection control in the priority control according to FIG. 9,
FIG. 15
an associated truth table to determine the requirement with the highest priority,
16 and 17
Circuit examples for realizing the truth table of FIG 12,
FIG 18
a control circuit for changing the virtual priorities in the priority control of FIG 9,
FIG 19
a network configuration for eight connection nodes in a 3-dimensional binary system and
FIG 20
a block diagram to take into account several messages arriving via an incoming channel.

FIG 1 zeigt das Strukturbild eines Multiprozessorsystems, bei dem das Kommunikationssystem gemäß der Erfindung eingesetzt ist. Das Vermittlungsnetzwerk VN besteht z.B. aus zwei Verbindungsknoten VK1 und VK2, die durch bidirektionale Verbindungskanäle K als bidirektionale Übertragungskanäle CH...(v) miteinander verbunden sind und an die alle Einheiten M..., CPU..., IOP... in gleicher Weise über bidirektionale Übertragungskanäle CH...(v) angeschlossen sind, wobei alle Übertragungskanäle als virtuelle Kanäle betrieben werden. Die Anzahl der VerbindungsVK... im Vermittlungsnetzwerk VN kann beliebig groß und die Beschaltung der einzelnen Verbindungsknoten VK... mit Speichereinheiten M und operativen Einheiten in Form von Prozessoren CPU... und Ein-/Ausgabesystemen IOP... wahlweise unterschiedlich sein.1 shows the structural diagram of a multiprocessor system in which the communication system according to the invention is used. The switching network VN consists, for example, of two connection nodes VK1 and VK2, which are connected to one another by bidirectional connection channels K as bidirectional transmission channels CH ... (v) and to which all units M ..., CPU ..., IOP ... in are connected in the same way via bidirectional transmission channels CH ... (v), with all transmission channels being operated as virtual channels. The number of connection sales ... in the switching network VN can be of any size and the wiring of the individual connection nodes VK ... with memory units M and operational units in the form of processors CPU ... and input / output systems IOP ... can be different.

Ausgehend von einem Verbindungsknoten VK.. mit einer oder zwei Speichereinheiten M..., einem Prozessor CPU... und einem Ein-/Ausgabesystem IOP... als Monoprozessor kann in Verbindung mit einem gleichartig beschaltetem Verbindungsknoten auf ein Biprozessorsystem als kleinstes Multiprozessorsystem erweitert werden, das durch hinzufügen weiterer Verbindungsknoten VK... zu einem Multiprozessorsystem der gewünschten Größe ausgebaut werden kann. Als Vorleistung für einen konzipierten Maximalausbau mit n Verbindungsknoten VK... ist lediglich eine ausreichende Anzahl von Verbindungskanälen K... an jedem Verbindungsknoten VK... und eine entsprechend ausgelegte Durchschaltesteuerung zu erbringen. So lassen sich z.B. bei drei an einem Verbindungsknoten VK... angeschlossenen Verbindungskanälen K... Multiprozessorsysteme mit bis zu 8 Verbindungsknoten und entsprechend vielen Prozessoren CPU realisieren, wobei an jedem Verbindungsknoten VK... gleichzeitig mehrere Übertragungswege durchgeschaltet werden können.Starting from a connection node VK .. with one or two memory units M ..., a processor CPU ... and an input / output system IOP ... as a monoprocessor, in conjunction with a similarly connected connection node, you can expand to a biprocessor system as the smallest multiprocessor system that can be expanded to a multiprocessor system of the desired size by adding further connection nodes VK ... As a preliminary for a designed maximum configuration with n connection nodes VK ..., only a sufficient number of connection channels K ... at each connection node VK ... and an appropriately designed switching control must be provided. For example, With three connection channels K ... connected to a connection node V ... implement multiprocessor systems with up to 8 connection nodes and a corresponding number of processors CPU, whereby several transmission paths can be switched through simultaneously at each connection node VK ...

Das dem Kommunikationssystem gemäß der Erfindung zugrundeliegende Übertragungsverfahren arbeitet mit Unterteilung einer Nachricht in gleichlange Teile mit gemeinsamem Nachrichtenkopf, wobei der Nachrichtenkopf zur Steuerung der Wegedurchschaltung und die zugehörigen Nachrichtenteile jeweils nacheinander vollständig ausgesendet werden, und das Erreichen des Endpunktes eines Übertragungsweges dem jeweiligen Ausgangspunkt durch eine Rückmeldung bestätigt wird. Trifft diese Rückmeldung nicht bis zu einem vorgegebenen Zeitpunkt nach Beginn der Nachrichtenaussendung ein, dann wird die gesamte Nachricht automatisch wiederholt. Die vorgegebene Wartezeit läßt sich dabei sehr einfach von der Laufzeit einer Nachricht zum vorgegebenen Zielpunkt ableiten. Ist die Nachricht ausreichend lang und der Übertragungsweg kurz, kann das Rückwärtssignal ohne weiteres bereits eintreffen, bevor das Endesignal gesendet worden ist. Außerdem wird insgesamt nur ein Rückwärtssignal benötigt, und es sind in den Verbindungsknoten keine Speicher für eine länger andauernde Zwischenspeicherung erforderlich.The transmission method on which the communication system according to the invention is based works by subdividing a message into equally long parts with a common message header, the message header for controlling the path switching and the associated message parts being sent out completely one after the other, and reaching the end point of a transmission route and the respective starting point by means of feedback is confirmed. If this confirmation does not arrive by a predetermined time after the start of the message transmission, the entire message is repeated automatically. The predefined waiting time can be derived very easily from the duration of a message to the predefined target point. Is the message long enough and the transmission route in short, the reverse signal can easily arrive before the end signal has been sent. In addition, only one reverse signal is required overall, and no memories are required in the connection nodes for a longer-term intermediate storage.

FIG 2 zeigt einen entsprechenden Übertragungsablauf. Die mit DAT bezeichnete Zeile gibt die zu übertragende Nachricht wieder, die aus einem Nachrichtenkopf NK und beispielsweise den Nachrichtenteilen 1 bis 8 besteht. Der Nachrichtenkopf NK wird jeweils von einem gesonderten Anforderungssignal REQ(v) und der jeweils letzte Nachrichtenteil von einem Endesignal EOT begleitet. Mit der ersten Aussendung S1 der Nachricht beginnt die Überwachungszeit TD. Trifft die Rückmeldung ACK(v) nicht rechtzeitig ein, erfolgt automatisch eine Wiederholung S2 der gesamten Nachricht. Es kann dabei mehrere solcher Wiederholungen geben, bis die Rückmeldung ACK(v) eintrifft.2 shows a corresponding transmission sequence. The line labeled DAT represents the message to be transmitted, which consists of a message header NK and, for example, message parts 1 to 8. The message header NK is accompanied by a separate request signal REQ (v) and the last part of the message is accompanied by an end signal EOT. The monitoring time T D begins with the first transmission S1 of the message. If the response ACK (v) does not arrive in time, the entire message is automatically repeated S2. There may be several such repetitions until the ACK (v) feedback arrives.

Damit eine Nachricht nicht zu oft wiederholt werden muß, bis sie ihr Ziel erreicht, werden alle im Rahmen eines herzustellenden Übertragungsweges bereits belegten Übertragungskanäle jeweils solange belegt gehalten, bis die Rückmeldung auf dem Wege zur sendenden Einheit eingetroffen ist. Der Übertragungsweg braucht also bei jeder Nachrichtenwiederholung nicht jeweils vom Anfangspunkt aus neu hergestellt zu werden.So that a message does not have to be repeated too often until it reaches its destination, all of the transmission channels already occupied within the framework of a transmission path to be established are kept occupied until the reply has arrived on the way to the sending unit. The transmission path therefore does not have to be re-established from the starting point each time the message is repeated.

Dies wird dadurch bewirkt, daß die Prioritätsrangfolge der ankommenden Übertragungskanäle bezogen auf einen abgehenden Übertragungskanal erst durch das Rückwärtssignal ACK... geändert wird, also wenn eine Nachricht die Zieleinheit erreicht hat. Solange dies nicht der Fall ist, bleibt ein höchstpriorisierter ankommender Kanal auch der höchstpriorisierte, so daß über diesen Kanal wiederholt eintreffende Nachrichten jedesmal unmittelbar weitergeleitet werden können. Da sich dieses Spiel in jedem nachfolgenden Verbindungsknoten VK... fortsetzt, wird nach endlicher Zeit der gewünschte Übertragungsweg mit Sicherheit hergestellt, und die mit dem Rückwärtssignal ACK... wieder freigegebenen Übertragungskanäle können für die Herstellung anderer Übertragungswege verwendet werden.This is achieved in that the priority order of the incoming transmission channels with respect to an outgoing transmission channel is only changed by the backward signal ACK ..., that is, when a message has reached the target unit. As long as this is not the case, an incoming channel with the highest priority also remains the highest priority, so that messages arriving repeatedly via this channel can be forwarded immediately each time. Since this game continues in each subsequent connection node VK ..., the desired transmission path is established with certainty after a finite time, and that with the reverse signal ACK ... again Approved transmission channels can be used to create other transmission paths.

Das gilt ebenso für den Fall, daß die physikalischen als virtuelle Übertragungskanäle betrieben werden. Es vervielfacht sich bei gleichrangigen virtuellen Kanälen lediglich die Anzahl der Anforderungen stellenden und daher von der Prioritätssteuerung zur berücksichtigenden Übertragungskanäle, indem entsprechend der Ordnungszahl der virtuellen Kanäle die physikalischen Kanäle Gruppen bilden und innerhalb jeder Gruppe der jeweils höchstpriorisierte physikalische Kanal ermittelt wird. Von diesen wird dann derjenige der jeweils höchstpriorisierten virtuellen Gruppe berücksichtigt.This also applies to the case that the physical as virtual transmission channels are operated. In the case of equal-ranking virtual channels, only the number of requesting transmission channels, which are therefore to be taken into account by the priority control, is multiplied by the physical channels forming groups in accordance with the ordinal number of the virtual channels and the highest-priority physical channel being determined within each group. Of these, the one of the highest priority virtual group is then taken into account.

Etwas komplexer gestalten sich die Verhältnisse, wenn gemäß FIG 1 das Kommunikationssystem für ein Multiprozessorsystem mit gemeinsamem Speicher verwendet wird und virtuelle Übertragungskanäle unterschiedlichen Prioritätsranges erforderlich werden, um einen geordneten Betrieb verhindernde Systemverklemmungen zu vermeiden.The situation is somewhat more complex if, according to FIG. 1, the communication system is used for a multiprocessor system with shared memory and virtual transmission channels of different priority levels are required in order to avoid system deadlocks which prevent orderly operation.

Wie bereits in der parallelen europäischen Patentanmeldung ......................... (GR 90 P 1680 E) ausführlich dargelegt worden ist, erfordert die Abwicklung eines Auftrages, z.B. das Lesen von Daten aus einer der Speichereinheiten M..., die aufeinanderfolgende Herstellung mehrerer verschiedener Übertragungswege.As already explained in detail in the parallel European patent application ......................... (GR 90 P 1680 E), the processing of an order requires e.g. reading data from one of the memory units M ..., the successive production of several different transmission paths.

Anforderungen zur Abwicklung eines Auftrages gehen dabei immer von einer der operativen Einheiten CPU... oder IOP... als Quellpunkt aus und werden in der virtuellen Ebene v2 mit der niedrigsten Priorität v=2 entweder direkt oder über zwischengeschaltete Verbindungskanäle K..., deren Anzahl im Prinzip keine Rolle spielt, zu einer Speichereinheit M... als Endpunkt dieses ersten Übertragungsweges geleitet. Die Speichereinheit ist dann Quellpunkt für einen weiteren Übertragungsweg in einer höheren virtuellen Ebene, und zwar in der höchsten virtuellen Ebene v0, wenn die Daten in der Speichereinheit greifbar sind und unmittelbar an die anfordernde Einheit D als Endpunkt übertragen werden können, oder in einer virtuellen Zwischenebene v1, wenn zunächst der Übertragungsweg zu einem Cachespeicher CA... als Endpunkt - gegebenenfalls wieder direkt oder über zwischengeschaltete Verbindungskanäle K - aufgebaut werden muß. Als Quellpunkt leitet der angesteuerte Cachespeicher CA... dann in einen weiteren Übertragungsweg über, wobei Endpunkt im einen Falle unmittelbar die anfordernde Einheit oder zunächst die anfordernde Speichereinheit M... ist, von der dann ein weiterer Übertragungsweg zur anfordernden Einheit führt. Für den gesamten Übertragungsweg vom Cachespeicher CA... über die Speichereinheit M... zur anfordernden Einheit können dann einheitlich virtuelle Übertragungskanäle desselben Prioritätsranges, nämlich der höchsten Prioritätsebene v0, verwendet werden.Requirements for processing an order always come from one of the operational units CPU ... or IOP ... as the source point and are in the virtual level v2 with the lowest priority v = 2 either directly or via intermediate connection channels K ..., the number of which, in principle, does not matter, is directed to a storage unit M ... as the end point of this first transmission path. The storage unit is then the source point for a further transmission path in a higher virtual level, specifically in the highest virtual level v0, if the data in the storage unit is available and can be transmitted directly to the requesting unit D as an end point, or in a virtual intermediate level v1, if the transmission path to a cache memory CA ... as an end point - if necessary again directly or via intermediary connection channels K - must be built. The controlled cache memory CA ... then transfers the source point to another transmission path, the end point in one case being the requesting unit or the requesting storage unit M ..., from which a further transmission path then leads to the requesting unit. Virtual transmission channels of the same priority level, namely the highest priority level v0, can then be used uniformly for the entire transmission path from the cache memory CA ... via the memory unit M ... to the requesting unit.

Daraus resultiert, daß nicht alle physikalischen Übertragungskanäle an einem Verbindungsknoten VK in gleichem Umfange als virtuelle Übertragungskanäle CH...(v) betrieben werden müssen. Alle operativen Einheiten ohne private Cachespeicher CA... benötigen abgehend und ankommend je nur einen virtuellen Kanal in der Ebene v2 bzw. v0. Alle operativen Einheiten mit Cachespeicher CA... benötigen zusätzlich einen ankommenden Kanal in der Ebene v1 und einen abgehenden Kanal in der Ebene v0, während für jede Speichereinheit M... je ein ankommender virtueller Kanal in der Ebene v2 und v0 sowie je ein abgehender Kanal in der Ebene v1 und v0 erforderlich ist. Lediglich die Verbindungskanäle K... zwischen den Verbindungsknoten VK... erfordern in jeder Übertragungsrichtung je einen Kanal in jeder der virtuellen Ebenen v2, v1 und v0. FIG 3 zeigt die entsprechende Verteilung der beim Anschluß der einzelnen Einheiten und Verbindungskanäle an einen Verbindungsknoten benötigten virtuellen Kanäle CH...(0) bis CH...(2).The result of this is that not all physical transmission channels at a connection node VK have to be operated to the same extent as virtual transmission channels CH ... (v). All operational units without private cache memory CA ... need only one virtual channel in level v2 or v0 for outgoing and incoming. All operational units with cache memory CA ... additionally require an incoming channel in level v1 and an outgoing channel in level v0, while for each storage unit M ... an incoming virtual channel in levels v2 and v0 and an outgoing channel Channel in level v1 and v0 is required. Only the connection channels K ... between the connection nodes VK ... require one channel in each of the transmission directions in each of the virtual levels v2, v1 and v0. 3 shows the corresponding distribution of the virtual channels CH ... (0) to CH ... (2) required when connecting the individual units and connection channels to a connection node.

Eine entsprechende Übersichtstabelle mit den gemäß der vertikalen Auflistung als Quellpunkte SP... und gemäß der horizontalen Auflistung als Endpunkte TP... an einen Verbindungsknoten ten angeschlossenen Einheiten und Verbindungskanäle ist in FIG 4 wiedergegeben. Als Einheiten können in Frage kommen globale Speichereinheiten GSU..., Ein-/Ausgabesysteme IOP..., Prozessoren CPU ohne Cachespeicher, Prozessoren mit Cachespeicher CA/CPU... sowie Speichereinheiten M.... Dabei sind direkte Verbindungen zwischen ankommenden und abgehenden Übertragungskanälen derselben Einheit oder desselben Verbindungskanales sowie zwischen den Speichereinheiten M... ausgeschlossen, wie die waagerechten Striche in den einzelnen Feldern andeuten, während die Ziffern in den übrigen Feldern die einzelnen Prioritätsränge v=0, 1 oder 2 entsprechend den virtuellen Ebenen v0, v1 und v2 der virtuellen Übertragungskanäle CH...(v) angeben und zwar zeilenweise ankommend und spaltenweise abgehend mit Bezug auf die jeweilige Einheit oder den jeweiligen Verbindungskanal K....A corresponding overview table with the according to the vertical listing as source points SP ... and according to the horizontal listing as end points TP ... to a connection node The connected units and connection channels are shown in FIG. 4. Global storage units GSU ..., input / output systems IOP ..., processors CPU without cache memory, processors with cache memory CA / CPU ... and storage units M .... can be used as units. There are direct connections between incoming and outgoing transmission channels of the same unit or the same connection channel and between the storage units M ... excluded, as indicated by the horizontal lines in the individual fields, while the numbers in the other fields indicate the individual priority ranks v = 0, 1 or 2 according to the virtual levels v0, Specify v1 and v2 of the virtual transmission channels CH ... (v), arriving line by line and column by line with reference to the respective unit or connection channel K ....

FIG 5 zeigt das Blockschaltbild eines Verbindungsknotens. Gezeigt sind im linken Teil zwei ankommende physikalische Übertragungskanäle CH1 und CH2 sowie zwei abgehende physikalische Übertragungskanäle CH3 und CH4 im rechten Teil, wobei lediglich die physikalische Verbindung zwischen den Übertragungskanälen CH1 und CH3 mit den zugehörigen Übertragungsleitungen gemäß FIG 2 ausführlicher dargestellt ist.5 shows the block diagram of a connection node. Shown in the left part are two incoming physical transmission channels CH1 and CH2 and two outgoing physical transmission channels CH3 and CH4 in the right part, only the physical connection between the transmission channels CH1 and CH3 with the associated transmission lines according to FIG. 2 being shown in more detail.

Alle ankommenden Übertragungskanäle CH... werden mit ihren Übertragungsleitungen auf ein Empfangsregister EREG1 geführt, und von jedem Empfangsregister führt ein Verbindungsweg zu jedem abgehenden möglichen Übertragungskanal, genauer gesagt zu einem Eingang E-CH... eines Auswahlschalters, z.B. MUX3, der jedem abgehenden Kanal, z.B. CH3, individuell zugeordnet ist und an dessen Ausgang jeweils ein Senderegister, z.B. SREG3, angeschaltet ist. Beide Register werden periodisch wiederholt im Abstand voneinander getaktet, so daß jede über einen ankommenden Übertragungskanal ankommende Teilnachricht, Nachrichtenkopf oder Nachrichtenteil, daher nur kurzzeitig in den Registern EREG1 und SREG3 nacheinander gespeichert wird, um bei einem Nachrichtenkopf NK zwischenzeitlich die Einstellung des Auswahlschalters, z.B. MUX3, zu ermöglichen, wenn der gewünschte abgehende Kanal, z.B. CH3, frei ist.All incoming transmission channels CH ... are led with their transmission lines to a receive register EREG1, and from each receive register a connection path leads to every outgoing possible transmission channel, more precisely to an input E-CH ... of a selection switch, for example MUX3, which outgoing each Channel, eg CH3, is individually assigned and a transmission register, eg SREG3, is connected to the output of each. Both registers are periodically repeated, spaced from one another, so that each partial message, message header or message part arriving via an incoming transmission channel is therefore only stored briefly in succession in the registers EREG1 and SREG3, in order to temporarily adjust the setting of a message header NK Enable selection switch, e.g. MUX3, if the desired outgoing channel, e.g. CH3, is free.

Ist die Sendedauer für die einzelnen Teilnachrichten kleiner als die Zeit bis zur Einstellung des Auswahlschalters MUX... und damit bis zur Durchschaltung des Verbindungsweges zum Senderegister SREG..., dann kann durch dem Empfangsregister EREG... nachgeschaltete und im gleichen Rhythmus getaktete, nicht gezeigte Zwischenregister eine entsprechende Verzögerung in der Weiterleitung der Nachrichten erreicht werden.If the transmission time for the individual partial messages is shorter than the time until the selection switch MUX is set ... and thus until the connection path to the transmission register SREG ... is switched through, the reception register EREG ... can be used to switch downstream and clocked in the same rhythm, Intermediate registers not shown, a corresponding delay in the forwarding of the messages can be achieved.

In entgegengesetzter Richtung besteht ein gleichartiger aufgebauter Verbindungsweg für die Rückmeldung ACK(v) mit einem Empfangsregister, z.B. A-EREG3, einem Auswahlschalter, z.B. A-MUX1, und einem Senderegister, z.B. A-SREG1, so daß eine über einen abgehenden Kanal, z.B. CH3, ankommende Rückmeldung ACK(v) jedem ankommenden Kanal, z.B. CH1, zugeleitet werden kann.In the opposite direction there is a similarly constructed connection path for the feedback ACK (v) with a receive register, e.g. A-EREG3, a selection switch, e.g. A-MUX1, and a transmit register, e.g. A-SREG1, so that one over an outgoing channel, e.g. CH3, incoming feedback ACK (v) every incoming channel, e.g. CH1, can be fed.

Die Ermittlung des jeweils durchzuschaltenden Verbindungsweges erfolgt durch eine jedem ankommenden virtuellen Kanal CH...(v) zugeordnete Auswahleinrichtung CHSEL-ST(v...) zur Ermittlung des den jeweils zu belegenden abgehenden virtuellen Kanal einschließenden Wegesignales CHSELij(v) in Verbindung mit einer alle diese Wegesignale CH(i)(j)(v) auswertenden Prioritätssteuerung PRIO-ST.The connection path to be switched through is determined by a selection device CHSEL-ST (v ...) assigned to each incoming virtual channel CH ... (v) in order to determine the path signal CHSELij (v) including the outgoing virtual channel to be assigned in connection with one of these priority signals CH (i) (j) (v) evaluating priority control PRIO-ST.

Diese Auswahleinrichtungen CHSEL-ST... werden jeweils durch eine das Eintreffen einer Anforderung REQ(v) überwachenden Freigabeeinrichtung EN-ST, z.B. eine bistabile Kippstufe je Prioritätsrang v, zur Auswertung des zugehörigen Nachrichtenkopfes NK freigegeben.These selection devices CHSEL-ST ... are each activated by a release device EN-ST that monitors the arrival of a request REQ (v), e.g. one bistable flip-flop per priority rank v, released for evaluating the associated message header NK.

Bei j abgehend belegbaren Übertragungskanälen können von jedem ankommenden Übertragungskanal ausgehend maximal j verschiedene Wegesignale für jede virtuelle Ebene, z.B. v0 bis v2, erzeugt werden. Jedem dieser Wegesignale entspricht ein Einstellsignal REQ(i)(j) von denen bei jeweils i zu einem Ausgangskanal durchschaltbaren ankommenden Kanälen sich jeweils i Einstellsignale auf denselben Ausgangskanal und damit denselben Auswahlschalter, z.B. MUX3, beziehen. Diese Gruppen von jeweils auf denselben abgehenden Kanal CHj bezogenen Einstellsignalen REQ(i)j werden jeweils einem, dem zugehörigen Auswahlschalter, z.B. MUX3, zugeordneten Einstellgenerator, z.B. SEL-G3, zugeführt, der daraus die Einstellinformation, z.B. SEL1, für den Auswahlschalter ableitet und speichert, bis das Endesignal EOT der Nachricht am Ausgang des zugehörigen Senderegisters, z.B. SREG3, erscheint.With j outgoing assignable transmission channels, a maximum of j different route signals can be generated for each virtual level, for example v0 to v2, starting from each incoming transmission channel. Each of these path signals corresponds to a setting signal REQ (i) (j), of which i can be switched through to an output channel incoming channels refer i setting signals to the same output channel and thus the same selector switch, eg MUX3. These groups of setting signals REQ (i) j, each relating to the same outgoing channel CHj, are each fed to a setting generator, for example SEL-G3, associated with the associated selection switch, for example MUX3, which derives the setting information, for example SEL1, for the selection switch and stores until the end signal EOT of the message appears at the output of the associated transmission register, eg SREG3.

Die physikalische Durchschaltung wird damit wieder freigegeben, nicht jedoch die Belegung des abgehenden virtuellen Kanals CH...(v). Die Aufrechterhaltung dieser Belegung wird durch die Einrichtung DIS-ST gesteuert, die alle von den übrigen ankommenden virtuellen Kanälen ausgehenden und denselben virtuellen abgehenden Kanal CH...j(v) betreffenden Wegesignale durch entsprechende Sperrsignale DIS(i)j(v) sperrt, wobei die jeweils auf einen ankommenden Kanal CHi bezogenen Sperrsignale DISi(j)(v) der jeweils zugehörigen Auswahleinrichtung CHSEL-STv... zugeleitet werden. Diese Sperrsignale werden in einfacher Weise aus der vom Einstellgenerator SEL-G... gelieferten Einstellinformationen SEL... in Verbindung mit dem vom weitergeleiteten Anforderungssignal REQ(v) angezeigten Prioritätsrang v abgeleitet und bleiben dann wirksam, bis ein von der ankommenden Rückmeldung ACK(v) abgeleitetes Endesignal ENDj(v) eintrifft. Bei der Weiterleitung der Rückmeldung an den jeweils ankommenden Übertragungskanal wird außerdem die Freigabeeinrichtung EN-ST wieder zurückgestellt, so daß das bisher gültige Wegesignal CHSELij(v) entfällt und damit auch der ankommende Kanal wieder freigegeben wird.The physical connection is released again, but not the assignment of the outgoing virtual channel CH ... (v). The maintenance of this assignment is controlled by the DIS-ST device, which blocks all route signals originating from the other incoming virtual channels and relating to the same virtual outgoing channel CH ... j (v) by means of corresponding blocking signals DIS (i) j (v), the blocking signals DISi (j) (v) relating to an incoming channel CHi are fed to the respectively associated selection device CHSEL-STv .... These blocking signals are derived in a simple manner from the setting information SEL ... provided by the setting generator SEL-G ... in conjunction with the priority rank v indicated by the forwarded request signal REQ (v) and then remain effective until a response from the incoming feedback ACK ( v) derived end signal ENDj (v) arrives. When the feedback is forwarded to the respective incoming transmission channel, the EN-ST release device is also reset, so that the previously valid route signal CHSELij (v) is omitted and the incoming channel is thus released again.

FIG 6 zeigt die für einen ankommenden Verbindungskanal (z.B. CH1 = Kx) benötigten Auswahleinrichtungen CHSEL-STv... für die drei möglichen virtuellen Kanäle des Prioritätsranges v = 0, 1 und 2. Alle drei Auswahleinrichtungen bestehen aus einem Eingangsregister REG(v) von denen eines bei Eintreffen eines Nachrichtenkopfes NK in Folge des gleichzeitigen Anforderungssignales, z.B. REQ1(v), die Ansteuerinformation FLIT... übernimmt, die die Adresse ZVKAD des Zielverbindungsknotens und die Adresse UNAD der Zieleinheit enthält. Mit der Einrichtung VK-DEC wird anhand der Adresse VKAD des erreichten Verbindungsknotens jeweils überprüft, ob ein anderer Verbindungsknoten anzusteuern und welcher abgehende Verbindungskanal, z.B. Ky oder Kz, zu belegen ist, oder ob eine der Einheiten am eigenen Verbindungsknoten anzusteuern ist. Im letzteren Fall ist wegen der entsprechend der Tabelle von FIG 4 gegebenen Verkehrsmöglichkeiten ein zusätzlicher Adressendecoder UN-DEC nur für den Prioritätsrang v = 0 erforderlich, da in den anderen Fällen nur ein Cachespeicher CA/CPU... oder eine Speichereinheit M... am eigenen Verbindungsknoten betroffen sein kann.6 shows the selection devices CHSEL-STv ... required for an incoming connection channel (eg CH1 = Kx) for the three possible virtual channels of the priority rank v = 0, 1 and 2. All three selection devices consist of an input register REG (v) from which one when a message header arrives NK as a result of the simultaneous request signal, for example REQ1 (v), takes over the control information FLIT ... which contains the address ZVKAD of the target connection node and the address UNAD of the target unit. The device VK-DEC uses the address VKAD of the connection node reached to check whether another connection node is to be controlled and which outgoing connection channel, for example Ky or Kz, is to be assigned, or whether one of the units is to be controlled at its own connection node. In the latter case, an additional address decoder UN-DEC is only required for the priority rank v = 0 because of the traffic possibilities given in accordance with the table in FIG. 4, since in the other cases only a cache memory CA / CPU ... or a memory unit M ... at your own connection node.

Für alle möglichen Ausgänge der Einrichtungen VK-DEC und UN-DEC ist weiterhin ein nachgeschaltetes UND-Glied UND vorgesehen, daß das jeweilige Wegesignal CHSEL... liefert, wenn nicht die Erzeugung durch ein entsprechendes Sperrsignal DIS... verhindert wird. Außerdem werden die Wegesignale CHSEL für Einheiten M..., CA/CPU..., IOP... oder GSU... am erreichten Verbindungsknoten unterdrückt, wenn einer der abgehenden Verbindungskanäle, z.B. Ky oder Kz, zu belegen ist. Dadurch wird verhindert, daß die Adresse UNAD irrtümlich ausgewertet wird, bevor der Zielverbindungsknoten erreicht worden ist. Weiterhin kann zwischen den Ausgängen der Einrichtung VK-DEC und den zugehörigen UND-Gliedern UND jeweils eine Umsteuereinrichtung UST vorgesehen sein, die bei Störung oder Nichtvorhandensein eines ausgewählten Verbindungskanales, z.B. Ky, anhand der zusätzlichen Informationen STAT eine Umsteuerung auf einen anderen Kanal, z.B. Kz, ermöglicht. Freigegeben werden die so ermittelten Wegesignale CHSEL... schließlich durch ein vom Eingangssignal, z.B. REQ1(v) verzögert abgeleitetes Signal ACT(v).For all possible outputs of the devices VK-DEC and UN-DEC, a downstream AND gate AND is also provided that the respective path signal CHSEL ... delivers unless the generation is prevented by a corresponding blocking signal DIS ... In addition, the path signals CHSEL for units M ..., CA / CPU ..., IOP ... or GSU ... at the connection node reached are suppressed if one of the outgoing connection channels, e.g. Ky or Kz, is to be proven. This prevents the address UNAD from being evaluated erroneously before the destination connection node has been reached. Furthermore, a reversing device UST can be provided between the outputs of the device VK-DEC and the associated AND elements AND, which in the event of a fault or the absence of a selected connecting channel, e.g. Ky, using the additional information STAT to switch to another channel, e.g. Kz, allows. The path signals CHSEL ... determined in this way are finally released by a signal from the input signal, e.g. REQ1 (v) delays derived signal ACT (v).

Damit ergibt sich der in FIG 7 dargestellte Steuerungablauf: Das parallel zu einem Nachrichtenkopf NK über einen Ubertragungskanal CHi eintreffende Anforderungssignal REQi(v) führt, wenn kein Sperrsignal DIS... dies verhindert, mit einem Übernahmetakt TI zum Wegesignal CHSELij(v) für die Durchschaltung zum abgehenden Kanal CHj. Läßt die Prioritätssteuerung PRIO-ST die Durchschaltung zu, wird mit einem Steuertakt TS das Einstellsignal REQij und davon abhängig die Einstellinformation SELi erzeugt und gespeichert. Aufgrund des am Ausgang des zugehörigen Auswahlschalters MUXj wirksam werdenden weitergeleiteten Anforderungssignales REQj(v) werden dann mit einem Folgetakt TSL des Taktes TS die Sperrsignale DIS(k)j(v) für alle übrigen ankommenden Übertragungskanäle CH(k) außer für k = i erzeugt und gespeichert, so daß von diesen keine Wegesignale CHSEL(k)j(v) für den belegten abgehenden virtuellen Kanal CHj(v) erzeugt werden können. Nach Durchschaltung des Verbindungsweges zum abgehenden Kanal CHj erfolgt mit einem Ausgabetakt TO die Übernahme der über ein Zwischenregister weitergeleiteten Teilnachrichten, die dann aufeinanderfolgend nach Eintreffen über die ankommenden Datenleitungen DATi über die abgehenden Datenleitungen DATj weitergeleitet werden. Analoges gilt für die Begleitzeichen REQi(v) → REQj(v) und EOTi → EOTj. Mit der Weiterleitung des Endesignales EOTj wird das Einstellsignal SELi wieder unwirksam und die physikalische Verbindungsdurchschaltung durch RESREQj wieder aufgehoben. Dagegen wird die Belegung des virtuellen Kanales mit Eintreffen der Rückmeldung ACKj(v) in rückwärtiger Richtung, das als ACKi(v) weitergeleitet wird, aufgehoben, indem zunächst mit ENDj(v) die Sperrsignale DIS(k)j(v) und anschließend das Wegesignal CHSELij(v) über die Freigabesteuerung EN-ST mit dem Signal ENDi(v) durch Beendigung des Signales ACT...(v) unwirksam geschaltet werden (FIG 5).This results in the control sequence shown in FIG. 7: The request signal REQi (v) arriving in parallel to a message header NK via a transmission channel CHi leads to if no blocking signal DIS ... prevents this, with a takeover clock TI to the path signal CHSELij (v) for switching through to the outgoing channel CHj. If the priority control PRIO-ST permits the switch-through, the control signal TS generates the setting signal REQij and, depending on it, the setting information SELi and stores it. On the basis of the forwarded request signal REQj (v) taking effect at the output of the associated selection switch MUXj, the blocking signals DIS (k) j (v) for all other incoming transmission channels CH (k) are then generated with a subsequent clock TSL of the clock TS except for k = i and stored so that no path signals CHSEL (k) j (v) can be generated by them for the occupied outgoing virtual channel CHj (v). After the connection path to the outgoing channel CHj has been switched through, an output clock TO is used to take over the partial messages forwarded via an intermediate register, which are then successively forwarded via the outgoing data lines DATj via the incoming data lines DATi. The same applies to the accompanying characters REQi (v) → REQj (v) and EOTi → EOTj. With the forwarding of the end signal EOTj, the setting signal SELi becomes ineffective again and the physical connection switching through RESREQj is canceled again. In contrast, the assignment of the virtual channel with the arrival of the feedback ACKj (v) in the backward direction, which is forwarded as ACKi (v), is canceled by first using ENDj (v) the blocking signals DIS (k) j (v) and then that Path signal CHSELij (v) via the enable control EN-ST with the signal ENDi (v) by switching off the signal ACT ... (v) to be ineffective (FIG 5).

Welche von mehreren gleichzeitig bestehenden Übertragungsanforderungen der virtuellen Übertragungskanäle CH(i)(j)(v) an einem Verbindungsknoten jeweils als erste berücksichtigt wird, entscheidet die Prioritätssteuerung PRIO-ST.The PRIO-ST priority controller decides which of several simultaneous transmission requests of the virtual transmission channels CH (i) (j) (v) to be taken into account at a connection node.

Allgemein wäre es ausreichend, alle möglichen ankommenden virtuellen Übertragungskanäle in eine feste Prioritätsrangfolge einzugliedern und diese Rangfolge mit jedem Rückwärtssignal ACK... durch zyklische Verschiebung der jeweils höchsten Priorität zu ändern, so daß in jeder Rangfolge ein anderer der ankommenden Übertragungskanäle die höchste Priorität erhält.In general, it would be sufficient to integrate all possible incoming virtual transmission channels into a fixed priority order and this order of priority with each reverse signal ACK ... to be changed by cyclically shifting the highest priority so that a different one of the incoming transmission channels receives the highest priority in each order.

Dieses allgemeine Prinzip bereitet aber Schwierigkeiten, wenn in Systemen mit möglichen Annahmesperren für eine übertragene Nachricht an einzelnen Empfangseinheiten zu rechnen ist, da dann das Rückwärtssignal für die Prioritätsfortschaltung ausbleiben kann. Figur 8 veranschaulicht einen derartigen Fall in Bezug auf das zugrundegelegte Multiprozessorsystem. Die Speichereinheit M2 am Verbindungsknoten VK2 wartet beispielsweise auf Speicherdaten aus dem Cachespeicher CA1 am Verbindungsknoten VK1 und ist daher für weitere Anforderungen gesperrt. Zwischenzeitlich wird am Verbindungsknoten VK2 der virtuelle Prioritätsrang v = 2 eingestellt, so daß die Anforderungen vom Prozessor P2 an die Speichereinheit M2 durchgeschaltet ist. Da diese Anforderung von der Speichereinheit M2 nicht angenommen werden kann, bleibt das Rückwärtssignal ACK... aus. Folglich wird auch die gültige Prioritätsrangfolge nicht verändert, so daß die über den höher priorisierten virtuellen Übertragungskanal CH...(0) eintreffenden Daten vom Cachespeicher CA1 zur Speichereinheit M2 am Verbindungsknoten VK2 blockiert werden. Es kommt daher zu einer Systemverklemmung, die in einfacher Weise behoben werden kann, wenn die Prioritätsrangfolgen statt mit dem Rückwärtssignal ACK... durch ein von der Weiterleitung einer Nachricht abhängiges Signal, z.B. dem weitergeleiteten Endesignal EOT, geändert wird.However, this general principle presents difficulties when possible acceptance blocks for a transmitted message to individual receiving units are to be expected in systems, since the reverse signal for the priority advance can then be absent. Figure 8 illustrates such a case with respect to the underlying multiprocessor system. The storage unit M2 at the connection node VK2 waits, for example, for memory data from the cache memory CA1 at the connection node VK1 and is therefore blocked for further requests. In the meantime, the virtual priority rank v = 2 is set at the connection node VK2, so that the requests from the processor P2 to the storage unit M2 are switched through. Since this request cannot be accepted by the memory unit M2, the backward signal ACK ... does not occur. Consequently, the valid priority order is not changed, so that the data arriving via the higher priority virtual transmission channel CH ... (0) from the cache memory CA1 to the memory unit M2 at the connection node VK2 are blocked. There is therefore a deadlock, which can be easily remedied if the priority orders instead of the backward signal ACK ... by a signal dependent on the forwarding of a message, e.g. the forwarded end signal EOT is changed.

Mögliche Annahmesperren können also andere virtuelle Kanäle desselben physikalischen Übertragungskanals unter Umständen blockieren, so daß es notwendig ist, in diesem Falle die virtuellen Prioritätsrangfolgen abhängig von der Weiterleitung einer Nachricht über einen abgehend belegten Kanal zu ändern, während die physikalischen Prioritätsrangfolgen innerhalb eines jeden virtuellen Prioritätsranges weiterhin abhängig vom Rückwärtssignal geändert werden. Die garantierbare Ausführungszeit für die Übertragung einer Nachricht verlängert sich zwar dadurch, aber sie bleibt garantierbar, denn ein einmal eingestellter physikalischer Übertragungsweg behält die höchste Priorität bis zum Eintreffen des Rückwärtssignales, auch wenn die Prioritätsrangfolge der virtuellen Übertragungskanäle für diesen Übertragungsweg sich ändert.Possible acceptance locks can block other virtual channels of the same physical transmission channel under certain circumstances, so that it is necessary in this case to change the virtual priority orders depending on the forwarding of a message via an outgoing channel, while the physical priority orders within each virtual priority rank continue depending on the reverse signal. The guaranteed execution time for the transmission of a message is extended by but it remains guaranteed, because once a physical transmission path has been set, the highest priority remains until the return signal arrives, even if the priority order of the virtual transmission channels for this transmission path changes.

Wenn zusätzlich, wie bei dem zugrundegelegten Multiprozessorsystem, die Aufhebung einer Sperre von der Bevorzugung eines virtuellen Übertragungsweges abhängig ist, nämlich der Datentransfer vom Cachespeicher CA... zu einer Speichereinheit M... und anschließend zur anfordernden operativen Einheit, dann ist es weiterhin notwendig, im Falle der Bevorrechtigung der Übertragungskanäle des zugehörigen höchsten virtuellen Prioritätsranges v = 0 diesen solange beizubehalten, bis das Rückwärtssignal ACK... vorliegt, da dieses gleichbedeutend mit der Aufhebung einer Sperre ist.If, in addition, as with the underlying multiprocessor system, the lifting of a lock depends on the preference for a virtual transmission path, namely the data transfer from the cache memory CA ... to a storage unit M ... and then to the requesting operational unit, then it is still necessary , in the case of priority of the transmission channels of the associated highest virtual priority rank v = 0, to keep this until the reverse signal ACK ... is present, since this is equivalent to the lifting of a block.

Beide Steuerungsarten erfordern eine Zusatzmaßnahme, wie anhand von FIG 9 und FIG 10 gezeigt werden soll: FIG 9 liegt dabei die Annahme zugrunde, daß ein Cachespeicher CA1 auf dem virtuellen Kanal CH...(2) über den Verbindungsknoten VK1 und den Verbindungsknoten VK2 eine Anforderung abgesetzt hat, die aber noch nicht am Ziel angekommen ist, und am Verbindungsknoten VK1 ist augenblicklich der virtuelle Prioritätsrang v = 2 bevorrechtigt. Richtet in diesem Übertragungszustand eine der Speichereinheiten M... auf dem virtuellen Kanal CH...(1) eine Anforderung an den Cachespeicher CA1, die dieser sofort annimmt, dann unterbleibt in Folge dieser Unterbrechung die Nachrichtenwiederholung auf dem virtuellen Kanal CH...(2) und die Prioritätsrangfolge am Verbindungsknoten VK1 wird nicht geändert. Demzufolge läuft die nachfolgende Datenübertragung auf dem virtuellen Kanal CH...(0) am Verbindungsknoten VK1 auf eine Sperre, die bei einer Fortschaltung der virtuellen Prioritätsrangfolge abhängig von der Nachrichtenweiterleitung auf dem augenblicklich priorisierten virtuellen Übertragungskanal CH...(2) nicht behoben werden kann.Both types of control require an additional measure, as will be shown with reference to FIG 9 and FIG 10: FIG 9 is based on the assumption that a cache memory CA1 on the virtual channel CH ... (2) via the connection node VK1 and the connection node VK2 one Has sent the request, but it has not yet reached its destination, and the virtual priority rank v = 2 is currently preferred at the connection node VK1. If, in this transmission state, one of the storage units M ... on the virtual channel CH ... (1) makes a request to the cache memory CA1, which the cache memory immediately accepts, then the message is not repeated on the virtual channel CH ... as a result of this interruption. (2) and the priority order at the connection node VK1 is not changed. As a result, the subsequent data transmission on the virtual channel CH ... (0) at the connection node VK1 is blocked, which, if the virtual priority ranking is switched on, are not eliminated depending on the message forwarding on the currently prioritized virtual transmission channel CH ... (2) can.

Andererseits zeigt FIG 10, daß es ebenfalls zu einer Sperrsituation führen kann, wenn ein belegter virtueller Übertragungskanal des Prioritätsranges v = 0 solange bevorrechtigt bleibt, bis das Rückwärtssignal ACK... eingetroffen ist. Angenommen sei hierbei, daß am Verbindungsknoten VK2 eine Nachrichtenübertragung auf dem virtuellen Kanal CH...(2) entsprechend der Einstellung v = 2 bevorrechtigt ist und daß danach am Verbindungsknoten VK1 mit der Weiterleitung dieser Nachricht auf den bevorzugten nächsten Prioritätsrang v = 0 weitergeschaltet worden ist. Eine am Verbindungsknoten VK1 nachfolgend über den jetzt bevorrechtigten virtuellen Kanal CH...(0) weitergeleitete Nachricht läuft dann zwangsläufig am Verbindungsknoten VK2 auf die Sperre durch den dort bevorrechtigten virtuellen Kanal CH...(2), die nicht aufgehoben werden kann, weil wegen des ausbleibenden Rückwärtssignales ACK am Verbindungsknoten VK1 der virtuelle Übertragungskanal CH...(2) nicht mehr durchgeschaltet werden kann usw..On the other hand, FIG. 10 shows that it can also lead to a blocking situation if an occupied virtual transmission channel of priority rank v = 0 remains privileged until the reverse signal ACK ... has arrived. It is assumed here that a message transmission on the virtual channel CH ... (2) according to the setting v = 2 is preferred at the connection node VK2 and that afterwards this message has been switched to the preferred next priority rank v = 0 at the connection node VK1 is. A message subsequently forwarded at the connection node VK1 via the now privileged virtual channel CH ... (0) then inevitably runs at the connection node VK2 onto the lock through the privileged virtual channel CH ... (2) there, which cannot be canceled because due to the absence of the reverse signal ACK at the connection node VK1, the virtual transmission channel CH ... (2) can no longer be switched through, etc.

Im beiden Fällen muß es daher zusätzlich möglich sein, über denselben ankommenden physikalischen Übertragungskanal zum selben abgehenden physikalischen Übertragungskanal weiterzuleitende Nachrichten auch dann weiterzuleiten, wenn für diesen physikalischen Übertragungsweg bereits eine andere Nachricht auf einem anderen virtuellen Kanal anhängig ist. Auf diese Weise können insbesondere Nachrichten über virtuelle Übertragungskanäle des höchsten Prioritätsranges Nachrichten auf virtuellen Übertragungskanälen eines niedrigeren virtuellen Prioritätsranges überholen, so daß sonst mögliche Sperren in einfacher Weise umgangen werden.In both cases, it must therefore also be possible to forward messages to be forwarded via the same incoming physical transmission channel to the same outgoing physical transmission channel even if another message is already pending on another virtual channel for this physical transmission path. In this way, messages on virtual transmission channels of the highest priority can in particular overtake messages on virtual transmission channels of a lower virtual priority, so that otherwise possible locks are easily avoided.

Diese Steuerung wird mit Bezug auf ein Multiprozessorsystem durch eine die Auswahleinrichtungen CHSEL-ST(v) in FIG 5 ergänzende Überwachungsschaltung ÜST bewirkt, die ähnlich wie die Auswahleinrichtungen aufgebaut und in FIG 11 dargestellt ist.This control is effected with reference to a multiprocessor system by a monitoring circuit ÜST which supplements the selection devices CHSEL-ST (v) in FIG. 5 and is constructed similarly to the selection devices and is shown in FIG.

Alle Anforderungsleitungen REQ0 bis REQ2 werden in diesem Falle durch ein ODER-Glied OR1 gebündelt, das damit überwacht, ob eine Anforderung vorliegt. Parallel dazu werden die jeweiligen Steuerinformationen in ein Register REGz übernommen, so daß anhand der jeweiligen Zielinformation - wie bereits anhand von FIG 6 beschrieben - der jeweils zugehörige abgehende physikalische Übertragungskanal unabhängig von der Zuordnung zu einem virtuellen Übertragungskanal ermittelt werden kann. Diese individuellen Kanalsignale werden dann abhängig vom Ausgangssignal des ODER-Gliedes OR1 durch das jeweilige UND-Glied UND1 als Signal REQORi(j) freigegeben und wirken ebenfalls neben den virtuellen Wegesignalen CHSEL(i)(j)(v) auf die Prioritätssteuerung PRIO-ST ein.All request lines REQ0 to REQ2 are in this Trap bundled by an OR gate OR1, which thus monitors whether there is a request. In parallel, the respective control information is transferred to a register REGz, so that the respective outgoing physical transmission channel can be determined on the basis of the respective target information - as already described with reference to FIG. 6 - independently of the assignment to a virtual transmission channel. These individual channel signals are then released as a signal REQORi (j) depending on the output signal of the OR gate OR1 by the respective AND gate AND1 and also act on the priority control PRIO-ST in addition to the virtual path signals CHSEL (i) (j) (v) a.

Der Aufbau dieser Prioritätssteuerung PRIO-ST ist in FIG 12 ausführlicher dargestellt. Gezeigt ist jedoch lediglich der sich auf einen der abgehenden physikalischen Übertragungskanäle CHj beziehende Teil. Die gesamte Prioritätssteuerung besteht daher entsprechend der Anzahl der abgehenden Übertragungskanäle aus mehreren solcher Teilsteuerungen.The structure of this PRIO-ST priority control is shown in more detail in FIG. However, only the part relating to one of the outgoing physical transmission channels CHj is shown. The entire priority control therefore consists of several such partial controls, depending on the number of outgoing transmission channels.

Für jeden benötigten virtuellen Prioritätsrang v = 0 bis v = 2 ist eine Vorrangschaltung zur Ermittlung des ankommenden Übertragungskanales CHi mit der jeweils höchsten augenblicklichen physikalischen Priorität innerhalb der einzelnen virtuellen Prioritätsränge und eine gemeinsame Vorrangschaltung zur Ermittlung des augenblicklich bevorrechtigten virtuellen Prioritätsranges anhand der vorliegenden virtuellen Wegesignale CHSEL(i)j(v) aller ankommenden Kanäle CH(i) für den abgehenden Kanal CHj vorgesehen. Diese Vorrangschaltungen bestehen jeweils aus einer Steuerschaltung PPSTj(v) bzw. VPSTj zur Änderung der jeweiligen Rangfolge der ankommenden physikalischen Kanäle CH(i) bzw. der virtuellen Prioritätsränge v und einer nachgeschalteten Verknüpfungsschaltung LVj(v) bzw. LVj-VP zur Bewertung der virtuellen Wegesignale CH(i)j(v) abhängig von der jeweils bestehenden Prioritätsrangfolge.For each required virtual priority rank v = 0 to v = 2, there is a priority circuit for determining the incoming transmission channel CHi with the highest instantaneous physical priority within the individual virtual priority ranks, and a common priority circuit for determining the currently preferred virtual priority rank based on the available virtual route signals CHSEL (i) j (v) of all incoming channels CH (i) are provided for the outgoing channel CHj. These priority circuits each consist of a control circuit PPSTj (v) or VPSTj for changing the respective ranking of the incoming physical channels CH (i) or the virtual priority ranks v and a downstream logic circuit LVj (v) or LVj-VP for evaluating the virtual ones Path signals CH (i) j (v) depending on the existing priority order.

Die Steuerschaltungen PPSTj(v) zur Änderung der physikalischen Prioritätsrangfolgen werden jeweils beim Eintreffen eines Rückwärtssignales ACKj(v) über den belegten abgehenden virtuellen Kanal CHj(v) weitergeschaltet. Sie können z.B. aus einem zyklisch arbeitenden Zähler bestehen, wobei jedem ankommenden physikalischen Kanal einer der Zählerstände zugeordnet ist und der jeweilige Zählerstand den jeweils bevorrechtigten Kanal und die zugehörige Prioritätsrangfolge für die übrigen Kanäle kennzeichnet. Statt eines Zählers kann auch ein Ringschieberegister verwendet werden, wobei jedem ankommenden Kanal eine Stufe zugeordnet ist und ein zyklisch wanderndes Steuerbit den jeweils bevorrechtigten Kanal und die zugehörige Prioritätsrangfolge anzeigt.The control circuits PPSTj (v) for changing the physical priority orders are each one upon arrival Reverse signal ACKj (v) switched over the occupied outgoing virtual channel CHj (v). For example, they can consist of a cyclically operating counter, with each incoming physical channel being assigned one of the counter readings and the respective counter reading identifying the preferred channel and the associated priority order for the other channels. Instead of a counter, a ring shift register can also be used, with each incoming channel being assigned a stage and a cyclically migrating control bit indicating the respective preferred channel and the associated priority order.

Jede Schaltstellung entspricht dabei also einem vorgegebenen Prioritätszustand PPS(v) für die physikalischen Prioritäten der einzelnen ankommenden Übertragungskanäle.Each switching position thus corresponds to a predetermined priority state PPS (v) for the physical priorities of the individual incoming transmission channels.

FIG 13 und FIG 14 zeigen in Tabellenform die diesen Prioritätszuständen PPS... beispielsweise entsprechenden Prioritätsrangfolgen PRF(i)j für die ankommenden Kanäle entsprechend i = A, B, C und D, wobei gemäß FIG 13 die Rangfolge zyklisch geändert wird, während gemäß FIG 14 Gruppen gebildet sind, innerhalb derer eine zyklische Vertauschung vorgenommen wird und die insgesamt zyklisch vertauscht werden. Wie in FIG 14 durch die rechte Spalte zusätzlich angedeutet ist, können die einzelnen Prioritätszustände PPS... auch durch einen Code statt durch eine "1 aus n"-Markierung gekennzeichnet sein. Entscheidend bei der Bildung der verschiedenen Prioritätsrangfolgen PRF.. ist allein, daß jeweils immer ein anderer Übertragungskanal der höchstpriorisierte Kanal und damit gegenüber allen anderen bevorrechtigt ist.FIG. 13 and FIG. 14 show in table form the priority orders PPS ..., for example corresponding priority orders PRF (i) j for the incoming channels corresponding to i = A, B, C and D, the order of priority being changed cyclically according to FIG. 13, while according to FIG. 14 groups are formed within which a cyclical exchange is carried out and which are cyclically exchanged overall. As is additionally indicated in FIG. 14 by the right column, the individual priority states PPS ... can also be identified by a code instead of a "1 out of n" marking. The only thing that is decisive in the formation of the different priority ranks PRF .. is that a different transmission channel is always the highest priority channel and thus has priority over all others.

FIG 15 zeigt eine auf das Beispiel von FIG 13 bezogene Wahrheitstabelle für die Verknüpfungsschaltungen LVj(v) von FIG 12. Bei einheitlicher Belegung aller physikalischen Kanäle mit virtuellen Kanälen sind diese Verknüpfungsschaltungen alle gleich aufgebaut. Mit Bezug auf die Belegung gemäß FIG 3 und FIG 4 ergeben sich aber Abweichungen voneinander für die einzelnen virtuellen Ränge v = 0 bis v = 2 und damit für die einzelnen Vorrangschaltungen.FIG. 15 shows a truth table relating to the example of FIG. 13 for the logic circuits LVj (v) of FIG. 12. If all physical channels are assigned the same channels with virtual channels, these logic circuits are all constructed identically. With regard to the assignment according to FIG. 3 and FIG. 4, there are deviations from one another for the individual virtual ranks v = 0 to v = 2 and thus for the individual priority circuits.

Ausgehend von den einzelnen Prioritätszuständen PPS = 0, 1, 2 und 3 sind die zu bewertenden virtuellen Wegesignale CHSEL(i)j eines virtuellen Prioritätsranges mit den Kanälen i = A, B, C und D als weitere Eingangssignale dargestellt, die entsprechend dem jeweils herschenden Prioritätszustand PPS... bewertet werden und zu den im rechten Teil aufgezeigten Ergebnissignalen REQ(i)j führen. Beim Zustand PPS = 0 ist gemäß FIG 13 der Kanal A am höchsten priorisiert und dieser wird ausgewählt, wenn eine Anforderung entsprechend A = 1 vorliegt, unabhängig davon ob auf den übrigen Kanälen B, C und D weitere Anforderungen vorliegen. In der ersten Zeile ist daher für diese Kanäle der Wert X eingetragen, um zu kennzeichnen, daß der Anforderungszustand dieser Kanäle für die Auswertung ohne Bedeutung ist. Entsprechend sind diese Kanäle zu sperren, was im rechten Teil mit einem G gekennzeichnet ist. Liegt gemäß den folgenden drei Zeilen keine Anforderung für den Kanal A entsprechend A = 0 vor, dann kommt in der gültigen Prioritätsrangfolge der jeweils nächstfolgende Kanal zum Zuge, von dem eine Anforderung vorliegt, also gemäß der zweiten Zeile der Kanal B, gemäß der dritten Zeile der Kanal C und gemäß der vierten Zeile der Kanal D. Analoges gilt für die übrigen Prioritätszustände PPS = 1 bis PPS = 3.Starting from the individual priority states PPS = 0, 1, 2 and 3, the virtual path signals CHSEL (i) j of a virtual priority rank with the channels i = A, B, C and D to be evaluated are represented as further input signals, which correspond to the respective ones Priority state PPS ... are evaluated and lead to the result signals REQ (i) j shown in the right part. In the state PPS = 0, channel A has the highest priority according to FIG. 13 and this is selected when a request corresponding to A = 1 is present, regardless of whether there are further requests on the other channels B, C and D. The value X is therefore entered in the first line for these channels to indicate that the request status of these channels is irrelevant for the evaluation. These channels must be blocked accordingly, which is marked with a G in the right part. If, according to the following three lines, there is no request for channel A corresponding to A = 0, then the next following channel from which there is a request comes into play in the valid priority order, i.e. channel B according to the second line, according to the third line channel C and, according to the fourth line, channel D. The same applies to the other priority states PPS = 1 to PPS = 3.

Wie FIG 15 zeigt, wird beispielsweise der ankommende Kanal A entsprechend Aj = 1 im rechten Teil dann ausgewählt, wenn die sich aus den durch Schrägstriche gekennzeichneten Zeilen ergebenden Bedingungen erfüllt sind. Der auf einen ankommenden Kanal, z.B. A, bezogene Teilaufbau einer entsprechenden logischen Verknüpfungsschaltung LVj(v) ist in FIG 16 dargestellt, wobei analoges für die die übrigen Kanäle berücksichtigenden Ergänzungen gilt.As shown in FIG. 15, for example the incoming channel A corresponding to Aj = 1 is selected in the right-hand part when the conditions resulting from the lines identified by slashes are met. The on an incoming channel, e.g. A, related partial structure of a corresponding logic logic circuit LVj (v) is shown in FIG. 16, the same applying to the additions taking into account the other channels.

Je Prioritätszustand PPS... ist ein UND-Glied, z.B. U1 bis U4, vorgesehen, deren Ausgänge durch ein gemeinsames ODER-Glied ORA gebündelt werden. Welches der UND-Glieder U1 bis U4 dabei aufgesteuert wird, hängt vom jeweiligen Prioritätszustand PPS... und den eine Anforderung signalisierenden Wegesignalen CHSEL(i)j für die einzelnen Kanäle A bis D ab.For each priority state PPS ... an AND gate, eg U1 to U4, is provided, the outputs of which are shared by a common OR gate ORA be bundled. Which of the AND gates U1 to U4 is activated depends on the respective priority state PPS ... and the route signals CHSEL (i) j signaling a request for the individual channels A to D.

Eine andere, zum selben Ergebnis führende Verknüpfungsmöglichkeit ergibt sich aus den Ergebnisspalten REQ(i)j für die einzelnen Kanäle A bis D von FIG 15. Danach ist dem Prioritätszustand PPS = 0 eine für den Kanal A vorliegende Anforderung durch keine andere Anforderung verdrängbar, während in den anderen Prioritätszuständen eine Anforderung durch den Kanal A entsprechend den Einträgen G gesperrt werden kann, wenn die im linken Teil der Tabelle umrahmten Kanalanforderungen vorliegen. D.h. eine Anforderung, z.B. vom Kanal A, wird durchgelassen, wenn sie nicht gesperrt wird, und zwar durch eine Anforderung vom Kanal B im Prioritätszustand PPS = 1 oder durch eine Anforderung vom Kanal C in den Prioritätszuständen PPS = 1 und PPS = 2 oder durch eine Anforderung vom Kanal D in den Prioritätszuständen PPS = 1 bis PPS = 3. Ein entsprechender Teilaufbau für die logische Verknüpfungsschaltung LVj(v) von FIG 12 zeigt FIG 17.Another connection option leading to the same result results from the result columns REQ (i) j for the individual channels A to D of FIG. 15. According to the priority state PPS = 0, a request for channel A cannot be suppressed by any other request while in the other priority states, a request can be blocked by channel A in accordance with entries G if the channel requests framed in the left part of the table are present. I.e. a request, e.g. from channel A, is let through if it is not blocked by a request from channel B in the priority state PPS = 1 or by a request from channel C in the priority states PPS = 1 and PPS = 2 or by a request from channel D. in the priority states PPS = 1 to PPS = 3. FIG. 17 shows a corresponding partial structure for the logic logic circuit LVj (v) in FIG.

Die Vorrangschaltung für die Ermittlung des jeweils bevorrechtigten ankommenden virtuellen Kanals können bei Verwendung gleichrangiger virtueller Kanäle in gleicher Weise aufgebaut sein. Bei Zugrundelegung des bereits erläuterten Multiprozessorsystems sind jedoch die bereits erläuterten gesonderten Bedingungen zu berücksichtigen. Das heißt die Umschaltung von einem virtuellen Prioritätszustand in den nächsten erfolgt normalerweise mit dem von der Weiterleitung einer Nachricht über den belegten abgehenden virtuellen Kanal abgeleiteten Signal, z.B. dem Endesignal EOT. Wenn jedoch der höchste virtuelle Prioritätsrang v = 0 bevorrechtigt ist und eine Anforderung hierfür vorliegt, wird erst mit dem Rückwärtssignal ACKj(0) fortgeschaltet.The priority circuit for the determination of the privileged incoming virtual channel can be constructed in the same way when using equal-ranking virtual channels. On the basis of the multiprocessor system already explained, however, the separate conditions already explained must be taken into account. That is, the switch from one virtual priority state to the next normally takes place with the signal derived from the forwarding of a message via the occupied outgoing virtual channel, e.g. the end signal EOT. However, if the highest virtual priority rank v = 0 has priority and there is a request for this, the system does not advance until the reverse signal ACKj (0).

FIG 18 zeigt eine entsprechende Schaltungsanordnung für die Steuerschaltung VPSTj von FIG 12. Hauptbestandteil ist wiederum ein zyklisch arbeitendes Schaltelement, z.B. ein Zähler Z, das zyklisch nacheinander die die einzelnen virtuellen Prioritätsrangfolgen kennzeichnenden Prioritätszustände VPS0 bis VPS2 anzeigt. Die Fortschaltung erfolgt mit dem Endesignal EOT, wenn das UND-Glied U21 nicht gesperrt ist. Das UND-Glied U21 überwacht das Vorliegen des den höchsten Prioritätsrang v = 0 bevorrechtigenden Prioritätszustand VPS0, der durch das Signal ENj(0) am Ausgang der Verknüpfungsschaltung LVj-VP in FIG 12 abgeleitet wird, und das gleichzeitige Vorliegen einer Anforderung von einem virtuellen Kanal dieses Prioritätsranges, was anhand der Wegesignale CHSEL(i)j(0) erkannt wird. Ist diese Bedingung erfüllt und das UND-Glied U22 entsprechend gesperrt, kommt die Fortschaltung mit dem Rückwärtssignal ACKj(0) über das ODER-Glied OR20 zum Tragen. Die nachgeschaltete logische Verknüpfungsschaltung LVj-VP in FIG 12 kann dagegen in gleicher Weise realisiert werden wie die für die physikalischen Prioritäten, wobei die Freigabesignale ENj(0) bis ENj(2) den jeweils bevorrechtigten virtuellen Prioritätsrang kennzeichnen.FIG. 18 shows a corresponding circuit arrangement for the control circuit VPSTj from FIG. 12. The main component is again a cyclically operating switching element, for example a counter Z, which cyclically displays the priority states VPS0 to VPS2 which characterize the individual virtual priority orders. The switchover takes place with the end signal EOT if the AND gate U21 is not locked. The AND gate U21 monitors the presence of the priority state VPS0 which gives priority to the highest priority rank v = 0, which is derived by the signal ENj (0) at the output of the logic circuit LVj-VP in FIG. 12, and the simultaneous presence of a request from a virtual channel this priority rank, which is recognized on the basis of the path signals CHSEL (i) j (0). If this condition is met and the AND gate U22 is blocked accordingly, the step forward with the backward signal ACKj (0) via the OR gate OR20 takes effect. The downstream logic logic circuit LVj-VP in FIG. 12, on the other hand, can be implemented in the same way as that for the physical priorities, with the enable signals ENj (0) to ENj (2) characterizing the preferred virtual priority rank in each case.

Wie FIG 12 weiterhin erkennen läßt, arbeiten die einzelnen Vorrangschaltungen unabhängig voneinander, indem von den ankommenden virtuellen Kanälen Aj(v) bis Dj(v) innerhalb eines jeden Prioritätsranges, z.B. v = 0, zunächst jeweils der Kanal, z.B. Aj(0), mit der bevorrechtigten physikalischen Priorität ermittelt wird. Anschließend wird dann anhand des jeweils bevorrechtigten virtuellen Prioritätsranges mit dem entsprechenden Freigabesignal, z.B. ENj(0), der in der zugehörigen Gruppe ermittelte Kanal Aj(0) mit der bevorrechtigten physikalischen Priorität ausgewählt. Diese Auswahl steuern die UND-Glieder UNDj mit den nachgeschalteten ODER-Gliedern ORj, die eines der Ergebnissignale REQ Aj bis REQ Dj für die pyhsikalische Wegedurchschaltung liefern.As further shown in FIG. 12, the individual priority circuits work independently of one another, in that each of the incoming virtual channels Aj (v) to Dj (v) within each priority range, e.g. v = 0, first the channel, e.g. Aj (0), with which privileged physical priority is determined. Then, based on the respective priority priority, the corresponding release signal, e.g. ENj (0), the channel Aj (0) determined in the associated group with the preferred physical priority selected. This selection is controlled by the AND gates UNDj with the downstream OR gates ORj, which deliver one of the result signals REQ Aj to REQ Dj for the physical path switching.

Um zusätzlich die anhand von FIG 9 und FIG 10 erläuterten Bedingungen zu erfüllen, werden die von der Überwachungssteuerung ÜST gemäß FIG 11 gelieferten Steuersignale REQOR(i)j als kanalbezogene Signale REQOR Aj bis REQOR Dj den entsprechenden Gruppen von UND-Gliedern UNDj in FIG 12 parallel zugeführt. Auf diese Weise wird sichergestellt, daß ein Ergebnissignal, z.B. REQ Aj, auch dann geliefert wird, wenn beispielsweise entsprechend einer bestehenden Belegung zwar die Bedingung Aj(2) ∧ ENj(2) erfüllt ist, sich aber die augenblickliche Anforderung von Kanal A für denselben physikalischen Übertragungsweg auf den virtuellen Übertragungsweg eines anderen Prioritätsranges bezieht, also v ≠ 2 gegeben ist.In order to additionally meet the conditions explained with reference to FIG. 9 and FIG. 10, the control signals REQOR (i) j supplied by the monitoring controller ÜST in accordance with FIG. 11 become the corresponding signals REQOR Aj to REQOR Dj Groups of AND gates UNDj fed in parallel in FIG. This ensures that a result signal, e.g. REQ Aj, is also delivered if, for example, the condition Aj (2) ∧ ENj (2) is fulfilled according to an existing assignment, but the current requirement of channel A for the same physical transmission path refers to the virtual transmission path of another priority rank, i.e. v ≠ 2 is given.

Wie bereits erwähnt, besteht eine weitgehende Gestaltungsmöglichkeit bezüglich des Verbindungsnetzes zur Verbindung der Verbindungsknoten untereinander und der Zuordnung der Verbindungskanäle zu den einzelnen Übertragungswegen - was in der bereits erwähnten parallelen europäischen Patentanmeldung           (GR 90 P 1680 E) ausführlich beschrieben ist.As already mentioned, there is an extensive design option with regard to the connection network for connecting the connection nodes to one another and the assignment of the connection channels to the individual transmission paths - which is described in detail in the aforementioned parallel European patent application (GR 90 P 1680 E).

Danach sind Netzwerke, bei denen die einzelnen Verbindungsknoten Eckpunkte eines n-dimensionalen boolschen Würfels mit n-Verbindungskanälen an jedem Verbindungsknoten bilden, besonders vorteilhaft. Jeder Verbindungsknoten kann dann durch eine binäre, aus jeweils n Bits bestehende Adresse gekennzeichnet werden, wobei jede Bitstelle einer Koordinate und damit einem Verbindungskanal des n-dimensionalen Netzwerkes entspricht. Zur Auswahl des jeweils abgehenden Verbindungskanals werden jeweils die Bitstellen der Zielknotenadresse und der Adresse des jeweils erreichten Verbindungsknotens verglichen, wobei bei einer vorgegebenen Rangfolge der Bitstellen jeweils die ranghöchste der voneinander abweichenden Bitstellen den auszuwählenden Verbindungskanal bestimmt.According to this, networks in which the individual connection nodes form corner points of an n-dimensional boolean cube with n connection channels at each connection node are particularly advantageous. Each connection node can then be identified by a binary address, each consisting of n bits, each bit position corresponding to a coordinate and thus a connection channel of the n-dimensional network. To select the outgoing connection channel in each case, the bit positions of the destination node address and the address of the connection node reached in each case are compared, with the highest-ranking of the bit positions deviating from one another determining the connection channel to be selected for a given ranking of the bit positions.

FIG 19 zeigt das entsprechende Netzwerk für ein Oktoprozessorsystem, das von einem Monoprozessorsystem ausgehend, dessen Verbindungsknoten als Vorleistung Anschlüsse für drei Verbindungskanäle Kx, Kj und Kz aufweist, durch fortlaufende Erweiterung gebildet werden kann. Selbstverständlich sind auch noch andere Netzkonfigurationen nach dem selben Bildungsschema möglich, und vor allem ist die Anzahl der Dimensionen n nicht auf drei beschränkt. Derartige Netzwerke haben den großen Vorteil, daß für einen verklemmungsfreien Nachrichtenaustausch im Netz keine zusätzlichen virtuellen Kanäle benötigt werden.19 shows the corresponding network for an octoprocessor system which, starting from a monoprocessor system, the connection nodes of which have connections for three connection channels Kx, Kj and Kz as input, can be formed by continuous expansion. Of course, too other network configurations according to the same educational scheme are possible, and above all the number of dimensions n is not limited to three. Networks of this type have the great advantage that no additional virtual channels are required for jammed message exchange in the network.

Wie FIG 19 zeigt, können an die einzelnen Verbindungsknoten "000" bis "111" unterschiedlich viele Einheiten D angeschlossen sein. Über die beispielsweise am Verbindungsknoten "100" ankommenden Verbindungskanäle x1, y1 und Z können Nachrichten von allen Einheiten D an den anderen Verbindungsknoten eintreffen, die an abgehende Kanäle weiterzuleiten sind. So kann über den ankommenden Kanal x1 nur die eine Einheit am Verbindungsknoten "000" eine Anforderung auslösen. Über den Kanal y1 können es dagegen die beiden Einheiten am Verbindungsknoten "110" und zusätzlich die beiden Einheiten am Verbindungsknoten "010" über den vorgeschalteten Kanal x2, so daß die über den Kanal y1 eintreffenden Anforderungen von insgesamt vier verschiedenen Einheiten stammen können. Beim Kanal z erhöht sich die Zahl der eine Anforderung auslösenden Einheiten nochmals, nämlich eine Einheit am Verbindungsknoten "101", zwei Einheiten am Verbindungsknoten "001", drei Einheiten am Verbindungsknoten "111" und letztlich eine Einheit am Verbindungsknoten "011", also insgesamt 7 Einheiten.As FIG 19 shows, different numbers of units D can be connected to the individual connection nodes "000" to "111". Via the connection channels x1, y1 and Z arriving at the connection node "100", for example, messages from all units D can arrive at the other connection nodes and are to be forwarded to outgoing channels. Thus, only one unit at connection node "000" can trigger a request via the incoming channel x1. On the other hand, the two units at the connection node "110" and additionally the two units at the connection node "010" via the upstream channel x2 can be via the channel y1, so that the requests arriving via the channel y1 can originate from a total of four different units. With channel z, the number of units triggering a request increases again, namely one unit at connection node "101", two units at connection node "001", three units at connection node "111" and ultimately one unit at connection node "011", that is to say in total 7 units.

Würde man in einem solchen Fall die Bevorrechtigung der einzelnen Kanäle in der bereits beschriebenen Weise ändern, dann ergäben sich für die einzelnen Einheiten D des Systems mit Bezug auf die einer vorgegebenen Systembelastung entsprechenden mittleren Wartezeit sehr unterschiedliche Wartezeiten bis zur erfolgreichen Ausführung einer Nachrichtenübertragung.If the privilege of the individual channels were changed in such a case in the manner already described, there would be very different waiting times for the individual units D of the system with respect to the mean waiting time corresponding to a predetermined system load until a message transmission was successfully carried out.

Diese Wartezeiten lassen sich z.B. verkürzen und der mittleren Wartezeit annähern, wenn der physikalische Prioritätszustand für die ankommenden Verbindungskanäle in jedem Verbindungsknoten nicht mit jedem Rückwärtssignal ACK...geändert wird, sondern abhängig von einer der Anzahl der möglicherweise über einen ankommenden Verbindungskanal Anforderungen auslösenden Einheiten entsprechenden Anzahl von Rückwärtssignalen.These waiting times can be shortened and approximated to the mean waiting time, for example, if the physical priority state for the incoming connection channels in each connection node is not changed with every backward signal ACK ..., but depending on one of the number of possibly over units corresponding to an incoming connection channel requesting number of reverse signals.

FIG 20 zeigt eine zusätzliche Steuerschaltung KONT, die jeder Steuerschaltung PPSTj(v) von FIG 12 zugeordnet werden kann. Diese Steuerschaltung KONT besteht aus einer Zählschaltung ZS, die die eintreffenden zugehörigen Rückwärtssignale ACKj(v) normalerweise zählt, wenn das UND-Glied U30 nicht gesperrt ist.FIG. 20 shows an additional control circuit KONT, which can be assigned to each control circuit PPSTj (v) from FIG. This control circuit KONT consists of a counting circuit ZS, which normally counts the incoming associated downward signals ACKj (v) when the AND gate U30 is not locked.

Mit jeder Änderung der Prioritätsrangfolge durch die Steuerschaltung PPSTj(v) wird bei Bevorrechtigung eines ankommenden Verbindungskanals anhand der Kennung PPS-K... ein Auswahlschalter MUX eingestellt, der eine die Anzahl der über den jeweiligen Verbindungskanal durchschaltbaren Einheiten anzeigende Kennzahl, z.B. Z-Kx für den Verbindungskanal Kx, zu einem Vergleicher VG durchschaltet. Dieser vergleicht den von der Zählschaltung ZS jeweils registrierten Wert ZW mit der jeweils gültigen Anzahl Z-K... und setzt bei Gleichstand eine bistabile Kippstufe BK. Diese sperrt im gesetzten Zustand das UND-Glied U30 und setzt die Zählschaltung ZS zurück. Gleichzeitig wird das UND-Glied U31 freigegeben, so daß die Steuerschaltung PPSTj(v) in den nächsten Prioritätszustand PPS... mit neuer Rangfolge umschalten kann. Jedes Mal, wenn der eingestellte Prioritätszustand PPS einen Verbindungskanal bevorrechtigt, dann wird über das ODER-Glied OR30 die bistabile Kippstufe BK zurückgesetzt und die Steuerschaltung KONT erneut freigegeben.Each time the priority order is changed by the control circuit PPSTj (v), when an incoming connection channel is given priority, a selection switch MUX is set on the basis of the identifier PPS-K ..., which selects a number indicating the number of units that can be switched through the respective connection channel, e.g. Z-Kx for the connection channel Kx, switched through to a comparator VG. This compares the value ZW registered by the counting circuit ZS with the respectively valid number Z-K ... and sets a bistable flip-flop BK if there is a tie. In the set state, this blocks the AND gate U30 and resets the counter circuit ZS. At the same time, the AND gate U31 is released so that the control circuit PPSTj (v) can switch to the next priority state PPS ... with a new order. Every time the set priority state PPS gives priority to a connection channel, the bistable flip-flop BK is reset via the OR gate OR30 and the control circuit KONT is released again.

Claims (14)

  1. Communication system comprising a network of a plurality of connecting nodes (VK...), interconnected via connecting channels (K...) as bidirectional transmission channels (CH...), for transmitting messages between in each case two units (for example M1 and CPU2) which are connected via bidirectional transmission channels (CH...) to the connecting nodes (VK...),
    - the message to be respectively transmitted being divided into sections of constant length, each message being prefixed by an item of control information of a length of a message section, and the respectively last message section of a message being marked as such (for example by EOT),
    - the control information and the associated message sections (DAT0...DAT8) each being transmitted without interruption sequentially by the respectively transmitting unit (for example M1) and being relayed immediately in the direction of the destination unit (for example CPU2) at each connecting node (VK...) reached, after determining the outgoing transmission channel with the aid of the control information,
    - the arrival of a message at a destination unit (for example CPU2) being signalled by the latter by a backward signal (ACK) via the transmission path set up to the transmitting unit (M1), and
    - in the absence of the backward signal (ACK) up to a prescribed time lapse after transmission of a message, the transmission of the entire message is automatically repeated until the backward signal (ACK) arrives at the correct time,
    characterized in that the priority sequence (PRF), decisive for switching through each of the incoming transmission channels (for example CHi) to an outgoing transmission channel (for example CHj), of the transmission channels (CH(i)) incoming at a connecting node (VK...) is cyclically changed relative to each outgoing transmission channel (CH(j)) by each backward signal (ACKj) incoming via this channel, with the result that each incoming transmission channel is sequentially prioritized with respect to all the remaining ones relative to each outgoing transmission channel, use being made at each connecting node (VK...) for each incoming and for each outgoing transmission channel (for example CH1 and CH3) of buffers (EREG1 and SREG3, respectively) for individual part messages for the purpose of bridging the relaying operation caused by making the connection to an outgoing free transmission channel.
  2. Communication system according to Claim 1, characterized in that when a connecting channel (V...) is prioritized as an incoming transmission channel (CHi) the existing priority sequence is in each case not changed until the arrival of a number (Z) of backward signals (ACKj) which corresponds to the number (for example 7) of the transmitting units (D), which can possibly be connected to this connecting channel (V...), in other connecting nodes (VK...).
  3. Communication system according to Claim 1 or 2, characterized in that when the physical transmission channels (CH(i)) are operated as virtual transmission channels (CH(i) (v)), the respective priority sequence of the different virtual transmission channels of the respectively valid priority sequence (PRF) of the physical transmission channels (CH(i)) is superimposed at each connecting node (VK...) relative to each outgoing virtual transmission channel (CH(j)(v)) in such a way that the respectively prioritized incoming physical transmission channel (for example CHA(1)) is determined in each case within the group of virtual transmission channels (CH(i)v) of equal ordinal number (for example v = 1), and of these prioritized incoming physical transmission channels that one (for example CHA1) is respectively selected which is within the respectively prioritized group of virtual transmission channels (for example CH(i)1), and in that the priority sequence of the incoming group of virtual transmission channels is cyclically changed by each backward signal (ACK(v)) arriving via the outgoing transmission channel (CHj) provided.
  4. Communication system according to Claim 3, characterized in that given the use of different virtual priority levels (v) for the individual groups of virtual transmission channels (CH(j)(v)) of equal ordinal number in systems having possible acceptance blocks at the destination unit for messages via virtual transmission channels (CH(i)(v)) of a lower priority level (for example v = 2), the sequence of the virtual priority levels (v) is changed by a signal (for example end signal EOT) derived from the message respectively relayed via the outgoing transmission channel (CHj) provided.
  5. Communication system according to Claim 4, for multiprocessor systems having a common memory (MM) which is subdivided into a plurality of memory units (M...) and whose memory units (M...) are connected to different connecting nodes (VK...) to which read or write orders are directed as primary orders from the operative units (for example CPU..., IOP...) likewise connected to the individual connecting nodes (VK...), secondary orders derived from the primary orders for reading data and relating to the direct transfer of reading data being handled via the virtual transmission channels (CH(i)(0)) with the highest virtual priority level (v = 0), characterized in that the sequence of the virtual priority levels (v) is not changed, in the case of instantaneous prioritization of the highest priority level (v = 0) and of the existing request (CHSEL(i)j(0)) for an outgoing virtual channel (CHj(0)) of this priority level, until the arrival of the backward signal (ACKj(0)) via the busy outgoing virtual transmission channel (CHj(0)), and in that in the case of the transmission of messages via virtual transmission channels (CHj(v)) of different priority level (for example v = 0 and v = 2) via the same physical transmission path between an incoming and outgoing physical transmission channel (CHi/CHj), a message incoming via the instantaneously not prioritized virtual transmission channel (for example CHi2) is relayed via the physical transmission path even if the outgoing physical channel (CHj) is already busy for the message via the other instantaneously prioritized virtual transmission channel (for example CHj0).
  6. Communication system according to one of Claims 3 or 5, characterized in that only all the virtual transmission channels (CH...(v)) which are busy within the framework of a transmission path between two units (for example M1 and CPU2) remain busy until the backward signal (ACK...(v)) has arrived on the path to the transmitting unit, while the respectively associated physical transmission channels (CH...) remain busy only until the identifier (EOT) indicating the end of the message is relayed via the respectively busy outgoing transmission channel.
  7. Communication system according to one of Claims 3 to 6, characterized in that coupled to the control information (FLIT...(v)) of a message and to each backward signal (ACK...) is an identifier (v) which indicates the priority level (v) of the respectively used virtual transmission channel (CHi(v) and CHj(v), respectively) and ensures the assignment of the control information and messages transmitted on the physical transmission channels (CH...) to the individual virtual transmission channels (CH...(v)).
  8. Communication system according to Claim 7, characterized in that the identifier (REQ...(v)) fixing the priority level of a message is transmitted on separate signal lines in parallel with the control information (FLIT...(v)) of a message and initiates the path selection as request signal in the connecting node (VK...) respectively reached.
  9. Communication system according to Claim 7 or 8, characterized
    - in that there is provided for each physical transmission channel (CH...) incoming at a connecting node (VK...) a number (3), corresponding to the number (for example 3) of the associated virtual channels (CH...(v) where v = 2, 1 or 0), of selection devices (CHSEL-ST(v)) of which that respectively appropriate one is selected with the aid of the identifier (REQ...(v)) which fixes the priority level (v),
    - in that the respectively selected selection device (for example CHSEL-ST(v0)) uses the destination address (ZVKAD, UNAD) contained in the control information to generate a virtual path signal (CHSELij(v)) which marks the respectively incoming channel (CHi(v)) and the outgoing transmission channel (CHj (v)) to be connected respectively to the latter,
    - in that all the virtual path signals (CHSEL(i)(j)(v)) generated in this way are fed to a common priority controller (PRIO-ST) which determines for each outgoing free transmission channel (CHj(v)) the incoming channel (CHi(v)), to be switched through to the latter, with the highest priority, and in that the result (REQij) then stored is used to release the associated physical transmission path for transmission in conjunction with the simultaneous blocking of all the remaining path signals (CHSEL(i)(j)(v)) relating to the same outgoing virtual transmission channel (CHj(v)).
  10. Communication system according to Claim 9, characterized in that there are respectively provided in the priority controller (PRIO-ST) of each of the connecting nodes (VK...) for each outgoing physical channel (for example CHj) a number, corresponding to the number (for example 3) of the virtual priority levels (v), of priority circuits for determining the incoming transmission channel (CHi) of the respectively highest instantaneous physical priority within the respective virtual priority level (v), and a priority circuit for determining the respectively highest instantaneous virtual priority level (for example v = 1) with the aid of the virtual path signals (CHSEL(i)(j)(v)) derived from the existing requests of all the incoming channels, and in that a signal (ENj(1)) marking the prioritized virtual priority level (for example v = 1) determined releases the incoming transmission channel (for example Aj(1)) determined by the priority circuit for the physical priority of the same virtual priority level for switching through to the outgoing channel (CHj).
  11. Communication system according to Claim 10, characterized in that the priority circuits respectively comprise a control circuit (PPSTj(v) or VPSTj) for changing the respective sequence of incoming physical channels (CHi) or the virtual priority levels (v), and a downstream logic combinational circuit (LVj(v) or LVj-VP) for evaluating the virtual path signals (CHSEL(i)(j)(v)) independently of the respectively prescribed priority sequence, the control circuits (PPSTj(v)) for changing the physical priority changing their circuit state with each associated backward signal (ACKj(v)) arriving, while the control circuit (VPSTj) for changing the sequence of the virtual priority levels (v) changes its circuit state with the arrival of the associated backward signals (ACKj(0)) in the case of prioritizing the highest priority level (ENj(0)) and of an existing request of a virtual transmission channel of this priority level, and changes its circuit state by means of the signal (for example end signal EOTj) derived from the message relayed via the outgoing channel (CHj(v)) in the case of prioritizing the remaining priority levels (ENj(1), ENj(2)).
  12. Communication system according to Claim 11, characterized in that the control circuits (PPSTj or VPSTj) for changing the sequence of the incoming physical channels (CHi) or of the virtual priority levels (v) comprise cyclically operating switching devices having a number, corresponding to the number of all the incoming physical channels or all the virtual priority levels, of circuit states, of which each corresponds to one of the different sequences (for example PRF) which are produced when each transmission channel or each priority level assumes the highest level in the sequence once.
  13. Communication system according to one of Claims 10 to 12, characterized in that each priority circuit (PPSTj(v)) for determining the respectively prioritized incoming physical transmission channel (CHi) is coupled to a monitoring circuit (KONT) which in the case of prioritizing an incoming connecting channel (K...) temporarily blocks the change in the respective priority sequence (PRF) until a number (Z), corresponding to the number (Z-K...) of the transmitting units (D), which can possibly be connected to this connecting channel (K...), at other connecting nodes (VK...), of associated backward signals (ACKj(v)) have arrived.
  14. Communication system according to one of Claims 6 to 13 in conjunction with Claim 5, characterized in that in addition to the selection devices (CHSEL-ST(v)) each incoming physical transmission channel (CHi...) is provided with a separate monitoring device (ÜST) which, in a fashion analogous to the selection devices, determines the respectively associated outgoing physical transmission channel (CH(j)) in the case of each item of control information (FLIT...) arriving and supplies a corresponding control signal (REQORi(j)) which, independently of the respective priority level (v) of an associated message arriving via the incoming physical transmission channel (CHi...), switches through in the priority controller (PRIO-ST) the physical transmission path selected by a prioritized virtual path signal (for example CHSELij(0)) of a preceding message and extending via the same outgoing physical transmission channel (CHj), with the result that despite an existing seizure of the virtual transmission channels (CHi(0)) of a physical transmission path (CHi/CHj) messages can be relayed via virtual transmission channels (CHi(2)) of another priority level along the same physical transmission path at a connecting node (VK...).
EP90118598A 1990-09-27 1990-09-27 Communication system for transfering messages between two units Expired - Lifetime EP0477405B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
AT90118598T ATE145739T1 (en) 1990-09-27 1990-09-27 COMMUNICATION SYSTEM FOR TRANSMITTING MESSAGES BETWEEN TWO UNITS
DE59010586T DE59010586D1 (en) 1990-09-27 1990-09-27 Communication system for the transmission of messages between two units
EP90118598A EP0477405B1 (en) 1990-09-27 1990-09-27 Communication system for transfering messages between two units

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP90118598A EP0477405B1 (en) 1990-09-27 1990-09-27 Communication system for transfering messages between two units

Publications (2)

Publication Number Publication Date
EP0477405A1 EP0477405A1 (en) 1992-04-01
EP0477405B1 true EP0477405B1 (en) 1996-11-27

Family

ID=8204518

Family Applications (1)

Application Number Title Priority Date Filing Date
EP90118598A Expired - Lifetime EP0477405B1 (en) 1990-09-27 1990-09-27 Communication system for transfering messages between two units

Country Status (3)

Country Link
EP (1) EP0477405B1 (en)
AT (1) ATE145739T1 (en)
DE (1) DE59010586D1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623698A (en) * 1993-04-30 1997-04-22 Cray Research, Inc. Memory interconnect network having separate routing networks for inputs and outputs using switches with FIFO queues and message steering bits
CN113900978A (en) * 2021-10-27 2022-01-07 海光信息技术股份有限公司 Data transmission method, device and chip

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8701009D0 (en) * 1987-01-19 1987-02-18 Inmos Ltd Digital signal switch
US4984235A (en) * 1987-04-27 1991-01-08 Thinking Machines Corporation Method and apparatus for routing message packets and recording the roofing sequence

Also Published As

Publication number Publication date
EP0477405A1 (en) 1992-04-01
ATE145739T1 (en) 1996-12-15
DE59010586D1 (en) 1997-01-09

Similar Documents

Publication Publication Date Title
DE3300261C2 (en)
DE69133518T2 (en) Communication Interface
DE69533230T2 (en) METHOD AND DEVICE FOR IMPROVING THE ERROR TOLERANCE OF A NETWORK
DE2626838C3 (en) Test circuit arrangement for a duplicated telecommunications installation
DE3642324C2 (en) Multiprocessor system with processor access control
DE2908316A1 (en) MULTICONFIGURABLE MODULAR PROCESSING SYSTEM INTEGRATED WITH A PRE-PROCESSING SYSTEM
CH656275A5 (en) METHOD AND CIRCUIT ARRANGEMENT FOR TRANSMITTING DATA SIGNALS BETWEEN DATA SIGNAL TRANSMITTERS AND DATA SIGNAL RECEIVERS.
DE102005016596A1 (en) Subscriber, master unit, communication system and method of operating the same
EP0329005B1 (en) Method for establishing virtual circuits via switches of a multistage switching arrangement
DE2443579A1 (en) ASYNCHRONOUS ARBITER
DE3151120C2 (en) Data processing system with main memory and several processors connected in series
EP2415218B1 (en) Control device in a network, network, and routing method for messages in a network
CH656273A5 (en) METHOD AND CIRCUIT ARRANGEMENT FOR MEDIATING DATA BETWEEN DATA TERMINALS.
EP0477405B1 (en) Communication system for transfering messages between two units
EP0509114A1 (en) Procedure for the transmission of data to a plurality of stations
EP0447769A2 (en) Method and circuit arrangement for managing uniform unities and switching element
DE112012003005T5 (en) Network for the transmission of information and corresponding network nodes
EP0477406B1 (en) Multiprocessor system with common memory
EP1440544B1 (en) Method for communicating real-time data traffic in a collision-recognition based communication network, corresponding storage medium and communication network
EP0133577B1 (en) Data transmission system in a digital transmission network and arrangement for the use of this system
DE2348002C3 (en) Modular data processing system with a number of similar processors for data input
CH656276A5 (en) METHOD AND CIRCUIT ARRANGEMENT FOR TRANSMITTING DATA SIGNALS BETWEEN DATA SWITCHING DEVICES OF A DATA SWITCHING SYSTEM.
DE3324504C1 (en) Process for the transmission of information between microcomputers in a decentralized process control system, in particular for telephone systems
DE60013023T2 (en) Method and unit for controlling the output order of temporarily stored data or objects
DE3110614C2 (en) Telecontrol device with several area networks

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 19901205

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IT LI LU NL SE

RBV Designated contracting states (corrected)

Designated state(s): AT BE CH DE ES FR GB IT LI NL SE

RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: SIEMENS NIXDORF INFORMATIONSSYSTEME AG

17Q First examination report despatched

Effective date: 19950208

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE CH DE ES FR GB IT LI NL SE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRE;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED.SCRIBED TIME-LIMIT

Effective date: 19961127

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 19961127

Ref country code: GB

Effective date: 19961127

Ref country code: FR

Effective date: 19961127

Ref country code: ES

Free format text: THE PATENT HAS BEEN ANNULLED BY A DECISION OF A NATIONAL AUTHORITY

Effective date: 19961127

REF Corresponds to:

Ref document number: 145739

Country of ref document: AT

Date of ref document: 19961215

Kind code of ref document: T

REF Corresponds to:

Ref document number: 59010586

Country of ref document: DE

Date of ref document: 19970109

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Effective date: 19970227

EN Fr: translation not filed
NLV1 Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act
GBV Gb: ep patent (uk) treated as always having been void in accordance with gb section 77(7)/1977 [no translation filed]

Effective date: 19961127

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 19970927

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 19970930

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 19970930

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 19970930

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed
BERE Be: lapsed

Owner name: SIEMENS NIXDORF INFORMATIONSSYSTEME A.G.

Effective date: 19970930

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 19980701