DD220439B1 - PROCEDURE FOR QUICK BLOCK DATA TRANSMISSION BETWEEN THE STORES OF TWO COMPUTERS - Google Patents
PROCEDURE FOR QUICK BLOCK DATA TRANSMISSION BETWEEN THE STORES OF TWO COMPUTERSInfo
- Publication number
- DD220439B1 DD220439B1 DD25867383A DD25867383A DD220439B1 DD 220439 B1 DD220439 B1 DD 220439B1 DD 25867383 A DD25867383 A DD 25867383A DD 25867383 A DD25867383 A DD 25867383A DD 220439 B1 DD220439 B1 DD 220439B1
- Authority
- DD
- German Democratic Republic
- Prior art keywords
- data
- address
- target computer
- computer
- memory
- Prior art date
Links
Landscapes
- Multi Processors (AREA)
Description
Hierzu 3 Seiten ZeichnungenFor this 3 pages drawings
Anwendungsgebiet der ErfindungField of application of the invention
Die Erfindung betrifft ein Verfahren zur schnellen blockweisen Datenübertragung zwischen den Speichern von Rechnern, deren interne Datenbusse über Bustrenneinheiten an einem gemeinsamen Datenbus liegen, wobei der Initiativrechner Lese- bzw. Schreibbefehle auf den Speicher des Zielrechners ausführt. : .The invention relates to a method for fast blockwise data transmission between the memories of computers whose internal data buses are located on bus units on a common data bus, the Initiativrechner performs read or write commands to the memory of the target computer. : .
Charakteristik des bekannten Standes der TechnikCharacteristic of the known state of the art
Die Kopplung von Rechnern hat allgemein den Austausch von Daten zum Inhalt. Dieser Datenaustausch kann so gewünscht sein, daß Speicher- oder E/A-Einheiten eines anderen Rechners direkt mitbenutzt werden, der allgemeine und für eine arbeitsteilige Arbeitsweise interessante Fall ist aber der, daß Anfangs- bzw. Ergebnisdaten sowie Befehlsanweisungen ausgetauscht werden, so daß eine verhältnismäßig autonomer Betrieb der einzelnen Rechner möglich ist.The coupling of computers generally has the exchange of data to the content. This data exchange may be desired so that memory or I / O units of another computer are shared directly, but the general and interesting for a work sharing operation case is that the result data and command instructions are exchanged, so that a relatively autonomous operation of each computer is possible.
Hieraus resultiert der Wunsch, Daten vom Speicher eines Rechners auf möglichst direktem Wege zum Speicher eines anderen Rechners zu transportieren.This results in the desire to transport data from the memory of a computer as directly as possible to the memory of another computer.
Dieses Problem wird bei einem bekannten Mehrrechnersystem (DT-OS 2713304) gelöst, indem die Adreß-und Datenschienen der einzelnen Rechner über Tristate-Zweiwegtreiberbausteine miteinander verbunden sind und Schaltungsmaßnahmen vorgesehen sind, die es gestatten, die Schreib- und Lesesteuersignale sowohl an den eigenen als auch an den Speicher des Rechners zu führen, mit dem Daten ausgetauscht werden sollen. Jedem Rechner steht im Schreib-Lesespeicher jedes anderen Rechners ein eigener Speicherbereich zur Verfügung, in den er mittels direktem Speicherzugriff die zu übermittelnden Daten einschreiben bzw. lesen kann.This problem is solved in a known multi-computer system (DT-OS 2713304) by the address and data rails of the individual computers are connected to each other via tri-state two-drive driver blocks and circuit measures are provided, which allow the write and read control signals to both the own as also to the memory of the computer to lead, with the data to be exchanged. Each computer has its own memory area in the read-write memory of every other computer, into which it can write or read the data to be transmitted by means of direct memory access.
Diese Anordnung bietet infolge des direkten Speicherzugriffs die Möglichkeit derfreien Adressierbarkeit des Austauschspeichers im Zielrechner. Diese Eigenschaft wird durch einen verhältnismäßig hohen Aufwand an Tristate-Zweiwegtreiberbausteinen und Busleitungen erkauft, da die elektrische Übertragung einer Adreßinformation von 10... 16 Bit Breite erforderlich ist. Neben dem hohen Aufwand weist diese Vielzahl von Verbindungsleitungen und Treiberbausteinen den Nachteil einer geringeren Zuverlässigkeit bzw. größeren Störanfälligkeit sowie einer komplizierteren Fehlersuche auf.This arrangement offers the possibility of free addressability of the exchange memory in the target computer due to the direct memory access. This property is paid for by a relatively high amount of tristate two-way driver components and bus lines, since the electrical transmission of address information of 10... 16 bit width is required. In addition to the high cost, this variety of interconnections and driver blocks has the disadvantage of lower reliability or greater susceptibility to interference and a more complicated troubleshooting.
Eine andere bekannte Schaltungsanordnung (DD-PS 137627) schlägt eine ähnliche Rechnerverbindungsanordnung vor, die einen Koppelbus, bestehend aus Adreß-, Daten-, Steuer- und Anforderungsbus, verwendet. Zusätzlich wird ein spezieller Kommunikationsrechner vorgeschlagen, der die Einleitung des Datenaustauschs mit geringem Zeitaufwand sowie die Reihenfolge der Rechner organisieren soll. Grundsätzlich liegen hier die gleichen, bereits beim vorher beschriebenen Mehrrechnersystem festgestellten Nachteile vor.Another known circuit arrangement (DD-PS 137627) proposes a similar computer connection arrangement, which uses a coupling bus, consisting of address, data, control and request bus. In addition, a special communication computer is proposed, which should organize the initiation of the data exchange with little time and the order of the computer. Basically, here are the same, already noted in the previously described multi-computer system disadvantages.
Bei einer anderen Mehrrechnerkopplung (DD-PS 142135) wird vorgeschlagen, jede Recheneinheit über eine Eingabe-/ Ausgabetorschaltung an gemeinsame Sammelleitungen for Daten- und Adreßinformationen anzuschließen, wobei jede E/A-Torschaltung über eine besondere Steuerschaltung zur Übertragung der Steuersignale an eine Sammelleitung zum asynchronen, direkten und konfliktfreien Datenaustausch angeschlossen ist. Der Datenaustausch selbst erfolgt mit E/AOperationen im Übergabeverfahren mittels Quittungsbetrieb.In another multi-computer coupling (DD-PS 142135) is proposed to connect each arithmetic unit via an input / output gate to common buses for data and address information, each I / O gate via a special control circuit for transmitting the control signals to a bus to asynchronous, direct and conflict-free data exchange is connected. The data exchange itself takes place with I / O operations in the handover procedure by means of acknowledgment operation.
Dieser Ablauf setzt die Datenaustauschrate spürbar herab, da für das Übermitteln eines Datenbytes mehrere Operationen beider beteiligter Rechner erforderlich sind. Weiterhin muß als Nachteil angesehen werden, daß ein spezieller Adreßbus an jede Recheneinheit geführt werden muß, um eine Auswahl des Partners zu ermöglichen.This process noticeably reduces the data exchange rate since several operations of both computers involved are required for the transmission of a data byte. Furthermore, it must be considered a disadvantage that a special address bus must be routed to each arithmetic unit in order to enable a selection of the partner.
Bei einer weiteren bekannten Mikrorechnerkopplung (DD-PS 133482) wird angestrebt, eine peripherieartige Mikrorechnerkopplung mit Parallel-Interface-Bausteinen so zu realisieren, daß bei niedrigem Aufwand trotzdem eine hohe Datenaustauschrate, Flexibilität und Universalität erreicht wird. Hierzu wird neben den programmierbaren Parallel-E/A-Interface-Bausteinen eine auf beiden Seiten des Datenaustausches Wartesignale erzeugende, doppelte Zusatzwartelogik vorgesehen. Diese Lösung weist noch den Nachteil auf, daß das Wirken der Wartesignale auf beiden Seiten Abstriche von der maximal möglichen Datenaustauschrate zur Folge hat. In another known Mikrororechnerkopplung (DD-PS 133482) is sought to realize a peripheral-like Mikrororechnerkopplung with parallel interface modules so that at low cost nevertheless a high data exchange rate, flexibility and universality is achieved. For this purpose, in addition to the programmable parallel I / O interface modules, a double additional waiting logic generating on both sides of the data exchange waiting signals is provided. This solution still has the disadvantage that the action of the wait signals on both sides has reduced the maximum possible data exchange rate result.
Eine weitere bekannte Einrichtung (DT-OS 3026362) schlägt zur Schaffung einer aufwandsarmen, aber schnelleren Mikrorechnerkopplung mit E/A-Bausteinen einen voll synchronen und blockorientierten Datenaustausch vor. Durch eine Befehls/Steuereinrichtung soll der Datenaustausch auf beiden Seiten am Anfang einmal eingeleitet werden und dann synchron ablaufen. Bei einheitlicher Taktversorgung der austauschenden Rechner kann der zu übertragende Datenblock beliebig lang sein. Bei unterschiedlicher Taktversorgung darf die maximale Blocklänge in Abhängigkeit von der relativen Taktgenauigkeit nur so groß sein, daß Übertragungsfehler mit Sicherheit ausgeschlossen werden.Another known device (DT-OS 3026362) suggests a fully synchronous and block-oriented data exchange to create a low-cost but faster microcomputer link with I / O devices. By a command / control device, the data exchange on both sides at the beginning should be initiated once and then run synchronously. With uniform clock supply of the exchanging computers, the data block to be transmitted can be of any length. With different clock supply, the maximum block length depending on the relative clock accuracy may only be so large that transmission errors are excluded with certainty.
Diese Eigenschaft ist ein wesentlicher Nachteil. Hinzu kommt, daß die notwendige synchrone Arbeitsweise beider Rechner aus unterschiedlichen Gründen nicht immer gegeben ist. Weiterhin ist nachteilig, daß das Datenübergabeverfahren mit Ein-/ Ausgabefehlern auf beiden Seiten arbeitet, wobei für das Übertragen eines Bytes auf der Senderseite sogar erst eine SpeicherTeseoperation und anschließend eine Ausgabeoperation zum Übergabeport erforderlich ist. Das hat eine nur geringe Datenaustausch rate gegenüber dem direkten Speicherzugriff zur Folge.This property is a major disadvantage. In addition, the necessary synchronous operation of both computers for different reasons is not always given. Furthermore, it is disadvantageous that the data transfer method works with input / output errors on both sides, wherein for the transmission of a byte on the transmitter side even a memory read operation and then an output operation to the transfer port is required. This has a low data exchange rate compared to the direct memory access result.
Ziel der Erfindung .Object of the invention.
Die Erfindung hat zum Ziel, einen blockweisen Datenaustausch zwischen zwei Rechnern mit einer hohen Datenaustauschrate bei geringem Schaltungsaüfwand zu erreichen. Dabei soll keine Beschränkung der Blocklänge vorliegen und es soflen keine Zeitprobleme beim Zugriff auf die weiter hinten stehenden Speicherzellen eines Blockes entstehen.The aim of the invention is to achieve a block-wise data exchange between two computers with a high data exchange rate with a low circuit wall. There should be no restriction on the block length and there are no time problems arising when accessing the memory cells of a block located further back.
Darlegung des Wesens der ErfindungExplanation of the essence of the invention
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur schnellen blockweisen Datenübertragung zwischen den Speichern von Rechnern, deren interne Datenbusse über Bustrenneinheiten an einem gemeinsamen Datenbus liegen, zu schaffen, das bei separaterTaktversorgung der Rechner ohne deren taktmäßige Synchronisation einen blockweisen Datenaustausch nur mix den Ein/Ausgabebefehlen des Initiativrechners und mit weniger Hardware-Aufwand, insbesondere von Busleitungen und Tristaie-Zweiwegtreiberbausteinen ermöglichen soll.The invention has for its object to provide a method for fast block-by-block data transfer between the memories of computers whose internal data buses are connected to a common data bus via bus units, the block data exchange only with separate Taktakt the computer without their cyclic synchronization Output commands of the Initiativrechners and with less hardware overhead, in particular to enable bus lines and Tristaie Zweiwaftreiberbausteinen.
Erfindungsgemäß wird die Aufgabe dadurch gelöst, daß der Zielrechner vom Initiativrechner über Steuersignale in einen Adreß-Modus versetzt wird, in dem der Prozessor des Zielrechners auf seinen Adreßbus in inkrementierender Arbeitsweise eine Adresse ausgibt, die als Zeiger für die jeweilige Speicherzelle eines Datenblockes genutzt wird und auf dieser Adresse durch ein Warte-Steuersignal solange festgehalten wird, bis die Datenübertragung für diese Speicherzelle beendet ist. Der Initiativrechnertastet am Ende seines Übertragungszyklus das Warte-Steuersignal solange aus, daß der Prozessor des Zielrechners seinen Wartezustand verläßt und die nächste Adresse erzeugt und ausgibt.According to the invention the object is achieved in that the target computer is offset by the Initiativrechner via control signals in an address mode in which the processor of the target computer on its address bus in incrementing operation outputs an address that is used as a pointer for the respective memory cell of a data block and is held at this address by a wait control signal until the data transmission for this memory cell is completed. The Initiativrechnert at the end of its transmission cycle, the wait control signal so long that the processor of the target computer leaves its waiting state and generates the next address and outputs.
Vorzugsweise wird im Initiativrechner ein erster Adreßteil für den Speicher des Zielrechners als Blockeinsprungadresse zur Auswahl des Datenblockanfanges ausgegeben und im Zielrechner zwischengespeichert und mit einem zweiten vom Zielrechner ausgegebenen Adreßteil zusammengesetzt. Eine vorteilhafte Ausgestaltung des Verfahrens besteht darin, daß der Adreß-Modus von einer Befehlsgebereinheit erzeugt wird, deren Ausgang einen NOP-Befehl auf den Dateneingang des Prozessors gibt, wobei der Zugriff des Prozessors auf seinen Programmspeicher unterbrochen wird.Preferably, in the initiator computer, a first address part for the memory of the destination computer is output as a block entry address for selecting the beginning of the data block and buffered in the destination computer and combined with a second address part issued by the destination computer. An advantageous embodiment of the method is that the address mode is generated by a command generator whose output gives a NOP command to the data input of the processor, wherein the access of the processor is interrupted to its program memory.
Eine weitere Ausgestaltung des Verfahrens besteht darin, daß für die Datenübertragung zwischen mehr als zwei Rechnern ein Rechner als Initiativrechner und die übrigen Rechner als Zielrechner arbeiten, wobei die Daten über den Speicher des Initiativrechners übertragen werden.A further embodiment of the method is that for the data transmission between more than two computers, a computer work as Initiativrechner and the remaining computers as a target computer, the data being transferred via the memory of the Initiativrechners.
Eine andere günstige Möglichkeit für die Datenübertragung zwischen mehr als zwei Rechnern sieht vor, einen Rechner als Zielrechner und die übrigen Rechner als Initiativrechner arbeiten zu lassen, wobei die Daten über den Speicher des Zielrechners übertragen werden.Another favorable possibility for the data transmission between more than two computers provides for a computer to operate as a target computer and the remaining computers to work as an initiator computer, the data being transferred via the memory of the target computer.
Ausführungsbeispielembodiment
In den Zeichnungen ist ein Ausführungsbeispiel der Erfindung dargestellt. Dabei zeigen:In the drawings, an embodiment of the invention is shown. Showing:
Fig. 1: Ein Blockschaltbild mit der Grundstruktur der Datenübertragung, Fig.2: eine Schaltungsanordnung für den Datenaustausch Fig. 3: eine Schaltungsvariante für die Adreßbildung1 shows a block diagram with the basic structure of the data transmission; FIG. 2 shows a circuit arrangement for the data exchange; FIG. 3 shows a circuit variant for the address formation
In Fig. 1 ist zunächst das grundlegende Datenübergabeverfahren anhand des Wirkungszusammenhanges veranschaulicht. Ein Initiativrechner 1 und ein Zielrechner 2 stehen über eine Bustrenneinheit 3 und einem Datenbus DAT miteinander in Verbindung.In Fig. 1, the basic data transfer method is first illustrated by the effect context. An initiating computer 1 and a target computer 2 are connected to each other via a bus unit 3 and a data bus DAT.
Eine Verbindungssteuerschaltung 5 unterstützt die Einleitung, Durchführung und Beendigung des Datenaustausches. Der Initiativrechner 1 soll der Datenaustausch wünschende und der Zielrechner 2 der gewünschte Partner sein. Der Initiativrechner 1 übernimmt deshalb die aktive Funktion.A connection control circuit 5 supports the initiation, execution and termination of the data exchange. The initiator computer 1 should be the data exchange wishing and the target computer 2 the desired partner. The Initiativrechner 1 therefore takes over the active function.
Die Einleitung des Datenaustausches beinhaltet, daß die zentrale Recheneinheit ZRE2 des Zielrechners 2 durch Einwirkung auf ihre Steuersignaleingänge (INT, RESET7WAIT) in einen NOP-Modus versetzt wird, in dem sie von ihrem Programmspeicher abgetrennt wird und von einem NOP-Befehlsgeber 6 einen fortlaufenden NOP-Befehl aufgezwungen erhält. Dies hat zur Folge, daß die zentrale Recheneinheit ZRE 2 auf ihrem Adreßbus eine mit „Null" beginnende, inkrementierende Adresse A ausgibt, die als Zeiger für die auszutauschende Speicherzelle ZEL genützt wird.The initiation of the data exchange implies that the central processing unit ZRE2 of the target computer 2 is put into a NOP mode by being cut off from its program memory by a control of its control signal inputs (INT, RESET 7 WAIT) and by a NOP commander 6 Continuous NOP command gets imposed. This has the consequence that the central processing unit ZRE 2 outputs on its address bus an incrementing address A beginning with "zero", which is used as a pointer for the memory cell ZEL to be exchanged.
Auf jeder Adresse wird die zentrale Recheneinheit ZRE 2 des Zielrechners 2 durch eine WAIT-Steuerung so lange festgehalten, bis der Datenaustausch für die betreffende Speicherzelle ZEL beendet ist.At each address, the central processing unit ZRE 2 of the target computer 2 is held by a WAIT control until the data exchange for the relevant memory cell ZEL is completed.
Gleichzeitig zur Adresse A sendet die zentrale Recheneinheit ZRE2 im NOP-Modus die erforderlichen Speichersteuersignale aus, so daß der Speicher Sp2 des Zielrechners 2 den Inhalt der gerade adressierten Speicherzelle aussendet.Simultaneously with the address A, the central processing unit ZRE2 transmits the required memory control signals in the NOP mode, so that the memory Sp2 of the target computer 2 transmits the content of the memory cell currently being addressed.
Der Initiativrechner 1 und insbesondere seine zentrale Recheneinheit ZRE1 hat somit die Möglichkeit, das vom Speicher Sp 2 ausgegebene Datum direkt über die Bustrenneinheit 3 zu empfangen, was vorzugsweise mit einer Leseoperation L1 erfolgen soll. Anschließend kann die zentrale Recheneinheit ZRE1 dieses Datum in ihrem Speicher Sp 1 ablegen, in der Fig. 1 durch eine Schreiboperation S1. Damit ist der Transport eines Datums ypm Speicher Sp 2 des Zielrechners 2 in den Speicher SpI desThe initiative computer 1 and in particular its central processing unit ZRE1 thus has the possibility of receiving the data output by the memory Sp 2 directly via the bus separation unit 3, which is preferably to take place with a read operation L1. Subsequently, the central processing unit ZRE1 store this data in its memory Sp 1, in FIG. 1 by a write operation S1. Thus, the transport of a date ypm memory Sp 2 of the target computer 2 in the memory SpI of
initiativrechners 1 abgeschlossen. Umgekehrt weist die Anordnung auch die Möglichkeit auf, den Datentranspnrt auch in der entgegengesetzten Richtung durchzuführen, was mit dem Lesevorgang L2 und dem Schreibvorgang S 2 veranschaulicht ist. Die Schreibsteuerung des Speichers Sp2 im Zielrechner 2 erfolgt mit einem Lese-/Schreibsteuersignal R/W des Initiativrechners 1 über die Verbindungssteuerschaltung 5.Initiativrechners 1 completed. Conversely, the arrangement also has the possibility to perform the Datenentranspnrt also in the opposite direction, which is illustrated with the read operation L2 and the write operation S 2. The write control of the memory Sp2 in the target computer 2 takes place with a read / write control signal R / W of the initiating computer 1 via the connection control circuit 5.
Die inkrementierende Adressierungsweise des Speichers SP2 durch die zentrale Recheneinheit ZRE 2 begünstigt vorteilhaft einen vom Befehlsaufbau her blockorientiert arbeitenden Blocktransportbefehl, über den die meisten Mikroprozessoren verfügen, und der einen schnei I enund bequemen Datentransfer bietet. Aus der Sicht der zentral en RecheneinheitZREI wird der Speicher Sp2 des fremden Zielrechners 2 wie der eigene behandelt, wobei der Speicher SP2 scheinbar einen noch schnelleren Zugriff erlaubt, da die Adreßzugriffszeit im Zielrechner 2 wegfällt, wie weiter unten näher beschrieben. Zur weiteren Erhöhung der Austauschgeschwindigkeit kann die zentrale Recheneinheit ZRE1 auch eine eigene nicht dargestellte DMA-Einheit, die als Kaufteil verfügbar ist, mit dem Blocktransfer beauftragen.The incremental addressing manner of the memory SP2 by the central processing unit ZRE 2 advantageously favors a block-oriented command executed block-oriented by the instruction structure, which most microprocessors have and which offers a quick and convenient data transfer. From the point of view of the central processing unit ZREI, the memory Sp2 of the foreign target computer 2 is treated like its own, the memory SP2 apparently allowing an even faster access since the address access time in the target computer 2 is eliminated, as described in more detail below. To further increase the exchange rate, the central processing unit ZRE1 can also commission its own non-illustrated DMA unit, which is available as a purchased part, with the block transfer.
Das Zugriffsproblem zu im Austauschblock weiter hinten stehenden Daten wird erfindungsgemäß durch Blockunterteilung gelöst, wobei jeder Teil block direkt über eine eigene Blockeinsprungadresse BEA erreicht werden kann. Die Blockeinsprungadresse BEA wird dabei vom Initiativrechner 1 über den Datenbus DAT bei der Einleitung des Datenaustauschers in einen Adreßspeicher7 ausgegeben. Dieser Adreßspeicher 7 addiert seinen Inhalt zum höherwertigenTeil der im Zielrechner 2 wirksamen Adresse, wodurch eine Verschiebung der Anfangsadresse herbeigeführt wird. In Fig. 1 sind zwei Beispiele für die Blockeinsprungadresse BEA1 und BEAn dargestellt, wobei diese jeweils auf den Anfang des Teilblockes zeigt und der niederwertige Adreßteil von der zentralen Recheneinheit ZRE2 des Zielrechners 2 bereitgestellt wird und die laufende Speicherzelle ZEL des Teilblocks adressiert.The access problem to in the exchange block further behind data is inventively solved by block division, each block can be reached directly via a separate block entry address BEA. The block entry address BEA is output by the initiative calculator 1 via the data bus DAT at the initiation of the data exchanger in a Adreßspeicher7. This address memory 7 adds its contents to the most significant part of the address effective in the target computer 2, thereby causing a shift of the start address. In Fig. 1, two examples of the block entry address BEA1 and BEAn are shown, which in each case points to the beginning of the sub-block and the low-order address part of the central processing unit ZRE2 of the target computer 2 is provided and the current memory cell ZEL of the sub-block addressed.
Die Schaltungsanordnung (Fig. 2) zeigt, wie das angegebene Datentauschverfahren realisiert werden kann, wobei der verbreitete Prozessor Z80 zugrunde gelegt ist. Andere Prozessortypen weisen ähnliche Signale auf und können analog verwendet werden.The circuit arrangement (FIG. 2) shows how the specified data exchange method can be implemented, based on the widespread processor Z80. Other processor types have similar signals and can be used analogously.
Der hauptsächliche Teil der erfindungsgemäße/i Schaltungsanordnung befindet sich auf der Seite des Zielrechners 2.The main part of the inventive circuit arrangement is located on the side of the target computer 2.
Die zentrale Recheneinheit ZRE2 ist.in bekannter Weise über Datentreiberschaltungen 21, 22 und Adreßtreiberschaltungen 23 a, 23b mit ihren Speicher- und E/A-Einheiten verbunden, wobei in Fig.2 nur derfür den Datenaustausch interessierende Lese-/ Schreibspeicher Sp 2 dargestellt ist. Die Bustrenneinheit 3 ist eine parallele bidirektionale Tristate-Treiberschaltung, z.B. aus zwei integrierten Schaltungen 8216, die die internen Datensammelleitungen 20 des Zielrechners 2 über den Datenbus DAT mit dem Initiativrechner 1 verbindet.The central processing unit ZRE2 is connected in known manner via data driver circuits 21, 22 and address driver circuits 23a, 23b to their memory and I / O units, wherein only the read / write memory Sp2 of interest for the data exchange is shown in FIG , The bus separation unit 3 is a parallel bidirectional tristate driver circuit, e.g. from two integrated circuits 8216, which connects the internal data bus 20 of the target computer 2 via the data bus DAT with the Initiativrechner 1.
Der Adreßspeicher 7 dient zur Übergabe, Speicherung und Aufschaltung des Blockeinsprungzeigers für den Datenaustausch.The address memory 7 is used to transfer, storage and connection of the block entry pointer for data exchange.
Über eine Zustandslogik 19, bestehend aus einem Aktivierungs-Flipflop 26 und einem Status-Flipflop 27 wird der gewünschte Datenaustauschpartner (Zielrechner 2) bei mehr als zwei Recheneinheiten angefordert. Alle weiteren Funktionselemente dienen zur Ablaufsteuerung des Datenaustausches.About a state logic 19, consisting of an activation flip-flop 26 and a status flip-flop 27, the desired data exchange partner (target computer 2) is requested at more than two arithmetic units. All other functional elements are used for sequential control of the data exchange.
Dabei ist keine Adreßsammelleitung vom Initiativrechner 1 an den Zielrechner 2 geführt, sondern die Ankopplung erfolgt über den gemeinsamen Datenbus DAT, der die Datenbreite des Systems aufweisen muß. Darüber hinaus sind zur flexiblen Wahl des Zeipunktesfür den Datenaustausch in Abhängigkeit vom Stand der Problembearbeitung eine Zielrechneraufrufleitung ZRA, eine Ruf leitung RUF und eine Abfrageleitung FRA und für die Datenaustauschsteuerung eine Zyklussteuersignalleitung ZYK und eine Lese/Schreibsteuerleitung R/W vorgesehen.In this case, no address bus from Initiativrechner 1 is passed to the target computer 2, but the coupling is made via the common data bus DAT, which must have the data width of the system. Moreover, for flexibly selecting the time for the data exchange depending on the state of problem processing, there are provided a destination call line ZRA, a call line RUF and a request line FRA, and for data exchange control a cycle control signal line ZYK and a read / write control line R / W.
Im folgenden soll das Zusammenwirken der Schaltelemente anhand des Ablaufes einer Datenaustauschverbindung dargestellt werden. Im Ausgangszustand sollen beide, Initiativrechner 1 und Zielrechner 2 unabhängig voneinander ihre Programme bearbeiten. Dieser Zustand soll auf der Seite des vorgesehenen Zielrechners 2 durch ein L-Signal am Ausgang des Aktivierungs-Flipflops 26 gekennzeichnet sein. Über ein Status-Flipflop 27 sind dann die Bustrenneinheit 3 und der Adreßspeicher 7 hochohmig und die Daten- und Adreßtreiberschaltungen 21,22,23 aktiv geschaltet, so daß ein ungestörter Betrieb der zentralen Recheneinheit ZRE2 an ihrem Speicher Sp2 und ihren E/A-Einheiten möglich ist.In the following, the interaction of the switching elements based on the sequence of a data exchange connection will be shown. In the initial state, both the initiator computer 1 and the target computer 2 are to process their programs independently of each other. This state should be marked on the side of the intended target computer 2 by an L signal at the output of the activation flip-flop 26. Via a status flip-flop 27, the bus unit 3 and the address memory 7 are then high-impedance and the data and address driver circuits 21,22,23 active, so that an undisturbed operation of the central processing unit ZRE2 at its memory Sp2 and their I / O units is possible.
Bei einem bestimmten Programmbearbeitungsstand entsteht beim Initiativrechner 1 der Wunsch, Daten mit einem anderen Rechner, z. B. dem Zielrechner 2 auszutauschen. Zu diesem Zeitpunkt sollen keine Anforderungen für einen Datenaustausch von anderen Rechnern vorliegen. Hierzu fordert der Initiativrechner 1 über eine spezielle Ausgabeoperation den Zielrechner 2 zum Datenaustausch an.In the case of a specific program processing state, the initiative computer 1 creates the desire to transfer data with another computer, eg a computer. B. exchange the target computer 2. At this time, there should be no requirements for a data exchange from other computers. For this purpose, the initiative calculator 1 requests the target computer 2 for data exchange via a special output operation.
Die Ausgabe beinhaltet, daß über einen ersten Teil 24a des Datenbus DAT die Adresse des Zielrechners 2 an die Erkennungsschaltung 25 und über einen zweiten Teil 24b die Blockeinsprungadresse BEA an den Adreßspeicher 7 ausgegeben wird. Bei einem 8 Bit breiten Datenbus DAT könnten z.B. 4 Bit für die Adresse des Zielrechners 2 und ebenfalls 4 Bit für die Blockeinsprungadresse BEA zugeordnet werden. Damit können 15 Zielrechneradressen — alle 4 Bit LOW soll Rücksetzfunktion haben — und 16 Blockeinsprungadressen kodiert werden, was bereits den Aufbau umfangreicher Mehrrechnersysteme erlaubt.The output includes that via a first part 24a of the data bus DAT the address of the target computer 2 to the detection circuit 25 and a second part 24b, the block entry address BEA is output to the address memory 7. For an 8-bit data bus DAT, e.g. 4 bits for the address of the target computer 2 and also 4 bits for the block entry address BEA be assigned. Thus, 15 target computer addresses - all 4 bits LOW should have reset function - and 16 block entry addresses are encoded, which already allows the construction of extensive multi-computer systems.
Die Zielrechneraufrufleitung ZRA stellt den Ausgang eines Ausgabeentschlüsslers auf dem Initiativrechner 1 dar und ist parallel an jeden Zielrechner 2 geführt und sorgt dort einerseits für das Einschreiben der Blockeinsprungadresse BEA in den Adreßspeicher7, wenn eine Freigabe an dessen Eingang E1 durch Aktivierung der Erkennungsschaltung 25 im Falle einer zutreffenden Zielrechneradresse erfolgt. Andererseits bewirkt das Zielrechneraufrufsignal ZRA am Takteingang T des Aktivierungs- Flipflop 26 die Abspeicherung des Ausganges der Erkennungsschaltung 25 an seidem eigenen Ausgang. Bei zutreffender Zielrechneradresse erscheint am Ausgang der Erkennungsschaltung 25, und nach Übernahme in das Aktivierungs-Flipflop 26 am Ausgang des Aktivierungs-Flipflops 26 ein Η-Signal, das auch nach Beendigung der Ausgabe dort stehen bleibt. Die Zielrechneraufrufsignalleitung ZRA führt weiterhin über einen Negator 28 und ein Gatter 29 auf den Interrupt-Eingang INT der zentralen Recheneinheit ZRE2 des Zielrechners 2. In der anschließenden Interruptbehandlungsroutine kann die zentrale Recheneinheit ZRE 2 entscheiden, ob sie zum Datenaustausch bereit ist und ggf. Vorbereitungen für den Datenaustausch treffen. Im Fall, daß Bereitschaft vorliegt, geht die zentrale Recheneinheit ZRE 2 in einen programmierten „HALT"-Zustand, der über ihren entsprechenden HALT-Ausgang und einen Negator 30 die Zustandslogik 19 aktiviert, und über einen aus NAND-Gattern 31, 32,33, Wickelverbindungen 34 und Ziehwiderständen 35 bestehenden Kennwortgeber 50 sowie den Datenbus DAT dem Initiativrechner 1 mitteilt. Der Initiativrechner 1 fragt hierzu periodisch mittels der Abfrageleitung FRA, die über einen Eingabeentschlüssler auf dem Initiativrechner 1 gesteuert wird, den Datenbus DAT ab, ob das Kennwort für den gewünschten Zielrechner 2 erscheint. Dieses Kennwort kann z. B. durch eine einfache Wortkodierung mit den NAND-Gattern 32,33 und den wählbaren Wickelverbindungen 34 in Verbindung mit den Ziehwiderständen 35 realisiert werden.The Zielrechneraufrufleitung ZRA represents the output of a Ausgabentschlüsslers on the Initiativrechner 1 and is performed in parallel to each target computer 2 and there on the one hand for writing the block entry address BEA in the address memory 7, if a release to its input E1 by activating the detection circuit 25 in the case of the correct destination address. On the other hand causes the Zielrechneraufrufsignal ZRA at the clock input T of the activation flip-flop 26, the storage of the output of the detection circuit 25 on its own se output. At the appropriate destination computer address appears at the output of the detection circuit 25, and after being transferred to the activation flip-flop 26 at the output of the activation flip-flop 26, a Η signal that remains there even after completion of the output. The target computer call signal line ZRA continues via an inverter 28 and a gate 29 to the interrupt input INT of the central processing unit ZRE2 of the target computer 2. In the subsequent interrupt handling routine, the central processing unit ZRE 2 can decide whether it is ready for data exchange and possibly preparations for make the data exchange. In the case of readiness, the central processing unit ZRE 2 enters a programmed "STOP" state which activates state logic 19 via its corresponding HALT output and negator 30, and one of NAND gates 31, 32, 33 , Winding connections 34 and drawing resistors 35 existing password generator 50 and the data bus DAT notifies the Initiativrechner 1. The Initiativrechner 1 asks this periodically by means of the inquiry line FRA, which is controlled via an input decoder on the Initiativrechner 1, the data bus DAT, if the password for the This password can be realized, for example, by a simple word coding with the NAND gates 32, 33 and the selectable winding connections 34 in conjunction with the drawing resistors 35.
Erscheint bis zu einem maximal zulässigen Zeitpunkt das gewünschte Kennwort nicht, wird vom Initiativrechner 1 angenommen, daß kein Datenaustausch erwünscht ist, und er löscht seine Anforderung durch Ausgabe derfiktiven LOW-Adresse an die Erkennungsschaltung 25, was zur Abschaltung des Aktivierungs-Flipflops 26 führt. In diesem Fall würde der Zielrechner 2 seine eigene Programmbearbeitung fortsetzen und der Initiativrechner 1 könnte ggf. Datenaustausch mit anderen Rechnern suchen oder ein autonomes Programm bearbeiten. Zu einem späteren Zeitpunkt könnte die Datenaustauschforderung wiederholt werden.If the desired password does not appear up to a maximum allowable time, the initiating computer 1 assumes that no data exchange is desired, and clears its request by issuing the fictitious LOW address to the detection circuit 25, resulting in the deactivation of the activation flip-flop 26. In this case, the target computer 2 would continue its own program processing and the initiator computer 1 could possibly seek data exchange with other computers or edit an autonomous program. At a later date, the data exchange request could be repeated.
Ist das Kennwort erschienen, so ist der Zielrechner zum Datenaustausch bereit, wobei im Zielrechner 2 noch folgender Ablauf wirksam wird.If the password has appeared, then the target computer for data exchange is ready, in the target computer 2, the following expiration is effective.
Der aktivierte HALT-Ausgang von der zentralen Recheneinheit ZRE 2 führt über den Negator30undein U N D-Gatter 36 sowie ein Monoflip37zu einem Rücksetzimpuls am Rücksetzeingang RESET der zentralen Recheneinheit ZRE 2. Dadurch wird die zentrale Recheneinheit ZRE 2 in ihre Grundstellung versetzt und insbesondere der Befehlsadreßzähler auf Null zurückgestellt. Gleichzeitig bewirkt die Einschaltflanke des"HALT-Signals über Negator 30 in der Zustandslogik 19 die Übernahme des Ausganges des Aktivierungs-Flipflops 26 in das Status-Flipflop 27 durch Aktivierung dessen Takteinganges T. Vom invertierten Ausgang des Status-Flipflops 27 wird die Umschaltung bzw. Freigabe des Zielrechners 2 in den Datenaustauschzustand vorgenommen. Dazu wird ein erster Schaltvorgang an den Datentreiberschaltungen 21,22 ausgelöst, indem die Datentreiberschaltung 22 über ihren Freigabe-Eingang E abgeschaltet (hochohmiger Zustand) und die Datentreiberschaltung 21 zum Lesen über ihren Rücksetz-Eingang R rückgesetzt wird, so daß diese an ihren Ausgängen, die mit den Dateneingängen der zentralen Recheneinheit ZRE 2 verbunden sind, im Lesezustand LOW-Potential führt, was dem Befehlskode für den NOP-Befehl entspricht. Dieser Befehl ist bei der zentralen Recheneinheit des Prozessors Z80 dadurch gekennzeichnet, daß keine Datenverarbeitung stattfindet, jedoch ein Auffrischvorgang abläuft und der Befehlsadreßzähler um „Eins" erhöht wird.The activated HALT output from the central processing unit ZRE 2 leads via the negator 30 and a UN D-gate 36 and a monoflop 37 to a reset pulse at the reset input RESET of the central processing unit ZRE 2. This causes the central processing unit ZRE 2 to be in its home position and, in particular, the instruction address counter Zero reset. At the same time, the switch-on edge of the "STOP" signal via negator 30 in state logic 19 effects the transfer of the output of activation flip-flop 26 into status flip-flop 27 by activating its clock input T. The inverted output of status flip-flop 27 For this purpose, a first switching operation is triggered on the data driver circuits 21, 22 by the data driver circuit 22 being switched off via its enable input E (high-resistance state) and the data driver circuit 21 being reset via its reset input R for reading to be LOW at the outputs connected to the data inputs of the central processing unit ZRE 2, which corresponds to the instruction code for the NOP instruction, which is indicated at the central processing unit of the processor Z80 that no data processing takes place, but an Au refreshing process and the command address counter is increased by "one".
Ein weiterer Schaltvorganghinsichtlich der Umschaltung des Zielrechners 2 in den Datenaustauschzustand führt zur Abschaltung der Tore 23 b und damit eines Teiles 38 b der Adreßbusleitungen 38, so daß nur der zur Adressierung des Datenblockanfangesjm Speicher Sp2 benötigte Teil der Adresse an eine digitale Additionsschaltung 39 gelangt. Weiterhin aktiviert der Ausgang des Status-Flipflop 27 über ein Negationsglied 42 den Adreßspeicher 7, und das WAIT-Logik-Element 46, so daß durch L-Signal der Warteeingang WAIT der zentralen Recheneinheit ZRE 2 aufgerufen ist. Außerdem wird vom Status-Flipflop 27 über das NAND-Gatter 31 der Kennwortgeber 50 aktiviert. Für die zentrale Recheneinheit ZRE2 ergibt sich folgender Ablauf:Another switching operation with respect to the switching of the target computer 2 in the data exchange state leads to the shutdown of the gates 23 b and thus a portion 38 b of the address bus 38, so that only the time required for addressing the Datenblockanfangesjm memory Sp2 part of the address to a digital addition circuit 39 arrives. Furthermore, the output of the status flip-flop 27 activates the address memory 7 via a negation element 42, and the WAIT logic element 46, so that the wait input WAIT of the central processing unit ZRE 2 is called by an L signal. In addition, the password flip-flop 27 is activated by the status flip-flop 27 via the NAND gate 31. The following procedure results for the central processing unit ZRE2:
Der Rücksetzimpuls des Monoflip 37 bringt die zentrale Recheneinheit ZRE 2 in ihre Grundstellung, wobei der HALT-Ausgang abgeschaltet wird. Die zentrale Recheneinheit ZRE 2 beginnt nun ihren ersten Zyklus auf der Befehlsadresse „Null" und erhält dabei von der als Befehlsgebereinheit ausgebildeten Datentreiberschaltung 21 den NOP-Befehlskode aufgezwungen. Die Aktivierung des Warteeinganges WAIT hat jedoch zur Folge, daß die zentrale Recheneinheit ZRE 2 beim Lesen des Befehlskodes anhält, dabei aber weiter ihre Befehlsadresse und die Speichersteuersignale aussendet. Damit kann der Initiativrechner 1 nach erfolgreicher Abfrage der Bereitschaft über das Kennwort sofort mit dem Datenaustausch beginnen, der in Form von normalen Schreib-oder Lesevorgängen durchgeführt wird.The reset pulse of the monoflip 37 brings the central processing unit ZRE 2 into its basic position, whereby the HALT output is switched off. The central processing unit ZRE 2 now starts its first cycle at the instruction address "zero" and receives the NOP instruction code imposed by the data driver circuit 21 embodied as an instruction generator unit, but the activation of the wait input WAIT results in the central processing unit ZRE 2 reading The initiator computer 1 can then immediately start the data exchange, which is carried out in the form of normal read or write operations, after successfully requesting the password via the password.
Der Datenaustausch soll z.B. zum Ziel haben, zuerst eine Anzahl von Datenworten aus dem Speicher Sp2 des Zielrechners 2 in den Speicher Sp 1 des Initiativrechners 1 zu laden. Gemäß des anfangs erläuterten Prinzips führt der Initiativrechner 1 hierzu Lesebefehle auf den fremden Speicher Sp2 und Schreibbefehle auf den eigenen Speicher Sp 1 aus. Zur Erhöhung der Datenaustauschsicherheit kann das erste Datenwort einen Kennschlüssel zum nochmaligen Prüfen des richtigen Zielrechners enthalten. ·The data exchange should e.g. have the goal of first loading a number of data words from the memory Sp2 of the target computer 2 into the memory Sp 1 of the initiative calculator 1. According to the principle explained at the outset, the initiating computer 1 carries out read commands to the foreign memory Sp2 and write commands to its own memory Sp 1. To increase the data exchange security, the first data word may contain a passkey for rechecking the correct target computer. ·
Weitere folgende Datenworte können Informationen über den Status, den Charakter oder die Menge der nachfolgenden Datenworte enthalten. Für die eigentlichen Daten bietet sich eine Organisation an, die berücksichtigt, daß häufig benötigte bzw. austauschende Daten näher am Blockanfang stehen, insbesondere z. B. Status- und Steuerworte.Further following data words may contain information about the status, the character or the quantity of the following data words. For the actual data is an organization that takes into account that frequently needed or exchanging data are closer to the beginning of the block, in particular z. B. Status and control words.
Die Verbindungssteuerschaltung 5, zielrechnerseitig bestehend aus den Schaltgliedern 40...45, realisiert folgende Funktionen: Jeder Lese- aber auch Schreibzyklus zum Zielrechner 2, der immer nur mit einer einzigen Adresse ausgeführt werden kann und damit praktisch keinen Adreßraum benötigt, führt zur Aktivierung desZyklussteuersignalsauf derZyklussignalleitungZYKdurch einen Ausgang einer Speicherauswahleinrichtung des Initiativrechners 2. Das Zyklussteuersignal schaltet über das UND-Gatter 43 die Bustrenneinheit 3 aktiv, gibt über das NAND-Gatter 44 und das UND-Gatter 45 die Lese-/Schreiblogikfrei und steuert ein WAIT-Logik-Element 46 an. Das gleichzeitig über die Lese/Schreibsteuerleitung R/W zugeführte Lese-/Schreibsteuersignal legt über das NAND-Gatter 44 sowie das UND-Gatter45 am Schreib/Lese-Eingang des Speichers Sp 2 den Lese- oder Schreibzustand und am Richtungssteuereingang Dl der Bustrenneinheit 3 die Datenschaltrichtung fest, d. h. im Fall des Lesezyklus die Datenschaltrichtung vom ZielrechneF 2 zum Initiativrechner 1. , . ,The connection control circuit 5, the target computer side consisting of the switching elements 40 ... 45, realizes the following functions: Each read but also write cycle to the target computer 2, which can be executed only with a single address and thus requires virtually no address space, leads to the activation of the cycle control signal The cycle control signal activates the bus disconnection unit 3 via the AND gate 43, enables the read / write logic via the NAND gate 44 and the AND gate 45, and controls a WAIT logic element 46 on. The read / write control signal supplied simultaneously via the read / write control line R / W applies the read or write state to the write / read input of the memory Sp 2 via the NAND gate 44 and the AND gate 45 and to the direction control input Dl of the bus separation unit 3 Data switching direction fixed, d. H. in the case of the read cycle, the data switching direction from the target computer F 2 to the initiator computer 1,. .
Das WAIT-Logik-Element 46 hat die Aufgabe, bei jeder Aktivierung durch das Zyklussteuersignal im Verlauf eines Lese- oder Schreibzyklus zum Zielrechner 2 das Wartesteuersignal am Warteeingang WAIT der zentralen Recheneinheit ZRE2 kurzzeitigThe WAIT logic element 46 has the task at each activation by the cycle control signal in the course of a read or write cycle to the target computer 2, the wait control signal at the WAIT WAIT input of the central processing unit ZRE2 briefly
auszutasten, damit die zentrale Recheneinheit ZRE2 durch Übergang vom laufenden in den nächstfolgenden NOP-Befehl ihren Befehlsadreßzähier um „Eins" erhöht, wodurch die Adressierung des nächsten auszutauschenden Datums vorbereitet wird. Im Fall, daß der Zielrechner 2 mit größerer Systemfrequenz arbeitet als der Initiativrechner 1 oder auch für Schrittbetrieb mittels „WAIT" im Initiativrechner 1, ist in die Zyklussignalleitung ZYK vor dem WAIT-Logik-Element 46 ein monostabiles Zeitglied 47 eingefügt, um abzusichern, daß bis zum nächsten Zyklus der Befehlsadreßzähier nur um „Eins" erhöht wird.for the central processing unit ZRE2 to increase its instruction address counter by "one" by transition from the current to the next NOP instruction, thereby preparing the addressing of the next data to be exchanged, in case the target computer 2 operates at a higher system frequency than the initiator computer 1 or also for step operation by means of "WAIT" in Initiativrechner 1, a monostable timer 47 is inserted in the cycle signal line ZYK before the WAIT logic element 46 to ensure that until the next cycle of Befehlsadreßzähier is increased only by "one".
Die vorschlagsgemäße Adreßbildung.für die auszutauschende Speicherzelle ZEL im Zielrechner 2 erfolgt durch Zusammensetzung aus zwei Bestandteilen mittels der digitalen Additionsschaltung 39. Diese erhält über eine Adreßsammelleitung 48 vom Adreßspeicher 7 die Blockeinsprungadresse BEA, die die erste Speicherzelle ZEL des auszutauschenden Datenblocks kennzeichnet, und über den Adreßbus 38 den von „Null" beginnenden inkrementierten Adreßteil von der zentralen Recheneinheit ZRE2, der die fortlaufende Adressierung übernimmt, zugeführt. Die von den Additionsschaltung 39 zusammengesetzte Adresse gelangt über eine Adreßsammelleitung 49 zum Speicher Sp2.The proposed Adreßbildung.für the exchanged memory cell ZEL in the target computer 2 is made by combining two components by means of the digital addition circuit 39. This receives via an address bus 48 from the address memory 7, the block entry address BEA, which identifies the first memory cell ZEL of the data block to be exchanged, and on the Address bus 38 is supplied to the incremented address part starting from "zero" from the central processing unit ZRE2, which takes over the consecutive addressing. The address composed by the addition circuit 39 passes to the memory Sp2 via an address bus 49.
Eine einfache Ausführungsform mit geringem Schaltungsaufwand zeigt hierzu Fig. 3, die jedoch bereits am Beispiel eines 16-Bit-Adreßbusses 16 Einzeldatenblöcke zu je 256 Datenwörtern erlaubt. Im Datenaustauschzustand ist der höherwertige Teil der Adreßbusleitung 38 b der zentralen Recheneinheit ZRE 2 mittels der Tore 23 b abgeschaltet und wird teilweise vom Adreßspeicher 7 beaufschlagt. Die restlichen über Ziehwiderstände 51 fest belegten Adreßsammelleitungen 48 bieten zusätzliche Flexibilität für die Lage der zu adressierenden Speicherzelle ZEL im Speicher Sp2. Der Datenaustausch erfolgt in der dargelegten Form aufgrund der inkrementierenden Adressierungsweise vorteilhaft blockorientiert, d. h. es können bei einem Austausch immer gleich mehrere adreßmäßig zusammenhängende Datenwörter übertragen werden. Das begünstigt die Nutzung der in den üblichen Prozessoren implementierten Blocktransferbefehle oder den Einsatz spezieller leistungsfähiger DMA-Bausteine im Initiativrechner 1. Hierbei kann die volle Geschwindigkeit des Prozessors oder der DMA-Einheit genutzt werden, da der Zielrechner 2, weil er immer nur einen NOP-Befehl abarbeiten muß, bereits seine Adresse inkrementiert hat, bevor der nächste Zyklus auf ihn erfolgt.A simple embodiment with little circuit complexity is shown in FIG. 3, which, however, already allows 16 individual data blocks of 256 data words on the example of a 16-bit address bus. In the data exchange state, the higher part of the address bus 38 b of the central processing unit ZRE 2 is switched off by means of the gates 23 b and is partially acted upon by the address memory 7. The remaining address busbars 48, which are permanently assigned via pulling resistors 51, offer additional flexibility for the position of the memory cell ZEL to be addressed in the memory Sp2. The data exchange takes place in the form presented due to the incrementing addressing advantageous block-oriented, d. H. In the case of an exchange, it is always possible to transmit a plurality of adressively contiguous data words at the same time. This favors the use of the block transfer commands implemented in the customary processors or the use of special powerful DMA blocks in the initiator computer 1. In this case, the full speed of the processor or the DMA unit can be used because the target computer 2, because it always has only one NOP Command has already incremented its address before the next cycle occurs on it.
Dadurch weist der Speicher Sp2 des Zielrechners 2 aus der Sicht des Initiativrechners 1 scheinbar eine geringere Zugriffszeit als tatsächlich auf, da nur die Freigabezeit der Bustrenneinheit 3 wirksam wird und nicht die Adreßzugriffszeit.As a result, the memory Sp2 of the target computer 2 seems to have a lower access time than actually from the perspective of the initiating computer 1, since only the release time of the bus separation unit 3 takes effect and not the address access time.
Natürlich ist auch der Austausch von Einzelbits möglich. Weiterhin können Lese- und Schreibzyklen zum Zielrechner 2 in beliebiger Reihenfolge durchgeführt werden.Of course, the exchange of single bits is possible. Furthermore, read and write cycles can be performed to the target computer 2 in any order.
Nach dem Austausch der gewünschten Daten wird die Verbindung zwischen Initiativrechner 1 und Zielrechner 2 aufgehoben, indem der Initiativrechner 1 die fiktive Zielrechneradresse „Null" über den Datenbus DATanden-Zielrechner 2 ausgibt. Über die Erkennungsschaltung 25 wird das Aktivierungs-Flipflop 26 und damit auch das Status-Flipflop 27 gelöscht und am invertierten •Eingang vom Monoflip37 ein Rücksetzimpuls ausgelöst. Dadurch wird die zentrale Recheneinheit ZRE 2 auf Normalbetrieb umgeschaltet, wobei der Rücksetzimpuls zur Abarbeitung einer Startroutine genutzt werden kann. Sollte die vor dem Datenaustausch erreichte Adresse gerettet worden sein, kann nun dort weiter bearbeitet werden.After exchanging the desired data, the connection between the initiating computer 1 and the target computer 2 is canceled by the initiating computer 1 outputting the fictitious target computer address "zero" via the data bus DATanden target computer 2. The activation flip-flop 26 and thus also the Status flip-flop 27 is cleared and a reset pulse is triggered at the inverted input of monoflip 37. As a result, the central processing unit ZRE 2 is switched to normal operation, whereby the reset pulse can be used to execute a start routine now be further processed there.
Jedoch kann auch eine Startadresse, die vom Initiativrechner 1 während des Datenaustausches im Zielrechner 2 hinterlegt wurde, berücksichtigt werden.However, a start address, which was stored by the Initiativrechner 1 during the data exchange in the target computer 2, are taken into account.
Im folgenden werden weitere Möglichkeiten zum Aufbau von Mehrrechnersystemen mit dem vorgeschlagenen Datenaustauschverfahren erläutert. Bei mehr als zwei Rechnern ist es vorteilhaft, einen einzigen Initiativrechner vorzusehen und die anderen als Zielrechner anzuschließen.In the following, further possibilities for the construction of multi-computer systems with the proposed data exchange method will be explained. With more than two computers, it is advantageous to provide a single initiator computer and to connect the others as a target computer.
Die Rechner können dabei zur Lösung der ihnen zugeordneten Aufgabe verschiedenen Aufbau in Speicher, Peripherie und sonstigen Komponenten aufweisen. Zum Ansprechen für den Datenaustausch wird jedem Einzelrechner eine eigene Zielrechneradresse zugewiesen, die jeweils vom Zielrechneradreßdekoder erkannt wird.The computers can have different structure in memory, peripherals and other components to solve their assigned task. To address data exchange, each individual computer is assigned its own destination address, which is recognized by the destination address decoder.
Der Initiativrechner weist einen abweichenden Aufbau auf, der hauptsächlich den Zweck hat, die Steuerleitungen beaufschlagen zu können. Die Datentreiberschaltung puffert den Datenbus zum Koppelbus hin ab. Der Ein-/Ausgabedekoder bildet aus bestimmten E/A-Adressen die Signale auf der Zielrechneraufrufeleitung und der Abfrageleitung.The Initiativrechner has a different structure, which has mainly the purpose to be able to act on the control lines. The data driver circuit buffers the data bus towards the coupling bus. The input / output decoder forms the signals on the target computer call line and the request line from certain I / O addresses.
In analoger Weise bildet der Speicherdekoder das Zyklussignal für den Speicherzugriff im Zielrechner. Eine Treiberschaltung schaltet das Lese-/Schreibsignal der zentralen Recheneinheit des Initiativrechners zu den Zielrechnern durch und die Unterbrechungslogik bildet aus dem Rufsignal der Zielrechner ein Unterbrechungssignal für die zentrale Recheneinheit des Initiativrechners.Analogously, the memory decoder forms the cycle signal for the memory access in the target computer. A driver circuit switches the read / write signal of the central processing unit of the Initiativrechners to the target computers and the interruption logic forms from the call signal of the target computer an interrupt signal for the central processing unit of the Initiativrechners.
Alle Steuerleitungen sind parallel an alle Rechner geführt, ebenso der Datenbus. Intern besitzt der Initiativrechner einen Austauschspeicherbereich, der als Lese-/Schreibspeicher aufgebaut ist und vorzugsweise für den Datenaustausch im gesamten System verwendet wird.All control lines are routed in parallel to all computers, as is the data bus. Internally, the Initiativrechner has an exchange memory area, which is constructed as a read / write memory and is preferably used for data exchange throughout the system.
Weitere mögliche Strukturen sind:Other possible structures are:
— „Master-slave"-System: Der Initiativrechner arbeitet als „master"-Rechner mit allen „slave"-Rechnern (Zielrechnern) zusammen. Hierzu kann der Initiativrechner den gesamten Datenaustausch nach programmierbarem Zeltregime oder/mit Anfrage an den Partner wie oben beschrieben organisieren.- "Master-slave" system: The Initiativrechner works as a "master" computer with all "slave" computers (target computers) together.For this purpose, the Initiativrechner the entire data exchange according to programmable Zeltregime or / with request to the partner as described above to organize.
Eine weitere Möglichkeit nutzt die „RUF"-Leitung, wobei der den Datenaustausch wünschende „slave"-Rechner sich in einen programmierbaren „HALT"-Zustand begibt und durch Aktivierung seines „HALT"-Ausganges und weiter über die „RUF"-Schaltung und die Unterbrechungslogik dem „master"-Rechner seinen Datenaustauschwunsch mitteilt. Dadurch ist eine größere zeitliche Flexibilität möglich.Another possibility uses the "RUF" line, wherein the "slave" computer desiring the data exchange enters a programmable "STOP" state and by activating its "STOP" output and further via the "RUF" circuit and the interrupt logic tells the "master" computer its data exchange request. This allows greater flexibility over time.
— Koppelrechner-System mit Zwischenspeicherung:- Coupling computer system with buffering:
Der Initiativrechner arbeitet als spezialisierter Datenaustauschrechner, der in der Hauptsache den Datenaustausch zwischen den einzelnen Funktionsrechnern abwickelt, wobei ein dynamischer programmierbarer Prioritätsalgorithmus Anwendung finden kann. Die einzelnen Zielrechner sind hierbei eigenständig funktionierende Rechner. Der Datenaustausch erfolgt mit Zwischenspeicherung in einem Lese-/Schreibspeicherbereieh des Koppelrechners.The Initiativrechner works as a specialized data exchange computer, which handles mainly the exchange of data between the individual function computers, with a dynamic programmable priority algorithm can apply. The individual target computers are independently functioning computers. The data exchange takes place with intermediate storage in a read / write memory area of the coupling computer.
— Koppelrechner-System ohne Zwischenspeicherung:- Coupling computer system without caching:
Der Initiativrechner transportiert die Daten direkt von einem in den anderen Rechner. Hierzu sind die zwei betreffenden Rechner in den Datenaustauschzustand zu steuern, wobei dem einen wahlweise ein Lese- und dem anderen ein Schreibsignal zuführbar sein muß.The Initiativrechner transports the data directly from one to the other computer. For this purpose, the two computers in question are to be controlled in the data exchange state, wherein the one either a read and the other a write signal must be supplied.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DD25867383A DD220439B1 (en) | 1983-12-27 | 1983-12-27 | PROCEDURE FOR QUICK BLOCK DATA TRANSMISSION BETWEEN THE STORES OF TWO COMPUTERS |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DD25867383A DD220439B1 (en) | 1983-12-27 | 1983-12-27 | PROCEDURE FOR QUICK BLOCK DATA TRANSMISSION BETWEEN THE STORES OF TWO COMPUTERS |
Publications (2)
Publication Number | Publication Date |
---|---|
DD220439A1 DD220439A1 (en) | 1985-03-27 |
DD220439B1 true DD220439B1 (en) | 1988-08-03 |
Family
ID=5553550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DD25867383A DD220439B1 (en) | 1983-12-27 | 1983-12-27 | PROCEDURE FOR QUICK BLOCK DATA TRANSMISSION BETWEEN THE STORES OF TWO COMPUTERS |
Country Status (1)
Country | Link |
---|---|
DD (1) | DD220439B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4307139C2 (en) * | 1993-03-06 | 1997-02-13 | Ibm | Serialization of user requests in a multiprocessor system |
-
1983
- 1983-12-27 DD DD25867383A patent/DD220439B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DD220439A1 (en) | 1985-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2641741C2 (en) | Computing system made up of several individual computers connected and interacting with one another via a manifold system and a control computer | |
DE4222043C1 (en) | ||
EP0006164B1 (en) | Multiprocessor system with jointly usable storages | |
DE2723466C2 (en) | Manifold arrangement | |
CH620306A5 (en) | ||
DE2130299B2 (en) | Input / output channel for a data processing system | |
DE2855673C2 (en) | ||
DE3687867T2 (en) | MICROCALCULATOR. | |
DE3502147A1 (en) | Data processing system with improved buffer memory control | |
DE3123382C2 (en) | Method and device for transmitting data in a multiprocessor system | |
DE4005042C2 (en) | Multi-computer system for performing motion controls | |
DE2935101C2 (en) | ||
DE2905676A1 (en) | INTEGRATED CIRCUIT WITH A SINGLE CHIP | |
DE3142504A1 (en) | MULTIPLE DISK STORAGE TRANSMISSION SYSTEM | |
DE2720842C3 (en) | Data transmission system | |
EP0064574B1 (en) | Arrangement for reading unambiguous information from a sequential digital system by means of mutual asynchronous control signals for relaying the sequential logic system and for receiving the information | |
EP0113379B1 (en) | Coupler for processors | |
DE2713304C2 (en) | ||
DE2404887C2 (en) | Circuit arrangement for exchanging information with a computer | |
DE2610428C3 (en) | Arrangement for controlling the intermediate storage of data to be transmitted between two functional units in a buffer memory | |
DD220439B1 (en) | PROCEDURE FOR QUICK BLOCK DATA TRANSMISSION BETWEEN THE STORES OF TWO COMPUTERS | |
DE2824557C2 (en) | Arrangement in microprocessors for the construction of multiprocessor systems | |
DE2632561A1 (en) | CONTROL DEVICE FOR REAL-TIME CONTROL, IN PARTICULAR FOR TELEPHONE SWITCHING SYSTEMS | |
DE3139421A1 (en) | Serial output circuit | |
DE2362117C3 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENJ | Ceased due to non-payment of renewal fee |