DE2623806C2 - - Google Patents

Info

Publication number
DE2623806C2
DE2623806C2 DE19762623806 DE2623806A DE2623806C2 DE 2623806 C2 DE2623806 C2 DE 2623806C2 DE 19762623806 DE19762623806 DE 19762623806 DE 2623806 A DE2623806 A DE 2623806A DE 2623806 C2 DE2623806 C2 DE 2623806C2
Authority
DE
Germany
Prior art keywords
information
flip
output
gate
flop
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 - Fee Related
Application number
DE19762623806
Other languages
English (en)
Other versions
DE2623806A1 (de
Inventor
Ulbe Honeybrook Penn. Us Faber
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.)
Unisys Corp
Original Assignee
Burroughs Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Burroughs Corp filed Critical Burroughs Corp
Publication of DE2623806A1 publication Critical patent/DE2623806A1/de
Application granted granted Critical
Publication of DE2623806C2 publication Critical patent/DE2623806C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4213Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

Die Erfindung betrifft eine Anordnung zur Übertragung von Daten zwischen mehreren Informationsverarbeitungseinheiten, die innerhalb derselben oder in verschiedenen Kommunikationsschleifen eines Netzwerkes angeordnet sind; mit in den Kommunikationsschleifen angeordneten Knotenpunkteinheiten zur Weiterleitung von in der Kommunikationsschleife umlaufenden Informationsblöcken an die Informationsverarbeitungseinheiten oder von diesen in die Kommunikationsschleife sowie zur Weiterleitung von Informationsblöcken von einer Kommunikationsschleife an eine andere; mit einer Synchronisiereinheit zum Erzeugen von Informationsschlitzen mit ungewidmeten Informationsblöcken, die in der jeweiligen Kommunikationsschleife umlaufen; bei der in den Knotenpunkteinheiten ein Vergleich der Adresse der ihm zugeordneten Informationsverarbeitungseinheit mit in den umlaufenden Informationsblöcken enthaltenen Adressen erfolgt und bei Übereinstimmung eine Durchschaltung zwecks Eingabe und Ausgabe stattfindet, wobei bei der Ausgabe von Informationsblöcken von der Kommunikationsschleife der vorher belegte Informationsschlitz wieder freigegeben und bei einer Eingabe von Informationsblöcken auf die Kommunikationsschleife vorher eine Belegung eines freien Informationsschlitzes erfolgt.
Eine solche Anordnung ist bereits bekannt aus "The Bell System Technical Journal", Juli/August 1972, Seiten 1133 bis 1175, sowie aus der US-PS 37 31 002, die weitere Einzelheiten zeigt. Bei dieser Anordnung ist eine Hierarchie von drei verschiedenwertigen Kommunikationsschleifen vorgesehen, nämlich lokale Schleifen, regionale Schleifen und eine nationale Schleife. Der Übergang von einer lokalen Schleife auf die andere kann nur über regionale Schleifen und gegebenenfalls über die nationale Schleife erfolgen, was die ganze Übertragung der Daten verhältnismäßig umständlich macht.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, Prozessoren und Endgeräte unterschiedlichster Arbeitsgeschwindigkeit nicht nur zu verschiedenen, sondern auch zu einer Schleife zusammenschalten zu können, ohne daß dabei eine umständliche Hierarchie von verschiedenwertigen Schleifen erforderlich ist.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß an jede Knotenpunkteinheit ein programmierbarer Kommunikationsprozessor angeschlossen ist, der mit einer Informationsverarbeitungseinheit der gleichen Kommunikationsschleife oder mit einem programmierbaren Kommunikationsprozessor einer Knotenpunkteinheit einer anderen Kommunikationsschleife in Verbindung steht, und daß der programmierbare Kommunikationsprozessor jeder Knotenpunkteinheit einen freien Informationsschlitz zum Einführen von Informationsblöcken zusammen mit den, den Informationsverarbeitungseinheiten zugeordneten Adressen auswählt und alle sonstigen Schreib- und Lesevorgänge in den so ausgewählten Informationsschlitzen vornimmt.
Vorteilhafte Ausgestaltungen der Erfindung sind den Unteransprüchen zu entnehmen.
Ein Ausführungsbeispiel der Erfindung wird nachstehend im einzelnen anhand der Zeichnungen beschrieben. Es zeigt
Fig. 1 ein schematisches Diagramm eines mit den Merkmalen der Erfindung ausgestatteten Kommunikationssystems,
Fig. 2 ein Funktions-Blockdiagramm des im Kommunikationssystem verwendeten Kommunikationsprozessors,
Fig. 3 ein ins einzelne gehendes Blockdiagramm des Kommunikationsprozessors aus Fig. 2,
Fig. 4 Signalzüge zur Erläuterung des verwendeten Signalformats,
Fig. 5 ein funktionelles Blockdiagramm einer Knotenpunkteinheit in dem Kommunikationssystem,
Fig. 6A und 6B Signalzüge zur Erläuterung des Betriebsverhaltens der Knotenpunkteinheit aus Fig. 5,
Fig. 7A und 7B ein ins einzelne gehendes logisches Diagramm der Knotenpunkteinheit aus Fig. 5,
Fig. 8 ein logisches Diagramm eines innerhalb der Knotenpunkteinheit verwendeten Flip-Flops,
Fig. 9 eine Wahrheitstafel für das Flip-Flop aus Fig. 8,
Fig. 10 ein logisches Diagramm des in der Knotenpunkteinheit der Fig. 7 verwendeten Dekoders,
Fig. 11 ein logisches Diagramm eines Registers mit paralleler Eingabe und serieller Ausgabe, das in der Knotenpunkteinheit der Fig. 7 verwendet wird,
Fig. 12 ein logisches Diagramm eines Flip-Flops, das in der Knotenpunkteinheit gemäß Fig. 7 verwendet wird,
Fig. 13 eine Wahrheitstafel für das Flip-Flop aus Fig. 12,
Fig. 14 ein logisches Diagramm eines Registers mit serieller Eingabe und paralleler Ausgabe, das in der Knotenpunkteinheit der Fig. 7 verwendet wird,
Fig. 15 ein logisches Diagramm eines in der Knotenpunkteinheit der Fig. 7 verwendeten Flip- Flops,
Fig. 16 eine Wahrheitstafel für das Flip-Flop aus Fig. 15,
Fig. 17 ein logisches Diagramm eines Flip-Flops, das in der Knotenpunkteinheit aus Fig. 7 verwendet wird,
Fig. 18 eine Wahrheitstafel für das Flip-Flop aus Fig. 17,
Fig. 19 ein Blockdiagramm einer Synchronisiereinheit, die in dem Kommunikationssystem gemäß Fig. 1 verwendet wird, und
Fig. 20 Signalzüge zur Erläuterung des Betriebsverhaltens der Synchronisiereinheit aus Fig. 19.
Das Kommunikationsnetzwerk bzw. Kommunikationssystem gemäß Fig. 1, das mit den Merkmalen der Erfindung ausgestattet ist, besteht aus Kommunikationsschleifen 100 (nachfolgend auch Schleifen oder Ringe genannt). Die Grundstruktur besteht jedoch aus einer einzigen Schleife. Eine große Vielzahl unterschiedlicher Netzwerke, die sich von dem in Fig. 1 gezeigtem unterscheiden, kann unter Verwendung der Grundschleife entwickelt werden. Insofern ist das Netzwerk aus Fig. 1 nur ein illustrativer Vertreter einer derartigen Struktur. Zur Schnittstellenbildung mit einer Schleife 100 wird eine Knotenpunkteinheit 102 (auch Zugriffstor oder Tor genannt) sowie ein Kommunikationsprozessor 20 benötigt. Ein Gerät 10 oder ein Prozessor 12 (auch Informationsverarbeitungseinheiten genannt) werden mit dem Kommunikationsprozessor 20 verbunden. Lediglich das Zugriffstor 102 steht direkt mit der Schleife 100 in Verbindung. Der Kommunikationsprozessor 20 bildet die Schnittstelle zwischen dem Zugriffstor 102 und einem Gerät 10 oder Prozessor 12. Wie noch deutlich wird, sieht der Kommunikationsprozessor 20 nur Daten, die von ihm stammen oder für ihn bestimmt sind, jedoch nicht sämtliche Botschaften, die in der Schleife 100 umlaufen. Zur Erläuterung des Betriebs des Kommunikationsnetzwerks aus Fig. 1 nehme man an, daß der Ring (Kommunikationsschleife) 100 vier Tore (Knotenpunkteinheiten) 102, bezeichnet mit NORD (N), OST (E), SÜD (S), WEST (W) enthalte. Angenommen, der mit dem Tor WEST des Ringes A verbundene Prozessor 12 wünscht mit einem Gerät 10 am Tor NORD des Ringes I in Verbindung zu treten (d. h. zu kommunizieren). Um diese Kommunikation herzustellen, gibt der am Tor WEST des Ringes A befindliche Prozessor 20 einen Schreibbefehl aus. In Beantwortung des Schreibbefehls wird das Tor WEST des Ringes A einen leeren Schlitz in dem Informationsstrom suchen, der um den Ring A fließt. Nachdem ein leerer Schlitz gefunden wurde, wird der Prozessor 12 über den Kommunikationsprozessor 20 die gewünschte Botschaft eingeben. Das Zugriffstor NORD des Ringes A wird diese Botschaft dem Zugriffstor SÜD des Ringes B zuspielen, das seinerseits diese Botschaft zum Tor NORD des Ringes B weitergibt. Das Tor NORD des Ringes B wird diese Botschaft an das Zugriffstor SÜD des Ringes D weitergeben, das seinerseits die Botschaft dem Tor NORD des Ringes D übermittelt. Tor NORD des Ringes D führt die Botschaft weiter zum Tor WEST des Ringes E, das seinerseits sie an das Tor OST des Ringes E weitergibt. Tor OST des Ringes E gibt die Botschaft dann zum Tor NORD des Ringes F, der seinerseits die Botschaft dem Tor SÜD des Ringes F übergibt. Tor SÜD des Ringes F gibt diese Botschaft an das Tor NORD des Ringes H, welches sie dem Tor OST des Ringes H weitergibt. Das Tor OST des Ringes H wird die Botschaft dann dem Tor WEST des Ringes I zuführen, das dann diese Botschaft dem Tor NORD des Ringes I übergibt. Nach Ausgabe eines Lesebefehls durch den Kommunikationsprozessor 20 am Zugriffstor NORD des Ringes I wird die Botschaft dem Gerät 10 ausgegeben.
Es ist wichtig festzuhalten, daß mehrere Kommunikationen gleichzeitig ablaufen können. Wenn beispielsweise ein Gerät 10 am Zugriffstor SÜD des Ringes C mit dem Tor OST des Ringes G in Verbindung steht, kann die vorstehend beschriebene Übertragung dennoch gleichzeitig in einem anderen Schlitz ablaufen.
Ein für die Zwecke der vorliegenden Erfindung geeigneter Kommunikationsprozessor 20 ist in Fig. 2 dargestellt. Organisation und Betrieb des Kommunikationsprozessors aus Fig. 2 wird im erforderlichen Umfang hier erläutert, so daß die Betriebsweise und die wechselseitige Korrelation in dem erfindungsgemäßen Verbindungsschema deutlich werden. Der Kommunikationsprozessor aus Fig. 2 ist im einzelnen in der DE-OS 23 57 003 beschrieben.
Der Kommunikationsprozessor 20 kann aus einer großen Vielzahl von logischen Schaltungsfamilien wie auch im Rahmen der Groß-Integration (LSI) aufgebaut werden. In der bevorzugten Ausführungsform ist er auf einem einzigen Halbleiterchip untergebracht. In dieser LSI-Ausführungsform enthält das Chip sowohl eine bit-serielle, byte-parallele Prozessorschaltung, wie auch einen Mikroprogramm-Lesespeicher (ROM), der in einem Mehrstift-DIP-Gehäuse untergebracht ist.
In seinem Aufbau besteht der Kommunikationsprozessor 20 aus fünf Funktionsteilen gemäß Fig. 2. Diese sind die Logik-Einheit (LU) 22, die die Datenregister und einen Serienaddierer enthält; der Mikroprogrammspeicher (MPM) 24, der die vom Mikroprogrammierer aufgebauten Mikrobefehlsfolgen speichert; die Speichersteuereinheit (MCU) 26, die die Register zum Adressieren des Mikropogrammspeichers enthält; die Steuereinheit (CU) 28, die die zeitliche Synchronisierung und Steuerung, die Nachfolger-Bestimmung (Bestimmung des nächsten Befehls) und die Befehlsdekodierung besorgt; sowie die externe Schnittstelle (EXI) 30, die in der LSI-Ausführung eine Mehrstift-Schnittstelle nach außen ist.
In der LSI-Ausführung des Kommunikationsprozessors 20 enthält der Mikroprogrammspeicher 24 insgesamt 256 Wörter von je 12 Bit Länge. In der LSI-Ausführung enthält der Speicher nur ausführbare Befehle und kann durch Programm nicht verändert werden, da er, wie erwähnt, ein Lesespeicher ist. Die 12-Bit-Befehle werden auf eine von drei Arten, nämlich literal, bedingt und logisch, dekodiert. Jeder dieser Befehle wird weiter unten noch beschrieben.
Wie im einzelnen Fig. 3 zeigt, weist die Logikeinheit 22 drei 8-Bit-A-Register 32, ein 8-Bit-Register 34, einen seriellen Addierer 36 sowie eine Wahllogik für die Bezeichnung der geeigneten Eingänge und Ausgänge für die A- Register 32, das B-Register 34 und den seriellen Addierer 36 auf. Die A-Register 32 und das B-Register 34 sind umlaufende statische Schieberegister, so daß die Information in den Addierer 36 ohne Veränderung des Inhaltes der Register übertragen werden kann. Die X-Eingänge für den Addierer 36 sind der Inhalt eines der A-Register 32, oder die Größe NULL und die Y-Eingänge für den Addierer sind die Inhalte des B-Registers 34 oder sein Komplement, die Inhalte eines Mikroprogrammwechsel-Zählerregisters (AMPCR = alternate microprogram count register) 38, das ein der Speichersteuereinheit 26 zugeordnetes Register ist, oder die Größe NULL. Der Ausgang des Addierers 36 kann in eines der A-Register 32, das B-Register 34, das AMPCR-38 sowie eine Anzahl entfernter Register über eine serielle DATA-OUT-Leitung 82 gegeben werden, auf die weiter unten noch eingegangen wird. Der serielle Addierer 36 kann vorzugsweise acht Grundoperationen (X+Y, X+Y+L, XOR, EQV, AND, OR, NAND und NOR) ausführen. Wenn diese Operationen mit speziellen X- und Y-Eingängen wie auch mit den verschiedenen möglichen Bestimmungswahlen für den Ausgang des Addierers 36 verknüpft werden, werden über 1000 verschiedene Kombinationen für den Mikroprogrammierer verfügbar. Der Addierer 36 liefert ferner vier Bedingungssignale zu einem Bedingungsregister 40, das Teil der Steuereinheit 28 ist. Die Bedingungssignale sind:
  • 1) Das niedrigstellige Bit des Addierer-Ausgangs ist logisch wahr (LST);
  • 2) das höchststellige Bit des Addierer-Ausgangs ist logisch wahr (MST);
  • 3) ein Addierer-Überlauf liegt vor (AOV); und
  • 4) sämtliche Bits des Addierer-Ausgangs sind logisch wahr (ABT).
