DE2629401C2 - - Google Patents

Info

Publication number
DE2629401C2
DE2629401C2 DE2629401A DE2629401A DE2629401C2 DE 2629401 C2 DE2629401 C2 DE 2629401C2 DE 2629401 A DE2629401 A DE 2629401A DE 2629401 A DE2629401 A DE 2629401A DE 2629401 C2 DE2629401 C2 DE 2629401C2
Authority
DE
Germany
Prior art keywords
signal
unit
bus
memory
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2629401A
Other languages
English (en)
Other versions
DE2629401A1 (de
Inventor
Frank V. Weston Mass. Us Cassarino Jr.
George J. Twecksbury Mass. Us Barlow
George J. Sudbury Mass. Us Bekampis
John W. Waltham Mass. Us Conway
Richard A. Bolton Mass. Us Lemay
David B. Tyngsboro Mass. Us O'keefe
Douglas L. Westford Mass. Us Riikonen
William E. Natick Mass. Us Woods
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.)
Bull HN Information Systems Inc
Original Assignee
Honeywell Bull Inc
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
Priority claimed from US05/591,902 external-priority patent/US4030075A/en
Priority claimed from US05/591,904 external-priority patent/US4000485A/en
Priority claimed from US05/591,964 external-priority patent/US3993981A/en
Application filed by Honeywell Bull Inc filed Critical Honeywell Bull Inc
Publication of DE2629401A1 publication Critical patent/DE2629401A1/de
Application granted granted Critical
Publication of DE2629401C2 publication Critical patent/DE2629401C2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/378Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a parallel poll method

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Computer And Data Communications (AREA)

Description

Prioritätsgesteuerte Schaltungsanordnung für die Einheiten einer Datenverarbeitungsanlage, mit deren Hilfe eine Mastereinheit mit einer Slaveeinheit eine Datenübertragung durchführt.
Die vorliegende Erfindung betrifft eine prioritätsgesteuerte Schaltungsanordnung für die Einheiten oder Einrichtungen einer Datenverarbeitungsanlage, wie beispielsweise Speicher, Zentraleinheit oder Prozessor, Rechenwerk, Steuerwerke für angeschlossene Peripheriegeräte u. ä., zum selektiven Zugriff auf einen Datenbus, an den die genannten Einheiten oder Einrichtungen angeschlossen sind zum Zwecke der wahlweisen Übertragung von Daten, wie beispielsweise Operanden, Adressen, Befehle, Zustandswerte u. ä., zwischen den einzelnen Einheiten oder Einrichtungen, insbesondere zwischen einer beliebigen Mastereinheit und einer Slave- oder Tochtereinheit zwecks Aufnahme eines Datenübertragungsbetriebs. Dabei sind die einzelnen Einheiten oder Einrichtungen über einen Prioritätsbus in einer vorgegebenen Prioritätshierarchie verbunden. Wenn eine beliebige Mastereinheit mit einer beliebigen Slaveeinheit einen Datenübertragungsbetrieb aufnehmen will, sendet die Mastereinheit nach Gewährung des Zugriffs zum Datenbus über diesen die Zieladresse der Slaveeinheit aus, woraufhin die angerufene Slaveeinheit nach dem Erkennen ihrer Zieladresse der rufenden Mastereinheit ein Rückmeldesignal zusendet.
In Datenverarbeitungssystemen der geschilderten Art muß zur Gewährleistung eines reibungslos verlaufenden Datenübertragungsbetriebs ein Ordnungssystem vorgesehen sein, das allerdings immer komplizierter und in seinem Ablauf immer sophistischer wird, je mehr verschiedenartige Einheiten oder Einrichtungen in dem System über den Datenbus miteinander verkoppelt sind.
Es sind bereits verschiedene Verfahren und Anordnungen zur Verbindung eines derartigen Systems bekannt. Derartige bekannte Systeme reichen von Systemen mit gemeinsamen Datenbusleitungswegen zu Systemen mit speziellen Wegen zwischen den verschiedenen Einrichtungen. Derartige Systeme können außerdem für einen Synchronbetrieb oder für einen Asynchronbetrieb in Kombination mit dem Busleitungstyp ausgelegt sein. Einige dieser Systeme, bei denen die Art und Weise keine Rolle spielt, in der die betreffenden Einrichtungen angeschlossen oder betrieben sind, erfordern die Datenprozessorsteuerung für jegliche Datenübertragung über die Busleitung, obwohl beispielsweise die Übertragung zwischen den Einrichtungen anders als über den Datenprozessor erfolgen kann. Darüber hinaus enthalten derartige Systeme normalerweise verschiedene Paritätsprüfanordnungen, Prioritätsschemen und Unterbrechungsstrukturen. Ein derartiges Strukturschema ist in der US-PS 38 66 181 angegeben; ein weiteres Strukturschema ist in der US-PS 36 76 860 angegeben. Ein eine gemeinsame Busleitung verwendendes Datenverarbeitungssystem ist in der US-PS 38 15 099 angegeben. Die Art und Weise, in der die Adressierung in derartigen Systemen bewirkt wird, sowie die Art und Weise, in der beispielsweise eine der Einrichtungen die Datenübertragungen steuern kann, hängt von der Realisierung des Systems ab, d. h. davon, ob eine gemeinsame Busleitung vorhanden ist, ob der Betrieb der Busleitung synchron oder asynchron erfolgt, etc.. Das Systemverhalten und die Durchsatzfähigkeit hängen in starkem Ausmaß von diesen verschiedenen Strukturen ab.
Aus der Druckschrift "pdp 11, Peripherals and Interfacting Handbook, Digital Equipment Corp. 1971, Seiten 175 bis 191" ist ebenfalls schon ein DV-System bekannt, bei dem die Prioritätssteuerung für die Gewährung des Zugriffs zum Datenbus in der Hauptsache vom zentralen Prozessor aus gesteuert wird, und zwar mittels einer Prioritätszufall-Logik, welche die Bus-Anforderungsleitungen gegen die im Prozessorstatusregister durch mehrere Bits festgelegte Priorität abprüft, woraufhin die Prioritätslogik Zugriff auf eine Leitung gewährt. Diese Art der Zugriffssteuerung unterscheidet zur Anwendung kommenden, eine vorgegebene Prioritätshierarchie aufweisenden Zugriffssteuerung.
In einem Artikel in den Proceedings der "Fall Joint Computer Conference, 1972, AFIPS Press, Seiten 719 bis 725" ist eine dezentralisierte Bussteuerung mit unabhängigen Anforderungen offenbart mit Busanforderungsleitungen, die bestimmten Prioritäten zugeordnet sind. Alle rufenden Einheiten prüfen alle aktiven Busanforderungen. Die Einheit mit höchster Priorität gewinnt den Zugriff auf den Bus. Daraufhin erniedrigen alle anderen rufenden Einheiten ihre Busanforderungen und speichern die Priorität der Einheit, die den Buszugriff erhalten hat. Die mit dieser Zugriffstechnik verbundenen Probleme bestehen in der Einhaltung der Zeittaktfolge und in einer außerordentlichen Rauschempfindlichkeit (vgl. S. 725 oben).
In dem von der Patentsucherin stammenden US-Patent 38 32 692 ist ein Mehrleitungs-Prioritätsnetzwerk beschrieben, bei dem die Prioritätsstufe durch die Anschlußstellen der Einheiten in diesem Netzwerk bestimmt wird. Ein Datenübertragungsbetrieb zwischen Master- und Slaveeinheiten ist in diesem Patent nicht offenbart.
Der Erfindung liegt die Aufgabe zugrunde, eine prioritätsgesteuerte Schaltungsanordnung für die Einheiten einer Datenverarbeitungsanlage mit verbesserten Eigenschaften, z. B. im Hinblick auf schnellere Ansprechzeiten, höheren Datendurchsatz, vereinfachte Adressierung, Sicherheit in der Zeittaktabfolge, Rauschunempfindlichkeit, zu schaffen, die den Datenübertragungsbetrieb zwischen Master- und Slaveeinheiten einfacher und sicherer gestalten bei der Betriebsabwicklung über einen gemeinsamen Datenbus, an denen die einzelnen Einheiten angeschlossen sind.
Nach der Erfindung ist die prioritätsgesteuerte Schaltungsanordnung für die Einheiten einer Datenverarbeitungsanlage der eingangs erwähnten Gattung zum selektiven Zugriff auf einen Datenbus hauptsächlich durch drei Schaltkreise gekennzeichnet, nämlich
  • (A) einen Bereitschaftsschaltkreis, der in zumindest einzelnen der genannten Einheiten oder Einrichtungen vorgesehen ist und als Antwort auf eine rufende Mastereinheit je nach Zustandslage der jeweils betroffenen Einheit über den genannten Datenbus folgende Signale zu übertragen in der Lage ist:
    • (a) ein Bereitschaftssignal zur Signalisierung, daß die antwortende Einheit für eine Kommunikation mit der Mastereinheit bereit ist, oder
    • (b) ein Verweigerungssignal zur Signalisierung, daß die antwortende Einheit für eine Kommunikation mit der Mastereinheit nicht bereit ist, oder
    • (c) ein Besetztsignal zur Signalisierung, daß die antwortende Einheit für eine Kommunikation mit der Mastereinheit momentan nicht verfügbar ist;
  • (B) einen Anforderungsschaltkreis, der - wenn es sich um eine rufende Mastereinheit handelt - durch ein Benutzeranforderungssignal während bestimmter Zeitabschnitte aktivierbar ist, der durch das genannte Rückmeldesignal der gerufenen Slaveeinheit deaktivierbar ist und der in seinem aktivierten Zustand die Busanforderungssignalleitung mit seinem Busanforderungssignal beaufschlagt; und
  • (C) einen mit dem Anforderungsschaltkreis und dem Prioritätsbus in Wirkungsverbindung stehenden Zuteilungsschaltkreis, der dann aktivierbar ist, wenn zum einen der Anforderungsschaltkreis aktiviert und zum anderen die entsprechenden Anforderungsschaltkreise der in der Prioritätshierarchie höherwertigen Einheiten oder Einrichtungen nicht aktiviert sind, der durch die Signale der gerufenen Slaveeinheit deaktivierbar ist und der in seinem aktivierten Zustand durch das ausgesendete Zuteilungssignal den Taktzyklus für die Gewährung des Zugriffs zum Datenbus einleitet.
