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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4213—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/378—Handling 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.
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)
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)
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 |
-
1976
- 1976-06-29 CH CH831676A patent/CH613061A5/xx not_active IP Right Cessation
- 1976-06-29 SE SE7607421A patent/SE420360B/xx not_active IP Right Cessation
- 1976-06-29 SU SU762378195A patent/SU1274634A3/ru active
- 1976-06-29 FR FR7619810A patent/FR2316660A1/fr active Granted
- 1976-06-30 GB GB27351/76A patent/GB1541276A/en not_active Expired
- 1976-06-30 DE DE19762629401 patent/DE2629401A1/de active Granted
- 1976-06-30 NL NLAANVRAGE7607167,A patent/NL188920C/xx active Search and Examination
-
1980
- 1980-07-10 HK HK371/80A patent/HK37180A/xx unknown
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 |