Bei jeder Operation der logischen Einheit werden diese Bedingungen gesetzt, wenn das zugehörige Bit logisch wahr ist, und zurückgesetzt, wenn das zugehörige Bit logisch falsch ist. Diese Bedingungen der logischen Einheit ändern sich nicht bis zum Auftreten der nächsten Operation im Zusammenhang mit der logischen Einheit und können unter Verwendung eines Bedingungs-Testbefehls geprüft werden, worauf ebenfalls noch weiter unten eingegangen wird.
Die Speicher-Steuereinheit 26 besteht primär aus zwei 8-Bit-Registern, nämlich dem Mikroprogramm-Zählerregister (MPCR) 42 und dem Mikroprogramm-Wechsel-Zählerregister (AMPCR) 38. Das MPCR 42 ist ein 8-Bit-Zähler, der um jeweils einen oder zwei Zählschritte weitergestellt werden kann und dient zur Auswahl des nächsten Befehls (des Nachfolgers) aus dem Mikroprogrammspeicher 24. Die Funktion des AMPCR-38 besteht darin, Sprungadressen zu speichern, die die Veränderung der Befehlsfolge ermöglichen. Ein vom Mikroprogrammspeicher geholter Befehl wird in einen Befehlsregister 99 eingesetzt.
Die Steuereinheit 28 des Kommunikationsprozessors 20 liefert auch prüfbare Bedingungen, die Bedingung-Wahllogik, Nachfolger-Bestimmungslogik, Befehls-Dekodier-Logik und Zeitsteuerung für den Prozessor. Die acht prüfbaren Bedingungen sind die AOV, die LST, die MST und die ABT, die bereits oben angegeben sind, drei lokale Bedingungen (LC 1, LC 2 und LC 3), die unter Steuerung des Programms gesetzt oder nicht gesetzt werden können, sowie eine externe asynchrone Bedingung (EXT). Die Nachfolgerwahl besteht entweder in dem um einen oder zwei Schritte erhöhten Inhalt des MPCR 42 oder dem Inhalt des AMPCR 38.
Die externe Schnittstelle 30 kann vier Signaltypen behandeln, nämlich Daten, Steuersignale, Zeitgebersignale, Stromsignale. Bezüglich der Datensignale besitzt der Prozessor 20 zwei Grund-Schnittstellensignale für externe Daten. Das erste Grund-Schnittstellensignal ist ein bit- serieller, byte-paralleler Eingang (DATA IN), und der zweite ist ein bit-serieller, byte-paralleler Ausgang (DATA OUT). Eine DATA-IN-Leitung 80 ist das Hauptdateneingangskabel für den Kommunikationsprozessor 20, während die DATA-OUT- Leitung 82 das primäre Datenausgangskabel vom Kommunikationsprozessor 20 ist. Die Eingangsdaten in dem Prozessor werden durch einen BEX-Befehl gesteuert, der als Teil eines Logik- Einheitsbefehls verwirklicht ist. Dieser BEX-Befehl ermöglicht die serielle Durchgabe von Information in das B-Register 34 über die DATA-IN-Leitung 80. Dateninformation aus dem Prozessor wird jeweils in Gruppen von 8 Bits oder Bytes ausgesandt und kann synchron in ein externes Schieberegister unter Verwendung von Taktsignalen weitergegeben werden, die von dem Kommunikationsprozessor 20 zu diesem Zweck bereitgestellt werden.
Das obenerwähnte EXT-Bedingungssignal wird durch den Bedingungs- Testbefehl gesteuert, extern geliefert und geprüft. Dieser Befehl kann beispielsweise zum Empfang von Eingangsdaten oder zur Anzeige dafür verwendet werden, daß eine Unterbrechung in einem externen Unterbrechungsregister vorliegt.
Der Kommunikationsprozessor 20 liefert an Steuersignalen vier externe Steuersignale zur Steuerung der Abgabe von Information in und aus dem Kommunikationsprozessor 20. Diese vier Steuersignale zeigen ferner an, wie die Information durch die externen Informationsverarbeitungseinheiten verwendet werden sollen. Zwei dieser Signale werden über eine A-Leitung 44 und eine B-Leitung 46 vom Kommunikationsprozessor 20 übertragen. Wenn die Signale auf diesen beiden Leitungen dekodiert werden, bezeichnen sie die Operationsart, die intern und extern zum Prozessor 20 abläuft. In der bevorzugten Ausführungsform ist die Kombination von Steuersignalen auf A-Leitung 44, B-Leitung 46 wie folgt: Wenn das Signal auf der A-Leitung 44 eine logische EINS ist und das Signal auf der B-Leitung 46 eine logische NULL ist, dann zeigt diese Kombination an Steuersignalen an, daß der Logikeinheits- Befehl fortschreitet und daß eines von vier externen Registern dazu bestimmt wurde, Dateninformation der DATA-IN- Leitung 80 zuzuführen. Außerdem zeigt diese Kombination an Steuersignalen an, daß die externen Daten in das B-Register 34 eingegeben werden. Wenn das Signal auf der A-Leitung 44 eine logische NULL ist und das Steuersignal auf der B-Leitung 46 eine logische EINS ist, dann befindet sich ein Logik-Einheitsbefehl des Typs OUT in Bearbeitung. Ein OUT-Befehl gibt an, daß eines von vier externen Registern dazu bestimmt wurde, Dateninformation von der DATA-OUT- Leitung 82 aufzunehmen, und wenn beide Steuersignale auf der A-Leitung 44 und der B-Leitung 46 eine logische EINS sind, dann wird eine DEV-Operation angezeigt. Diese Operation gibt an, daß ein Literal-Befehl intern in Bearbeitung ist und daß ein 8-Bit-Literal aus dem Mikroprogrammspeicher 24 aus Kommunikationsprozessor 20 über Leitung DATA OUT 82 in ein externes Register übertragen wird. Wenn beide Steuersignale auf A-Leitung 44 und B-Leitung 46 logische NULLEN sind, dann zeigt dies einen Nichtbetreffend-Kode für alle anderen internen Befehle an, die nicht die drei obengenannten Befehle sind, nämlich den BEX-, den OUT- und den DEV-Befehl.
Um zu bestimmen, welches externe Register Information über die DATA-OUT-Leitung 82 empfangen soll, oder Information über die DATA-IN-Leitung 80 liefern soll, dienen zwei Steuersignale, die durch Dekodieren eines Mikrobefehls geliefert werden, der aus dem verwendeten Mikroprogrammspeicher geholt wird. Diese beiden Steuersignale werden aus der neunten oder zehnten Bitstelle eines Logik-Einheits-Befehls abgeleitet. Diese beiden Steuersignale werden extern über Leitungen 84, 86 aus dem Kommunikationsprozessor 20 übertragen und können mit der dekodierten BEX- oder OUT-Operation kombiniert werden, um zu bestimmen, welches externe Register intern ausgewählt wurde. Dies könnte beispielsweise ermöglichen, daß mit einem einzigen Befehl bis zu vier Eingangs- Schieberegister und vier Ausgangsschieberegister gewählt werden können, wenn man annimmt, daß externe Gatterlogik vorhanden ist. Wie zu erkennen ist, besteht diese externe Gatterlogik in Form des Dekodierers 152.
Ein wichtiges externes Steuersignal, das dem Kommunikationsprozessor 20 zugeführt wird, ist das MPCR-Löschsignal. Dieses Signal löscht das Mikroprogramm-Zählerregister 42. Dies seinerseits ermöglicht das Setzen der Adresse des nächsten auszuführenden Befehls an der Stelle NULL.
Eine weitere wichtige Gruppe von Signalen, die zu dem Kommunikationsprozessor 20 gehören, sind die Zeitgebersignale. In der bevorzugten Ausführungsform benötigt der Kommunikationsprozessor 20 Taktsignale, die extern zugeführt werden. Externe Taktsignale werden der externen Schnittstelle 30 über eine CLOCK IN-Leitung 48 einem Zeitgeber 50 zugeführt, der Teil der Steuereinheit 28 des Kommunikationsprozessors 20 ist. Der Zeitgeber 50 steuert die Bitfrequenz und erzeugt aus den extern gelieferten Top-Signalen die Impulse, die zur Eingabe und Steuerung sämtlicher internen wie auch externen Schieberegister benötigt werden, die zum Kommunikationsprozessor 20 gehören. Die durch den Zeitgeber 50 erzeugten Taktimpulse, die zur Synchronisierung der Übertragung von Information zu den externen Schieberegistern verwendet werden, werden über eine CLOCK OUT-Leitung 53 der externen Schnittstelle 30 zugeführt. Ein weiteres Taktsignal aus dem Zeitgeber 50 ist das LAST PULSE-Signal, das anzeigt, daß acht Datenschiebeimpulse aufgetreten sind. Das LAST PULSE-Signal zeigt an, daß ein externes Schieberegister geladen wurde, oder daß Information aus dem Prozessor 20 aus einem externen Schieberegister angenommen wurde. Außerdem wird bei Erzeugung des LAST PULSE-Signals durch den Zeitgeber der nächste durch das MPCR 42 bezeichnete Befehl aus dem Mikroprogrammspeicher 24 geholt und in das Befehlsregister 99 geladen. Gleichzeitig sperrt der LAST PULSE die weitere Versorgung von Taktsignalen für den Zeitgeber 50. Dies seinerseits wird dem Betrieb des Zeitgebers 50 sperren. Das LAST PULSE-Signal wird ferner als ein Ausgangssignal der externen Schnittstelle 30 über ein LAST PULSE-Endgerät 54 zur Verfügung gestellt.
Um die Ausführung eines in dem Befehlsregister 99 gespeicherten Befehls einzuleiten, wird ein MEMORY CYCLE CONTINUE (MCC)- Signal benötigt. Dieses MCC-Signal wird dem Zeitgeber 50 extern zugeführt, und zwar über die externe Schnittstelle 30 und eine MCC-Leitung 56. Da der Zeitgeber 50 bei der internen Erzeugung eines LAST PULSE-Signals gesperrt wird, müssen die weiteren Zeitgeberimpulse für den Kommunikationsprozessor 20 den Empfang eines MEMORY CYCLE CONTINUE-Signals abwarten, das die durch den LAST PULSE geschaffene Sperre beseitigt. Man sieht also, daß das MCC-Signal dazu verwendet werden kann, die Ausführung der nachfolgenden Mikrobefehle, die in dem Mikroprogrammspeicher 24 gespeichert sind, auf eine beliebige Frequenz zu verlangsamen, die bis zu einem einzigen Schritt herabreichen kann. In der bevorzugten Ausführungsform jedoch beträgt die Grundwortlänge des Kommunikationsprozessors 20 in der LSI-Ausführung 8 Bits, und zwar unabhängig von der Ausführungsfrequenz. Weitere LSI-Chips können modulweise hinzugefügt werden, um die Wortlänge aufs Vielfache der Grundwortlänge zu erhöhen.
Obgleich in der bevorzugten Ausführungsform der Erfindung der Kommunikationsprozessor 20 seriell eingesetzt wird, überlappen sich das Holen des nächsten Befehls (während des LAST PULSE) und die Ausführung des gegenwärtigen Befehls. Dieser Hol-Ausführungs-Zyklus dauert vorzugsweise 9 Taktsignale. Es ist klar, daß zum kontinuierlichen Betrieb des Kommunikationsprozessors 20 ein MCC-Impuls nach jeweils 9 Taktimpulsen oder Bitperioden erforderlich ist.
Zu dem Befehlssatz für den Kommunikationsprozessor 20 ist zu bemerken, daß grundsätzlich drei Typen von Befehlen vom Kommunikationsprozessor 20 ausgeführt werden. Diese sind der Literalbefehl, der bedingte Testbefehl und der Logik- Einheitsbefehl. Es gibt insgesamt vier Literalbefehle, von denen jeder einen aus dem Mikroprogrammspeicher 24 als Teil des Befehls geholte 8-Bit-Konstante verwendet. Diese sind:
  • (1) Literal für das B-Register 34;
  • (2) Literal für das Mikroprogramm-Wechselzählerregister (AMCPR) 38;
  • (3) GO TO, d. h. literal zum Mikroprogramm-Zählerregister 42; und
  • (4) literal zu einem externen Geräteregister oder DEV- Literal.
Der bedingte Testbefehl prüft eine der acht angegebenen Bedingungen, die oben angegeben sind (d. h. vier logische Bedingungen, drei lokale Markierungen und eine externe Bedingung), und führt den angegebenen logisch wahren oder falschen Nachfolger aus, je nach Ausgang des Tests. Die möglichen Nachfolger sind STEP, der bedeutet, daß zum nächsten, von dem MPCR 42 angegebenen Befehl weiterzugehen ist, der SKIP, der angibt, daß zum zweitnächsten Befehl gemäß Angabe vom MPCR 42 zu springen ist, JUMP, der anzeigt, daß der vom AMPCR-Register 38 angegebene nächste Befehl auszuführen ist, und SAVE, der angibt, daß zum vom MPCR 42 angegebenen nächsten Befehl zu gehen und die gegenwärtige Adresse, um eins vermehrt, indem AMPCR-Register 38 aufzubewahren ist. Ein nicht explizit angegebener Nachfolger ist der STEP-Nachfolger durch nicht betreffend, während alle anderen Mikrobefehle einen Nachfolger von STEP implizieren. Wenn jedoch es erwünscht ist, einen unbedingten Nachfolger zu haben, dann sollten sowohl der logisch falsche wie der logisch wahre Nachfolger identisch sein.
Man betrachte nun den Logik-Einheitsbefehl. Wie erwähnt, kann der Addierer 36 acht Operationen ausführen, von denen über 20 Grundoperationen mit den geeigneten X- und Y-Eingangswahlen zur Verfügung stehen. Der Logikeinheits-Befehl gibt den geeigneten X-Eingang für den Addierer 36 und den geeigneten Y-Eingang für den Addierer 36, die Art der vom Addierer 36 auszuführenden Funktion sowie die Bestimmungsstelle des Ausgangs des Addierers 36 an. Die von einem Logikeinheits- Befehl angebbaren Bestimmungen zerfallen in vier Hauptgruppen.
Die erste Gruppe enthält die vier internen Schieberegister, nämlich die A-Register 32 und das B-Register 34. Die zweite Gruppe umfaßt vier Register, die extern zum Kommunikationsprozessor 20 sind. Die dritte Gruppe ist eine Variation der ersten Gruppe insofern, als nicht nur eines von vier internen Schieberegistern zum Empfang des Ausgangs des Addierers 36 gewählt werden kann, sondern daß zusätzlich das B-Register gewählt wird, um von einem externen Schieberegister gleichzeitig mit dem gewählten internen Register geladen werden kann. Die letzte Gruppe ist ebenfalls eine Variation der ersten Gruppen insofern, als nicht nur eines der vier internen angegebenen Register, sondern außerdem eine einstellige Rechtsverschiebung des gewählten Registers angegeben wird, wobei der Addierer 36 die höchststellige Bitstelle ausfüllt.
Wie in der bevorzugten Ausführungsform erläutert, stellen die Innenkommunikationen des Systems im wesentlichen eine ringförmige Kommunikationsschleife dar, in der serielle Übertragungstechniken sowohl für die Dateninformationssignale wie auch für die Steuersignale benutzt werden. Jeder Kommunikationsprozessor 20 wirkt mit der Kommunikationsschleife an Stellen zusammen, die in der vorliegenden Beschreibung als Zugriffstore (Knotenpunkteinheiten) bezeichnet sind. Gemäß Fig. 1 ist jeder Kommunikationsprozessor 20 mit einer Kommunikationsschleife 100 über ein Zugriffstor 102 verbunden. Peripherie-Geräte 10, wie beispielsweise Kartenleser, Bandgeräte u. dgl. und Prozessoren 12 können mit der Kommunikationsschleife 100 über den Kommunikationsprozessor 20 in an sich bekannter Weise verbunden werden. Wie noch gezeigt wird, finden Kommunikationen zwischen einem Gerät 10 oder einem Prozessor 12 und dem Kommunikationsprozessor 20 unabhängig vom Betrieb innerhalb der Kommunikationsschleife 100 statt.
Es wird noch dargestellt werden, daß das Zugriffstor 102 Information durch sich selbst hindurchführen, entlang der Kommunikationsschleife 100 weiterleiten, Information aus der Kommunikationsschleife 100 für den dem Zugriffstor zugeordneten Kommunikationsprozessor 20 herausholen oder von dem zugehörigen Prozessor in den Informationsfluß in der Kommunikationsschleife 100 eingeben kann. Aufgrund der verwendeten Serientechnik stellt sich die dann ergebende Kommunikationsschleife 100 im wesentlichen als Bus dar, in welchem die Information in einer Kreisrichtung umläuft. Weiter wird die Anzahl der vorzusehenen Leitungen und Verbindungen klein gehalten, und das sich ergebende Innenkommunikationssystem wird, als Ganzes betrachtet, wesentlich vereinfacht. Da die Kommunikationen seriell auftreten, wird das Zugriffstor 102 unabhängig von der Wortgröße des Kommunikationsprozessors 20. Die durch den Serienbetrieb erforderlichen Anforderungen bestehen lediglich darin, daß die Wortgrenzen bezeichnet werden müssen, daß die Dateninformation von Steuerinformation zu unterscheiden ist und daß ein Kommunikationsprozessor 20, der die Information aufnimmt, oder überträgt, den Informationsfluß längs der Kommunikationsschleife 100 synchronisieren muß.
Wie bereits erwähnt, wird bei dem beschriebenen Beispiel jeder Kommunikationsprozessor 20 mit äußerem Takt versorgt. Um einen Haupttaktgeber und das Problem der Synchronisierung jedes Kommunikationsprozessors 20 mit dem Haupttaktgeber zu vermeiden, und ferner einen eigenen Takt für jeden Kommunikationsprozessor 20 und die erforderliche Schaltungslogik zur Synchronisierung des Taktes eines Prozessors mit demjenigen eines anderen Prozessors einzusparen, wird der Takt für jeden Kommunikationsprozessor 20 als Teil des Zugriffstores 102 in dieses eingebaut. Der Takt für jeden Kommunikationsprozessor 20 ist dann mit dem seriellen Datenstrom synchronisiert. Um dies zu verwirklichen, wird die serielle Information in einem modifizierten Mauchly-Kode übertragen, bei der der Takt Teil der Daten ist (Fig. 4). Die Verwendung dieses Schemas macht es möglich, daß der Takt aus dem seriellen Informationsstrom abgeleitet werden kann, wobei jeder Kommunikationsprozessor 20 mit dem Informationsstrom synchronisiert wird und keine zusätzliche Taktschaltung außerhalb des Zugriffstors 102 erforderlich ist. Da der Takt aus dem Datenstrom abgeleitet wird, beeinflußt der Abstand zwischen zwei aufeinanderfolgenden Zugriffstoren längs der Kommunikationsschleife 100 die Synchronisation unter dem Betrieb des Innen-Kommunikationssystems nicht. Die einzige Wirkung des Abstandes zwischen zwei Zugriffstoren besteht darin, daß sich eine gewisse Zeitverzögerung aufgrund der Länge der Kommunikationsschleife 100 ergibt. Wenn der Abstand zwischen zwei Zugriffstoren so gewählt ist, daß der Signalpegel erheblich beeinträchtigt oder verlorengegangen ist, dann kann ein Regenerier-Verstärker in die Kommunikationsschleife 100 zwischen die Prozessoren eingefügt werden. Wie noch erläutert wird, arbeitet das Zugriffstor 102 als Regnerier-Verstärker, wenn es nicht mit einem Kommunikationsprozessor 20 verbunden ist.
Zu dem Übertragungsschema ist zu bemerken, daß ein konventioneller Mauchly-Kode einen Signalübergang am Anfang jedes Taktintervalls oder Bitintervalls fordert. Eine binäre NULL wird durch einen Signalübergang von tief nach hoch am Ende der Bitperiode repräsentiert, während eine binäre EINS durch einen Signalübergang von hoch nach niedrig am Ende einer Bitperiode dargestellt wird. Signalpegelübergänge innerhalb der Bitperiode werden ignoriert. Jedes Zeichen dauert 10 Taktperioden. Zweckmäßig wird der Mauchly-Kode so modifiziert, daß der Übergang am Anfang der zweiten Takt- oder Bitperiode jedes Zeichens weggelassen wird. Dieser fehlende Signalübergang wird als Zeitpunkt t x in Fig. 4 bezeichnet. Um es dem Zugriffstor 102 zu ermöglichen, zu unterscheiden, welche von den Informationssignalen Datensignale und welche Steuersignale sind, wurde eine willkürliche Wahl getroffen. Wenn der Signalübergang am Anfang derjenigen Taktperiode, die dem Zeitpunkt t x unmittelbar folgt (am Anfang also der dritten Taktperiode des Zeichens), welches der fehlende Signalübergang ist, von niedrig nach hoch geht, dann stellen die nachfolgenden Informationssignale tatsächlich Datensignale dar. Andererseits, wenn der Signalübergang an der bezeichneten Stelle von hoch nach niedrig geht, dann sind die danach folgenden Signale Steuersignale.
Es ist wichtig zu bemerken, daß bei der Verwendung eines konventionellen Mauchly-Kodes ein separater Synchronisier- Impuls erforderlich ist, um das System auf den Kode zu synchronisieren. Sonst wäre kein Weg vorhanden, zwischen den Signalübergängen zu unterscheiden, die tatsächlich am Anfang einer Bit- oder Taktperiode auftreten und solchen, die inzwischen auftreten. Wie aus der nachfolgenden Erörterung noch hervorgeht, ist die durch den fehlenden Signalübergang dargestellte Modifikation des konventionellen Mauchly-Kodes geeignet, einen gesonderten Synchronisier-Impuls überflüssig zu machen.
Wie bereits anläßlich der Beschreibung des Kommunikationsprozessors 20 erwähnt wurde, muß ein MEMORY CYCLE CONTINUE (MCC)-Signal zum Ingangsetzen des Zeitgebers 50 des Kommunikationsprozessors 20 nach Auftreten eines LAST PULSE-Signals zugeführt werden. Wenn er einmal angestoßen ist, liefert der Zeitgeber 50 Taktsignale für den Kommunikationsprozessor 20 und ermöglicht die Ausführung des Betriebs, der durch den aufgenommenen Befehl dem Befehlsregister 99 angegeben wird. Bei Abschluß der Operation wird das LAST PULSE-Signal wieder erzeugt und sperrt den Zeitgeber 50, so daß dieser so lange keine weiteren Taktsignale mehr abgibt, bis ein weiteres MCC-Signal von ihm empfangen wird. Während es somit wichtig ist, den Kommunikationsprozessor 20 mit dem Informationsstrom in der Kommunikationsschleife 100 zu synchronisieren, ist es in gleicher Weise wichtig für den Kommunikationsprozessor 20, auch in bezug auf das Wort oder Zeichen synchronisiert zu sein. Wie man noch sehen wird, ermöglicht der fehlende Signalübergang zum Zeitpunkt t x es dem Kommunikationsprozessor 20, sich mit dem Wort oder Zeichen zu synchronisieren. Aus diesem fehlenden Signalübergang wird der notwendige MCC-Impuls vom Zugriffstor 102 erzeugt und dem zugehörigen Kommunikationsprozessor zugeführt. Der Kommunikationsprozessor 20 braucht lediglich ein Maximum von zwei Zeichen, um sich mit dem Informationsstrom zu synchronisieren, nachdem er mit einem Zugriffstor 102 verbunden wurde.
Es wird jetzt das Zugriffstor (Knotenpunkteinheit) 102 erläutert. Ein Funktionsdiagramm des Zugriffstors 102 zeigt Fig. 5. Das Zugriffstor 102 kann als aus fünf funktionellen Abschnitten bestehend betrachtet werden. Diese sind der Eingangsabschnitt 106, der Zeitgeberabschnitt 108, der Logikabschnitt 110, der Schnittstellenabschnitt 112 und der Ausgangsabschnitt 114. Der Eingangsabschnitt 106 nimmt Signale aus der Kommunikationsschleife 100 auf und trennt die Zeitgebersignale von den Informationssignalen, während der Zeitgeberabschnitt 108 die geeigneten Taktsignale für das Zugriffstor 102 und den Kommunikationsprozessor 20 aus den vom Eingangsabschnitt 106 erfolgten Zeitgebersignalen erzeugt. Der Schnittstellenabschnitt 112 versorgt den Logikabschnitt 110 mit Steuersignalen aus dem Kommunikationsprozessor 20. Diese Steuersignale zeigen die Natur der dem Kommunikationsprozessor 20 angelegten Operation an, der mit dem Schnittstellenabschnitt 112 verbunden ist. Der Schnittstellenabschnitt 112 eines Zugriffstors 102 ist die Schnittstelle mit der Kommunikationsschleife 100 für einen Kommunikationsprozessor 20.
Als Reaktion auf die Steuersignale, die vom anhängenden Kommunikationsprozessor 20 empfangen werden, bestimmt der Logikabschnitt 110, ob eine Lese- oder Schreiboperation stattfinden kann. Zur Ausführung einer Leseoperation für den Kommunikationsprozessor 20 vergleicht der Logikabschnitt 110 die Adresse, die vom Steuerabschnitt der Informationssignale aus der Kommunikationsschleife 100 angegeben wird, mit der Adresse des anhängenden Kommunikationsprozessors 20. Bei Übereinstimmung werden die Datensignale, die dem Steuerabschnitt der Informationssignale in den Informationsstrom in der Kommunikationsschleife 100 folgen, dazu benutzt, Leerraum in dem Informationsstrom aufzufinden, in welchen Daten aus dem zugehörigen Kommunikationsprozessor 20 eingefügt werden können. Der Ausgangsabschnitt 114 des Zugriffstores 102 rekombiniert die Zeitgebersignale mit den vom zugehörigen Prozessor empfangenen Informationssignalen oder mit den Informationssignalen, die vom Eingangsabschnitt 106 abgetrennt wurden. Somit ist das Format der das Zugriffstor 102 verlassenden Signale gleich dem Format der Signale, die vom Zugriffstor 102 empfangen wurden.
Wenn ein Kommunikationsprozessor 20 eine Lese- oder Schreiboperation bezüglich der Kommunikationsschleife 100 verlangt, wird der Schnittstellenabschnitt 112 in Abhängigkeit von Steuersignalen, die aus dem Kommunikationsprozessor empfangen wurden, die geeigneten Signale erzeugen, die den Strom an Taktsignalen zum Kommunikationsprozessor 20 unterbinden. Als Ergebnis wird der Kommunikationsprozessor 20 daran gehindert, irgendeinen Befehl auszuführen, bis die Taktimpulse erneut von dem Zugriffstor 102 zugeführt werden. Zweitens wird der Schnittstellenabschnitt 112 den Logikabschnitt 110 dazu veranlassen, die vom Eingangsabschnitt 106 aus der Kommunikationsschleife 100 empfangenen Informationssignale zu prüfen. Bei Feststellung eines fehlenden Signalübergangs, dem ein Signalübergang von hoch nach niedrig folgt (was anzeigt, daß jetzt Steuersignale folgen), prüft der Logikabschnitt 110 den Inhalt eines Bytes von Steuersignalen aus der Kommunikationsschleife 100. Beispielsweise könnte dieses Steuerbyte nur Nullen enthalten, die einen leeren Schlitz anzeigen, oder dieses Steuerbyte könnte eine Binärzahl sein, die vorher durch einen anderen Kommunikationsprozessor 20 an der Kommunikationsschleife 100 angegeben wurde. Bei Prüfung dieser Signale des Steuerbytes vergleicht der Logikabschnitt 110 diese Signale mit den vom zugehörigen Kommunikationsprozessor 20 über die Schnittstelle 112 zugeführten Signalen. Wenn keine Gleichheit festgestellt wird, wartet der Logikabschnitt 100 auf das nächste Steuerbyte aus der Kommunikationsschleife 100. Wenn schließlich Gleichheit erreicht ist, werden eine Reihe von Aktionen vom Zugriffstor 102 ausgeführt, und zwar je nach der Art der Operation, die von den am Zugriffstor 102 befindlichen Kommunikationsprozessor 20 angegeben wird. Bei Gleichheit und wenn der Kommunikationsprozessor 20 eine Leseoperation verlangt hat, dann wird das Steuerbyte, das aus der Kommunikationsschleife 100 aufgenommen wurde, durch das Zugriffstor 102 so modifiziert, daß es einen leeren Schlitz anzeigt, der dann von einem anderen Prozessor verwendet werden kann. Weiter wird die Taktsperre, die in dem Schnittstellenabschnitt 112 erzeugt wurde, weggenommen, wodurch die Ausführung des Lesebefehls durch den Kommunikationsprozessor 20 und eine Datenübertragung von der Kommunikationsschleife 100 zum Prozessor 20 ermöglicht werden. Bei einem Schreibbetrieb wird das Steuerbyte aus der Kommunikationsschleife 100, das einen leeren Schlitz anzeigt, so modifiziert, daß es ein von Kommunikationsprozessor 20 angegebenes Steuerwort bildet. Dieses Steuerwort wird normalerweise die Indifikationsnummer sein, die als Herkommensangabe für den Prozessor 20 verwendet wird. Außerdem wird die Taktsperre weggenommen, so daß der Schreibbefehl durch den Kommunikationsprozessor 20 ausgeführt werden kann. Datensignale aus dem Kommunikationsprozessor 20 werden dann in den Informationsstrom in der Kommunikationsschleife 100 eingegeben.
Fig. 6 zeigt das funktionelle Zeitdiagramm für das Zugriffstor 102. Wie dargestellt, wird die Taktsperre durch das Zugriffstor 102 immer dann dekodiert, wenn ein zugehöriger Kommunikationsprozessor 20 eine Leseoperation oder eine Schreib-Operation ausführen möchte. Diese Taktsperre hält den Kommunikationsprozessor 20 undefiniert, wenn die erforderliche Operation nicht eintritt, wodurch der Kommunikationsprozessor 20 immobil wird. Um einen undefinierten nicht definitiven Halt zu verhindern, kann die Taktsperre durch ein externes Unterbrechungssignal entfernt werden, das dem Zugriffstor 102 zugeführt wird. Beispielsweise kann das Unterbrechungssignal ein verzögerter Impuls sein, der ausgelöst wird, wenn eine Lese- oder Schreiboperation durch den Kommunikationsprozessor 20 ausgeführt wird. Der Kommunikationsprozessor 20 kann in dieser Situation so programmiert werden, daß er feststellt, wenn eine Lese- oder Schreib-Anforderung mit oder ohne Unterbrechung abgeschlossen wurde.
Es wird jetzt wieder auf das Zugriffstor 102 Bezug genommen. Das Zugriffstor 102 stellt ein "Gerät" für den Kommunikationsprozessor 20 dar und wird als solches als Eingang für den Kommunikationsprozessor durch Dekodieren von Eingangswahlsignalen ausgewählt, so daß eine BEX-2- Bedingung gebildet wird. In ähnlicher Weise wird dann, wenn das Zugriffstor zur Eingabe von Daten in die Kommunikationsschleife 100 verwendet wird, das Zugriffstor 102 auf die dekodierten Ausgangssteuersignale OUT-2 des Kommunikationsprozessors 20 ansprechen. Wie bereits kurz erwähnt, besteht ein wesentliches Merkmal des Zugriffstores 102 in der Taktgewinnungsschaltung, die die Zeitgebersignale aus dem Daten- und Steuersignalstrom der Kommunikationsschleife 100 herausholt und seinerseits Taktsignale für den zugehörigen Kommunikationsprozessor 20 erzeugt. Wie noch erläutert wird, erzeugt diese Schaltungslogik außerdem den Takt und gibt ihn so weiter, daß während jener Phasen, während der der zugehörige Kommunikationsprozessor 20 auf Daten aus der Kommunikationsschleife 100 wartet, seinen Betrieb durch das Fehlen des Taktes gesperrt und unterbrochen ist.
Das Zugriffstor 102 kann im wesentlichen als Erweiterung der Kommunikationsschleife 100 betrachtet werden. Ein 8 Bit langes Schleifenschieberegister 116, das Teil des Logikabschnittes 110 ist, stellt einen Pfad für die Schleife 100 durch das Zugriffstor 102 dar (Fig. 7). Als Folge wird dieses Schleifenschieberegister 116 eine 8-Bit-Verzögerung zwischen den am Eingang des Zugriffstores 102 empfangenen Signalen und den Signalen am Ausgang des Zugriffstores erzeugen. Die Struktur des Registers 116 ist ähnlich derjenigen des Registers 164, das weiter unten beschrieben wird. Die aus der Kommunikationsschleife 100 empfangenen Signale werden einem BUS IN-Anschluß 118 des Zugriffstores 102 zugeführt. Der BUS IN-Anschluß 118, der Teil des Ausgangsabschnittes 106 des Zugriffstores 102 ist, ist als ein Eingang mit einem Inverter 120 verbunden und ist ferner mit dem Datenanschluß 122 eines Flip-Flops 124 verbunden. Das Flip-Flop 124 ist ein konventionelles D-Flip-Flop, das durch eine positive Flanke getriggert wird, wie Fig. 8 zeigt. Außer dem Datenanschluß 122 weist das Flip-Flop 124 einen Taktanschluß 126 sowie komplementäre Ausgangsanschlüsse Q und auf. Eine Wahrheitstafel für das Flip-Flop 124 wird als ein Eingang einem UND-Gatter 128 mit zwei Eingängen zugeführt. Der andere Eingang für das UND-Gatter 128 ist mit dem BUS IN- Anschluß 118 verbunden. Der Ausgang des Inverters 120 ist als ein Eingang mit einem UND-Gatter 130 mit zwei Eingängen verbunden. Der andere Eingang zum UND-Gatter 130 kommt von dem -Ausgang des Flip-Flops 124. Die Ausgänge der UND-Gatter 148 und 130 werden als Eingänge einem NOR-Gatter 132 zugeführt, dessen Ausgang mit dem Taktanschluß 126 des Flip- Flops 124 verbunden ist. Wie Fig. 7 zeigt, umfassen der Inverter 120, die UND-Gatter 128 und 130, das NOR-Gatter 132 und das Flip-Flop 124 zusammen mit dem BUS IN-Anschluß 118 den Eingangsabschnitt 106 des Zugriffstores 102.
Die Impulsfolge A in Fig. 6a zeigt ein typisches Beispiel für Informationssignale, die über die Kommunikationsschleife 100 übertragen werden. Man sieht aus dem Impulszug A, daß einem Steuer-Byte ein Daten-Byte folgt. Steuersignalen gehen gewöhnlich zwei positive Taktperioden voraus, während Datensignalen gewöhnlich ein negatives Zeitintervall über zwei Taktperioden hin vorausgeht.
Zur Erläuterung des Betriebs des Eingangsabschnittes 106 des Zugriffstores 102 wird ohne Beschränkung der Allgemeinheit der Signalpegel im Zeitpunkt t₀ gemäß Impulszug A als hochliegend angenommen. Daher führt der Datenanschluß des Flip-Flops 124 einen hohen Signalpegel. Nimmt man nun an, daß der Q-Ausgang des Flip-Flops 124 hoch ist, aber dann ist auch der zweite Eingang für das UND-Gatter 128 hoch. Unabhängig vom Ausgang des UND-Gatters 130 ist somit der Ausgang des NOR-Gatters 132 zum Zeitpunkt t₀ niedrig. Im Zeitpunkt t₁ springt der Signalpegel von hohem Pegel auf niedrigen Pegel, wie Impulszug A aus Fig. 6a zeigt. Dieser Informationssignalsprung läßt den Ausgang des UND- Gatters 28 niedrig werden unabhängig vom Q-Ausgang des Flip-Flops 124. Da außerdem der -Ausgang des Flip-Flops 124 im Zeitpunkt t₀ als niedrig angenommen war, schaltet der Ausgang des NOR-Gatters 132 auf hoch um, da beide Eingänge für das NOR-Gatter 132 jetzt niedrig liegen. Entsprechend der Wahrheitstafel aus Fig. 9 für das Flip-Flop 124 bewirkt ein positiver Signalübergang am Taktanschluß 126 des Flip-Flops 124 zusammen mit einem niedrigen Signalpegel am Dateneingang 122 des Flip-Flops 124, daß der Q-Ausgang auf ein niedriges Niveau übergeht und der -Ausgang hoch wird. Dieses Umschalten hat keinen Einfluß auf den Ausgang des UND-Gatters 28, bewirkt jedoch, daß der Ausgang des UND-Gatters 130 im Zeitpunkt t₂ hoch geht. Dadurch wird der Ausgang des NOR-Gatters 132 auf einen tiefen Pegel übergehen. Wie in der Wahrheitstafel für das Flip-Flop 124 dargestellt, hat dieser Signalübergang am Ausgang des NOR- Gatters 132 bei Anlegen an den Taktanschluß 126 des Flip- Flops 124 keinen Einfluß auf die Ausgänge des Flip-Flops 124.
Im Zeitpunkt t₃ geht der Signalpegel der aus der Kommunikationsschleife 100 empfangenen Informationssignale nach oben. Dieser Signalübergang beeinflußt den Ausgang des UND-Gatters 128 nicht, bewirkt jedoch, daß der Ausgang des UND-Gatters 130 auf ein niedriges Niveau umschaltet. Daraufhin wird jetzt der Ausgang des NOR-Gatters 32 nach oben gehen, und da der jetzt am Datenanschluß 122 des Flip-Flops 124 liegende Signalpegel hoch ist, der Q-Ausgang des Flip- Flops 124 geht nach oben, während der -Ausgang niedrig wird. Dieser Signalpegelwechsel an den Ausgängen des Flip-Flops 124 bewirkt jetzt, daß der Ausgang des UND- Gatters 128 nach oben geht, während der Ausgang des UND- Gatters 130 unverändert bleibt. Da der Ausgang des UND- Gatters 128 jetzt nach oben schaltet, wird der Ausgang des NOR-Gatters 32 erneut nach unten schalten, und zwar im Zeitpunkt t₄.
Aus der vorstehenden, kurzen Beschreibung wird nun deutlich, daß die Funktion des Eingangsabschnittes 106 des Zugriffstores 102 darin besteht, jedesmal dann einen Impuls zu erzeugen, wenn ein Signalpegelübergang in den Informationssignalen aus der Kommunikationsschleife 100 auftritt. Man beachte, daß der Eingangsabschnitt 106 nicht unterscheidet zwischen Steuersignalen und Datensignalen. Vielmehr ist der Eingangsabschnitt 106 so ausgelegt, daß er Zeitgebersignale von Informationssignalen trennt.
Der Ausgang des Eingangsabschnittes 106 für das Zugriffstor 102 wird vom Ausgang des NOR-Gatters 132 abgenommen und als Eingang auf den Zeitgeberabschnitt 108 gegeben. Diese Signale am Ausgang des NOR-Gatters 132 sind in Fig. 6a als Impulszug B dargestellt und werden einem Eingang eines NAND-Gatters 134 mit zwei Eingängen zugeführt. Der Ausgang des NAND-Gatters 134 wird dem Triggereingang eines monostabilen Multivibrators 136 zugeführt. Die Funktion des monostabilen Multivibrators 136 besteht darin, Signalpegelübergänge innerhalb der Taktperiode dadurch zu eliminieren, daß ein Impuls erzeugt wird, der eine Zeitdauer von ungefähr 75% der Taktperiode besitzt.
Somit liefert der monostabile Multivibrator 136 einen Zug gleichförmiger Impulse, die den Signalpegelübergängen für jedes Informationssignal entsprechen, das an dem IN- Anschluß 118 des Zugriffstores 102 empfangen wird. Jedoch ist deutlich, daß Impulse des monostabilen Multivibrators 136 nicht mit den Signalpegelübergängen am Anfang jeder Taktperiode synchronisiert sind, bis ein die Information identifizierender Impuls vom Zugriffstor 102 empfangen wurde. Nach Empfang entweder eines datenbezeichnenden Impulses oder eines Steuersignale bezeichnenden Impulses werden sämtliche Signalpegel zwischen den Takt- und Bitperioden durch den monostabilen Multivibrator 136 eliminiert. Der -Ausgang des monostabilen Multivibrators 136 ist in Fig. 6a in Form des Kurvenzuges C dargestellt.
Für die Versorgung mit den aktuellen Taktsignalen, die dem mit dem Zugriffstor 102 verbundenen Kommunikationsprozessor 20 zugeführt werden, ist ein zweiter monostabiler Multivibrator 138 vorgesehen. Der -Ausgang des monostabilen Multivibrators 136 wird dem Trigger-Eingang des monostabilen Multivibrators 138 zugeführt. Der monostabile Multivibrator 138 ist so ausgelegt, daß er einen Impuls produziert, dessen Zeitdauer ungefähr 50% der Taktperiode der Informationssignale aus der Kommunikationsschleife 100 beträgt. Der -Ausgang des monostabilen Multivibrators 38 ist als Signalzug E in Fig. 6a gezeigt.
Zusätzlich zur Versorgung des Kommunikationsprozessors 20 mit Taktsignalen muß der Zeitgeberabschnitt 108 eines Zugriffstores 102 ebenfalls Taktsignale dem Zugriffstor zuführen. Zweckmäßigerweise werden zu diesem Zweck zwei zusätzliche monostabile Multivibratoren 140, 142 verwendet.
Der Triggereingang für den monostabilen Multivibrator 140 ist der -Ausgang des monostabilen Multivibrators 138. Beide monostabile Multivibratoren 140 und 142 erzeugen einen Impuls mit einer Zeitdauer von ungefähr 5% der Bit- oder Taktperiode. Die Q-Ausgänge der monostabilen Multivibratoren 140 und 142 sind als Impulszüge F und G in Fig. 6a wiedergegeben.
Der Schnittstellenabschnitt 112 des Zugriffstores 102 besitzt ein NOR-Gatter 144 mit zwei Eingängen, dessen Ausgang mit der DATA IN-Leitung 80 des Kommunikationsprozessors 20 verbunden ist. Ein Eingang für das NOR-Gatter 144 kommt vom Ausgang des UND-Gatters 148 mit zwei Eingängen, während der Eingang für das NOR-Gatter 144 vom Ausgang des UND-Gatters 146 mit zwei Eingängen kommt. Die Dateneingabe in das UND-Gatter 148 kommt von dem BUS IN-Anschluß 118, während die Dateneingabe für das UND-Gatter 146 für ein Peripheriegerät reversiert ist, das dem zugehörigen Kommunikationsprozessor 20 zugeordnet ist. Der Steuersignaleingang für das UND-Gatter 148 kommt vom Ausgang eines Inverters 150. Der Eingang für den Inverter 150 kommt vom Ausgang eines Dekoders 152, der von vier Leitungen auf zwei Leitungen dekodiert. Die Funktion des Dekodierers 152 besteht gemäß Fig. 10 darin, die Steuersignale A, B, N 9 und N 10, die von dem zugehörigen Kommunikationsprozessor 20 geliefert werden, zu dekodieren. Wie bereits erwähnt, sind die Steuersignale N 9 und N 10, A und B externe Steuersignale des Kommunikationsprozessors 20, die zur Anzeige des Informationsflusses in und aus dem Kommunikationsprozessor 20 dienen. Die Signale A und B informieren die Umwelt des Kommunikationsprozessors 20 über die Art des Befehls, den der Prozessor gerade ausführt. Die Signale N 9, N 10 zeigen der Außenwelt an, welches von vier Registern während eines Logikeinheits- OUT-Befehls angegeben ist.
Zweckmäßigerweise wird der Dekoder 152 eine Leseanforderung von der Kommunikationsschleife 100 zum zugehörigen Prozessor 20 dekodieren, wenn das A-Steuersignal eine binäre NULL ist, das B-Steuersignal eine binäre EINS ist, das N 9-Steuersignal eine binäre EINS ist und das N 10-Steuersignal eine binäre EINS ist. Das Zugriffstor 102 wird ein aufgerufenes Einschreiben von Information aus dem Kommunikationsprozessor in die Kommunikationsschleife 100 ausführen, wenn das A- Steuersignal eine binäre EINS, das B-Steuersignal eine binäre NULL, das N 9-Steuersignal und N 10-Steuersignal jeweils eine binäre EINS sind. Wie Fig. 7 zeigt, sind die beiden Ausgänge des Dekodierers 152 mit R (Lese)-Anschluß 54 und W (Schreib)-Anschluß 156 bezeichnet. Wie man aus der Wahrheitstafel für den Dekodierer leicht entnimmt, die am Ende dieser Beschreibung angegeben ist, ist das am R-Anschluß 154 auftretende Signal nur dann niedrig, wenn eine Lese- Anforderung aus dem zum Zugriffstor 102 gehörenden Kommunikationsprozessor 20 empfangen wurde. Da der Ausgang des Dekodierers 152 dazu dient, Datensignale aus der Kommunikationsschleife 100 oder von einem Peripheriegerät zum zugehörigen Kommunikationsprozessor 20 über NOR-Gatter 144 auszugeben, ist der R-Ausgangsanschluß 154 des Dekoders 152 als Eingang zu einem Inverter 150 geführt und als Steuersignaleingang an das UND-Gatter 146 gelegt.
Wie bereits erwähnt, benötigt der Kommunikationsprozessor 20 extern zugeführte Taktsignale, um einen Befehl auszuführen. Bei Ausgabe einer Leseanforderung durch den zugehörigen Kommunikationsprozessor 20 muß daher das Zugriffstor 102 Taktimpulse so lange von dem zugehörigen Kommunikationsprozessor 20 fernhalten, bis die aus der Kommunikationsschleife 100 empfangenen Signale als solche festgestellt sind, die an das mit dem Kommunikationsprozessor 20 verbundene Gerät 10 oder dem Prozessor 12 adressiert sind. Wenn der zugehörige Kommunikationsprozessor dem Zugriffstor 102 eine Schreibanforderung zustellt, dann muß das Zugriffstor 102 entsprechend weitere Taktimpulse von dem Kommunikationsprozessor 20 fernhalten, bis der Logikabschnitt 110 des Zugriffstores 102 bestimmen kann, daß in der Kommunikationsschleife 100 zur Einfügung von Information ohne Zerstörung gültiger, in der Kommunikationsschleife bereits vorhandene Information verfügbar ist. Um diese Taktsperre zu schaffen, werden die R- und W-Ausgänge 154 bzw. 156 des Dekoders 152 als Eingänge eines NAND-Gatters 158 zugeführt. Der Ausgang des NAND-Gatters 158 wird einem Eingang eines UND-Gatters 160 mit zwei Eingängen über einen Inverter 62 zugeführt. Der andere Eingang zum UND-Gatter 160 kommt von dem Q-Ausgang des monostabilen Multivibrators 138. Wie man aus der Wahrheitstafel für den Dekoder 152 erkennen kann, sind die R- und W-Ausgangsanschlüsse 154, 156 des Dekoders 152 beide hoch, es sei denn, daß eine Leseanforderung oder eine Schreibanforderung von dem zugehörigen Kommunikationsprozessor 20 dekodiert wird. Somit wird der Ausgang des NAND-Gatters 158 niedrig sein mit Ausnahme der Situation, daß eine Lese- oder Schreibanforderung von dem dem Zugriffstor 102 zugeordneten Kommunikationsprozessor 20 ausgegeben wurde. Dieser niedrige Ausgang wird seinerseits durch den Inverter 162 invertiert, ehe er als Steuersignaleingang dem UND-Gatter 160 zugeführt wird. Da der andere Eingang für das UND-Gatter 160 von dem Q-Ausgang des monostabilen Multivibrators 138 kommt, der wie bereits erwähnt, die Taktsignale dem zugehörigen Kommunikationsprozessor 20 zuführt, wird deutlich, daß die Taktsignale von dem Zugriffstor 102 dem zugehörigen Kommunikationsprozessor 20 immer zugeführt werden, mit Ausnahme der Situation, daß eine Schreib- oder Leseanforderung von dem Kommunikationsprozessor 20 ausgegeben wurde. Bei Vorliegen eines Lese- oder Schreib- Aufrufs aus dem zugehörigen Kommunikationsprozessor 20 wird der Ausgang des NAND-Gatters 158 hoch liegen, was zu einem niedrigen Signalpegel am UND-Gatter 160 führt. Dies sperrt die Taktimpulse, die vom Ausgang Q des monostabilen Multivibrators 180 sonst durch das UND-Gatter 160 dem Kommunikationsprozessor 20 zugeführt werden. Wenn die von dem zugehörigen Kommunikationsprozessor 20 aufgerufenen Operation ein Leseaufruf war, dann wird die Taktsignalsperre so lange nicht entfernt, bis der Logikabschnitt 110 des Zugriffstores 102 bestimmt, daß die von der Kommunikationsschleife 100 empfangenen Informationssignale an den zugehörigen Kommunikationsprozessor 20 gerichtet sind. Nach dieser Bestimmung wird die Taktsperre beseitigt, und die Taktimpulse aus dem Q-Ausgang des monostabilen Multivibrators 138 können zum zugehörigen Kommunikationsprozessor 20 fließen. Wenn der vom zugehörigen Kommunikationsprozessor 20 ausgegebene Aufruf eine Schreiboperation ist, dann wird entsprechend eine Taktsperre so lange nicht weggenommen, bis der Logikabschnitt 100 bestimmt, daß in dem Informationsstrom ein Freiraum verfügbar ist.
Zu dem Zeitgeberabschnitt 108 des Zugriffstores 102 ist im Augenblick zu bemerken, das ein MEMORY CYCLE COMPLETE (MCC)-Impuls von dem zugehörigen Kommunikationsprozessor 20 benötigt wird. Wie bereits erwähnt, erzeugt der Kommunikationsprozessor 20 zu Beginn bei Beendigung jedes Befehls eine Taktsperre, die als LAST PULSE bezeichnet wurde. Diese interne Taktsperre wird so lange nicht beseitigt, wie ein MCC-Impuls von dem Kommunikationsprozessor 20 extern empfangen wird. Somit wird zusätzlich zu den der CLOCK IN-Leitung 48 des zugehörigen Kommunikationsprozessors 20 zugeführten Taktimpulsen der Zeitgeberabschnitt 108 des Zugriffstores 102 ebenfalls MCC-Impulse der MCC-Leitung 56 des zugehörigen Kommunikationsprozessors 20 zuleiten müssen. Um dies zu erreichen, muß der Zeitgeberabschnitt 108 einen Impuls erzeugen, der mit dem Informationsstrom in der Kommunikationsschleife 100 synchronisiert ist. Aus einer Prüfung dieses Informationsstromes, dargestellt als Impulszug A in Fig. 6, erkennt man, daß zur Synchronisation der MCC-Impuls im gleichen Zeitintervall auftreten muß, das der Informationssignal- Identifikation, also z. B. Datensignale oder Steuersignale, zugewiesen ist. Wenn dies nicht so wäre, würde der sich ergebende MCC-Impuls nicht mit den Wörtern des Informationsstromes synchronisiert sein. Um somit den MCC- Impuls zu erzeugen, wird der -Ausgang des monostabilen Multivibrators 138 als Triggereingang dem monostabilen Multivibrator 140 zugeführt, der seinerseits einen Impuls produziert, dessen Zeitdauer ungefähr 5% der Takt- oder Bitperiode des aus der Kommunikationsschleife 100 empfangenen Informationsstromes beträgt. Wenn der -Ausgang des monostabilen Multivibrators 136 (Impulszug C) mit dem Q-Ausgang des monostabilen Multivibrators 140 (Impulszug F) durch ein UND-Gatter 168 gegeben wird, wird ein Impuls nur während derjenigen Zeitintervalle sich ergeben, die der Identifizierung der Signale aus dem Informationsstrom zugewiesen sind. Der Ausgang des UND-Gatters 168 wird über einen Inverter 170 der MCC-Leitung 56 des zugehörigen Kommunikationsprozessors 20 zugeleitet. Somit wird der Kommunikationsprozessor 20 mit dem notwendigen MCC-Impuls versorgt, der zur Wegnahme der Taktsperre erforderlich ist, die vom Kommunikationsprozessor 20 intern erzeugt wurde. Man bemerke jedoch, daß dann, wenn von dem Kommunikationsprozessor 20 eine Leseanforderung oder eine Schreibanforderung herausgegeben wurde, der MCC-Impuls nur die intern erzeugte Taktsperre beseitigt, jedoch nicht diejenige wegnimmt, die von dem Dekoder 152, dem NAND-Gatter 158, dem Inverter 162 und dem UND-Gatter 160 erzeugt wurde.
Es wird jetzt auf die Schaltung des Logikabschnittes 110 Bezug genommen. Vor Ausgabe einer Leseanforderung wird der Kommunikationsprozessor 20 so programmiert, daß er einen Befehl ausführt, der über die DATA OUT-Leitung 82 des zugehörigen Kommunikationsprozessors 20 an das Zugriffstor 102 die Adresse des zugehörigen Prozessors überträgt. Diese Prozessoradresse wird seriell in ein Schieberegister 164 mit serieller Eingabe und paralleler Ausgabe geladen. Dieser Befehl gibt ferner das Holen des nächsten Befehls an, der in diesem Fall eine Leseoperation verlangt.
Bei Abschluß dieses Befehls und Empfang des nächstfolgenden MCC-Impulses (vgl. Kurvenzug H im Zeitpunkt t₅ aus Fig. 6) aus dem Ausgang des Inverters 170, wird der Prozessor 20 so programmiert, daß er die Leseoperation (BEX-2) ausführt. Beim Holen des Lesebefehls jedoch lieferte der Dekoder 152 die notwendigen Signale, damit die Weitergabe von Taktimpulsen an den CLOCK IN-Anschluß 88 des Kommunikationsprozessors 20 verhindert wird. Daher werden dem zugehörigen Kommunikationsprozessor 20 so lange keine Taktimpulse weiter zugeführt werden, bis eine Bestimmung darüber getroffen ist, daß die Adresse der von der Kommunikationsschleife 100 empfangenen Information auf den zugehörigen Kommunikationsprozessor 20 paßt. Diese Bestimmung wird durch Vergleich der Prozessoradresse in dem Schieberegister 164 mit der Adresse ausgeführt, die vom Steuerabschnitt des aus der Kommunikationsschleife 100 empfangenen Informationsstromes angegeben ist. Daher muß die Prozessoradresse, die durch Ausführung des vorhergehenden Befehls des Kommunikationsprozessors 20 durch den Logikabschnitt 110 aufbewahrt werden, bis der Vergleich eine Übereinstimmung ergeben hat.
Dem Schieberegister 164 mit seriellem Eingang und parallelem Ausgang ist ein weiteres Schieberegister 166 mit parallelem Eingang und seriellem Ausgang zugeordnet. Dieses Schieberegister 166, zu erkennen in Fig. 11, wird von dem gleichen MCC-Impuls geladen, der den Lesebefehl des Kommunikationsprozessors 20 auslöste, jedoch für die Taktsperre, die durch den Dekoder 152 erzeugt wurde. Wie in Fig. 7 gezeigt ist, wird der Lesebefehl für das Schieberegister 166 vom Ausgang eines UND-Gatters 172 mit zwei Eingängen geliefert. Ein Eingang für das UND-Gatter 172 kommt vom Ausgang des Inverters 150. Der andere Eingang für das UND-Gatter 172 kommt vom Ausgang des Inverters 170, der die Quelle für die MCC-Impulse für den zugehörigen Kommunikationsprozessor 20 darstellt. Man erinnere sich, daß der Eingang für den Inverter 150 mit dem R-Anschluß 154 des Dekoders 152 verbunden ist. Man erinnere sich weiter, daß das an den R- Anschluß 154 des Dekoders 152 erscheinende Signal nur dann einen niedrigen Pegel einnimmt, wenn ein Lesebefehl von dem Dekoder 152 dekodiert wurde. Daher wird unmittelbar vor dem Empfang des nächstfolgenden MCC-Impulses durch den Kommunikationsprozessor 20 der Ausgang des Inverters 150 hochgehen, und der Signalausgang des Inverters 170 (Impulszug H) wird niedrig gehen. Dadurch wird der Ausgang eines UND-Gatters 172 hoch. Wie man aus Fig. 11 sieht, benötigt das Schieberegister 166 einen negativen Impuls zur parallelen Ladung des Schieberegisters. Bei Empfang eines positiven MCC-Impulses wird der Ausgang des UND-Gatters 172 momentan niedrig werden, was seinerseits das Schieberegister 166 parallel laden wird, und zwar mit der im Schieberegister 164 gespeicherten Prozessoradresse. Bei Anlegen von Taktimpulsen an das Schieberegister 166 wird die jetzt im Schieberegister 166 gespeicherte Prozessoradresse bit-weise mit den von der Kommunikationsschleife 100 über den BUS IN-Anschluß 118 des Zugriffstores 102 empfangenen Informationssignalen verglichen.
Zur Ausführung des Vergleichs wird ein aus UND-Toren 174, 176 mit vier Eingängen sowie einem NOR-Gatter 178 mit zwei Eingängen bestehendes Gatternetzwerk verwendet. Der Ausgang der UND-Gatter 174, 176 ist als Eingänge dem NOR-Gatter 178 zugeführt. Ein Eingang für beide UND-Gatter 174, 176 kommt vom Ausgang des NAND-Gatters 158, der nur dann hoch liegt, wenn ein Lese- oder Schreibbefehl von dem zugehörigen Kommunikationsprozessor zur Auführung empfangen wurde. Ein zweiter Eingang, der für die UND-Gatter 174 und 176 gemeinsam ist, kommt von dem Q-Ausgang des monostabilen Multivibrators 142. Wie Fig. 7 zeigt, wird der monostabile Multivibrator 142 durch den Q-Ausgang des monostabilen Multivibrators 138 getriggert, während der monostabile Multivibrator 140 durch den -Ausgang des monostabilen Multivibrators 138 getriggert wird. Da der monostabile Multivibrator 138 die tatsächlichen Taktsignale für den Kommunikationsprozessor 20 liefert und da die monostabilen Multivibratoren 140 und 142 so ausgelegt sind, daß sie Impulse von ungefähr gleicher Zeitdauer erzeugen, wird das Zeitintervall zwischen dem Auftreten eines Impulses am Ausgang des monostabilen Multivibrators 142 und dem Auftreten eines Impulses am Ausgang des monostabilen Multivibrators 140 ungefähr gleich der Impulsbreite der Taktimpulse für den Kommunikationsprozessor 20 sein. Dieses Merkmal erläutert Impulszug F und Impulszug G, die die Ausgänge der Multivibratoren 140 und 142 darstellen. Ein dritter Eingang für das UND-Gatter 174 kommt vom -Ausgang des Schieberegisters 166, während ein dritter Eingang für das UND-Gatter 176 vom Q-Ausgang des Schieberegisters 166 kommt. Der vierte und letzte Eingang für das UND-Gatter 174 kommt von dem Q-Ausgang eines Flip-Flops 180, während der vierte und letzte Eingang für das UND-Gatter 176 von dem -Ausgang des Flip-Flops 180 kommt. Der Datenanschluß des Flip-Flops 188 ist mit dem BUS IN-Anschluß 118 des Zugriffstores 102 verbunden, während die Taktsignale für das Flip-Flop 180 von dem -Ausgang des monostabilen Multivibrators 136 geliefert werden.
Wie man sieht, besteht die Funktion des Flip-Flops 180 darin, eine Verzögerung in dem Informationsstrom aus dem BUS IN-Anschluß 118 einzufügen. Da die Taktimpulse für den zugehörigen Kommunikationsprozessor 20 wie auch die Zeitgabe für das Zugriffstor 102 von den Signalpegelübergängen des Informationssignalstroms abgeleitet werden, ist deutlich, daß diese abgeleiteten Zeitimpulse nicht gleichzeitig mit dem Auftreten der Signalübergänge der Informationsimpulse erzeugt werden. Zur Kompensation dieses Unterschiedes zwischen den Zeitgabeimpulsen, die aus den Signalübergängen abgeleitet werden und den tatsächlichen Informationsimpulsen selbst auszugleichen, ist das Flip-Flop 180 vorgesehen. Da die Signale, die das Flip-Flop 180 takten, von dem -Ausgang des monostabilen Multivibrators 136 abgeleitet werden, der seinerseits so ausgelegt war, daß Impulse weggenommen werden, die aus Signalübergängen innerhalb der Takt- oder Bitperiode des Informationsstromes resultierten, wird das Flip-Flop 180 den modifizierten Mauchly-Kode, der seinem Datenanschluß zugeführt wurde, in einen NRZ-Pegel oder in einen modifizierten NRZ-Kode transformieren. Die Q- und - Ausgänge des Flip-Flops 180 sind als Impulszüge J und I dargestellt. Das Format des NRZ-Kodes ist ein solches, bei dem eine binäre EINS durch einen Signalpegel (z. B. hoch) und eine binäre NULL durch den anderen Signalpegel (z. B. niedrig) repräsentiert werden. Man entnehme ferner aus diesen Impulszügen, daß die Ausgangsimpulse des Flip-Flops 180 ungefähr um 75% einer Taktperiode gegenüber der Taktperiode der Signalübergänge verzögert sind, aus denen diese Impulse abgeleitet wurden. Diese Verzögerung ist das Ergebnis der Verwendung des Ausgangs des monostabilen Multivibrators 136 als Takt für das Flip-Flop 180.
Eine Analyse der Eingänge entweder für das UND-Gatter 174 oder das UND-Gatter 176 zeigt, daß zwei der Eingänge Steuersignalen verwandt sind, während die beiden Eingänge Datensignalen verwandt sind. Die beiden Steuersignale, die den Eingängen der beiden UND-Gatter 174 und 176 zugeführt werden, sind der Ausgang des NAND-Gatters 158 und der Q-Ausgang des monostabilen Multivibrators 142. Da der Ausgang des NAND- Gatters 158 nur positiv ist, wenn entweder eine Leseanforderung (BEX-2) oder eine Schreibanforderung (OUT-2) von dem zugehörigen Kommunikationsprozessor 20 ausgegeben wurde, wird deutlich, daß der Ausgang entweder des UND-Gatters 174 oder des UND- Gatters 176 nur positiv sein kann, wenn eine Lese- oder Schreibanforderung von dem zugehörigen Kommunikationsprozessor 20 ausgegeben wurde. Die beiden Dateneingänge für die UND- Gatter 174 oder das UND-Gatter 176 sind die Ausgänge des Flip-Flops 180 und die Ausgänge des Schieberegisters 166. Das UND-Gatter 174 gibt den Q-Ausgang des Flip-Flops 180 und den -Ausgang des Schieberegisters 176 aus, wenn es durch den Ausgang des monostabilen Multivibrators 142 getaktet wird, während das UND-Gatter 176 den -Ausgang des Flip-Flops 180 und den Q-Ausgang des Schieberegisters 166 ausgibt. Es sollte nun klar sein, daß die Takte für das Flip-Flop 180 und das Schieberegister 166 vor dem Takt für die UND-Gatter 174 und 176 auftreten müssen. Der Takt für das Schieberegister 166 wird durch den Ausgang des monostabilen Multivibrators 140 geliefert. Ein Vergleich des Signalzuges F, der den Takt für das Schieberegister 166 darstellt, mit dem Signalzug C, der den Takt für das Flip-Flop 180 darstellt, und dem Signalzug G, der den Takt für die UND-Gatter 174 und 176 darstellt, ergibt, daß das Schieberegister 166 zuerst getaktet wird, während das Flip-Flop 180 und die UND-Gatter 174 und 176 im wesentlichen gleichzeitig getaktet werden. Da gemäß Fig. 11 das Schieberegister 166 nicht synchron ist, liefert das Laden des Schieberegisters 166 automatisch an den Q-Ausgang und den -Ausgang des Schieberegisters den Inhalt der niedrigstelligen Bitstelle. Somit wird gemäß Fig. 6 im Zeitpunkt t₅ der Ausgang des UND-Gatters 172 das Schieberegister 166 laden lassen, und zwar mit dem Inhalt des Schieberegisters 164. Die Binärpegel der niedrigststelligen Bitstelle des geladenen Schieberegisters 166 werden gleichzeitig jeweils dem UND-Gatter 176 und dem UND-Gatter 174 zugeführt. Im Zeitpunkt t₆ (beginnend mit der dritten Taktperiode des Informationsbytes) wird das erste Informationssignal, das dem Informations-Identifikationssteuersignal folgt, am Datenanschluß des Flip-Flops 180 auftreten. Im Zeitpunkt t₇ wird das Flip-Flop 180 getaktet, und der Q-Ausgang des Flip-Flops 180 wird als ein Eingang dem UND-Gatter 174 zugeführt, während der -Ausgang des Flip-Flops 180 als ein Eingang dem UND-Gatter 176 zugeführt wird. Gleichzeitig erhalten die UND-Gatter 174 und 176 einen Taktimpuls in der Form eines positiven Impulses aus dem Q- Ausgang des monostabilen Multivibrators 142 (Signalzug G).
Mit den obenerwähnten jeweiligen Eingängen für die UND- Gatter 174 und 176 führt die Kombination der UND-Gatter 174 und 176 mit dem NOR-Gatter 178 im wesentlichen eine logische Exklusiv-ODER-Funktion für diese Eingangssignale aus. Da der Ausgang des NOR-Gatters 178 gewöhnlich hoch liegt, wird das Anlegen des Q-Ausgangs des monostabilen Multivibrators 142 an die Eingänge der UND-Gatter 174 und 176 im Zeitpunkt t₇ den Ausgang des NOR-Gatters 178 nur dann nach unten gehen lassen, wenn das vom Schieberegister 166 im Zeitpunkt t₅ gelieferte Signal nicht identisch mit dem Informationssignal ist, das aus der Kommunikationsschleife 100 über BUS IN-Anschluß 118 empfangen wurde. Wenn im Zeitpunkt t₇ die beiden Signale identisch sind, bleibt der Ausgang des NOR-Gatters 178 hoch, da die Ausgänge der UND-Gatter 174 und 176 niedrig sein werden. Im Zeitpunkt t₈ wird das Schieberegister 166 getaktet, und die an der zweiten niedrigststelligen Bitstelle gespeicherten Binärwerte werden den UND-Gattern 174 und 176 zugeführt. Diese Binärwerte werden mit dem Binärwert des nächstfolgenden Informationssignals im Zeitpunkt t₉ verglichen und so weiter.
Um eine Aufzeichnung darüber zu haben, ob sämtliche Bits eines Informationswortes oder Bytes aus der Kommunikationsschleife 100 identisch mit den Bits des Wortes sind, das in dem Schieberegister 166 gespeichert ist, werden zwei Flip-Flops 182 und 184 verwendet. Flip-Flops 182 und 184 haben ähnliche Struktur wie das Flip-Flop 124 und 180 mit der Ausnahme, daß auch eine Löschfunktion vorgesehen ist. Beide Flip-Flops 182 und 184 sind D-Flip-Flops, die vom positiven Flanken getriggert werden. Ein Beispiel dieses Flip-Flop-Typs zeigt Fig. 12. Eine Wahrheitstafel für die Flip-Flops 182 und 184 zeigt Fig. 13. Der Ausgang des NOR-Gatters 178 wird dem Löschanschluß des Flip-Flops 182 zugeleitet, während der Datenanschluß des Flip-Flops 182 mit dem Ausgang des NAND-Gatters 158 verbunden ist. Der Q-Ausgang des Flip-Flops 182 ist mit dem Datenanschluß des Flip-Flops 184 verbunden. Die Taktsignale für das Flip-Flop 182 werden von dem Ausgang des NAND- Gatters 158 geliefert, während die Taktsignale für das Flip- Flop 184 von dem Ausgang des Inverters 170 geliefert werden. Aus der Wahrheitstafel der Fig. 13 erkennt man, daß ein dem Löschanschluß des Flip-Flops 182 zugeführter negativer Impuls den Q-Ausgang des Flip-Flops 182 nach unten gehen läßt, gleichgültig, welcher Signalpegel an den Datenanschluß des Flip-Flops angelegt wurde. Wenn entweder eine Lese- (BEX-2)- oder eine Schreib-(OUT-2)-Operation durch den zugehörigen Kommunikationsprozessor 20 ausgelöst wurde, wird der Signalpegel des Datenanschlusses des Flip-Flops 182 hoch sein, da er mit dem Ausgang des NAND-Gatters 158 verbunden ist. Wenn der Inhalt des Schieberegisters 166 tatsächlich den Signalen entspricht, die aus der Kommunikationsschleife 100 empfangen wurden, dann wird der Ausgang des NOR-Gatters 178 stets hoch bleiben, und daher wird kein Löschsignal an das Flip-Flop 182 gelegt. In diesem Fall folgt der Q-Ausgang des Flip-Flops 182 dem Signalpegel am Datenanschluß.
Das Löschsignal für das Flip-Flop 184 wird durch den Ausgang eines UND-Gatters 186 mit zwei Eingängen geliefert. Ein Eingang für das UND-Gatter 186 kommt vom Ausgang des Inverters 170, während der andere Eingang für das UND-Gatter 186 vom Ausgang des Inverters 162 kommt. Während der Ausgang des Inverters 170 stets ein positiv gehender Impuls ist, wie der Impulszug H zeigt, ist der Ausgang des Inverters 162 nur dann positiv, wenn entweder eine Lese-Operation (BEX-2) oder eine Schreiboperation (OUT-2) durch den Kommunikationsprozessor 20 ausgelöst wurde. Wenn somit eine Leseoperation oder eine Schreiboperation durch den Kommunikationsprozessor 20 ausgelöst wurde, wird der Ausgang des UND-Gatters 186 im Zeitpunkt t₅ ein positiver Impuls sein.
Aus der Wahrheitstafel gemäß Fig. 13 entnimmt man, daß dann, wenn ein positiver Impuls dem Löscheingang des Flip-Flops 184 zugeführt wird, die Ausgänge des Flip-Flops 184 von dem Signalpegel abhängen, der am Datenanschluß des Flip- Flops anliegt. Wenn somit der Inhalt des Schieberegisters 166 exakt den Signalen entspricht, die aus der Kommunikationsschleife empfangen wurden, dann folgt der Q-Ausgang des Flip-Flops 182 dem Signalpegel an seinem Datenanschluß. In dieser Situation, wenn nämlich diese Korrespondenz besteht, wird ein Signal, das am Datenanschluß des Flip- Flops 184 erscheint, identisch mit dem Signalpegel sein, der am Datenanschluß des Flip-Flops 182 erscheint. Wenn andererseits der Inhalt des Schieberegisters 166 nicht genau den aus der Kommunikationsschleife 100 empfangenen Signalen entspricht, dann wird der am Datenanschluß des Flip-Flops 184 auftretende Signalpegel das Komplement des Signalpegels sein, der am Datenanschluß des Flip-Flops 182 auftritt.
Es ist also klar, daß das Flip-Flop 182 ein Hilfssignal für jedes Informationsbit aufnimmt, das aus der Kommunikationsschleife 100 über BUS IN-Anschluß 118 empfangen wurde, das nicht den in dem Schieberegister 166 gespeicherten Signalen entspricht. Da in der bevorzugten Ausführungsform sowohl Dateninformation wie Steuerinformation entlang der Kommunikationsschleife 100 übertragen werden und aus 8-Bit-Bytes bestehen, wird der Q-Ausgang des Flip-Flops 182 das Flip-Flop 184 entsprechend dem Ausgang eines Vergleichs zwischen dem Inhalt des Schieberegisters 166 und einem 8-Bit-Informations-Byte aus der Kommunikationsschleife 100 in der richtigen Weise setzen. Da die Information am BUS IN-Anschluß 118 des Zugriffstores 102 aus der Kommunikationsschleife 100 kontinuierlich ankommt, muß das Flip-Flop 182 am Beginn jedes 8-Bit-Informations- Bytes aus der Kommunikationsschleife 100 zurückgesetzt werden. Daher ist die Funktion des Flip-Flops 184 diejenige, eine Anzeige der Ergebnisse des Vergleichs für das vorhergehende Informations-Byte zu liefern.
Um dies auszuführen, ist eine Analyse der Taktsignale, die den Flip-Flop 184 und 182 zugeführt werden, hilfreich. Man notiere, daß das dem Flip-Flop 182 zugeführte Taktsignal das Inverse der Taktsignale ist, die an das Flip-Flop 184 gelegt werden, wobei das Signal, das dem Taktanschluß des letzteren Flip-Flops zugeführt wird, ein positiver Impuls ist. Da beide Flip-Flops 182 und 184 von den positiven Flanken getriggert werden, wird das Flip-Flop 184 entsprechend dem Q-Ausgang des Flip-Flops 182 getriggert, ehe das Flip-Flop 182 zurückgesetzt wird.
Wie nun deutlich ist, ist die Funktion der Flip-Flops 182 und 184 nur dann wichtig, wenn ein Lesebefehl (BEX-2) oder ein Schreibbefehl (OUT-2) zur Ausführung durch den Kommunikationsprozessor 20 geholt wurden. Der Sinn dieses besteht darin, daß der Kommunikationsprozessor 20 das Vorhandensein des Zugriffstores nur dann wahrnimmt, wenn entweder eine Leseoperation (BEX-2) oder eine Schreiboperation (OUT-2) ausgelöst wurden. Andererseits dient das Zugriffstor 102 als Schnittstelle zwischen der Kommunikationsschleife 100 und dem zugehörigen Kommunikationsprozessor 20 und hält weiterhin die Kontinuität innerhalb der Kommunikationsschleife 100 aufrecht. In diesem Sinne müssen die Flip-Flops 182 und 184 die Information ausreichend liefern, um die Kontinuität für die Kommunikationsschleife 100 aufrecht zu erhalten, unabhängig vom Status des zugehörigen Kommunikationsprozessors 20. Um diese Kontinuität zu schaffen, wird der -Ausgang des Flip-Flops 180 als ein Eingang einem UND-Gatter 188 mit zwei Eingängen zugeführt. Der andere Eingang für das UND- Gatter 188 kommt von dem -Ausgang des Flip-Flops 184. Der -Ausgang des Flip-Flops 180 ist das Komplement der NRZ-Pegeldarstellung des erfindungsgemäß modifizierten Mauchly-Kodes, der dem Datenanschluß des Flip-Flops 180 zugeführt wurde. Da der Ausgang des Inverters 162, der dem Dekoder 152 zugeordnet ist, positiv ist, wenn entweder ein Lesebefehl (BEX-2) oder ein Schreibbefehl (OUT-2) zur Ausführung durch den zugehörigen Kommunikationsprozessor 20 geholt wurden, wird der Ausgang des UND-Gatters 186 im Zeitpunkt t₅ ein negativ gehender Impuls sein. Wie erörtert, wird ein negativ gehender Impuls, der dem Löschanschluß des Flip-Flops 184 zugeführt wird, stets den -Ausgang des Flip-Flops 184 hochgehen lassen. Unabhängig davon also, ob ein Vergleich mit dem Informationsbyte aus der Kommunikationsschleife 100 über BUS IN-Anschluß 118 erreicht wurde, wird die NRZ-Pegeldarstellung des Bytes an Informationssignalen vom -Ausgang des Flip-Flops 180 durch das UND-Gatter 188 weitergeleitet, wenn ein BEX-2- oder ein OUT-2-Befehl aus dem Speicher 24 geholt worden ist.
Der Ausgang des UND-Gatters 188 wird als Eingang einem NOR- Gatter 190 mit zwei Eingängen zugeführt, dessen Ausgang auf den seriellen Eingangsanschluß des Schleifenschieberegisters 116 gegeben wird. Das Schleifenschieberegister 116 ist identisch aufgebaut wie das Schieberegister 166 und wird ebenfalls parallel vom Ausgang des Schieberegisters 164 geladen. Wie bereits kurz erwähnt, besteht die Funktion des Schleifenschieberegisters 116 in der Pufferung. Wie zu erkennen ist, speichert im speziellen das Schleifenschieberegister 116, in Fig. 14, in dem Zugriffstor 102 die aus der Kommunikationsschleife 100 empfangenen Informationssignale über acht Taktperioden. Diese 8-Bit-Verzögerung ist nötig, um zu bestimmen, ob ein Vergleichsergebnis zwischen in dem Schieberegister 166 gespeicherten Signalen und denjenigen, die aus der Kommunikationsschleife 100 erhalten wurden, vorliegt. Wie leicht erkannt werden kann, kann ein Vergleich bzw. eine Übereinstimmung nur mit den Informationssignalen erreicht werden, die vom Steuertyp sind. Datensignale werden auch mit dem Inhalt des Schieberegisters 166 verglichen, jedoch kann der Vergleich nicht erfolgreich ausgehen. Wenn somit ein Vergleich erfolgreich endete, was durch den Q-Ausgang des Flip-Flops 184 angedeutet wird, dann muß der Inhalt des Schleifenschieberegisters 116 Steuersignale sein, die aus der Kommunikationsschleife 100 erhalten wurden.
Um sicherzustellen, daß nur Steuerbytes sich aus einem korrekten Vergleich ergeben, wird der serielle Eingangsanschluß des Schieberegisters 166 auf ein negatives Potential festgelegt. Das Schieberegister 166 wird im Zeitpunkt t₅ mit Information geladen, die von dem zugehörigen Kommunikationsprozessor stammt, jedoch wird das erste Informationsbit, das verglichen wird, nicht vor dem Zeitpunkt t₇ auftreten. Man bemerke, daß der Zeitpunkt t₇ innerhalb der Taktperiode des ersten Bits der Nicht-Identifizierungsinformation des Informationsbytes auftritt. Somit wird die in das Schieberegister 166 geladene Information nicht solche Information enthalten, die sich auf die Identifikation des Informationsbytes bezieht. Da weiter in d 65496 00070 552 001000280000000200012000285916538500040 0002002623806 00004 65377er bevorzugten Ausführungsform das Schieberegister 166 nur 8 Bits lang ist, während die Informationsbytes der Kommunikationsschleife 100 10 Taktperioden lang sind, muß die Möglichkeit in dem Schieberegister 166 für die zwei restlichen Bits geschaffen werden. Um das Schieberegister 166 demzufolge um zwei Bits zu erweitern, wird der serielle Ein­ gangsanschluß des Schieberegisters auf ein negatives Potential festgelegt. Man bemerkt aus dem Signal C und F, daß vom Zeitpunkt t₅ bis zum Zeitpunkt t₁₀ das Schieberegister 166 sieben Taktimpulse empfangen haben wird. Nach Zeitpunkt t₁₀, jedoch ehe das Schieberegister 166 erneut mit dem Inhalt des Schieberegisters 166 im Zeitpunkt t₃ geladen wird, empfängt das Schieberegister 166 einen zusätzlichen Taktimpuls im Zeitpunkt t₁₁. Im Zeitpunkt t₁₀ jedoch wird der Inhalt des Schieberegisters nur aus NULLEN bestehen, und zwar weil der serielle Eingangsanschluß auf negatives Potential festgelegt wurde. Wenn das Schieberegister 166 Taktimpulse im Zeitpunkt t₁₁ empfängt, werden die UND-Gatter 174 und 176 zur Zeit t₁₂ bestimmen, ob der Binärwert des nächsten In­ formationsbits eine NULL ist. Wenn der eine binäre NULL ist, dann würde dies anzeigen, daß die vorhergehenden acht Informationsbits Steuerbits waren. Daher wird das Festlegen des seriellen Eingangsanschlusses des Schieberegisters 166 auf ein negatives Bezugspotential vorschreiben, daß eine Korrespondenz nur mit Bytes von Steuersignalen erreicht werden kann.
Wenn eine Leseoperation von dem zugehörigen Kommunikations­ prozessor 20 aufgerufen wurde, dann wird nach einer beim Vergleich festgelegten Übereinstimmung der Inhalt des Schleifenschieberegisters 116 die Prozessoradresse sein, die dem zugeordneten Kommunikationsprozessor 20 zugehört. Wenn eine Schreiboperation aufgerufen wurde, dann wird bei festgestellter Gleichheit während des Vergleichs der Inhalt des Schleifenschieberegisters lauter NULLEN enthalten.
Bei Gleichheit für eine Leseoperation wird die Prozessoraderesse seriell in das Schleifenschieberegister 116 vom Ausgang des UND-Gatters 188 geladen und das NOR- Gatter 190 muß so verändert werden, daß alles NULLEN wird. Dies ermöglicht, das andere Prozessoren an der Kommunikations­ schleife 100 die Möglichkeit erhalten, Information in die Schleife zu schreiben, und zwar in den Raum, der vorher die ungelesene Information enthielt, wobei gleichzeitig das Zugriffstor daran gehen wird, die gleiche Information über und über zu lesen.
Bei Gleichheit für die Schreiboperation müssen die in das Schleifenschieberegister 116 geladenen NULLEN in die Adresse des bezeichneten Zugriffstores verändert werden, um die Information, die jetzt in die Kommunikations­ schleife 100 geschrieben wird, zu erhalten. Diese neue Adresse wird ihrerseits mit anderen Zugriffstoren entlang der Kommunikationsschleife 100 verglichen und wird dann angenommen, wenn das richtige bezeichnete Zugriffstor erreicht wird. Das bezeichnete Zugriffstor wird seinerseits lauter NULLEN in die Steuerstelle einschreiben, und der Zyklus wiederholt sich dann.
Um das vorstehende weiter in der richtigen Weise deutlich zu machen, wird jetzt die Funktion und der Betrieb des Schleifenschieberegisters 116 sowie das Schieberegister 164 im einzelnen beschrieben.
Die Taktsignale für das Schleifenschieberegister 116 werden aus dem -Ausgang des monostabilen Multivibrators 136 abgeleitet. Um die Ladeimpulse für das Schleifenschieberegister 116 zu liefern, wird der Ausgang eines NAND- Gatters 172 verwendet, das drei Eingänge besitzt. Ein Eingang für das NAND-Gatter 192 kommt vom Ausgang des NAND- Gatters 158, während ein zweiter Eingang für das NAND- Gatter 192 von dem Q-Ausgang des Flip-Flops 184 her kommt. Der dritte und letzte Eingang zum NAND-Gatter 192 kommt vom Ausgang des Inverters 170. Da der Ausgang des Inverters 170 die Quelle der MCC-Impulse für den zugehörigen Kommunikations­ prozessor 20 darstellt, wird deutlich, daß das Schleifen­ schieberegister 116 nur einen negativen Ladeimpuls während des Zeitintervalls eines MCC-Impulses empfangen kann, (indem man annimmt, daß die anderen Eingänge für das NAND- Gatter 192 zu diesem Zeitpunkt beide positiv sind). Wie bei den UND-Gattern 174 und 176 wird wieder der Eingang für das NAND-Gatter 192 vom Ausgang des NAND-Gatters 158 nur hoch liegen, wenn entweder ein Lesebefehl (BEX-2) oder ein Schreibbefehl (OUT-2) zur Ausführung durch den zugehörigen Kommunikationsprozessor geholt worden ist. Daher muß der Kommunikationsprozessor entweder eine Leseoperation oder eine Schreiboperation ausführen, damit am Ausgang des NAND-Gatters 192 ein negativer Impuls auftritt. Ob somit ein Ladeimpuls dem Schleifenschieberegister 116 zugeführt wird, hängt von dem Q-Ausgang des Flip-Flops 184 ab. Weiter wird es nur notwendig sein, den Q-Ausgang des Flip-Flops 184 zu prüfen, wenn ein positiv gehender Impuls an seinem Löschanschluß vom Ausgang des UND-Gatters 186 im Zeitpunkt t₅ angelegt wird.
In dieser Situation ist die steuernde Variable der Signalpegel, der dem Datenanschluß des Flip-Flops 184 zugeführt wird. Dieses Merkmal wird von der Wahrheitstabelle gemäß Fig. 13 erläutert. Dieser Signalpegel hängt seinerseits von dem Q-Ausgang des Flip-Flops 182 ab. Wie oben beschrieben, wird der Q-Ausgang des Flip-Flops 182 negativ sein, wenn ein Vergleich zwischen dem in dem Schieberegister 166 gespeicherten Informationsbyte keine Entsprechung mit dem aus der Kommunikationsschleife 100 über den BUS IN-Anschluß 118 empfangenen Informationsbyte ergibt. Wenn jedoch eine Entsprechung 5 festgestellt wird, dann wird der Q-Ausgang des Flip-Flops 182 ein Signal von positivem Pegel sein. Somit wird der Q-Ausgang des Flip-Flops 184 zur Zeit t₅ positiv sein, wenn das in dem Schieberegister 166 gespeicherte In­ formationsbyte dem aus der Kommunikationsschleife 100 empfangenen Informationsbyte entspricht (gemäß Modifizierung durch das Flip-Flop 180). Wenn der Inhalt des Schieberegisters 166 nicht der von der Kommunikationsschleife 100 erhaltenen Information entspricht, dann wird der Q-Ausgang des Flip-Flops 184 niedrig sein und ein Ladeimpuls für das Schleifen­ schieberegister 116 wird nicht geliefert.
Für alle anderen Operationen als die Lese- oder Schreiboperation, die durch den zugehörigen Kommunikationsprozessor 20 ausgelöst werden, wird der Ausgang des UND-Gatters 186 ein negativ gehender Impuls sein. Daher wird unabhängig von dem durch die Exklusiv-ODER-Schaltung, bestehend aus den UND-Gattern 174, 176 und dem NOR-Gatter 178, ausgeführten Vergleich der Q-Ausgang des Flip-Flops 184 für diese anderen Operationen stets negativ sein und von dem Schleifen­ schieberegister 116 wird kein Ladeimpuls aufgenommen. Daher kann das Schleifenschieberegister 116 nur parallel mit dem Inhalt des Schieberegisters 164 im Zeitpunkt t₅ geladen werden, wenn entweder eine Lese- oder eine Schreiboperation durch den zugehörigen Kommunikationsprozessor 20 spezifiziert wurde und wenn bei einem Vergleich eine Entsprechung sich ergeben hat. Die Bedeutung dieses Merkmales wird in der weiteren Beschreibung noch besonders hervortreten.
Für den Augenblick jedoch genügt es zu verstehen, daß der Inhalt des Schieberegisters 163 nur in das Schleifen­ schieberegister 116 geladen werden kann, wenn entweder eine Leseoperation oder eine Schreiboperation durch den zugehörigen Kommunikationsprozessor 20 ausgelöst wird. Es wird jetzt im einzelnen auf das Schieberegister 164 eingegangen. Wie bereits erwähnt, wird das Schieberegister 164 seriell vom Ausgang des zugehörigen Kommunikationsprozessors 20 über den DATA OUT-Anschluß 82 des Kommunikationsprozessors seriell geladen. Um sicherzustellen, daß die aus dem DATA OUT- Anschluß 82 des Prozessors 20 empfangenen Informationssignale auch in das Schieberegister 164 in Synchronisation mit dem Takt des zugehörigen Kommunikationsprozessors 20 geladen wurden, werden die am CLOCK OUT-Anschluß 53 des zugehörigen Kommunikationsprozessors 20 auftretenden Taktimpulse als die Taktimpulse für das Schieberegister 164 über einen Inverter 194 herangeführt. Somit laden die gleichen Taktimpulse, die die Informationssignale auf den DATA OUT-Anschluß 82 des zugehörigen Kommunikationsprozessors 20 geben, seriell das Schieberegister 164.
Die Signale zum Löschen des Inhalts des Schieberegisters 164 ergeben sich vom Ausgang eines NAND-Gatters 196 mit drei Eingängen. Ein Eingang für das NAND-Gatter 196 ist mit dem Q-Ausgang des Flip-Flops 184 verbunden, während der andere Eingang des NAND-Gatters 196 mit dem Ausgang des Inverters 150 verbunden ist. Der dritte Eingang zum NAND- Gatter 196 kommt vom Ausgang des Inverters 170, der die Quelle für die MCC-Impulse für den zugehörigen Kommunikations­ prozessor 20 darstellt. Da der Ausgang des Inverters 150 nur hoch ist, wenn eine BEX-2-Operation von dem Dekoder 152 dekodiert wird, wird deutlich, daß der Ausgang des NAND-Gatters 196 nur einen Löschimpuls für das Schieberegister 164 liefern kann, wenn eine BEX-2-Operation durch den zugehörigen Kommunikationsprozessor 20 ausgelöst wurde. Wie bereits erwähnt wurde, muß für die anderen Operationen als BEX-2 oder OUT-2, die ebenfalls in dem zugehörigen Kommunikationsprozessor 20 verwirklicht sind, der Q-Ausgang des Flip-Flops 184 einen niedrigen Signalpegel haben, damit der Ausgang des NAND-Gatters 196 positiv werden kann. Darüber hinaus kann der Löschimpuls für das Schieberegister 164 nur nur Zeit t₅ auftreten, die mit dem Auftreten eines MCC-Impulses am Ausgang des Inverters 170 zusammenfällt. Daher ist der Q-Ausgang des Flip-Flops 184 die steuernde Variable bei der Bestimmung, ob ein Löschimpuls für das Schieberegister 164 vom Ausgang des NAND-Gatters 196 geliefert werden soll.
Man erinnere sich, daß vor Auslösen einer BEX-2-Operation für den zugehörigen Kommunikationsprozessor 20, was als Reaktion auf einen Aufruf aus einem Gerät 10 oder einem Prozessor 12 geschieht, der Kommunikationsprozessor 20 eine Operation ausführte, die seriell in das Schieberegister 164 mit der Prozessoradresse geladen wurde. Diese Information wurde dem Schieberegister 164 über den DATA OUT- Anschluß 82 des zugehörigen Kommunikationsprozessors 20 zugeleitet. Bei der Erzeugung des LAST PULSE durch den Kommunikationsprozessor 20 für diese Operation wird die nächste, in das Informationsregister 99 des Kommunikations­ prozessors 20 geholte und geladene Befehl der BEX-2-Befehl sein. Aufgrund des LAST PULSE jedoch muß der Kommunikations­ prozessor die Ankunft eines MCC-Impulses aus dem Zugriff 202 abwarten, ehe der BEX-2-Befehl durch den Kommunikationsprozessor 20 ausgeführt werden kann. Andererseits zeigen unabhängig vom Auftreten des LAST PULSE die Steuersignale A, B, N 9, N 10, die dem Dekoder 152 zugeführt werden, an, daß der Kommunikationsprozessor 20 auf eine BEX-2-Operation vorbereitet ist. Bei Auftreten des nächstnachfolgenden MCC- Impulses wird der Ausgang des UND-Gatters 186 ein positiv gehender Impuls sein, und zwar aufgrund des Ausgangs des Inverters 162. Da der Löschimpuls für das Flip-Flop 184 ein positiv gehendes Signal ist, hängt jetzt der Q-Ausgang des Flip-Flops 184 vom Signalpegel an seinem Datenanschluß ab. Die Wichtigkeit der Taktsignale für die Flip-Flops 182 und 184 wird jetzt deutlich. Selbst wenn der dem Datenanschluß des Flip-Flops 182 zugeführte Signalpegel sich von einem niedrigen Wert auf einen hohen Wert verändert hat, bei Erzeugung des LAST PULSES durch den Kommunikationsprozessor 20, wird der Ausgang des Flip-Flops 182 den niedrigen Signalpegel repräsentieren, so lange bis ein Taktimpuls empfangen wird. Aber da jedoch das Flip-Flop 182 einen Taktimpuls nicht eher empfangen wird, als das Flip-Flop 184 ein Taktimpuls empfangen hat, werden die Ausgänge des Flip-Flops 184 den Zustand des Flip-Flops 182 während des vorhergehenden MCC- Taktes anzeigen. Im vorliegenden Fall wird der Q-Ausgang des Flip-Flops 182 stets niedrig sein, unabhängig vom Ergebnis des Vergleiches, der von den UND-Gattern 174 und 176 sowie dem NOR-Gatter 178 ausgeführt wird und sich auf den Inhalt des Schieberegisters 166 und die aus der Kommunikationsschleife 100 gezogene Information bezieht. Wenn sich eine Entsprechung bei dem Vergleich ergibt, dann würde der Q- Ausgang des Flip-Flops 182, das durch den vorletzten MCC- Impuls gesetzt worden war, dem negativen Signalpegel am Datenanschluß des Flip-Flops 182 vom Ausgang des NOR-Gatters 158 folgen. Wenn andererseits beim Vergleich sich keine Entsprechung erzielen läßt, dann würde ein niedriger Impuls dem Löschanschluß des Flip-Flops 182 zugeführt sein, welches seinerseits den Q-Ausgang des Flip-Flops 182 auf ein niedriges Niveau herabgedrückt hätte, unabhängig vom Signalpegel am Datenanschluß des Flip-Flops 182. Daher wird der Q-Ausgang des Flip-Flops 182 unmittelbar vor Auftreten eines MCC- Impulses, der eine BEX-2-Operation für den zugehörigen Kommunikationsprozessor 20 auslöst, stets niedrig sein. Bei Auftreten eines MCC-Impulses in dem Zeitpunkt t₅ wird der Ausgang des UND-Gatters 186 ein positiv gehender Impuls sein. Daher wird der Q-Ausgang des Flip-Flops 184 dem niedrigen Signalpegel folgen, der vom Q-Ausgang dem Flip-Flop 182 zugeleitet wird. Im Ergebnis bleibt der Ausgang des NAND-Gatters 196 hoch und kein Löschimpuls wird dem Schieberegister 164 zugeführt. Somit bleibt der Inhalt des Schieberegisters 164 unverändert, bis ein Löschimpuls als Folge einer beim Vergleich festgestellten Entsprechung geliefert werden kann.
Damit jedoch ein neuer Vergleich ausgeführt werden kann, muß das Schieberegister 166 wieder parallel mit dem Inhalt des Schieberegisters 164 geladen werden, dessen Inhalt unverändert geblieben war. Als Ergebnis wird im Zeitpunkt t₅ der Ausgang des NAND-Gatters 172 abfallen und dadurch ein Ladesignal für das Schieberegister 166 ergeben. Bei Laden des Schieberegisters 166 und Lieferung der Taktimpulse an das Flip-Flop 180, die UND-Gatter 174 und 176 und das Schieberegister 166, wird der Vergleich erneut auf Entsprechung versucht. Dieses Verfahren wiederholt sich, bis endlich eine Entsprechung erreicht ist, oder eine Unterbrechung ausgeübt wird.
Bei Feststellung einer Entsprechung nach einem Vergleich für eine BEX-2-Operation müssen die Taktimpulse erneut zu dem zugehörigen Kommunikationsprozessor 20 fließen können. Wenn somit kein Löschimpuls von dem Flip-Flop 182 empfangen wird, der anzeigen würde, daß eine Entsprechung vorliegt, dann würde das Auftreten des nächsten MCC-Impulses im Zeitpunkt t₅ den -Ausgang des Flip-Flops 184 nach unten gehen lassen. Dieser niedrige Signalpegel wird als ein Eingang in ein NOR-Gatter 198 mit zwei Eingängen eingegeben. Der andere Eingang für das NOR-Gatter 198 dient zur Erzeugung eines Unterbrechungssignals, das die Taktsperre für den zugehörigen Kommunikationsprozessor 20 wegnehmen würde. Dieses Merkmal wurde bereits oben erläutert. In der bevorzugten Ausführungsform wird als Unterbrechungssignal ein positiver Signalpegel angenommen. Der Ausgang des NOR-Gatters 198 wird als ein Eingang einem UND-Gatter 200 zugeführt, das zwei Eingänge besitzt. Der andere Eingang für das UND-Gatter 200 kommt von dem Q-Ausgang des monostabilen Multivibrators 138, der die Quelle für die Taktimpulse für den zugehörigen Kommunikationsprozessor 20 ist. Der Ausgang des UND-Gatters 200 und der Ausgang des UND-Gatters 160 dienen als Eingänge für ein ODER-Gatter 202. Es ist der Ausgang des ODER-Gatters 202, der mit dem CLOCK IN-Anschluß 48 des zugehörigen Kommunikationsprozessors 20 verbunden ist.
Wenn somit der -Ausgang des Flip-Flops 184 ein niedriges Niveau einnimmt, und dadurch anzeigt, daß eine Entsprechung sich beim Vergleich ergeben hat, dann geht der Ausgang des NOR-Gatters 198 hoch. Dadurch wird das UND-Gatter 200 instandgesetzt, Taktimpulse vom Q-Ausgang des monostabilen Multivibrators 138 dem zugehörigen Kommunikationsprozessor 20 zuzuführen. Bei Empfang von Taktimpulsen wird der zugehörige Kommunikationsprozessor 20 den Befehl ausführen, der von seinem Befehlsregister 99 angegeben wird. Wenn der Befehl eine BEX-2-Operation verlangte, dann würden die In­ formationssignale aus der Kommunikationsschleife 100 über UND-Gatter 148 und NOR-Gatter 144 dem DATA IN-Anschluß 80 des zugehörigen Kommunikationsprozessors 20 zugeführt. Andererseits werden, wenn der Befehl eine OUT-2-Operation verlangte, Datensignale aus dem DATA OUT-Anschluß 82 in die Kommunikationsschleife 100 über das Schleifenschieberegister 116 eingegeben.
Zur Ausführung der Eingabe von Datensignalen aus dem Gerät 10 oder Prozessor 12 über den zugehörigen Kommunikationsprozessor 20 in die Kommunikationsschleife 100 wird ein Flip-Flop 204 verwendet. Das Flip-Flop 204, in Fig. 15 dargestellt, ist ähnlich aufgebaut, wie das Flip-Flop 124 mit der Ausnahme, daß eine voreingestellte Funktion noch mit enthalten ist. Die Wahrheitstafel für das Flip-Flop 204 zeigt Fig. 16. Der Datenanschluß des Flip-Flops 204 ist mit dem DATA OUT-Anschluß 82 des zugehörigen Kommunikationsprozessors 20 verbunden, während der Taktanschluß des Flip-Flops 204 mit dem CLOCK OUT-Anschluß 53 des zugehörigen Kommunikationsprozessors 20 verbunden ist. Voreingestellte Signale für das Flip-Flop 204 werden vom Ausgang des NAND-Gatters 168 geliefert. Der Q-Ausgang des Flip-Flops 204 dient als ein Eingang für ein UND-Gatter 206 mit zwei Eingängen. Der andere Eingang für das UND-Gatter 206 kommt vom Q-Ausgang des Flip-Flops 184. Der Ausgang des UND-Gatters 206 wird als zweiter Eingang dem NOR-Gatter 190 zugeführt, das bereits oben erwähnt wurde.
Wenn der zugehörige Kommunikationsprozessor 20 anfängt, Taktimpulse aus dem Zugriffstor 102 zu empfangen, dann werden CLOCK OUT-Impulse von dem zugehörigen Kommunikations­ prozessor dem Taktanschluß des Flip-Flops 204 zugeleitet. Der MCC-Impuls im Zeitpunkt t₅, der die Taktsperre für den zugehörigen Kommunikationsprozessor 20 entfernte, wird ferner der Q-Ausgang des Flip-Flops 204 auf einen hohen Pegel voreinstellen. Danach wird der Q-Ausgang des Flip-Flops 204, nach Empfang der positiven Flanke eines CLOCK OUT- Impulses vom zugehörigen Kommunikationsprozessor dem Signalpegel an seinem Datenanschluß folgen. Dieser Ausgang wird durch das UND-Gatter 206 und NOR-Gatter 190 dem seriellen Eingabeanschluß des Schleifenschieberegisters 116 zugeführt. Man beachte, daß die Ausführung einer OUT-2-Operation das UND-Gatter 188 daran gehindert wird, Informationssignale aus der Kommunikationsschleife 100 dem seriellen Eingabeanschluß des Schleifenschieberegisters 116 zuzuleiten, wenn einmal eine Entsprechung bei einem Vergleich festgestellt wurde. Statt dessen wird das UND-Gatter 206 aktiviert, wenn eine Entsprechung bei einem Vergleich festgestellt wurde.
Bei Abschluß der OUT-2-Operation wird ein LAST PULSE intern von dem zugehörigen Kommunikationsprozessor 20 erzeugt, und der nächste auszuführende Befehl wird aus dem Speicher 24 des zugehörigen Prozessors 20 geholt und in das Befehlsregister 99 geladen. Wenn dieser neue Befehl weder ein BEX-2- Befehl noch ein OUT-2-Befehl ist, dann wirkt das Zugriffstor nur als Quelle von Taktimpulsen und MCC-Impulsen für den zugehörigen Kommunikationsprozessor 20 sowie als Puffer (in der Form des Schieberegisters 164) für Datensignale, die am DATA OUT-Anschluß 82 des zugehörigen Kommunikationsprozessors 20 stehen. Der zugehörige Kommunikationsprozessor 20 wird mit dem Holen und Ausführen von Befehlen fortfahren, bis entweder ein weiterer BEX-2-Befehl oder ein weiterer OUT-2- Befehl geholt worden ist. Bei dessen Auftreten wird dann das Zugriffstor 102 den geeigneten Betrieb wie oben erläutert aufnehmen.
Was nun noch zu beschreiben ist, betrifft den Ausgangsabschnitt 114 des Zugriffstores 102. Wie bereits kurz erörtert, muß der Ausgangsabschnitt 114 die Zeitgabe mit der Information kombinieren, so daß das Form der Informationssignale, die zurück in die Kommunikationsschleife 100 gegeben werden, nicht geändert wird, abgesehen von der Verzögerung, die durch das Schleifenschieberegister 116 und die Logik des Zugriffstores 102 eingeführt wurde. Außerdem ist in der bevorzugten Ausführungsform das Zugriffstor 102 so ausgelegt, daß es für den Fall, daß ein Kommunikationsprozessor 20 nicht an dem Zugriffstor 102 vorhanden ist, als ein Regenerierverstärker (repeater) arbeitet. Bei diesem Regenerier-Betrieb werden die aus der Kommunikationsschleife 100 empfangenen Signale neu geformt und verstärkt.
Um gemäß bevorzugter Ausführungsform der Erfindung den erwähnten Regenerierbetrieb ausführen zu können, wird der serielle Ausgang des Schleifenschieberegisters 116 als ein Eingang einem UND-Gatter 208 mit zwei Eingängen zugeführt. Der andere Eingang für das UND-Gatter 208 kommt von einer Regenerier-Steuerung 210, die gewöhnlich eine positive Konstant­ spannungsquelle ist. Die Regenerierfunktion wird dadurch zu­ wege gebracht, daß der BUS IN-Anschluß 118 mit einem Eingang eines UND-Gatters 212 verbunden wird. Der andere Eingang des UND-Gatters 212 kommt von der Regeneriersteuerung 210 über einen Inverter 214. Beide Ausgänge der UND-Gatter 208 und 212 sind als Eingänge an ein NOR-Gatter 216 mit zwei Eingängen gelegt, dessen Ausgang mit dem Datenanschluß eines Flip-Flops 218 verbunden ist. Flip-Flop 218 ist genauso aufgebaut wie das Flip-Flop 124, das Fig. 8 zeigt. Die Taktsignale für das Flip-Flop 218 werden von dem -Ausgang des monostabilen Multivibrators 136 geliefert. Der Q-Ausgang des Flip-Flops 218 ist mit einem Eingang eines NAND-Gatters 222 mit zwei Eingängen verbunden. Der zweite Eingang für das NAND-Gatter 220 wie auch für das NAND-Gatter 222 kommt von dem Q-Ausgang des monostabilien Multivibrators 140. Der Ausgang des NAND-Gatters 222 ist mit dem Voreinstellanschluß eines Flip-Flops 224 verbunden, während der Ausgang des NAND-Gatters 220 mit dem Löschanschluß des Flip-Flops 224 verbunden ist. Mit dem Taktanschluß des Flip-Flops 224 ist gemäß Fig. 17 der -Ausgang eines monostabilen Multivibrators 136 verbunden. Der -Ausgang des Flip-Flops 224 ist mit einem BUS OUT- Anschluß 226 verbunden. Die Wahrheitstafel für das Flip- Flop 224 zeigt Fig. 18. Der BUS IN-Anschluß 118 und der BUS OUT-Anschluß 226 sind die beiden seriellen Verbindungen für das Zugriffstor 102 mit der Kommunikationsschleife 100. Wenn das Zugriffstor 205 sich nicht im Regenerier-Modus befindet, dann verhindert die Vorspannung durch den Inverter 214, daß das UND-Gatter Informationssignale aus der Kommuni­ kationsschleife 100 direkt auf dem BUS OUT 226 weiterleitet. Wenn das Zugriffstor in einem Regenerier-Modus steht, dann führt an dem Schleifenschieberegister 116 ein Neben­ schluß vorbei, so daß die mit dem Schleifenschieberegister verbundene Verzögerung vermieden wird. Wie nun deutlich ist, muß die Regenerier-Steuerung 210 eine Quelle negativer Spannung bilden, wenn das Zugriffstor sich im Regenerier-Modus befinden soll. Wenn jedoch das Zugriffstor sich nicht im Regenerier-Modus befindet, dann werden die von der Kommunikations­ schleife 100 aufgenommenen Informationssignale durch das Schleifenschieberegister 116 hindurchgeführt und von dem UND-Gatter 208 und dem NOR-Gatter 216 dem Datenanschluß des Flip-Flops 218 zugeführt.
Die Funktion des Flip-Flops 218 besteht darin, eine Ver­ zögerung von einem Takt oder einer Bitperiode zu schaffen.
Wie man sieht, kommt diese Verzögerung nur dann ins Spiel, wenn Signale von dem Schleifenschieberegister 116 über UND-Gatter 208 und NOR-Gatter 216 empfangen werden. Die von der Kommunikationsschleife 100 aufgenommenen Informationssignale, die an dem Schleifenschieberegister 116 vorbeilaufen, werden nur um etwa 3/4 einer Taktperiode verzögert. Diese Verzögerung um 3/4 einer Taktperiode ist das Ergebnis davon, daß der -Ausgang des monostabilen Multivibrators 136 als Taktsignal für das Flip-Flop 118 verwendet wird. Diese beiden Verzögerungen dienen unterschiedlichen Zwecken. Wenn das Zugriffstor sich in dem Regenerier-Modus befindet, dann gibt die Verzögerung von 3/4 einer Taktperiode dem Zugriffstor genügend Zeit zur Neuformung und Verstärkung der Informationssignale aus der Kommunikationsschleife 100. Wenn das Zugriffstor sich nicht in dem Regenerier-Modus befindet, dann ist eine Verzögerung um eine Taktperiode notwendig, um sicherzustellen, daß ein Signalpegel-Sprung am Ende jeder Taktperiode auftritt, mit Ausnahme während der Identifikation des Informationssignaltyps.
Die Funktion dieser beiden Verzögerungen kann noch deutlicher aus einer sorgfältigen Analyse der verschiedenen Kurvenzüge gemäß Fig. 6 entnommen werden. Kurvenzug A erläutert eine typische Folge von Informationssignalen und ihre Identifi­ kationsteile. Man bemerke, daß die bevorzugte Ausführungsform der Erfindung ein Steuerbyte von einem Datenbyte gefolgt wird, während jedes Informationsbyte eine Länge von 10 Taktperioden hat (zwei zur Identifikation und Art für die Information als solche). Man bemerke weiter, daß am Ende jeder Taktperiode ein Signalpegelsprung stattfindet, mit Ausnahme an der ersten Taktperiode des Bytes. Es kann innerhalb des Intervalls der ersten Taktperiode des Bytes ein Signalsprung auftreten, jedoch nicht am Ende der ersten Taktperiode des Bytes. Aus diesen Informationssignalen gemäß Kurvenzug A erzeugen die UND-Gatter 128, 130 und das NOR-Gatter 132 sowie das Flip- Flop 124 den Impulszug gemäß Kurvenform B. Man bemerke, daß das Auftreten eines Impulses im Kurvenzug B mit dem Auftreten eines Signalpegelübergangs im Kurvenzug A zu­ sammenfällt. Aus den Impulsen des Impulszuges B schaffen das UND-Gatter 134 und der monostabile Multivibrator 136 den Impulszug C. Man bemerke, daß dann, wenn das Zugriffstor mit den Informationssignalen in der Kommunikationsschleife 100 synchronisiert ist, der monostabile Multivibrator 136 die Impulse des Impulszuges B eliminieren wird, die mit den Signalpegelübergängen koinzidieren, welche innerhalb einer Taktperiode auftreten. Man bemerke weiter, daß ein Byte von Impulsen gemäß Kurvenform C, das mit einem Datenbyte gemäß Impulszug A korrespondiert, identisch mit dem Byte aus Impuls gemäß Impulszug C ist, das einem Steuerbyte gemäß Kurvenzug A entspricht. Außerdem bemerke man, daß ein In­ formationsbyte jetzt von einer Reihe von neun gleich weit auseinanderstehenden Impulsen repräsentiert wird. Aus dieser Reihe von neun Impulsen des Impulszuges C schafft der monostabile Multivibrator 138 einen Impulszug gemäß Kurvenform D. Diese Impulse D werden als Taktimpulse einem zugehörigen Kommunikationsprozessor zugeleitet. Das Inverse oder Komplement des Impulszuges D zeigt Impulszug E. Man bemerke, daß jedes Byte aus Impulsen jetzt eine Reihe von neun gleichförmigen rechteckförmigen Impulsen ist, wobei jede Reihe von einem Zeitintervall von ungefähr 1 1/2 Taktperiodendauer ab­ gesetzt ist. Aus dem Impulszug E schafft der monostabile Multivibrator 140 den Impulszug F. Aus dem Impulszug D schafft in ähnlicher Weise der monostabile Multivibrator 142 einen Impulszug G. Man bemerke, daß der Impulszug F gleiche Form hat wie Impulszug G. Der Unterschied zwischen den beiden Impulszügen besteht nur in einer Phasenbeziehung. In der bevorzugten Ausführungsform sollten die beiden Impulszüge sich in der Phase und ungefähr 1 1/2 Taktperioden unterscheiden. Man bemerke weiter, daß jeder dieser beiden Impulszüge aus einer Reihe kürzerer Impulszüge besteht, wobei jeder kurze Impulszug aus einer Reihe von neun gleichen Abstand aufweisenden Impulsen kurzer Dauer besteht.
Aus dem Impulszug G und dem Impulszug F schaffen das NAND- Gatter 168 und der Inverter 170 den Impulszug H. Der Impulszug H besteht aus den MCC-Impulsen für den zugehörigen Kommu­ nikationsprozessor 20. Man bemerke, daß das Auftreten eines Impulses im Impulszug H stets mit einem Impuls aus dem Impulszug A zusammenfällt.
In der bevorzugten Ausführungsform werden die Taktimpulse für das Zugriffstor und den zugehörigen Kommunikationsprozessor von den Signalübergängen abgeleitet, die am Anfang jeder Taktperiode auftreten. Man bemerke jedoch, daß, während die Signalübergänge am Anfang jeder Taktperiode auftreten, eine Bestimmung nicht früher als nach einer halben Taktperiode über den Binärwert des Signals für jene spezielle Taktperiode gemacht werden kann. Dies ist ein Merkmal des Mauchly-Kodes. Somit besteht die Funktion des monostabilen Multivibrators 136 nicht nur darin, die Impulse B zu eliminieren, die aus den Signalübergängen innerhalb der Taktperioden resultieren, sondern auch den vom Zugriffstor erzeugten Takt zu verzögern, so daß er mit dem Auftreten des Teiles der Information auftreten kann, der der wertbestimmende ist. Das Kombinieren dieses verzögerten Taktsignals mit dem binärwert-bestimmenden Teil des Informationssignals wird vom Flip-Flop 180 geleistet. Diese Impulse A werden als Dateneingang dem Flip-Flop 180 zu­ geführt, während die Impulse K als Takt für das Flip-Flop 180 dienen. Der sich ergebende Q-Ausgang des Flip-Flops 180 ergibt sich als Impulszug J.
Aus der nachfolgenden Erörterung ergibt sich, daß das Flip-Flop 180, das Schleifenschieberegister 116 und das Flip-Flop 118 die aus der Kommunikationsschleife empfangenen Informationssignale um ungefähr 10 und 3/4 Taktperioden ver­ zögert. Wie dargestellt, wird das Schleifenschieberegister 116 durch die Vorderflanke von Impulsen getaktet, die seinem Taktanschluß zugeführt werden. Man nehme daher zur Erläuterung an, daß die Vorderflanke eines Steuerbytes, das vom BUS IN-Anschluß 118 angenommen wurde, zur Zeit t₁₄ auftritt. Im Zeitpunkt t₁₅, also wie dargestellt ungefähr 3/4 einer Taktperiode nach der Zeit t₁₄, tritt die Vorder­ flanke des Steuerbytes (modifiziert durch das Flip-Flop 180) am Ausgang des Flip-Flops 180 auf. Diese Verzögerung von 3/4n einer Taktperiode ist die Folge der Verwendung des Ausgangs des monostabilen Multivibrators 136 als Takt für das Flip-Flop 180. Die Vorderflanke des Steuerbytes wird nicht in das Schleifenschieberegister 116 getaktet, ehe nicht die nächste Vorderflanke des Impulses vom Ausgang des monostabilen Multivibrators 136 auftritt. Wie Impulszug C zeigt, tritt die nächste Vorderflanke im Zeitpunkt t₁₆ auf. Man bemerke, daß die Zeitdauer zwischen Zeitpunkt t₁₆ und t₁₅ ungefähr gleich zwei Taktperioden ist. Die Vorder­ flanke des Steuerbytes wird nicht am seriellen Ausgangsanschluß des Schleifenschieberegisters 116 auftreten, ehe sieben zusätzliche Taktimpulse von dem Schleifenschiebe­ register 116 aufgenommen worden sind. Diese Situation tritt nicht vor Zeitpunkt t₁₇ auf, was Kurvenzug C zeigt. Zeit t₁₇ tritt ungefähr 9 und 3/4 Taktperioden nach dem Auftreten der Vorderflanke des Steuerbytes am BUS IN-Anschluß 118 zum Zeitpunkt t₁₄ auf. Im Zeitpunkt t₁₇ wird die Vorderflanke des Steuerbytes ferner dem Datenanschluß des Flip-Flops 218 zugeführt. Gleichzeitig empfängt der Taktanschluß des Flip-Flops 118 einen Taktimpuls zum Zeitpunkt t₁₇. Da in der bevorzugten Ausführungsform der Erfindung das Flip-Flop 218 ein D-Flip-Flop ist, wird der Pegel des seinem Datenanschluß vor Empfang eines Taktimpulses zugeführten Signals den Pegel des Ausgangssignals aus dem Flip-Flop 218 bestimmen. Somit wird die Vorderflanke des Steuerbytes am Ausgang des Flip-Flops 118 erst nach ungefähr 10 und 3/4 Taktperioden nach Zeitpunkt t₁₄ auftreten.
Als Ergebnis der Verwendung des Ausgangs des monostabilen Multivibrators 136 als Takt für das Flip-Flop 180 ergibt sich zusammengefaßt, daß der Ausgang des Flip-Flops 180 ungefähr 3/4 einer Taktperiode außer Phase mit den Signalen an Datenanschluß des Flip-Flops 180 ist. Wenn der -Ausgang des Flip-Flops 180 gemäß Kurvenform I durch das Schleifen­ schieberegister 116 läuft, das in der bevorzugten Ausführungsform 8-Bit-Länge hat, dann wird eine weitere Verzögerung von neun Taktperioden angetroffen. Wenn somit der Ausgang des Flip-Flops 180 schließlich am Datenanschluß des Flip-Flops 218 auftritt, wurde jeder Impuls um ungefähr 9 und 3/4 Taktperioden verzögert. Das Durchlaufen der In­ formationssignale aus dem Schleifenschieberegister durch das Flip-Flop 218 fügt eine weitere Verzögerung von einer Taktperiode hinzu. Der Q-Ausgang des Flip-Flops 218 zeigt Impulszug K.
Wenn jedoch die aus der Kommunikationsschleife 100 empfangenen Signale an dem Schleifenschieberegister 116 vorbeilaufen und den Datenanschluß des Flip-Flops 218 über UND-Gatter 212 erreichen, dann ergibt sich eine Verzögerung von lediglich 3/4 Taktperioden. In diesem Fall arbeitet das Flip-Flop 218 auf die von der Kommunikationsschleife 100 empfangenen Infor­ mationssignale in gleicher Weise wie das Flip-Flop 180. Wenn somit das Zugriffstor 102 sich im Regeneriermodus befindet, dann werden die Informationssignale um ungefähr 3/4 einer Taktperiode verzögert.
Unabhängig davon ob das Zugriffstor 102 in seinem Regeneriermodus befindet, zeigt eine Analyse der Kurve K, daß der Ausgang des Flip-Flops 118 die NRZ-Pegeldarstellung der aus der Kommunikationsschleife 100 empfangenen Informationssignale ist. Um die NRZ-Pegeldarstellung der Informationssignale auf das modifizierte Mauchly-Format erneut umzuformen, werden die NAND-Gatter 220, 222 und das Flip-Flop 224 eingesetzt. Der Ausgang des NAND-Gatters 220, der als Kurvenzug L auftritt, zeigt Signalpegelübergänge innerhalb der Taktperiode zur Darstellung einer binären NULL, während das NAND-Gatter 222 einen Signalübergang innerhalb der Taktperiode zur Dar­ stellung einer binären EINS liefert. Der Ausgang von NAND- Gatter 222 zeigt Kurvenzug M. Flip-Flop 224 stellt sicher, daß ein Signalübergang am Anfang jeder Taktperiode vorhanden ist. Da in der bevorzugten Ausführungsform kein Signal­ übergang am Anfang jeder zweiten Taktperiode in jedem von der Kommunikationsschleife 100 empfangenen Informationsbytes vorhanden ist, muß Flip-Flop 224 auch die Einfügung dieses Übergangs zum geeigneten Zeitpunkt eliminieren, was durch Verwendung des Ausgangs des monostabilen Multivibrators 136 als Takt für das Flip-Flop 224 geschieht, wobei dieser fehlende Übergang dann zur richtigen Zeit auftritt. Der Q-Ausgang des Flip-Flops 224 wird durch Signalzug n in Fig. 6 erläutert für den Fall, daß dieses Zugriffstor sich in seinem Regenerier-Modus befindet. Wenn das Zugriffstor sich nicht im Regenerier-Modus befindet, dann repräsentiert Signalzug o aus Fig. 6 den zeitlichen Verlauf des 1-Ausgangs des Flip-Flops 224.
Da die Funktion des Ausgangsabschnittes 114 des Zugriffstors 102 darin besteht, die Informationssignale der Kom­ munikationsschleife nachzuformen und zu verstärken, wird von dem Ausgangsabschnitt 114 keine Diskriminierung dahin­ gehend ausgeführt, ob die Informationssignale an dem Schleifenschieberegister 116 vorbeiliefen oder durch die Schleife 100 über ein Zugriffstor durch einen zugehörigen Prozessor 20 durchlaufen haben.
Die an dem BUS OUT-Anschluß 226 empfangenen, nachgeformten und verstärkten Informationssignale werden in die Kommunikationsschleife 100 eingegeben und zum nächsten Zugriffstor 102 übertragen, das mit der Kommunikations­ schleife 100 verbunden ist.
Jeder Kommunikationsschleife 100 gemäß Darstellung von Fig. 1 ist eine Schleifensynchronisiereinheit 230 zugeordnet. Die Funktion der Synchronisiereinheit 230 besteht darin, das modifizierte Mauchly-Format der Daten- und Steuerzeichen zur erzeugen und diese Zeichen zu synchronisieren, wenn sie um die Kommunikationsschleife 100 herumlaufen. Ein Funktions­ block der Synchronisiereinheit ist in Fig. 19 dargestellt. Jede Synchronisiereinheit 230 erhält einen Zeitgeber 232. In der bevorzugten Ausführungsform ist der Zeitgeber 232 eine Taktimpulsquelle, von der die Taktimpulse für die Kommunikationsschleife 100 abgeleitet werden. Der Zeitgeber 232 ist so ausgelegt, daß er mehrere unter­ schiedliche Taktimpulse erzeugt, worauf noch eingegangen wird.
Zum Aufbau der Kommunikationsschleife 100 liefert die Syn­ chronisiereinheit 230 einen Zug von abwechselnd Steuerzeichen und Datenzeichen. In der bevorzugten Ausführungsform wird der Informationsteil dieser Zeichen bei der ersten Einrichtung der Schleife zu lauter NULLEN gewählt. Dies ermöglicht es einem Rechner, einem Terminal oder Gerät 10, das an der Kommunikationsschleife sitzt, Information in die Schleife zur Kommunikation einzugeben. In dieser Situation zeigen sämtliche Steuerzeichen an, daß Raum zum Einschreiben von Information in die Kommunikationsschleife vorhanden ist. Um die Kommunikationsschleife in dieser Weise aufzubauen, ist ein N-Bit-Schieberegister 234 vorgesehen. Das Schieberegister 234 hat parallelen Eingang und seriellen Ausgang und kann außerdem seriell geladen werden. Das Schieberegister 234, das in seinem Aufbau dem Schieberegister 166 ähnlich ist, wird vom Ausgang eines Speicherregisters 236 parallel geladen und vom Ausgang eines Dreibit-Schieberegisters 242 seriell geladen.
Der serielle Ausgang des Schieberegisters 234 wird dem Daten­ anschluß eines Flip-Flops 239 zugeführt. Taktimpulse für das Schieberegister 234 (CLOCK I) für das Flip-Flop 238 (CLOCK II) werden von dem Zeitgeber 232 erzeugt. Die CLOCK II- Impulse für das Flip-Flop 238 treten mit gleicher Frequenz und Phase auf wie die CLOCK I-Impulse, die dem Schieberegister 234 zugeführt werden. Voreinstell- und Löschsignale für das Flip-Flop 238 werden ebenfalls von dem Zeitgebersignal aus dem Zeitgeber 232 abgeleitet. Diese Voreinstell- und Lösch­ signale zusammen mit CLOCK I und CLOCK II aus dem Zeitgeber 232 schaffen Signalübergänge, die zur Erzeugung des modifizierten Mauchly-Formats gemäß der Erfindung erforderlich sind. In der bevorzugten Ausführungsform und gemäß Fig. 20 sind die Voreinstell- und Löschsignale so ausgelegt, daß sie in der Mitte jeder Taktperiode der Taktimpulse auftreten, die dem Taktanschluß des Flip-Flops 238 zugeleitet werden.
Der Q-Ausgang des Flip-Flops 238 ist mit einem Eingang eines NAND-Gatters 260 verbunden, das zwei Eingänge besitzt. In ähnlicher Weise ist der -Ausgang des Flip-Flops 238 mit einem Eingang eines NAND-Gatters 262 mit zwei Eingängen verbunden. Der restliche Eingang für beide NAND-Gatter 260 und 262 kommt von Zeitgeber 232. Dieses Zeitgeber- Signal ist in Fig. 19 als P/K angegeben. Die Signalzüge CLOCK I und CLOCK II sowie der Eingang (P/C) für die NAND- Gatter 260 und 262 vom Zeitgeber 232 sind als Signal­ züge A B und C in Fig. 20 angegeben. Der Ausgang des NAND- Gatters 260 wird dem Löschanschluß des Flip-Flops 264 zuge­ führt, während der Ausgang des NAND-Gatters 262 dem Vorein­ stellanschluß des Flip-Flops 264 zugeführt ist. Die Daten­ signale für das Flip-Flop 264 werden auch durch die CLOCK II- Signale des Zeitgebers 232 geliefert. Der -Ausgang des Flip-Flops 264 wird als ein Eingang dem Datenan­ schluß des Flip-Flops 264 zugeführt, während der Q-Ausgang mit der Kommunikationsschleife 100 verbunden ist. Diese Ver­ bindung ist eine der zwei Verbindungen zwischen der Kommunika­ tionsschleife 100 und der Synchronisiereinheit 230.
Um eine Signalübergang ausfallen zu lassen, was nur in dem Identifikationsabschnitt jedes Zeichens auftritt, ist ein Zähler 240 vorgesehen. CLOCK I-Impulse (Signalzug A aus Fig. 20) aus dem Zeitgeber 232, die dem Schiebe­ register 234 zugeführt werden, werden ferner auch dem Zähler 240 zugeleitet. Der Zähler 240 wird seinerseits die Taktimpulse, die er vom Zeitgeber aufnimmt, zählen bis ein Zählerstand von n erreicht ist, wobei n die Anzahl von Bits pro Daten- oder Steuerzeichen ist. Bei Erreichen des erforderlichen Zählstandes, liefert der Zähler ein Signal an den Taktgeber 232, was sämtliche CLOCK II-Impulse wie auch Voreinstell- und Löschimpulse an der Weiter­ leitung des Flip-Flops 238 und 264 während der Zeitintervalle zwischen den Taktimpulsen n+1 und n+2 sperrt, unter Ein­ schluß des Anfangs des Taktimpulses n+1, jedoch ohne Anfang des Taktimpulses n+2. In der bevorzugten Ausführungsform ist n=8.
Um sicherzustellen, daß sich Datenzeichen und Steuerzeichen stets abwechseln, wird der -Ausgang des Flip-Flops 164 auch als Paralleleingang zweien (A und B) von drei Flip- Flops des Schieberegisters 242 zugeführt. Die Taktimpulse für das Dreibit-Schieberegister 242 sind identisch mit jenen (CLOCK I), die dem n-Bit-Schieberegister 234 zugeführt werden. Das Dreibit-Schieberegister 242 wird stets seriell geladen und wenn es aus einer Quelle getaktet wird, die konstant logische NULLEN abgibt. Ladesignale zum Parallelladen des Dreibit-Schieberegisters 242 werden vom Ausgang eines NOR- Gatters 244 mit zwei Eingängen geliefert. Beide Eingänge für das NOR-Gatter 244 werden vom Zähler 240 (Signalfolge D und E aus Fig. 20) geliefert. Wie bereits erörtert, liefert der Zähler 240 ein Signal (Signalzug D), wenn ein Zählstand von n+2 erreicht ist. Ferner liefert der Zähler 240 ein Signal (Signalzug E), wenn ein Zählstand von n erreicht ist. Diese beiden Signale aus dem Zähler 240 werden als Eingänge dem NOR-Gatter 244 zugeführt. In der bevorzugten Ausführungsform ist der Zähler 240 so gehalten, daß diese Signale so erzeugt werden, daß sie zwischen dem Zeitintervall des Auftretens des CLOCK I-Impulses (Signalzug A) aus dem Zeitgeber 232 und dem Auftreten eines Voreinstell- oder Löschimpulses (Signalkurve C) auftreten, welch letztere ebenfalls von dem Zeitgeber 232 erzeugt wird. Somit werden die ersten beiden Flip-Flops (bezeichnet als A und B in Fig. 19) des Dreibit-Schieberegisters 242 parallel geladen, kurz nach dem Auftreten des Taktimpulses n und des Taktimpulses n+2. Der Zähler wird dann bei Erreichen eines Zählstandes n+2 zurück­ gesetzt und die Taktsperren zu den Flip-Flops 238 und 264 werden unwirksam gemacht.
Um den Betrieb und die Beziehung zwischen den verschiedenen soweit beschriebenen Elementen der Synchronisiereinheit 230 zu erläutern, nehme man an, daß an der Synchronisiereinheit 230 gerade Spannung angelegt wurde. Ferner nehme man an, daß das Anlegen von Spannung an die Synchronisiereinheit 230 das n-Bit-Schieberegister 234 und das Dreibit-Schiebere­ gister 242 löscht. Weiter sind die Arbeitsweise des Flip- Flops 238 und des Flip-Flops 264 sowie der NAND-Gatter 260, 262 gleich wie diejenige der Flip-Flops 218, 224 und der NAND- Gatter 220, 222 aus dem Ausgangsabschnitt 114 eines Zugriffs­ tores 102. Daher braucht der Betrieb des Flip-Flops 238, 264 und der NAND-Gatter 260 und 262 nicht noch einmal hier mit­ geteilt zu werden. Wenn somit der erste Taktimpuls an das Schieberegister 234 im Zeitpunkt t₀ gemäß Fig. 20 angelegt wird, dann wird der gleiche Taktimpuls ferner dem Dreibit- Schieberegister 242 zugeführt. Auf diesen ersten Taktimpuls wird eine logische NULL dem Datenanschluß des Flip-Flops 238 zugeführt und das Schieberegister 234 wird seriell mit dem Ausgang des letzten Flip-Flops (Flip-Flop C) des Dreibit-Schieberegisters 242 geladen, das in diesem Fall ebenfalls lauter NULLEN enthält. Da jedoch ein Ladeimpuls von dem Dreibit-Schieberegister 242 erst nach n-Taktimpulsen, abgezählte Stimmzähler 240, erzeugt wird, dann kann der -Ausgang des Flip-Flops 264 nicht parallel in die ersten beiden Flip-Flops des Dreibit-Schieberegisters 242 in diesem Zeitpunkt geladen werden. Statt dessen wird das erste A-Flip- Flop des Dreibit-Schieberegisters 242 seriell mit einer logischen NULL geladen. Identische Aktionen treten auf, bei Erscheinen aufeinanderfolgender Taktimpulse, bis ein Zählstand von n durch den Zähler 240 erreicht ist. Bei Auftreten des Taktimpulses n wird das Flip-Flop 264 entsprechend dem Signalpegel an seinem Datenanschluß gesetzt. Ehe jedoch ein Voreinstell- oder Löschimpuls von dem Flip- Flop 238 empfangen wird, werden die ersten beiden Flip- Flops (A und B) des Dreibit-Schieberegisters 242 in einen logischen Zustand gesetzt, der dem -Ausgang des Flip- Flops 264 entspricht, das durch den Taktimpuls n gerade gesetzt worden ist. In dem oben beschriebenen speziellen Beispiel wird der -Ausgang eine logische EINS sein.
Bei Auftreten des Taktimpulses n+1 sowie bis zum Auftreten des Taktimpulses n+2, diesen ausgeschlossen, sind die Takt­ signale und sämtliche Voreinstell- und Löschsignale für die Flip-Flops 238 und 264 gesperrt. Jedoch sind die Lösch- und Voreinstellsignale für das Flip-Flop 264 nicht gesperrt bis zum Taktimpuls n+1, diesen jedoch ausgeschlossen. Somit werden Signalübergänge, die der ersten Taktperiode des Iden­ tifikationsabschnittes eines Zeichens auftreten können, nicht eliminiert.
Bei Auftreten des Taktimpulses n+1 werden Taktsignale nur dem n-Bit-Schieberegister 234, dem Zähler 240 und dem Dreibit- Schieberegister 242 zugeführt. Bei der oben beschriebenen Si­ tuation wird demzufolge eine weitere logische NULL dem Daten­ anschluß des Flip-Flops 238 zugeführt, es wird weiter eine logische EINS seriell in das n-Schieberegister 234 geladen, und eine logische NULL wird seriell in das erste oder A-Flip- Flop des Dreibit-Schieberegisters 244 geladen. Bei Auftreten des Taktimpulses n+2 wird der Ausgang des Flip-Flops 238 wieder gesetzt entsprechend dem Signalpegel an seinem Daten­ anschluß und ehe ein Voreinstell- oder Löschimpuls vom Flip- Flop 264 empfangen wird, wird der gerade geänderte -Ausgang des Flip-Flops 238 parallel in das erste der beiden Flip- Flops (A und B) des Dreibit-Schieberegisters 242 geladen.
Man entnimmt dem vorstehenden, daß die Funktion des Drei­ bit-Schieberegisters 242 darin besteht, eine Darstellung des Identifikationsabschnittes des zuletzt von der Synchro­ nisiereinheit in die Kommunikationsschleife eingesetzten Zeichens zu speichern. Dieses Merkmal erkennt man aus einer Betrachtung des Inhalts des Dreibit-Schieberegisters kurz nach Auslösen der Taktimpulse n, n+1 und n+2. Der Inhalt des Dreibit-Schieberegisters ist für diese Zeitpunkte (in A, B, C-Reihenfolge): , , 0; 0, , ; und , , . Durch Verwenden des -Ausgangs des Flip-Flops 238 wird jede Zeichen­ identifikation, die durch den Inhalt der letzten beiden Flip-Flops dargestellt wird, später durch den Taktimpuls n+2 komplementiert. Dies stellt sicher, daß stets ein Zug aus abwechselnd Datenzeichen und Steuerzeichen auftritt.
In bezug auf das Problem des Umlaufens der Zeichen, wenn sie einmal die der Synchronisiereinheit zugeordnete Kommu­ nikationsschleife durchlaufen haben, werden jetzt die restlichen Elemente und Funktionen der Synchronisiereinheit erläutert. Die Signale aus der Kommunikationsschleife dienen als ein Eingang für einen Informations- und Takttrenner 246. Diese Verbindung mit der Kommunikationsschleife bildet die andere körperliche Schnittstelle zwischen der Kommunikations­ schleife 100 und der Synchronisiereinheit 230.
Der Informations- und Takttrenner 246 der Synchronisier­ einheit 230 ist in Struktur und Aufbau identisch mit dem Eingangsabschnitt 106 eines Zugriffstores 102. Getrennte Infor­ mationssignale werden als serieller Eingang einem n-Bit-Puffer 248 zugeführt. Der n-Bit-Puffer 248 besitzt seriellen Ein­ gang und parallelen Ausgang. Diese separierten Informationsbits werden durch separierte Taktimpulse eingetaktet, die ebenfalls durch den Informations- und Takttrenner 246 geliefert werden. Ein Zeichendetektor 250 dient zur Synchroni­ sierung des Zeichens. Die Funktion des Zeichendetektors besteht darin, daß er bestimmt, wenn ein Zeichen beginnt und endet und die Art des Zeichens ermittelt. Zur Ausführung dieser Funktion vergleicht der Zeichendetektor 250 das Zeit­ intervall zwischen Taktimpulsen, die vom Informations- und Takttrenner 246 geliefert werden. Bei Feststellen eines fehlenden Taktimpulses zeigt er an, daß die nächsten folgenden n-Taktimpulse Informationssignalen zugeordnet sind und nicht Identifikationssignalen. Außerdem vergleicht der Zeichendetektor 250 den Signalpegel der Informationssignale, die dem fehlenden Taktimpuls gerade vorhergehen und den Signalpegel des Informationssignals, das kurz nach Auftreten des ersten Taktimpulses unmittelbar nach dem fehlenden Taktimpuls auftritt. Durch Vergleich dieser beiden Signalpegel wird bestimmt, ob die folgenden acht Informationsbits Daten oder Steuerzeichen sind. Ein Flip-Flop 252 dient zum Festhalten des Ergebnisses dieser Bestimmung. Da die Erzeugung von Daten- und Steuerzeichen durch die Kombination der Flip-Flops 238, 264, des Dreibit-Schieberegisters 242, des n-Bit-Schieberegisters 234 und des Zählers 240 unabhängig von Zeichen aus der Kommu­ nikationsschleife durch den Informations- und Taktseparator 246 ist, sind Maßnahmen dafür getroffen worden, um sicherzustellen, daß der Q-Ausgang des Flip-Flops 238 ein gleich­ mäßiger ununterbrochener Strom von abwechselnd Daten und Steuerzeichen ist. Diese Maßnahmen sind teilweise zu sehen in 2-n-Speicherregistern 254 und 236, von denen das erstere bereits früher erwähnt wurde. Die n-Bit-Speicherregister 254 und 236 haben parallelen Eingang und parallelen Ausgang. Das Speicherregister 254 wird mit dem Ausgang des n-Bit-Schiebe­ registers 248 parallel geladen, während das n-Bit-Speicherregister 236 mit dem Ausgang des n-Bit-Speicherregisters 254 parallel geladen wird. Um Ladesignale für die n-Bit- Speicherregister 254 und 236 zu liefern, werden die Ausgänge des Zeichendetektors 250 verwendet. Der Zeichendetektor liefert ein erstes Signal, wenn ein Steuerzeichen festge­ stellt wird und ein zweites Signal, wenn ein Datenzeichen festgestellt wird. Diese beiden Signale setzen das Flip- Flop 252, wie bereits erwähnt. Außerdem werden diese beiden Signale logisch durch ein NOR-Gatter 256 verknüpft, dessen Ausgang als Quelle für die Ladeimpulse für das n-Bit-Schiebe­ register 254 und 236 benutzt wird. Somit wird bei Setzen des Flip-Flops 252 das n-Bit-Speicherregister 254 mit dem Inhalt des n-Bit-Puffers 248 parallel geladen und das n-Bit-Speicherregister 236 wird mit dem Inhalt des n-Bit- Speicherregisters 254 parallel geladen.
Um das n-Bit-Schieberegister 234 mit dem Inhalt des n-Bit- Speicherregisters 236 parallel zu laden, muß eine Bestimmung dahingehend gemacht werden, daß die in dem Speicherregister 236 gespeicherten n-Informationsbits von richtiger Art (z. B. Daten oder Steuerzeichen) sind. Man nehme beispielsweise an, daß die beiden letzten in der Kommunikationsschleife vor­ handenen Signale Identifikationssignale sind, die ein Daten­ zeichen bezeichnen. Man nehme jedoch an, daß der Inhalt des n-Bit-Speicherregisters 236 einem Steuerzeichen zugeordnet ist. Es wäre daher unrichtig, diesen beiden Daten bezeichnenden Signalen n-Bits von Steuersignalen folgen zu lassen. Um sicherzustellen, daß eine solche Situation nicht auftritt, wird der Ladeimpuls für das n-Bit-Schieberegister 234 nur dann ge­ liefert, wenn eine Feststellung dahingehend getroffen worden ist, daß der letzte Indentifikationsabschnitt des in die Kommu­ nikationsschleife eingesetzten Signals mit den Informations­ signalen korrespondiert, die in dem Speicherregister 236 gespeichert wird. Wenn keine Korrespondenz vorliegt, wird das Schieberegister 234 gelöscht. Um die Situation aus­ zuführen, wird der -Ausgang des Flip-Flops 264 als ein Eingang einem NAND-Gatter 258 mit drei Eingängen zugeführt. Als zweiter Eingang für das NAND-Gatter 258 dient der Aus­ gang des Zählers 240, der ein Steuersignal liefert, nachdem er n+2 Taktimpulse gezählt wird. Dies ist das gleiche Signal, das den Zähler 240 auf NULL zurückgesetzt. Der dritte Eingang für das NAND-Gatter 248 kommt vom Ausgang des Flip-Flops 252, das anzeigt, ob die in dem n-Bit-Speicherregister 236 gespeicherten Informationssignale Daten- oder Steuerzeichen sind. Der Ausgang des NAND-Gatters 258 ist mit dem Lade­ anschluß des n-Bit-Schieberegisters 234 verbunden.
Bei dieser soweit beschriebenen Anordnung wird ein negativer Ladeimpuls dem n-Bit-Schieberegister nur zugeführt, wenn die in dem Speicherregister 236 gespeicherten Signale von der Art sind, die dem zuletzt in die Kommunikations­ schleife eingesetzten Identifikationssignal entspricht. Man bemerke weiter, daß die Takte zum Einsetzen von Information in die Kommunikationsschleife vollkommen un­ abhängig von den Takten sind, die von den Informations­ signalen abgeleitet werden, die aus der Kommunikations­ schleife empfangen werden. Daher kann die Synchronisiereinheit unabhängig von irgendwelcher Zeitverzögerung arbeiten, die sich bei Zeichen eingestellt haben könnte, wenn sie um die Kommunikationsschleife herum zirkuliert werden.
Weiter wird aus Fig. 1 deutlich, daß die Takte für jede Kommunikationsschleife unabhängig voneinander sind. Somit kann ein asynchrones System erreicht werden.
Insgesamt wurde eine Zugriffseinrichtung für Daten­ leitungen beschrieben, die zur Verbindung einer Gruppe heterogener Rechner, schubweise arbeitender Endgeräte und dauernd im Wechselverkehr arbeitender Endgeräte benutzt werden kann, wobei serielle Übertragung in einem Ring oder einer Schleife benutzt wird. Jeder Rechner oder jedes End­ gerät ist mit dem Kommunikationsnetzwerk über einen Kommuni­ kationsprozessor verbunden. Der Kommunikationsprozessor ist verantwortlich für das Protokoll und die Aktivitäten des Netzwerkes wie auch für die Schnittstellen zwischen den Geräten und dem Netzwerk. Die Zugriffseinrichtung stellt die einzige Verbindung mit dem Ring oder der Schleife dar, und leitet den Takt für den Kommunikationsprozessor wie auch für das Gerät selbst aus den übertragenen Daten ab. Sämtliche Information in dem Kommunikationsnetzwerk wird in einem modifizierten Mauchly-Format übertragen und tritt als Datenzeichen von n-Bit oder Steuerzeichen von n-Bit auf. Ein Steuerzeichen, das einem Datenzeichen stets vorhergeht, wird entweder die Adresse eines Zugriffstores oder eine NULL sein. Um Information aus dem Netzwerk auszulesen, muß die Zugriffseinrichtung ein Steuerzeichen feststellen, das seine Adresse enthält. Um Information in das Netzwerk einzufügen, muß die Zugriffseinrichtung ein Steuerzeichen feststellen, das NULLEN enthält. Die Kommunikation zwischen den verschiedenen Schleifen findet stets über diese Zugriffseinrichtung statt.
Wahrheits-Tafel für Dekodierer 152
Bei / können beliebige Bitkombinationen stehen, außer denjenigen, die in den beiden darüber ange­ gebenen Zeilen verzeichnet sind.

Claims (4)

1. Anordnung zur Übertragung von Daten zwischen mehreren Informationsverarbeitungseinheiten, die innerhalb derselben oder in verschiedenen Kommunika­ tionsschleifen eines Netzwerkes angeordnet sind;
mit in den Kommunikationsschleifen angeordneten Knotenpunkteinheiten zur Weiterbildung von in der Kommunikationsschleife umlaufenden Informations­ blöcken an die Informationsverarbeitungseinheiten oder von diesen in die Kommunikationsschleife sowie zur Weiterleitung von Informationsblöcken von einer Kommunikationsschleife an eine andere;
mit einer Synchronisiereinheit zum Erzeugen von Informationsschlitzen mit ungewidmeten Informations­ blöcken, die in der jeweiligen Kommunikations­ schleife umlaufen;
bei der in den Knotenpunkteinheiten ein Vergleich der Adresse der ihm zugeordneten Informationsver­ arbeitungseinheit mit in den umlaufenden Informa­ tionsblöcken enthaltenen Adressen erfolgt und bei Übereinstimmung eine Durchschaltung zwecks Eingabe oder Ausgabe stattfindet,
wobei bei der Ausgabe von Informationsblöcken von der Kommunikationsschleife der vorher belegte Infor­ mationsschlitz wieder freigegeben und bei einer Ein­ gabe von Informationsblöcken auf die Kommunikations­ schleife vorher eine Belegung eines freien Informa­ tionsschlitzes erfolgt,
dadurch gekennzeichnet, daß an jede Knotenpunkt­ einheit (102) ein programmierbarer Kommunikations­ prozessor (20) angeschlossen ist, der mit einer Informationsverarbeitungseinheit (10, 12) der gleichen Kommunikationsschleife (100) oder mit einem programmierbaren Kommunikationsprozessor (20) einer Knotenpunkteinheit (102) einer anderen Kommu­ nikationsschleife (100) in Verbindung steht, und daß der programmierbare Kommunikationsprozessor (20) jeder Knotenpunkteinheit (102) einen freien Informa­ tionsschlitz zum Einführen von Informationsblöcken zusammen mit den, den Informationsverarbeitungsein­ heiten (10, 12) zugeordneten Adressen auswählt und alle sonstigen Schreib- und Lesevorgänge in den so ausgewählten Informationsschlitzen vornimmt.
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die ungewidmeten Informationsblöcke als bitserielle Informations­ schlitze zur Aufnahme von Daten- und Steuersignalen erzeugt, organisiert und bitseriell auf die Kommuni­ kationsschleifen (100) übertragen werden, daß bei Eingabe von Datensignalen oder Steuerbefehlen an einer der Informationsverarbeitungseinheiten (10, 12) der erste verfügbare, ungewidmete Informationen tragende Informationsschlitz mit der Information und einer Zieladresse belegt wird, und daß auf Be­ fehl der die Information empfangenen Informations­ verarbeitungseinheit (10, 12) der betreffenden Infor­ mationsschlitz nach Abgabe der Information ent­ widmet wird.
3. Anordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die ungewidmeten Infor­ mationen führenden Informationsschlitze entweder Datensignale oder Steuerbefehle führen, daß kontinu­ ierlich wenigstens ein Datensignale führender Infor­ mationsschlitz mit einem Steuerbefehle führenden Informationsschlitz in Reihe gebracht wird, daß die Knotenpunkteinheit (102) aus den bitseriellen, in der Kommunikationsschleife (100) umlaufenden Infor­ mationsschlitzen Taktsignale ableitet, daß bei Ent­ nahme einer Information aus einer Kommunikations­ schleife (100) für eine Informationsverarbeitungs­ einheit (10, 12) eine der Informationsverarbeitungs­ einheit (10, 12) zugeordnete Adresse in ein Schlei­ fenschieberegister (116) der Knotenpunkteinheit (102) geladen wird, daß bei Übereinstimmung des in der Kommunikationsschleife (100) umlaufenden Steuer­ zeichens eines Steuerbefehle führenden Informations­ schlitzes mit der in das Schleifenschieberegister (116) geladenen Adresse die dem Steuerzeichen folgenden Datenzeichen zu der Informationsver­ arbeitungseinheit (10, 12) unter Verwendung der abgeleiteten Taktimpulse getaktet werden und daß zur Eingabe von Informationen in eine Kommuni­ kationsschleife (100) eine spezielle, vorbestimmbare Kodierung in das Schleifenschieberegister (116) der Knotenpunkteinheit (102) geladen wird und bei Gleichheit der Bits des in der Kommunikations­ schleife (100) umlaufenden Steuerzeichens mit der speziellen Kodierung eine Informationseingabe in die betreffende Kommunikationsschleife (100) er­ folgen kann.
4. Anordnung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Knotenpunkteinheit (102) eine Schaltungslogik enthält, die die Knoten­ punkteinheit (102) auf Regenerierbetrag um­ schaltet, wenn Informationen nur innerhalb einer Kommunikationsschleife (100) umlaufen.
DE19762623806 1975-05-29 1976-05-28 Zugriffseinrichtung fuer datenuebertragungen Granted DE2623806A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US58193975A 1975-05-29 1975-05-29

Publications (2)

Publication Number Publication Date
DE2623806A1 DE2623806A1 (de) 1976-12-09
DE2623806C2 true DE2623806C2 (de) 1990-08-23

Family

ID=24327190

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19762623806 Granted DE2623806A1 (de) 1975-05-29 1976-05-28 Zugriffseinrichtung fuer datenuebertragungen

Country Status (4)

Country Link
JP (1) JPS5931905B2 (de)
DE (1) DE2623806A1 (de)
FR (1) FR2325106A1 (de)
GB (4) GB1545616A (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2817121C2 (de) * 1978-04-19 1985-10-10 Siemens AG, 1000 Berlin und 8000 München Gefahrenmeldeanlage
GB2077468B (en) * 1980-06-04 1984-10-24 Hitachi Ltd Multi-computer system with plural serial bus loops
GB2207326A (en) * 1987-07-22 1989-01-25 Gec Avionics Ring-shaped local area network
DE3744508A1 (de) * 1987-12-30 1989-07-13 Lawrenz Wolfhard Simulator fuer ein datennetzwerksystem

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3544976A (en) * 1968-07-02 1970-12-01 Collins Radio Co Digitalized communication system with computation and control capabilities employing transmission line loop for data transmission
US3731002A (en) * 1970-10-08 1973-05-01 Bell Telephone Labor Inc Interconnected loop data block transmission system
US3878514A (en) * 1972-11-20 1975-04-15 Burroughs Corp LSI programmable processor

Also Published As

Publication number Publication date
GB1545616A (en) 1979-05-10
JPS5931905B2 (ja) 1984-08-04
GB1545615A (en) 1979-05-10
DE2623806A1 (de) 1976-12-09
JPS51149734A (en) 1976-12-22
GB1545613A (en) 1979-05-10
GB1545614A (en) 1979-05-10
FR2325106A1 (fr) 1977-04-15

Similar Documents

Publication Publication Date Title
DE1449532B2 (de) Datenverarbeitungsanlage
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2457553A1 (de) Asynchroner taktgeber
DE1524225B2 (de) Verfahren zum betriebe einer redigier- und wiedergabeeinrichtung
DE2230987C2 (de)
DE2635592A1 (de) Multiprozessor-abrufsystem
DE2847934A1 (de) Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher
DE2451008A1 (de) Datenuebertragungseinrichtung fuer digitale rechenanlagen
DE3110196A1 (de) Datenverarbeitungssystem
DE3121540A1 (de) "vorrichtung zur signaluebertragung zwischen zwei datenverarbeitungsstationen"
DE2248296A1 (de) Programmsteuereinrichtung
DE1474062B2 (de) Datenverarbeitungsanlage mit einer anzahl von pufferspeichern
DE1499190C3 (de) Elektronische Datenverarbeitungsanlage
DE2758151A1 (de) Einrichtung zum sortieren von datensaetzen
DE1499206B2 (de) Rechenanlage
DE1271191B (de) Einrichtung zur UEbertragung von Informationseinheiten in die Binaerstellen eines Umlaufspeichers
DE60015720T2 (de) Verfahren und Anordnung zum Arbitrieren des Zugriffes eines Zeitmutiplex-verteilten Speichers von mehreren Prozessoren in einem Echtzeitsystem
DE2752996A1 (de) Digitale multiplexiervorrichtung fuer plesiochrone bitfolgen
DE2623806C2 (de)
DE3729732C2 (de)
DE2537360A1 (de) Elektronische datenverarbeitungsanlage
DE1119567B (de) Geraet zur Speicherung von Informationen
DE2154488A1 (de) Datenübertragungs-Unterkanal einer Datenverarbeitungsanlage
DE2639057C2 (de) Programmierbare Folgesteuereinrichtung
DE1212748B (de) Datenverarbeitende Maschine mit Programmunterbrechung

Legal Events

Date Code Title Description
8128 New person/name/address of the agent

Representative=s name: EISENFUEHR, G., DIPL.-ING. SPEISER, D., DIPL.-ING.

8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee