DE2900380C2 - - Google Patents
Info
- Publication number
- DE2900380C2 DE2900380C2 DE19792900380 DE2900380A DE2900380C2 DE 2900380 C2 DE2900380 C2 DE 2900380C2 DE 19792900380 DE19792900380 DE 19792900380 DE 2900380 A DE2900380 A DE 2900380A DE 2900380 C2 DE2900380 C2 DE 2900380C2
- Authority
- DE
- Germany
- Prior art keywords
- signal
- bus
- unit
- memory
- word
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Description
Die vorliegende Erfindung betrifft eine Schaltungsanordnung nach dem
Oberbegriff des Anspruchs 1.
Busorientierte Datenverarbeitungssysteme sind bereits bekannt,
beispielsweise aus der US Patentschrift 39 97 896. Das darin
beschriebene Datenverarbeitungssystem weist einen gemeinsamen,
asynchronen Bus auf, an den die verschiedenen Systemeinheiten,
wie Speicher, Rechen- und Steuereinheiten in einer vorgegebenen
Prioritätshierarchie angeschlossen sind und über den die zwischen
den einzelnen Einheiten zu übermittelnden Informationen, d. h.,
Daten, Adressen und Steuerzeichen (Funktionscodes) übertragen
werden. Die an den Bus angeschlossenen Systemeinheiten weisen
jeweils ein Prioritätsnetzwerk auf, durch das die Prioritätshierarchie
vorgegeben ist. Die von einer Recheneinheit (CPU)
für die Verarbeitung benötigten Daten (Operanden und Befehle)
müssen in der Regel aus einer anderen Einheit, z. B. einem Speicher
abgerufen werden. Bei dem in der obigen Patentschrift beschriebenen
Datenverarbeitungssystem ruft der Zentralprozessor
die benötigten Daten aus dem Speicher einzeln ab, indem er über
den Bus einen Lesezugriff zum Speicher anfordert, den er dann
bekommt, wenn er gegenüber den anderen Einheiten die höchste
Zugriffspriorität auf den Bus aufweist. Er kann jedoch mit jeder
Anfrage (request) immer nur ein Datenwort (Operand oder
Befehl) erhalten. Das beschriebene Datenverarbeitungssystem
ist jedoch so entworfen, daß der Bus in der Zwischenzeit, bis
das angeforderte Datenwort vom angerufenen Speicher für die
Übertragung zurück zur Zentraleinheit bereitgestellt ist,
nicht für andere Datenübertragungsvorgänge blockiert wird
und daß auch der betroffene Zentralprozessor nicht untätig
verharren muß, bis das angeforderte Datenwort vom Speicher eintrifft.
Es wird also in einem ersten Buszyklus zunächst die
Anfrage abgesetzt, wobei der Zentralprozessor der "Master"
und der angerufene Speicher der "Slave" ist. Sobald der Speicher
zu einem entsprechend späteren Zeitpunkt das angeforderte
Datenwort bereitgestellt hat, versucht dieser Zugriff zum Bus
zu bekommen, was in der Regel relativ schnell zum Erfolg führt,
da den Speichereinheiten grundsätzlich eine hohe Zugriffspriorität
zugewiesen ist. Innerhalb dieses Buszyklus wird nun das
angeforderte Datenwort vom angerufenen Speicher an den anfordernden
Zentralprozessor über den Bus übertragen, wobei
jetzt der Speicher der "Master" und der Zentralprozessor der
"Slave" ist.
Beim Stand der Technik benötigt man also für jede Anfrage
(request) zwei Busübertragungszyklen, einen für die Anfrage
selbst und einen für die Übertragung des einen Datenwortes.
Selbst wenn eine Sequenz von Datenworten aus dem Speicher
abzurufen ist, bei denen die Worte in aufeinanderfolgenden
Adressen stehen, wie dies bei Befehlssequenzen häufig vorkommt,
so ist jedesmal eine besondere, erneute Anfrage durch
den Zentralprozessor erforderlich. Dies beeinträchtigt stark
den zeitlichen Ablauf der Datenverarbeitung, weil für die
ständig erforderlichen Anfragen für jedes einzelne Datenwort
ein hoher Zeitaufwand erforderlich ist.
Es ist die Aufgabe der vorliegenden Erfindung, diesen Zeitaufwand
herabzusetzen und damit den Verarbeitungsdurchsatz
des Datenverarbeitungssystems zu steigern. Es ist dabei beabsichtigt,
diese Aufgabe so zu lösen, daß die Grundstruktur
des oben beschriebenen Datenverarbeitungssystems nach dem
Stand der Technik keine tiefgreifenden Veränderungen erfährt,
sondern dahingehend verbessert wird, daß mit der vorhandenen
Systemgrundstruktur neben Einzel- auch Mehrfachzugriffe
möglich sind.
Die vorstehende Aufgabe wird in der erfindungsgemäßen Schaltungsanordnung
durch die im Patentanspruch 1 gekennzeichneten
Schaltungsmerkmale gelöst.
Die vorliegende Erfindung wird nachstehend anhand von Ausführungsbeispielen
unter Bezugnahme auf die Zeichnung näher
erläutert; dabei zeigt
Fig. 1 eine allgemeine Blockbilddarstellung des erfindungsgemäßen
Datenverarbeitungssystems;
Fig. 2-6 Formate der verschiedenen über den gemeinsamen Bus
des Datenverarbeitungssystems übertragenen Daten;
Fig. 7 ein sich auf die Busoperationen beziehendes Zeitdiagramm;
Fig. 8 das Blockbild-Schaltungsdiagramm des Prioritätsnetzwerks
des Zentralprozessors;
Fig. 9 und 9A Blockbild-Schaltungsdiagramme des Prioritätsnetzwerks
und der Doppelwortlogik-Schaltkreise der Speichersteuereinheit;
Fig. 10 das Blockbild-Schaltungsdiagramm der Schnittstelle
der Speichersteuereinheit zum Bus;
Fig. 11 und 11A Blockbild-Schaltungsdiagramme der Schnittstelle
des Zentralprozessors zum Bus;
Fig. 12 Zeitdiagramme der Operationen des Zentralprozessors,
der Speichersteuereinheit und der über den Bus übertragenen
Signale;
Fig. 13 in einer Blockbilddarstellung die Adressierungstechnik
im vorliegenden Datenverarbeitungssystem; und
Fig. 14 die Anordnung der Speichermoduln in einer Speicheranordnung.
Der Bus gestattet einen Informationsaustausch zwischen zwei
beliebigen Einheiten während einer gegebenen Zeit über einen
gemeinsamen (gemultiplexten) Signalweg. Jede Einheit, die
einen Informationsaustausch wünscht, fordert einen Buszyklus
an. Wenn dieser Buszyklus zugeteilt ist, wird die betreffende
Einheit zur Mastereinheit und kann jede andere Einheit im
System als Slave-Einheit adressieren. Die meisten Informationsübertragungen
erfolgen in der Richtung vom Master zum
Slave. Manche Arten von Austausch über den Bus erfordern
einen Antwortzyklus (zum Beispiel ein einmaliges Lesen eines
Abrufspeichers). In Fällen, in denen ein Antwortzyklus erforderlich
ist, nimmt der Anfordernde die Rolle des Master ein,
zeigt an, daß eine Antwort erforderlich ist und kennzeichnet
sich selbst gegenüber der Slave-Einheit. Wenn die erforderliche Information
zur Verfügung steht (was von der Slave-Antwortzeit
abhängt), übernimmt der Slave dann die Rolle des Master und
veranlaßt eine Informationsübertragung zu der anfordernden
Einheit. Diese vervollständigt den einzigen Abrufaustausch,
der in diesem Fall zwei Buszyklen in Anspruch genommen hat.
Die Zwischenzeit zwischen diesen beiden Buszyklen (dem Anforderungszyklus
und dem Antwortzyklus) kann für anderen
Verkehr des Systems verwendet werden, der die beiden Einheiten
nicht betrifft.
Einige Arten des Bustransfers erfordern zwei Antwortzyklen
(zum Beispiel ein doppeltes Lesen eines Abrufspeichers). In
Fällen, in denen zwei Antwortzyklen erforderlich sind, übernimmt
die anfordernde Einheit die Rolle des Masters, gibt an,
daß zwei Antworten (jeweils eine Antwort für ein zu übertragendes
Wort) erforderlich sind, indem sie einen Zweifachabrufindikator
setzt und kennzeichnet sich selbst gegenüber dem Slave.
Bevor der erste Antwortzyklus veranlaßt wird, stellt die
Slave-Einheit fest, ob das erste und zweite Informationswort
innerhalb der antwortenden Einheit (Slave) vorhanden sind.
Wenn das erste Wort der erforderlichen Information zur Verfügung
steht (was von der Slave-Antwortzeit abhängt), übernimmt
die Slave-Einheit die Rolle des Masters und veranlaßt eine
Übertragung zu der anfordernden Einheit. Wenn beide Worte in
der antwortenden Einheit während des ersten Antwortzyklus
zur Verfügung stehen, gibt die antwortende Einheit der anfordernden
Einheit, wieder durch Setzen des Zweifachanforderungsindikators,
an, daß es sich um den ersten von zwei Antwortzyklen
handelt, und daß noch ein zweiter Antwortzyklus folgen
wird. Wenn das zweite Wort der erforderlichen Information
zur Verfügung steht, nimmt die Slave-Einheit wieder die Rolle
der Mastereinheit an und veranlaßt eine Übertragung zu
der anfordernden Einheit. Während des zweiten Antwortzyklus
setzt die antwortende Einheit den Zweifachanforderungsindikator
nicht, womit sie der anfordernden Einheit anzeigt, daß
es sich um den letzten Antwortzyklus handelt. Hiermit ist
der Zweifachzugriff vervollständigt, der in diesem Fall drei
Buszyklen in Anspruch genommen hat. Die Zwischenzeit zwischen
jedem dieser drei Zyklen kann auf dem Bus für anderen Verkehr
ausgenützt werden, der die beiden betrachteten Einheiten
nicht betrifft.
Im Falle einer Doppelzugriffsanordnung, bei der lediglich
ein Wort in der antwortenden Einheit zur Verfügung steht,
erwidert die antwortende Einheit, wenn die Information verfügbar
wird, mit einem einzigen Antwortzyklus, indem der
Zweifachanforderungsindikator nicht gesetzt wird, womit der
anfordernden Einheit angezeigt ist, daß der erste Antwortzyklus
auch der letzte sein wird. Diese vervollständigt den
Transfer, der zwei Buszyklen (ein Anforderungszyklus und
ein einziger Antwortzyklus) in diesem Falle in Anspruch genommen
hat. Wenn die Einheit, die die Zweifachzugriffanforderung
ausgelöst hat, noch ein zweites Wort der Information
wünscht, muß die anfordernde Einheit einen Anforderungszyklus
in Gang setzen und im Falle des Lesens eines Speichers die
Adresse des gewünschten zweiten Wortes liefern. Diese zweite
Anforderung, bei der es sich entweder um eine Einfach- oder
um eine Doppelzugriffsanforderung handeln kann, wird von
einer Slave-Einheit, die das erste Wort der angeforderten Information
enthält, im Zuge der zweiten Anforderung geliefert.
Eine Mastereinheit kann jede andere am Bus angeschlossene
Einheit als Slave-Einheit adressieren. Sie tut dies, indem
sie die Adresse der Slave-Einheit auf die Adressenleitungen
gibt. Es sind beispielsweise 24 Adressenleitungen vorhanden,
die jeweils eine von zwei Bedeutungsinhalten annehmen können,
was vom Zustand einer zugeordneten Steuerleitung abhängt, der
das Speicherbezugssignal (BSMREF) genannt wird. Wenn das
Speicherbezugssignal eine binäre Null ist, wird das Format
gemäß Fig. 2 an die Adressenleitungen gelegt, wobei die
vierundzwanzigste der Leitungen das am wenigsten signifikante
Bit führt. Es sei bemerkt, daß in der dieser Beschreibung die
Begriffe "binäre Null" und "binäre Eins" für niedriges und
hohes Potential der elektrischen Signale verwendet werden.
Wenn das Speicherbezugssignal eine binäre Eins ist, liegt
ein Bitformat an, wie es in Fig. 3 dargestellt ist. Wenn der
Speicher adressiert ist, können über den Bus bis zu 2²⁴ Bytes
direkt im Speicher adressiert werden. Wenn die Einheiten
Steuerinformationen, Daten oder Interrupts weiterleiten,
adressieren sie sich gegenseitig mit der Kanalnummer. Mit
der Kanalnummer können bis zu 2¹⁰ Kanäle über den Bus adressiert
werden. Zusammen mit der Kanalnummer wird ein Sechs-Bit-Funktionscode
übertragen, der angibt, welche der 2⁶
möglichen Funktionen von dieser Übertragung inbegriffen
sind.
Wenn eine Mastereinheit einen Antwortzyklus von der Slave-Einheit
anfordert, gibt sie dies der Slave-Einheit durch
Eins-Potential (Lesebefehl) auf einer Steuerleitung an,
die BSWRITE genannt wird. (Das andere Potential auf dieser
Leitung bedeutet, daß keine Antwort erforderlich ist, das
heißt es ist ein Schreibbefehl.) In diesem Fall gibt die
Mastereinheit ihre Identität der Slave-Einheit mittels einer
Kanalnummer an. Die Datenleitungen führen im Gegensatz zu
den Busadreßleitungen einen Code mit dem in Fig. 4 angegebenen
Format, um die Identität der Mastereinheit anzugeben,
wenn von der Slave-Einheit eine Antwort gewünscht wird. Der
Antwortzyklus wird an die anfordernde Einheit mittels eines
Kein-Speicher-Bezugs-Transfers gerichtet. Die Steuerleitung,
die als zweite Hälfte-Buszyklusleitung (BSSHBC-) bezeichnet
wird, wird aktiviert, um anzuzeigen, daß es sich hier um
den erwarteten Zyklus handelt (verglichen mit einem nicht
dringenden Transfer von einer anderen Einheit aus). Wenn eine
Mastereinheit einen Doppelzugriff von einer Slave-Einheit
anfordert, zeigt sie dies der Slave-Einheit durch 1 Potential
auf einer BSDBPL- bezeichneten Steuerleitung an. (Das andere
auf dieser Leitung auftretende Potential bedeutet, daß kein
Doppelzugriff, also ein Einfachzugriff gefordert wird.) Wenn
die Slave-Einheit auf die Anforderung der Mastereinheit antwortet,
wird ein Potentialzustand dieser selben Kontrolleitung
(BSDBPL-) dazu benutzt, der anfordernden Einheit anzuzeigen,
daß es sich bei diesem Antwortzyklus um den ersten
von zwei Antwortzyklen handelt (wobei der andere Potentialzustand
dann anzeigt, daß der letztere Antwortzyklus einer
Doppelzugriffoperation vorliegt).
Das verteilte Verbindungsunterbrechernetzwerk übernimmt die
Rolle des Zuteilens von Buszyklen und gleichzeitig des
Trennens der Anforderungen. Prioritäten werden auf der Basis
der räumlichen Lage am Bus verteilt, wobei die erste am
Bus angeschlossene Einheit die höchste Priorität hat. Die
Logik, die die Funktion der Unterbrechung übernimmt, ist auf
alle Einheiten verteilt, die an den Bus angeschlossen sind
und ist in vollem Umfang in dem US-Patent 40 30 075 beschrieben.
In einem typischen Ausführungsbeispiel des Systems wird dem
Speicher die höchste Priorität und dem Zentralprozessor die
niedrigste Priorität zugeteilt, wobei die anderen Einheiten
im Hinblick auf die Erfordernisse ihrer Funktionen angeordnet
sind. Die Logik, die erforderlich ist, um die Unterbrecherfunktion
für den Zentralprozessor zu bewirken, ist in Fig. 8
dargestellt, diejenige für den Speicher in Fig. 9.
Wie die Fig. 1 zeigt, weist ein typisches System demnach einen
Vielfachleitungsbus 200 auf, der mit einem Speicher 1-202
über N-204 verbunden ist, wobei solche Speicher die höchste
Priorität und der Zentralprozessor 206 die niedrigste Priorität
hat. Mit dem Bus können zum Beispiel auch eine Rechnereinheit
208 sowie verschiedene Steuereinheiten 210, 212 und
214 verbunden sein. Die Steuereinheit 210 dient beispielsweise
der Steuerung von vier peripheren Aufzeichnungseinheiten
216. Die Steuereinheit 212 wird dazu verwendet, eine
Steuerung des Nachrichtenaustauschs über ein Modem vorzunehmen,
wogegen die Steuereinheit 214 dazu verwendet wird, die
Massenspeicher zu steuern, wie zum Beispiel eine periphere
Bandspeichereinheit 218 oder eine periphere Plattenspeichereinheit
220. Wie vorstehend besprochen, kann jede der mit
dem Bus 200 verbundenen Einrichtungen einen Speicher oder
eine beliebige andere Einheit adressieren, die mit dem Bus
verbunden ist. So kann zum Beispiel die periphere Bandspeichereinheit
218 über die Steuereinheit 214 den Adressenspeicher
202 ansteuern.
Wie nachstehend erläutert werden wird, weist jede der direkt
mit dem Bus verbundenen Einheiten eine Unterbrecherlogik auf,
wie sie im US-Patent 40 30 075 dargestellt und beschrieben
ist. Ferner enthält jede dieser Einheiten eine Adressenlogik,
wie sie die Fig. 9 und 9A für den Fall einer typischen
Doppelzugriffspeicher-Adressenlogik und Fig. 11 und 11A für
eine typische Doppelzugriff-Zentralprozessor-Adressenlogik
zeigen. Die Adressenlogik für eine typische Basiseinheitsteuerung
ist ebenso im US-Patent 40 30 075 beschrieben. Einheiten,
die nicht direkt mit dem Bus verbunden sind, wie die
Einheiten 216, 218 und 220, weisen ebenfalls eine Unterbrecherlogik
auf.
Für jeden Endpunkt in einem gesonderten System besteht eine
Kanalnummer mit Ausnahme der Verarbeitungseinheiten in Form
eines Speichers, die durch die Speicheradresse identifiziert
werden. Jeder derartigen Einrichtung wird eine Kanalnummer
zugeordnet. Sowohl im Vollduplexbetrieb als auch im Halbduplexbetrieb
arbeitende Einrichtungen benötigen zwei Kanalnummern.
Einheiten, die lediglich Informationen aufnehmen
oder solche, die lediglich Informationen abgeben benötigen
jeweils lediglich eine Kanalnummer. Die Kanalnummern sind
leicht änderbar und dementsprechend können ein oder mehrere
Hexadezimal-Drehschalter (Einstellknopfschalter) für jede
solcher Einheiten verwendet werden, die mit dem Bus verbunden
sind, um die Adresse der Einheit anzugeben oder einzustellen.
Wenn ein System eingerichtet wird, kann die Kanalnummer für
die betreffende mit dem Bus verbundene Einheit in für dieses
System geeigneter Weise geartet sein. Einheiten mit Mehrfacheingängen/-ausgängen
(I/O) erfordern gewöhnlich einen Block
von aufeinanderfolgenden Kanalnummern. So ist beispielsweise
für eine Einheit mit einem Vierfachanschluß ein Drehschalter
erforderlich, mit dem die sieben höherwertigen Bits einer
Kanalnummer angegeben werden, wobei die drei niedrigstwertigen
Bits dazu dienen, den jeweiligen Anschluß anzugeben und
die Eingangsanschlüsse von den Ausgangsanschlüssen zu unterscheiden.
Die Kanalnummer einer Slave-Einheit erscheint auf
dem Adressenbus bei allen nicht zu einem Speicher führenden
Übertragungen, wie dies in Fig. 3 gezeigt ist. Jede Einheit
vergleicht die Nummer mit ihrer eigenen intern gespeicherten
Nummer (intern gespeichert mit Hilfe der Drehschalter). Die
Einheit, die einen Vergleich durchführt, ist per Definition
die Slave-Einheit und muß in diesem Zyklus antworten. Gewöhnlich
werden nicht zwei Punkte in einem einzigen System mit
derselben Kanalnummer bezeichnet. Wie die Fig. 3 zeigt, kann
eine spezielle Bus- bzw. I/O-Funktion durchgeführt werden,
die durch die Bits 18 bis 23 auf den Busadreßleitungen für
nicht mit Speichern in Zusammenhang stehende Informationsübertragungen
bezeichnet wird. Funktionscodes dienen dazu,
Ausgabe- und Eingabeoperationen zu kennzeichnen. Alle ungeraden
Funktionscodes bezeichneten Ausgabeübertragungen (Schreiben),
während alle geraden Funktionscodes Eingabeübertragungsanforderungen
(Lesen) bezeichnen. So kann ein Funktionscode
von 00 (Basis 16) dazu verwendet werden, einen Einfachspeicherabruf
zu kennzeichnen und ein Funktionscode von
20 (Basis 16) kann dazu verwendet werden, eine Doppelleseoperation
zu kennzeichnen. Der Zentralprozessor prüft die
am wenigsten signifikanten Bits 18-23 des 6-Bit-Funktionscodefeldes
für einen Eingabe-/Ausgabebefehl und benutzt eine
Busleitung, um die Richtung anzuzeigen.
Es gibt verschiedene Eingabe- und Ausgabefunktionen. Eine der
Ausgabefunktionen ist ein Befehl, durch den eine Datenmenge,
beispielsweise 16 Bits, vom Bus auf den Kanal gegeben werden.
Die Bedeutung der einzelnen Datenbits ist komponentenspezifisch,
die Datenmenge wird jedoch dazu benutzt, die Bedeutung
der Daten anzugeben, die zu speichern, auszusenden, zu übertragen
usw. sind, und zwar in Abhängigkeit von der Funktion
der betreffenden Komponente. Eine andere solche Ausgabefunktion
ist ein Befehl, durch den beispielsweise eine Menge
von 24 Bit in ein nicht dargestelltes Kanalregister geladen
wird. Die Adresse ist eine Speicher-Byte-Adresse und gibt
die Anfangsposition im Speicher an, in der im Kanal mit der
Aufnahme oder der Ausgabe von Daten begonnen wird. Verschiedene
andere Ausgangsfunktionen umfassen einen Ausgabe-Rang-Befehl
der die Größe des Pufferspeichers angibt, der für
den speziellen Informationsaustausch dem Kanal zugeordnet ist,
ferner einen Ausgabe-Steuer-Befehl, der durch seine einzelnen
Bit besondere Antworten veranlaßt, ferner Ausgabe-Task-Funktionen
wie zum Beispiel Druckbefehle, ferner eine Ausgabe-Konfiguration,
die ein Befehl ist, mit dem bestimmte Funktionen
angezeigt werden, wie zum Beispiel die Terminalgeschwindigkeit,
der Kartenlesemodus usw. sowie ein Ausgabe-Interrupt-Befehl,
der beispielsweise dazu führt, daß ein 16-Bit-Wort
in den Kanal gegeben wird, das ein in Fig. 5 gezeigtes Format
aufweist. Die ersten 10 Bits zeigen die Kanalnummer des Zentralprozessors
an und die Bits 10 bis 15 die Programmunterbrechungsebene.
Auf eine Unterbrechung hin wird die Kanalnummer
des Zentralprozessors auf dem Adressenbus zurückgesendet,
wogegen die Bezeichnung für die Unterbrechungsebene auf
dem Datenbus zurückgesendet wird.
Zu den Eingabefunktionen gehören auch Funktionen, die den
Ausgabefunktionen ähnlich sind, mit der Ausnahme, daß in diesem
Fall die Eingabedaten von einer Einheit zum Bus übertragen
werden. Demnach gehören zu den Eingabefunktionen die Eingabedaten,
die Eingabeadresse und die Eingabe-Rang-Befehle, wie
auch die Aufgaben-Konfigurations- und Eingabe-Steuer-Befehle.
Hinzu kommt der Einheiten-Identifizierungs-Befehl, wobei in
dem Kanal die Einheiten-Identifizierungsnummer auf den Bus
gegeben wird. Es gehören ferner zwei Eingabebefehle hierzu,
durch die ein Statuswort 1 oder ein Statuswort 2, wie gerade
erläutert, vom Kanal auf den Bus gegeben wird.
Die Angabe durch das Statuswort 1 zeigt zum Beispiel unter anderem,
ob die betreffende Einheit sich in Funktion befindet
oder nicht, ob sie bereit ist, vom Bus Information aufzunehmen,
ob ein Fehlerstatus vorliegt, oder ob Bereitschaft erforderlich
ist. Das Statuswort macht beispielsweise unter anderem
eine Parity-Angabe, gibt an, ob es sich um einen nicht
korrigierbaren oder um einen korrigierten Speicherfehler
handelt, ob ein zugelassener Befehl vorliegt oder beispielsweise
ob dieser sich auf eine nicht existierende Einheit oder
ein nicht existierendes Betriebsmittel bezieht.
Wie vorstehend erläutert, wird eine einzige Einheitenidentifizierungsnummer
jeder verschiedenen Einheitstype zugeteilt,
die mit dem Bus verbunden wird. Diese Nummer erscheint auf
dem Bus als Antwort auf den Eingabefunktionsbefehl, der als
Eingabeeinheits-Identifizierung bezeichnet wird. Diese Nummer
wird in dem in Fig. 6 gezeigten Datenformat auf den Bus
gegeben. Zweckmäßigerweise ist diese Nummer in 13 Bits, die
die Einheit bezeichnen (Bits 0 bis 12) und in 3 Bits unterteilt,
die bestimmte Funktionsarten der Einheit bei Bedarf
angeben (Bits 13 bis 15).
Eine Einheit, die den Zentralprozessor unterbrechen möchte,
fordert einen Buszyklus an. Wenn dieser Buszyklus zugeteilt
worden ist, gibt die Einheit ihren Unterbrechervektor auf
den Bus, der aus der Kanalnummer des Zentralprozessors und
der Nummer der Unterbrechungsebene besteht. Die Einheit liefert
somit als Unterbrechungsvektor die Nummer des Masterkanals
und die Nummer dessen Unterbrechungsebene. Wenn es
sich um die Kanalnummer des Zentralprozessors handelt, nimmt
dieser die Unterbrechung dann an, wenn die angebotene Ebene
zahlenmäßig kleiner als die gerade vorliegende interne Zentralprozessorebene
ist, und wenn der Zentralprozessor nicht
gerade einen anderen Unterbrechungsbefehl angenommen hat.
Die Annahme wird durch ein Bus-ACK-Signal (BSACKR-) angezeigt.
Wenn der Zentralprozessor den Unterbrechungsbefehl nicht annehmen
kann, wird ein NAK-Signal zurückgesendet (BSNAKR-).
Einheiten, die ein NAK-Signal empfangen (das manchmal auch
als NACK-Signal bezeichnet wird) unternehmen einen erneuten
Versuch, wenn vom Zentralprozessor ein Signal empfangen wird,
das die Wiederaufnahme einer normalen Unterbrechung anzeigt
(BSRINT-). Der Zentralprozessor sendet dieses Signal aus,
wenn er eine Ebenenveränderung vollendet hat und daher in der
Lage ist, einen Unterbrechungsbefehl wieder anzunehmen. Die
Kanalnummer wird zur Verwendung in den Vektor aufgenommen, da
mehr als ein Kanal sich auf der Unterbrechungsebene befinden
kann. Die Unterbrechungsebene 0 ist von besonderer Bedeutung,
da sie besagt, daß die Einheit nicht unterbrechen soll.
Fig. 7 zeigt das Zeitdiagramm des Busses und wird nachstehend
noch eingehender besprochen. Allgemein liegen die Zeitverhältnisse
jedoch wie folgt: Der Zeitgeber ist für alle
Übertragungen von einer Mastereinheit zu einer Slave-Einheit
maßgeblich, die an den Bus angeschlossen sind. Die Geschwindigkeit,
mit der die Übertragung stattfinden kann, ist von
der Konfiguration des Systems abhängig. Das bedeutet, daß je
mehr Einheiten an den Bus angeschlossen sind, und je länger
der Bus ist wegen der Laufzeitverzögerungen desto länger es
dauert, um über den Bus eine Verbindung zustande zu bringen.
Auf der anderen Seite verringert eine kleinere Anzahl von
Einheiten die Antwortzeit. Dementsprechend ist das Buszeitraster
tatsächlich asynchron. Eine Mastereinheit, die einen
Buszyklus wünscht, macht eine Busanforderung. Das Signal
BSREQT- ist allen Einheiten am Bus gemeinsam, und wenn es
den Binärwert 0 annimmt, zeigt es an, daß wenigstens eine Einheit
einen Buszyklus anfordert. Wenn der Buszyklus zugeteilt
ist, wird das Signal BSDCNN- zu einer binären Null, womit angezeigt
ist, daß die Unterbrechungsfunktion, die noch eingehender
anhand der Fig. 8 und 9 erläutert werden wird,
vervollständigt ist, und daß eine bestimmte Mastereinheit nun
die Steuerung auf dem Bus übernommen hat. Zu dem Zeitpunkt,
zu dem das Signal BSDCNN- binär 0 wird, gibt der Master die
zu übertragende Information auf den Bus. Jede Einheit am Bus
leitet vom Signal BSDCNN- einen internen Abtastimpuls ab.
Der Abtastimpuls wird zum Beispiel um angenähert 60 Nanosekunden
vom Empfang des binären Nullzustands des BSDCNN-Signals
aus gerechnet verzögert. Wenn in der Slave-Einheit
die Verzögerungszeit abgelaufen ist, sind die Laufzeitänderungen
auf dem Bus berücksichtigt und jede Slave-Einheit ist
in der Lage, ihre Adresse (Speicheradresse oder Kanalnummer)
zu erkennen. Die adressierte Slave-Einheit kann nun eine von
drei Antworten abgeben, entweder ein ACK, NAK oder ein WAIT-Signal
oder genauer gesagt ein BSACKR-, ein BSNAKR- oder ein
BSWAIT-Signal. Die Antwort wird auf den Bus gegeben und
dient als ein Signal an den Master, daß die Slave-Einheit die
angeforderte Aktion erkannt hat. Die Steuerleitungen nehmen
dann wieder den binären Nullzustand in einer Zeitfolge an,
wie sie in Fig. 7 dargestellt ist. Somit ist die Kommunikation
über den Bus völlig asynchron und jede Übertragung findet
immer nur dann statt, wenn die vorhergehende Übertragung
empfangen worden ist. Bei einzelnen Einheiten werden daher
verschiedene Zeitspannen zwischen dem Abtastimpuls und der
Übertragung des ACK-Signals bzw. der übrigen Signale benötigen,
was von dem inneren Aufbau der Einheiten abhängt. Es ist eine
Buszeitsperre vorgesehen, um mögliche nicht programmierte
Stops in einer Schleife zu vermeiden.
Information, die über den Bus übertragen wird, kann zum Beispiel
50 Signale bzw. Bits umfassen, die wie folgt unterteilt
sein können: 24 Adreßbits, 16 Datenbits, 5 Steuerbits und
5 Integritätsbits. Diese verschiedenen Signale werden nachstehend
erläutert.
Die Unterbrecherfunktion, die unter Bezugnahme auf die Fig. 8
und 9 eingehender erläutert wird, ist diejenige, durch
die mehrere gleichzeitige Anforderungen von verschiedenen
Einheiten nach Bedienung und Zuteilung von Buszyklen bedient
werden, und zwar auf der Basis eines Lageprioritätssystems.
Wie vorstehend angegeben, hat der Speicher die höchste Priorität,
der Zentralprozessor dagegen hat die niedrigste Priorität,
und beide Einheiten liegen räumlich an gegenüberliegenden
Enden des Busses 200. Andere Einheiten sind zwischen
den erwähnten Einheiten angeschlossen und weisen Prioritäten
auf, die relativ zu ihrer Annäherung an das Ende des Busses
ansteigen, an dem der Speicher angeschlossen ist. Die Prioritätslogik
befindet sich in jeder der direkt an den Bus angeschlossenen
Einheiten und dient dazu, die Unterbrecherfunktion
durchzuführen. Jedes Netzwerk dieser Prioritäten
umfaßt ein Zuteilungs-Flip-Flop. Zu jedem Zeitpunkt kann nur
ein einziges bestimmtes Zuteilungs-Flip-Flop gesetzt sein
und die betreffende Einheit ist dann per Definition die
Mastereinheit für den betreffenden Buszyklus. Jede Einheit
kann eine Benutzeranforderung zu jeder Zeit abgeben, wodurch
ihr Benutzer-Flip-Flop gesetzt wird. Es können daher zu jeder
Zeit viele Benutzer-Flip-Flops gesetzt sein, von denen jedes
einen zukünftigen Buszyklus darstellt. Darüber hinaus weist
jede am Bus angeschlossene Einheit ein Anforderungs-Flip-Flop
auf. Wenn alle Einheiten als Gesamtheit betrachtet werden,
können die Anforderungs-Flip-Flops als ein Anforderungsregister
betrachtet werden. Das Ausgangssignal dieses Registers
ist es, das das Unterbrecheernetzwerk beliefert, das so funktioniert,
daß es lediglich ein Zuteilungs-Flip-Flop setzt,
unabhängig davon, wieviele Anforderungen vorliegen. Genauer
gesagt, wenn keine Anforderungen vorliegen, dann würde auch
kein Anforderungs-Flip-Flop gesetzt sein. Das erste gesetzte
Benutzer-Flip-Flop würde veranlassen, daß sein Anforderungs-Flip-Flop
gesetzt wird. Dieses würde daraufhin nach einer
kurzen Verzögerungszeit, wie nachstehend noch beschrieben
werden wird, andere Einheiten daran hindern, ihre Anforderungs-Flip-Flops
zu setzen. Was also passiert ist, daß von
allen Benutzeranforderungen für eine vorgegebene Zeitspanne
(Verzögerungszeit) sozusagen ein Schnappschuß gemacht wird.
Das Ergebnis ist, daß eine Anzahl von Anforderungs-Flip-Flops
während dieser Verzögerungszeit gesetzt werden, was von ihrer
Ankunft abhängt. Um sicherzustellen, daß die Ausgangssignale
der Anforderungs-Flip-Flops stabil bleiben, bewirkt jede
Einheit eine derartige Verzögerung, daß eine solche Stabilisierung
eintritt. Ein bestimmtes Zuteilungs-Flip-Flop wird
gesetzt, wenn bei der zugehörigen Einheit das Anforderungs-Flip-Flop
gesetzt ist und die Verzögerungszeit verstrichen
ist und keine Einheit mit höherer Priorität einen Buszyklus
wünscht. Es wird dann nach einer weiteren Verzögerungszeit
ein Abtastimpuls erzeugt, und schließlich wird das Zuteilungs-Flip-Flop
zurückgesetzt, wenn die Mastereinheit ein ACK, NAK
oder WAIT-Signal von der Slave-Einheit empfängt.
Wie vorstehend erläutert, sind drei Slave-Antworten möglich,
nämlich das ACK, das WAIT oder das NAK-Signal. Außerdem gibt
es einen vierten Zustand, in dem überhaupt kein Antwortsignal
gesendet wird. Für den Fall, daß keine an den Bus angeschlossene
Einheit die Übertragung ihrer eigenen Adresse erkennt,
wird keine Antwort abgegeben. Es wird dann eine Zeitsperrfunktion
wirksam, und es wird ein NAK-Signal empfangen, das
den Bus löscht. Wenn die Slave-Einheit in der Lage ist, die
auf dem Bus vom Master übertragene Information aufzunehmen
und dies auch tun möchte, dann wird ein ACK-Signal erzeugt.
Die WAIT-Antwort wird von einer Slave-Einheit erzeugt, wenn
diese vorübergehend belegt ist und die übertragene Information
im Augenblick nicht aufnehmen kann. Auf den Empfang des
WAIT-Signals hin unternimmt die Mastereinheit erneut einen
Versuch während des nächsten ihr zugeteilten Buszyklus und
fährt so fort, bis sie erfolgreich ist. Einige der Gründe,
weswegen von einer Slave-Einheit eine WAIT-Antwort ausgesendet
wird, wenn der Zentralprozessor der Master ist, liegen
zum Beispiel dann vor, wenn der Speicher eine Slave-Einheit
ist und er auf die Anforderung einer anderen Einheit antwortet,
oder wenn eine Steuereinheit eine Slave-Einheit ist, zum
Beispiel dann, wenn die Steuereinheit auf die Antwort vom
Speicher wartet, oder wenn die Steuereinheit noch nicht den
vorangegangenen Eingabe-/Ausgabe-Befehl verarbeitet hat. Das
NAK-Signal, das von der Slave-Einheit abgegeben wird, bedeutet,
daß sie zu diesem Zeitpunkt einen Informationstransfer
aufnimmt. Auf den Empfang eines NAK-Signals hin wird eine
Mastereinheit nicht unmittelbar einen erneuten Versuch unternehmen,
sondern einen spezifischen Arbeitsgang ausführen, der
von der Art der Mastereinheit abhängt.
Wie vorstehend allgemein erläutert worden ist, treten auf dem
Bus Basiszeitsignale auf, die die Kommunikation vervollständigen.
Diese fünf Signale, wie sie vorstehend erläutert wurden,
sind das Busanforderungssignal (BSREQT-), das, wenn es
binär Null ist, anzeigt, daß eine oder mehrere Einheiten am
Bus den Buszyklus angefordert haben; ferner das Datenzykluszustandssignal
(BSDCNN-), das, wenn es binär Null ist, anzeigt,
daß eine bestimmte Mastereinheit einen Informationsaustausch
vornimmt und eine Information für einige besondere Slave-Einheiten
auf den Bus gegeben hat; ferner das ACK-Signal
(BSACKR-), das ein von einer Slave-Einheit an die Mastereinheit
gegebenes Signal ist und dadurch, daß es das Signal zur
binären 0 macht, anzeigt, daß die Slave-Einheit den Informationsaustausch annimmt;
ferner das NAK-Signal (BSNAKR-), das ein von der Slave-Einheit
an die Mastereinheit gegebenes Signal ist und der
Mastereinheit, dann, wenn es binär Null ist, anzeigt, daß sie
den Informationsaustausch ablehnt; und schließlich das WAIT-Signal
(BSWAIT-), das ein von der Slave-Einheit an die Mastereinheit
gesendetes Signal ist und bei binärer Null anzeigt,
daß die Slave-Einheit die Entscheidung über den Informationsaustausch
aufschiebt.
Darüber hinaus und wie vorstehend angedeutet, können bis zu
50 Informationssignale als Informationsinhalt eines jeden
Buszyklus übertragen werden. Diese Signale sind für die Benutzung
durch Slave-Einheiten an der Vorderflanke des Abtastimpulses
bestimmt. Die ganzen nachfolgenden Erläuterungen
sind beispielhaft, und es sei darauf hingewiesen, daß die
Anzahl der Bits für die verschiedenen Funktionen auch variiert
sein kann. So können 16 Leitungen bzw. Bits für die
Daten und insbesondere für die Signale BSDT00- bis BSDT15-
vorgesehen sein. Für die Adressen, und genauer gesagt für die
Signale BSAD00- bis BSAD23- sind 24 Leitungen vorgesehen. Für
Das Speicherbezugssignal (BSMREF-) ist ein Bit vorgesehen,
das, wenn es binär Null ist, anzeigt, daß die Adressenleitungen
eine Speicheradresse führen. Wenn das Speicherbezugssignal
den Binärwert Eins annimmt, zeigt es an, daß die Adressenleitungen
eine Kanaladresse und einen Funktionscode führen,
wie dies in Fig. 3 gezeigt ist. Es ist auch ein Byte-Signal
(BSBYTE-) vorgesehen, das dann, wenn es den Binärwert
Null hat, anzeigt, daß der augenblickliche Austausch sich um
einen Byte-Transfer und nicht um einen Wort-Transfer handelt,
wobei ein Wort typischerweise zwei Bytes umfaßt. Es gibt
auch ein Schreibsignal (BSWRIT-), das beim Binärwert Null
anzeigt, daß die Slave-Einheit aufgefordert ist, an die
Mastereinheit Informationen zu liefern. Ein besonderer Bustransfer
liefert diese Information. Außerdem ist ein Zweite-Hälfte-Bus-Zyklussignal
(BSSHBC-) vorgesehen, das von der
Mastereinheit benutzt wird, um der Slave-Einheit anzuzeigen,
daß es sich um die vorhergehend angeforderte Information handelt.
Von der Zeit an, zu der ein Paar von Einheiten am Bus
eine Leseoperation aufgenommen hat (was durch das Signal
BSWRIT- angezeigt wird), bis zu Beginn des zweiten Zyklus,
in dem der Transfer beendet wird (angezeigt durch BSSHBC-),
sind beide Einheiten für alle anderen Einheiten am Bus besetzt.
Es ist auch ein Doppelzugriffsignal bei den 50 auf
dem Bus auftretenden Signalen vorgesehen. Das Doppelzugriffsignal
(BSDBPL-) wird dazu verwendet, eine Doppelzugriffoperation
zu veranlassen. Es handelt sich hierbei um einen
Multizyklustransfer über den Bus, bei dem eine Mastereinheit
während eines einzigen Anforderungszyklus zwei Informationswörter
von einer Slave-Einheit anfordert. Die Slave-Einheit
antwortet auf die Doppelanforderung, indem sie zwei Antwortzyklen
veranlaßt, jeweils einen für eines der angeforderten
Datenwörter. Hierdurch wird der Verkehr auf dem Bus dadurch
verringert, daß der Mastereinheit zwei Informationswörter in
drei Buszyklen (einem Anforderungszyklus, einem ersten Antwortzyklus
und einem zweiten Antwortzyklus) zugeführt werden.
Im Gegensatz hierzu stehen vier Buszyklen (erster Anforderungszyklus,
erster Antwortzyklus, zweiter Anforderungszyklus
und zweiter Antwortzyklus), die erforderlich sind, wenn zwei
einzelne Zugriffoperationen durchgeführt werden. Als Beispiel
für eine Doppelzugriffinformation ist der Fall zu nennen,
wenn der Zentralprozessor zwei Wörter vom Speicher anfordert,
in welchem Falle folgende drei Buszyklen stattfinden. Während
des ersten Buszyklus, das Anforderungszyklus, ist das
Signal BSMREF- binär Null, was anzeigt, daß der Adreßbus die
Speicheradresse des ersten Wortes enthält, der Datenbus enthält
die Kanalnummer des Zentralprozessors, das Signal
BSWRIT- ist binär Eins, womit angezeigt ist, daß eine Antwort
(Speicher lesen) angefordert wird, das Signal BSDBPL-
ist binär Null, was anzeigt, daß es sich um eine Doppelzugriffoperation
handelt und darüber hinaus ist das Signal
BSSHBC- binär Eins, was anzeigt, daß es sich nicht um die
zweite Hälfte des Buszyklus handelt. Während der zweiten
Hälfte des Buszyklus der Doppelzugriffoperation enthält der
Adreßbus die Kanalnummer des Zentralprozessors, der Datenbus
enthält das erste Wort der Speicherinformation, das BSSHBC-Signal
ist binär Null, womit die zweite Hälfte des Buszyklus
(Leseantwort) bezeichnet ist, das BSDBPL-Signal ist binär Null, was
anzeigt, daß es sich um den ersten Antwortzyklus handelt,
und daß nun ein zweiter Antwortzyklus folgt, das BSMREF-Signal
ist binär Eins, und das BSWRIT-Signal ist nicht durch
den Speicher gesetzt und daher binär Eins. Während des dritten
Buszyklus, des zweiten Antwortzyklus, enthält der Adreßbus
die Kanalnummer des Zentralprozessors, der Datenbus enthält
das zweite Wort der Speicherinformation, das BSSHBC-Signal
ist binär Null und zeigt damit eine Leseantwort an, das
BSDBPL-Signal ist binär Eins und zeigt an, daß es sich um den
letzten Antwortzyklus handelt, das BSMREF-Signal ist binär
Eins, und das BSWRIT-Signal ist binär Eins. Wie bei allen
anderen Operationen kann die Zwischenzeit auf dem Bus zwischen
allen drei Buszyklen der Doppelzugriffoperation von anderen
Einheiten benutzt werden, die nichts mit dem erwähnten Informationsaustausch
zu tun haben.
Darüber hinaus ist zu verschiedenen Fehler- und Parity-Signalen
ein Sperrsignal bei den 50 Informationssignalen auf
dem Bus. Das Sperrsignal (BSLOCK-) wird dazu benutzt, eine
Sperroperation zu bewirken. Es handelt sich hier um eine
Multizyklus-Busübertragung, wobei eine Einheit ein Wort oder
einen Mehrfachwortbereich des Speichers lesen oder schreiben
kann, ohne daß eine andere Einheit in der Lage ist, mit einem
anderen Sperrbefehl die Operation zu unterbrechen. Hierdurch
wird die Schaltung des Systems zu einem Multiprozessorsystem
erleichtert. Die Wirkung der Sperroperation besteht darin,
einen Belegtzustand über die Dauer des Speicherzyklus hinaus
für verschiedene Arten von Operationen zu verlängern. Andere
Einheiten, die versuchen, Sperrsignale abzusetzen, bevor der
letzte Zyklus abgeschlossen ist, empfangen eine NAK-Antwort.
Der Speicher antwortet jedoch noch auf andere Speicheranforderungen.
Ein Beispiel für eine solche Sperroperation ist der
Lese-Modifizier-Schreib-Zyklus, dessen drei Buszyklen folgendermaßen
geartet sind. Während des ersten Buszyklus führt
der Adreßbus die Speicheradresse, der Datenbus die Kanalnummer
der verursachenden Einheit, das Signal BSWRIT- ist binär Eins,
was anzeigt, daß eine Antwort erwartet wird, das Signal
BSLOCK- ist binär Null und das Signal BSSHBC- ist binär Eins,
wodurch angezeigt wird, daß es sich um eine Sperroperation
handelt; ferner ist das Signal BSMREF- binär Null. Während
des zweiten Buszyklus der Lese-Modifizier-Schreib-Operation
führt der Adreßbus die Kanalnummer der verursachenden Einheit,
der Datenbus führt die Speicherinformation, das BSSHBC-Signal
ist binär Null und bezeichnet damit eine Leseantwort und das
Signal BSMREF- ist binär Eins. Während des dritten Buszyklus
führt der Adreßbus die Speicheradresse, der Datenbus führt
die Speicherdaten, das BSLOCK-Signal ist binär Null und das
BSSHBC-Signal ist binär Null, womit die Vervollständigung der
erwähnten Operation angezeigt wird, ferner ist das Signal
BSMREF- binär Null. Darüber hinaus ist das BSWRIT-Signal binär
Null, was bedeutet, daß keine Antwort erforderlich ist. Wie
bei allen anderen Operationen können die Zwischenzeiten zwischen
zwei der drei Buszyklen der beschriebenen Operation
auf dem Bus von anderen Einheiten, die nichts mit dem beschriebenen
Informationsaustausch zu tun haben, in Anspruch genommen
werden.
Zusätzlich zu den anderen Steuersignalen, kann auch das Buslöschsignal
(BSMCLR-) auf den Bus gegeben werden, das normalerweise
binär Eins ist und das den Binärwert Null annimmt,
wenn der Masterlöschknopf, der sich auf dem Schaltpult des
Zentralprozessors befindet, betätigt wird. Das Buslöschsignal
wird auch binär Null während der Phase der Inbetriebnahme.
Das Wiedereinschalte-Unterbrechersignal (BSRINT) ist ein Impuls
kurzer Dauer, der vom Zentralprozessor immer dann erzeugt
wird, wenn dieser eine Ebenenänderung abschließt. Wenn
dieses Signal empfangen wird, wird jede Slave-Einheit, die
vorhergehend unterbrochen hatte und dabei zurückgewiesen
wurde, wieder einen Interrupt vornehmen.
Das Zeitdiagramm gemäß Fig. 7 wird nunmehr ins einzelne gehend
im Hinblick auf den Adressenlogikkreis des Speichers und der
Zentralprozessoreinheit erläutert.
Wie die Fig. 7 zeigt, weist jeder Buszyklus drei unterscheidbare
Teile auf, genauer gesagt die Periode (7-A bis 7-C),
während der die anfordernde Einheit mit der höchsten Priorität
den Bus belegt, die Periode (7-C bis 7-E), während der
die Mastereinheit eine Slave-Einheit ruft, und die Periode
(7-E bis 7-G), während der die Slave-Einheit antwortet. Wenn
der Bus unbelegt ist, weist das Busanforderungssignal
(BSREQT-) den Binärwert Eins auf. Die Impulsflanke beim Übergang
dieses Signals in den negativen Wert zum Zeitpunkt
7-A setzt einen Prioritätsnetzzyklus in Gang. Innerhalb des
Systems ist eine asynchrone Verzögerung möglich, die (zum
Zeitpunkt 7-B) eine Einstellung des Prioritätnetzes und eine
Auswahl einer Mastereinheit ermöglicht. Das nächste auf dem
Bus auftretende Signal ist das BSDCNN- oder Datenzykluszustandssignal.
Der Übergang dieses Signals zum Binärwert Null
zum Zeitpunkt 7-C bedeutet, daß einer Mastereinheit die Benutzung
des Busses zugeteilt worden ist. Daraufhin bedeutet die
zweite Phase der Busoperation, daß die Mastereinheit ausgewählt
worden ist und nun Informationen auf die Daten-, Adreß-
und Steuerleitungen des Busses 200 an die Slave-Einheit senden
kann, die sie bezeichnet.
Die Slave-Einheit bereitet sich darauf vor, die dritte Phase
der Busoperation einzuleiten, die mit der Abfallflanke des
Abtast- oder BSDCND-Signals zum negativen Wert hin beginnt.
Das Abtastsignal wird verzögert, beispielsweise um 60 Nanosekunden
von der erwähnten Abfallflanke an, wozu die Verzögerungsleitung
25 gemäß Fig. 8 dient. Aufgrund der Abfallflanke
des BSDCND-Signals zum Zeitpunkt 7-D kann die Slave-Einheit
nun prüfen, ob es sich um ihre Adresse handelt, und ob sie
aufgefordert ist, eine Entscheidung zu treffen, welche Antwort
zu erzeugen ist. In einem typischen Fall veranlaßt dies
ein Bestätigungssignal (BSACKR-), das von der Slave-Einheit
erzeugt wird, oder in nicht typischen Fällen ein BSNAKR- oder
BSWAIT-Signal, oder sogar das Fehlen einer Antwort (für den
Fall, daß die Adresse einer nicht existierenden Slave-Einheit
angegeben wird). Die Abfallflanke des Bestätigungssignals zur
Zeit 7-E veranlaßt, wenn es von der Mastereinheit empfangen
worden ist, daß das Mastersignal BSDCNN- zum Zeitpunkt 7-F
den Binärwert Eins annimmt. Das Abtastsignal geht wieder in
den Binärzustand Eins zum Zeitpunkt 7-G über, der durch die
Verzögerungsleitung 25 um eine Zeitspanne gegenüber dem Zeitpunkt
7-F verzögert auftritt. Demnach werden in der dritten
Phase der Busoperation die auf dem Bus auftretenden Daten und
Adressen durch die Slave-Einheit gespeichert und das Ende des
Buszyklus wird eingeleitet. Das Ende Buszyklus, das
heißt der Zeitpunkt des Übergangs des BSDCNN-Signals zum
Binärwert Eins gibt eine andere Prioritätsnetzauflösung dynamisch
frei. Zu diesem Zeitpunkt kann ein Busanforderungssignal
erzeugt werden, und wenn ein solches nicht empfangen wird, bedeutet
dies, daß der Bus wieder seinen Freizustand annimmt,
und dementsprechend das BSREQT-Signal in den Binärzustand
Null übergeht. Wenn zu diesem Zeitpunkt des Busanforderungssignal
vorhanden ist, das heißt der Binärwert Null, wie gezeigt,
startet es den asynchronen Prioritätsnetzprozeß, auf
den hin eine weitere Abfallflanke des BSDCNN-Signals folgt,
die gestrichelt zu den Zeitpunkten 7-I und 7-J gezeigt ist.
Es sei bemerkt, daß diese Prioritätsnetzauflösung nicht wartepflichtig
ist oder durch eine Anstiegsflanke des Bestätigungssignals
zum Zeitpunkt 7-H eingeleitet werden muß, sondern zum
Zeitpunkt 7-F, der dem Übergang des Busses in den Freizustand
folgt, eingeleitet wird, wenn daraufhin eine Einheit einen
Buszyklus wünscht. Obwohl die Prioritätsnetzauflösung zum
Zeitpunkt 7-F durch eine Anstiegsflanke des BSDCNN-Signals
eingeleitet werden kann, muß die zweite Abfallflanke des
BSDCNN-Signals in Antwort auf das Setzen des Zuteilungs-Flip-Flop
22 gemäß Fig. 8 die Anstiegsflanke des Bestätigungssignals
zum Zeitpunkt 7-H abwarten, das heißt das binäre
Signal Null des NOR-Gliedes 21 gemäß Fig. 8 muß vom Rücksetzeingang
des Zuteilungs-Flip-Flop 22 weggenommen sein. Die
Abfallflanke des BSDCNN-Signals zum Zeitpunkt 7-I veranschaulicht
den Fall, in dem die Prioritätsnetzauflösung zum Zeitpunkt
7-F getaktet wird und die Auflösung vor dem Zeitpunkt
7-H erfolgt. Die Abfallflanke des BSDCNN-Signals zum Zeitpunkt
7-J veranschaulicht den Fall, in dem das Bestätigungssignal
eine Löschung bewirkt, bevor das Prioritätsnetz aufgelöst
wird. Die Abfallflanke des BSDCNN-Signals zum Zeitpunkt 7-L
veranschaulicht den Fall, in dem zum Zeitpunkt 7-F keine Busanforderung
vorliegt und die Prioritätsnetzauflösung durch
ein späteres Busanforderungssignal BSREQT- zum Zeitpunkt 7-K
getriggert wird. Dieser Vorgang wiederholt sich in asynchroner
Art und Weise.
Es wird nun die Doppelzugriffoperation anhand eines Beispiels
mehr ins einzelne gehend erläutert. Bei diesem Beispiel nimmt
der Zentralprozessor eine Doppelzugriffsanforderung des Speichers
vor und es werden die drei der Anforderung und der Antwort
zugeordneten Buszyklen geprüft. Während des ersten Buszyklus
ist der Zentralprozessor die Mastereinheit und der
Speicher die Slave-Einheit. Während dieses ersten Zyklus fordert
der Zentralprozessor den Bus an, wobei das Prioritätslogiknetzwerk
gemäß Fig. 8 benutzt wird und die Speichersteuerung
antwortet, indem sie die Bus-Schnittstellenlogik
gemäß Fig. 10 benutzt. Während des zweiten und dritten Zyklus,
in denen die Speichersteuerung die Mastereinheit und der Zentralprozessor
die Slave-Einheit ist, fordert der Speicher den
Bus an, indem er das Prioritätslogiknetzwerk gemäß Fig. 9
benutzt, der Zentralprozessor antwortet, indem er die Busschnittstellenlogik
gemäß den Fig. 11 und 11A benutzt.
Der erste Buszyklus der Doppelzugriff-Anforderungszyklus,
wird nunmehr unter Bezugnahme auf die Fig. 8 und 10 näher
erläutert.
Gemäß dem in Fig. 8 dargestellten Prioritätslogiknetzwerk ist
der Prioritätsnetzzyklus zunächst frei und das Busanforderungssignal
(BSREQT-) auf Leitung 10 hat den Binärwert Eins. Wenn
dieses Busanforderungssignal den Binärwert Eins hat, ist das
Ausgangssignal des Empfängers 11 (invertierender Verstärker)
binär Null. Dieses Ausgangssignal wird dem einen Eingang eines
AND-Gliedes 12 zugeführt. Die anderen dem Verknüpfungsglied 12
zugeführten Eingangssignale sind das Masterlöschsignal
(MYMCLR-), das normalerweise binär Eins ist, und das Ausgangssignal
des NOR-Gliedes 26, das normalerweise ebenfalls binär
Eins ist. Das Ausgangssignal des Verknüpfungsgliedes 12 ist
während des Freizustandes des Busses binär Null und dementsprechend
ist das Ausgangssignal der Verzögerungsleitung 13
binär Null. Wenn das Eingangssignal und das Ausgangssignal
der Verzögerungsleitung 13 binär Null sind, kann das Ausgangssignal
des NOR-Gliedes 14 (BSBSY-) den Binärwert Eins haben.
Wenn eine der Einheiten, die an den Bus angeschlossen sind,
einen Buszyklus wünscht, setzt sie asynchron ihr Benutzer-Flip-Flop
15, so daß dessen Q-Ausgangssignal (MYASKK+) binär
Eins ist.
Das bedeutet, daß dann, wenn der Bus sich im Freizustand befindet,
der erste Vorgang, der sich beim Übergang desselben
in den Besetztzustand abspielt, der ist, daß der Benutzer
sein Benutzer-Flip-Flop 15 setzt. Im Falle des Zentralprozessors
kann das Benutzer-Flip-Flop 15 durch ein Signal vom
Binärwert Eins, ein Signal MYASKD+ auf der Leitung 181 gemäß
Fig. 11A gesetzt werden, das dadurch getaktet wird, daß das
Taktsignal MCLOCK+ des Zentralprozessors vom binären Null-Zustand
in den binären Eins-Zustand übergeht, oder durch den
binären Wert, Signal MYASKS- auf der Leitung 180
gemäß der Fig. 11A am Setzeingang des Flip-Flop.
Nachstehend werden die Signale MYASKD+ und MAYSKS- anhand
der Fig. 11A beschrieben.
Wenn beide Eingänge des NAND-Gliedes 16 den Binärwert Eins aufweisen,
ist ihr Ausgangssignal binär Null. Hierdurch wird das
Anforderungs-Flip-Flop 17 gesetzt, so daß dessen Q-Ausgangssignal
(MYREQT+) binär Eins ist. Somit wird in asynchroner
Art und Weise das Q-Ausgangssignal des Anforderungs-Flip-Flop
17 binär Eins. Diese Operation kann gleichzeitig in zu anderen
mit dem Bus verbundenen Einheiten gehörenden Logikkreisen
vor sich gehen.
Der binäre Eins-Zustand des MYREQT+-Signals wird an die Leitung
10 des Busses über einen Treiber 18 als Binärwert Null
gelegt. Wie das Zeitdiagramm gemäß Fig. 7 zeigt, geht also
das BSREQT--Signal in den negativen bzw. in den binären
Null-Zustand über. Jede Anforderung an das System von einem
beliebigen der Anforderungs-Flip-Flop 17 der einzelnen mit
dem Bus verbundenen Einheiten hält also die Leitung 10 im
binären Null-Zustand. Die Verzögerungsleitung bewirkt ausreichende
Verzögerungszeit, um die Laufzeit zu kompensieren,
die durch die Elemente 14, 16 und 17 bedingt ist. Das bedeutet,
daß, selbst wenn eine Einheit ihr Anforderungs-Flip-Flop
17 setzt, dies nicht bedeutet, daß eine Einheit mit
höherer Priorität, die ebenfalls einen Buszyklus anfordert,
nicht den nächsten Buszyklus nehmen wird. Wenn zum Beispiel
eine Einheit niedrigerer Priorität ihr Anforderungs-Flip-Flop
17 setzt, wird das Null-Signal auf der Leitung 10 an
alle Einheiten geliefert, einschließlich der Einheit höherer
Priorität, die daraufhin am Ausgang ihres Verknüpfungsgliedes
12 den Binärwert Eins erzeugt, so daß am Ausgang des
NOR-Gliedes 14 der Binärwert Null auftritt, wodurch das
Setzen des Anforderungs-Flip-Flop 17 dieser Einheit höherer
Priorität verhindert wird, wenn das Benutzer-Flip-Flop 15
dieser Einheit nicht schon gesetzt worden ist. Nach Ablauf
einer Verzögerungszeit von beispielsweise 20 Nanosekunden
und wenn der Ausgang der Verzögerungsleitung der Einheit
höherer Priorität nun den Binärwert Eins angenommen hat, ist
das Ausgangssignal der Verknüpfungsgliedes 14 binär Null, so
daß unabhängig davon, ob das Benutzer-Flip-Flop 14 der Einrichtung
höherer Priorität gesetzt worden ist oder nicht,
das Ausgangssignal des Verknüpfungsgliedes 16 den Binärwert
Eins annimmt, wodurch das Anforderungs-Flip-Flop 17 an einem
Setzen gehindert ist. Es sind also während dieses Zeitrahmens
die Anforderungs-Flip-Flop 17 aller Einheiten gesetzt, wenn
sie eine Anforderung aufgeben, was durch ihr Benutzer-Flip-Flop
15 angezeigt wird. Nach der Verzögerungszeit, die durch
das Element 13 derjenigen zuerst einen Buszyklus anfordernden
Einheit bedingt ist, kann eine Einrichtung, deren Anforderungs-Flip-Flop
17 noch nicht gesetzt ist, dieses nicht mehr setzen,
bis der Prioritätzyklus abgeschlossen ist. Damit wird der
Einheit höherer Priorität der Bus selbst dann zugeteilt, wenn
ihr Benutzer-Flip-Flop einige Nanosekunden später als das
Flip-Flop der Einheit mit geringerer Priorität gesetzt worden
ist.
Damit sind alle Anforderungs-Flip-Flop 17 von Einheiten, die
einen Buszyklus wünschen, während der durch die Verzögerungsleitung
bedingten Zeitspanne gesetzt worden. Ungeachtet der
Tatsache, das bei vielen der an den Bus angeschlossenen
Einheiten die Anforderungs-Flip-Flops während dieses Zeitintervalls
gesetzt sind, kann lediglich eine derselben ihr
Zuteilungs-Flip-Flop 22 setzen. Die Einheit, deren Zuteilungs-Flip-Flop
22 gesetzt ist, ist diejenige einen Buszyklus anfordernde
Einheit mit der höchsten Priorität. Wenn diese Einheit
ihre Operation während des betreffenden Buszyklus beendet
hat, suchen die anderen Einheiten, deren Anforderungs-Flip-Flops
gesetzt sind, wieder nach dem nächsten Buszyklus, usw.
Demnach ist das Q-Ausgangssignal des Anforderungs-Flip-Flop 17
außer an den Treiber 18 auch an den einen Eingang des NAND-Gliedes
19 über ein Element 28 gelegt. Das Element 28 ist
nichts mehr als eine direkte Verbindung für die Prioritätslogik
jeder Einheit mit Ausnahme der Einheit (gewöhnlich des
Speichers 202), die am die höchste Priorität bedingenden Ende
des Busses 200 angeschlossen ist, in welchem Ausnahmefall das
Element 28, wie nachstehend erläutert werden wird, ein Verzögerungselement
ist. Das -Ausgangssignal (MYREQT-) des
Flip-Flop 17 wird an den neuen Eingang des AND-Gliedes 20
gelegt. Die anderen Eingangssignale des Verknüpfungsgliedes
19 werden von den Einheiten höherer Priorität her empfangen
und genauer gesagt, zum Beispiel von den neun vorangehenden
Einheiten höherer Priorität. Diese von Einheiten höherer
Priorität empfangenen Signale sind in Fig. 8 auf der linken
Seite ankommend als Signale BSAUOK+ bis BSIUOK+ dargestellt.
Wenn eines dieser neun Signale den Binärwert Null aufweist,
bedeutet dies, daß eine Einheit mit höherer Priorität einen
Buszyklus angefordert hat, und dementsprechend wird die betreffende
Einheit daran gehindert, daß sie ihr Zuteilungs-Flip-Flop
setzt, womit ihr der nächste Buszyklus verwehrt
wird.
Die anderen vom Verknüpfungsglied 19 empfangenen Eingangssignale
stammen von dem NOR-Glied 26, sind zum Beispiel das
BSDCNB--Signal und das Ausgangssignal des NOR-Gliedes 21.
Darüber hinaus kann ein Benutzer-Lesesignal, das heißt das
MCDCNP+-Signal im Falle des Zentralprozessors von der übrigen
Logik der betreffenden Einheit empfangen werden, durch das
die betreffende Einheit, selbst wenn sie einen Buszyklus anfordert,
es verzögert, indem sie das Benutzer-Bereitschaftssignal
in den Binärwert Null ändert. Das bedeutet, daß die
Einheit selbst wenn sie nicht für einen Buszyklus bereit ist,
diesen anfordern kann und das Benutzer-Bereitschaftssignal
zu dem Binärwert Null machen kann, im Gegensatz zu dem Fall,
daß sie zum Zeitpunkt, zu dem der Buszyklus zugeteilt wird,
bereit ist. Das Ausgangssignal des NOR-Gliedes 26 ist normalerweise
binär Eins, und wenn alle anderen Eingangssignale
des Verknüpfungsgliedes 19 binär Eins sind, dann wird das
Zuteilungs-Flip-Flop 22 gesetzt. Das andere Eingangssignal
vom Verknüpfungsglied 21 ist binär Eins, wenn der Bus sich
im Freizustand befindet. Die Eingangssignale des NOR-Gliedes
21 sind das BSACKR+-Signal, das BSWAIT+-Signal, das BSNAKR+-Signal
und das BSMCLR+-Signal. Wenn irgendeines dieser Signale
den Binärwert Eins hat, dann ist der Bus im Belegtzustand,
und das Zuteilungs-Flip-Flop 22 kann nicht gesetzt
werden.
Wenn das Zuteilungs-Flip-Flop 22 gesetzt worden ist, ist das
Q-Ausgangssignal (MYDCNN+) binär Eins und wird zum Binärwert
Null durch den Signalinverter 23 invertiert und danach auf
die Signalleitung BSDCNN- des Busses gegeben. Dies ist im
Zeitdiagramm gemäß Fig. 7 gezeigt, wo das BSDCNN--Signal vom
Binärwert Eins zum Binärwert Null übergeht. Damit ist der
Prioritätszyklus des Buszyklus abgeschlossen.
Darüber hinaus ist dann, wenn die vorliegende Einheit eine
Anforderung macht und die Einheit mit höchster Priorität ist,
das Ausgangssignal der Verzögerungsleitung 13 und der BSAUOK+-Prioritätsleitung
binär Eins, der -Ausgang des Flip-Flop 17
ist jedoch binär Null. Hierdurch wird über das AND-Glied 20
der Binärwert Null auf die BSMYOK+-Leitung gegeben, womit der
nächsten Einheit mit niedrigerer Priorität und den nachfolgenden
Einheiten niedrigerer Priorität angezeigt ist, daß eine
anfordernde Einheit höherer Priorität vorliegt, die den nächsten
Buszyklus benutzt, und womit alle Einheiten niedrigerer
Priorität daran gehindert werden, den nächsten Buszyklus in
Anspruch zu nehmen. Es sei erwähnt, daß die Signale auf den
neun Prioritätsleitungen, die von den Einrichtungen höherer
Priorität herkommen, um eine Position gestaffelt als Signale
BSBUOK+ bis BSMYOK+ übertragen werden. Somit entspricht das
Signal BSAUOK+, das von der vorliegenden Einheit empfangen
wird, dem Signal BSBUOK+, das von der Einheit nächsthöherer
Priorität empfangen wird.
Wenn der Prioritätszyklus abgeschlossen ist, und wenn nun der
Binärwert Null auf die BSDCNN-Leitung gegeben worden ist,
wird das Signal von allen derartigen Logikeinheiten, wie
Fig. 8 zeigt, durch den Empfänger 24 empfangen. Dies hat zur
Folge, daß am Ausgang des Empfängers 24 der Binärwert Eins
auftritt und am Ausgang des NOR-Gliedes 26 der Binärwert Null
entsteht, wodurch das UND-Glied 12 daran gehindert wird, den
Binärwert Eins zu erzeugen. Darüber hinaus gelangt der Binärwert
Eins am Ausgang des Empfängers 24 auf die Verknüpfungsleitung
25, die beispielsweise eine Verzögerung von 60 Nanosekunden
bewirkt. Das Ausgangssignal der Verknüpfungsleitung
wird auch dem anderen Eingang des NOR-Gliedes 26 zugeführt,
so daß das Verknüpfungsglied 12 weiterhin gesperrt bleibt,
wenn der Abtastimpuls erzeugt ist. Damit wird am Ende der durch
die Verknüpfungsleitung 25 bedingten Verknüpfungszeit das Abtastsignal
(BSDCND+) erzeugt, dessen Invertierung, das heißt
das BSDCND--Signal im Zeitdiagramm gemäß Fig. 7 dargestellt
ist. Die Benutzung des Abtastsignals wird nachstehend noch
erläutert. Damit setzt die durch die Verknüpfungsleitung 25
bedingte Zeitperiode von 60 Nanosekunden die erfolgreiche
Einheit, das heißt die anfordernde Einheit mit höchster Priorität
in die Lage, ohne Beeinträchtigung den nächsten Buszyklus
zu benutzen. Das vom Ausgang der Verknüpfungsleitung 25
erzeugte Abtastsignal wird von einer möglichen Slave-Einheit
als Synchronisiersignal benutzt.
Wenn das Abtastsignal übertragen worden ist, antwortet die
eine der Einheiten, die als Slave-Einheit bezeichnet wurde,
mit einem der Signale ACK, WAIT oder NAK, die an einem der
Eingänge des Verknüpfungsgliedes 21 empfangen werden. Wenn
im typischen Fall das ACK-Signal empfangen wird, oder wenn
ein beliebiges solcher Antwortsignale empfangen wird, führt
dies zum Setzen des Zuteilungs-Flip-Flop 22 über das Verknüpfungsglied
21. Im Zeitdiagramm gemäß Fig. 7 ist diese
Antwort gezeigt, wobei das BSACKR--Signal so dargestellt
ist, daß es von der Slave-Einheit empfangen wird, wodurch das
BSDCNN--Signal zum Binärwert Eins geändert wird, und zwar
durch das Rücksetzen des Zuteilungs-Flip-Flop 22. Das Flip-Flop
15 wird über das NOR-Glied 29 dann rückgesetzt, wenn das
Zuteilungs-Flip-Flop 22 gesetzt worden ist oder wenn das Bus-Löschsignal
(BSMCLR+) auf dem Bus empfangen wird. Das Flip-Flop
17 wird zurückgesetzt, wenn das Master-Löschsignal
(MYMCLR-) empfangen wird.
Wenn das Zuteilungs-Flip-Flop 22 gesetzt ist, geht sein
-Ausgangssignal (MYDCNN-) in den Binärzustand Null über,
woraus folgt, daß dann, wenn das Flip-Flop 22 rückgesetzt
wird, das -Ausgangssignal vom Binärwert Null zum Binärwert
Eins übergeht, und dabei das Anforderungs-Flip-Flop 17, wie
nun erläutert werden wird, rücksetzt. Wie in dem vorstehend
erwähnten US-Patent erläutert worden ist, wird das Anforderungs-Flip-Flop
17 entweder durch das Signal ACK, das Signal
NAK oder das Master-Löschsignal rückgesetzt. Was die Signale
ACK oder NAK anbetrifft, setzt dies voraus, daß die Einheit,
deren Anforderungs-Flip-Flop 17 rückgesetzt werden soll,
entweder ein ACK, ein NAK oder ein WAIT-Signal erwartete.
Darüber hinaus benötigten solche Einheiten eine Logik, die
unterscheiden kann, ob tatsächlich solch ein ACK-Signal oder
ein NAK-Signal eine Antwort von einer Slave-Einheit an diese
betreffende Einheit war. Andernfalls würde ein NAK-Signal
oder ACK-Signal alle die Flip-Flops 17 setzen, wodurch erforderlich
wird, daß jedes dieser Flip-Flops wieder neu gesetzt
wird. Dementsprechend wird der Logikaufwand in dem System
dadurch verringert, daß die betreffende Einheit rückgesetzt
wird. Dies wird dadurch erreicht, daß das -Ausgangssignal
des Zuteilungs-Flip-Flop 22 an den Takteingang des Anforderungs-Flip-Flop
17 gelegt wird. Es sei bemerkt, daß
das ACK-Signal oder NAK-Signal wie auch das WAIT-Signal dazu
benutzt werden, das Zuteilungs-Flip-Flop 22 rückzusetzen, daß
damit aber nicht eine zusätzliche Logik erforderlich wird,
und zwar aufgrund der Tatsache, daß lediglich ein einziges
Zuteilungs-Flip-Flop 22 gesetzt werden konnte. Damit führt
das Rücksetzen aller Zuteilungs-Flip-Flops zu keinem Unterschied
in der Operation des Systems.
Um den Takteingang des Flip-Flop 17 freizugeben, muß das an
diesem Eingang empfangene Signal vom Binärwert Null zum Binärwert
Eins übergehen. Wenn der Takteingang auf diese Art und
Weise freigegeben ist, wird der Zustand am D-Eingang, das heißt
das BSWAIT+-Signal an den Q-Ausgang des Flip-Flop 17 weitergegeben.
Dementsprechend muß, um das Flip-Flop 17 rücksetzen
zu können, das BSWAIT+-Signal binär Null sein, so daß das
-Ausgangssignal des Flip-Flop 17 binär Null wird, wenn der
Takteingang freigegeben ist. Da das BSWAIT+-Signal normalerweise
binär Null ist, kann die vorzeitige Freigabe des Taktimpulseingangs
des Anforderungs-Flip-Flop 17 irrtümlicherweise
zu einem Rücksetzen desselben führen. Dies deswegen,
weil die Antwort von einer Slave-Einheit nicht vorhergesehen
werden kann. Es sei erwähnt, daß die Slave-Einheit alternativ
eines der Signale ACK, NAK oder WAIT liefern kann, wobei im
Falle des WAIT-Signals es unerwünscht ist, daß das Anforderungs-
Flip-Flop 17 rückgesetzt wird. Es sollte daher der Takteingang
lediglich dann freigegeben werden, wenn von der Slave-
Einheit eine Antwort empfangen worden ist. Sonst nimmt nämlich
das WAIT-Signal den Binärwert Null an und führt zu einem vorzeitigen
Rücksetzen des Anforderungs-Flip-Flop 17.
Man sieht, daß unter normalen Bedingungen eine direkte Verbindung
von dem -Ausgang mit dem Takteingang des Flip-Flop 17
den Binärwert Eins am Takteingang aufrechterhalten würde, und
daß dementsprechend, wenn ein Zuteilungs-Flip-Flop 22 gesetzt
ist und dann rückgesetzt wird, der Signalwechsel den Takteingang
des Flip-Flop 17 freigeben würde. Es hat sich gezeigt,
daß diese Bedingung, das heißt der Binärwert Eins im Normalfall
am Takteingang des Flip-Flop 17, die Laufzeit des Setzvorgangs
des Flip-Flops verlängert, wobei das Q-Ausgangssignal
desselben die Setzbedingung, das heißt den Zustand des Binärwerts
Eins, bestimmt. Genauer gesagt bedeutet dies, daß wenn
zum Beispiel ein Flip-Flop des Typs SN74S74 verwendet wird,
wie er von einer Reihe von Herstellern, beispielsweise von den
Firmen Texas Instruments und Signetics Corporation hergestellt
wird, und wenn dessen Takteingang auf binär Eins gelegt wird,
es doppelt so lange dauert, den Setzvorgang durchzuführen,
wie es dauern würde, wenn der Takteingang sich im binären
Null-Zustand befindet. Dementsprechend erkennt man, daß durch
Verbindung des Takteingangs des Flip-Flops 22 mit Erde eine
schnellere Betriebsweise für das Zuteilungs-Flip-Flop 22 gewährleistet
ist, und daß es dementsprechend wünschenswert ist,
eine solche Erhöhung der Verknüpfungsgeschwindigkeit auch
beim Anforderungs-Flip-Flop 17 zu erzielen. Aus diesem Grund
und aufgrund des Umstandes, daß das Anforderungs-Flip-Flop 17
nicht zurückgesetzt sein soll, bevor eine Antwort von der
Slave-Einheit vorliegt, sind die Elemente 35 und 37 in der
nachstehend beschriebenen Art und Weise angeschlossen.
Vor einer derartigen Erläuterung sollte jedoch noch bemerkt
werden, daß das Einfügen eines Inverters direkt zwischen den
-Ausgang des Zuteilungs-Flip-Flop 22 und des Takteingangs
des Anforderungs-Flip-Flop 17 nicht zufriedenstellend sein
würde, selbst wenn hierdurch normalerweise am Takteingang des
Anforderungs-Flip-Flop 17 der Binärwert Null erzeugt wird.
Dies deswegen, weil der Übergang vom Binärwert Eins zum Binärwert
Null am -Ausgang des Flip-Flop 22 beim Setzen dieses
Flip-Flops ein Übergang vom Binärwert Null zum Binärwert
Eins werden würde, der den Takteingang des Flip-Flop 17 vorzeitig
freigeben würde, das heißt bevor bekannt ist, welche
Antwort die Slave-Einheit liefert.
Der Inverter 35 ist daher mit einem Flip-Flop 37 ausgestattet.
Wie das Anforderungs-Flip-Flop 17, kann der Taktimpulseingang
des Flip-Flop 37 erst freigegeben werden, wenn ein Übergang
vom Binärwert Null zum Binärwert Eins oder mit anderen Worten
ein positiver Übergang stattgefunden hat. Dies tritt, wie
vorstehend erläutert, dann ein, wenn das Zuteilungs-Flip-Flop
22 durch das NOR-Glied 21 rückgesetzt worden ist.
Das Flip-Flop 37 weist außer dem Takteingang einen Setzeingang
(S), einen Dateneingang (D) und einen Rücksetzeingang (R)
auf. Der Setzeingang wird dadurch gesperrt, daß dem Eingangssignal
der Binärwert Eins gegeben wird, und zwar mit Hilfe
des MYPLUP+-Signals, das nicht mehr als ein über einen an
Plus-Spannung liegenden Widerstand empfangenes Signal ist.
Dem D-Eingang des Flip-Flops 37 wird ebenfalls das MYPLUP+-
Signal zugeführt. Das Ausgangssignal des NOR-Gliedes 26 hat
normalerweise den Binärwert Eins, und dementsprechend hat das
Ausgangssignal des Inverters 35 (BSDCND+) den Binärwert Null.
Diese Bedingungen ändern sich, wenn das BSDCNN-Signal kurz
nach dem Zeitpunkt 7-C, das heißt nach der Zeitspanne 7-C
plus der Verzögerungszeit, die durch die Elemente 24 und 26
bedingt ist, zum Binärzustand Eins übergeht. Somit geht kurz
nach der Zeit 7-C das Ausgangssignal des NOR-Gliedes 26 in
den Binärwert Null über und erzeugt damit den Binärwert Eins
am R-Eingang des Flip-Flop 37. Es sei bemerkt, daß ein Wechsel
vom Binärwert Eins zum Binärwert Null das Flip-Flop 37 rücksetzt,
wodurch der Binärwert Null am Q-Ausgang (MYREQR+) des
Flip-Flop 37 auftritt. Der Binärwert Eins am Ausgang des Inverters
35 bleibt solange erhalten, wie das BSDCNN--Signal
den Binärwert Null aufweist und auch noch 60 Nanosekunden danach,
entsprechend der durch das Verzögerungsglied 25 bedingten
Verzögerungszeit. Kurz nachdem das Zuteilungs-Flip-Flop
22 rückgesetzt ist, und bevor das BSDCNN--Signal eine Wirkung
am Ausgang des NOR-Gliedes 26 zeigt, wird der Taktimpulseingang
des Flip-Flop 37 freigegeben, so daß der Binärwert
Eins an dessen D-Eingang einen Wechsel am Q-Ausgang des Flip-
Flop 37 vom Binärwert Null zum Binärwert Eins zur Folge hat,
wodurch das Flip-Flop 17 getaktet wird. Zu dem Zeitpunkt, zu
dem das Abtastsignal, das heißt das Signal BSDCND+ verschwunden
ist, wechselt, wie im Zusammenhang mit dem BSDCND--Signal,
wie es im Zeitdiagramm gemäß Fig. 7 dargestellt ist und insbesondere
dort beim Zeitpunkt 7-G ersichtlich ist, das Ausgangssignal
des NOR-Gliedes 26 zurück zum Binärwert Eins,
wodurch das Ausgangssignal des Inverters 35 vom Binärwert Eins
zum Binärwert Null übergeht und dabei das Flip-Flop 37 rücksetzt.
Hiermit ist sichergestellt, daß das Flip-Flop 37 zurückgesetzt
wird, bevor sein Takteingang freigegeben wird.
Der Binärwert Null ist danach weiterhin am Q-Ausgang (MYREQR+)
des Flip-Flop 37 vorhanden, bis die oben beschriebene Operation
von vorne beginnt.
Wie vorstehend erläutert, ist die Kopplung zwischen dem
Q-Ausgang des Anforderungs-Flip-Flop 17 und des NAND-Gliedes
19 von der Lage der betreffenden Einheit am Bus 200 abhängig.
Genauer gesagt, das Element 28 dieser Kopplung zwischen
Flip-Flop 17 und NAND-Glied 19 ist eine direkte bei allen
Einheiten, die nicht die Einheit mit höchster Priorität sind.
Bei der Einheit mit höchster Priorität und, genauer gesagt,
beim Beispiel gemäß Fig. 1, beim Speicher 202, ist das Element
28 ein Verzögerungsglied, das dem Verzögerungsglied 13 ähnlich
ist und beispielsweise eine Verzögerungszeit von 20 Nanosekunden
bewirkt. Der Grund dafür liegt darin, daß bei der Einheit
mit höchster Priorität die höchsten neun Eingänge dessen
NAND-Gliedes ein Signal mit dem Binärwert Eins sind. Diese
Signale können an jede der neun Leitungen mit Hilfe eines
Widerstandes gelegt werden, dessen anderes Ende am Plus-Potential
liegt, in ähnlicher Weise, wie das MYPLUP+-Signal eingekoppelt
wird. Wenn ein beliebiger der Eingänge des NAND-
Gliedes 19 den Binärwert Eins annimmt, und wenn das Signal
BSDCNB- normalerweise den Binärwert Eins aufweist, und wenn
ferner vorausgesetzt wird, daß das Benutzerbereitschaftssignal
(MCDCNP+, in Fig. 8) ebenfalls den Binärwert Eins hat,
dann würde ohne ein Verzögerungselement 28 in der Prioritätslogik
der Einheit mit höchster Priorität immer den Zugriff
zum Bus erhalten, ohne die durch das Verzögerungsglied 13 bedingte
Verzögerung zu berücksichtigen. Indem durch das Element
28 eine Verzögerung bewirkt wird, ist demnach die Einheit
mit höchster Priorität daran gehindert, ihr Zuteilungs-Flip-
Flop während einer Zeitspanne von beispielsweise 20 Nanosekunden
nach dem Zeitpunkt zu setzen, zu dem sie ihre Anforderungs-
Flip-Flop 17 gesetzt hat. Bei der Einheit höchster Priorität
und dementsprechend beim Verzögerungselement 28 kann auch
eine direkte Verbindung mit den anderen Eingängen des Verknüpfungsgliedes
19 vorgesehen sein, so daß eine Freigabe des
Verknüpfungsgliedes 19 durch einen kurzzeitigen Impuls verhindert
wird, am Q-Ausgang des Flip-Flop 17 erzeugt wird.
Dies geschieht beispielsweise dann, wenn die Logik gemäß
Fig. 8 sich in einem Wettrennzustand befindet.
Auf diese erwähnte Art und Weise wird die Einheit höchster
Priorität auch daran gehindert, Zugriff zum Bus 200 während
eines Buszyklus' einer anderen Einheit zu erlangen. Dies ist
so, weil das Signal BSDCNB- den Binärwert Null hat, wenn
tatsächlich ein anderer Buszyklus im Gange ist. Man sieht, daß
dieses Sperren der Prioritätslogik der Einheit höchste Priorität
auch auf andere Art und Weise erzielt werden kann.
Beispielsweise wie im vorerwähnten US-Patent, wonach das
Ausgangssignal der Verzögerungsleitung an einen anderen Eingang
des NAND-Gliedes 19 gelegt wird, in welchem Falle bei
jeder Prioritätslogik jeder Einheit die Notwendigkeit für ein
BSDCNB--Signal an einem Eingang dieses Gliedes entfällt sowie
die Notwendigkeit eines Verzögerungselementes 28 in der
Prioritätslogik der Einheit mit höchster Priorität. Bei einer
Logik jedoch, die extrem schnell arbeiten muß, wie hier angenommen,
können Belastungseffekte eine Rolle spielen. Dementsprechend
stellt das Verzögerungsglied 13 zweifache statt
dreifache Belastung dar. Man erkennt ferner, daß solche
Belastungsprobleme auch dadurch verhindert werden können, daß
ein Treiber oder ein Verstärkerelement an den Ausgang des
Verzögerungsgliedes 13 angeschlossen wird, dessen Ausgang
seinerseits an das NAND-Glied 19, das NOR-Glied 14 und das
AND-Glied 20 ohne Probleme angeschlossen werden können. Dies
hat jedoch die Wirkung, daß die Geschwindigkeit der Prioritätslogik
um einen Faktor verringert wird, der von der Laufzeit
durch einen solchen Treiber abhängt.
Unter Bezugnahme auf die Doppelgriff-Speichersteuer-
Adressenlogik, wie sie in Fig. 10 gezeigt ist, ist diese Logik
exemplarisch für Speichersteuerungen, insbesondere solche, an
die bis zu vier Speichermoduln angekoppelt sind. Die Adresse,
die vom Bus aus vom Element 40 aufgenommen wird, wird durch
die Busadressensignale BSAD00+ bis BSAD07+ im in Fig. 2 gezeigten
Format übertragen. Die Adressensignale vom Empfänger
40 werden ebenso an den Eingängen des Parity-Prüfers 47
empfangen, wie noch beschrieben werden wird. Die Adressensignale
vom Empfänger 40 und auch jene am Ausgang des Inverters
41 werden von einem Schalter 42 aufgenommen. Dieser Schalter
ist bei den meisten der an den Bus 200 angeschlossenen Steueranordnung
vorhanden und wird auf den Wert der Adresse der
betreffenden Steueranordnung eingestellt. Im Falle der Steueranordnung
einer Einheit wird dieser Schalter auf den Wert der
Adresse der Einheit eingestellt. Im Falle der Steueranordnung für
einen Speicher wird der Schalter auf die Adresse des zugehörigen
Speichers eingestellt. Von den 16 Leitungen, die bei
dem Schalter ankommen, sind lediglich 8 von dessen Ausgang
aus mit einem NAND-Glied 43 verbunden. Die Busadressenleitungen
auf der Eingangsseite des Elementes 40 weisen bei jenen Bits
den Binärwert Null auf, die die Adresse des gewünschten
Speicherblocks angeben sollen, der durch die Speichersteuerung
gesteuert wird. Dementsprechend werden aufgrund der
durch das Element 40 bewirkten Invertierung Signale vom Binärwert
Eins an nicht invertierende Eingänge des Schalters 42
für solche Bits der Adresse gegeben, die auf dem Bus 200 als
Signale mit dem Binärwert Null empfangen worden sind. In ähnlicher
Weise führen die acht Ausgangsleitungen des Inverters
41 Signale vom Binärwert Eins für solche Positionen, in denen
die Adressenbits den Binärwert Eins bei den ankommenden
Adreßbits auf dem Bus 200 aufweisen. Wenn die Signale an zwei
Eingängen des Schalters 42 jeweils das Komplement darstellen,
werden die Schalter, bei denen es sich um einen Hexadezimalschalter
oder eine Mehrzahl von doppelpoligen Umschaltern
handelt, bzw. genauer gesagt um nicht mechanisch gekoppelte
achtpolige Schalter mit zwei Stellungen, gesetzt, so daß für
die richtigen Speicheradressen alle binären Eins-Signale an
den acht Ausgängen des Schalters 42 erscheinen. Das Verknüpfungsglied
43 empfängt demnach binäre Eins-Signale und liefert
an seinem Ausgang Signale des Binärwerts Null, wenn es sich
um eine richtige Speicheradresse gehandelt hat, und wenn es
sich um einen Speicherzyklus handelt, wie noch erläutert
werden wird. Man erkennt, daß der Schalter 42 so ausgebildet
ist, daß er eine Komparatorfunktion ausübt und damit wenigstens
eine Verknüpfungsstufe überflüssig macht und dementsprechend
die sonst damit verbundenen Laufzeiten vermeidet. Darüber
hinaus stellt der Schalter ein einfaches Mittel dar, die
Adressen der einzelnen Speichersteuerungen zu ändern, so daß
es einfacher ist, das System zu strukturieren. Wenn das
Speicherbezugssignal (BSMREF+) den Binärwert Eins aufweist,
und wenn die durch den Schalter 42 verglichene Adresse
lauter Eins-Binärwerte an dessen Ausgang erzeugt, wird das
NAND-Glied 43 zur Abgabe eines Signals vom Binärwert Null auf
der MYMADD-Leitung freigegeben, das dann jeweils an einem
Eingang von drei NOR-Gliedern 44, 45 und 46 empfangen wird,
die dazu verwendet werden, die Signale NAK, bzw. WAIT bzw.
ACK zu erzeugen. Der Speicher kann solange nicht adressiert
werden, bis das BSMREF+-Signal den richtigen Binärwert
aufweist.
Wie angegeben, werden die Adressenbits am Eingang eines
Parity-Prüfers 47 empfangen, der zusätzlich das BSAP00+-Bit
empfängt, das das über den Bus übertragene Adressen-Parity-
Bit ist. Der Parity-Prüfer 47 nimmt eine Neun-Bit-Parity-
Prüfung vor und erzeugt an seinem -Ausgang ein MYMADP-
bezeichnetes Signal, das, sofern es den Binärwert Null aufweist,
die Verknüpfungsglieder 44, 45 und 46 aktivert, womit
angezeigt ist, daß eine richtige Parität vorliegt.
Vom Multiplexer 48 aus wird bei den Verknüpfungsgliedern 44,
45 und 46 ein drittes Eingangssignal empfangen. Dieser Multiplexer
seinerseits empfängt beispielsweise vier Eingangssignale,
die mit MYMOSA- bis MYMOSD- bezeichnet sind und angeben,
ob einer der vier an die betreffende Speichersteuerung
anschließbaren Speichermoduln im vorliegenden System vorhanden
ist oder nicht. Hiermit ist es möglich, daß ein Speicher
entweder mit Moduln vollständig oder nur teilweise bestückt
sein kann, daß also lediglich auch ein einziger solcher Moduln
in das System einbezogen sein kann. Wie sich nachstehend
noch ergibt, müssen, damit eine Speichersteuerung mit zwei
Worten auf eine Doppelzugriffsanforderung antworten kann,
entweder zwei oder vier Moduln bei dieser Steuerung vorhanden
sein. Wenn lediglich ein Speichermodul vorhanden ist, der das
erste Wort beinhaltet, antwortet die Steuerung mit diesem Wort
und zeigt an, daß das zweite Wort nicht folgt. Wenn der
Speichermodul, der das erste Wort enthält, bei der Steuerung
nicht vorhanden ist, antwortet diese überhaupt nicht. Die
erwähnten vier Speichermoduln werden über den Multiplexer 48
adressiert und daraufhin überprüft, ob sie mittels der beiden
Busadressensignale BSAD08+ und BSAD22+ eingerichtet sind.
Beim Multiplexer 48 kann es sich um den von der Firma Texas
Instruments unter der Bezeichnung Nr. 74S151 gebauten Multiplexer
handeln. Der Binärwert Null des Ausgangssignals des
Multiplexers zeigt an, daß der Speichermodul bei der Speichersteuerung
vorhanden ist.
Es können demnach für verschieden konfigurierte Systeme ein
Speichermodul vorhanden sein, der mit einer bestimmten
Speichersteuerung verbunden ist, sowie zwei Moduln, die mit
einer anderen Speichersteuerung verbunden sind, wobei die
verschiedenen Speichermoduln auch noch von unterschiedlichem
Typ sein können. So kann zum Beispiel ein Halbleiterspeicher
mit der einen Speichersteuerung verbunden sein, wogegen ein
Magnetkernspeicher an die andere Speichersteuerung angeschlossen
ist. Darüber hinaus können die Speichermoduln verschiedene
Größen, das heißt also verschieden große Speicherkapazität
aufweisen. Außerdem können Speichermoduln, die an verschiedene
Speichersteuerungen angeschlossen sind, mit verschiedenen
Geschwindigkeiten arbeiten, wodurch die Geschwindigkeit der
Systemreaktion erhöht wird. Für jede bestimmte Steuerung ist
normalerweise eine Stromversorgung und Zeittaktversorgung vorhanden,
und normalerweise bestimmt diese Steuerung die Kennwerte
der Speicher, die an sie angeschlossen sind. Dementsprechend
müssen zum Beispiel, wenn verschiedene Speichergeschwindigkeiten
und sonstige verschiedene Zeitverhältnisse
erforderlich sind, wie sie beispielsweise zwischen
Kernspeicher und Halbleiterspeicher vorliegen, für die
verschiedenen Typen jeweils eine gesonderte Speichersteuerung
vorgesehen sein. Bei der Verwendung verschiedenartiger Speichersteuerungen
können die Speicher schneller betrieben werden,
da sie zeitlich parallel laufen können, selbst wenn sie an
denselben Bus angeschlossen sind. Es kann jedoch lediglich
während einer bestimmten Zeit ein einziger Informationsaustausch
auf einen Bus stattfinden, wobei jedoch das Wesentliche ist, daß
die Information im Speicher ohne jegliche Zugriffszeit zur
Verfügung steht, da die Zugriffszeit sozusagen schon abgelaufen
ist.
Wie vorstehend beschrieben, hat jede Steuerung, ob es sich
um eine Speichersteuerung oder um die Steuerung für eine
andere periphere Einrichtung handelt, gewöhnlich ihre eigene,
spezielle Adresse. So sind für verschiedene Speichersteuerungen,
die mit angeschlossenen Speichermoduln voll bestückt
sind, benachbarte Speicheradressen vorgesehen. Das
heißt, daß, sofern an jede Speichersteuerung vier Speichermoduln
angeschlossen sind, und daß jeder dieser Moduln eine
Kapazität von 8000 Speicherworten hat, jede Speichersteuerung
Zugriff zu 32 000 Speicherwörtern verschaffen kann. Im
Falle eines Doppelzugriffspeichers bedeutet dies, daß jeder
8000 (8k) Wortspeichermodul Worte mit gerader Adresse oder
8000 Worte mit ungerader Adresse enthält, wie dies in
Fig. 14 dargestellt ist. Das bedeutet, daß der Modul A und
der Modul B die unteren 16 000 (16k) Worte und die Moduln
C und D die oberen 16 000 Worte enthalten, wobei die mit geraden
Adressen versehenen Worte in den Moduln A und C und die
mit ungeraden Adressen versehenen Worte in den Moduln B und
D gespeichert sind. Wenn ein Speicher mit 32 000 Worten
Speicherkapazität an jede Speichersteuerung angeschlossen
ist, schließen die Speicheradressen kontinuierlich aneinander
an. Unter Betriebsgesichtspunkten sind kontinuierliche
Adressen nicht nur im Hinblick auf die Adressierung,
sondern auch im Hinblick auf eine Erhöhung der Antwortgeschwindigkeit
von Bedeutung. Wie vorstehend erwähnt, kann typischerweise
die Speichersteuerung lediglich einen Speicher einer
bestimmten Charakteristik bedienen, das heißt ein Magnetkernspeicher
kann nicht an dieselbe Speichersteuerung angeschlossen
werden, an die ein Halbleiterspeicher angeschlossen ist,
und zwar wegen der unterschiedlichen erforderlichen Zeitverhältnisse.
Dasselbe gilt normalerweise für Speicher
verschiedener Geschwindigkeiten und Versorgungsverhältnisse.
Wenn man also wieder annimmt, daß jede Speichersteuerung
32 000 Speicherworte bedienen kann, und wenn lediglich 16 000
Worte beim eine große Geschwindigkeit aufweisenden Speicher
vorgesehen sind, bedeutet dies, daß zwei Speichersteuerungen
benötigt werden.
Dies würde jedoch typischerweise bedeuten, daß die Speicheradressen
zwischen dem Speicher für hohe Geschwindigkeiten und
dem Speicher für niedrige Geschwindigkeit nicht aneinander
anschließen, da die Speichersteuerungsadresse um 32 000
Worte voneinander beabstandet sind. In diesem Fall ist es
möglich, aneinander anschließende Speicheradressen dadurch
zu erhalten, daß man beiden Speichersteuerungen dieselbe
Adresse zuordnet. Dies würde jedoch bedeuten, daß die betreffenden
Speichermodulpositionen in den beiden Speichersteuerungen
nicht dieselben sein können. Das heißt genauer gesagt,
daß die erste Steuerung 8000 Speicherplätze in den Speichermodulpositionen
A und B gemäß Fig. 14 benötigen würden, wie
sie durch die Signale MYMOSA- und MYMOSB- angezeigt werden.
Die andere Steuereinheit würde die anderen beiden Modulpositionen
C und D benötigen, die durch die Signale MYMOSC-
und MYMOSD- angezeigt werden. Demnach wirken diese beiden
Steuereinheiten in dem System so, als wären sie eine einzige
Steuereinheit. Als weiteres Beispiel wird angenommen, daß
eine der Steuerungen lediglich für 8000 Speicherworte eines
einzigen Speichers in Form eines Moduls zuständig ist, beispielsweise
des Moduls A, der die geradzahlig adressierten
unteren 16k Worte enthält, wogegen die andere Speichersteuerung
mit derselben Adresse mit bis zu drei solcher Speichermoduln
in der Ordnung der Positionen B, C und D verbunden
ist, die die ungerade adressierten unteren 16k Worte enthalten
sowie die geradzahlig und ungeradzahlig adressierten
oberen 16k Worte, so daß ein Speicher für 24 000 Worte entsteht.
Der Multiplexer 48 wirkt zusammen mit dem Schalter 42
und dem NAND-Glied 43 derart, daß er bestimmt, ob der Speichermodul,
der das von der Speicheradresse adressierte Wort enthält
(das heißt das erste Wort), während der Doppelzugriffanforderung
in der Speichersteuerung vorgesehen ist. Somit
bestimmt das Signal BSAD08+, ob die Speicheradresse, die
in der Speicherzugriffsanforderung enthalten ist, die oberen
oder die unteren 16k Wörter, das heißt in den Moduln C und D
oder in den Moduln A und B befindliche Wörter, betrifft.
Wenn das Signal BSAD23+ dazu verwendet wird, das rechte oder
linke Byte innerhalb eines Wortes zu bestimmen, dann bestimmt
das Signal BSAD22+, ob das adressierte Wort in der Speicheradressenzugriffsanforderung
ein geradzahlig adressiertes oder
ein ungeradzahlig adressiertes Wort ist, das heißt, ob es sich
in den Moduln A und C oder den Moduln B und D befindet. Wenn
die Doppelzugriffsanforderung lediglich die Speicheradresse
des ersten der beiden Worte, zu denen durch die Doppelzugriffsanforderung
zugegriffen werden soll, auf dem Bus erscheint,
erkennt man, daß der Multiplexer 48 ein Signal erzeugt,
das anzeigt, ob der das erste der beiden Worte enthaltende
Modul vorhanden ist. Wie noch deutlich werden wird,
bestimmen andere Multiplexer, ob das zweite der beiden Worte
in Beantwortung einer Doppelzugriffsanforderung ebenfalls
innerhalb derselben Speichersteuerung vorgesehen ist, in der
das erste Wort vorgesehen ist, zu dem zugegriffen werden soll.
Diese Möglichkeit, Speichermoduln zwischen einem oder mehreren
Speichersteuerungen anzuordnen, braucht nicht notwendigerweise
auf verschiedene Typen von Speichern beschränkt zu sein,
sondern berührt auch das Problem defekter, an die Steuerung
angeschlossener Moduln. So kann zum Beispiel ein redundanter
Speichermodul vorgesehen sein, der mit einer anderen Steuerung
in Verbindung steht, deren Adresse eingestellt ist,
wogegen die Adresse der Steuerung des fehlerhaften Speichers
aufgrund einer Feststellung des Fehlers nicht mehr eingestellt
ist.
Es wird nun wieder auf die Freigabe der Verknüpfungsglieder
44, 45 und 46 Bezug genommen, die jeweils, um freigegeben
werden zu können, und um eine Antwort von der betreffenden
Speichersteuerung zuzulassen, die Adresse ihre Speichersteuerung
als Anzeichen dafür empfangen müssen, daß der
adressierte Modul im System vorhanden ist, und daß die
Adressenparität richtig ist, was durch den Paritätsprüfer 47
angezeigt wird. Die anderen Eingangssignale der NOR-Glieder
werden mit einer Kombination aus Besetztlogik- und Sperrgeschehenlogik-
Signalen beaufschlagt, wie nun beschrieben
wird.
Das Speichersteuerungsbesetzt-Signal wird durch ein Flip-
Flop 49 geliefer 98051 00070 552 001000280000000200012000285919794000040 0002002900380 00004 97932t und zeigt an, daß die Speichersteuerung
dabei ist, Daten zu lesen oder zu schreiben, den Speicherinhalt
aufzufrischen oder auf die Buszuteilung zu warten.
Dieses D-Flip-Flop 49 wird von dem Signal BSDCNN+ getaktet.
Wenn ein Speichermodul belegt ist, dann wird ein WAIT-Signal
erzeugt. Das heißt, daß dann, wenn das MBUSY-Signal am
-Ausgang des Flip-Flop 49 den Binärwert Null hat, wenn die
anderen Bedingungen gegeben sind, das Verknüpfungsglied 45
durchlässig gemacht wird, so daß das zugeordnete Flip-Flop
im Element 56 gesetzt wird, wobei zu bemerken ist, daß dies
dann geschieht, wenn das BSDCND+-Signal am Takteingang des
Elements 56 empfangen wird. Zu diesem Zeitpunkt wird das
Flip-Flop 56 über den Inverter 63 gelöscht, wenn das Signal
BSDCMB- am Ausgang des Verknüpfungsgliedes 26M, das in
Fig. 9 gezeigt ist, vom Binärwert Null zum Binärwert Eins
übergeht. Das Bestätigungssignal wird erzeugt, wenn am
Q-Ausgang des Flip-Flop 49 eine binäre Null erzeugt wird, was
durch das MYBUSY+-Signal angezeigt wird, das an einen Ausgang
des Verknüpfungsgliedes 46 geführt ist. Es sei nochmals darauf
hingewiesen, daß das WAIT-Signal bedeutet, daß der Speicher
noch eine kurze Verzögerungszeit besetzt sein wird.
Die andere Bedingung, die anzeigt, welches der Signale ACK,
NAK oder WAIT erzeugt werden soll, ist das Sperrsignal, das,
wie vorstehend erläutert, eine Mehrfachzyklus-Busübertragung
umfaßt, in deren Verlauf eine Einheit zu einer bestimmten
Speicherstelle zugreifen kann, ohne daß eine andere gesperrte
Einheit in der Lage ist, in diese Operation einzugreifen.
Das Ergebnis dieser Sperroperation ist die Verlängerung des
Besetztzustandes der Speichersteuerung über die Beendigung
eines einzigen Zyklus hinaus, und zwar für bestimmte Arten
von Operationen. Einheiten, die eine Sperroperation zu veranlassen
suchen, bevor der letzte Zyklus der Folge beendet
ist, erhalten ein NAK-Signal. Der Speicher wird jedoch noch
auf eine Speicheranforderung antworten, wie nun erläutert
werden wird. Es sei bemerkt, daß die Zwischenzeit zwischen
diesen Zyklen von anderen Einheiten, die nicht mit dem betreffenden
Informationsaustausch befaßt sind, ausgenutzt werden
kann. Eine Sperroperation wird in erster Linie da benutzt,
wo es für zwei oder mehr Einrichtungen oder Einheiten wünschenswert
ist, sich in dieselben Betriebsmittel, beispielsweise
den Speicher, zu teilen. Die Sperroperation, die jede
Anzahl von Buszyklen umfassen kann, wird von der betreffenden
Einheit oder Einrichtung aufgehoben, die die Steuerung des
gemeinsam ausgenutzten Betriebsmittels übernommen hatte.
Während das geteilte Betriebsmittel gesperrt ist, werden die
anderen Einheiten, die einen Zugriff dazu wünschen, gesperrt,
wenn sie das Sperrsteuersignal liefern. Wenn das Sperrsteuersignal
nicht geliefert wird, ist es für solche anderen Einheiten
möglich, einen Zugriff zu dem gemeinsamen Betriebsmittel
zu erlangen, zum Beispiel, um eine dringende Anforderung oder
einen dringenden Arbeitsgang zu verarbeiten. Bevor eine Einheit,
die das Sperrsteuersignal liefert, Zugriff zu dem gemeinsam
ausgenützten Betriebsmittel erhält, prüft es dieses
Betriebsmittel, um festzustellen, ob dieses sich im Zustand
einer Sperroperation befindet und erhält dann, wenn dies nicht
der Fall ist, während desselben Buszyklus Zugriff zu dem
Betriebsmittel.
Man erkennt, daß die Sperroperation für gemeinsam benutzte
Betriebsmittel eine solche ist, die zwischen Einheiten wirkt,
die geeignete Steuersignale ausgeben, das heißt das Sperrsteuersignal.
Diese Operation kann beispielsweise dazu verwendet verwendet
werden, einen Teil eines Speichers, in dem eine Informationstabelle
gespeichert ist, gemeinsam zu benützen. Darüber
hinaus werden, wenn eine der Einheiten eine Änderung der
Information in dem gemeinsam benützten Betriebsmittel wünscht,
die anderen Einheiten ausgesperrt, so daß sie keinen Zugriff
zu der lediglich teilweise geänderten Information erlangen,
es wird ihnen vielmehr ein Zugriff erst dann ermöglicht, wenn
alle diese Änderungen vorgenommen worden sind. Eine Lese-
Modifizier-Schreib-Operation kann in einem solchen Fall erfolgen.
Man sieht, daß bei Benutzung einer Sperroperation
ein Mehrfachbearbeitungssystem entsteht. Wenn beispielsweise
zwei Zentralprozessoren an denselben Bus 200 angeschlossen
sind, haben sich beide in die an den Bus angeschlossenen
Speichereinheiten zu teilen, ohne daß Störungen entstehen,
was der Fall ist, wenn die Sperroperation benutzt wird.
Es sei darauf hingewiesen, daß das Signal BSSHBC- für die
Sperroperation, wie sich ergeben wird, auch in einer etwas
abgewandelten Art als bisher beschrieben verwendet werden
kann. Während der Sperroperation wird das Signal BSSHBC-
von der Einheit abgegeben, die versucht, ein Betriebsmittel
zu teilen, sowohl um Zugriff zu diesem Betriebsmittel mit
Hilfe einer Prüf- und Sperrfunktion zu bekommen als auch um
das geteilte Betriebsmittel freizugeben, wenn die Sperroperation
abgeschlossen ist.
So ist, wie die Fig. 10 zeigt, ein Sperr-Zustands-Flip-Flop
50 vorgesehen, das, wenn es gesetzt ist, anzeigt, daß eine
Sperroperation im Gange ist, wobei ein NAK-Signal über einen
Treiber 59 an die anfordernde Einheit gegeben wird. Unter der
Voraussetzung, daß die Logik gemäß Fig. 10 die Schnittstellenlogik
zwischen dem Bus 200 und dem geteilten Betriebsmittel
darstellt, wird das BSLOCK+-Signal (Binärwert Eins) sowohl
vom AND-Glied 52 als auch vom Flip-Flop D3 des Elementes 56
aufgenommen. Das Element 56 erzeugt dabei das Signal MYLOCK+,
das an den Eingang des AND-Gliedes 51 gelangt. Wenn das
Sperr-Zustands-Flip-Flop nicht gesetzt ist, wird das Signal
NAKHIS dabei ein Signal vom Binärwert Null, unabhängig vom
Signalzustand der beiden anderen Eingänge des Verknüpfungsgliedes
52, und erzeugt den Binärwert Null am einen Eingang
des Verknüpfungsgliedes 46. Wenn alle Eingänge des Verknüpfungsgliedes
46 den Binärwert Null empfangen, womit angezeigt
ist, daß die vorliegende Adresse dieser Einheit oder Einrichtung
empfangen worden ist, und daß das gemeinsame Element
oder der Puffer nicht belegt ist, dann wird über das Element
56 und den Treiber 61 ein Signal ACK als Antwort auf das Signal
BSLOCK+ erzeugt. Das Signal ACK (MYACKR+) macht das
AND-Glied 51 vollständig durchlässig, so daß das Zustands-
Flip-Flop 50 als Reaktion auf den Binärwert Eins des Signals
BSSHBC- an seinem D-Eingang gesetzt wird. Das letztgenannte
Signal wird zusammen mit dem Binärwert Eins des Signals
BSLOCK+ am Anfang der Sperroperation empfangen. Auf diese
Weise wird eine Prüfung einer Sperroperation während desselben
Buszyklus durchgeführt.
Wenn das Flip-Flop 50 zum Zeitpunkt des Auftretens des Binärwerts
Eins der Signale BSLOCK+ und BSSHBC- schon gesetzt ist,
dann wird ein Signal vom Binärwert Eins am Ausgang des AND-
Gliedes 52 abgegeben, wodurch am Ausgang des Inverters 58 der
Binärwert Null entsteht, so daß das AND-Glied 44 durchlässig
gemacht wird, und damit alle anderen Bedingungen erfüllt sind,
um das Signal NAK zu erzeugen. Somit ist durch die Prüf- und
Sperroperation eine Antwort auf ein NAK-Signal erzeugt worden,
die andere Einheiten daran hindert, das gemeinsame Betriebsmittel
zu benutzen.
Wenn eine Einheit, die ein gemeinsames Betriebsmittel benutzt,
mit ihrer Operation zu Ende ist, muß sie das Betriebsmittel
freigeben. Dies geschieht dann, wenn der Binärwert Eins des
BSLOCK+-Signals und der Binärwert Null des BSSHBC--Signals
von der Benutzereinheit empfangen wird. Damit kann die Logik
gemäß Fig. 10 eine ACK-Antwort abgeben, durch die das Verknüpfungsglied
51 durchlässig gemacht wird, und wodurch das
Zustands-Flip-Flop 50 wegen des Binärwerts Null des Signals
BSSHBC- zurückgesetzt wird. Das zugeteilte Betriebsmittel ist
nun frei, eine ACK-Antwort an andere Einheiten zu liefern.
Das zugeteilte Betriebsmittel kann auch durch ein Buslösch-
Signal (Binärwert Null von BSMCLR-) entsperrt werden, das
am Löscheingang des Sperr-Zustands-Flip-Flop 50 auftritt.
Man erkennt, daß das gemeinsam benutzte Betriebsmittel nur
solche anderen Einheiten zurückweist, deren Signal BSLOCK+
den Binärwert Eins haben. Wenn eine Einheit zum Beispiel Zugriff
zu einem gemeinsamen Betriebsmittel wünscht, deren
Zustands-Flip-Flop gesetzt ist, so daß das Signal NAKHIS+
binär Eins ist, dann ist das Ausgangssignal des AND-Gliedes
52 unter der Voraussetzung, daß das BSLOCK+-Signal den Binärwert
Null hat, ebenfalls binär Null, wodurch eine NAK-Antwort
verhindert wird und in Abhängigkeit von anderen Bedingungen
entweder die Angabe einer WAIT- oder einer ACK-Antwort ermöglicht
wird. Damit kann also eine Einheit zu einem gemeinsamen
Betriebsmittel Zugriff erlangen selbst dann, wenn dieses
Betriebsmittel mit einer Sperroperation befaßt ist.
Man sieht, daß die Erzeugung eines WAIT-Signals durch irgendeine
der Steuerungen einer Einheit oder einer Steuerung
höherer Priorität es erlaubt, in die Folge der Buszyklen einzubrechen
und, wenn erforderlich, den Bus zu benutzen. Wenn
keine Einheit höherer Priorität vorhanden ist, die einen
Dienst anfordert, bleibt das bestehende Master-Slave-Verhältnis
solange aufrechterhalten, bis durch die Mastereinheit die
Bestätigung gegeben wird, wodurch die WAIT-Bedingung beendet
wird. Daraufhin kann ein anderer Benutzer den Bus benutzen.
Das BSDCNN+-Signal erlaubt einer Slave-Einheit eine der drei
Antworten, nämlich die Signale NAK, WAIT oder ACK zu erzeugen.
Am Ende einer dieser drei Antworten beginnt ein neuer Prioritätsnetzzyklus,
und die betreffende Einheit erlangt Zugriff
zum Bus oder eine andere Einheit höherer Priorität. Es sei
hier bemerkt, daß die Signalzustände auf dem Bus den entgegengesetzten
Binärwert zu demjenigen der innerhalb der Einheiten
dargestellten Signale aufweisen. So ist zum Beispiel angegeben,
daß das Busanforderungssignal zwischen zum Beispiel dem
Treiber 18 und dem Empfänger 11 in Fig. 8 auf dem Bus den
einen Wert und in den Steuerungen selbst den entgegengesetzten
Wert hat. Darüber hinaus ist vorstehend darauf hingewiesen
worden, daß eine vierte Antwort zwischen irgendwelchen
der Steuerungen, die an den Bus angeschlossen sind, bedeutet,
daß überhaupt keine Antwort gegeben werden soll. Wenn
also eine der Mastereinheiten eine Bedienung vom Speicher
anfordert, wobei der Speicher aber in das System nicht einbezogen
ist, erzeugt ein für diesen Zweck bekanntes Element
nach einer bestimmten Zeitperiode, beispielsweise nach
5 Mikrosekunden, ein Signal, wodurch ein NAK-Signal entsteht.
An dieser Stelle kann ein Zentralprozessor in Aktion treten,
beispielsweise durch einen Interrupt oder durch ein Sprungprogramm.
Wie vorstehend angegeben, kann der Speicher, wenn von ihm aus
Information übertragen wird, niemals ein NAK- oder WAIT-
Signal empfangen. Dies ist durch das Prioritätskonzept gemäß
der vorliegenden Erfindung bedingt. Der Speicher ist die
Einheit mit der höchsten Priorität. Wenn eine Einheit den
Speicher aufgefordert hat, Information zu senden, dann kann
diese Einheit die Information zu einem bestimmten Zeitpunkt
erwarten. Wenn die Einheit ein Signal WAIT oder NAK an den
Speicher sendet, dann könnte der Speicher, da er die Einheit
mit der höchsten Priorität ist, versuchen, Zugriff zu der
betreffenden Steuerung zu bekommen, die die Datenübertragung
angefordert hat, und könnte für den Bus einen nicht programmierten
Stop vorsehen, das heißt wegen des Umstandes, daß der
Speicher die höchste Priorität aufweist, könnte sie den Bus
veranlassen, weitere Datenübertragungen zu unterbrechen, bis
zu der betreffenden Speichersteuerung, die angefordert hat,
die Daten übertragen sind. In der Praxis führt, wie man an der
Speichersteuerlogik gemäß Fig. 9 sieht, eine an den Speicher
gesendete WAIT- oder NAK-Antwort zu einem Rücksetzen des
Speicherzuteilungs-Flip-Flop 22M durch ein Signal BSWAIT+ oder
BSNAKR+, das am Eingang des NOR-Gliedes 21 auftritt. Dies führt
zum Rücksetzen des Benutzer-Flip-Flop 15M über eine Doppelwortlogik
94 und ein NOR-Glied 29M mit der Folge eines Rücksetzens
des Anforderungs-Flip-Flop 17M. Das Ergebnis dieser
Flip-Flop-Rücksetzungen besteht darin, daß eine WAIT- oder
NAK-Antwort an den Speicher dort dazu führt, daß dieser
nicht wieder einen Datentransfer zu der anfordernden Einheit
versucht, und daß die Daten deswegen verlorengehen.
Es kann also ein Bestätigungssignal nur in Antwort auf eine
Anforderung an den Speicher gemacht werden, Daten anzunehmen.
Eine Steuerung kann jedoch beim Signal NAK oder WAIT an eine
andere Steuerung oder an einen anderen Steuerprozessor hinsenden,
ohne daß Daten verlorengehen. Darüber hinaus ist es
eine Hauptregel, daß dann, wenn eine Speichersteuerung von
einer Steuerung höherer Priorität Information anfordert, die
anfordernde Steuerung auch bereit sein muß, die Information
aufzunehmen und dementsprechend mit einem Signal ACK antworten
muß.
Wenn die Einheit noch nicht bereit ist, dann wird, sofern die
anderen Bedingungen erfüllt sind, das Signal NAK erzeugt. Der
Grund, weswegen das Signal NAK und nicht das Signal WAIT gesendet
wird, liegt im Umstand, daß typischerweise dann, wenn
eine Steuerung wie die Steuerung 210 belegt ist, das Terminal
mehr als nur wenige Mikrosekunden, sondern vielmehr für
Millisekunden belegt ist. Somit würde Zykluszeit vergeudet,
wenn dem Master angezeigt wird, daß der Master mit seinen Versuchen
fortfahren soll. Es sollte vielmehr gezeigt werden, daß
die anfordernde Dateneinheit mit der Datenverarbeitung fortfährt,
anstatt unnötigerweise den Buszyklus in Anspruch zu
nehmen und dabei die Gesamtreaktion des Systems verzögert.
Alles, was die anfordernde Einheit zu tun hat, ist ihr baldmöglichster
neuer Versuch, die Bestimmungseinheit zu erreichen.
Um wieder auf die Tätigkeit des Speicher-Belegt-Flip-Flop 49
zurückzukommen, sei erwähnt, daß der Dateneingang das Signal
MOSBSY+ aufnimmt, das asynchron zur Busoperation auftritt.
Dieses Signal kann zu jeder Zeit ohne Rücksicht auf die auf
dem Bus im Zusammenhang mit irgendeiner Steuerung sich abwickelnde
Operation empfangen werden. Wenn das Signal BSDCNN+
von der Mustereinheit am Takteingang des Flip-Flop empfangen
wird, wird ein Zustand gespeichert, und zwar der Speicherzustand,
nämlich die Angabe darüber, ob dieser zu der
betreffenden Zeit belegt ist oder nicht. Somit werden Verwirrungen
bei der Antwort an den Buszyklus vermieden. Ohne die
Speicherung des Zustandes durch das Flip-Flop 49 wäre es
möglich, einen Buszyklus in einer WAIT-Kondition zu starten
und denselben Buszyklus in einem Zustand zu beenden, in dem
er ein ACK-Signal erzeugt. Damit würden beide Antworten während
desselben Buszyklus gegeben, was dann eine Fehlersignalbedingung
wäre. Durch Verwendung des Zustands-Flip-Flop 49
wird die Antwort zu der Bedingung fixiert, in der die Steuerung
sich befand, als das Signal BSDCNN+ empfangen wurde,
wodurch eine asynchrone Antwort möglich ist, unabhängig von
Toleranzen oder Unterschieden in der Speicherarbeitsgeschwindigkeit.
In der obenstehenden Beschreibung wurde die Erläuterung des
ersten Buszyklus einer Doppelzugriffsoperation abgeschlossen,
in der der Zentralprozessor als Mastereinheit eine Doppelzugriffsanforderung
an den Speicher stellt und die Speichersteuerung
entweder mit einer Annahme oder mit einer Zurückweisung
der Anforderung reagiert. Es werden nunmehr der zweite und
dritte Buszyklus diskutiert, in denen die Speichersteuerung
die Mastereinheit und der Zentralprozessor die Slave-Einheit
ist. In diesen beiden Buszyklen fordert die Speichersteuerung
den Bus an und gibt die vorher von ihr angeforderte Information
auf ihm an den Zentralprozessor. Nachstehend werden die
beiden erwähnten Buszyklen unter Bezugnahme auf die Fig. 9,
9A, 11 und 11A mehr ins einzelne gehend beschrieben.
Die Fig. 9 zeigt die Logik, die jeder Speicher benötigt, um
einen Buszyklus anfordern, eine Anschlußunterbrechung vornehmen
und ein Datenzyklussignal (BSDCNN-) erzeugen zu können.
Alle anderen am Bus liegende Einheiten haben eine ähnliche
Logik für die Funktion der Verbindungsaufnahme, zum Beispiel
der Zentralprozessor eine Prioritätsnetzwerklogik, wie sie in
Fig. 8 gezeigt ist. Ebenfalls in Fig. 9 ist eine Logik dargestellt,
die die Verbindungsaufnahmefunktion des Speichers
während einer Doppelzugriffsoperation ändert. Diese Doppelwortlogik
in Form des Elementes 94 ist in Fig. 9A mehr ins
einzelne gehend dargestellt. Wegen der Ähnlichkeit der logischen
Elemente und Funktionen zwischen der Prioritätsnetzwerklogik
gemäß Fig. 8 und Fig. 9 werden nachstehend lediglich die
Unterschiede besprochen. Das heißt, in Fig. 9 sind die Elemente
10M, 11M, 13M, 14M, 16M, 18M, 20M, 21M, 22M, 23M, 24M, 25M
und 26M identisch und in ihrer Funktion übereinstimmend mit
den entsprechenden Elementen 10 bis 26 in Fig. 8. Die in
Fig. 9 gezeigten Elemente 12M, 15M, 17M, 19M, 28M und 29M sind
den Elementen 12 bis 29 gemäß Fig. 8 ähnlich und lediglich die
Unterschiede werden nachstehend beschrieben.
Eine Busanforderung wird durch einen Speicher nur dann vorgenommen,
wenn der Speicher bereit ist, die angeforderten Daten
zu übertragen (das heißt während der Veranlassung einer Antwort
in der zweiten Zyklushälfte). Wieder unter Bezugnahme
auf Fig. 9 sei festgestellt, daß dann, wenn ein Speicher eine
Anforderung akzeptiert und nicht gerade einen MOS-Speicher-
Erneuerungszyklus durchführt, der Zeittaktgenerator 95 gemäß
Fig. 9A ein Taktimpulssignal DCNNGO- erzeugt, das dem Takteingang
(C) des Benutzer-Flip-Flop 15M über die Leitung 185
zugeführt wird. Wenn das Signal DCNNGO- vom Zustand binär Null
zum Zustand binär Eins übergeht, wird das Signal INREDY- vom
NOR-Glied 87 gemäß Fig. 9A, das an den D-Eingang des Benutzer-
Flip-Flop 15M über die Leitung 184 gelegt ist, an den O-Ausgang
des Flip-Flops 15M weitergeleitet.
Wenn das Signal INREDY- den Binärwert Eins aufweist hat,
wie sich nachstehend aus der Diskussion der Fig. 9A ergibt,
das Q-Ausgangssignal, das gespeicherte Anforderungssignal
STREQQ+ des Benutzer-Flip-Flops 15M den Binärwert Eins. Der
Setzeingang (S) des Benutzer-Flip-Flops 15M wird gesperrt,
wenn das Eingangssignal in den Binärzustand Eins durch das
MYLUP+ gebracht wird, welches nicht mehr als ein Signal ist,
das über einen Widerstand von der Plus-Spannung empfangen
wird. Wenn keine weitere Buszyklusanforderung vorliegt (das
Signal BSREQT- hat den Binärwert Eins), keine Datenzyklen vorliegen
(das Signal BSDCNN- hat den Binärwert Eins), und wenn
das System nicht alle von Anfang an aufgetretenen logischen
Werte löscht (das Signal BSMCLR- hat den Binärwert Eins),
dann weist das Ausgangssignal des NOR-Gliedes 14M das Signal
BSBSY- den Binärwert Eins auf. Das Buslösch-Signal BSMCLR-
dient als Eingangssignal für das AND-Glied 12M gemäß Fig. 9
und ersetzt das Masterlöschsignal MYMCLR-, ein Eingangssignal
für das AND-Glied 12 gemäß Fig. 8. Daher bewirkt das gespeicherte
Anforderungssignal STREQQ+, das in den Binärzustand
Eins übergeht, daß beide Eingänge des NAND-Gliedes 16M den
Binärwert Eins erhalten, mit dem Ergebnis, daß dessen Ausgangssignal
den Binärwert Null annimmt. Das Auftreten des
Binärwertes Null am Setzeingang des Anforderungs-Flip-Flop 17M
führt zu einem Setzen desselben. Wenn der Takteingang des
Flip-Flop 17M geerdet ist, was Binärwert Null bedeutet, wird
dieses Flip-Flop nur durch das Ausgangssignal des NAND-Gliedes
16M gesetzt. Das Setzen des Q-Ausgangssignals des Anforderungs-
Flip-Flop 17M zum Binärwert Eins hin hat eine Anforderung
an das Busunterbrechungsnetzwerk, das NAND-Glied 19M zur
Folge, um die Priorität dieser Busanforderung gegenüber anderen
gleichzeitigen Anforderungen zu überprüfen (sofern solche
vorhanden sind). Zur selben Zeit wird das Q-Ausgangssignal
des Anforderungs-Flip-Flops 17M an die Bussendeempfänger gegeben,
wo es durch das Element 18M invertiert wird, um als Busanforderungssignal
(BSREQT-) auf den Bus zu gelangen.
Wenn das Signal BSREQT- den Binärwert Null angenommen hat,
hindert es andere gespeicherte Anforderungen daran, weitere
Anforderungs-Flip-Flops 17M im System zu setzen. Da jede
Einheit einen Buszyklus durch Setzen seines Benutzer-Flip-
Flops 15M anfordern kann, können mehrere Anforderungs-Flip-
Flops 17M gleichzeitig gesetzt sein, wobei jedes einen möglichen
zukünftigen Buszyklus betrifft. Wenn gleichzeitige
Anforderungen vorliegen, teilt das NAND-Glied 19M einen Datenzyklus
der anfordernden Einheit mit der höchsten Priorität
zu, indem es das betreffende Zuteilungs-Flip-Flop 22M setzt.
Um einer beliebigen Einheit einen Datenzyklus zuteilen zu können,
muß das NAND-Glied 19M an allen seinen Eingängen Unterbrechungssignale
vom Binärwert Eins anliegen haben. Wie vorstehend
in Verbindung mit Fig. 8 erläutert, ist das Element
28M in der Einheit höchster Priorität, im Speicher, ein Verzögerungselement,
das dem Verzögerungselement 13M entspricht,
und das beispielsweise eine Verzögerung von 20 Nanosekunden
bewirkt. Ohne das Verzögerungselement 28M in der Einheit
höchster Priorität würde diese immer beim Zugriff erfolgreich
sein, ohne die durch das Verzögerungsglied 13M bedingte Verzögerung
einzuhalten. Durch das Element 28M ist daher die
Einheit höchster Priorität, der Speicher, daran gehindert,
während der Verzögerungsperiode, beispielsweise während 20
Mikrosekunden nach dem Zeitpunkt, zu dem es sein Anforderungs-
Flip-Flop 17M setzt, sein Zuteilungs-Flip-Flop 22M zu setzen.
Bei dieser Einheit und parallel dazu bei dem Verzögerungselement
28M ist außerdem eine direkte Verbindung vom Q-Ausgang des
Anforderungs-Flip-Flop 17M zu einem Eingang des NAND-Gliedes
19M vorhanden, um die Aktivierung des Verknüpfungsgliedes 19M
aufgrund eines kurzzeitigen Impulses zu verhindern, der am
Q-Ausgang des Flip-Flop 17M wegen beispielsweise eines Wettrennzustands
in der Logik gemäß Fig. 9 erzeugt wird. Da der Speicher
den Bus nicht wieder anfordert, indem er sein Anforderungs-
Flip-Flop 17M, in Erwartung, daß er zum Zeitpunkt,
zu dem der Buszyklus zugeteilt wird, bereit ist, liegt kein
Benutzer-Bereitschaftssignal als Eingangssignal am NAND-Glied
19M, das dem Signal MCDCNP+ entspricht, das, wie vorstehend
erläutert, für das Zentralprozessor-Prioritätslogiknetzwerk
gemäß Fig. 8 bestimmt ist. Die anderen Eingangssignale des
NAND-Gliedes M werden in ähnlicher Weise wie diejenigen
des NAND-Gliedes 19 gemäß Fig. 8 erzeugt. Jede Einheit ändert
das Ausgangssignal ihres AND-Gliedes 20M in den Binärwert
Null, wenn eine Busanforderung gemacht wird. Somit nimmt das
Signal BSMYOK+ den Binärwert Null an und wird auf den Bus gegeben,
wo es das Sperrsignal für die Unterbrecherglieder
NAND-Glieder 19M bei Einheiten niedrigerer Priorität wird.
Der Speicher nimmt immer die Lage der höchsten Priorität am
Bus ein. In dieser Lage werden die Unterbrechersignale an
Widerständen zu Signalen des Binärwerts Eins verbunden. Wenn
nicht eine Speichersteuerung höherer Priorität im System ist,
dann liegt, wenn der Speicher das Signal MYREQT+ erzeugt,
kein Unterbrechersignal mit dem Binärwert Null am Eingang
des NAND-Gliedes 19M, das verhindern würde, daß das Ausgangssignal
dieses Verknüpfungsgliedes binär Null werden würde
und damit das Zuteilungs-Flip-Flop 22M setzen würde. Wenn der
Taktimpulseingang des Flip-Flop 22M geerdet ist, was dem
Binärwert Null entspricht, wird das Flip-Flop 22M lediglich
durch das Ausgangssignal des NAND-Gliedes 19M gesetzt.
Das Setzen des Zuteilungs-Flip-Flop 22M hat zur Folge, daß
das Signal MYDCNN+ am Q-Ausgang des Zuteilungs-Flip-Flop 22M
den Binärwert Eins annimmt, der durch das Bus-Sende-Empfangs-
Gerät 23M invertiert und an den Bus als Signal BSDCNN- gegeben
wird. Das Signal MYDCNN+ auf der Leitung 182 setzt auch
das Benutzer-Flip-Flop 15M zurück, (über Doppelwort verbunden
mit Logik 94, Signal SFREQR+ auf Leitung 183 und NOR-Glied 29M),
wenn nicht eine Doppelzugriffsübertragung im Gang ist, wie sich
nachfolgend ergibt. Das Signal MYDCNN+ schaltet auch Speicherdaten,
Speicheridentifizierungscodes und einige andere Steuersignale
auf den Bus.
Während einer Doppelzugriffsoperation informiert eine anfordernde
Einheit den Speicher, daß ein Doppelwort angefordert
wird, indem sie das Doppelzugriffssignal BSDBPL- auf dem
Bus zum Binärwert Null macht. Ein Taktgenerator und ein Teil
der Bussteuerlogik setzen die Doppelzugriffsspeicher in die
Lage, mit zwei Worten zu antworten anstelle nur eines, wie
vorstehend beschrieben.
Die Bussteuerungs- und Antworteinheit, die für eine Doppelzugriffsübertragung
benutzt wird, ist in den Fig. 9 und
9A gezeigt. Wie sich aus Fig. 9 ergibt, wird während einer
einzigen Zugriffsübertragung das Signal MYDCNN+ durch das
Zuteilungs-Flip-Flop 22M dann erzeugt, wenn dem Speicher ein
Buszyklus zugeteilt worden ist, und das angeforderte Datensignal
zurücksendet. Das Speicherbenutzer-Flip-Flop 15M wird
mit der Anstiegsflanke des Signals STREQR+ über das NOR-Glied
29M zurückgesetzt. Das erwähnte Signal auf der Leitung 183
wird von einer Doppelwortlogik 94 in Reaktion auf das Signal
MYDCNN+ auf der Leitung 182 erzeugt, wie noch erläutert wird.
Das Rücksetzen des Benutzer-Flip-Flop 15M hat zur Folge, daß
das -Ausgangssignal desselben, das Signal STREQQ-, den
Binärwert Eins annimmt und über das NOR-Glied 70 das Speicheranforderungs-
Flip-Flop 17M zurücksetzt. Das Zurücksetzen des
letzterwähnten Flip-Flop führt dazu, daß das -Ausgangssignal
desselben, das Signal MYREQT-, den Binärwert Eins annimmt und
über das AND-Glied 20M dazu führt, daß das Signal BSMYOK+ binär
Eins wird, wodurch der Bus für die nächste Operation freigegeben
wird. Man sieht also, daß im Falle einer Einfachzugriffoperation
das Signal MYDCNN+ das Benutzer-Flip-Flop 15M nach
Beendigung des ersten Anwortzyklus zurücksetzt, wogegen, wie
sich noch ergibt, bei einer Doppelzugriffsoperation zwei Antwortzyklen
erforderlich sind, bevor das Benutzer-Flip-Flop 15M
zurückgesetzt wird.
Fig. 9 zeigt auch die Logik, die von der Speichersteuerung benutzt
wird, um den Inhalt der Busdatenleitungen während einer
Speicheranforderung festzuhalten. Die Busdatenleitungssignale
BSDT00- bis BSDT15- werden durch 16 Empfänger 97 gemäß Fig. 9
empfangen und invertiert. Die resuliertenden Signale BSDT00+ bis BSDT15+
werden durch das Signal MYACKR+ auf der Leitung 186 von der
Logik gemäß Fig. 10 in das Register 98 eingegeben, wenn die
Speichersteuerung als Slave-Einheit die Speicheranforderung
annimmt. Das Register 98 besteht aus 16 D-Flip-Flops und wird
dazu benutzt, den Inhalt der Busdatenleitungen zu speichern.
Während einer Schreibanforderung an den Speicher enthalten die
Busdatenleitungen das 16-Bit-Datenwort, das in den Speicher
geschrieben werden soll. Während einer Speicherleseanforderung
enthalten die Datenleitungen die Kanalnummer der anfordernden
Einheit und den Funktionscode im in Fig. 4 gezeigten Format.
Während des Antwortzyklus einer Leseanforderung, und zwar
während einer Einfachzugriff- oder einer Doppelzugriffleseanforderung
werden die Kanalnummer und der Funktionscode zu
der anfordernden Einheit auf den Busadreßleitungen im Format
gemäß Fig. 3 zurückgesendet. Das Rücksenden dieser Informationen
geschieht dadurch, daß durch das Signal MYDCNN- die
16 Treiber 99 aktiviert werden, um den Inhalt des Registers 98
auf die Busadreßleitungen zu schalten, wenn der Speichersteuerung
als Mastereinheit der Bus zugeteilt worden ist. Wie sich
noch ergibt, erlaubt das Zurücksenden des Funktionscodes
während des Antwortzyklus dem Zentralprozessor zwischen Speicherantwortzyklen,
die eine Antwort auf eine Einfachzugriffanforderung
sind von Daten, und Speicherantwortzyklen zu unterscheiden,
die eine Antwort auf eine Doppelzugriffsanforderung
sind.
Wie sich aus Fig. 9A ergibt, wird, wenn der Speicher eine Doppelwortleseanforderung
annimmt, der Ausgang des AND-Gliedes 76,
das Doppelwortzugriffssignal (DFETCH+), binär Eins, vorausgesetzt,
daß sich der Speicher nicht in einem MOS-Speichererneuerungszyklus
befindet. Das erwähnte Signal ermöglicht dem
Speicher, zwei aufeinanderfolgende MYDCNN+-Signale zu erzeugen,
die zwei durch die Mastereinheit angeforderte Datenwörter aussenden,
wie nachfolgend beschrieben wird. Wenn die Mastereinheit
eine Doppelzugriffsanforderung vornimmt, ist das BSWRIT-
Signal auf dem Bus binär Eins, was eine Leseanforderung anzeigt,
und daher ist das Ausgangssignal des Empfängers (invertierender
Verstärker) 71 binär Null. Ebenso während einer
Doppelzugriffsanforderung ist, da das Doppelzugriffssignal
BSDBPL- auf dem Bus binär Null ist, das Ausgangssignal des
Empfängers 72 binär Eins. Wenn der Speicher das erste der
beiden Worte enthält, zu denen zugegriffen werden soll, das
heißt, das durch die Busadressenleitungen BSAD00- bis BSAD22-
adressierte Wort in dem betreffenden Speicher vorhanden ist
und der Speicher nicht belegt ist, veranlaßt die Speichersteuerungslogik
gemäß Fig. 10, daß das MYACKR+-Signal vom Binärwert
Null zum Binärwert Eins übergeht, wodurch das Eingangssignal an
den D-Eingängen an die Q-Ausgänge des Elementes 74 weitergetaktet
wird. Das bedeutet, daß das Signal BSWRIT+ vom Binärwert Null
am Eingang D0 an den Ausgang Q0 durchgeschaltet wird und damit
das Schreibspeichersignal WRITMM+ zu binär Null und das
0-Ausgangslesespeichersignal READMM+ zu binär Eins macht.
Das Signal BSDBPL+ vom Binärwert Eins am Eingang D1 des Elementes
74 wird an den Ausgang Q1 dieses Elements durchgeschaltet,
wodurch das Signal MDFETCH+ zu binär Eins wird. Sofern
keine Speichererneuerung im Gange ist, hat das Signal REFCOM-
den Binärwert Eins, wenn keine Doppelwortsperre vorliegt, weil
der Speicher nicht geprüft wird, ist das Signal DWDINH- binär
Eins und mit Umschlagen des Signals READMM+ auf binär Null
wird das Ausgangssignal des NOR-Gliedes 75, das Signal DFHINH-
binär Eins. Da nun beide Eingangssignale am AND-Glied 76 binär
Eins sind, wird das Ausgangssignal, das Signal DFETCH+ ebenfalls
binär Eins.
Die Koinzidenz des vorerwähnten Signals und des Signals
DWDSET+, das vom Speicherzeittaktgenerator 95 erzeugt wird,
das durch Verzögerung, beispielsweise um 100 Nanosekunden,
als Signal MYACKR+ auftritt, an den Eingängen des NAND-Gliedes
78 führt dazu, daß dessen Ausgangssignal, das Signal DWDSET-
den Binärwert Null annimmt und dabei das Doppelzugriffszustands-
Flip-Flop 80 setzt. Der Zweck dieses Flip-Flop 80 besteht
darin, festzuhalten, daß der Speicher auf eine Doppelzugriffsoperation
antwortet, so daß dann, wenn der Speicher die Steuerung
auf dem Bus übernimmt und während des ersten der beiden
Anwortzyklen antwortet, er das Signal BSDBPL- zu binär Null
macht, um der anfordernden Einheit anzugeben, daß es sich um
das erste der beiden Worte handelt. Das Signal DWDHIS-, das
am -Ausgang des Flip-Flop 80 den Binärwert Null hat, verhindert,
daß das Ausgangssignal des NAND-Gliedes 81 binär Null
wird, wenn der Speicher mit dem Signal MYDCNN+ auf der Leitung
182 antwortet, das während des ersten Antwortzyklus
binär Eins ist. Dieses Sperren durch das Signal DWDHIS- verhindert,
daß das Ausgangssignal des Inverters 82 den Binärwert
Eins als Reaktion auf das Signal MYDCNN+ annimmt, wenn dieses
binär Null wird, so daß ein Rücksetzen des Speicherbenutzer-
Flip-Flop 15M über das NOR-Glied 29 gemäß Fig. 9 verhindert
ist. Das Sperren des Flip-Flop 15M durch das Doppelzugriffs-
Zustands-Flip-Flop verhindert ein Rücksetzen des Speicheranforderungs-
Flip-Flop 17M, so daß das Signal MYREQT+ binär
Eins bleibt und ferner der Speicher fortfährt, über den Treiber
18M einen Buszyklus anzufordern. Während des ersten Speicherantwortzyklus
erzeugt die Vorderkante des Signals MYDCNN+
auf der Leitung 182 das Doppelantwortsignal DWRESP- am Ausgang
des NAND-Glieds 83, an dem als Eingangssignal das
Q-Ausgangssignal des Flip-Flop 80, das Signal DWDHIS+ anliegt,
das binär Eins ist. Das den Binärwert Null annehmende Signal
DWRESP- wird durch den Inverter 84 invertiert und nochmals
invertiert durch den Treiber 85 und dann an den Bus als Signal
BSDBPL- mit dem Binärwert Null gegeben. Das Signal DWRESP-
setzt ebenfalls das Flip-Flop 80 zurück, indem es einen -Ausgang
an seinem D-Eingang zu seinen Q- und -Ausgängen taktet.
Das Rücksetzen des Flip-Flop 80 führt zu einem -Ausgangssignal
desselben vom Binärwert Null, so daß das nächste
MYDCNN+-Signal, das am NAND-Glied 81 anliegt, zu einem Rücksetzen
des Speicherbenutzer-Flip-Flop 15M über den Inverter
82 und das NOR-Glied 29M führt. Das Rücksetzen des Flip-Flop
15M führt zu einem Rücksetzen des Speicheranforderungs-Flip-
Flop 17M und dazu, daß das Signal MYREQT+ an dessen Ausgang
binär Null wird, mit der Folge, daß der Speicher nicht länger
über den Treiber 18M einen Buszyklus anfordert.
Die anfordernde Einheit, der Zentralprozessor in diesem Fall,
bestätigt das erste Datenwort, indem sie mit dem Signal
BSACKR-, das binär Null ist, antwortet, welches das Speicherzuteilungs-
Flip-Flop 22M rücksetzt. Wenn die anfordernde
Einheit die Signale NAK oder WAIT im Speicherantwortzyklus
sendet oder nicht antwortet, sind die Daten verloren. Da das
Speicheranforderungs-Flip-Flop 17M in Beantwortung des ersten
Speicherantwortzyklus nicht rückgesetzt wird, fährt der
Speicher fort, den Bus mit dem Signal BSREQT- anzufordern, das
binär Null bleibt. Der Speicher erzeugt daher ein weiteres
Signal BYDCNN+ vom Binärwert Eins über das NAND-Glied 19M
und das Flip-Flop 22M, um das zweite Datenwort zu senden. Wenn
das Doppelzugriffs-Zustands-Flip-Flop 80 am Ende des ersten
Antwortzyklus zurückgesetzt ist, setzt während des zweiten
Antwortzyklus das Signal MYDCNN+ das Benutzer-Flip-Flop 15M
zurück, wie auch das Anforderungs-Flip-Flop 17M. Auch wird
das Signal BSDBPL- nicht in den Binärzustand Null gebracht,
womit angezeigt wird, daß keine weitere Information vorliegt,
die von der anfordernden Einheit erwartet werden müßte.
Wenn aus irgendeinem Grund das zweite Datenwort nicht von der
Speichersteuerung erhalten werden kann (beispielsweise wenn
der Zentralprozessor eine Doppelzugriffsoperation anfordert
und die vorliegende Speicheradresse, das heißt die Adresse
des ersten der beiden Worte diejenige der höchstwertigen Stelle
in dieser bestimmten Speichersteuerung ist), dann setzt
der Speicher das Doppelzugriffs-Zustands-Flip-Flop 80 mit dem
Signal I2WRBS- über das OR-Glied 77 und den Inverter 79
zurück, letzteren durch das Signal DWDRES-, das an dessen
Rücksetzeingang mit dem Binärwert Null auftritt. Dieses
Rücksetzen des Flip-Flop 80 findet statt, nachdem es durch
das Signal DWDSET-, das an seinem Setzeingang binär Null geworden
ist, gesetzt ist, jedoch vor dem ersten Antwortzyklus
des Speichers, wie nachstehend beschrieben wird. Das bedeutet,
daß, wenn das zweite Wort nicht vorhanden ist, das Signal
DWDSET+ des Taktgenerators 95 den Binärwert Eins annimmt und
zum Binärwert Null zurückgeht, bevor das Signal I2WRES- vom
NOR-Glied 93 auftritt. In diesem Fall bringt die Speichersteuerung
das Signal BSDBPL- nicht in den Binärzustand Null
während der Ausgabe des ersten Datenwortes, womit der anfordernden
Einheit angezeigt ist, daß ein zweites Datenwort
nicht mehr kommt.
Die Adreßregister 89 und 90 wirken mit den Multiplexern 91
und 92 und dem NOR-Glied 93 zusammen, um festzustellen, ob
das zweite Wort der Doppelzugriffsanforderung bei derselben
Speichersteuerung vorhanden ist, bei der auch das erste Wort
vorhanden ist. Diese Feststellung wird wie folgt durchgeführt,
wenn die Mastereinheit, beispielsweise der Zentralprozessor,
eine Doppelzugriffsanforderung abgibt. Das Element 88 enthält
Empfänger für jedes der Busadreßsignale BSAD00- bis BSAD22-,
die invertierte Signale BSAD00+ bis BSAD22+ erzeugen, die an
die Adreßregister 89 und 90 gelangen. Diese beiden Register
bestehen jeweils aus sechs in Kaskade geschalteten synchronen
4-Bit-Auf-/Abzählern des Typs, wie sie unter der Bezeichnung
SN74193 von der Firma Texas Instruments hergestellt werden.
Diese Adreßregister haben die Fähigkeit, die in sie eingegebene
Information zu erhalten, wenn an ihrem Eingang L der
Binärwert Null anliegt, und auch die Fähigkeit, den Wert um
1 zu erhöhen und diesen erhöhten Wert zu speichern. Die Adreßregister
erhöhen ihren Inhalt um 1, wenn das Signal an ihrem
+1-Eingang vom Binärwert Null zum Binärwert Eins übergeht.
Während des Doppelzugriffs-Anforderungszyklus des Masters
werden die Restsignale des Busses an beide Register 89 und 90
gelegt, wenn die Speichersteuerung die Doppelzugriffsanforderung
durch das Signal MYACKR+ bestätigt, das über den Inverter
96 den Binärwert Null annimmt. Sie erzeugt ein binäres Null
MYACKR--Signal am L-Eingang der Register 89 und 90. Wenn
die Adresse des ersten Wortes in dieser Weise in beide Register
89 und 90 geladen ist, bestimmt eine weitere hier nicht
dargestellte Logik, ob die Adresse ungerade oder gerade ist.
Wenn die Speicheradresse des ersten Wortes ungerade ist, geht
das Signal MAREUC- am +1-Eingang des Geradewortadreßregisters 90
vom Binärzustand Null in den Binärzustand Eins über, wobei
der Inhalt des Registers um 1 erhöht wird. Das Adreßregister
90 für geradzahlige Adressen enthält somit die Adresse des
zweiten (geradzahligen) Wortes, das dem Speicher entnommen
werden soll. In ähnlicher Weise geht dann, wenn die Adresse
des ersten Wortes gerade ist, das Signal MAROUC- am +1-
Eingang des Adreßwortregisters 89 für ungerade Adressen vom
Binärwert Null in den Binärwert Eins über, erhöht dabei den
Inhalt des Registers 89, so daß er die Adresse des zweiten
ungeraden, dem Speicher zu entnehmenden Wortes enthält. Zu
diesem Zeitpunkt enthält, unabhängig davon, ob die Adresse des
ersten Wortes ungerade oder gerade war, das Register 89 die
Adresse eines ungeraden Wortes und das Register 90 die Adresse
eines geraden Wortes. Die Multiplexer 91 und 92 arbeiten in
ähnlicher Weise wie der Multiplexer 48 gemäß Fig. 10, um zu
bestimmen, ob der 8k-Speichermodul, der das zweite der beiden
auszugebenden Worte enthält, bei der vorliegenden Steuerung
vorhanden ist. Mit Hilfe des Signals MARE08+, das vom Adreßregister
90 für ungerade Adressen abgeleitet ist und anzeigt,
ob das in diesem Register adressierte Wort sich bei den 16k
unteren Worten oder bei den 16k oberen Worten befindet,
schalten die Multiplexer 91 und 92 selektiv einen der Eingänge
auf den Ausgang. Das bedeutet, daß dann, wenn das Signal
MARE08+ binär Null ist, das Signal MYMOSB- an den Ausgang des
Multiplexers 91 und das Signal MYMOSA- an den Ausgang des
Multiplexers 92 geschaltet wird. Wenn das Signal MARE08+ binär
Eins ist, wird das Signal MYMOSP- an den Ausgang des Multiplexers
91 und das Signal MYMOSC- an den Ausgang des Multiplexers
92 durchgeschaltet. Wie sich aus der vorstehenden Erläuterung
des Multiplexers 48 gemäß Fig. 10 ergeben hat, zeigt dann,
wenn das Signal MARE08+ binär Null ist, was bedeutet, daß die
unteren 16k Worte für Speichersteuerung durch das Adreßregister
für geradzahlige Worte angesteuert wird, ein Binärwert
Null am Ausgang des Multiplexers 91, daß der Speichermodul B
vorhanden ist und ein Binärwert Null am Ausgang des Multiplexers
92, daß der Speichemodul A vorhanden ist. Wenn das
Signal MARE08+ binär Eins ist, was bedeutet, daß das Adreßregister
für geradzahlige Worte ein Wort der oberen 16k Worte
in der Speichersteuerung bezeichnet, zeigt der Binärwert Null
am Ausgang des Multiplexers 91 an, daß der Speichermodul D
in der Steuerung vorhanden ist und der Binärwert Null am
Ausgang des Multiplexers 92, daß der Speichermodul C vorhanden
ist.
Die Wirkungsweise der Multiplexer 91 und 92 in Verbindung mit
den Adreßregistern 89 und 90 läßt sich am besten anhand von
Fig. 14 erläutern und anhand von Grenzfällen prüfen. Wenn die
im Register 90 enthaltene Adresse die unteren 16k Worte im
Speicher betrifft, das heißt wenn das Signal MARE08+ binär
Null ist, sind die Grenzfälle diejenigen, in denen das Adreßregister
für geradzahlige Worte eine Adresse zwischen 0 und
16.382 enthält. Wenn das Adreßregister 90 die Adresse 0 enthält,
muß das Adreßregister 89 für ungeradzahlige Worte die
Adresse des nächsthöheren Wortes, das heißt des Wortes 1,
enthalten, und die Multiplexer 91 und 92 gemäß Fig. 9A erfordern,
daß die Moduln A und B in der Speichersteuerung
vorhanden sind. Im Fall der Adresse 0 im Register 90 kann
das Adreßregister für ungeradzahlige Worte nicht die nächstniedrigere
Adresse enthalten, da die Speichersteuerungslogik
gemäß Fig. 9 nicht geantwortet haben würde, da die Adresse
auf dem Bus, das heißt die Adresse des ersten zu entnehmenden
Wortes, in der Steuerung nicht vorhanden war und daher die
Adresse nicht zu den Adreßregistern 89 und 90 durchgeschaltet
worden wäre. Wenn die Adresse im Register 90 diejenige des
letzten Wortes im Modul A, das heißt die Adresse 16.382, ist,
sind sowohl das nächsthöhere als auch das nächstniedrigere
Wort, das durch das Register 89 für ungeradzahlige Worte
adressiert werden könnte, im Speichermodul B enthalten und die
Multiplexer 91 und 92 zeigen die Anwesenheit der Speichermoduln
A und B an. Wenn das Signal MARE08+ den Binärwert Eins
aufweist, was bedeutet, daß die im Adreßregister 90 befindliche
Adresse die oberen 16k Wörter des Speichers betrifft,
zeigen die Multiplexer 91 und 92 das Vorhandensein der Speichermoduln
C und D an. Im Falle der oberen 16k Worte im
Speicher, wenn das Adreßregister für geradzahlige Worte das
erste Wort im Speichermodul C adressiert, das heißt die Adresse
16.384 liefert, dann ist das Wort der nächsthöheren Adresse
im Speichermodul D enthalten, dessen Anwesenheit durch den
Multiplexer 91 angezeigt wird. Wenn das nächstniedrigere Wort
adressiert wird, das heißt das Wort 16.383, würde die Anwesenheit
des Speichermoduls B während des ersten Buszyklus'
durch den Multiplexer 48 gemäß Fig. 10 angezeigt, wenn ursprünglich
eine Doppelzugriffsanforderung vorlag. Wenn das
Adreßregister 90 die Adresse des letzten Wortes im Speichermodul
C enthält, das heißt des Wortes 32.766, sind sowohl die
Worte mit der nächsthöheren als auch mit der nächstniedrigeren
Adresse im Speichermodul D enthalten, dessen Anwesenheit wieder
durch den Multiplexer 91 angezeigt wird. Der letzte verbleibende
Grenzfall ist der, daß durch die Doppelzugriffsanforderung
das letzte Wort bei der Speichersteuerung adressiert
wird, das heißt die Adresse 32.767. In diesem Fall wird,
nachdem die Adresse vom Bus durchgeschaltet und in die Adreßregister
89 und 90 eingetragen worden ist, der Inhalt des
Adreßregisters 90 um 1 erhöht, so daß sich die Adresse
32.768 ergibt. Dies führt dazu, daß das Signal MARE08+ Null
wird, was, wie sich vorstehend gezeigt hat, dazu führt, daß
die Multiplexer 91 und 92 die Anwesenheit oder Abwesenheit
der Speichermoduln A und B anzeigen, die die unteren 16k Worte
des Speichers auf eine besondere Speichersteuerung zusammenführen.
In diesem Fall, in dem das erste in einer Doppelzugriffsanforderung
adressierte Wort das letzte Wort in der
Speichersteuerung ist, befindet sich das zweite Wort tatsächlich
unter den 16k Worten des Speichers, aber nicht bei der
aktuellen Speichersteuerung, sondern bei der nächsten Speichersteuerung.
Dieser Fall wird durch das Signal MAROOL+-
Zeichen gemäß Fig. 9A angezeigt, das den Binärwert Eins aufgrund
eines Übertragssignals annimmt, welches sich aus dem
Übertrag der Bitposition 8 in die Bitposition 7 des Registers
90 für geradzahlige Worte ergibt, wenn die Adresse erhöht
wird. Indem das Ausgangssignal der Multiplexer 91 und 92,
und das Adreßübertragssignal MAROOL+ unter Sperrung des
Zweiwortsignals INH2WD+ (normalerweise binär Null) an das
NOR-Glied 93 gegeben werden, nimmt dessen Ausgangssignal, das
Signal I2WRES-, den Binärwert Null an, wenn das zweite Wort
der Doppelzugriffsanforderung in der betreffenden Speichersteuerung
vorhanden ist. Das Signal I2WRES- wird binär Null,
wenn das zweite Wort nicht in der Speichersteuerung vorhanden
ist und bewirkt über das OR-Glied 77 und den Inverter 79
ein Rücksetzen des Doppelzugriffs-Zustands-Flip-Flops 80.
Die Adressenregister 89 und 90 werden zusammen mit anderen in
der Fig. 9A nicht dargestellten Logikeinheiten auch dazu verwendet,
die ungeradzahligen und geradzahligen Worte zu adressieren,
wenn sie von den Speichermoduln abgerufen werden.
Hierdurch ist es möglich, zwei Worte in Überlappung abzurufen,
ein Wort von einem Speichermodul, der geradzahlig adressierte
Worte enthält, und ein Wort von einem Speichermodul,
der ungeradzahlig adressierte Worte enthält. Das Abrufen des
zweiten Wortes wird kurz nach dem Abrufen des ersten Wortes
eingeleitet, beispielsweise um 150 Nanosekunden später. Dies
hat zur Folge, daß das zweite Wort in der Speichersteuerung
zur Verfügung steht, bevor der Antwortbuszyklus, der das
erste Wort an die anfordernde Einheit liefert, beendet ist.
Hierdurch wird der Systemdurchsatz dadurch erhöht, daß das
zweite Wort für einen unmittelbaren Transfer zu der erfordernden
Einheit während eines zweiten Antwortszyklus' zur
Verfügung steht.
Das Speichersteuerbenutzer-Flip-Flop 15M gemäß Fig. 9 wird in
folgender Weise gesetzt. Wie man aus Fig. 9A ersehen hat,
wird, wenn die Speichersteuerung eine Leseanforderung bestätigt,
das Speicherlesesignal READMM+, ein Ausgangssignal des
Elementes 74, zu binär 1 und zusammen mit dem Initialisierungssignal
INITMM-, das den Binärwert 1 aufweist und anzeigt,
daß noch keine Initialisierung vorliegt, hat es zur
Folge, daß das Ausgangssignal des AND-Gliedes 86 binär Eins
wird. Dieses Ausgangssignal führt zusammen mit dem Speichererneuerungssignal
REFCOM-, das binär Eins ist und anzeigt,
daß ein Speichererneuerungszyklus nicht im Gange ist, dazu,
daß das Ausgangssignal des NOR-Gliedes 87, das Signal INREDY-
auf der Leitung 184, den Binärwert Eins am D-Eingang des
Benutzer-Flip-Flop 15M annimmt. Das spätere Auftreten, beispielsweise
400 Nanosekunden nachdem das Signal MYACKR+ vom
Binärwert Null in den Binärwert Eins übergeht, des Signals
DCNNGO- auf der Leitung 184 am Takteingang des Flip-Flop 15M,
der vom Binärzustand Null in den Binärzustand Eins übergeht,
veranlaßt das Setzen des Flip-Flops 15M, wodurch das Signal
am D-Eingang an den Ausgang durchgeschaltet wird. Es sei bemerkt,
daß zu dem Zeitpunkt, zu dem diese Taktung eintritt,
das Ausgangssignal des NOR-Gliedes 29M binär Eins ist. Aus
Fig. 9A erkennt man, daß die Ausgangssignale der Flip-Flops
des Elementes 74 durch das Ausgangssignal des NOR-Gliedes 73,
des Signals CLRMOD-, gelöscht werden, und zwar wenn dieses
Signal binär Null wird als Folge des Übergangs eines Eingangssignals
in den Binärzustand Null, das heißt, wenn es zu einem
Buslöschen oder zur Speicherinhaltserneuerung kommt. Die
Zeitbeziehungen zwischen den Speichersteuerungssignalen während
einer Doppelzugriffsoperation sind im unteren Teil der
Fig. 12 gezeigt und werden nachstehend näher beschrieben.
Es wird nun auf eine typische Zentralprozessorbus-Kopplungslogik
gemäß Fig. 11 bezug genommen. Es werden sort die Signale
vom Bus mit Hilfe von Empfängern aufgenommen, die
Bestandteil des Elementes 99 sind. Das Signal BSMREF- wird
von einem der Empfänger empfangen und dazu benutzt, teilweise
das AND-Glied 100 zu aktivieren, wenn die empfangene Adresse
nicht eine Speicheradresse ist. Das Signal MYDCNN+ führt dann
zu einer Aktivierung des AND-Gliedes 100, wenn der Zentralprozessor
nicht gerade die Mastereinheit ist (das heißt wenn
er nicht gerade eine Adresse auf den Bus gegeben hat). Das
Ausgangssignal des AND-Gliedes 100 stellt ein Eingangssignal
für den Komparator 103 dar und aktiviert diesen. Eines der
Eingangssignale, die durch den Komparator 103 verglichen
werden, ist die Adresse des Zentralprozessors, die in diesem
Falle beispielsweise vierstellig sei und durch die Signale
BSAD14+ bis BSAD17+ dargestellt wird. Diese Adresse, die am
einen Eingang des Komparators anliegt, wird mit der Adresse
verglichen, die beispielsweise durch den hexadezimalen Schalter
101 im Zentralprozessor selbst eingestellt worden ist.
Wenn die empfangene Adresse und die durch den Schalter 101
angegebene Adresse als übereinstimmend erkannt werden, erzeugt
der Komparator 103 das Signal ITSAME+, das zu einer
Teilfreigabe der Verknüpfungsglieder 106 und 107 führt.
An den Eingängen des AND-Gliedes 104 werden weitere Adressen-
Bits BSAD08+ bis BSAD13+ empfangen, wobei dieses Verknüpfungsglied
feststellt, ob alle diese Bits Null sind oder nicht.
Sind sie alle Null, dann wird das Signal ITSMEA+ erzeugt,
was ebenfalls die Verknüpfungsglieder 106 und 107 teilweise
freigibt. Die Freigabe eines weiteren Eingangs dieser Verknüpfungsglieder
führt dann dazu, daß ein Flip-Flop im Element
113 gesetzt wird.
Am anderen Eingang des AND-Gliedes 106 liegt das Signal
BSSHBC+, das die zweite Hälfte des Buszyklus' anzeigt, und
das über den Inverter 116 an das Verknüpfungsglied 106 gelegt
ist. Dieses Zyklussignal wird auch an einem Eingang des
AND-Gliedes 107 empfangen.
Das AND-Glied 107 ist freigegeben, wenn zwei Eingangssignale
anzeigen, daß es sich um die adressierte Einheit handelt,
und daß die zweite Hälfte des Buszyklus' vorliegt. Damit
wird durch Freigabe des AND-Glied 107 das MYSHRC--Signal erzeugt
und an den einen Eignang des OR-Gliedes 114 gegeben. Dieses
Verknüpfungsglied liefert ein ACK-Signal (BSACKR-) über den
Treiber 115. Das Durchlässigmachen des AND-Gliedes 107 zusätzlich
zur Erzeugung des Signals MYSHRC- am -1-Ausgang
des Elementes 113 führt auch zur Erzeugung des Signals
MYSHRC+ am Q-1-Ausgang desselben Flip-Flop des Elementes 113.
Der Übergang des Signals MYSHRC+ vom Binärwert Null zum
Binärwert Eins wird dazu benutzt, die Eingangssignale bei den
Flip-Flop des Elementes 110 an deren Ausgang durchzuschalten.
Wenn das Signal BSAD18+, das Bit der hohen Ordnung des Funktionscodefeldes
gemäß Fig. 3, den Binärwert Eins annimmt
(Funktionscode von 20, Basis 16), und zwar am D0-Eingang des
Elementes 110, womit angezeigt ist, daß die Einheit (Speicher
zum Beispiel) auf eine Doppelzugriffsanforderung antwortet,
wird das Signal MYSHRP- am -0-Ausgang des Elementes
110 zu binär Null, was bedeutet, daß diese zweite Hälfte
des Buszyklus' der Beantwortung der Doppelzugriffsanforderung
durch den Zentralprozessor dient. Wenn das Signal
BSAD18+ binär Null ist (Funktionscode 00, Basis 16), was
anzeigt, daß die Einheit auf eine Einfachzugriffsanforderung
(Daten) antwortet, dann wird der Binärwert Eins durch den Inverter
100 am D1-Eingang des Elementes 110 erzeugt, mit dem
Ergebnis, daß das Signal MYSHRD+ am Q-Ausgang des Elementes 110
den Binärwert Eins annimmt und anzeigt, daß diese zweite
Hälfte des Buszyklus' der Beantwortung einer Einfachzugriffsanforderung
durch den Zentralprozessor dient. Bei den Multizykluszugriffsoperationen
des Zentralprozessors, bei denen
dieser von der Slave-Einheit einen Antwortzyklus erwartet,
werden die Signale MYSHRP- und MYSHRD+ dazu benutzt, dem
Zentralprozessor anzuzeigen, daß in der zweiten Hälfte des
Buszyklus' die erwarteten Daten aufgrund einer vorangegangenen
Doppel- oder Einfachzugriffsanforderung geliefert werden.
Die Flip-Flops im Element 110 werden durch das Signal BSDCNB-
über den Inverter 125 in derselben Weise gelöscht, wie dies
vorstehend für ähnliche Flip-Flop-Elemente erläutert wurde,
wobei die Flip-Flops entsprechend dem Buszyklus in den Anfangszustand
zurückgesetzt werden.
Das Verknüpfungsglied 106 wird vollständig durchlässig, wenn
die richtige Einheitenadresse empfangen worden ist, und wenn
es sich nicht um die zweite Hälfte des Buszyklus' handelt. Es
erzeugt dabei einen positiven Impuls, der mit MYINTR+ bezeichnet
wird, am Ausgang des betreffenden zum Element 113 gehörenden
Flip-Flop. Das erwähnte Signal veranlaßt die Logik
gemäß Fig. 11 zu bestimmen, ob ein Signal ACK oder ein Signal
NAK erzeugt wird. Welches der beiden Signale erzeugt wird,
hängt von der Unterbrechungsebene ab, die gerade in dem System
vorliegt, verglichen mit der Unterbrechungsebene der Einheit,
die Bearbeitungszeit anfordert.
Die Entscheidung darüber, ob die Unterbrechungsebene ausreichend
ist, wird mit Hilfe eines Komparators 117 getroffen,
der dazu dient, zu bestimmen, ob das Eingangssignal am
A-Eingang nicht kleiner ist als das am B-Eingang. Der A-
Eingang des Komparators 117 empfängt die Signale BSDT10+ bis
BSDT15+, die im in Fig. 5 gezeigten Format die Unterbrechungsebene
der an den Bus angeschlossenen Einheit anzeigen,
die Datenverarbeitungszeit anfordert. Eine Mehrzahl von Unterbrechungsebenen
ist in dem System vorgesehen. Die Unterbrechungsebene
0 erhält die höchstmögliche Zugänglichkeit zu Datenverarbeitungszeit
und ist dementsprechend nicht unterbrechbar.
Das bedeutet, daß, je niedriger die Nummer der Unterbrechungsebene
ist, desto geringer die Wahrscheinlichkeit ist, daß die
mit dieser Einheit in Zusammenhang stehende Bearbeitung unterbrochen
wird. Wenn also die Ebenennummer, die am A-Eingang
des Komparators empfangen wird, kleiner als die Nummer der
gerade vorliegenden Ebene im Zentralprozessor, die durch die
Ebenennummer in Block 18 angezeigt wird, ist, dann gelingt
es der Einheit, die unterbrechen möchte, was durch das am
Eingang A empfangene Signal angezeigt wird, tatsächlich, eine
solche Unterbrechung zu erreichen. Wenn das Signal am A-
Eingang gleich oder größer demjenigen am B-Eingang ist, wird
das LVLBLS+-Signal nicht erzeugt, und es wird ein Signal
NAK durch den Treiber 108 und das Flip-Flop 120 erzeugt, wie
nachstehend erläutert wird.
Wenn also die Aufgabe über die Unterbrecherebene, die beim
Eingang A des Vergleichers 117 ankommt, kleiner ist als diejenige
am Eingang B, ist das Signal LVLBLS+ binär Eins und wird
an den D-Eingang beider Flip-Flop 120 und 121 gegeben, wobei
bemerkt sein, daß der D-Eingang des Flip-Flop 120 ein negierter
Eingang ist. Wenn das Signal am Eingang A gleich oder
größer als das am Eingang B ist, was der Komparator 117 anzeigt,
dann nimmt das Signal LVLBLS+ den Binärwert Null an
und gelangt an den negierenden Eingang des Flip-Flop 120.
Dieses erzeugt das Signal NAK, wenn an seinem Takteingang
das Signal MYINTR+ auftritt, was ein Setzen des Flip-Flop im
Element 113 zur Folge hat. Wenn die Ebene ausreichend ist,
das heißt wenn das Signal am Eingang A kleiner war als dasjenige
am Eingang B, und dies der Komparator 117 anzeigt,
dann wird das Signal LVLBLS+ binär Eins und dementsprechend
wird das Signal MYINTR+ dieses Signal an den -Ausgang des
Flip-Flop 121 durchschalten, von wo es an den einen Eingang
des OR-Gliedes 114 gelangt, das über den Treiber 115 das
Signal ACK erzeugt. Das heißt also, daß dann, wenn das Signal
MYNACK+ binär Eins ist, das NAK-Signal erzeugt wird und
wenn das Signal MYINTF- binär Null ist, ein Signal ACK erzeugt
wird. Die Flip-Flops im Element 113 werden durch den
Inverter 125 in derselben Weise gelöscht, wie dies vorstehend
im Zusammenhang mit ähnlichen Flip-Flops erläutert wurde. Es
sei noch bemerkt, daß ein Signal ACK unabhängig von der durch
den Komparator 117 gemachten Angabe erzeugt wird, wenn es
sich um die zweite Hälfte eines Buszyklus' handelt. In diesem
Fall wird das Signal MYSHRC- von einem der Flip-Flops des Elementes
113 geliefert, das mit dem Binärwert Null an den anderen
Eingang des OR-Gliedes 114 gelangt, so daß das Signal
ACK erzeugt wird und dabei sich gegen jegliche Angabe des
Flip-Flop 121 durchsetzt.
Wie vorstehend angegeben, setzt das Signal BSDCND- über den
Inverter 125 das Flip-Flop 121 und das Flip-Flop 120 zurück,
initialisiert dabei die Flip-Flops entsprechend dem Buszyklus.
Darüber hinaus wird das Flip-Flop 120 durch die dem Flip-
Flop 127 zugeordnete Logik gesetzt, die ein Signal BT1MOT-
erzeugt, daß anzeigt, daß eine nicht vorhandene Einheit adressiert
worden ist, und daß daher keine Antwort, weder ein Signal
NAK, noch ein Signal ACK oder WAIT durch irgendeine der
möglichen Slave-Einheiten zu erzeugen ist. Dementsprechend
ist ein monostabiler Multivibrator 126 vorgesehen, der beispielsweise
eine Periode von fünf Mikrosekunden aufweist.
Dieser Multivibrator 126 wird durch das Signal BSDCND+ getriggert,
das heißt durch das Abtastsignal, das am Eingang
des Puffers 119 empfangen wird. Wenn die Verzögerungszeit
des Multivibrators 126 angelaufen ist und wenn ein Signal
BSDCNG+ nicht empfangen wird, das das Ende des Buszyklus'
anzuzeigen hat, dann wird nach Beendigung der durch den Multivibrator
bestimmten Zeitspanne das Signal BTIMOT--Signal am
-Ausgang des Flip-Flop 127 erzeugt, und zwar durch das
Durchschalten des Signals BSDCNN+ vom D-Eingang des Flip-Flop
127 an dessen Ausgang. Es sei bemerkt, daß das letzterwähnte
Signal anzeigt, daß der Buszyklus noch nicht beendet ist. Das
Signal BTIMOT- wirkt auf das Flip-Flop 120 und führt zur Erzeugung
eines Signals NAK (BSNAK-) über den Treiber 108. Wenn
andererseits das Signal BSDCNB+ endet, bevor die Periode des
Multivibrators 126 zu Ende ist, dann wird dieser zurückgestellt,
und das Flip-Flop 127 ist daran gehindert, das Signal
BTIMOT- zu erzeugen.
Es sei bemerkt, daß die Zentralprozessorlogik gemäß Fig. 11
entweder ein Signal NAK oder ACK erzeugt, jedoch nicht ein
Signal WAIT. Der Grund hierfür liegt darin, daß der Zentralprozessor
immer die niedrigste Priorität hat und dementsprechend
dann, wenn er ein Signal WAIT erzeugt, die anderen
Einheiten, die ihre Anforderungen an ihn richten, möglicherweise
einen nicht programmierten Stop auf den Bus feststellen,
wenn zum Beispiel eine Einheit mit höherer Priorität der
Master war, an den der Zentralprozessor mit einem WAIT-Signal
antwortete. Deswegen werden, gerade weil die Einrichtung
höherer Priorität auf die Einrichtung mit der niedrigsten
Priorität, das heißt auf den Zentralprozessor, wartet, andere
Einrichtungen daran gehindert, den Bus zu benutzen.
Obenstehend wurde anhand der Fig. 11 die Wirkungsweise des
Zentralprozessors als Slave-Einheit erläutert, die dem Speicher
als Mastereinheit antwortet und damit eine Information
zur Verfügung stellt, die durch den Zentralprozessor vorher
durch eine Einfach- oder Doppelzugriffsanforderung (Speicher
lesen) angefordert worden ist. Nunmehr wird unter Bezugnahme
auf die Fig. 11A die Wirkungsweise des Zentralprozessors erläutert
in Zusammenhang damit, wie die vom Speicher auf den
Bus gegebenen Daten durch den Zentralprozessor gepuffert
werden, sowie die Basis, aufgrund deren der Zentralprozessor
entscheidet, ob eine Einfachzugriff- oder eine Doppelzugriffanforderung
des Speichers vorzunehmen ist. Bei dem bevorzugten
Ausführungsbeispiel kann der Prozessor mit einer
Speicherleseanforderung signalisieren, daß er entweder ein
einziges Wort vom Speicher haben möchte oder die Übertragung
von zwei aufeinanderfolgenden Worten wünscht (das heißt eine
Einfachzugriff- oder eine Doppelzugriffanforderung machen).
Darüber hinaus kann bei dem bevorzugten Ausführungsbeispiel
der Zentralprozessor gleichzeitig eine Einfachzugriffsanforderung
an eine Speichersteuerung und eine Doppelzugriffsanforderung
an eine andere Speichersteuerung richten. Wenn sowohl
die Einfach- als auch die Doppelzugriffsanforderung Speicherplätze
betreffen, die zur selben Speichersteuerung gehören,
dann wird die zweite Anforderung durch die Speichersteuerung
zurückgewiesen, was sich aus der Beschreibung der zugeordneten
Logik gemäß Fig. 10 ergab. Die Speichersteuerung tut dies
durch Erzeugung eines Signals WAIT, wenn sie noch damit belegt
ist, die erste Anforderung zu bedienen.
Wenn eine Doppelzugriffsanforderung vorliegt, erzeugt der
Zentralprozessor ein Doppelzugriffssignal (BSDBPL-=binär
Null). Während der zweiten Hälfte des Buszyklus', der der
Rückwärtsübertragung des ersten Wortes vom Speicher aus zugeordnet
ist, liefert die Speichersteuerung nochmals das
Doppelzugriffssignal BSDBPL- als Binärwert Null, womit angezeigt
ist, daß ein weiteres Wort folgt. Während der zweiten
Hälfte des im Rückwärtsverkehr des zweiten Wortes vom Speicher
aus zugeordneten Buszyklus' liefert der Speicher das
Signal BSDBPL- nicht, womit angezeigt ist, daß es sich um
das letzte Wort der auszusendenden Daten handelt. Während der
zweiten Hälfte des Buszyklus', der dem Rückwärtsverkehr des
Einzelnennwortes vom Speicher aus in Beantwortung einer
Einfachzugriffsanforderung zugeordnet ist, erzeugt die Speichersteuerung
nicht nochmal das Signal BSDBPL-, womit angegeben
ist, daß lediglich ein Einzelzugriff vorliegt, und
daß keine weieren zweiten Buszyklushälften folgen.
Wie sich aus Fig. 11A ergibt, werden Daten eines Doppelzugriffs
immer im Zentralprozessor in den Registern P1 und P2,
den Elementen 152 und 153 gespeichert, wogegen Daten eines
Einfachzugriffs im DT-Register, Element 151, gespeichert
werden. Da bei einem einzigen Zentralprozessor gleichzeitig
sowohl eine Einfachzugriffs- als auch eine Doppelzugriffsanforderung
gleichzeitig vorliegen können, markiert dieser
die Anforderung im Funktionscodefeld gemäß Fig. 4 zum Zeitpunkt
der Anforderung. Einzelzugriffsanforderungen werden
mit einem Funktionscode 00 markiert, wogegen zur Markierung
von Doppelzugriffsanforderungen ein Funktionscode von 20,
Basis 16, dient. Während der Zugriffsanforderung des Zentralprozessors
bilden die Signale BSDT10- bis BSDT15- auf der
Busdatenleitung die Markierung. Während des Speicherantwortzyklus'
bilden die Signale BSAD18- bis BSAD23- auf der Adreßleitung
die Markierung, die vom Speicher im Funktionscodefeld
gemäß Fig. 3 zurückgesendet wird.
Im typischen Fall für die Zentralprozessorlogik zur Verbindung
mit dem Bus gemäß Fig. 11 werden die angeforderten Daten
in Form von Signalen empfangen, die vom Bus aus von Empfängern
aufgenommen werden, die Bestandteile des Elementes 150
sind. Signale BSDT00+ bis DSDT15+, die ein 16-Bit-Datenwort
bilden, werden jeweils an die Dateneingänge des DT-Registers
151, des P1-Registers 152 und des P2-Registers 153 gelegt.
Die Register 151, 152 und 153 sind 16-Bit-Register, die jeweils
aus zwei integrierten Schaltkreisen der Art bestehen,
wie sie von der Firma Instruments unter der Bezeichnung
SN74S374 hergstellt werden. Jedes enthält acht flankengesteuerte
D-Flip-Flop. Die Daten werden in diese Register eingegeben,
wenn das Taktsignal vom Binärzustand Null in den
Binärzustand Eins übergeht. Während der zweiten Hälfte des
Buszyklus' geht in Beantwortung einer Einzelzugriffsanforderung
das Signal aus MYSHDR+ des Elementes 110 gemäß Fig. 11
vom Binärzustand Null in den Binärzustand Eins über und taktet
das vom Speicher stammende Wort in das DT-Register 151. Während
der ersten Zweithälfte des Buszyklus', die in Beantwortung
einer Doppelzugriffsanforderung auftritt,
taktet das Signal MYSHP1+ die Daten in das P1-Register 152.
Während der zweiten Zweitbuszyklushälfte im
Zuge dieser Anforderung taktet das Signal MYSHP2+ die Daten
in das P2-Register 153. Die beiden letzterwähnten Signale
werden immer erzeugt, so daß das erste Datenwort in das P1-
Register 152 und das zweite Datenwort, sofern in der Speichersteuerung
vorhanden, in das P2-Register 153 geladen wird.
Sobald die Register 151, 152 und 153 mit Daten geladen sind,
werden diese selektiv auf den internen Bus 154 des Zentralprozessors
geschaltet, der 16 Signale BIXX10+ bis BIXX1F+
führt. Ausgelöst wird dies durch ein Signal vom Binärwert
Null vom Ausgabesteuereingang der betreffenden Register, das
heißt durch die Signale ENDTBI-, ENP1BI- und ENP2BI-, die in
den Binärzustand Null übergehen.
Zwei J-K-Flip-Flop, die Elemente 31 und 32, speichern die in
der zweiten Buszyklushälfte von der Speichersteuerung während
der Doppelzugriffsoperation zurückkommenden Signale. Es handelt
sich um durch die netative Flanke gesteuerte J-K-Flip-
Flop mit einem Setzvorbereitungs- und einem Löscheingang,
wie die von der Firma Texas Instruments unter der Bezeichnung
SN74S112 hergestellten Exemplare aufweisen. Das A-Flip-Flop
31 und das B-Flip-Flop 32 werden durch das Signal MYPASK-
des NAND-Gliedes 27 gesetzt und tasten die zweite Hälfte des
Buszyklus' ab, wenn eine Bestätigung durch den Zentralprozessor
in Form des Signals MYSHP- des Elementes 110 gemäß
Fig. 11 vorliegt. Das NAND-Glied 27 wird am einen Eingang teilweise freigegeben,
wenn das Signal MYASKK+, das Ausgangssignal des Benutzer
Flip-Flop 15 in Fig. 8, den Binärwert Eins hat, womit angezeigt
ist, daß der Zentralprozessor zur Anforderung des Busses
auffordert. Der andere Eingang des NAND-Gliedes 27 wird durch
das Signal CRDBPL+ freigegeben, wenn dieses den Binärwert
Eins aufweist und damit anzeigt, daß ein Doppelzugriffslesen
vorgenommen werden sollte, wenn die Register P1 und P2 leer
sind. Zur Freigabe des NAND-Gliedes 27 dient ferner das
CPU-Zeitsteuersignal MLRVLD+ in Form des Binärwerts Eins.
Wenn die Inhalte von zwei der zweiten Hälften der Buszyklen empfangen
werden sollen, was durch das Signal BSDBPL+ im Binärzustand
Eins angezeigt wird, wird das Flip-Flop 31 zurückgesetzt,
nachdem der Inhalt der zuerste auftretenden zweiten Hälfte des
Buszyklus' empfangen worden ist, und es wird das Flip-Flop 32
zurückgesetzt, nachdem der Inhalt der nächsten zweiten Hälfte
des Buszyklus' empfangen worden ist. Wenn nur eine einzige
zweite Hälfte des Buszyklus' zu erwarten ist, was im Falle
einer Doppelzugriffsanforderung zutrifft, bei der lediglich
das erste Wort in der Speichersteuerung vorhanden ist, wird
lediglich das Flip-Flop 32 rückgesetzt. Die Flip-Flops 31
und 32 werden beide mit Auftreten eines Buslöschsignals
(BSMCLR- ist binär Null) oder in Ausnahmefällen, wenn beispielsweise
ein Masterlöschen oder eine Buszeitsperre vorliegt,
durch ein Signal (TCSL31- mit Binärwert Null), das
über das NOR-Glied 39 geliefert wird.
Die beiden anderen Flip-Flop, die Elemente 155 und 156,
speichern, wenn der Zentralprozessor Daten aus den P1- und
P2-Registern 152 und 153 benutzt. Das für P1 benützte Flip-
Flop 155 wird zurückgesetzt, wenn der Zentralprozessor das
erste Wort benützt, das heißt das in dem P1-Register 152 enthaltende
Wort, das in P2 benutzte Flip-Flop 156 wird rückgesetzt,
wenn der Zentralprozessor das zweite Wort, das heißt
das im P2-Register 153 enthaltene Wort benutzt.
Die Flip-Flop 155 und 156 werden beide durch das vom NAND-
Glied 27 gelieferte Signal MYPASK- gesetzt. Dieses genannte
Signal setzt, wenn es binär Null ist, die Flip-Flop 31 und
32, um anzuzeigen, daß die Register P1 und P2 gefüllt werden,
und setzt die Flip-Flop 155 und 156, um anzuzeigen, daß die
Inhalte von P1 und P2 noch nicht benutzt worden sind. Das
P1- oder P2-Register ist nur voll, wenn es nicht gerade
gefüllt wird und nicht benutzt wird. Die Flip-Flop 155 und
156 werden durch ein Signal PRTAKR- bei dessen Binärwert
Null rückgesetzt, wenn eine Verfallssituation eintritt, zum
Beispiel, wenn der Prozessor-Befehlszähler aufgrund eines
Verzweigungsbefehls, einer Unterbrechung oder eines nicht
programmierten Sprungs geladen wird. Das P1-Flip-Flop 155
wird auch durch das Signal PRTAKT+ zurückgesetzt, das anzeigt,
daß der Zentralprozessor ein Wort der Prozedur benutzt
hat. Dies geschieht dadurch, daß der Binärwert Null
am geerdeten Dateneingang des Flip-Flop an dessen Ausgänge
durchgetaktet wird. Das P2-Flip-Flop 156 wird ebenfalls durch
das Signal PRTAKT+ rückgesetzt, indem das Signal PRTAKC+
am Dateneingang zum Ausgang durchgetaktet wird. Bevor das
erste Wort der Prozedur benützt wird, hat das Signal PRTAKT+
den Binärwert Eins, so daß das Flip-Flop 155 zurückgesetzt
ist, wenn das erste Wort gelesen wird. Das Signal PRTAKC+
ist binär Null, nachdem das erste Wort der Prozedur benützt
worden ist, mit der Folge, daß das Flip-Flop 156 zurückgesetzt
wird, wenn das zweite Wort der Prozedur benutzt wird.
Eine Doppelzugriffsoperation wird vom Zentralprozessor nur
dann angefordert, wenn sowohl das P1- als auch das P2-Register
152 und 153 leer sind und der Zentralprozessor nicht
noch eine andere Doppelzugriffsanfordernung anstehen hat.
Das Signal PRMPTY-, das anzeigt, daß die P-Register leer sind,
und das Ausgangssignal des NAND-Gliedes 34 darstellt, wird
dazu benützt, zu unterscheiden, ob der Zentralprozessor eine
Doppelzugriffsanforderung aufgrund der Zustände der Flip-
Flop 31, 32, 155 und 156 machen soll. Wenn das Signal am
Q-Ausgang des P2-Flip-Flop 156, das Signal PRTAKD+, binär
Null ist, was anzeigt, daß dieses Register leer ist, oder
wenn das Ausgangssignal am -Ausgang des Flip-Flop 31, das
Signal PRASKA-, binär Null ist, was anzeigt, daß lediglich
ein Wort in Beantwortung auf die letzte Doppelzugriffsanforderung
empfangen worden ist, dann wird das Ausgangssignal des
OR-Gliedes 33 binär 1, wobei das NAND-Glied 34 teilweise
aktiviert wird. Dieses Verknüpfungsglied erhält eine
weitere Aktivierung, wenn das -Ausgangssignal des P1-Flip-
Flop 155, das Signal PRTAKC-, binär Eins ist, was anzeigt,
daß der P1-Register 152 leer (benutzt) ist. Ferner dient
zur Aktivierung des NAND-Gliedes 34 das -Ausgangssignal des
Flip-Flop 32, das Signal PRASKB-, wenn es den Binärwert Eins
aufweist und damit anzeigt, daß alle beim Empfang erwarteten
Daten in Beantwortung einer Doppelzugriffsanforderung auch
tatsächlich empfangen worden sind. Das NAND-Glied 34 ist
dann durchlässig und das Signal PRMTPY- wird binär Null sein
immer, wenn die Daten in den P1- und P2-Registern 152 und 153
benutzt worden sind, und wenn während des Auffüllens der P1-o und P2-Register
keine Doppelzugriffsanforderung entsteht.
Das Ausgangssignal des OR-Gliedes 36, das Signal PRTASK+,
ist binär Eins immer dann, wenn das Signal PRMPTY- binär
Null ist, womit angezeigt wird, daß die P1- und P2-Register
leer sind und auch nicht gerade gefüllt werden. Das Signal
CSBSO1+ ist binär Null, um anzuzeigen, daß der Zentralprozessor
aus anderen Gründen eine Doppelzugriffsoperation wünscht.
Wenn das Signal aus PRTASK+ binär Eins ist, wird das AND-
Glied 38 teilweise aktiviert. Zur Aktivierung trägt ferner
das Signal CSBS00+ im Falle des Binärwertes Eins bei, womit
angezeigt ist, daß der Zentralprozessor den Bus für einen
Einzel- oder einen Doppelzugriff, für eine I/O- oder für eine
Schreiboperation benutzen möchte. Wenn das AND-Glied 38 durchlässig
ist, wird das Signal MYASKD+ auf der Leitung 181 binär
Eins und zusammen mit dem Taktsignal MCLOCK+ führt dies zu
einem Setzen des Benutzer-Flip-Flop 15 gemäß Fig. 8, was
bedeutet, daß der Zentralprozessor den Bus benutzen möchte.
Bei einem bevorzugten Ausführungsbeispiel entnimmt der Zentralprozessor
während der Ausführung eines durch ihn gegebenen
Befehls vorab zwei Worte aus dem Speicher und speichert
sie in den Registern P1 und P2. Diese Vorabentnahme von Befehlswörtern
findet nur statt, wenn beide Register P1 und P2
leer sind. Wenn beispielsweise der Zentralprozessor gerade
den Befehl ausführt, der sich an der Stelle 1000 befindet,
macht er eine Doppelzugriffsanforderung, aufgrund deren ihm
die auf den Plätzen 1001 und 1002 gespeicherten Worte vom
Speicher geliefert werden sollen. Wenn der Zentralprozessor
jedoch einen Verzweigungsbefehl ausführt, muß die Vorwegnahmeprozedur
in den P1- und P2-Registern 152 und 153 gelöscht
werden einschließlich dessen, was noch nicht vom Speicher
her angekommen ist. Wenn beim obenstehenden Beispiel wärend
der Bedienung der Stellen 1000 die Stellen 1001 und 1002
vorab bedient werden, und wenn das in der Stelle 1001 gespeicherte
Wort einen Verzweigungsbefehl zur Stelle 1007 enthält,
dann muß, wenn dieser Befehl, der vorübergehend im P1-Register
152 gespeichert worden ist, ausgeführt wird, der Inhalt
von 1002, der vorübergehend im P2-Register gespeichert worden
war, gelöscht werden, und es muß eine neue Doppelzugriffsanforderung
des Inhalts der Speicherstelle 1007 gemacht werden,
zu der der Verzweigungsbefehl die Steuerung führt und
zur Speicherstelle 1008. Das Signal PURGEF+, eines der Eingangssignale
des AND-Gliedes 39, erinnert an jede Doppelzugriffsanforderung,
indem es binär Eins bleibt, bis alle
vorstehend angeforderten Worte angekommen sind. Wenn das
-Ausgangssignal des Flip-Flop 32, das Signal PRASKB-, binär
Eins wird, was anzeigt, daß alle erwarteten Daten in Beantwortung
einer Doppelzugriffsoperation empfangen worden sind,
und wenn das Signal CRDBPL+ binär Eins ist, was anzeigt, daß
eine Doppelzugriffsoperation vorgenommen werden soll, wenn
die Register P1 und P2 leer sind, dann wird unter Mitwirkung
des den Binärwert Eins annehmenden Signals PURGEF+ das
NAND-Glied 39 voll durchlässig und das Signal MYASKS- auf
der Leitung 180 wird binär Null, wodurch das Benutzer-Flip-
Flop 15 gemäß Fig. 8 gesetzt wird mit dem Ergebnis, daß der
einen Buszyklus anfordernden Zentralprozessor eine Speicherzugriffsanforderung
vornimmt. Das Benutzer-Flip-Flop 15 gemäß
Fig. 8 ist normalerweise durch das Signal MCLOCK+ gesetzt,
das das Signal MYASKD+ durchtaktet, was der Fall ist, wenn
der Zentralprozessor das zweite Wort der Prozedur aus dem
P2-Register 153 entnimmt. Das Signal MYASKS- wird dazu benutzt,
das Benutzer-Flip-Flop 15 zu setzen, um dem Fall gerecht
zu werden, in dem ein Verfall auftritt, nachdem eine
Doppelzugriffsanforderung gemacht und nicht vervollständigt
worden ist, das heißt wenn ein Verzweigungsbefehl ausgeführt
worden ist, während sich die Register 152 und 153 im Zustand
des Auffüllens befunden haben.
Einzelzugriffe erfordern wenigstens zwei Schritte des Zentralprozessors.
Durch den ersten Schritt wird eine Einzelzugriffsleseanforderung
an den Speicher gegeben, wodurch ein Indikator
gesetzt wird, wenn der Speicher (oder eine I/O-Einheit) die
Anforderung annimmt. Der zweite Schritt des Zentralprozessors,
der um einige Zentralprozessorschritte nach dem ersten liegen
kann, ist der Versuch, die Daten vom DT-Register 151 auf den
internen Zentralprozessorbus 154 zu schalten. Wenn der Inhalt
der zweiten Hälfte des Buszyklus', der mit der Speicherantwort
aufgrund einer Einzelzugriffsanforderung zusammenhängt, noch
nicht angekommen ist, speichert der vorstehend gesetzte Indikator
den Zentralprozessortakt, bis das Signal MYSHRD+
des Elementes 110 gemäß der Fig. 11 den Indikator löscht.
Die obenstehende Erläuterung der Fig. 11A vervollständigte
die Erläuterung der Systemlogik im Zusammenhang mit einer
Doppelzugriffsoperation. Es wird nun das Zeitdiagramm gemäß
Fig. 12 besprochen, um die Beziehung der oben beschriebenen
Steuersignale des Zentralprozessors, des Busses und der
Speichersteuerung zu veranschaulichen. Die vier Signale in
Fig. 12 oben sind diejenigen des Zentralprozessors, die zu
einer Doppelzugriffsanforderung führen. Diese Signale werden
durch die in den Fig. 8, 11 und 11A dargestellte Logik erzeugt.
Die Signale in der Mitte von Fig. 12 sind diejenigen,
die dem Datenbus des Datenverarbeitungssystems zugeordnet
sind, und die der Verbindung zwischen Zentralprozessorlogik
und Speicherlogik dienen. Die acht Signale in Fig. 12 unten
stellen die Signale der Speichersteuerung dar, die durch die
in den Fig. 9, 9A und 10 gezeigte Logik erzeugt werden.
Die Fig. 12 ist außerdem in vertikaler Richtung in drei Spalten
unterteilt. Die am weitesten links befindliche Spalte
veranschaulicht den Signalsatz, der mit dem Zentralprozessor
zusammenhängt, der eine Doppelzugriffsanforderung an den
Speicher richtet. Die mittlere Spalte veranschaulicht die Signale,
die mit der zuerst auftretenden zweiten Hälfte des
Buszyklus' zusammenhängen, in der die Speichersteuerung das
erste der beiden im Doppelzugriff geforderten Worte an den
Zentralprozessor zurücksendet. Die rechte Spalte veranschaulicht
die Signale, die mit der Aussendung des zweiten in einer
Doppelzugriffanforderung geforderten Wortes von der Speichersteuerung
an die Zentralsteuerung zusammenhängen, wobei diese
Übertragung in der zweiten Hälfte des Buszyklus stattfindet, die
als nachfolgende auftritt.
Die Doppelzugriffsoperation wird gemäß Fig. 12 durch das
CPU-Signal MYASKK+ eingeleitet, und zwar dadurch, daß dieses
zur Zeit 12-A den Binärwert Eins angibt, womit angezeigt ist,
daß der Zentralprozessor als Mastereinheit zwei Datenworte
vom als Slave-Einheit fungierenden Speicher fordert. Wenn das
vorerwähnte CPU-Signal binär Eins wird, bringt die Prioritätsnetzwerklogik
des Zentralprozessors gemäß Fig. 8 das Signal
BSREQT- in den Binärzustand Null und führt, sofern keine Einheit
mit höherer Priorität einen Buszyklus anfordert, dazu,
daß dem Zentralprozessor der Bus zugeteilt wird, indem das
CPU-Signal binär Eins gemacht wird.
Wenn dem Zentralprozessor
der Bus einmal zugeteilt ist, gibt dieser die Adresse des
ersten Wortes auf den Bus, zu dem in der Doppelzugriffsoperation
zugegriffen werden soll, ferner die Kanalnummer
des Zentralprozessors und den Funktionscode, der anzeigt, daß
es sich um eine Doppelzugriffsanforderung handelt, zusammen
mit anderen Signalen, die anzeigen, daß es sich um eine Speicherleseoperation
im Doppelzugriff handelt. Die Speichersteuerungslogik
gemäß den 9, 9A und 10 vergleicht dann
nach einer Verzögerungszeit, die eine Stabilisierung der Signale
auf dem Bus gestatten, die auf dem Bus auftretende Adresse
mit der durch die Speichersteuerung eingestellte Adresse
und erzeugt, wenn das erste Wort der Doppelzugriffsanforderung
bei der Steuerung vorhanden ist, ein ACK-Signal, das an die
Zentralprozessorlogik zurückgesandt wird, wodurch auf die Bussteuerung
im Hinblick auf die nächste Benutzeranforderung verzichtet
wird. Das Signal ACK, das die Speichersteuerung erzeugt, dient
auch der Prüfung der Speichersteuerung, um zu sehen, ob das
zweite durch diese Anforderung adressierte Wort in der Steuerung
vorhanden ist. Ist dies der Fall, dann wird das
Doppelzugriffs-Zustands-Flip-Flop 80 gemäß Fig. 9A gesetzt, um anzuzeigen,
daß eine Doppelzugriffsoperation durchgeführt wird, und der
Speicher fährt fort, die zwei Wörter der Information aus
getrennten Speichermoduln in im wesentlichen parallen ablaufenden
(überlappten) Arbeitsgängen aufzusuchen.
Wenn das erste Datenwort in der Speichersteuerung zur Verfügung
steht, wird das Speichersteuerungssignal DCNNGO-
zum Zeitpunkt 12B binär Eins mit der Folge, daß die Speicherprioritätsnetzwerklogik
gemäß Fig. 9 den Bus anfordert, indem
sie das Signal BSREQT- binär Null macht und damit den
ersten Antwortzyklus in Gang setzt, das heißt die zuerst
auftretende zweite Hälfte des Buszyklus', wobei der Speicher
die Mastereinheit und der Zentralprozessor die Slave-Einheit
ist. Wenn der Bus nicht belegt ist und der Speicher die anfordernde
Einheit mit höchster Priorität ist, wird der Bus
der Speichersteuerung zugeteilt, und das Speichersteuerungssignal
MYDCNN+ wird binär Eins. Das Zuteilen des Bus' an
die Speichersteuerung hat in der Speichersteuerungslogik zur
Folge, daß das erste angeforderte Wort der Doppelzugriffsanforderung
auf die Datenleitungen des Bus' geschaltet wird.
Die Kanalnummer des Zentralprozessors, der die Anforderung
macht, wird zusammen mit dem Doppelzugriffs-Anforderungsfunktionscode
auf die Busadreßleitungen geschaltet, und andere
Signale, die anzeigen, daß es sich um den ersten Antwortzyklus
eines Doppelzugriffs handelt, werden auf andere Busleitungen
geschaltet. Die Zentralprozessorlogik tastet nach
einer Verzögerungszeit, die eine Stabilisierung der Signale
auf dem Bus möglich macht, die Bussignale ab, und wenn es
sich bei der Nummer des Zentralprozessors auf dem Bus um die
Nummer des betreffenden Zentralprozessor handelt, bestätigt
er die erstmalige zweite Hälfte des Buszyklus' und leitet das
Speicherwort auf den Busdatenleitungen in das P1-Register 152.
Die Bestätigung des ersten Antwortzyklus' durch den Zentralprozessor
führt in der Speichersteuerung dazu, daß der Bus
freigegeben und das Doppelwort-Zustands-Flip-Flop 80 rückgesetzt
wird. Damit ist der erste Antwortszyklus abgeschlossen,
das heißt die erstmalig auftretende zweite Hälfte des Buszyklus'.
Wenn das zweite Datenwort in der Speichersteuerung zur
Verfügung steht, fährt die Speichersteuerung als Mastereinheit
fort, den Bus anzufordern, und wenn er ihr zum
Zeitpunkt 12-C zugeteilt wird, schaltet sie das zweite
Datenwort auf den Bus. Der Zentralprozessor bestätigt die
zum zweiten Male auftretende zweite Hälfte des Buszyklus'
und schaltet das zweite Speicherwort in das P2-Register 153,
womit sie die Doppelzugriffsoperation vollendet. Es sei
bemerkt, daß dann, wenn der Bus zum zweiten Mal der Speichersteuerung
zugeteilt wird, das in den Binärzustand 1 übergehende
Signal MYDCNN+ der Speichersteuerung zu Folge hat,
daß das Speichersteuerungssignal STREQR+ in den Binärzustand
Eins übergeht, was das Rücksetzen des Speicher-Anforderungs-
Flip-Flop 17M gemäß Fig. 9 zur Folge hat, so daß die
Speichersteuerung keine weitere Busanforderung mehr stellt.
Es sei darauf hingewiesen, daß zur Vereinfachung der Fig. 12
nicht gezeigt ist, wie das CPU-Signal BSDCND- in den Binärzustand
Eins übergeht, wenn das Bussignal BSDCNN- während
des Doppelzugriffsanforderungszyklus', wenn der Zentralprozessor
die Mastereinheit ist, in den Binärzustand Eins
übergeht. In entsprechender Weise ist nicht gezeigt, wie das
Signal BSDCND- in den Binärzustand Eins übergeht als Reaktion
auf den Übergang des Signals BSDCNN- in den Binärzustand
Eins während des ersten und zweiten Antwortzyklus', wenn der
Speicher die Mastereinheit ist. Die Fig. 8 und 9 zeigen,
daß die Steuersignale BSDCNN- auf das Bussignal BSDCNN-
einer durch die Elemente 25 und 25M bedingten Verzögerung
reagieren, und zwar sowohl dann, wenn die Steuerung die
Mastereinheit als auch wenn sie die Slave-Einheit ist. Aus
Gründen der Einfachheit ist jedoch lediglich das Slave-
Signal BSDCND- gezeigt.
Die Art und Weise, wie bei der vorliegenden Anordnung die
Adressierung benachbarte Speicherbereiche unabhängig
von der Mischung der Speichertypen aufgrund verschiedener
Geschwindigkeiten, verschiedener Bauarten, das heißt Magnetspeicher
oder Halbleiterspeicher, und anderer Charakteristika
vor sich geht, wird unter Bezugnahme auf die Fig. 13
nunmehr näher erläutert. Der Bus 200 ist dort an die Speichersteuerungen
202, 203, 204 wie auch an andere Steuerungen, zum
Beispiel die Steuerung 210 und an den Zentralprozessor 206
angeschlossen dargestellt. Wie vorstehend anhand eines Beispiels
erläutert, ist jede Speichersteuerung in der Lage, bis
zu vier Speichermoduln anzusteuern. Diese Moduln nehmen die
Positionen A, B, C und D der betreffenden Speichersteuerungen
ein, wie Fig. 14 zeigt. Jede Speichersteuerung empfängt ihre
eigene Adresse wie auch die Adresse des ihr zugeordneten
Moduls. Die Moduladresse wird als 2-Bit-Kombination über den
Bus 200 empfangen, diese Bits werden, wie Fig. 10 zeigt, als
BSAD08+ und BSAD22+ bezeichnet. Die Speichersteuerungsadresse
wird als Bits BSAD00- bis BSAD07+ empfangen. Damit antworten
nur diejenigen Speichermoduln, deren Steuerung adressiert ist.
Deswegen sind bei der Speichersteuerung 204 im Normalfall an
den Stellen A, B, C und D die Speichermoduln A-358, B-360,
C-362 und D-364 angeschlossen. Wenn die Speichersteuerung 204
adressiert wird und die 2-Bit-Unteradresse zum Beispiel den
Modul C-362 bezeichnet, dann wird der Modul C auf eine Einzelwortanforderung
antworten und die Moduln C und D werden auf
eine Doppelzugriffsanforderung antworten. Wenn, wie vorstehend
erläutert, verschiedenartige Speichertypen
verwendet sind und eine solche Mischung sich auf mehr als das
volle Speichersteuerungskomplement bezieht, das vorstehend
als Beispiel mit 32 000 Speicherworten angegeben wurde, wobei
jeder Modul 8000 Speicherworte enthält, dann stehen zusammenhängende
Speicheradressen nicht zur Verfügung, da der Adressenabstand
von 32 000 Worten für jede Steuerung zur Verfügung stehen muß,
damit diese in der Lage ist, die Speicherkapazität des
Systems zu einem späteren Zeitpunkt zu erhöhen. Wie man aus
Fig. 13 ersieht, ist es möglich, nur einen Teil jeder dieser
Speichersteuerungen zu verwenden, um eine solche abhängige
Adressierung zu ermöglichen.
Demnach zeigt Fig. 13 unter der Voraussetzung, daß der
Modul A-350 und der Modul B-352 denselben Typ aufweisen, und
daß der Modul C-354 und der Modul D-356 von einem anderen
Speichertyp sind, daß die Speichersteuerung 202 so angeschlossen
ist, daß sie Zugriff zu den Moduln A und B hat und die
Speichersteuerung 203 so angeschlossen ist, daß sie Zugriff
zu den Moduln C und D hat. In einem solchen Falle weisen die
Speichersteuerungen 202 und 203 dieselbe Adresse auf. Die
Position C und D der Steuerung 202 und die Position A und B
der Steuerung 203 stehen dann nicht zur Verfügung, wenn das
System nicht vollständig umgeändert wird. Wenn also die beiden
Steuerungen 202 und 203 ihre Adresse, das heißt dieselbe
Adresse erkennen, dann versuchen sie beide zu antworten, jedoch
in Abhängigkeit davon, ob der Modul A, B, C oder D
durch die beiden Moduladressen BSAD08+ adressiert ist. Diese
Adressen betreffen die unteren oder die oberen 16k Worte und
werden auf dem Bus 200 empfangen. Somit antwortet lediglich
eine der Steuerungen 202 oder 203 in Abhängigkeit davon, welcher
der Moduln adressiert worden ist.
Die obenstehenden Erläuterungen wurden lediglich als Beispiel
angegeben, und es versteht sich, daß beispielsweise mehr als
vier solcher Moduln an eine gegebene Steuerung angeschlossen
sein können als vorstehend angenommen wurde, so kann es auch
sein, daß an die Steuerung 202 lediglich ein Modul A angeschlossen
ist und an die Steuerung 203 die Moduln B, D und D
in derselben relativen Anordnung angeschlossen sind. Es sei
bemerkt, daß bei dieser Konfiguration, bei der Modul A an eine
Steuerung und Moduln B, C und D an eine zweite (Doppelzugriffsspeicher-)Steuerung
angeschlossen ist, diejenige Doppelzugriffsanforderungen,
die Worte adressieren, die sich in den
Moduln A und B befinden (ausgenommen das letzte Wort des
Moduls B), zur Folge haben, daß ein einziges Wort zurückgesendet
wird, wogegen Doppelzugriffsanforderungen, die Worte
adressieren, die sich in den Moduln C und D befinden, ausgenommen
das letzte Wort in Modul D, das Zurücksenden von zwei
Worten zur Folge haben. Man sieht aus dem vorliegenden Beispiel,
daß dann, wenn ein dritter Modul in der Position C
der Steuerung 202 angeschlossen ist und der Modul C-354 mit
der Steuerung 230 verbunden ist, dann wenn solcher Modul C
adressiert wird und die Steuerungen 202 und 203 dieselbe
Adresse haben, beide Steuerungen aufgrund des Empfangs ihrer
identischen Adresse antworten würden und die Adresse des
Moduls C damit einen Fehlbetrieb verursachen würde. Es hat
sich gezeigt, wie abhängige Adressen in Durchführung der vorliegenden
Erfindung gewonnen werden können, unabhängig von
der Art der angeschlossenen Speicher.
Es wird nunmehr wieder auf Fig. 13 bezug genommen und angenommen,
daß die Speichersteuerung 202 eine Steuerung für
einen einfachen Speicherzugriff ist und die Speichersteuerungen
203 und 204 Steuerungen für Doppelspeicherzugriff
sind, wobei an jede Steuerung vier Speichermoduln angeschlossen
sind und jede Steuerung eine andere Adresse hat. Man erkennt
also, daß 96k Worte eines zusammenhängenden Speichers
erhalten werden. Die Steuerung 202 für den Einfachzugriff ist
ähnlich derjenigen aufgebaut, wie sie im US-Patent 40 30 075
beschrieben ist und antwortet auf eine Speicheranforderung
dadurch, daß sie während eines einzigen Antwortübertragungszyklus'
ein Datenwort sendet. In diesem Zyklus bleibt das
Signal BSDBPL- binär Eins, womit angezeigt ist, daß es sich
um den letzten Antwortübertragungszyklus handelt. Man sieht,
daß der Zentralprozessor 206 eine Doppelzugriffsanforderung
für zwei Datenwörter machen kann, indem er die Adresse des
ersten Wortes aussendet, ohne Rücksicht darauf, ob die Information
sich bei der Speichersteuerung 202, 203 oder 204 befindet,
ob in einem Speicher für Einfach- oder für Doppelzugriff,
oder ob beide angeforderten Worte sich innerhalb
eines Speichermoduls befinden, zu dem die Speichersteuerung
Zugriff hat. Darüber hinaus benötigen in Durchführung des
erfindungsgemäßen Verfahrens die Speichersteuerungen keine
Logik, mit deren Hilfe sie sich von abnormalen Bedingungen
erholen, zum Beispiel dann, wenn lediglich das erste der
beiden Worte innerhalb des von einer bestimmten Speichersteuerungen
gesteuerten Speichers vorhanden ist. Dadurch, daß
die anfordernde Einheit, der Zentralprozessor im vorliegenden
Beispiel, so ausgebildet ist, daß sie die Informationsworte
verwenden, wie sie empfangen werden, ohne daß jedes angeforderte
Wort auch empfangen werden muß oder sogar daß das
letzte Wort, das durch die antwortende Einheit übertragen
wird, ankommt, wird der Systemdurchsatz dadurch erhöht, daß
erlaubt wird, daß die einzelnen Datenwörter dann benutzt
werden, wenn sie für die anfordernde Einheit zur Verfügung
stehen.
Während die Erfindung teilweise unter Bezugnahme auf ein
bevorzugtes Ausführungsbeispiel, bei dem es sich um eine
Doppelzugriffsoperation gehandelt hat, beschrieben und dargestellt
worden ist, erkennt der Fachmann ohne weiteres, daß
auch eine Vielfachzugriffsoperation durchgeführt werden
kann, indem der erste und alle übrigen - außer dem letzten -
Antwortzyklen das Doppel-(Multi-)Zugriffssignal BSDBPL-
übertragen. Er erkennt auch, daß die Doppel- und Multizugriffsoperationen
zwischen anderen Einheiten als zwischen
dem Zentralprozessor und der Speichersteuerung durchgeführt
werden können.
Claims (14)
1. Schaltungsanordnung in einem Datenverarbeitungssystem
mit einem gemeinsamen, asynchronen, die angeschlossenen Systemeinheiten
verbindenden Bus (200), wobei zur Steuerung des
Zugriffs auf diesen Bus die einzelnen Einheiten (202, 204, 206,
208, 210, 212, 214) jeweils eine Prioritätssteuerungseinrichtung
(Fig. 8 und 9) aufweisen, mit folgenden Schalteinrichtungen zur
Bewerkstelligung der Datenübertragung zwischen zwei Einheiten,
von denen je nach dem Modus der Datenübertragung die eine der
Master (z. B. 206) und die andere der Slave (z. B. 202) ist.
- - durch Setzen eines Benutzer- und Anforderungsschaltgliedes (15, 17) in der Prioritätssteuerungseinrichtung einer Master-Einheit wird zur Anforderung von Information (Datenwörtern) von einer Slave-Einheit ein Bus-Anforderungssignal (BSREQT) erzeugt;
- - im Fall, daß keine Bus-Anforderung einer anderen Einheit
mit höherer Priorität vorliegt, erzeugt ein Zuteilungsschaltglied (22)
in der Master-Prioritätssteuerungseinrichtung ein Datenzyklus-Zustandssignal
(BSDCNN),
- - das allen Einheiten über den Bus signalisiert, daß einer Master-Einheit ein Buszugriff gewährt wird und
- - das die Master-Einheit veranlaßt, durch Aussenden einer Zugriffsanforderung (z. B. Lesebefehl), die die Adresse des Masters, die Adresse des Slave und einen Funktionscode enthält, eine Slave-Einheit zur Durchführung einer Funktion (z. B. Übermittlung eines Datenwortes) anzurufen;
- - in der angerufenen Einheit wird in einem Antwortsschaltglied (56, Fig. 10) ein Antwortsignal (z. B. BSACKER) erzeugt, wobei diese gerufene Einheit (202) mittels ihrer Benutzer-, Anforderungs- und Zuteilungsschaltglieder (15M, 17M, 22M) Zugriff zum Bus erhält und, wenn die anforderende Einheit (206) frei ist, dessen Adresse und das angeforderte Datenwort aussendet;
- - in der anfordernden Einheit (206) wird durch das empfangene Antwortsignal (BSACKR) das genannte Zuteilungsschaltglied (22) zurückgesetzt und damit die Mastereigenschaft aufgehoben, worauf diese Einheit in die Lage versetzt ist, andere Verarbeitungsprogrammschritte, z. B. einen weiteren Zugriff auf eine andere Einheit einzuleiten oder durchzuführen, selbst wenn das angeforderte Datenwort noch nicht eingetroffen ist,
dadurch gekennzeichnet, daß
- - der Bus eine Signalleitung für ein Mehrfachzugriffssignal (BSDBPL) enthält, das die anfordernde Einheit (206) bei einer Mehrwortanforderung zusammen mit der Zugriffsanforderung über den Bus aussendet;
- - dann, wenn in der gerufenen Einheit (202) das erste angeforderte Datenwort zur Verfügung steht, das Antwortsignal (MYACKR) einen Zeittaktgenerator (95) startet, der zusammen mit dem Mehrfachzugriffssignal (BSDBPL) ein Mehrfachzugriffs-Schaltglied (80) setzt, und diese gerufene Einheit über ihr Anforderungsschaltglied (17M) Zugriff zum Bus fordert;
- - dann, wenn durch Setzen des Zuteilungsschaltgliedes (22M) die gerufene Einheit (202) Zugriff zum Bus erhält, das erste angeforderte Datenwort zusammen mit der Adresse der anfordernden Einheit (206) und, falls auch das nächste Datenwort in dieser gerufenen Einheit vorhanden ist, das Mehrfachzugriffssignal (BSDBPL) über den Bus gesendet werden, was der anfordernden Einheit (206) signalisiert, daß noch ein weiteres Datenwort folgen wird; und
- - falls kein weiteres Datenwort in dieser gerufenen Einheit mehr vorhanden ist, das Mehrfachzugriffssignal (BSDBPL) nicht gesendet wird, was der anfordernden Einheit signalisiert, daß die gerufene Einheit kein weiteres Datenwort übermitteln wird.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet,
daß eine rufende Einheit (z. B. 206) wahlweise Einzel-
als auch Mehrfachwortanforderungen aussenden kann, wobei der
Wortanforderungsmodus durch den Binärzustand des Mehrfachzugriffssignals
(BSDBPL=0 bzw. 1) bestimmt ist.
3. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet,
daß in der rufenden Einheit Einzelwortregister (151)
und Mehrfachwortregister (152, 153) vorgesehen sind, und daß
empfangene Datenworte, die von einem Mehrfachzugriffssignal
(BSAD18=1) begleitet sind, in die Mehrfachwortregister (152,
153), und wenn sie von keinem Mehrfachzugriffssignal (BSAD18
=0) begleitet sind, in ein Einzelwortregister (151) eingeschrieben
werden.
4. Schaltungsanordnung nach einem der Ansprüche 1, 2 oder 3,
dadurch gekennzeichnet, daß eine anfordernde Einheit (z. B. 206)
zum Zwecke der Bereitstellung mehrerer abzuarbeitender Befehle
für die Verarbeitung von Operanden zwei unterschiedliche Zugriffsanforderungen
nacheinander aussendet, eine zum Zugriff auf einen
Operanden und eine zum Zugriff auf mindestens zwei Befehle, wobei
die Operandenzugriffsanforderung von keinem Mehrfachzugriffssignal
(BSDBPL=0) und die Befehlszugriffsanforderung von einem Mehrfachzugriffssignal
(BSDBPL=1) begleitet ist, und daß beim Empfang der
in beliebiger Reihenfolge eintreffenden Datenwörter (Operand und
Befehle) der Operand in ein Einzelwortregister (151) und die Befehle
in ein Mehrfachwortregister (152, 153) eingeschrieben werden.
5. Schaltungsanordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet,
daß bei einer Mehrfachwortanforderung alle von der
gerufenen Einheit (202) übertragenen Datenworte, mit Ausnahme
des letzten, jeweils von einem Mehrfachzugriffssignal (BSDBPL=1)
begleitet sind, und daß mit dem letzten vorgefundenen Datenwort
kein Mehrfachzugriffssignal (BSDBPL=0) an die anfordernde Einheit
ausgesendet wird, worauf eine in der anfordernden Einheit
vorhandene Schlußwortsignal-Erkennungsschaltung (31-34, Fig.
11A) das Ende der Mehrfachanforderungesoperation erkennt, unabhängig
davon, wieviele Datenworte die anfordernde Einheit bis
dahin von der gerufenen Einheit empfangen hat.
6. Schaltungsanordnung nach Anspruch 5, dadurch gekennzeichnet,
daß das von der gerufenen Einheit gesendete Mehrfachzugriffssignal
(BSDBPL=1) in der anfordernden Einheit die Aussendung eines Bus-
Anforderungssignals (BSREQT) unterbindet, bis die genannte Schlußwortsignal-Erkennungsschaltung
(31-34) das Ende der Mehrfachanforderungsoperation
signalisiert.
7. Schaltungsanordnung nach einem der vorangehenden Ansprüche
1 bis 6, dadurch gekennzeichnet, daß die gerufene Einheit (z. B. 202)
Doppelwortlogik-Schaltkreise (71-87, 95/Fig. 9A) umfaßt, welche auf die
von der anfordernden Einheit (z. B. 206) ausgesendete Zugriffsanforderung
ansprechen (MYACKR) und
mit den genannten Benutzer-,
Anforderungs- und Zuteilungsschaltgliedern (15M, 17M, 22M in
Fig. 9) operativ (über 183-185) zusammenarbeiten zur Erzeugung von Signalen
(MYDCNN) zur Steuerung der Übertragung der angeforderten Datenworte
über den Bus zur anfordernden Einheit.
8. Schaltungsanordnung nach Anspruch 7, dadurch gekennzeichnet,
daß die gerufene Einheit (202) eine Adreßregister-
Multiplexer-Schaltgruppe (89-93) aufweist, die ein Mehrfachwortsignal
(I2WRES) erzeugt, das angibt, ob noch weitere,
zur Übertragung bestimmte Datenwörter im Speicher vorhanden sind.
9. Schaltungsanordnung nach Anspruch 8, dadurch gekennzeichnet,
daß das genannte Mehrfach-Wortsignal (I2WRES) das
genannte Mehrfachzugriffs-Schaltglied (80) derart steuert,
daß ein daran angeschlossener Mehrfachzugriffs-Signalgenerator
(83-85) immer dann ein Mehrfachzugriffssignal (BSDBPL=1)
erzeugt, wenn noch weitere, zur Übertragung bestimmte Datenwörter
im Speicher vorhanden sind.
10. Schaltungsanordnung nach Anspruch 9, dadurch gekennzeichnet,
daß der genannte Mehrfachzugriffs-Signalgenerator
(83-85) an den Bus angeschlossen ist (BSDBPL Signalleitung), auf dem
zusammen mit dem letzten in dem Speicher der gerufenen Einheit
vorgefundenen Datenwort ein Mehrfachzugriffs-Schlußwortsignal
(BSDBPL=0) übertragen wird, das der die übertragenen
Datenworte empfangenden Einheit (206) signalisiert, daß es sich
bei diesem Übertragungszyklus um den letzten in dieser Zyklussequenz
handelt.
11. Schaltungsanordnung nach Anspruch 7, dadurch gekennzeichnet,
daß die genannten Doppelwortlogik-Schaltkreise (94, Fig. 9
bzw. 71-87, 95, Fig. 9A) an den Ausgang des Zuteilungsschaltgliedes
(22M) und den Eingang des Benutzerschaltgliedes (15M)
angeschlossen sind, so daß der Ausgang des Zuteilungsschaltgliedes
(22M) den Eingang des Benutzerschaltgliedes (15M) in
Abhängigkeit vom Vorhandensein einer Einzelwort- oder Mehrfachwortanforderung
steuert, wobei das Benutzerschaltglied (15M)
aktiviert bleibt, solange eine Mehrfachzugriffsübertragung
im Gange ist.
12. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet,
daß die anfordernde Einheit ein Zentralprozessor (206) und die
gerufene Einheit ein Speicher (202 oder 204) ist, wobei der
Zentralprozessor innerhalb der Prioritätshierarchie des Datenverarbeitungssystems
die niedrigste und die Speichereinheiten
die höchste Priorität haben.
13. Schaltungsanordnung nach Anspruch 2 oder 3, dadurch
gekennzeichnet, daß ein Bit (BSAD18) im Funktionscode (Fig. 3)
durch seinen Binärzustand den Modus der Wortanforderung (Einzelwort
oder Mehrfachwort) bestimmt und daß der mit der Zugriffsanforderung
von der rufenden Einheit (Master 206) ausgesendete
Funktionscode von der gerufenen, antwortenden Einheit
(Slave 202) bei der Übermittlung des angeforderten Datenwortes
(Datenwörter) mit zurückgesendet wird.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/867,266 US4181974A (en) | 1978-01-05 | 1978-01-05 | System providing multiple outstanding information requests |
US05/867,262 US4245299A (en) | 1978-01-05 | 1978-01-05 | System providing adaptive response in information requesting unit |
US05/867,270 US4236203A (en) | 1978-01-05 | 1978-01-05 | System providing multiple fetch bus cycle operation |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2900380A1 DE2900380A1 (de) | 1979-07-19 |
DE2900380C2 true DE2900380C2 (de) | 1992-04-30 |
Family
ID=27420445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19792900380 Granted DE2900380A1 (de) | 1978-01-05 | 1979-01-05 | Datenverarbeitungssystem |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE2900380A1 (de) |
YU (1) | YU40357B (de) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
ATE150188T1 (de) * | 1991-04-02 | 1997-03-15 | Philips Electronics Nv | Verfahren zum verarbeiten von steueraufträgen |
US5615343A (en) * | 1993-06-30 | 1997-03-25 | Intel Corporation | Method and apparatus for performing deferred transactions |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3997896A (en) * | 1975-06-30 | 1976-12-14 | Honeywell Information Systems, Inc. | Data processing system providing split bus cycle operation |
-
1979
- 1979-01-04 YU YU1079A patent/YU40357B/xx unknown
- 1979-01-05 DE DE19792900380 patent/DE2900380A1/de active Granted
Also Published As
Publication number | Publication date |
---|---|
YU40357B (en) | 1985-12-31 |
YU1079A (en) | 1983-04-30 |
DE2900380A1 (de) | 1979-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2854485C2 (de) | Datenverarbeitungsanlage | |
DE2856483C2 (de) | ||
DE2455803C2 (de) | Mehrprozessor-Datenverarbeitungsanlage | |
DE3642324C2 (de) | Multiprozessoranlage mit Prozessor-Zugriffssteuerung | |
DE3300261C2 (de) | ||
DE3300260C2 (de) | ||
DE2854397A1 (de) | Pufferspeichereinheit fuer ein datenverarbeitungssystem | |
DE4003759C2 (de) | Verfahren und Anordnung zur Übertragung von Daten über einen Bus zwischen selektiv ankoppelbaren Stationen | |
DE2917441A1 (de) | Multiprozessoranlage | |
DE2523372B2 (de) | Eingabe-ZAusgabe-Anschlußsteuereinrichtung | |
DE2755371A1 (de) | Ein/ausgabe-verarbeitungssystem | |
EP0006164B1 (de) | Multiprozessorsystem mit gemeinsam benutzbaren Speichern | |
CH620306A5 (de) | ||
DE2912738A1 (de) | System mit direkter uebertragung zwischen subsystemen | |
CH634940A5 (en) | Channel-adapter arrangement | |
DE1524166B1 (de) | Schaltungsanordnung zur Herstellung von Verbindungen zwischen mehreren unabhaengigen Teilen und einem gemeinsamen Teil einer Datenverarbeitungsanlage | |
DE3049774C2 (de) | ||
EP0050305B1 (de) | Einrichtung zur Steuerung des Zugriffes von Prozessoren auf eine Datenleitung | |
EP0184706B1 (de) | Schnittstelleneinrichtung | |
EP0062141B1 (de) | Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem | |
EP0185260B1 (de) | Schnittstelle für direkten Nachrichtenaustausch | |
CH634938A5 (de) | Einrichtung fuer die weiterleitung von speicherzugriffsanforderungen. | |
DE102006009034B3 (de) | Verfahren zum Betreiben eines Bussystems sowie Halbleiter-Bauelement, insbesondere Mikroprozessor- bzw. Mikrocontroller | |
DE2900380C2 (de) | ||
DE2629401C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8128 | New person/name/address of the agent |
Representative=s name: BARDEHLE, H., DIPL.-ING., PAT.-ANW., 8000 MUENCHEN |
|
8125 | Change of the main classification |
Ipc: G06F 13/38 |
|
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 |