Anhand von Zeichnungen wird die Erfindung nachstehend beispielsweise näher erläutert. Es zeigen:
Fig. 1 in einem Blockdiagramm ein die vorliegende Erfindung verkörperndes Datenverarbeitungssystem;
Fig. 2 bis Fig. 6 verschiedene Daten- und Informationsformate, wie sie über die gemeinsame Datenbusleitung des DV-Systems übertragen werden;
Fig. 7 ein Zeitdiagramm der Operationsabfolge auf dem Datenbus;
Fig. 8 die Prioritätsnetzwerkschaltung des DV-Systems;
Fig. 9 die Datenbusschnittstelle für ein Peripheriegeräte-Steuerwerk;
Fig. 11 die Datenbusschnittstelle für einen Prozessor als Zentraleinheit des DV-Systems;
Fig. 12 in einem Blockdiagramm eine Schaltungsanordnung zur Sicherstellung der Integrität der Datenübertragung mit Redundanzprüfung auf Daten- und Adreßleitungen;
Fig. 13 ein für die vorliegende Erfindung vorteilhaftes Adressierungsverfahren.
Die Datenverarbeitungs-Busleitung des vorliegenden Systems stellt einen Nachrichtenübertragungsweg zwischen zwei Einheiten in dem System dar. Die betreffende Busleitung ist eine für einen asynchronen Betrieb ausgelegte Busleitung, die den Anschluß von Einheiten mit verschiedenen Geschwindigkeiten ermöglicht, um in demselben System effektiv zu arbeiten. Die Auslegung der betreffenden Busleitung des vorliegenden Systems ermöglicht Nachrichtenübertragungen vorzunehmen, einschließlich Speicher-Transfers, Unterbrechungs-, Daten-, Status- und Befehlsübertragungen. Die Gesamtkonfiguration eines typischen Systems ist in Fig. 1 gezeigt.
Die Busleitung ermöglicht irgendwelchen zwei Einheiten zu einer vorgegebenen Zeit über einen gemeinsam ausnutzbaren (shared) Signalweg miteinander Nachrichtensignale auszutauschen. Jede Einheit, die eine Nachrichtenverbindung herzustellen wünscht, fordert einen Busleitungszyklus bzw. kurz Buszyklus an. Wenn der betreffende Buszyklus gewährt wird, wird die betreffende Einheit zu einer Master-Einheit; sie kann irgendeine andere Einheit in dem System als Slaveeinheit bzw. Tochtereinheit adressieren. Die meisten Übertragungen bzw. Transfers erfolgen in Richtung von der Haupteinheit zu der Tochtereinheit hin. Einige Arten des Busleitungs-Austausches erfordern einen Antwortzyklus (Lesespeicher zum Beispiel). In den Fällen, in denen ein Antwortzyklus gefordert ist, übernimmt die anfordernde Stelle die Rolle der Mastereinheit, wodurch angezeigt wird, daß eine Antwort benötigt wird. Außerdem identifiziert die betreffende Mastereinheit selbst die Tochtereinheit. Wenn die benötigte Information verfügbar wird (in Abhängigkeit von der Antwortzeit der Tochtereinheit) übernimmt nunmehr die Tochtereinheit die Rolle der Mastereinheit und löst eine Übertragung an die anfordernde Einheit aus. Dies beendet den Austausch, der in diesem Fall zwei Buszyklen beansprucht hat. Die Zwischenzeit auf der Busleitung zwischen diesen beiden Zyklen kann für den anderen Systemverkehr benutzt werden, der nicht diese beiden Einheiten betrifft.
Eine Mastereinheit kann irgendeine andere Einheit auf der Busleitung als Tochtereinheit adressieren. Dies geschieht dadurch, daß die Tochtereinheit-Adresse auf den Adressenleitungen abgegeben wird. Dabei können z. B. 24 Adressenleitungen vorgesehen sein, die in Abhängigkeit vom Zustand einer begleitenden Steuerleitung, dem sogenannten Speicherbezugssignal (BSMREF-), eine von zwei Darstellungen enthalten können. Wenn das Speicherbezugssignal eine binäre 0 ist, wird das Format gemäß Fig. 2 an die Adressenleitungen abgegeben, wobei die dreiundzwanzigste Leitung das Bit niedrigster Wertigkeit führt. Es sei darauf hingewiesen, daß die im Rahmen dieser Anmeldung benutzten Ausdrücke "binäre 0" und "binäre 1" dazu benutzt werden, niedrige und hohe Zustände von elektrischen Signalen anzugeben. Wenn das Speicherbezugssignal eine binäre 1 ist, wird das Format für 24 Bits abgegeben, wie dies in Fig. 3 gezeigt ist. Wenn der Speicher adressiert wird, ermöglicht die Busleitung im wesentlichen bis zu 2²⁴ Bytes direkt in dem Speicher zu adressieren. Wenn Einheiten eine Steuerinformation, Daten- oder Unterbrechungssignale abgeben, nehmen sie eine gegenseitige Adressierung durch die Kanalnummer vor. Die Kanalnummer läßt eine Adressierung von bis zu 2¹⁰ Kanälen durch die Busleitung zu. Zusammen mit der Kanalnummer wird ein 6-Bit-Funktionscode abgegeben, der spezifiziert, welche der 2⁶ möglichen Funktionen die betreffende Übertragung betrifft.
Wenn eine Mastereinheit einen Antwortzyklus von der Tochtereinheit her benötigt, zeigt sie dies der Tochtereinheit durch einen 1-Zustand (Lesebefehl) einer Steuerleitung an, der mit BSWRITE- bezeichnet ist (der andere Zustand der betreffenden Leitung erfordert keine Antwort, d. h., daß ein Schreibbefehl vorliegt). Darüber hinaus kann die Haupt- bzw. Mastereinheit ihre eigene Identität bzw. Kennung an die Tochtereinheit mittels einer bereitgestellten Kanalnummer melden. Die zu übertragenden Daten sind im Unterschied zu den Busadressen entsprechend dem aus Fig. 4 ersichtlichen Format codiert, um die Identität der Mastereinheit anzugeben, wenn eine Antwort von der Tochtereinheit benötigt wird. Der Antwortzyklus wird der anfordernden Einrichtung durch eine Nicht-Speicherbezugsübertragung zugewiesen; die Steuersignale, dargestellt als zweiter Teil des Buszyklus (BSSHBC-), werden veranlaßt anzuzeigen, daß dies der erwartete Zyklus ist (im Gegensatz zu einer unverlangten Übertragung von einer anderen Einheit).
Das sich über die Einheiten erstreckende Verbindungs-Unterbrechungs- Netzwerk sorgt für die Zuteilung von Buszyklen und zur Lösung von gleichzeitigen Anforderungen bezüglich der Benutzung der Busleitung. Die Priorität wird dabei auf der Grundlage der physikalischen Lage an der Busleitung zugeteilt; die höchste Priorität wird der ersten Einheit an der Busleitung gegeben. Die zur Ausführung der Verbindungs-Unterbrechungs-Funktion dienende Verknüpfungsschaltung ist in Fig. 8 gezeigt; sie streckt sich in gleicher Weise auf sämtliche Einheiten, die an der Busleitung angeschlossen sind. In einem typischen System wird dem Speicher die höchste Priorität und der Zentraleinheit bzw. dem Zentralprozessor die niedrigste Priorität zugeteilt; die übrigen Einheiten sind auf der Grundlage ihrer Leistungsanforderungen entsprechend positioniert.
Gemäß Fig. 1 enthält ein typisches System der vorliegenden Erfindung eine mehrere Leitungen umfassenden Datenbus 200, der mit den Speichern 1-202 bis N-204 verbunden ist. Derartige Speicher besitzen die höchste Priorität. Außerdem ist die Busleitung mit der Zentraleinheit 206 verbunden, die die niedrigste Priorität besitzt. Ferner können an der Busleitung beispielsweise ein Rechenwerk 208 und verschiedene Steuerwerke 210, 212 und 214 angeschlossen sein. Das Steuerwerk 210 kann so geschaltet sein, daß es beispielsweise vier periphere Einheitsdatensatz-Einrichtungen 216 steuert. Das Steuerwerk 212 kann dazu herangezogen werden, eine Nachrichtenverbindungssteuerung über Modemeinrichtungen zu bewirken. Demgegenüber kann das Steuerwerk 214 dazu herangezogen werden, Massenspeicher zu steuern, wie eine periphere Bandeinrichtung 218 oder eine periphere Magnetplatteneinrichtung 220. Wie zuvor erläutert, kann irgendeine der mit der Busleitung 200 gekoppelten Einrichtungen einen Speicher oder eine andere an der Busleitung angeschlossene Einheit adressieren. Die periphere Bandeinrichtung 218 kann den Speicher 200 über das Steuerwerk 214 adressieren. Wie nachstehend noch erläutert werden wird, enthält jede der direkt an der Busleitung angeschlossenen Einheiten eine Verbindungs-Unterbrechungs- Logik, wie sie in Fig. 8 gezeigt und im Zusammenhang mit Fig. 8 erläutert wird. Außerdem enthält jede derartige Einheit eine Adressenlogik, die in Verbindung mit Fig. 9 bezüglich einer typischen Grundeinrichtungs-Steuerwerkadressenlogik, im Zusammenhang mit Fig. 10 bezüglich einer typischen Speicheradressenlogik und im Zusammenhang mit Fig. 11 bezüglich einer typischen Zentraleinheits-Adressenlogik erläutert werden wird. Einheiten, die nicht unmittelbar mit der Busleitung verbunden sind, wie die Einheiten 216, 218 und 220, besitzen ebenfalls eine Verbindungs-Unterbrechungs-Logik.
Jedem Anschlußpunkt von Verarbeitungseinheiten ist in einem bestimmten System eine Kanalnummer zugeteilt, mit Ausnahme der Speichereinheiten; diese werden mit Hilfe der Speicheradresse identifiziert bzw. gekennzeichnet. Einrichtungen für einen vollständigen Duplexbetrieb sowie Einrichtungen für einen Halbduplexbetrieb benutzen zwei Kanalnummern. Einrichtungen, die lediglich Eingabe- oder Ausgabe- Einrichtungen sind, benutzen jeweils lediglich eine Kanalnummer. Die Kanalnummern sind ohne weiteres veränderbar. Demgemäß können ein oder mehrere Hexadezimal-Drehschalter (Daumenradschalter) für jede derartige Einheit verwendet werden, die an der Busleitung angeschlossen ist, um die Adresse der betreffenden Einheit anzuzeigen oder einzustellen. Wenn ein System so ausgestattet ist, kann somit die Kanalnummer für die an der Busleitung angeschlossene bestimmte Einheit in geeigneter Weise für das bestimmte System festgelegt werden. Einheiten mit einer Mehrzahl von Eingangs/Ausgangs-(I/O)-Anschlüssen erfordern im allgemeinen einen Block von aufeinanderfolgenden Kanalnummern. So kann z. B. eine vier Eingänge aufweisende Einheit Drehschalter verwenden, um die oberen sieben Bits einer Kanalnummer festzulegen; die drei Bits niedriger Wertigkeit der betreffenden Kanalnummer können zur Festlegung der Anschlußnummer herangezogen werden, um die Eingangsanschlüsse von den Ausgangsanschlüssen zu unterscheiden. Die Kanalnummer der Tochtereinheit tritt auf der Adressenbusleitung für sämtliche Nicht-Speicher-Übertragungen auf, wie dies in Fig. 3 veranschaulicht ist. Jede Einheit vergleicht die Nummer mit ihrer eigenen, intern (z. B. mittels der Drehschalter) gespeicherten Nummer. Diejenige Einheit, die eine Übereinstimmung feststellt, ist per Definition die Tochtereinheit, die auf den betreffenden Zyklus ansprechen muß. Im allgemeinen wird nicht zwei Anschlußpunkten in einem einzigen System dieselbe Kanalnummer zugeteilt. Wie in Fig. 3 gezeigt, kann eine bestimmte Busleitungs- oder Eingabe/Ausgabe-Funktion ausgeführt werden, wie dies durch die Bits 18 bis 23 der Busadressenleitungen für Nicht-Speicherübertragungen angegeben ist. Die Funktionscodes können in Abhängigkeit davon, ob sie gerad- oder ungeradzahlig sind, Ausgabe- oder Eingabeoperationen festlegen. Sämtliche ungeradzahligen Funktionscodes legen Ausgangsübertragungen (Schreiben) fest, während sämtliche geradzahligen Funktionscodes Eingabeübertragungsanforderungen (Lesen) festlegen. Die Zentraleinheit überprüft das Bit 23 niedrigster Wertigkeit des 6-Bit-Funktionscodefeldes auf einen Eingabe/Ausgabe-Befehl und benutzt eine Busleitung zur Bestimmung der Richtung.
Es gibt verschiedene Ausgabe- und Eingabefunktionen. Eine der Ausgabefunktionen ist ein Befehl, durch den eine Datenmenge, beispielsweise 16 Bits, von der Busleitung in den Kanal geladen wird, um die Daten in Abhängigkeit von deren komponentenspezifischer Bedeutung entweder abzuspeichern oder auszusenden, zu übertragen, etc. Eine weitere derartige Ausgabefunktion ist ein Befehl, durch den z. B. eine Datenmenge von 24-Bits in das Kanaladressenregister (nicht gezeigt) geladen wird. Die Adresse ist eine Speicherbyteadresse und bezieht sich auf die Anfangsspeicherstelle in dem Speicher, an der der Kanal die Dateneingabe oder Datenausgabe beginnen läßt. Verschiedene andere Ausgabefunktionen enthalten einen Ausgabebereichsbefehl, der die Größe des Speicherpuffers bezeichnet, der dem Kanal für eine bestimmte Übertragung zugeteilt ist, einen Ausgabesteuerbefehl, der durch seine individuellen Bits bestimmte Antworten bewirkt, Ausgabe-Task-Funktionen, wie Druckbefehle, Ausgabe-Konfigurationen, wobei es sich um Befehlsfunktionen handelt, wie Terminalgeschwindigkeit, Kartenlesebetrieb, etc., und eine Ausgabe-Unterbrechungssteuerung, bei der es sich um einen Befehl handelt, der z. B. ein 16-Bit-Wort in den Kanal mit dem in Fig. 5 gezeigten Format lädt. Die ersten 10 Bits geben die Zentraleinheits-Kanalnummer an, und die Bits 10 bis 15 geben die Unterbrechungsebene an. Auf eine Unterbrechung hin wird die Zentraleinheits-Kanalnummer auf der Adressenbusleitung zurückgeführt, während die Unterbrechungsebene auf der Datenbusleitung zurückgeführt wird.
Die Eingabefunktionen umfassen den Ausgabefunktionen ähnliche Funktionen; eine Ausnahme besteht in diesem Fall jedoch insofern, als die Eingabedaten von der Einrichtung zu der Busleitung übertragen werden. Die Eingabefunktionen umfassen Dateneingabe-, Eingabeadressen- und Eingabebereichsbefehle sowie Task-Konfigurations- und Unterbrechungsbefehle. Darüber hinaus gibt es den Einrichtungsidentifizierungsbefehl, wodurch der Kanal seine Einrichtungsidentifizierungsnummer auf der Busleitung abgibt. Außerdem gibt es zwei Eingabebefehle, durch die ein Statuswort 1 oder ein Statuswort 2 von dem Kanal an die Busleitung abgegeben wird, wie dies im folgenden erläutert werden wird.
Die Anzeige von dem Statuswort 1 her kann z. B. eine Anzeige darüber umfassen, ob die bestimmte Einrichtung in Betrieb ist, ob sie bereit ist, eine Information von der Busleitung aufzunehmen, ob ein Fehlerstatus vorliegt oder ein Bereitschaftszustand gegeben ist. Das Statuswort 2 kann z. B. eine Anzeige enthalten über die Parität, eine Anzeige darüber, ob ein nicht-korrigierbarer Speicherfehler oder ein korrigierter Speicherfehler vorliegt, eine Anzeige darüber, ob ein rechtmäßiger Befehl vorliegt, oder ob beispielsweise eine verlangte Einrichtung gar nicht existiert.
Wie zuvor erläutert, ist eine eindeutige Einrichtungsidentifizierungsnummer jeder der verschiedenen Einrichtungen zugeteilt, die an der Busleitung angeschlossen sind. Diese Nummer wird an die Busleitung in dem in Fig. 6 gezeigten Format auf den Eingabefunktionsbefehl hin abgegeben und heißt Eingabeeinrichtungsidentifizierung. Diese Nummer wird an die Daten-Busleitung abgegeben. Zweckmäßigerweise wird die Nummer bzw. Zahl aufgeteilt in 13 Bits, die die Einrichtung kennzeichnen (Bits 0 bis 12) und in drei Bits, die eine bestimmte Funktionalität der Einrichtung angeben (Bits 13 bis 15), wie dies erforderlich sein kann.
Eine Einheit, die die Zentraleinheit zu unterbrechen wünscht, fordert einen Buszyklus an. Wenn der Buszyklus zugeteilt ist, gibt die betreffende Einheit ihren Unterbrechungsvektor an die Busleitung ab. Der Unterbrechungsvektor enthält die Kanalnummer der Zentraleinheit und die Unterbrechungsebenennummer. Die betreffende Einheit gibt als ihren Unterbrechungsvektor somit die Mastereinheits-Kanalnummer und ihre Unterbrechungsebenennummer ab. Wenn diese Kanalnummer die Kanalnummer der Zentraleinheit ist, nimmt die Zentraleinheit die Unterbrechung an, sofern die angegebene Ebene numerisch kleiner ist als die gerade vorhandene interne Ebene der Zentraleinheit und sofern die Zentraleinheit noch keine weitere Unterbrechung angenommen hat. Die Annahme wird durch ein Bus-ACK-Signal (BSACKR-) angezeigt. Wenn die Zentraleinheit die Unterbrechung nicht annehmen kann, wird ein NAK-Signal durchgeführt (BSNAKR-). Einrichtungen, die ein NAK-Signal aufnehmen (das zuweilen auch als NACK-Signal bezeichnet wird), nehmen einen erneuten Versuch vor, wenn von der Zentraleinheit CP ein Signal (BSINT-) aufgenommen wird, das die Wiederannahme einer normalen Unterbrechung angibt. Die Zentraleinheit gibt dieses Signal dann ab, wenn sie eine Ebenenänderung abgeschlossen hat und daher wieder Unterbrechungen anzunehmen imstande sein kann. Die Kanalnummer der Mastereinheit wird in dem Vektor für die Benutzung abgegeben, da mehr als ein Kanal in derselben Unterbrechungsebene liegen kann. Die Unterbrechungsebene 0 ist von spezieller Bedeutung, da sie per Definition bedeutet, daß die Einheit nicht unterbrechen soll.
In Fig. 7 ist das Busleitungs- Zeitdiagramm gezeigt, das nachstehend im einzelnen erläutert werden wird. Die zeitliche Steuerung wird bei sämtlichen Übertragungen von einer Haupteinheit bzw. Mastereinheit zu einer Tochtereinheit hin benutzt, die an der Busleitung angeschlossen ist. Die Geschwindigkeit, mit der die Übertragung stattfinden kann, hängt von der Konfiguration bzw. Ausstattung des Systems ab. Dies bedeutet folgendes: Je mehr Einheiten an der Busleitung angeschlossen sind und je länger die Busleitung ist, umso länger dauert die Nachrichtenübertragung auf der Busleitung mit Rücksicht auf die Ausbreitungsverzögerungszeiten. Auf der anderen Seite verringert sich durch die geringere Anzahl von Einheiten an der Busleitung die Ansprechzeit. Demgemäß ist die Busleitungs-Zeitsteuerung tatsächlich von asynchroner Natur. Eine Mastereinheit, die einen Buszyklus wünscht, führt eine Busanforderung aus. Das Signal BSREQT- ist sämtlichen Einheiten an der Busleitung gemeinsam. Ist dieses Signal eine binäre 0, so zeigt dies an, daß zumindest eine Einheit einen Buszyklus anfordert. Wenn der Buszyklus zugeteilt ist, wird das Signal BSDCNN- eine binäre 0, wodurch angezeigt wird, daß eine Verbindungs-Unterbrechungs-Funktion - wie dies im Zusammenhang mit Fig. 8 noch im einzelnen erläutert werden wird - abgeschlossen ist und daß nunmehr eine bestimmte Mastereinheit die Steuerung der Busleitung besitzt. Zu dem Zeitpunkt, zu dem das Signal BSDCNN- eine binäre 0 wird, gibt die Mastereinheit die zu übertragende Information an die Busleitung ab. Jede Einheit an der Busleitung bildet aus dem Signal BSDCNN- einen internen Abtastimpuls. Der Abtastimpuls ist z. B. etwa 60 Nanosekunden ab Empfang des Binärzustands 0 des Signals BSDCNN- verzögert. Wenn in der Tochereinheit diese Verzögerungszeit verstrichen ist, sind damit auch die Busleitungs- Ausbreitungszeitänderungen berücksichtigt, und jede Tochtereinheit wäre imstande, ihre Adresse (Speicheradresse oder Kanalnummer) zu erkennen. Die adressierte Tochtereinheit wäre imstande, ihre Adresse (Speicheradresse oder Kanalnummer) zu erkennen, Die adressierte Tochtereinheit kann nunmehr eine von drei Antworten geben, entweder ein ACK- Signal, ein NACK-Signal oder ein WAIT-Signal (Quittungssignale) bzw. die Signale BSACKR-, BSNAKR- oder BSWAIT-. Das Antwortsignal wird über die Busleitung ausgesendet; es dient der Mastereinheit als Signal dafür, daß die Tochtereinheit die angeforderte Aktion erkannt hat. Die Steuerleitungen kehren dann in den Binärzustand 1 in der aus Fig. 7 ersichtlichen Folge zurück. Demgemäß läuft der Austauschbetrieb völlig asynchron, und jeder Übergang tritt immer nur dann auf, wenn der vorhergehende Übergang abgewickelt worden ist. Einzelne Einheiten können daher unterschiedlich lange Zeitspannen zwischen dem Abtastsignal und dem ACK-Signal, etc. benötigen. Der Übergang hängt dabei von der internen Funktionalität der jeweiligen Einheit ab. Durch eine Busleitungs-Zeitsperrenfunktion werden nicht-programmierte Stops in einer Schleife vermieden, die sonst auftreten könnten.
Die Information, die über die Busleitung übertragen wird, kann beispielsweise 50 Signale oder Bits enthalten, die wie folgt aufgegliedert werden können: 24 Adressenbits, 16 Datenbits, 5 Steuerbits und 5 Integritäts- oder Prüfbits. Diese verschiedenen Signale werden nachstehend noch näher erläutert.
Die Verbindungs-Unterbrechungs-Funktion, die im Zusammenhang mit Fig. 8 im einzelnen beschrieben werden wird, besteht darin, gleichzeitig vorhandene Anforderungen von unterschiedlichen Einheiten her bezüglich der Bedienung und Zuteilung von Buszyklen auf der Grundlage eines Positions-Prioritätssystems einer Entscheidung zu unterziehen. Wie zuvor angegeben, besitzt der Speicher die höchste Priorität und die Zentraleinheit besitzt die niedrigste Priorität. Diese Einrichtungen liegen physikalisch an gegenüberliegenden Enden der Busleitung 200. Die anderen Einheiten nehmen Zwischenstellungen ein; sie besitzen eine Priorität, die in bezug auf ihre Nähe zu dem speicherseitigen Ende der Busleitung hin zunimmt. Die Prioritätslogik gemäß Fig. 8 ist in jeder der Einheiten enthalten, die direkt an der Busleitung angeschlossen sind, um nämlich die Verbindungs-Unterbrechungsfunktion zu bewirken. Jedes derartige, einer Einheit zugehörige Prioritätsnetzwerk enthält ein Zuteilungs-Flipflop 22. Zu irgendeinem Zeitpunkt kann lediglich ein bestimmtes Zuteilungs-Flipflop gesetzt sein; die betreffende Einheit ist per Definition für den bestimmten Buszyklus die Mastereinheit. Irgendeine Einheit kann eine Benutzeranforderung zu irgendeinem Zeitpunkt abgeben, wodurch ihr Benutzer-Flipflop 15 gesetzt wird. Zu irgendeinem Zeitpunkt können demnach viele Benutzer-Flipflops gesetzt sein, wobei jeder derartige Flipflop einen zukünftigen Buszyklus repräsentiert. Darüber hinaus enthält jede an der Busleitung liegende Einheit ein Anforderungs-Flipflop 17. Wenn sämtliche Einheiten zusammen betrachtet werden, können die Anforderungs-Flipflops als Anforderungs-Register betrachtet werden. Die Ausgangssignale dieses Registers speisen dann das Verbindungs-Unterbrechungs- Netzwerk, welches in der Weise wirkt, daß lediglich ein Zuteilungs-Flipflop gesetzt wird, und zwar unabhängig davon, wie viele Anforderungen noch unerledigt sind. Wären keine unerledigten Anforderungen vorhanden, so wären auch keine Anforderungs-Flipflops gesetzt. Das erste Benutzer- Flipflop, das gesetzt wird, bewirkt das Setzen seines Anforderungs-Flipflops. Dies wiederum verhindert nach Ablauf einer kurzen Verzögerungszeit, wie dies nachstehend beschrieben wird. Das Setzen der Anforderungs-Flipflops anderer Einrichtungen bzw. Einheiten. Es wird also für eine vorgegebene Zeitspanne (Verzögerungszeitspanne) gewissermaßen eine "Momentaufnahme" sämtlicher Benutzeranforderungen gemacht. Das Ergebnis besteht darin, daß eine Anzahl von Anforderungs- Flipflops während dieser Verzögerungszeitspanne gesetzt sein kann, und zwar in Abhängigkeit vom Zeitpunkt des Eintreffens des Anforderungssignals. Um zu ermöglichen, daß die Ausgangssignale der Anforderungs-Flipflops stabil werden, besitzt jede Einheit eine solche Verzögerungszeit, um sicherzustellen, daß sich die Schaltungsvorgänge stabilisiert haben. Ein bestimmtes Zuteilungs- Flipflop wird gesetzt, wenn dieser Einheit zugehörige Anforderungs-Flipflop gesetzt ist und wenn die Verzögerungszeit abgelaufen ist und keine Einheit mit höherer Priorität einen Buszyklus wünscht. Ein Abtastsignal wird sodann nach einer weiteren Verzögerungszeitspanne erzeugt, und schließlich wird das Zuteilungs-Flipflop gelöscht (zurückgestellt), wenn die Mastereinheit ein Signal ACK, NACK oder WAIT von der Tochtereinheit her empfängt.
Wie zuvor angegeben, gibt es drei mögliche Antwortsignale von den Tochtereinheiten, das Signal ACK, das Signal WAIT oder das Signal NACK. Darüber hinaus existiert ein vierter Zustand, in welchem überhaupt keine Antwort gegeben wird. In dem Fall, daß keine Einheit an der Busleitung die an sie adressierte Übertragung erkennt, kommt keine Antwort zustande. Sodann tritt eine Zeitsperrenfunktion auf, und ein NACK-Signal wird aufgenommen, wodurch eine Freigabe der Busleitung erfolgt. Ein ACK-Signal wird dann erzeugt, wenn die Tochtereinheit imstande ist, die Busleitungsübertragung von der Haupteinheit bzw. Mastereinheit anzunehmen und dies auch durchzuführen wünscht. Das WAIT-Antwortsignal wird von der Tochtereinheit dann erzeugt, wenn diese kurzzeitig belegt ist und zu diesem Zeitpunkt eine Übertragung nicht annehmen kann. Auf die Aufnahme des WAIT-Signales hin nimmt die Mastereinheit bei dem nächsten, ihr zugeteilten Buszyklus einen Zyklusversuch vor und setzt dies solange fort, bis sie erfolgreich ist. Einige der Gründe für das Vorliegen eines WAIT-Antwortsignals von einer Tochtereinheit her - wenn die Zentraleinheit, d. h. der Prozessor - die Mastereinheit bildet - sind z. B. dann gegeben, wenn der Speicher eine Tochtereinheit ist und auf eine Anforderung von einer anderen Einheit her antwortet oder wenn ein Steuerwerk eine Tochtereinheit ist, beispielsweise wenn das Steuerwerk auf eine Antwort von dem Speicher her wartet, oder wenn das Steuerwerk den vorhergehenden Eingabe/Ausgabe- Befehl noch nicht verarbeitet hat. Wenn ein Steuerwerk die Haupteinheit bildet und wenn die Zentraleinheit die Tochtereinheit bildet, kann die Zentraleinheit mit einem ASK-Signal oder mit einem NACK-Signal an das Steuerwerk antworten, nicht aber mit einem WAIT-Signal. Der Speicher kann darüber hinaus, wenn er die Mastereinheit bildet, nicht veranlaßt werden zu warten, ob nun die Tochtereinheit eine Zentraleinheit oder ein Steuerwerk ist. Das NACK-Signal, welches durch die Tochtereinheit angezeigt wird, bedeutet, daß diese Einheit zu dem betreffenden Zeitpunkt eine Übertragung nicht annehmen kann. Auf die Annahme eines NACK-Signales hin wird eine Mastereinheit nicht sofort einen erneuten Versuch unternehmen, sondern vielmehr wird sie eine bestimmte Operation ausführen, je nach Art der betreffenden Mastereinheit.
Wie zuvor generell angegeben, treten auf der Busleitung Grund-Zeitsteuersignale auf, um die Austauschfunktion ("Handshaking") zu bewirken. Diese fünf Signale, die oben angegeben worden sind, sind das Busleitungs-Anforderungssignal (BSREQT-), das in dem Fall, daß es als binäre 0 auftritt, anzeigt, daß eine oder mehrere Einheiten an der Busleitung den Buszyklus angefordert haben; ferner gehört zu den erwähnten Signalen das Datenzyklus-Augenblickssignal (BSDCNN-), das in dem Fall, daß es als binäre 0 auftritt, anzeigt, daß eine genau festgelegte Mastereinheit eine Busübertragung vornimmt und an die betreffende Busleitung eine Information für die Verwendung durch eine bestimmte Tochtereinheit abgegeben hat. Zu den erwähnten Signalen gehört ferner das ACK-Signal (BSACKR-), bei dem es sich um ein Signal handelt, das von der Tochtereinheit für die Mastereinheit erzeugt wird und das angibt, daß die Tochtereinheit diese Übertragung annimmt, indem das betreffende Signal als binäre 0 auftritt. Zu den betreffenden Signalen gehören ferner das NAK-Signal (BSNAKR-), das von der Tochtereinheit für die Mastereinheit erzeugt wird, um als binäre 0 dieser Mastereinheit anzuzeigen, daß diese Übertragung verweigert wird. Zu den betreffenden Signalen gehört schließlich das WAIT-Signal (BSWAIT-), das von der Tochtereinheit für die Mastereinheit erzeugt wird und das als binäre 0 anzeigt, daß die betreffende Tochtereinheit die Übertragung verweigert.
Wie zuvor angedeutet, können überdies bis zu 50 Informationssignale vorhanden sein, die als Informationsinhalt des jeweiligen Buszyklus übertragen werden. Mit dem Auftreten der Vorderflanke des Abtastsignales sind diese Signale für die Verwendung durch die Tochtereinheit gültig. Die gesamte nachfolgende Diskussion ist lediglich als Beispiel zu verstehen; es dürfte einzusehen sein, daß die Anzahl der Bits für verschiedene Funktionen geändert werden kann. Demgemäß können 16 Leitungen oder Bits für die Daten und insbesondere für die Signale BSDT 00- bis BSDT 15- vorgesehen sein. Ferner sind 24 Leitungen für die Adresse, insbesondere für die Signale BSAD 00- bis BSAD 23- vorgesehen. Ein Bit ist für das Speicherbezugssignal (BSMREF-) vorgesehen, das in dem Fall, daß es eine binäre 0 ist, anzeigt, daß die Adressenleitungen eine Speicheradresse enthalten. Wenn das Speicherbezugssignal eine binäre 1 ist, zeigt dies an, daß die Adressenleitungen eine Kanaladresse und einen Funktionscode enthalten, wie dies in Fig. 3 angegeben ist. Außerdem wird ein Byte-Signal (BSBYTE-) bereitgestellt, welches in dem Fall, daß es eine binäre 0 ist, anzeigt, daß die gerade vorliegende Übertragung eine Byte-Übertragung und nicht eine Wort-Übertragung ist; ein Wort besteht in typischer Weise aus zwei Bytes. Außerdem ist ein Schreibsignal (BSWRIT-) vorhanden, das in dem Fall, daß es eine binäre 1 ist, anzeigt, daß von der Tochtereinheit erwartet wird, daß sie eine Information an die Mastereinheit abgibt. Eine gesonderte Busübertragung liefert diese Information. Ferner ist ein zweiter Halbbuszyklus (BSSHBC-) bereitgestellt, der bei Anwendung durch die Mastereinheit der Tochtereinheit anzeigt, daß es sich um die zuvor angeforderte Information handelt. Ab dem Zeitpunkt, zu dem zwei Einheiten an der Busleitung mit einer Leseoperation begonnen haben (durch das Signal (BSWRIT-) angegeben) bis zum Auftreten des zweiten Zyklus zum Zwecke der Beendigung der Übertragung (was durch das Signal BSSHBC- angegeben wird), können beide Einheiten gegenüber allen anderen Einheiten an der Busleitung einen Besetztzustand aufweisen.
Neben verschiedenen Fehler- und Paritätssignalen ist außerdem ein Verriegelungssignal unter den 50 Informationssignalen auf der Busleitung vorhanden. Das Verriegelungssignal (BSLOCK-) wird dazu herangezogen, eine Verriegelungsoperation auftreten zu lassen. Bei dieser Operation handelt es sich um eine Mehrzyklus-Busübertragung, bei der eine Einheit ein Wort oder einen Mehrwortbereich des Speichers lesen oder schreiben kann, ohne daß irgendeine andere Einheit imstande ist, in die betreffende Operation mit einem weiteren Verriegelungsbefehl einzubrechen. Dies erleichtert den Anschluß des Systems an ein Multiprozessorsystem. Die Wirkung der Verriegelungsoperation besteht in der Erweiterung eines Belegzustandes über die Dauer des Speicherzyklus für bestimmte Operationstypen. Andere Einheiten, die versuchen, Verriegelungssignale vor Abschluß des letzten Zyklus einzuleiten, empfangen ein NACK-Antwortsignal. Der Speicher spricht jedoch auf andere Speicheranforderungen noch an. Ein Beispiel für die Verriegelungsoperation ist der Lese-Modifizierungs-Schreibzyklus; die drei Buszyklen dieses Zyklus sind folgende: Während des ersten Buszyklus enthält der Adressenbus die Speicheradresse; die Datenbusleitung bzw. der Datenbus enthält die Kanalnummer der Ursprungs- bzw. Ausgangseinrichtung. Das Signal BSWRIT- ist eine binäre 0, wodurch angezeigt ist, daß eine Antwort benötigt wird. Das Signal BSLOCK- ist eine binäre 0, wodurch angezeigt wird, daß es sich hierbei um eine Verriegelungsoperation handelt. Das Signal BSMREF- ist eine binäre 0, und das Signal BSSHBC- ist eine binäre 1. Während des zweiten Buszyklus der Lese-Modifizierungs-Schreiboperation enthält die Adressenbusleitung bzw. der Adressenbus die Kanalnummer der Ursprungseinrichtung; die Datenbusleitung enthält die Speicherdaten. Das Signal BSSHBC- ist eine binäre 0, wodurch eine Leseantwort angezeigt ist. Das Signal BSMREF- ist eine binäre 1. Während des dritten Buszyklus enthält die Adressenbusleitung die Speicheradresse; die Datenbusleitung enthält die Speicherdaten. Das Signal BSLOCK- ist eine binäre 0, wodurch der Abschluß der Lese-Modifizierungs-Schreiboperation angezeigt wird. Das Signal BSMREF- ist eine binäre 0, und das Signal BSSHBC- ist eine binäre 0. Darüber hinaus ist das Signal BSWRIT- eine binäre 1. Wie bei allen anderen Operationen kann die Zwischenzeit auf der Busleitung zwischen den drei Buszyklen der Lese-Modifizierungs-Schreiboperation von anderen Einheiten benutzt werden, die nicht in die Übertragung einbezogen sind.
Zusätzlich zu den anderen Steuersignalen kann auf der Busleitung ferner das Busleitungs-Löschsignal (BSMCLR-) abgegeben werden, das normalerweise eine binäre 1 ist und das zu einer binären 0 wird, wenn eine Mastereinheit-Löschtaste betätigt wird, die in dem Wartungsfeld der Zentraleinheit vorgesehen sein kann. Das Busleitungs-Löschsignal kann zu einem Binärsignal 0 beispielsweise auch während einer Speisespannungs- Einschaltfolge werden. Das Fortsetzungs-Unterbrechungssignal (BSRINT-) ist ein Impuls von kurzer Dauer, der von der Zentraleinheit jeweils dann abgegeben wird, wenn diese eine Ebenen- bzw. Niveauänderung abgeschlossen hat. Wenn dieses Signal aufgenommen wird, gibt die jeweilige Tochtereinheit, die zuvor unterbrochen worden war und die gewissermaßen zurückgewiesen worden ist, die Unterbrechung wieder ab.
Nunmehr wird das Zeitdiagramm gemäß Fig. 7 unter Bezugnahme auf die Adressenlogikschaltung eines typischen Steuerwerkes sowie unter Bezugnahme auf den Speicher und die Zentraleinheit im einzelnen erläutert.
Unter Bezugnahme auf das Zeitdiagramm gemäß Fig. 7 sei bemerkt, daß in jedem Buszyklus drei unterscheidbare Teile vorhanden sind, und zwar insbesondere die Periode (7-A bis 7-C), während der die anfordernde Einrichtung mit der höchsten Priorität die Busleitung erhält, die Periode (7-C bis 7-E), während der die Mastereinheit eine Tochtereinheit anfordert, und die Periode (7-E bis 7-G), während der die Tochtereinheit antwortet. Wenn die Busleitung sich in der Ruhestellung befindet, ist das Busleitungs- Anforderungssignal (BSREQT-) eine binäre 1. Die zum Zeitpunkt 7-A auftretende negative Flanke des Busleitungs- Anforderungssignals beginnt einen Prioritätsnetzwerk-Zyklus. Innerhalb des Systems wird die Einstellung einer asynchronen Verzögerung für das Prioritätsnetzwerk zugelassen (Zeitpunkt 7-B), während welcher auch die Auswahl eines Mastereinheits-Benutzers der Busleitung ermöglicht ist. Das nächste Signal auf der Busleitung ist das Signal BSDCNN- oder das Datenzyklus-Augenblickssignal. Der Übergang des Signals BSDCNN- in eine binäre 0 zum Zeitpunkt 7-C bedeutet, daß die Benutzung der Busleitung einer Mastereinheit zugeteilt worden ist. Danach bedeutet die zweite Phase der Busoperation, daß die Mastereinheit ausgewählt ist und nunmehr die Möglichkeit hat, eine Information auf den Daten-, Adressen- und Steuerleitungen der Busleitung 200 zu einer Tochtereinheit hin übertragen, die die betreffende Mastereinheit so kennzeichnet.
Die Tochtereinheit bereitet die Einleitung der dritten Phase der Busoperation bzw. Busleitungsoperation vor, und zwar beginnend mit der negativen Flanke des Abtastsignales oder des Signales BSDCND-. Das Abtastsignal wird ausgehend von der negativen Flanke des Signals BSDCNN- durch die Verzögerungsleitung 25 gemäß Fig. 8 beispielsweise 60 Nanosekunden verzögert. Auf das Auftreten der negativen Flanke des Signals BSDCND- zum Zeitpunkt 7-D kann die Tochtereinheit nunmehr eine Überprüfung vornehmen um festzustellen, ob das betreffende Signal ihre Adresse ist und ob sie aufgefordert ist, den Entscheidungsprozeß darüber zu beginnen, welche Antwort zu erzeugen ist. Dies ruft in typischer Weise die Erzeugung eines Quittungssignals (BSACKR-) durch die Tochtereinheit oder in den nicht-typischen Fällen die Erzeugung eines Signals BSNAKR- oder BSWAIT- hervor, oder es braucht überhaupt kein Antwortsignal erzeugt zu werden, wie dies nachstehend beschrieben werden wird (im Falle einer nicht-existierenden Tochtereinheit). Die negative Flanke des Quittungssignals zum Zeitpunkt 7-E bewirkt, wenn sie durch die Mastereinheit aufgenommen wird, daß das Signal BSDCNN- der Mastereinheit zu einer binären 1 zum Zeitpunkt 7-F wird. Das Abtastsignal kehrt in den Binärzustand 1 zum Zeitpunkt 7-G zurück. Dies stellt eine durch die Verzögerungsleitung 25 von dem Zeitpunkt 7-F aus laufende Verzögerungszeit dar. In der dritten Phase der Busleitungsoperation werden somit die Daten und die Adresse auf der Busleitung durch die Tochtereinheit abgespeichert, und es beginnt das Abschalten des Buszyklus. Das Ende des Zyklus, d. h. der Zeitpunkt, zu dem das Signal BSDCNN- eine binäre 1 wird, ermöglicht dynamisch eine weitere Prioritätsnetzwerk-Operation. Ein Busleitungs-Anforderungssignal kann zu diesem Zeitpunkt erzeugt werden, und wird dieses Signal nicht aufgenommen, so bedeutet dies, daß die Busleitung in den Ruhezustand zurückkehrt. Demgemäß würde das Signal BSREQT- in den Binärzustand 1 übergehen. Wenn das Busleitungs-Anforderungssignal zu dem betreffenden Zeitpunkt vorhanden ist, d. h., daß eine binäre 0 vorhanden ist, wie dies gezeigt ist, wird der asynchrone Prioritätsnetzwerk-Auswahlprozeß beginnen, woraufhin eine weitere negative Flanke des Signals BSDCNN- abgegeben wird, wie dies zum Zeitpunkt 7-I durch gestrichelte Linien angedeutet ist. Es sei darauf hingewiesen, daß diese Prioritätsnetzwerk- Operation nicht auf die positive Flanke des Quittungssignals zum Zeitpunkt 7-H warten muß oder durch diese Flanke getriggert werden muß; vielmehr erfolgt eine Triggerung zum Zeitpunkt 7-F, und zwar unmittelbar auf den Übergang der Busleitung in einen Ruhezustand, sofern danach eine Einheit einen Buszyklus anfordert. Dieser Prozeß wiederholt sich in einer asynchronen Weise.
Nunmehr sei die Prioritätsnetzwerklogik gemäß Fig. 8 betrachtet. Der Prioritätsnetzwerkzyklus befindet sich zunächst in einem Ruhezustand, und das Busleitungs-Anforderungssignal (BSREQT-) auf der Leitung 10 ist eine binäre 1. Wenn dieses Busleitungs- Anforderungssignal eine binäre 1 ist, ist das Ausgangssignal des Empfängers (invertierenden Verstärkers) 11 eine binäre 0. Der Ausgang des Empfängers 11 ist mit dem einen Eingang des Verknüpfungsgliedes 12 verbunden. Die anderen Eingangssignale für das betreffende Verknüpfungsglied 12 sind das Buslöschsignal, das normalerweise eine binäre 1 ist, und das Ausgangssignal des Verknüpfungsgliedes 26, das ebenfalls normalerweise eine binäre 1 ist. Das Ausgangssignal des Verknüpfungsgliedes 12 ist während des Vorliegens des Ruhezustands der Busleitung somit eine binäre 0, und demgemäß wird das Ausgangssignal der Verzögerungsleitung 13 eine binäre 0 sein. Das Eingangssignal und das Ausgangssignal der Verzögerungsleitung 13 ermöglichen, wenn sie jeweils durch eine binäre 0 gebildet sind, daß das Ausgangssignal des NOR-Gliedes 14 (das ist das Signal BSBSY-) eine binäre 1 wird. Wenn eine der an der Busleitung angeschlossenen Einheiten einen Buszyklus wünscht, setzt sie asynchron ihr Benutzeranforderungs-Flipflop 15, so daß dessen Q-Ausgangssignal eine binäre 1 ist.
Befindet sich die Busleitung im Ruhezustand, so besteht das erste Ereignis, das auftritt, wenn die Busleitung in den Belegtzustand übergeht, darin, daß der Benutzer sein Benutzeranforderungs-Flipflop 15 setzt. Wenn die beiden Eingangssignale für das Verknüpfungsglied 16 durch Binärsignale 1 gebildet sind, ist das Ausgangssignal des betreffenden Verknüpfungsgliedes eine binäre 0. Dadurch wird das Anforderungs-Flipflop 17 gesetzt, so daß dessen Q-Ausgangssignal (MYREQT+) eine binäre 1 ist. Dadurch wird also in asynchroner Weise das Q-Ausgangssignal des Anforderungs-Flipflops 17 eine binäre 1 sein. Diese Operation kann gleichzeitig auch in der entsprechenden Logik der anderen, an der Busleitung angeschlossenen Einheiten auftreten.
Der als binäre 1 auftretende Signal MYREQT+ gelangt über die Leitung 10 der Busleitung und wird als binäre 0 über die Treiberschaltung 18 abgegeben. Bezugnehmend auf das Zeitdiagramm gemäß Fig. 7 sei bemerkt, daß das Signal BSREQT- negativ wird oder in den Binärzustand 0 gelangt. Jegliche Anforderung an das System von irgendeinem der Anforderungs- Flipflops 17 der an der Busleitung angeschlossenen verschiedenen Einheiten stellt somit die Leitung 10 in den Binärzustand 0. Die Verzögerungsleitung 13 besitzt eine hinreichende Verzögerungszeit, um die mit den Elementen 14, 16 und 17 verknüpfte Ausbreitungs-Verzögerungszeit zu kompensieren. Obwohl eine Einrichtung ihr Anforderungs-Flipflop 17 setzt, bedeutet dies somit nicht, daß eine Einrichtung höherer Priorität, die ebenfalls einen Buszyklus anfordert, nicht den nächsten Buszyklus übernimmt. Wenn z. B. eine Einrichtung niedriger Priorität ihr Anforderungs-Flipflop 17 setzt, wird ein Binärsignal 0 auf der Leitung 10 zu sämtlichen Leitungen zurückgeführt, einschließlich der Einrichtung höherer Priorität, die ihrerseits ein Binärsignal 0 am Ausgang des Verknüpfungsgliedes 12 erzeugt, so daß ein Binärsignal 0 am Ausgang des Verknüpfungsgliedes 14 erzeugt wird. Dadurch wird das Setzen des Anforderungs-Flipflops 17 einer derartigen anderen Einrichtung höherer Priorität gesperrt, wenn tatsächlich das Benutzer-Flipflop 15 einer derartigen Einrichtung höherer Priorität nicht bereits gesetzt worden war. Nachdem die Verzögerungszeit von z. B. 20 Nanosekunden abgelaufen ist und das Ausgangssignal auf der Leitung 13 einer derartigen Einrichtung höherer Priorität nunmehr als Binärsignal 1 auftritt, tritt das Ausgangssignal des Verknüpfungsgliedes 14 als Binärsignal 0 auf, so daß unabhängig davon, ob das Benutzer-Flipflop 15 einer derartigen Einrichtung höherer Priorität gesetzt worden ist oder nicht, das Ausgangssignal des Verknüpfungsgliedes 16 ein Binärsignal 1 sein wird. Dadurch ist das Setzen des Anforderungs- Flipflops 17 gesperrt. Während eines derartigen Zeitrahmens haben sämtliche Einrichtungen ihr Anforderungs-Flipflop 17 gesetzt, sofern sie tatsächlich eine Bedienung anfordern, wie dies durch das Setzen ihres Benutzer-Flipflops 15 gegeben ist. Nach der Verzögerungszeit, die durch das Zeitschaltglied 13 derjenigen Einrichtung hervorgerufen wird, die zuerst einen Buszyklus anfordert, kann eine Einrichtung, die ihr Anforderungs-Flipflop 17 nicht gesetzt hatte, dies solange nicht vornehmen, bis der Buszyklus beendet ist. Demgemäß erhält die Einrichtung höherer Priorität die betreffende Busleitung auch dann, wenn ihr Benutzer- Flipflop einige wenige Nanosekunden nach dem Setzen des Flipflops der Einrichtung niederer Priorität gesetzt wird.
Demgemäß werden sämtliche Anforderungs-Flipflops 17 für Einrichtungen, die einen Buszyklus zu bekommen versuchen, während eines derartigen Intervalls gesetzt worden sein, das durch das Zeitschaltglied bzw. die Verzögerungsleitung 13 bestimmt ist. Ungeachtet der Tatsache, daß viele derartige Einrichtungen, die an der Busleitung angeschlossen sind, ihre Anforderungs-Flipflops während einer derartigen Zeitspanne gesetzt haben können, kann nur in einer dieser Einrichtungen der Zuteilungs-Flipflops 22 gesetzt werden. Diejenige Einrichtung, die ihr Zuteilungs-Flipflop 22 gesetzt hat, ist die Einrichtung mit der höchsten Priorität, die versucht, den Buszyklus zugeteilt zu bekommen. Wenn eine derartige Einrichtung, die versucht, einen Buszyklus zugeteilt zu bekommen, ihre Operation während eines derartigen Buszyklus abgeschlossen hat, werden die anderen Einrrichtungen, deren Anforderungs- Flipflops gesetzt sind, wieder versuchen, den nächsten derartigen Buszyklus zugeteilt zu bekommen, usw. . Demgemäß wird das Q-Ausgangssignal des Anforderungs-Flipflops 17 zusätzlich zur Abgabe an die Treiberschaltung 18 dem einen Eingang des NAND-Gliedes 19 zugeführt. Der -Ausgang des Flipflops 17 ist mit einem Eingang des UND-Gliedes 20 verbunden. Die anderen Eingangssignale für das Verknüpfungsglied 19 werden von den z. B. 9 Einrichtungen höherer Priorität erhalten. Von den Einrichtungen höherer Priorität kommen, wie dies auf der linken Seite der Fig. 8 veranschaulicht ist, die 9 Signale BSAUOK+ bis BSIUOK+. Wenn irgendeines dieser neun Signale ein Binärsignal 0 ist, so bedeutet dies, daß eine Einrichtung höherer Priorität einen Buszyklus angefordert hat und daß demgemäß bei der vorliegenden Einrichtung der Zuteilungs-Flipflop 22 nicht gesetzt werden kann, so daß dadurch diese Einrichtung daran gehindert ist, den nächsten Buszyklus zu erhalten.
Die übrigen, von dem Verknüpfungsglied 19 aufgenommenen Eingangssignale sind als Ausgangssignal der Verzögerungsleitung 13 und das Ausgangssignal des NOR-Gliedes 21. Das Ausgangssignal der Verzögerungsleitung 13 ist ein Binärsignal 1. Wenn alle übrigen Eingangssignale des Verknüpfungsgliedes 19 Binärsignale 1 sind, wird das Zuteilungs-Flipflop 22 gesetzt. Das andere Eingangssignal von dem Verknüpfungsglied 21 ist eine binäre 1, wenn sich die Busleitung im Freizustand befindet. Die Eingangssignale für das NOR-Glied 21 sind die Signale BSACKR+, BSWAIT+, BSNAKR+ und BSMCLR+. Wenn irgendeines dieser Signale als Binärsignal 1 auftritt, befindet sich die Busleitung demgemäß im Belegtzustand, und das Flipflop 22 kann nicht gesetzt werden.
Wenn das Zuteilungs-Flipflop 22 gesetzt worden ist, ist das Q-Ausgangssignal ein Binärsignal 1; es wird durch den Inverter 23 in ein Binärsignal 0 invertiert und dann auf der Signalleitung BSDCNN- der Busleitung abgegeben. Dies ist in dem Zeitdiagramm gemäß Fig. 7 für den Fall gezeigt, daß das Signal BSDCNN- sich vom Binärzustand 1 zum Binärzustand 0 ändert. Demgemäß ist der Prioritätszyklus des Buszyklus beendet.
Wenn die vorliegende Einrichtung eine Bedienung erfordert und die höchste Priorität besitzt, dann sind die durch das Verknüpfungsglied 19 von der Verzögerungsleitung 13 und von der Prioritätsleitung BSAUOK+ her aufgenommenen Eingangssignale jeweils eine binäre 1. Das -Ausgangssignal des Flipflops 17 wird jedoch eine binäre 0 sein, wodurch auf der Signalleitung BSNYOK+ ein Binärsignal 0 auftritt. Dadurch wird der Einrichtung der nächst niederen Priorität und den nachfolgenden Einrichtungen niedrigerer Priorität angezeigt, daß eine Anforderung von einer Einrichtung höherer Priorität vorliegt, die den nächsten Buszyklus benutzen wird. Auf diese Weise sind sämtliche Einrichtungen niedrigerer Priorität an der Benutzung des nächsten Buszyklus gehindert. Es sei darauf hingewiesen, daß die Signale auf den von den Einrichtungen höherer Priorität herkommenden neun Prioritätsleitungen in einer durch eine Stelle versetzten Weise als Signale BSBUOK+ bis BSMYOK+ übertragen werden. Demgemäß entspricht das von der vorliegenden Einrichtung aufgenommene Signal BSAUOK+ dem Signal BSBUOK+, das an der Einrichtung nächst niederer Priorität aufgenommen wird.
Nachdem ein Prioritätszyklus abgeschlossen ist und nachdem nunmehr auf der Leitung BSDCNN- ein Binärsignal 0 auftritt, wird das Signal durch die jeweilige Verknüpfungsschaltung aufgenommen, wie sie in Fig. 8 durch die Empfangsschaltung 24 dargestellt ist. Dies führt dazu, daß ein Binärsignal 1 am Ausgang der Empfangsschaltung 24 erzeugt wird und daß ein Binärsignal 0 vom Ausgang des NOR-Gliedes 26 abgegeben wird, wodurch das UND-Glied 12 gesperrt ist und dadurch die Erzeugung eines Binärsignals 1 verhindert ist. Darüber hinaus wird das Binärsignal 1 vom Ausgang der Empfangsschaltung 24 her durch die Verzögerungsleitung 25 aufgenommen, die eine Verzögerungsdauer von z. B. 60 Nanosekunden besitzt. Das Ausgangssignal der Verzögerungsleitung 25 wird außerdem von dem anderen Eingang des NOR-Gliedes 26 aufgenommen, so daß sich die Sperrung des Verknüpfungsgliedes 12 fortsetzt, wenn der Abtastimpuls erzeugt wird. Am Ende der durch die Verzögerungsleitung 25 hervorgerufenen Verzögerungszeitspanne wird das Abtastsignal (BSDCND+) erzeugt. Das invertierte Signal dieses Signals, das heißt das Signal BSDCND-, ist in dem Zeitdiagramm gemäß Fig. 7 gezeigt. Die Verwendung des Abtastsignals wird nachstehend noch näher beschrieben. Durch die durch die Verzögerungsleitung hervorgerufene Verzögerungszeitspanne von 60 Nanosekunden wird die Funktion des Prioritätsnetzwerkes gemäß Fig. 8 gesperrt, wodurch der erfolgreichen Einrichtung, d. h. der anfordernden Einrichtung mit der höchsten Priorität, die den Zugriff gewonnen hat, der Zugriff auf den nächsten Buszyklus ohne Störung ermöglicht. Das am Ausgang der Verzögerungsleitung 25 erzeugte Abtastsignal wird von einer möglichen Tochtereinheit als Synchronisiersignal benutzt.
Wenn das Abtastsignal übertragen worden ist, spricht die eine der Einheiten, die als Tochtereinheit festgelegt ist, als Antwort mit einem der möglichen Rückmeldesignale ACK, WAIT oder NACK an, die an einem der Eingänge des Verknüpfungsgliedes 21 aufgenommen werden. Wenn in dem typischen Fall das Signal ACK beispielsweise aufgenommen wird oder wenn irgendeines der Antwortsignale aufgenommen wird, erfolgt die Zurückstellung des Zuteilungs-Flipflops 22. Das betreffende Antwortsignal ist in dem Zeitdiagramm gemäß Fig. 7 angegeben, gemäß der das Signal BSACKR- von der Tochtereinheit her aufgenommen wird. Dies bewirkt, daß sich das Signal BSDCNN- in ein Binärsignal 1 ändert, und zwar durch Zurückstellen des Zuteilungs-Flipflops 22. Das verknüpfungsmäßige Äquivalent des Signals BSACKR+ sowie der anderen beiden, von dem Verknüpfungsglied 28 aufgenommenen Signale ist das Signal BSACKF+. Der einzige Unterschied zwischen derartigen Signalen liegt in einer Verzögerung von einigen Nanosekunden. Dies bewirkt die Zurückstellung des Flipflops 17. Das Signal BSACKF+ und die anderen beiden Signale werden lediglich durch die erfolgreiche Einheit aufgenommen, und lediglich deren Anforderungs- Flipflop 17 und deren Benutzer-Flipflop 15 werden zurückgestellt. Das Flipflop 15 wird über das NOR-Glied 29 zurückgestellt, wenn das Zuteilungs-Flipflop 22 gesetzt worden ist oder wenn das Buslöschsignal über die Busleitung aufgenommen worden ist, wie dies für die anderen beiden Flipflops 17 und 22 der Fall ist. Demgemäß läuft der Prozeß für jede der entsprechenden Einheiten in einer asynchronen Weise fort, so daß eine derartige Einheit der an der Busleitung angeschlossenen Einheiten in den Stand versetzt ist, den nächsten Buszyklus zu benutzen.
Nunmehr sei die in Fig. 9 dargestellte typische Steuerwerk- Adressenlogik betrachtet. Diese Logik bzw. Verknüpfungsschaltung ist beispielhaft für Steuerwerke, die insbesondere eine bis vier angeschlossene Untereinheiten oder periphere Einrichtungen umfassen. Das Element 70 enthält Leitungsempfänger, und zwar einen für die Aufnahme des Speicherbezugssignales (BSMREF-) und die anderen Empfänger jeweils für die Busadresse BSAD 08- bis BSAD 14-. Da diese in Fig. 9 dargestellte Verknüpfungsschaltung für ein Nicht-Speicher-Steuerwerk dient, ist das Speicherbezugssignal ein Binärsignal 1, und zwar sowohl am Eingang des Elementes 70 als auch am Ausgang des Inverters 71.
Ein Schalter 72 ist an die sieben Adressenleitungen sowie über Inverter 78 an invertierte Signale führende Leitungen angeschlossen. Dieser Schalter ist in den meisten, an der Busleitung 200 angeschlossenen Steuerwerken untergebracht; er ist auf die Adresse der bestimmten Einheit eingestellt. Von den 14, zu dem Schalter hinführenden Leitungen sind lediglich sieben Leitungen ausgangsseitig zu einem eine Mehrzahl von Eingängen besitzenden NAND-Glied 73 hingeführt. Die Busadressenleitungen auf der Eingangsseite des Elementes 70 führen ein Binärsignal 0 für diejenigen Bits, die die richtige Adresse der gewünschten Einheit wiedergeben. Demgemäß werden durch die durch das Element 70 bewirkte Inversion Binärsignale 1 an die nichtinvertierenden Eingänge des Schalters 72 für diejenigen Bits der Adresse abgegeben, die auf der Busleitung 200 als Binärsignale 0 aufgenommen wurden. In entsprechender Weise führen die sieben Ausgangsleitungen der Inverter 78 Binärsignale 1 für diejenigen Positionen, in denen die Adressenbits Binärsignale 1 in den einlaufenden Adressenbits auf der Busleitung 200 sind. Mit Rücksicht darauf, daß die Signale an den beiden Eingängen des Schalters 72 Komplementärsignale zueinander sind, werden die in der betreffenden Einrichtung enthaltenen Schalter, die ein Hexadezimal-Schalter oder eine Vielzahl von Kippschaltern sein können und insbesondere ein nichtgekoppelter siebenpoliger Zwei-Stellungs-Schalter, so eingestellt, daß bei der richtigen Adresse der betreffenden Einheit lediglich Binärsignale 1 auf den sieben Ausgangsleitungen des Schalters 72 auftreten. Demgemäß erhält das Verknüpfungsglied 73 lediglich Binärsignale 1 und gibt ausgangsseitig ein Binärsignal 0 ab, wenn die betreffende Adresse die richtige Adresse der Einheit ist und wenn es sich dabei nicht um einen Speicherzyklus handelt, wie dies noch erläutert wird. Dabei dürfte ersichtlich sein, daß der Schalter 72 so angeordnet ist, daß eine Vergleicherfunktion vorgenommen wird und daß die Forderung nach zumindest einer Verknüpfungsgliedebene und demgemäß nach der zugehörigen Ausbreitungsverzögerungszeit vermieden ist. Überdies stellt der Schalter eine Einrichtung dar, die ohne weiteres die Adresse einer bestimmten Einheit zu ändern gestattet, wodurch die Art und Weise vereinfacht ist, in der ein System ausgebildet sein kann.
Das Ausgangssignal des Verknüpfungsgliedes 73 wird als Signal MYCHAN- bezeichnet, dieses Signal ist ein Binärsignal 0 für die ausgewählte Tochtereinheit. Das Signal MYCHAN- wird dem einen Eingang von jeweils drei NOR-Gliedern 74, 75 und 76 eines Bereitschaftsschaltkreises zugeführt. Das betreffende Signal wird zur Erzeugung des Signals ACK, WAIT oder NAK herangezogen. Die übrigen Eingänge der NOR-Glieder 74, 75 und 76 erhalten nachfolgend noch angegebene Eingangssignale.
Durch einen Multiplexer 77 werden vier Signale von bis zu vier entsprechenden Untereinheiten oder peripheren Einrichtungen aufgenommen, die mit der Steuerwerklogik gemäß Fig. 9 verbunden sind. Diese an den Eingängen des Multiplexers 77 aufgenommenen Signale zeigen an, ob die entsprechende Untereinheit vorhanden ist oder nicht, d. h. ob sie in dem System eingerichtet ist. Dies bedeutet, daß eine oder mehrere derartige Untereinheiten angeschlossen sein können. Ist nur eine derartige Untereinheit angeschlossen, dann wird lediglich eines der Signale das Vorhandensein dieser Untereinheit anzeigen. Die Signale, die das Vorhandensein der Untereinheiten anzeigen, sind die Signale MYDEVA-, MYDEVB-, MYDEVC- und MYDEVD-. Der Binärzustand 0 derartiger Signale zeigt an, daß die Untereinheit in dem System vorhanden ist. Der Multiplexer 77 wird durch die Adressensignale BSAD 15+ und BSAD 16+ freigegeben bzw. übertragungsfähig gemacht, die von der Busleitung 200 über invertierende Verstärker oder Empfangsschaltungen (nicht dargestellt) aufgenommen werden. Dieselben beiden Adressensignale werden auch zur Freigabe des Multiplexers 88 herangezogen. Diese beiden Bits zeigen an, welche der beispielsweise vier Untereinheiten oder Einrichtungen adressiert ist. Das Ausgangssignal des Multiplexers 77 ist das Signal MYDEVP-, das als Binärsignal 0 anzeigt, daß die adressierte Einrichtung vorhanden ist. Demgemäß nimmt jedes der Verknüpfungsglieder 74, 75 und 76 das Ausgangssignal des Multiplexers 77 auf, und ein Antwortsignal von einem bestimmten Steuerwerk wird durch das Vorhandensein der Kanalnummer des Steuerwerks sowie durch die Tatsache gesteuert, daß die Untereinheit tatsächlich an dem Steuerwerk angeschlossen und in dem System vorhanden ist. Wie nachstehend noch erläutert wird, ermöglicht diese Anordnung eine Adressenkontinuität zwischen einer Untereinheit und der nächsten in einer Weise, wie es unter Bezugnahme auf die Speicheradressenlogik noch im einzelnen erläutert wird. Generell können jedoch bei mehr als einem Basis-Steuerwerk 210, wie dies in dem System gemäß Fig. 1 dargestellt ist, und bei Anschluß jedes derartigen Steuerwerkes 210 zum Zwecke der Steuerung unterschiedlicher Arten von peripheren Einrichtungen oder bei Anschluß sämtlicher derartiger Steuerwerke 210 zum Zwecke der Steuerung desselben Typs von peripheren Einrichtungen 216 durch selektive Anordnung derartiger peripherer Einrichtungen 216 und des Steuerwerks 210 die Adressen für jede derartige Untereinheit oder periphere Einrichtung fortlaufend sein. Ferner können derartige Adressen so sein, daß es keine Rolle spielt, wie groß oder klein das System ist. Einer bestimmten Adresse kann irgendein Typ von peripherer Einrichtung zugeordnet sein.
Der Bereitschafts-Multiplexer 88 ist so geschaltet, daß er Kennzeichen von irgendeiner der vier Untereinheiten aufnimmt, wobei diese Kennzeichen angeben, daß die betreffende Untereinheit tatsächlich bereit ist, Daten aufzunehmen oder auszusenden. Die von dem Multiplexer 88 aufgenommenen Bereitschaftssignale sind verschieden von den Anwesenheitssignalen, die von dem Multiplexer 77 aufgenommen werden. Während die Anwesenheitssignale anzeigen, ob die betreffende Untereinheit oder periphere Einrichtung überhaupt installiert und in dem vorliegenden System tatsächlich vorhanden ist, zeigt das Bereitschaftssignal dynamisch an, ob die zugehörige Untereinheit bereit und imstande ist, Daten auszusenden oder Daten zu empfangen. Diese Bereitschaftssignale sind als Signale MYRDYA-, MTRDYB-, MYRDYC- und MYRDYD- bezeichnet. Die Aufnahme des Signales MYFCO 1+ am Abtasteingang des Multiplexers 88 stellt eine Ausnahme vom Normalbetrieb des Multiplexers 88 dar, worauf nachstehend noch eingegangen werden wird.
Das Ausgangssignal des Multiplexers 88 ist mit MYRDYS- bezeichnet. Dieses Ausgangssignal gibt in dem Fall, daß es als Verknüpfungssignal 0 auftritt, die Erzeugung entweder eines Signals WAIT oder des Signals ACK frei, und zwar in Abhängigkeit vom Zustand der übrigen Signale, die von den Verknüpfungsgliedern 74, 75 und 76 aufgenommen werden. Tritt das Ausgangssignal MYRDYS+ des Multiplexers 88 als Binärsignal 0 auf, so wird das Signal NAK erzeugt, wodurch angezeigt wird, daß die adressierte Untereinheit tatsächlich nicht bereit ist.
Die Verknüpfungsglieder 75 und 76 nehmen weitere Signale auf. Das Verknüpfungsglied 75 nimmt das Signal BDRBSY- auf, wie dies nachstehend noch erläutert wird, und das Verknüpfungsglied 76 übernimmt das Signal MYACKA- vom Ausgang des Verknüpfungsgliedes 84. Diese beiden Signale werden im Zusammenhang mit den Funktionen erläutert, die durch die Flipflops 80 und 81 ausgeführt werden. In jedem Steuerwerk ist ein Puffer oder Register vorgesehen, der bzw. das die Daten von der Busleitung 200 aufnimmt. Wenn dieser Datenpuffer belegt ist, d. h., daß in dem betreffenden Puffer bereits eine Information gespeichert ist, die nicht verloren gehen kann, so liegt eine Anzeige darüber vor, daß der Puffer belegt ist. Dieses Anzeigesignal wird am D-Eingang des F-Flipflops 80 aufgenommen. Das Signal am D-Eingang dieses Flipflops tritt an dessen Q-Ausgang beim Empfang des Taktsignals auf, das in diesem Fall das Signal BSDCNN+ ist, welches über eine Treiberschaltung von der Busleitung aufgenommen wird. Zu dem Zeitpunkt, zu dem das Datenzyklus-Augenblicksignal, d. h. das Signal BSDCNN-, zu einem Binärsignal 0 wird, wie dies in Fig. 7 gezeigt ist, wird, sofern der diesem bestimmten Steuerwerk zugehörige Puffer tatsächlich belegt ist, das Q-Ausgangssignal des Flipflops 80, d. h. das Signal BDRBSY+, als Binärsignal 1 auftreten, welches über das NAND-Glied 85 als Binärsignal 0 abgegeben wird. Dieses Binärsignal 0, das dem Eingang des NOR-Gliedes 84 zugeführt wird, erzeugt an dessen Ausgang ein Binärsignal 1, durch das das Verknüpfungsglied 76 hinsichtlich der Erzeugung eines Signals ACK gesperrt wird. Das -Ausgangssignal des Flipflops 80, d. h. das Signal BDRBSY-, wird jedoch ein Binärsignal 0 sein, das dem einen Eingang des Verknüpfungsgliedes 75 zugeführt wird. Dieses Verknüpfungsglied erzeugt, wenn seine sämtlichen Eingangssignale 0 sind, ein WAIT-Signal. Wenn demgemäß der Puffer nicht belegt ist und wenn die übrigen Bedingungen vorhanden sind, wird ein ACK-Signal erzeugt. Ist der Puffer hingegen belegt, dann wird in Abhängigkeit von den anderen Bedingungen entweder ein WAIT-Signal oder ein NAK-Signal erzeugt.
Das Flipflop 81 wird dazu benutzt anzuzeigen, ob die betreffende Operation eine zweite Hälfte der Lesezyklusoperation ist oder nicht. Wie oben erläutert, wird das Signal BSSHBC- von der Mastereinheit dazu benutzt, der Tochtereinheit anzuzeigen, daß es sich dabei um die Information handelt, die zuvor angefordert worden ist. Ab dem Zeitpunkt, zu dem zwei, an der Busleitung angeschlossene Einrichtungen mit einer Leseoperation begonnen haben (was durch das Signal BSWRIT- angezeigt ist) bis zum Auftreten des zweiten Zyklus zum Zwecke des Abschlusses des Transfers (durch das Signal BSSHBC- angezeigt) können beide Einrichtungen für alle übrigen Einrichtungen an der Busleitung belegt sein. Betrachtet man die Eingänge des Flipflops 81, so erfolgt durch das Signal MYDCNN+ eine Taktsteuerung des Flipflops; ein derartiges zugeführtes Signal ist das verknüpfungsmäßige Äquivalent des Q-Ausgangssignals des Zuteilungs-Flipflops 22 der Einrichtung, die zu der Mastereinheit geworden ist. An dem D-Eingang des Flipflops 81 wird das Signal MYWRIT- aufgenommen. Dies bedeutet, daß diese Einrichtung diejenige ist, die den Speicherlesezyklus begann. Ferner bedeutet das Auftreten dieses Signals, daß die betreffende Einrichtung nunmehr darauf wartet, aus dem Speicher zu lesen, und daß die betreffende Einrichtung einen zweiten Halblesezyklus erwartet, der von dem Speicher später nach Abschluß des Speicherzyklus erzeugt wird. Das zweite Halblesezyklus-Erinnerungs- oder Merk-Flipflop 81 erhält die Rückstelleingangssignale MYACKR+ und BSMCLR+ über ein am Rückstelleingang des betreffenden Flipflops angeschlossenes NOR-Glied 82 zugeführt. Das Signal BSMCLR+ bewirkt die Zurückstellung des Flipflops 81, wie dies zuvor für verschiedene andere Flipflops erläutert worden ist. Das Signal MYACKR+ zeigt an, daß der zweite Halblesezyklus beendet ist. Wenn demgemäß das Flipflop 61 gesetzt ist, wird das diesem Setzzustand entsprechende Signal vom Q-Ausgang des Flipflops 81 an den einen Eingang des UND-Gliedes 83 abgegeben, das dadurch in eine Bereitstellung gebracht wird. Um das UND-Glied 83 vollständig zu aktivieren, muß das Signal BSSHBC+ durch den Speicher erzeugt werden. Dieses Signal zeigt an, daß es sich dabei um die zuvor angeforderte Information handelt. Mit den von dem Speicher über die Busleitung eintreffenden Daten wird somit dieses Signal aktiviert, und über das NOR- Glied 84 wird die negative Flanke des Signals MYACKA- erzeugt. Dies ermöglicht der betreffenden Einrichtung, diesen Buszyklus durch Aktivieren des Verknüpfungsgliedes 76 zu quittieren und über das Element 79 das über die Treiberschaltung 90 abgegebene ACK-Signal zu erzeugen. Darüber hinaus kann, wie oben angedeutet, ein ACK-Quittungssignal auch dann erzeugt werden, wenn tatsächlich nicht ein zweiter Halbbuszyklus vorliegt und wenn der Puffer nicht belegt ist. Dieses Anzeigesignal wird über die Verknüpfungsglieder 85 und 84 abgegeben, um das ACK- Signal zu erzeugen.
Wenn somit das bestimmte Steuerwerk auf einen Buszyklus wartet und wenn das zweite Halblesezyklus- Erinnerungs- oder Merk-Flipflop 81 dieses Steuerwerks gesetzt worden ist, dann kann lediglich auf die Aufnahme eines zweiten Halbbuszyklussignals (BSSHBC+) für diese bestimmte Einrichtung geantwortet werden. Wenn diese Einrichtung nicht auf einen zweiten Halbbuszyklus wartet, dann kann in dem Fall, daß der Puffer nicht belegt ist, d. h., daß in einem derartigen Puffer keine brauchbare Information mehr enthalten ist, ein ACK-Signal erzeug werden.
Darüber hinaus gelangt das zweite Halbbuszyklussignal (BSSHBC+) an je einen Eingang der Verknüpfungsglieder 74 und 75. Wenn das zweite Halblesezyklus-Flipflop 81 gesetzt worden ist, so kann als einziges Ausgangssignal - sofern die richtige Kanalnummer vorliegt, etc., was durch die Eingangssignale des Verknüpfungsgliedes 76 angegeben ist - ein ACK-Signal erhalten werden. Dies ist unabhängig davon, ob der Puffer belegt ist oder nicht, was durch das Flipflop 80 angegeben wird. Demgemäß wird ein NACK-Signal oder ein WAIT- Signal durch die Verknüpfungsglieder 74 und 75 lediglich dann erzeugt, wenn es nicht um ein zweites Halbbuszyklussignal handelt, d. h., daß das Signal BSSHBC+ ein Binärsignal 0 ist. Ein von dem Steuerwerk aufgenommenes zweites Halbbuszyklussignal - vom Steuerwerk aus betrachtet - kann lediglich aus einem Speicher herkommen. Wenn der Speicher bereit ist, die Daten an das Steuerwerk zurückzuführen, kann weder ein NAK-Signal noch ein WAIT-Signal erzeugt werden. Vielmehr kann lediglich ein Quittungssignal erzeugt werden. Demgemäß kann in dem Fall, daß das Signal BSSHBC+ ein Binärsignal 1 ist, weder das NAK- Signal noch das WAIT-Signal erzeugt werden.
Wie oben angedeutet, kann in dem Fall, daß eine Information aus dem Speicher übertragen wird, der Speicher niemals ein NAK-Signal oder ein WAIT-Signal aufnehmen. Der Grund hierfür liegt in der der Schaltungsanordnung des vorliegenden Systems innewohnenden Prioritätsanordnung. Der Speicher stellt die Einrichtung mit der höchsten Priorität dar. Wenn eine Einheit den Speicher aufgefordert hat, ihr eine Information zu senden, dann kann die betreffende Einheit die Information zu irgendeinem Zeitpunkt erwarten. Wenn die Einheit für den Speicher ein WAIT-Signal oder ein NAK-Signal erzeugt, dann könnte der Speicher mit Rücksicht darauf, daß er die Einrichtung mit der höchsten Priorität darstellt, versuchen, Zugriff zu dem betreffenden Steuerwerk zu erhalten, welches den Datentransfer angefordert hat. Außerdem könnte ein programmierter Stop der Busleitung erfolgen. Dies bedeutet, daß mit Rücksicht darauf, daß der Speicher die Einrichtung mit der höchsten Priorität darstellt, bewirkt werden könnte, daß die Busleitung effektiv weitere Datentransfers unwirksam macht, bis die Daten von dem bestimmten Steuerwerk angenommen worden sind, das zuvor die Daten angefordert hatte. Demgemäß kann lediglich ein Quittungssignal auf eine Anforderung von dem Speicher her, Daten aufzunehmen, abgegeben werden. Einem Steuerwerk ist jedoch ermöglicht, ein NAK-Signal oder ein WAIT-Signal für ein anderes Steuerwerk oder für eine Zentraleinheit zu erzeugen. Eine generelle Regel besteht überdies darin, daß dann, wenn ein Steuerwerk eine Information von einem Steuerwerk höherer Priorität anfordert, das anfordernde Steuerwerk bereit sein muß, die Information anzunehmen, und demgemäß imstande sein muß, mit einem ACK-Signal zu antworten.
Im Hinblick auf den Bereitschafts-Multiplexer 88 sei bemerkt, daß das NAK-Signal erzeugt wird, wenn die Einrichtung nicht bereit ist, aber die anderen Bedingungen erfüllt sind. Der Grund dafür, daß das NAK-Signal erzeugt wird und nicht das Signal WAIT, liegt in der Tatsache, daß in typischer Weise dann, wenn ein Steuerwerk - wie z. B. das Steuerwerk 210 - belegt ist, der betreffende Anschluß für mehr als nur einige Mikrosekunden belegt sein wird. Der betreffende Anschluß wird vielmehr für Millisekunden belegt sein. Demgemäß wäre Zykluszeit verloren, sofern die Anzeige für die Mastereinheit darin bestünde, daß die Mastereinheit einen weiteren Versuch unternimmt. Die Anzeige sollte vielmehr angeben, daß die anfordernde Einheit mit der Datenverarbeitung fortfährt anstatt unnötigerweise Buszyklen zu benutzen, wodurch die Gesamtantwort des Systems verzögert wird. Was die anfordernde Einheit zweckmäßigerweise zu tun hat, besteht lediglich darin, bei der Zieleinheit einen erneuten Versuch zu unternehmen.
Wie oben angedeutet, erhält der Abtasteingang des Multiplexers 88 ein Signal von dem Verknüpfungsglied 86 her, das als Signal MYFC 01+ bezeichnet ist. Dieses Signal stellt eine Kombination bzw. Verknüpfung des Funktionscodes des an den Eingängen des NOR-Gliedes 86 aufgenommenen Eingangssignales dar, z. B. gemäß dem insbesondere in Fig. 3 gezeigten Funktionsformatcode. Die betreffenden Signale sind dabei durch die Bits BSAD 18+ bis BSAD 22+ gekennzeichnet; das Bit BSAD 23 wird nicht benutzt. Mit diesen Bits ist der Funktionscode so bezeichnet, daß die verschiedenen, an der Busleitung angeschlossenen Einheiten bestimmte Codes und Befehle erkennen können, wie dies zuvor erläutert worden ist. Ein Funktionscode, dessen sämtliche Bits durch binäre Nullen gebildet sind, zeigt dem Steuerwerk an, daß es sich dabei um einen privilegierten Funktionscode handelt und daß die Operation, die von dem Steuerwerk gerade ausgeführt wird, unbedingt stillgesetzt werden muß. Außerdem zeigt der betreffende Funktionscode an, daß das Steuerwerk in Betrieb zu nehmen ist. In gewissem Sinne stellt dies einen Notfunktionscode dar, und mit Rücksicht darauf muß das Steuerwerk eine Maßnahme unabhängig vom Bereitschaftszustand des Steuerwerks ausführen. In einem solchen Fall erzeugt der Multiplexer 88 auf der Ausgangsleitung MYRDYS+ ein Binärsignal 1, wodurch die Erzeugung eines ACK-Signales oder eines WAIT-Signales freigegeben ist, niemals aber die Erzeugung eines NAK-Signales, und zwar in Abhängigkeit vom Zustand des Signales BDRBSY-, das anzeigt, ob der Puffer belegt ist. Wenn der Puffer belegt ist, wird ein WAIT-Signal erzeugt; ist der Puffer nicht belegt, so wird das ACK-Signal erzeugt. Die Zentraleinheit kann z. B. dieses nur aus binären Nullen bestehende Signal oder den Notcode in dem Funktionsfeld erzeugen, wenn z. B. eine Zeitspanne von zwei Sekunden vergangen ist und wenn kein Antwortsignal von der adressierten Einrichtung her empfangen worden ist. Es dürfte jedoch einzusehen sein, daß die adressierte bestimmte Einrichtung die einzige Einrichtung ist, die in Mitleidenschaft gezogen ist, und daß die anderen drei Einrichtungen durchaus noch arbeiten können, d. h. daß dies keine Löschung des an dem bestimmten Steuerwerk angeschlossenen gesamten Systems bedeutet. Der einzige Grund dafür, daß die Antwort auf den Notfunktionscode davon abhängt, ob der Puffer belegt ist oder nicht, besteht somit darin sicherzustellen, daß irgendeine der übrigen drei Einrichtungen, die an diesem bestimmten Steuerwerk angeschlossen ist und die eine Information in einem derartigen gemeinsam benutzten bzw. aufgeteilten Puffer besitzt, ausreichend Gelegenheit hat, die betreffende Information sicherzustellen.
Zusammenfassend ist zu bemerken, daß im Bereitschaftsschaltkreis (79, 90, 91, 92) das NAK-Signal (BSNAKR-) über die Treiberschaltung 92 von dem entsprechenden D-Flipflop des Elementes 79 durch das vollständig aktivierte Verknüpfungsglied 74 erzeugt wird und wenn auch das Signal BDCND+ eine Taktsteuerung des betreffenden Flipflops bewirkt. Das Verknüpfungsglied 74 ist dann vollständig aktiviert, wenn die Kanalnummer aufgenommen ist, wenn die Adresse eine Anzeige darüber liefert, daß die Einheit tatsächlich installiert ist, wenn die betreffende Einrichtung nicht bereit ist und wenn kein zweiter Halbzyklus vorliegt.
Das WAIT-Signal (BSWAIT-) wird an die Busleitung über die Treiberschaltung 91 von dem in dem Element 79 enthaltenen D-Flipflop abgegeben, wenn das Verknüpfungsglied 75 vollständig aktiviert ist. Das Verknüpfungsglied 75 ist dann vollständig aktiviert, wenn die Kanalnummer aufgenommen ist und die Einrichtungsadresse eine Anzeige darüber liefert, daß sie tatsächlich installiert und tatsächlich bereit ist. Außerdem wird eine Anzeige darüber geliefert, daß kein zweiter Halbbuszyklus vorhanden und der Puffer belegt ist.
Das Quittungssignal (BSACKR-) wird an die Busleitung über die Treiberschaltung 90 in Abhängigkeit von der Steuerung durch das in dem Element 79 enthaltene D-Flipflop abgegeben, wenn das Verknüpfungsglied 76 vollständig übertragungsfähig gemacht ist. Das Verknüpfungsglied 76 ist dann vollständig übertragungsfähig gemacht, wenn die richtige Kanalnummer aufgenommen ist. Damit liegt eine Anzeige darüber vor, daß die adressierte Einrichtung installiert ist, daß die adressierte Einrichtung tatsächlich bereit ist und daß der Puffer nicht belegt ist. Sollte jedoch ein zweites Halblesezyklussignal aufgenommen werden, so wird ein ACK- Quittungssignal unabhängig davon erzeugt, ob der Puffer belegt ist oder nicht. Jedes der Flipflops in dem Element 79 wird auf das Signal BSDCNB- hin gelöscht, das vom Ausgang des Verknüpfungsgliedes 26 gemäß Fig. 8 über den Inverter 89 zugeführt wird.
Nachdem eine typische Adressenverknüpfungsschaltung eines Steuerwerks, wie des Steuerwerks 210 oder 214 sowie des Steuerwerks 212 beschrieben worden ist, sei nunmehr die typische Adressenlogik für ein Speichersteuerwerk erläutert.
Die in Fig. 10 dargestellte Speichersteuerwerklogik ist in vielerlei Weise der Logik gemäß Fig. 9 ähnlich. Das durch die Empfangsschaltkreise 40 von der Busleitung aufgenommene Adressensignal wird als Busadressensignal BSAD 00+ bis BSAD 07+ in dem in Fig. 2 gezeigten Format übertragen. Die Adressensignale von den Empfangsschaltkreisen 40 werden außerdem an den Eingängen einer Paritätsprüfschaltung 47 aufgenommen, auf die nachstehend noch eingegangen wird. Die Adressensignale von der Empfangsschaltung 40 und außerdem die Ausgangssignale der Inverter 41 werden von einem Schalter 42 in derselben Weise aufgenommen, wie dies in Fig. 9 angegeben ist. Wenn das Speicherbezugssignal (BSMREF+) ein Binärsignal 1 ist und wenn die durch den Schalter 42 verglichene Adresse bewirkt, daß lediglich Binärsignale 1 am Ausgang des Schalters 42 auftreten, dann wird das NAND-Glied 43 vollständig aktiviert, wodurch ein Binärsignal 0 auf der Leitung MYMADD- abgegeben wird. Dieses Binärsignal 0 wird von einem Eingang jedes der drei NOR-Glieder 44, 45 und 46 aufgenommen, die dazu benutzt werden, das NAK-Signal, das WAIT-Signal bzw. das ACK-Signal zu erzeugen. Der Speicher kann tatsächlich solange nicht adressiert werden, bis sich das Signal BSMREF+ in dem richtigen Binärzustand befindet.
Wie angedeutet, werden die Adressenbits an den Eingängen der Paritätsprüfschaltung 47 aufgenommen, die darüber hinaus das Bit BSAP 00+ aufnimmt, bei dem es sich um das über die Busleitung aufgenommene Adressenparitätsbit handelt. Die Paritätsprüfschaltung 47 nimmt eine 9-Bit-Paritätsprüfung vor und erzeugt an ihrem -Ausgang ein mit MYMADP- bezeichnetes Signal. Dieses Signal versetzt, sofern es als Binärsignal 0 auftritt, die Verknüpfungsglieder 44, 45 und 46 in eine Aktivierungsbereitschaft, wodurch angezeigt wird, daß die Parität richtig ist.
Ein drittes Eingangssignal für die Verknüpfungsglieder 44, 45 und 46 wird von dem Multiplexer 48 her erhalten. Dieser Multiplexer ist ähnlich dem Multiplexer 77 gemäß Fig. 9. Der Multiplexer 48 nimmt beispielsweise vier Eingangssignale auf, die mit MYMOSA- bis MYMOSD- bezeichnet sind und die anzeigen, ob die an dieses bestimmte Steuerwerk zum Anschluß vorgesehenen Speichermoduln in dem System tatsächlich alle vorhanden sind oder nicht. Dies ermöglicht einem Speicher, entweder vollständig mit Speichermoduln ausgestattet zu sein oder evtl. nur teilweise, was bedeuten kann, daß unter Umständen auch nur ein derartiges Speichermodul in dem System vorhanden ist.
Diese vier Speichermoduln werden ferner adressiert, und über den Multiplexer 48 erfolgt eine Überprüfung dahingehend festzustellen, ob die betreffenden Speichermoduln installiert sind. Dies erfolgt durch die beiden Busadressensignale BSAD 08+ und BSAD 09+.
Bei unterschiedlich ausgestalteten Systemen kann somit ein Speichermodul an einem bestimmten Speichersteuerwerk angeschlossen sein, und zwei derartige Moduln können an einem anderen derartigen Steuerwerk angeschlossen sein. In der Tat können verschiedene Speichermoduln, die an verschiedene Steuerwerke angeschlossen sind, von unterschiedlicher Art sein. So kann z. B. auf diese Weise ein Halbleiterspeicher an einem Steuerwerk angeschlossen sein, während ein Magnetkernspeicher an einem anderen Steuerwerk angeschlossen sein kann. Ferner können Speichermoduln unterschiedlicher Größe verwendet werden, d. h. Speichermoduln mit einer mehr oder weniger großen Speicherkapazität. Darüber hinaus können durch Anordnung der Speichermoduln in unterschiedlichen Steuerwerken unterschiedlich schnell arbeitende Speicher verwendet werden, wodurch die Geschwindigkeit des Systems insgesamt gesteigert werden kann. Irgendein vorgegebenes Steuerwerk besitzt außerdem normalerweise lediglich eine vorgegebene Spannungsversorgung und eine vorgegebene Zeitsteuerung, und im Normalfall bestimmt das betreffende Steuerwerk die Merkmale der Speicher, die an das betreffende Steuerwerk angeschlossen werden können. Wenn demgemäß beispielsweise unterschiedliche Arten von Speichergeschwindigkeiten oder unterschiedliche Arten in der Zeitsteuerung beispielsweise zwischen einem Magnetkernspeicher und einem Halbleiterspeicher erforderlich sind, muß jeweils ein anderes Steuerwerk für die unterschiedlichen Speichertypen verwendet werden. Durch Verwendung von unterschiedlichen Steuerwerken können die Speicher überdies schneller betrieben werden bzw. arbeiten, da tatsächlich die betreffenden Speicher im wesentlichen zeitlich parallel miteinander laufen können, obwohl sie an derselben Busleitung angeschlossen sind. Dabei kann nämlich lediglich ein Transfer auf einer Busleitung zu einem Zeitpunkt erfolgen. Das Wesentliche besteht dabei jedoch darin, daß die Information in dem Speicher bereitsteht, ohne daß irgendeine Zugriffszeit erforderlich ist, da der Zugriff bereits durchgeführt ist.
Wie oben angedeutet, besitzt jedes Steuerwerk - ob es für einen Speicher oder für eine andere periphere Einrichtung vorgesehen ist - im allgemeinen seine eigene spezifische Adresse. Demgemäß können für die verschiedenen Speicher- Steuerwerke, an denen jeweils mehrere Speichermoduln angeschlossen sein können, fortlaufende Speicheradressen bereitgestellt sein. Unter der Annahme, daß an jedem Speichersteuerwerk vier Speichermoduln angeschlossen sind und daß jedes derartige Modul eine Speicherkapazität von 8000 Wörtern besitzt, wird jedes derartige Speichersteuerwerk imstande sein, einen Zugriff zu 32 000 Speicherwörtern vorzunehmen. Bei Anschluß eines vollständigen 32 000-Wort-Speichers an das System für das jeweilige Speichersteuerwerk sind die Adressen der Speicher fortlaufende bzw. benachbarte Adressen. Von der Betriebsweise her betrachtet, ist die Verfügbarkeit fortlaufender Speicheradressen nicht nur für Zwecke der Systemadressierung wichtig, sondern außerdem für ein verbessertes Ansprechverhalten des Systems. Wie oben erwähnt, kann das Speichersteuerwerk in typischer Weise lediglich die Bedienung für einen Speicher mit einer bestimmten Charakteristik vornehmen. Dies bedeutet, daß ein Magnetkernspeicher nicht an dasselbe Speichersteuerwerk angeschlossen sein kann, an das ein Halbleiterspeicher angeschlossen ist, und zwar mit Rücksicht auf die diesen Speichern eigenen, grundsätzlich unterschiedlichen Taktfolgen. Dasselbe trifft normalerweise auch für Speicher unterschiedlicher Geschwindigkeiten oder Leistungsanforderungen zu. Nimmt man wieder an, daß jedes Speichersteuerwerk eine Bedienung für 32 000 Speicherwörter vornehmen kann, so bedeutet dies, daß dann, wenn lediglich 16 000 Speicherwörter für einen Speicher niedriger Geschwindigkeit benutzt werden, während die anderen 16 000 Wörter für einen Speicher hoher Geschwindigkeit benutzt werden, zwei Speichersteuerwerke benutzt werden müssen. Dies würde in typischer Weise jedoch bedeuten, daß die Speicheradressen zwischen dem Speicher hoher Geschwindigkeit und dem Speicher niedriger Geschwindigkeit nicht fortlaufend wären. Der Grund hierfür liegt darin, daß die Speichersteuerwerkadressen um 32 000 Wörter versetzt sind. In diesem Fall ist es möglich, benachbarte Speicheradressen dadurch bereitzustellen, daß man es zuläßt, daß beide Speichersteuerwerke dieselbe Ad 43483 00070 552 001000280000000200012000285914337200040 0002002629401 00004 43364resse verwenden. Dies bedeutet allerdings, daß die entsprechenden Speichermodule der beiden Steuerwerke nicht dieselben Positionen in den jeweiligen Steuerwerke einnehmen können. Das erste Steuerwerk würde insbesondere zwei 8000-Wort-Speicherplätze in den Speichermoduln A und B benutzen, wie dies durch die Signale MYMOSA- und MYMOSB- angegeben ist. Das andere Steuerwerk würde die anderen beiden Speichermodule benutzen, deren Vorhandensein durch die Signale MYMOSC- und MYMOSD- angezeigt würde. Demgemäß erscheint es in dem System so, als ob diese beiden Steuerwerke ein Steuerwerk wären. So kann beispielsweise ein derartiges Steuerwerk einfach 8000 Wörter eines derartigen, in Form eines Moduls an dem Steuerwerk angeschlossenen Speichers erhalten, während an dem anderen Speichermodul unter derselben Adresse bis zu drei derartige Speichermoduln in anderen drei Positionen angeschlossen sein können, um demgemäß 24 000 Wörter des Speichers bereitzustellen. Diese Anordnung braucht dabei nicht notwendigerweise auf verschiedene Arten von Speichern beschränkt zu sein. Vielmehr kann Anordnung auf das Problem fehlerhafter Speichermoduln anwenden, die mit einem Steuerwerk verbunden sind. So kann z. B. ein redundantes Speichermodul mit einem anderen Steuerwerk verbunden werden, dessen Adresse erst bei der Ermittlung eines Fehlers in einem Speichermodul festgelegt wird.
Zurückkommend auf die der Verknüpfungsglieder 44, 45 und 46 sei bemerkt, daß jedes dieser Verknüpfungsglieder - um eine Antwort von diesem Speichersteuerwerk zu ermöglichen - seine Speichersteuerwerkadresse erhalten muß sowie eine Anzeige darüber, daß das adressierte Modul in dem System vorhanden ist und daß die Adressenparität richtig ist, was durch die Paritätsprüfschaltung 47 angezeigt wird. Die anderen Eingänge für die betreffenden NOR-Glieder werden von einer Belegungsverknüpfungsschaltung und von einer Verriegelungsablauf-Verknüpfungsschaltung her angesteuert, wie dies nachstehend beschrieben wird.
Das Speichersteuerwerk-Belegtsignal wird von dem Flipflop 49 abgegeben; es zeigt an, daß irgendeines der an dieses Steuerwerk angeschlossenen Speichermoduln tatsächlich belegt ist. Das D-Flipflop 49 wird durch das Signal BSDCNN+ taktgesteuert. Wenn ein Speichermodul belegt ist, wird ein WAIT-Signal erzeugt. Wenn somit das Signal MYBUSY- am -Ausgang des Flipflops 49 ein Binärsignal 0 ist, wird dadurch, sofern die übrigen Bedingungen erfüllt sind, das Verknüpfungsglied 45 vollständig durchgeschaltet und das zugehörige Flipflop in dem Element 56 wird gesetzt. Es sei darauf hingewiesen, daß dies dann erfolgt, wenn das Signal BSFCND+ am Takteingang des Elementes 56 empfangen wird. Zu diesem Zeitpunkt wird dieses Flipflop 56 über den Inverter 63 gelöscht, wenn das Signal BSDCNB- empfangen wird, wie dies bezüglich der Operation des Elementes 79 in Fig. 9 der Fall war. Das Quittungssignal wird dann erzeugt, wenn ein Binärsignal 0 am Q-Ausgang des Flipflops 49 erzeugt wird, was durch das Signal MYBUSY+ angezeigt wird, das dem einen Eingang des Verknüpfungsgliedes 46 zugeführt wird. Es sei erneut darauf hingewiesen, daß das Auftreten des WAIT-Signales bedeutet, daß es zu einer kurzen Verzögerung kommt, da der Speicher noch belegt ist.
Der andere Zustand, der anzeigt, welches der Signale ACK, NAK oder WAIT zu erzeugen ist, ist durch das Auftreten des Verriegelungssignals gegeben, das, wie zuvor angedeutet, eine Mehrzyklen-Busübertragung umfaßt, durch die eine Einrichtung Zugriff zu einer bestimmten Speicherstelle erhalten kann, ohne daß irgendeine andere verriegelte Einheit imstande ist, in die betreffende Operation gewissermaßen einzubrechen. Die Wirkung dieser verriegelten Operation besteht in der Erweiterung des Belegungszustands des Speichersteuerwerks über die Beendigung eines Einzelzyklusses für bestimmte Arten von Operationen hinaus. Einrichtungen, die versuchen, eine Verriegelungsoperation vor Abschluß des letzten Zyklus der Ablauffolge einzuleiten, erhalten ein NAK-Signal. Der Speicher antwortet jedoch dennoch auf eine Speicheranforderung, wie dies nachstehend erläutert werden wird. Es sei darauf hingewiesen, daß die Zwischenzeit zwischen diesen Zyklen von anderen Einheiten benutzt werden kann, die nicht in den Transfer einbezogen sind. Eine Verriegelungsoperation wird hauptsächlich dann benutzt, wenn zwei oder mehr Einheiten dieselbe Datenquelle, z. B. einen Speicher, gemeinsam benutzen wollen. Die Verriegelungsoperation, die irgendeine Anzahl von Buszyklen umfassen kann, wird durch diejenige Einheit oder Einrichtung entsperrt oder freigegeben, welche die gemeinsam benutzte Datenquelle gesteuert hat. Während die gemeinsam benutzte Datenquelle verriegelt ist, werden andere Einheiten, die einen Zugriff zu der betreffenden Datenquelle zu erhalten wünschen, gewissermaßen ausgesperrt, sofern die betreffenden anderen Einheiten das Verriegelungssteuersignal abgeben. Wenn das Verriegelungssteuersignal nicht vorhanden ist bzw. nicht abgegeben wird, ist es für eine derartige andere Einheit möglich, Zugriff zu der gemeinsam benutzten Datenquelle zu erhalten, um z. B. eine dringende Anforderung oder Operationsabfolge zu verarbeiten. Bevor irgendeine Einheit, die das Verriegelungssteuersignal abgibt, Zugriff zu der gemeinsam benutzten Datenquelle erhält, überprüft sie die betreffende Datenquelle um festzustellen, ob diese in eine Verriegelungsoperation einbezogen ist. Sodann kann die betreffende Einheit während desselben Buszyklus, wenn die Datenquelle nicht in eine Verriegelungsoperation einbezogen ist, Zugriff zu der Datenquelle erhalten.
Damit dürfte ersichtlich sein, daß die Verriegelungsoperation für die gemeinsam, arbeitsteilig benutzte Datenquelle eine Operation ist, die sich zwischen jenen Einheiten abspielt, die die in Frage kommenden Steuersignale, d. h. das Verriegelungssteuersignal abgeben. Die betreffende Operation kann z. B. bei der arbeitsteiligen Benutzung eines Teiles des Speichers zur Anwendung kommen, in welchem eine Informationstabelle gespeichert sein kann. Sofern eine der Einheiten wünscht, eine Information in der gemeinsam benutzten Datenquelle zu ändern, können ferner weitere Einheiten gewissermaßen ausgesperrt werden, so daß sie keinen Zugriff zu der lediglich teilweise geänderten Information erhalten, sondern daß vielmehr ein Zugriff erst dann zugelassen ist, nachdem sämtliche derartige Änderungen vorgenommen worden sind. In einem solchen Fall kann eine Lese-Modifizierungs-Schreiboperationen betroffen sein. Durch Ausnutzen der Verriegelungsoperation kann, wie ersichtlich sein dürfte, ein Mehrprozessorsystem gestützt werden. Bei Anschluß von zwei Zentraleinheiten an derselben Busleitung 200 beispielsweise können diese Zentraleinheiten gemeinsam die an der Busleitung angeschlossenen Speichereinheiten benutzen, ohne daß, wenn die Verriegelungsoperation benutzt wird, eine Störung auftritt.
Es sei darauf hingewiesen, daß das Signal BSSHBC- für die Verriegelungsoperation in einer etwas anderen Weise benutzt wird als dies zuvor erläutert worden ist. Während der Verriegelungsoperation wird das Signal BSSHBC- von derjenigen Einheit abgegeben, die versucht, eine Datenquelle gemeinsam zu benutzen, um sowohl Zugriff zu der gemeinsam benutzten Datenquelle mittels einer Test- und Verriegelungsprozedur zu erhalten als auch die gemeinsam benutzte Datenquelle zu entriegeln, wenn sie ihre Verriegelungsoperation abgeschlossen hat.
Gemäß Fig. 10 ist ein Verriegelungs-Merk- Flipflop 50 vorgesehen, das in dem Fall, daß es gesetzt ist, anzeigt, daß in dem Prozeß eine Verriegelungsoperation abläuft. Dadurch wird die Abgabe eines NAK-Signals an die anfordernde Einheit über die Treiberschaltung 59 ermöglicht. Unter der Annahme, daß die Verknüpfungsschaltung gemäß Fig. 10 die Schnittstellenlogik für die gemeinsam benutzte Datenquelle an der Busleitung 200 darstellt, wird das Signal BSLOCK+ (Binärsignal 1) von dem UND-Glied 52 und von dem Flipflop D 3 des Elementes 56 aufgenommen. Das Element 56 erzeugt dadurch das Signal MYLOCK+, das an einem Eingang des UND-Gliedes 51 empfangen wird. Wenn das Verriegelungs- Merk-Flipflop nicht gesetzt ist, wird das Signal NAKHIS+ ein Binärsignal 0 sein, wodurch unabhängig vom Zustand der anderen beiden Eingangssignale des Verknüpfungsgliedes 52 am Eingang des Verknüpfungsgliedes 46 ein Binärsignal 0 erzeugt wird.
Wenn alle Eingänge des Verknüpfungsgliedes 46 ein Binärsignal 0 empfangen, wodurch angezeigt wird, daß die geade vorliegende Adresse für diese Einheit aufgenommen worden und der gemeinsame Puffer nicht belegt ist, so wird ein ACK-Signal über das Element 56 und die Treiberschaltung 61 auf das Signal BSLOCK+ hin erzeugt. Durch das Signal ACK wird das UND-Glied 51 vollständig durchgeschaltet, wodurch das Merk-Flipflop 50 in Abhängigkeit vom Vorliegen des Binärzustandes 1 bei dem Signal BSSHBC- an seinem D-Eingang gesetzt wird. Dieses Signal wird mit dem als Binärsignal 1 auftretenden Signal BSLOCK+ zu Beginn der Verriegelungsoperation erhalten. Demgemäß wird eine Test- und Verriegelungsoperation während desselben Buszyklus ausgeführt.
Wenn das Flipflop 50 zum Zeitpunkt der Aufnahme der Signale BSLOCK+ und BSSHBC- als Binärsignale 1 bereits gesetzt worden war, wird am Ausgang des UND-Gliedes 52 ein Binärsignal 1 erzeugt, wodurch am Ausgang des Inverters 58 ein Binärsignal 0 erzeugt wird. Dadurch wird das UND-Glied 44 bei Vorliegen aller übrigen Bedingungen in den Stand versetzt, das NAK-Signal zu erzeugen. Demgemäß wird durch die Test- und Verriegelungsoperation ein NAK-Antwortsignal erzeugt, welches eine weitere Einheit an der Benutzung der gemeinsamen Datenquelle hindert.
Nachdem die die gemeinsame Datenquelle benutzende Einheit ihre Operation durchgeführt hat, muß sie die Datenquelle freigeben. Dies erfolgt dadurch, daß von der Benutzereinheit das Signal BSLOCK+ als Binärsignal 1 und das Signal BSSHBC- als Binärsignal 0 aufgenommen werden. Dadurch wird die Verknüpfungsschaltung gemäß Fig. 10 in den Stand versetzt, ein ACK-Antwortsignal bereitzustellen, wodurch das Verknüpfungsglied 51 aktiviert wird. Dadurch wird das Merk-Flipflop 50 zurückgestellt, und zwar wegen des als Binärsignal 0 auftretenden Signales BSSHBC-. Die gemeinsame Datenquelle ist nunmehr frei, um ein ACK-Antwortsignal an die anderen Einheiten abzugeben.
Es dürfte ersichtlich sein, daß die gemeinsame Datenquelle lediglich solche anderen Einheiten gewissermaßen aussperren wird, die das Signal BSLOCK+ als Binärsignal 1 abgeben. Wenn eine Einheit beispielsweise wünscht, Zugriff zu einer gemeinsamen Datenquelle zu erhalten, deren Merk-Flipflop 50 gesetzt worden ist, so daß das Signal NAKHIS+ ein Binärsignal 1 ist, dann tritt - sofern das Signal BSLOCK+ eine Null ist - am Ausgang des UND-Gliedes 52 ein Binärsignal 0 auf. Dadurch wird das NAK-Antwortsignal unwirksam gemacht, und in Abhängigkeit von weiteren Zuständen wird entweder ein WAIT- Signal oder ein ACK-Antwortsignal freigegeben. Demgemäß kann eine Einheit Zugriff zu einer gemeinsamen Datenquelle auch dann erhalten, wenn sie in eine Verriegelungsoperation einbezogen ist.
Somit dürfte ersichtlich sein, daß die Erzeugung eines WAIT- Signals von irgendeinem der Steuerwerke einer Einrichtung oder einem Steuerwerk höherer Priorität ermöglicht, in die Ablauffolge der Buszyklen gewissermaßen einzubrechen und die Busleitung erforderlichenfalls zu benutzen. Wenn keine Einheit höherer Priorität vorhanden ist, die eine Bedienung erfordert, bleibt die betreffende Master/Slave-Konfiguration solange erhalten, bis das Quittungssignal von der Mastereinheit empfangen wird, wodurch der WAIT-Zustand beendet ist. Daraufhin wird einem weiteren Benutzer ermöglicht, die Busleitung zu benutzen. Demgemäß ermöglicht das Signal BSDCNN+ einer Slaveeinheit, irgendein Antwortsignal von drei Antwortsignalen zu erzeugen, nämlich entweder das Signal NAK, das Signal WAIT oder das Signal ACK. Am Ende jedes dieser Antwortsignale tritt ein neuer Prioritätsnetzwerkzyklus auf, und die bestimmte Einrichtung oder eine Einrichtung höherer Priorität erhält Zugriff zu der Busleitung. Es sei an dieser Stelle bemerkt, daß die Signalzustände auf der Busleitung binär invers dargestellt sind, verglichen mit den intern in den betreffenden Einheiten dargestellten Signalen. So ist z. B. bezüglich des Speicherbezugssignals auf der Busleitung beispielsweise zwischen den Treiberschaltungen 59, 60 oder 61 und den Empfangssschaltungen 40 angegeben worden, daß dieses Signal in dem einen binären Zustand (z. B. Null) auftritt und im entgegengesetzten binären Zustand (z. B. Eins) in den Steuerwerken selbst. Außerdem tritt, wie oben angedeutet, ein viertes Antwortsignal zwischen irgendeinem der an der Busleitung angeschlossenen Steuerwerke in dem Fall auf, daß überhaupt keine Antwort vorhanden ist. Wenn demgemäß eine der Mastereinheiten eine Bedienung durch einen Speicher anfordert, dieser Speicher in dem System aber nicht installiert ist, wird ein an sich bekanntes Zeitsperre-Element ein Signal nach einer bestimmten Zeit erzeugen, z. B. nach fünf Mikrosekunden, wodurch ein NAK-Signal erzeugt wird. Jetzt kann eine Zentraleinheit in Aktion treten, z. B. indem sie eine Unterbrechungs- oder Sprungroutine ("trap routine") in Gang setzt.
Bezugnehmend auf die Operation des Speicherbelegt-Flipflops 49 sei bemerkt, daß der Dateneingang so geschaltet ist, daß er das Signal MOSBSY+ aufnimmt, das für die Busoperation asynchron auftritt. Dieses Signal kann zu irgendeinem Zeitpunkt aufgenommen werden, und zwar unabhängig von der Operation, die auf der Busleitung für irgendein Steuerwerk abläuft. Wenn das Signal BSDCNN+ von der Mastereinheit am Takteingang des Flipflops 49 aufgenommen wird, erfolgt die Abspeicherung einer Vormerkung über den Zustand des Speichers, nämlich darüber, ob er dem betreffenden Zeitpunkt belegt ist oder nicht. Auf diese Weise wird eine Verwirrung in dem Ansprechen auf den Buszyklus vermieden. Ohne die Vormerkung des Speicherbelegt-Zustandes durch das Flipflop 49 wäre es möglich, den Buszyklus im WAIT-Zustand beginnen zu lassen und in denselben Buszyklus einen ACK-Zustand zu erreichen. Beide Antwortsignale wurden somit während desselben Buszyklus abgegeben, was mithin ein Fehlerzustand wäre. Durch Verwendung des Speicherbelegt-Merk-Flipflops 49 wird die Antwort bezüglich des Zustands festgehalten, in welchem sich das Steuerwerk zum Zeitpunkt des Empfangs des Signals BSDCNN+ befand. Dadurch ist eine asynchrone Antwort ermöglicht, und zwar unabhängig von Toleranzen oder Differenzen in der Speichergeschwindigkeit.
Nunmehr sei auf die typische Zentraleinheits-Busleitungs- Verbindungslogik gemäß Fig. 11 eingegangen. Die Signale werden von der Busleitung her mittels der in dem Element 99 enthaltenen Empfangsschaltungen aufgenommen. Das Speicherbezugssignal BSMREF- wird von einem derartigen Empfänger aufgenommen und mittels des Inverters 100 invertiert dem einen Eingang des Vergleichers 103 zugeführt, so daß dieser in einem Bereitschaftszustand versetzt wird, wenn die aufgenommene Adresse keine Speicheradresse ist. Eines der Eingangssignale des Vergleichers 103 zum Zwecke des Vergleichs sind die Datenprozessor- Adressenbits, deren Anzahl in diesem Fall beispielsweise 4 beträgt und die als Signale BSAD 14+ bis BSAD 17+ angegeben sind. Diese an einem Eingang des Vergleichers 103 aufgenommene Adresse wird mit der Adresse verglichen, die beispielsweise durch den Hexadezimal-Schalter 101 in dem Datenprozessor selbst eingestellt ist. Wenn die empfangene Adresse und die durch den Schalter 101 bereitgestellte Adresse verglichen werden und sich herausstellt, daß diese Adressen übereinstimmen, erzeugt der Vergleicher 103 das Signal ITSMEA+, durch das die Verknüpfungsglieder 106 und 107 zum Teil in einen Bereitschaftszustand versetzt werden.
Ferner werden die Adressenbits BSAD 08+ bis BSAD 13+ an den Eingängen des Vergleichers 104 aufgenommen, der bestimmt, ob diese Bits alle Nullen sind oder nicht. Wenn diese Bits alle Nullen sind, dann wird das Signal ITSMEB+ erzeugt, um die Verknüpfungsglieder 106 und 107 ebenfalls teilweise in einen Bereitschaftszustand zu versetzen. Die Aktivierung eines weiteren Eingangs eines der Verknüpfungsglieder 106, 107 bewirkt dann tatsächlich das Setzen eines entsprechenden Flipflops in dem Element 113.
Das andere Eingangssignal für das Verknüpfungsglied 106 ist ein zweites Halbbuszyklussignal BSSHBC+, das dem Verknüpfungsglied 106 über einen Inverter 116 zugeführt wird. Das zweite Halbbuszyklussignal wird außerdem an einem Eingang des UND- Gliedes 109 aufgenommen. Das andere Eingangssignal für das Verknüpfungsglied 106 liefert der Q-Ausgang des zweiten Halbzyklus- Lese-Merk-Flipflops 110. Dieses Merk- Flipflop wird dazu herangezogen festzuhalten, daß der Datenprozessor sein Signal MYDCNNN+ abgegeben hat, was bedeutet, daß das Zuteilungs-Flipflop 22 dieser Einrichtung gesetzt ist, und daß außerdem die Zentraleinheit das mit MYWRIT- angegebene Signal ausgesendet hat. Dies bedeutet, daß der Datenprozessor einen Antwortzyklus von der Tochtereinheit her erwartet. Bei einer derartigen 2-Zyklus-Operation liefert der zweite Zyklus die erwarteten Daten an die Zentraleinheit, und das Flipflop 110 identifiziert diese Daten als diejenigen Daten, die die Zentraleinheit angefordert hat, und zwar aufgrund der Tatsache, daß das Merk-Flipflop 110 das Signal MYSHRH+ an seinem Q-Ausgang erzeugt hat. Das Flipflop 110 wird über das NOR-Glied 111 zurückgestellt, sofern das Buslöschsignal BSMCLR+ aufgenommen wird oder der zweite Halbbuszyklus beendet worden ist, was durch das Signal MYSHRC+ angegeben wird. Das Signal MYSHRC+ wird von einem der Ausgänge des Elements 113 abgeleitet, was nachstehend noch näher erläutert werden wird.
Somit wird das UND-Glied 107 in dem Fall vollständig durchgeschaltet, daß zwei der zugeführten Eingangssignale angeben, daß es sich dabei um die adressierte Einrichtung handelt; die Anzeige des anderen Eingangssignals besteht darin, daß ein zweiter Halbbuszyklus vorgelegen hat, wie dies über das UND-Glied 109 von dem Merk-Flipflop 110 her angezeigt ist. Demgemäß wird durch die Durchschaltung des UND-Gliedes 107 das Signal MYSHRC- erzeugt und dem einen Eingang des NOR-Gliedes 114 zugeführt. Das NOR-Glied 114 gibt ein ACK- Signal (BSACKR-) über die Treiberschaltung 115 ab.
Das Verknüpfungsglied 106 wird dann vollständig durchgeschaltet, wenn die richtige Adresse der betreffenden Einheit empfangen wurde und wenn nicht ein zweiter Halbbuszyklus vorliegt. In diesem Fall wird ein als Signal MYINTR+ bezeichneter positiver Impuls am Ausgang des in dem Element 113 enthaltenen entsprechenden Flipflops erzeugt. Das Signal MYINTR+ bewirkt, daß die Verknüpfungsschaltung gemäß Fig. 11 bestimmt, ob ein ACK-Signal oder ein NACK-Signal erzeugt wird oder nicht. Welches dieser Signale erzeugt wird, hängt von der Unterbrechungsebene ab, in der gerade in dem System gearbeitet wird, und zwar verglichen mit der Unterbrechungsebene in der sich die Einheit befindet, die eine Prozessierung anstrebt.
Die Entscheidung darüber, ob die Unterbrechungsebene ausreichend ist oder nicht, wird durch den Vergleicher 117 vorgenommen, der bestimmt, ob das A-Eingangssignal kleiner ist als das B-Eingangssignal oder nicht. An dem A-Eingang nimmt der Vergleicher 117 die Signale BSDT 10+ bis BSDT 15+ auf, die in dem in Fig. 5 gezeigten Format die Unterbrechungsebene der an der Busleitung angeschlossenen Einrichtung angeben, die eine Prozessierung anstrebt. In dem System ist eine Vielzahl von Unterbrechungen vorhanden. Die Unterbrechungsebene mit der Nummer 0 erhält die höchstmögliche Zugriffsfähigkeit zu der Prozessierung; sie ist demgemäß nicht unterbrechbar. Je niedriger die Unterbrechungsebenennummer ist, umso geringer ist die Chance, daß eine derartige Einrichtung beim Prozeßablauf unterbrochen wird. Wenn die an dem A-Eingang des Vergleichers 117 aufgenommene Ebenennummer kleiner ist als die Nummer der gerade vorliegenden Ebene, in der in dem Datenprozessor gearbeitet wird - wie durch die Ebenennummer in Block 118 angegeben - so wird die eine Unterbrechung wünschende Einrichtung - wie durch das am Eingang A empfangene Signal angegeben - tatsächlich dazu imstande sein. Wenn das Signal am A-Eingang gleich dem Signal am B-Eingang oder größer als dieses Signal ist, wird das Signal LVLBLS+ nicht erzeugt; vielmehr wird ein NAK-Signal von der Treiberschaltung 108 und dem Flipflop 120 erzeugt, wie dies nachstehend beschrieben ist.
Wenn das dem Eingang A des Vergleichers 117 zugeleitete Unterbrechungsebenen- Signal kleiner ist als das am Eingang B auftretende Unterbrechungsebenen- Signal, tritt am Vergleicherausgang das Signal LVLBLS+ in Form einer binären Eins auf, das dem D-Eingang der beiden Flipflops 120 und 121 zugeführt wird. Beachte, daß das D-Eingangssignal des Flipflops 120 invertiert wird (dargestellt durch einen kleinen Kreis am Leitungsanschlußpunkt). Wenn das A-Signal gleich oder größer als das B-Signal ist (wie vom Vergleicher angezeigt), wird das Signal LVLBLS+ als Binärsignal 0 auftreten, das am Negationseingang des Flipflops 120 aufgenommen wird. Dieses Signal führt zur Erzeugung des NAK-Signals, wenn das Signal MYINTR+ am Takteingang des Flipflops 120 aufgenommen wird, und zwar durch Setzen des entsprechenden Flipflops in dem Element 113. Wenn die Ebene genügt 1, d. h. wenn beim Vergleich das A-Eingangssignal niedriger war als das B-Eingangssignal - wie vom Vergleicher 117 angezeigt -, dann tritt das Signal LVLBLS+ als Binärsignal hat auf, und demgemäß bewirkt das Signal MYINTR+ eine Taktsteuerung, derzufolge dieses Signal vom -Ausgang des Flipflops 121 dem einen Eingang des NOR-Gliedes 114 zugeführt wird, der über die Treiberschaltung 115 das ACK-Signal erzeugt. Wenn das Signal MYNAKR+ als Binärsignal 1 auftritt, wird das NAK-Signal erzeugt, und wenn das Signal MYINTF- ein Binärsignal 0 ist, wird ein ACK-Signal erzeugt. Die Flipflops in dem Element 113 werden in derselben Weise taktgesteuert und durch den Inverter 125 gelöscht, wie dies zuvor für entsprechende Flipflops erläutert worden ist. Es sei darauf hingewiesen, daß ein ACK-Signal unabhängig davon erzeugt wird, welche Anzeige der Vergleicher 117 liefert, sofern tatsächlich dieser Zyklusteil der zweite Teil des zweiten Halbbuszyklus ist. In einem solchen Fall wird das in einem der Flipflops des Elementes 113 als binäre Null auftretende Signal MYSHRC- dem anderen Eingang des NOR-Gliedes 114 zugeführt, so daß das Signal ACK erzeugt wird. Dadurch wird jegliche Anzeige von dem Flipflop 121 her unberücksichtigt gelassen.
Wie zuvor angedeutet, erfolgt durch das Signal BSDCNB- über den Inverter 125 die Zurückstellung des Flipflops 121, und außerdem erfolgt das Setzen des Flipflops 120. Dadurch erfolgt eine Anfangs-Einstellung der Flipflops im Anschluß an den Buszyklus. Darüber hinaus wird das Flipflop 120 durch die dem Flipflop 127 zugehörige Schaltungslogik zurückgestellt. Dabei wird ein Signal BTIMOT- erzeugt, wodurch das Vorliegen eines Zeitsperre-Zustands angezeigt ist, was bedeutet, daß eine nicht existierende Einrichtung adressiert wurde und daß tatsächlich kein Antwortsignal von irgendeiner Tochtereinheit erzeugt worden ist, d. h. weder ein NAK-, noch ein ACK-, noch ein WAIT-Signal. Es ist deshalb eine monostabile Kippschaltung 126 vorgesehen, die beispielsweise auf eine Zeitperiode von fünf Mikrosekunden eingestellt sein kann. Diese Kippschaltung 126 wird durch die Aufnahme des Signals BSDCND+, d. h. des Abtastsignals, getriggert, das am Eingang des Puffers 119 auftritt. Da die Zeitsteuerung der Kippschaltung 126 läuft, wenn ein Signal BSDCNB+ nicht aufgenommen wird (dieses Signal zeigt am Ende des Buszyklus an), wird sodann nach der durch die Kippschaltung 126 festgelegten Zeitspanne das Signal BTIMOT- an dem -Ausgang des Flipflops 127 durch die Taktsteuerung des Signals BSDCNN+ erzeugt, das am D-Eingang des Flipflops 127 auftritt. Das Signal BSDCNN+ gibt an, daß der Buszyklus noch läuft. Das Signal BTIMOT- steuert das Flipflop 120 derart, daß ein NAK-Signal erzeugt wird. Wenn andererseits das Signal BSDCNB+ vor dem Ende der durch die Kippschaltung 126 festgelegten Zeitspanne aufhört, wird auch die Zeitsteuerung der Kippschaltung 126 beendet, und das Flipflop 127 wird daran gehindert, das Signal BTIMOT- zu erzeugen.
Die in Fig. 11 dargestellte Datenprozessorlogik erzeugt entweder ein NAK-Signal oder ein ACK- Signal; hingegen wird ein WAIT-Signal durch die Datenprozessorlogik nicht erzeugt. Der Grund hierfür liegt darin, daß der Datenprozessor stets die niedrigste Priorität besitzt und daß demgemäß - wenn diese Einrichtung ein WAIT-Signal erzeugt - die übrigen Einrichtungen, die ihre Anforderungen an den Datenprozessor bezüglich einer Bedienung richten, möglicherweise eine Unterbrechung auf der Busleitung erfahren, wenn z. B. eine Einrichtung höherer Priorität die Mastereinheit war, der die Zentraleinheit mit einem WAIT- Signal geantwortet hat. Somit werden gerade mit Rücksicht darauf, daß die Einrichtung höherer Priorität auf die Einrichtung niedrigster Priorität wartet - das ist die Zentraleinheit - andere Einrichtungen an der Benutzung der Busleitung gehindert.
Aus der weiteren Erläuterung des vorliegenden Systems kann man ersehen, daß die Gesamtheit der Information, die über die Busleitung übertragen wird, gesichert werden kann, ohne daß es erforderlich ist, jedem über die Busleitung übertragenen Informationsbyte ein Paritätsbit hinzuzufügen. Diese Integrität kann für irgendwelche Einheiten vorgesehen sein, zwischen denen ein Informationstransfer stattfindet. Dies kann insbesondere dann vorteilhaft erleichtert sein, wenn eine Mastereinheit im Zuge ihrer Anforderung eine Antwort von einer Tochtereinheit erwartet. Demgemäß ist eine Integrität derartiger Datentransfers am ehesten in jenen Fällen sichergestellt, wenn zwei Buszyklen bei einem zweiseitigen Bustransfer benutzt werden. Dies ist insbesondere beispielsweise bei einer Speicherleseoperation von Vorteil, bei der die Mastereinheit eine Information aus dem Speicher anfordert und während eines späteren Buszyklus eine derartige Information empfängt. Es ist beispielsweise festgestellt worden, daß eine beträchtliche Anzahl von Datentransfers zwischen dem Speicher und einer anderen Einrichtung während einer Leseoperation auftritt, die zwei Buszyklen erfordert. Demgemäß ist das Merkmal der Datenintegrität des Systems in einem solchen Fall besonders wichtig.
Grundsätzlich nutzt die Integritäts-Anordnung in vorteilhafter Weise den Umstand aus, daß dann, wenn eine Mastereinheit eine andere Einheit adressiert, die beispielsweise ein Speicher oder eine Magnetbandeinheit oder eine periphere Magnetplatteneinheit für eine Informationsaufnahme sein kann, die Mastereinheit die Adresse der Tochtereinheit auf den Adressenleitungen über die Busleitung abgibt und ihre eigene Adresse und den Funktionscode auf den Datenleitungen der Busleitung. Wenn die Tochtereinheit antwortet - und in dieser Weise antwortet die Mastereinheit - gibt die Tochtereinheit die Adresse der anfordernden Einheit an die Adressenleitungen und die Daten an die Datenleitungen ab. Somit wird die Adresse der anfordernden Einheit auf den Adressenleitungen zurück empfangen, und zwar im Unterschied zu der zunächst erfolgten Übertragung über die Datenleitungen. Die anfordernde Einrichtung vergleicht dann ihre Adresse, d. h. ihre auf den Datenleitungen übertragenen Adressen mit der nunmehr auf den Adressenleitungen aufgenommenen Adresse. Wird eine Übereinstimmung festgestellt, so ist dadurch sichergestellt, daß die Tochtereinheit tatsächlich zumindest ihre eigene Adresse richtig aufgenommen hat und daß darüber hinaus - sofern der Operationscode wieder zurückempfangen wurde - auch der betreffende Operationscode zufriedenstellend aufgenommen worden ist. Somit bei einer 16 Bits umfassenden Information, wie sie in dem Format gemäß Fig. 4 gezeigt ist, bis zu zwei Paritätsbits weggelassen die Integrität der Datenübertragung in dem System dennoch gewährleistet ist.
Nunmehr sei auf Fig. 12 Bezug genommen, in der die Redundanzprüfung der vorliegenden Erfindung zum Zwecke der Sicherstellung der Integrität der Datentransfers im einzelnen gezeigt ist. So zeigt Fig. 12 beispielsweise insbesondere die Art und Weise, in der diese Redundanzprüfung vorgenommen wird, wenn der Datenprozessor eine Information aus dem Speicher anfordert. Wenn die Mastereinheit in diesem Fall die Zentraleinheit 206 ist und insbesondere wünscht, eine Information aus dem Speicher 202 zu lesen, der in diesem Fall die Tochtereinheit ist, dann überträgt die Mastereinheit die Speicherbyteadresse in dem in Fig. 2 gezeigten Format über die Busadressenleitungen. Außerdem überträgt die Mastereinheit ihre Adresse, d. h. die Zentraleinheit- Kanaladressennummer, das sind die Bits 0 bis 9 auf den Busdatenleitungen, sowie ihren Operationscode oder Funktionscode, das sind die Bits 10 bis 15 auf den Busdatenleitungen. Die Information auf den Busadressen- und Datenleitungen wird von der Tochtereinheit aufgenommen, und in Abhängigkeit von der Adresse auf den Busadressenleitungen erfolgt ein Zugriff zu den Daten über die bekannte Speicherdatenzugriffslogik 300. Die Daten, zu denen ein Zugriff erfolgt ist, werden sodann in dem Register 302 gespeichert. Die Information auf den Busdatenleitungen, die von dem Register 304 der Tochtereinheit aufgenommen wird, wird solange nicht abgespeichert, bis die Tochtereinheit diese Anforderung mittels eines ACK-Signales quittiert. Dadurch wird in entsprechender Weise das Register 304 veranlaßt, derartige Daten zu speichern.
Die Daten in dem Register 304 werden nicht über die Busadressenleitungen zurückübertragen. Außerdem werden die Daten aus dem Register 302 nicht über die Busdatenleitungen übertragen, bis tatsächlich der Speicher Zugriff zu der Busleitung über seine Prioritätslogik erhält, und zwar durch Setzen seines Zuteilungs-Flipflops 22, wie dies in Fig. 8 gezeigt ist. Dadurch wird sein Signal MYDCNN+ erzeugt. Auf die Erzeugung des Signales MYDCNN+ hin werden somit das Verknüpfungsglied 306 und das Verknüpfungsglied 308 veranlaßt, Daten über die Datenleitungen zu den Empfangsschaltungen 99 der Mastereinheit zur dortigen Verarbeitung zu übertragen. Eine weitere Informationsübertragung erfolgt über den Puffer 310 und die Busadressenleitungen zu der Empfangslogik der Mastereinheit.
Grundsätzlich werden lediglich die Bits 8 bis 23, also 16 Bits, benutzt, da in diesen Bits die Information enthalten ist, die durch die Mastereinheit überprüft werden kann, um die Integrität der Datentransfers zu gewährleisten. Dies ergibt sich mit Rücksicht auf die Tatsache, daß eine bestimmte Information von der Haupteinheit zu der Tochtereinheit über die Datenleitungen übertragen wurde und daß diese Information nunmehr auf den Adressenleitungen empfangen wird. Demgemäß wird die Kanalnummer des Bestimmungsortes in Übereinstimmung mit dem Format gemäß Fig. 3 von den Vergleichern 103 und 104 der in Fig. 11 gezeigten Verknüpfungsschaltung aufgenommen. Der Funktionscode, der in den Bitstellen 18 bis 23 des in Fig. 3 gezeigten Formates enthalten war, wird von dem Vergleicher 312 aufgenommen. Wenn diese von dem Vergleicher 312 aufgenommene Information mit dem letzten Funktionscode 314 übereinstimmt, der von der Mastereinheit in den Funktionscodebits 10 bis 15 des Formates gemäß Fig. 4 ausgesendet worden ist, dann wird ein Freigabesignal erzeugt, welches dem System ermöglicht, seine normale Operation auszuführen. Der wieder empfangene Funktionscode kann andererseits einfach überprüft werden, um sicherzustellen, daß er ein rechtmäßiger und gültiger Code ist. Wenn die Vergleicher 103 und 104 einen Übereinstimmungszustand angeben, wie dies insbesondere im Zusammenhang mit Fig. 11 erläutert wurde, so wird das Verknüpfungsglied 107, das ebenfalls in Fig. 11 gezeigt ist, die Abgabe des ACK-Quittungssignales freigeben. Das Eingangssignal für den anderen Eingang des Verknüpfungsgliedes 107 wird durch das vorhergehende Setzen des zweiten Halbzyklus-Lese-Merk-Flipflops 110 festgelegt sowie durch die von der Tochtereinheit aufgenommene Anzeige, daß es sich um den Abschluß des zweiten Halbbuszyklus handelt. Dies wird durch das Signal BSSHBC+ angezeigt, das an dem anderen Eingang des Verknüpfungsgliedes 109 empfangen wird. Durch das Ausgangssignal des Verknüpfungsgliedes 109 wird das Verknüpfungsglied 107 aktiviert. Daraus ist ersichtlich, daß die Vergleicher 312, 103 und 104 sowie die an die Adressenleitungen der Busleitung angeschlossene zugehörige Verknüpfungsschaltung, wie sie in Fig. 12 gezeigt ist, tatsächlich die zuvor von der Mastereinheit über die Datenleitungen ausgesandte Information mit der von der Tochtereinheit über die Adressenleitungen wieder zurückempfangene Information vergleichen. Auf diese Weise ist weitgehend die Integrität der beiden Datentransfers sichergestellt, und eine Bereitstellung zusätzlicher Paritätsbits ist nicht notwendig.
Die Art und Weise, in der die Schaltungsanordnung des vorliegenden Systems die Adressierung eines zusammenhängenden Speicherraumes ermöglicht, und zwar unabhängig von der Mischung der Speicherarten auf der Grundlage der Geschwindigkeit des Typs, d. h. unabhängig davon, ob ein Magnetkernspeicher oder ein Halbleiterspeicher vorliegt, und unabhängig von anderen Charakteristiken, wird im Zusammenhang mit Fig. 13 im einzelnen erläutert. Die Busleitung 200 ist mit den Speichersteuerwerken 202, 203, 204 sowie mit den anderen Steuerwerken, wie dem Steuerwerk 210, und der Zentraleinheit 206 verbunden. Wie oben beispielsweise erläutert, ist jedes Speichersteuerwerk imstande, bis zu vier Speichermoduln zu adressieren. Diese Moduln können an den Stellen A, B, C und D des entsprechenden Speichersteuerwerks angeschlossen sein. Jedes Speichersteuerwerk nimmt seine eigene Adresse sowie die Adresse des zugehörigen Moduls auf. Die Moduladresse wird in Form von zwei Bits über die Busleitung 200 aufgenommen. Derartige Bits sind, wie dies in Fig. 10 gezeigt ist, mit BSAD 08+ und BSAD 09 bezeichnet. Die Adresse des Speichersteuerwerks wird in Form der Bits BSAD 00+ bis BSA 07+ aufgenommen. Damit wird lediglich dasjenige Speichermodul, dessen Steuerwerk adressiert ist, eine Rückmeldung abgeben. Im Normalfall sind an den Stellen A, B, C und D des Speichersteuerwerkes 204 das Speichermodul A-358, das Speichermodul B-360, das Speichermodul C-362 bzw. das Speichermodul D-364 angeschlossen. Wenn das Speichersteuerwerk 204 adressiert ist und wenn die durch zwei Bits gebildete Unteradresse beispielsweise das Modul C-362 bezeichnet, dann wird das Modul C die Rückmeldung abgeben.
In dem Fall, daß eine Kombination von Speichertypen vorhanden ist, wie z. B. durch die oben erwähnten Charakteristiken angegeben, und eine derartige Kombination kleiner sein sollte als die vollständige Speichersteuerwerk-Kapazität (zuvor mit beispielsweise 32 000 Speicherwörtern bei 8000 Speicherwörtern pro Modul angegeben), so werden aufeinanderfolgende Speicheradressen nicht verfügbar sein. Der Grund hierfür liegt darin, daß der Adressenraum von 32 000 Speicherwörtern für das jeweilige Speichersteuerwerk zur Verfügung bleiben muß, um imstande zu sein, die Speicherkapazität des Systems zu einem späteren Zeitpunkt zu vergrößern. Wie aus Fig. 13 ersichtlich sein dürfte, ist es möglich, lediglich einen Teil jedes der Speichersteuerwerke zu benutzen, um eine derartige aufeinanderfolgende Adressierung vorzunehmen.
Bezugnehmend auf Fig. 13 und unter der Annahme, daß das Modul A-350 und das Modul B-352 von einem ersten Speichertyp sind, während das Modul C-354 und das Modul D-356 von einem anderen Speichertyp sind, kann das Speichersteuerwerk 202 so angeschlossen sein, daß eine Steuerung des Zugriffs der Moduln A und B erfolgt. Das Speichersteuerwerk 203 kann so angeschlossen sein, daß eine Steuerung des Zugriffs der Moduln C und D erfolgt. In einem solchen Fall besitzen das Speichersteuerwerk 202 und das Speichersteuerwerk 203 dieselbe Adresse. Bei einer derartigen Konfiguration werden die Stellen C und D des Steuerwerks 202 und die Stellen A und B des Steuerwerks 203 für die Benutzung solange nicht verfügbar sein, bis das System eine vollständig neue Konfiguration erhalten hat. Wenn somit beide Speichersteuerwerke 202 und 203 ihre Adresse, die für beide die gleiche ist, erkennen, so werden beide zu antworten versuchen, und zwar in Abhängigkeit davon, welches der Moduln A, B, C und D durch die zwei Moduladressenbits BSAD 08+ und BSAD 09+ adressiert ist, die über die Busleitung empfangen werden. Es wird also doch nur ein Steuerwerk (202 oder 203) ansprechen und antworten, je nachdem, welches der Moduln adressiert ist.
Die obigen Ausführungen dienen lediglich der Veranschaulichung des Prinzips der Erfindung. Es dürfte jedoch klar sein, daß auch noch andere Konfigurationen möglich sind; beispielsweise können mehr als vier derartige Moduln an ein vorgegebenes Steuerwerk angeschlossen sein. Bei dem vorliegenden Beispiel kann das Steuerwerk 202 z. B. nur mit einem Modul A und das Steuerwerk 203 an entsprechenden Stellen mit den Moduln B, C und D verbunden sein. Es dürfte durch das vorliegende Beispiel auch ersichtlich sein, daß dann, wenn ein drittes Modul an der Stelle C des Steuerwerks 202 und das Modul C-354 an dem Steuerwerk 203 angeschlossen ist, bei Adressierung eines solchen Moduls C und bei gleicher Adresse für die Steuerwerke 202 und 203, beide Steuerwerke eine Rückmeldung abgeben, wenn sie die für sie identischen Adressen empfangen, wobei aber die Modul-C-Adresse gleichzeitig eine Fehlerbedingung verursacht. Man sieht also, wie man bei der vorliegenden Erfindung eine Adressenkontinuität erhalten kann unabhängig von den charakteristischen Merkmalen der in dem System verkoppelten Speicher.

Claims (3)

1. Prioritätsgesteuerte Schaltungsanordnung für die Einheiten (Speicher 202, 204; Prozessor 206; Rechenwerk 208; Steuerwerke (210, 212, 214 für Peripheriegeräte 216, 218, 220) einer Datenverarbeitungsanlage zum selektiven Zugriff auf einen Datenbus (200), an den die genannten Einheiten oder Einrichtungen angeschlossen sind zum Zwecke der wahlweisen Übertragung von Daten (Operanden, Adressen, Befehle, Zustandswerte) zwischen den einzelnen Einheiten oder Einrichtungen, wobei diese über einen Prioritätsbus in einer vorgegebenen Prioritätshierarchie verbunden sind und wobei eine beliebige erste Einheit (Mastereinheit), die mit einer beliebigen zweiten Einheit (Slave- oder Tochtereinheit) die Datenübertragung aufnehmen will, nach der Gewährung des Zugriffs zum Datenbus über diesen die Zieladresse der Slaveeinheit aussendet, woraufhin die angerufene Slaveeinheit nach dem Erkennen ihrer Zieladresse der rufenden Mastereinheit ein Rückmeldesignal zusendet, gekennzeichnet durch
  • (A) einen Bereitschaftsschaltkreis (74, 75, 76, 79, 90, 91, 92), der in zumindest einzelnen der genannten Einheiten oder Einrichtungen vorgesehen ist und als Antwort auf eine rufende Mastereinheit je nach Zustandslage der jeweils betroffenen Einheit über den genannten Datenbus folgende Signale zu übertragen in der Lage ist:
    • (a) ein Bereitschaftssignal (BSACKR) zur Signalisierung, daß die antwortende Einheit für eine Kommunikation mit der Mastereinheit bereit ist, oder
    • (b) ein Verweigerungssignal (BSNAKR) zur Signalisierung daß die antwortende Einheit für eine Kommunikation mit der Mastereinheit nicht bereit ist, oder
    • (c) ein Besetztsignal (BSWAIT) zur Signalisierung, daß die antwortende Einheit für eine Kommunikation mit der Mastereinheit momentan nicht verfügbar ist, und durch
  • (B) einen Anforderungsschaltkreis (17), der - wenn es sich um eine rufende Mastereinheit handelt - durch ein Benutzeranforderungssignal während bestimmter Zeitabschnitte aktivierbar ist, der durch das genannte Rückmeldesignal (BSACKF+ oder BSNAKF+) der gerufenen Slaveeinheit deaktivierbar ist und der in seinem aktivierten Zustand die Busanforderungssignalleitung (10) mit seinem Busanforderungssignal (MYREQT+) beaufschlagt, und weiterhin durch (C) einen mit dem Anforderungsschaltkreis (17) und dem Prioritätsbus in Wirkungsverbindung stehenden Zuteilungsschaltkreis (19, 22), der dann aktivierbar ist, wenn zum einen der Anforderungsschaltkreis (17) aktiviert und zum anderen die entsprechenden Anforderungsschaltkreise (17) der in der Prioritätshierarchie höherwertigen Einheiten oder Einrichtungen nicht aktiviert sind, der durch die Signale (BSACKR+, BSWAIT+ oder BSNACKR+) der gerufenen Slaveeinheit desaktivierbar ist und der in seinem aktivierten Zustand durch das ausgesendete Zuteilungssignal (BSDCNN-) den Taktzyklus für die Gewährung des Zugriffs zum Datenbus (200) einleitet.
2. Prioritätsgesteuerte Schaltungsanordnung nach Anspruch 1, gekennzeichnet durch einen in einer der genannten Einheiten oder Einrichtungen vorhandenen Zugriffsschaltkreis (56, 51, 50) zum Empfang und zur Speicherung eines von einer Slaveeinheit ausgesendeten Zugriffssignals (BSLOCK) zur Anforderung eines kontinuierlichen Zugriffs ohne Unterbrechung auf die genannte Einheit für diese betreffende Slaveeinheit und durch einen Verweigerungsschaltkreis (52, 58, 44, 56, 59), der auf die Speicherung des genannten Zugriffssignals anspricht und dadurch (mittels des BSNAKR-Signals) den Zugriff auf die genannte eine Einheit durch eine dritte Einheit oder Einrichtung verhindert.
3. Prioritätsgesteuerte Schaltungsanordnung nach Anspruch 1 oder Anspruch 2, weiterhin gekennzeichnet durch einen Antwortschaltkreis (70, 71, 78, 72, 73), der in zumindest einigen der genannten Einheiten oder Einrichtungen vorhanden ist und mit dem genannten Bereitschaftsschaltkreis (A in Anspruch 1) in Wirkungsverbindung steht, zur Erzeugung eines Antwortsignals ("Besitzergreifungs"-Signal MYCHAN) in Erwiderung auf den Empfang der von der Mastereinheit übermittelten Slaveadresse (BSAD 08 bis BSAD 14), wobei das genannte Antwortsignal (MYCHAN) dann erzeugt wird, wenn die empfangene Adresse mit der vorbestimmten Adresse dieser einen Slaveeinheit übereinstimmt und wobei die operative Schaltungsverbindung zwischen den genannten Schaltkreisen so ausgestaltet ist, daß der genannte Bereitschaftsschaltkreis (74, 75, 76, 79, 90, 91, 92) seine Signale (BSACKR, BSNAKR, BSWAIT) nur dann aussenden kann, wenn das genannte Antwortsignal (MYCHAN) tatsächlich von dieser einen genannten Slaveeinheit generiert wird.
DE19762629401 1975-06-30 1976-06-30 Datenverarbeitungssystem Granted DE2629401A1 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US05/591,902 US4030075A (en) 1975-06-30 1975-06-30 Data processing system having distributed priority network
US05/591,904 US4000485A (en) 1975-06-30 1975-06-30 Data processing system providing locked operation of shared resources
US05/591,964 US3993981A (en) 1975-06-30 1975-06-30 Apparatus for processing data transfer requests in a data processing system

Publications (2)

Publication Number Publication Date
DE2629401A1 DE2629401A1 (de) 1977-01-20
DE2629401C2 true DE2629401C2 (de) 1989-01-19

Family

ID=27416620

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19762629401 Granted DE2629401A1 (de) 1975-06-30 1976-06-30 Datenverarbeitungssystem

Country Status (8)

Country Link
CH (1) CH613061A5 (de)
DE (1) DE2629401A1 (de)
FR (1) FR2316660A1 (de)
GB (1) GB1541276A (de)
HK (1) HK37180A (de)
NL (1) NL188920C (de)
SE (1) SE420360B (de)
SU (1) SU1274634A3 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4074353A (en) * 1976-05-24 1978-02-14 Honeywell Information Systems Inc. Trap mechanism for a data processing system
CA1120123A (en) * 1976-11-11 1982-03-16 Richard P. Kelly Automatic data steering and data formatting mechanism
ES474428A1 (es) * 1977-10-25 1979-04-16 Digital Equipment Corp Un sistema de tratamiento de datos.
GB2076192B (en) * 1978-12-26 1983-06-02 Honeywell Inf Systems Improvements in or relating to terminal systems for data processors
FR2474199B1 (fr) * 1980-01-21 1986-05-16 Bull Sa Dispositif pour superposer les phases successives du transfert des informations entre plusieurs unites d'un systeme de traitement de l'information
FR2474198B1 (fr) * 1980-01-21 1986-05-16 Bull Sa Dispositif pour decentraliser la gestion du bus de transfert de donnees commun a plusieurs unites d'un systeme de traitement de l'information
IT1149252B (it) * 1980-09-09 1986-12-03 Sits Soc It Telecom Siemens Modulo di ingresso-uscita per un elaboratore elettronico
US4724519A (en) * 1985-06-28 1988-02-09 Honeywell Information Systems Inc. Channel number priority assignment apparatus

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3815099A (en) * 1970-04-01 1974-06-04 Digital Equipment Corp Data processing system
US3676860A (en) * 1970-12-28 1972-07-11 Ibm Interactive tie-breaking system
US3832692A (en) * 1972-06-27 1974-08-27 Honeywell Inf Systems Priority network for devices coupled by a multi-line bus
US3866181A (en) * 1972-12-26 1975-02-11 Honeywell Inf Systems Interrupt sequencing control apparatus
US3886524A (en) * 1973-10-18 1975-05-27 Texas Instruments Inc Asynchronous communication bus

Also Published As

Publication number Publication date
NL188920C (nl) 1992-11-02
DE2629401A1 (de) 1977-01-20
FR2316660A1 (fr) 1977-01-28
GB1541276A (en) 1979-02-28
SU1274634A3 (ru) 1986-11-30
SE7607421L (sv) 1976-12-31
FR2316660B1 (de) 1983-05-13
CH613061A5 (en) 1979-08-31
HK37180A (en) 1980-07-18
SE420360B (sv) 1981-09-28
NL7607167A (nl) 1977-01-03

Similar Documents

Publication Publication Date Title
DE2854485C2 (de) Datenverarbeitungsanlage
DE2856483C2 (de)
DE2731188C2 (de) Schaltungsanordnung zur Behandlung von Unterbrechungsanforderungen
DE3909948C2 (de)
DE3300261C2 (de)
DE2702090C3 (de) Datenverarbeitungssystem mit einem zentralen Prozessor
DE2448212C2 (de) Asynchrone Sammelleitung zur Kommunikation mit selbstbestimmter Priorität zwischen Mutterrechnergeräten und Tochterrechnergeräten
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
DE2230830C2 (de) Datenverarbeitungsanlage
DE2212501C2 (de) Einrichtung zur Übertragung asynchroner, digitaler Signale
DE3300260C2 (de)
DE2944497C2 (de)
DE3820544C2 (de) Ortsbereichsnetzsystem mit einem hiermit gekoppelten Mehrcomputersystem und Verfahren zur Steuerung hiervon
DE2332734A1 (de) Datenverarbeitungssystem
DE3508291A1 (de) Realzeit-datenverarbeitungssystem
DE2917441A1 (de) Multiprozessoranlage
DE1282335B (de) Einrichtung zum programmabhaengigen Datenaustausch zwischen mehreren Datenverarbeitungseinheiten
DE2523372B2 (de) Eingabe-ZAusgabe-Anschlußsteuereinrichtung
DE2629401C2 (de)
DE2148956B2 (de) Datenübertragungssystem
DE1524111B2 (de) Elektronische Datenverarbeitungsanlage
EP0175095B1 (de) Datenübertragungsverfahren über einen Multiprozessorbus
DE2749884A1 (de) Einrichtung zum automatischen neuformatieren von daten in einem dv-system
DE2900380C2 (de)
EP0193096A2 (de) Schnittstellenbaustein

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8127 New person/name/address of the applicant

Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee