-
Diese Erfindung bezieht sich auf Datenverarbeitungssysteme und
insbesondere auf ein Gerät zum Übertragen und Empfangen von
Anforderungen über einen gemeinsamen Bus.
-
Es gibt eine Vielfalt von Verfahren und Geräten zum Verbinden der
verschiedenen Einheitensteuereinrichtungen eines
Datenverarbeitungssystemes zum Übertragen und Empfangen von Anforderungen über einen
gemeinsamen Bus. Übertragung von Anforderungen geschieht entweder
über synchron oder asynchron erzeugte Busübertragungsbetriebszyklen.
Die US-Patentnr. 3,676,860 und 3,866,181 sind veranschaulichend für
derartige Systeme.
-
Bei einigen Systemen war es die Praxis, Integritätsbits in den
Datenabschnitt einer Anforderung einzuschließen. Diese Bit werden benutzt, um
die Korrektheit des den Daten folgenden Empfangs der Anforderung
durch eine empfangende Einheit zu überprüfen.
-
Die US-Patentnr. 3,993,981 und 4,371,928 von dem gleichen Anmelder
wie hier genannt, sind darstellend für ein asynchrones Bussystem. Diese
Systeme haben Einheiten, die in einem Prioritätsnetzwerk gekoppelt sind,
das längs dem Systembus verteilt ist. Jede Einheit hat ein Antwortgerät
zum Antworten auf eine Anforderung nach einer Informationsübertragung
von einer anderen Einheit, das bis zu drei verschiedene Typen von
Signalantworten bereitstellt. Auch hat jede Einheit, außer dem Speicher,
Vergleicherschaltungen zum Sicherstellen der Integrität der Information,
die über den Bus übertragen wird. Die anfordernde Einheit oder
Master-Einheit vergleicht den Kanalabschnitt der anfordernden Einheit jeder
Anforderung, die von einer solchen Einheit zu einer Slave-Einheit
während einem vorhergehenden Buszyklus gesandt wurde mit dem
Adreßkanal der anfordernden Einheit, der von der Slave-Einheit während einem
darauffolgenden Betriebszyklus zurückempfangen wurde.
-
Diese Anordnung stellt nur eine darauffolgende Kontrolle bereit zum
Sicherstellen, daß Informationen zu der Einheit übertragen wurden, die
die Anforderung hervorbrachte. Sie überprüft nur indirekt, ob eine
Anforderung von der korrekten Einheit empfangen wurde. Weiter
betrachtet die Anordnung eine Betriebsumgebung, in der den Einheiten,
die an den Systembus angeschlossen sind, nicht ähnliche
Kanalnummeradressen zugewiesen sind, und in denen normalerweise nur eine einzelne
Speicheranforderung zu einem gegebenen Zeitintervall verarbeitet wird.
Mit der Einführung effizienterer Techniken zur Benutzung von einem
Speicher, die im simultanen Verarbeiten von Anforderungen resultieren,
und einem Anwachsen der Anzahl von Einheiten (z. B.
Speichersteuereinrichtungen, I/O-Steuereinheiten und zentrale Verarbeitungseinheiten),
die an den Systembus angeschlossen werden können, ist jedoch die
Chance für unentdeckte Fehler wesentlich angewachsen.
-
Die Systeme, die in den US-Patentnr. 3,993,981 und 4,371,928 offenbart
wurden, stellten etwas zusätzliche Integrität bei dem Adressieren einer
Speichersteuereinrichtung und ihrer verschiedenen Speicherkarten (d. h.
Modulen) bereit. Wenn die Speichersteuereinrichtung erfaßt, daß sie
ihre Adresse mit korrekter Parität und eine Anzeige, daß die adressierte
Modulkarte in dem System installiert wurde, empfangen hat, erzeugt die
Steuereinrichtung eine von drei spezifizierten Antworten. Wenn
irgendeine dieser Bedingungen nicht eintritt, antwortet die Steuereinheit nicht.
Nach einer bestimmten Zeitperiode wird dies eine Zeit-Aus-Bedingung
erzeugen, die in dem System auftritt, was die zentrale
Verarbeitungseinheit veranlaßt eine Unterbrechung (interrupt) oder ein Trap zu erfassen.
Wieder ist die Integrität des Systems nur bis zu dem Punkt des
korrekten Adressierens der Speichersteuereinheit und des Vermeidens des
Empfangs einer Speicheranforderung sichergestellt.
-
Dies läßt noch die Möglichkeit offen, daß gute Speicherdaten zerstört
werden, oder daß inkorrekte Daten in den Speicher geschrieben werden.
Außerdem wird der Systembetrieb bis zu der Zeit, während der der
Fehler von der zentralen Verarbeitungseinheit erfaßt wird, zu einem
Punkt fortgeschritten sein, wo die eigentliche Problemquelle nicht genau
bestimmt werden kann. Demgemäß muß beträchtliche
Systemverarbeitungszeit aufgewandt werden beim Verarbeiten derartiger
Fehlerbedingungen auf dem Niveau der Betriebssystemsoftware ohne irgendeine
realistische Chance auf Erfolg. Der Grund dafür ist, daß beobachtet wurde,
daß Fehler, die von dem Systembus und verbundenen Schaltungen
verursacht wurden, sich selbst eher als immer wiederkehrende Bedingungen
als als wichtige Störungen manifestieren. Das heißt, bestimmte
Betriebsbedingungen verursachen oft metastabile, oszillatorische oder Teilstörungs-
Betriebsmodi in den verschiedenen bistabilen Vorrichtungen, die einen
Teil des Systembus-Prioritätsnetzwerkes und der Steuerschaltungen bilden.
Auch werden ein Teil oder eine Komponente bei dem Prozeß des
Versagens unzuverlässig arbeiten, wodurch sie immer wiederkehrende
Fehler einführen. Weiter können einmalige Bedingungen auftreten, wie
z. B., daß mehrere Einheiten gleichzeitig Systembuszugriff anfordern, was
noch eine andere Art von immer wiederkehrender Fehlerbedingung
verursacht.
-
Ein anderes Datenverarbeitungsbussystem ist von der PCT-Anmeldung
WO 82/03710 bekannt, worin ein Datenverarbeitungssystem eine Vielzahl
von Untersystemen (Einheiten) umfaßt, die über jeweilige
Schnittstellenschaltungen mit einem Bus gekoppelt sind, der aus einem Paar
Übertragungsleitungen zum Übertragen der Nachrichten in jeweiligen
Richtungen von und zu den Untersystemen besteht. Die
Schnittstellenschaltungen umfassen jeweilige Fehlererfassungsschaltungen, die angeordnet sind,
um Fehler in jeder übertragenen Nachricht zu erfassen. Diese Fehler
können in einer übertragenen Nachricht erfaßt werden, auch wenn es
nicht beabsichtigt ist, daß die Nachricht von dem Untersystem empfangen
werden soll, dessen zugeordnete Schnittstellenschaltung einen Fehler
erfaßt. Für bestimmte erfaßte Fehler wird ein Abbruchsignal erzeugt,
um zu veranlassen, daß die fehlerhafte Nachricht durch Überlagerung von
vorbestimmten binären Signalen verstümmelt wird. Die Untersysteme
umfassen Schaltungen, die erfassen, wenn die Postambel einer Nachricht
verstümmelt ist. Alle diese Untersysteme weisen die Nachricht zurück
nach Erfassen der verstümmelten Postambel. Demgemäß, wenn immer
irgendein Untersystem einen Fehler in dem Datenabschnitt der Nachricht
erfaßt, verstümmelt er das Postambelfeld der Nachricht, so daß alle
anderen Untersysteme alarmiert sind, daß die Nachricht fehlerhaft ist,
bevor sie die vollständige Nachricht empfangen. Eine
Wiederholungsschaltung veranlaßt, daß jede Nachricht, die nicht erfolgreich übertragen
wurde, später wieder versucht wird. Bei diesem System gibt es keine
Bereitstellung, daß ein Zieluntersystem ein positives Quittungssignal nach
Erhalt einer gültigen, fehlerfreien Nachricht, die an dieses Untersystem
adressiert war, erzeugt. Daher "glaubt" das Quellenuntersystem, das eine
derartige Nachricht überträgt, bei Nichtvorhandensein der Bereitstellung
von Quittungssignalen, daß eine Nachricht erfolgreich übertragen wurde -
es sei denn, die Erfassung einer verstümmelten Postambel am Ende
einer Nachricht zeigt an, daß eines der Untersysteme, nicht
notwendigerweise das Zieluntersystem, erfaßt hat, daß der Datenabschnitt der
Nachricht einen Fehler enthielt. Demgemäß überwacht das System nur die
Erfassung eines Fehlers in der Nachricht, nicht die Störung des
Zielsystemes, das die Nachricht empfangen soll und sieht für das
Quelluntersystem nach Erfassen eines solchen Fehlers vor, die Nachricht zu einem
späteren Zeitpunkt noch einmal zu wiederholen.
-
Aus dem obigen ist ersichtlich, daß die bekannten Systeme den Nachteil
haben, daß die Fehlersteuerungsfähigkeit beschränkt ist, oder daß die
Wiederholfunktion verzögert ist, wodurch der Durchsatz des Systems
beeinträchtigt ist.
-
Es ist daher ein Ziel der vorliegenden Erfindung ein
Datenverarbeitungsbussystem von der Art bereitzustellen, das spezifiziert eine verbesserte
Fehlersteuerungsfähigkeit für die übertragenen Nachrichten hat, so daß
das System betriebssicher ist gegenüber Fehlern, die während den
Busübertragungen auftreten, und so daß Schaden an der Vollständigkeit der
Daten des Systems und dem Betrieb verhindert wird.
-
Dieses und andere Ziele werden durch ein System erreicht, wie es in
Anspruch 1 gekennzeichnet ist, und werden offensichtlicher werden, wenn
sie in Verbindung mit der folgenden Beschreibung und der beigefügten
Zeichnung genommen werden, die ein bevorzugtes Ausführungsbeispiel
der Erfindung zeigen.
-
Die obigen Ziele der vorliegenden Erfindung werden erreicht durch das
veranschaulichende Ausführungsbeispiel, das eine Vielzahl von Einheiten
umfaßt, die gekoppelt sind, um Anforderungen, die Daten-, Befehls- und
Integritäts-Signale umfassen, zwischen Einheiten über ein Bussystem
während zugewiesener Busübertragungszyklen zu übertragen. Jede Einheit
umfaßt eine Antwortvorrichtung zum Quittieren von Anforderungen, die
von anderen Einheiten empfangen wurden. Jede einer Anzahl von
Einheiten umfaßt weiterhin eine Wiederholvorrichtung und eine
Kontrollvorrichtung zum Überprüfen, daß alle der Teile einer Anforderung, die
von einer solchen Einheit über das Bussystem empfangen wurden, gültig
sind. Wenn weniger als alle der Teile der Anforderung als gültig erfaßt
wurden, akzeptiert die empfangende Einheit nicht die Anforderung und
hindert ihre Antwortvorrichtung daran, eine Antwort zu erzeugen. Dies
erlaubt der empfangenden Einheit zu einem frühen Punkt in einer
Übertragungsoperation den Zyklus auf eine Weise zurückzuweisen, daß
es automatisch der anfordernden Einheit mitgeteilt wird.
-
Bei dem vorliegenden Ausführungsbeispiel der Erfindung verursacht das
Fehlen einer Antwort das Erzeugen einer negativen Quittung durch eine
Zeitüberlaufvorrichtung, die mit dem Bussystem verbindet. Dies
verhindert Schaden an der Systemintegrität und erlaubt der anfordernden
Einheit mit der Wiederholvorrichtung die Anforderung während einem
darauffolgenden Busübertragungszyklus zu wiederholen. Auch reduziert,
daß die empfangende Einheit nicht antworten muß, Interferenzen, und
erlaubt die Zuweisung von Buszyklen nur zu diesen Einheiten, die gültige
Anforderungen empfangen. Demgemäß benutzt die vorliegende Erfindung
die Tatsache, daß Fehlerbedingungen, verursacht durch das Bussystem, im
wesentlichen sich wiederholend sind. Demgemäß wird ein einfaches
Wiederholen der Anforderung die Fehlerbedingung korrigieren, falls sie
nicht einer Störung zuzuschreiben ist. Bei dem offenbarten
Ausführungsbeispiel wird die vorliegende Erfindung in einem
Datenverarbeitungssystem benutzt, das Einheiten von älteren Entwürfen umfaßt. Diese
Einheiten umfassen nicht die Vorrichtung der vorliegenden Erfindung und
sind nicht in der Lage, eine kontrollierende Operation auf allen Teilen
einer Anforderung durchzuführen. Wenn jedoch eine solche Einheit nach
älterem Entwurf eine Anforderung zu einer Einheit überträgt, die die
Vorrichtung der vorliegenden Erfindung umfaßt, erzeugt die Einheit eine
Antwort, die die gleiche ist wie die, die die Einheit nach dem älteren
Entwurf empfangen hätte, wenn sie in dem alten System arbeiten würde.
Zusätzlich können die zusätzlichen Integritätsbit, die von der
empfangenden Einheit erzeugt werden, zu anderen Teilen der Einheit übertragen
werden und sie können für ein zusätzliches Kontrollieren folgend dem
Empfang der Anforderung benutzt werden.
-
Demgemäß können die Entdeckungen der Erfindung in einer Vielzahl
von Systemen benutzt werden, die Mischungen von alten und neuen
Einheiten beinhalten. Außerdem erfordert die Einführung der
Vorrichtung der vorliegenden Erfindung keine Änderungen beim Betrieb und
dem Schaltkreis solcher alter Einheiten.
-
Die neuen Merkmale, von denen geglaubt wird, daß sie kennzeichnend
für die Erfindung sind, sowohl für ihre Organisation als auch
Betriebsverfahren, zusammen mit weiteren Zielen und Vorteilen werden besser
verstanden werden aus der folgenden Beschreibung, wenn sie in
Verbindung mit der begleitenden Zeichnung betrachtet werden. Es soll
jedoch ausdrücklich verstanden werden, daß jede der Zeichnungen nur
zum Zwecke der Veranschaulichung und Beschreibung gegeben ist, und
daß sie nicht als eine Definition der Grenzen der vorliegenden Erfindung
beabsichtigt sind.
-
Fig. 1 ist ein Blockdiagramm eines Systems, das die Vorrichtung der
vorliegenden Erfindung aufweist.
-
Fig. 2 zeigt in größerem Detail das zentrale Untersystem der Fig. 1.
-
Fig. 3a
bis 3c zeigen in größerem Detail den Schnittstellenbereich des
zentralen Untersystems von Fig. 2.
-
Fig. 4 ist ein Flußdiagramm, das benutzt wird, um den Betrieb der
Vorrichtung der vorliegenden Erfindung zu erklären.
-
Fig. 5a bis 5f zeigen die Formate der Anforderungen und Antworten, die von
dem System von Fig. 1 erzeugt wurden gemäß der Lehre der
vorliegenden Erfindung.
-
Fig. 1 zeigt ein Datenverarbeitungssystem 10, das eine Vielzahl von
Untersystemen 14 bis 18 von altem und neuem Entwurf umfaßt, die
gemeinsam mit einem Systembus 12 gekoppelt sind. Die
veranschaulichenden Untersysteme umfassen ein zentrales Untersystem 14, ein
Speicheruntersystem 14 und ein peripheres Untersystem 18. Jedes
Untersystem umfaßt einen Schnittstellenbereich, der der Einheit oder den
damit verbundenen Einheiten erlaubt Anforderungen in der Form von
Befehlen, Unterbrechungen, Daten oder Antworten/Status zu einer
anderen Einheit zu übertragen oder zu empfangen auf dem Systembus 12 auf
eine asynchrone Weise.
-
Es wird angenommen, daß nur die Untersysteme 14 und 16 neu im
Entwurf sind und die Vorrichtung der vorliegenden Erfindung in ihren
Schnittstellenbereichen 14-1 bzw. 16-1 einschließen. Von dem peripheren
Untersystem 18 wird angenommen, daß es zum Einschluß in ein früheres
System entworfen wurde, wie z. B. das System, das in der US-Patentnr.
3,995,258, betitelt "Data Processing System Having a Data Integrity
Technique", ertunden von George J. Barlow, offenbart wurde. Daher
schließt sein Schnittstellenbereich 18-1 nicht die Vorrichtung der
vorliegenden
Erfindung ein, aber verbindet mit dem Systembus 12 und
arbeitet wie in dem früheren System wie hier erklärt. Der
Schnittstellenbereich 18-1 umfaßt Busschnittstellen-Logikschaltungen, die in der Fig.
9 von der US-Patentnr. 3,995,258 offenbart sind.
-
Durch Darstellung sind nur drei Untersysteme in Fig. 1 gezeigt. Das
Datenverarbeitungssystem 10 umfaßt normalerweise jedoch zusätzliche
Untersysteme sowohl neuen als auch alten Entwurfs zum Verbinden einer
vollen Ergänzung von peripheren Vorrichtungen, anderen verarbeitenden
Einheiten und Kommunikationsvorrichtungen mit dem Systembus 12.
Zusätzlich zu diesen Untersystemen umfaßt das System 10 eine
Zeitzählungsvorrichtung, die die Form von Zeitüberlauf-Logikschaltungen von
Block 20 nehmen. Wie gezeigt sind diese Schaltungen mit dem
Systembus 12 gekoppelt und arbeiten, um ein Signal nach einer vorbestimmten
Zeitperiode zu erzeugen, wie z. B. 5 us, das wiederum ein negatives
Quittungs-Antwortsignal auf dem Systembus 12 wie hier erklärt erzeugt.
-
Wie oben erwähnt umfaßt jeder der Schnittstellenbereiche 14-1 und 16-1
die Vorrichtung der vorliegenden Erfindung. Außer wie hier angegeben,
können beide dieser Schnittstellenbereiche als äquivalent im Entwurf
angesehen werden. Demgemäß wird nur der Schnittstellenbereich 14-1
im Detail hier mit Bezug auf Fig. 2 beschrieben.
-
Bezüglich zu Fig. 2 ist gezeigt, daß der Schnittstellenbereich 14-1 die
Integritätskontrollschaltungen von Block 14-10 umfaßt, die
Antwortschaltungen von Block 14-12 und die Anschlußregister und
Buswiederholschaltungen von Block 14-14. Wie gezeigt sind die Schaltungen von
Block 14-10 mit dem Systembus 12 gekoppelt und Empfangen als
Eingaben alle die Signale, die an den verschiedenen Abschnitten des
Systembusses 12 angelegt sind. Diese umfassen eine Bus-Neu-Paritätsleitung,
einen 36-Bit-breiten Datenabschnitt, einen 27-Bit-breiten Adreßabschnitt
und einen 9-Bit-breiten Befehlsabschnitt. Die Schaltungen von Block 14-
10 erzeugen ein Bus-OK-Paritätssignal, das anzeigt, ob oder ob nicht
Teile einer Anforderung, die an den Bus 12 angelegt ist, gültig sind.
Zusätzlich, im Falle von Anforderungen, die von älteren Untersystemen
(z. B. Untersystem 18) empfangen werden, stellt Block 14-10 ein
Busadreß-Paritätssignal zur Verteilung innerhalb dem zentralen
Verarbeitungseinheits-(CPU)-Bereich 14-2 wie hier erklärt bereit. Das Bus-Paritäts-
OK-Signal wird als eine Eingabe zu den Antwortschaltungen von Block
14-12 angelegt. Diese Schaltungen arbeiten, um mehrere Typen von
Antworten auf Bus 12 zu erzeugen. Eine ist eine Quittungs-(ACK)-
Antwort, die anzeigt, daß eine gültige Anforderung empfangen wurde.
Eine andere ist eine negative Quittungs-(NAK)-Antwort, die anzeigt, daß
die Anforderung nicht zu dieser Zeit verarbeitet werden konnte. Ein
dritter Typ von Antwort ist keine Antwort, was eine
Zeitüberlaufbedingung erzeugt und eine Wiederholung der Anforderung, wie hier erklärt,
veranlaßt.
-
Zusätzlich empfangen die Antwortschaltungen von Block 14-12 Signale
von Bus 12, die den Typ von Buszyklus, der durchgeführt wird, anzeigen,
und Signale von Unterbrechungsantwortschaltungen, nicht gezeigt, die
angeben, ob oder ob nicht der Unterbrechungspegel des Anforderers
ausreichend ist, um akzeptiert zu werden, wie hier erklärt.
-
Die Anschlußregister und Buswiederholschaltungen von Block 14-14 sind
mit dem Systembus 12 gekoppelt. Der Block 14-14 speichert Adreß-,
Daten- und Befehl-Abschnitte von jeder Anforderung, die von dem CPU-
Bereich 14-2 für nachfolgende Übertragung zu dem Systembus 12
empfangen wurden. Zusätzlich umfaßt Block 14-14 Schaltungen zum
Wiederholen einer Anforderung auf dem Systembus 12, wenn die
Anforderung
nicht von der empfangenden Einheit überprüft wurde, wie hierin
erklärt.
-
Fig. 3a zeigt in größerem Detail die Integrität kontrollierenden
Schaltungen von Block 14-10. Wie gezeigt umfassen diese Schaltungen drei
Gruppen von Paritätskontroll- und Erzeugerschaltungen, die aus
konventionellen Chips wie z. B. dem 74AS280, hergestellt von Texas
Instruments Corporation, aufgebaut sind. Die erste Gruppe von 74AS280-
Chip-Schaltungen 14-100 bis 14-103 erzeugen Datenparität-Kontrollsignale
DP000K000 bis DP240K000 an ihren geraden (E) Ausgangsklemmen für
die 32 Datenbitsignale BSDT00010 bis BSDT31010 und vier
Paritätsintegritäts-Datenbitsignale BSDP00010 bis BSDP24010.
-
Die nächste Gruppe von 74AS280-Chip-Schaltungen 14-104 erzeugen
Adreßparität-Kontrollsignale AP000K000 bis AP160K000 an ihren geraden
Ausgangsklemmen für die 24 Adreßbitsignale BSAD00010 bis BSAD23010
und drei Paritätsintegritäts-Adreßbitsignale BSAP00010 bis BSAP16010.
Eine letzte 74AS280-Chip-Schaltung 14-107 erzeugt ein Befehlsparitäts-
Kontrollsignal COMPOK000 an ihren geraden Ausgangsklemmen für die
acht Befehlsbitsignale BSMREF000 bis BSYEL00010 und ein
Paritätsintegritäts-Befehlsbitsignal BSCP00010.
-
Jedes der Datenparität-Kontrollsignale DP000K000 bis DP240K000 ist mit
einem Bus-Neu-Paritätssignal BSNEWP010 und einem Bus-Doppelbreiten-
Signal BSDBWD010 kombiniert im Falle von übrigen zwei
Kontrollsignalen in den NAND/AND-(d. h. positive Logik) oder AND/NOR-(d. h.
negative Logik)-Gatterschaltungen 14-110, die aus konventionellen Chips
wie z. B. 74S64, hergestellt von Texas Instruments Corporation, aufgebaut
sind. Ahnlich ist jedes der Adreßparität-Konrollsignale AP000K000 bis
AP160K000 kombiniert mit einem Bus-Neu-Paritätssignal BSNEWP010
in
NAND/AND-Gatterschaltungen 14-110. Zuletzt ist das Befehlsparität-
Kontrollsignal COMPOK000 kombiniert mit einem Neu-Busparität-Signal
BSNEWP010 in NAND/AND-Gatterschaltungen 14-110.
-
Wann immer irgendeines der Paritätskontrollsignale an den geraden
Ausgangsklemmen eine binäre EINS ist, signalisiert dies einen Fehler in
dem Teil der Anforderung, die von dem Systembus 12 empfangen wurde.
Das Ergebnis ist, daß eine der NAND/AND-Schaltungen der Schaltungen
14-110, die die binäre EINS empfängt, eine binäre NULL als eine
Eingabe zu dem AND-Gatterteil der Schaltung 14-110 anlegt, dadurch
das Busparität-OK-Signal BSPA0K010 zu einer binären NULL zwingend.
-
Weil die Untersysteme von Fig. 1 sowohl neue als auch alte
Untersysteme umfassen, wird das Bus-Neu-Paritätssignal BSNEWP010 benutzt,
um zwischen diesen beiden Typen von Untersystemen zu unterscheiden.
Wie oben erwähnt stellen nur die neuen Untersysteme volle
Integritätskontrolle von Anforderungen vor Empfang bereit. Demgemäß arbeitet
jedes dieser Untersysteme, um das Signal BSNEWP010 zu einer binären
EINS zu zwingen. Im Falle eines älteren Untersystems fehlt die Bus-
Neu-Paritätsleitung. Daher verbleibt das Signal BSNEWP010 eine binäre
NULL. Dies sperrt wirkungsvoll die Kontrollschaltungen durch
Veranlassen der Schaltungen 14-100 automatisch das Busparität-OK-Signal
BSPAOK010 zu einer binären EINS zu zwingen.
-
Der Zustand der doppelbreiten Busleitung wird benutzt, um zu
signalisieren ob oder ob nicht die Anforderung eine Übertragung von allen 32
Datenbits durch ein Untersystem umfaßt, das einen doppelbreiten
Datenpfad hat. Das heißt, wenn das Signal BSDBWD010 eine binäre EINS
ist, was einen 32-Bit doppelbreiten Datentransfer anzeigt, sind die
Schaltungen 14-110 programmiert, um die Integrität von allen 32 Bit zu
überprüfen.
Wenn das Signal BSDBWD010 eine binäre NULL ist, was eine
Übertragung von 16 Datenbit anzeigt, sind die Schaltungen 14-110
wirkungsvoll gesperrt eine Kontrolle von Datenbit 16-31 durchzuführen (d. h.,
ihre NAND-Schaltungen zu veranlassen, binäre EINS-Eingabesignale zu
dem AND-Abschnitt der Schaltung 14-110 anzulegen).
-
Zusätzlich umfassen die Integritätskontrollschaltungen von Block 14-10
weiterhin seriell verbundene NOR-Gatter 14-112 und OR-Gatter 14-114.
Das NOR-Gatter 14-112 kombiniert das Bus-Neu-Paritätssignal
BSNEWP010 und das Adreßkontroll-Paritätssignal AP160K010 von den
ungeraden Ausgangsklemmen der Paritätskontroll-/Erzeuger-Schaltung 14-
106. Die Anordnung erkennt, daß ältere Untersysteme keine neuen
Adreßintegritätssignale auf dem Systembus 12 übertragen werden.
Demgemäß wird das Integritätssignal BSAP16010, das von den
Integritätskontrollschaltungen 14-10 empfangen wird, eine binäre NULL sein. Da der
binäre NULL-Zustand des Signales BSAP16010, das von dem Systembus
12 empfangen wurde, garantiert ist, stellt ODER-Verknüpfen dieses
Signals mit dem Signal NEWP16010 von dem NOR-Gatter 14-112 gute
Parität in der Form des Signales BSAP16110 zu den internen
Adreßpfaden des zentralen Untersystems 14-2 bereit.
-
In diesem Beispiel funktioniert die Paritätsschaltung 14-106 als ein
Paritätserzeuger zum Bereitstellen ungerader Parität für die
Adreßbitsignale BSAD16010-23010. Hier ist das Neu-Paritätssignal BSNEWP010
eine binäre NULL, die das Signal BSAP16110 veranlaßt, den Zustand
des Paritätssignales AP160K010 anzunehmen. Wenn das
Bus-Neu-Paritätssignal BSNEWP010, das eine Anforderung von einem neuen
Untersystem anzeigt, nimmt das Signal BSAP16110 den Zustand des
Adreßintegritätssignales BSAP16010 von dem Systembus 12 an. Durch zeitlich
gemeinsames Benutzen der Schaltung 14-106 auf diese Weise werden
gute Paritätssignale zu den Untersystemadreßpfaden übertragen im Falle
von Anforderungen von sowohl neuen als auch älteren
Untersystemen. Obwohl nicht gezeigt kann es angenommen werden, daß jedes der
ungeraden Paritätssignale AP08OK010 und COMPOK010 mit dem Signal
BSNEWP010 auf die gleiche Weise wie oben beschrieben kombiniert ist.
-
Zusätzlich wird auch das Busparitäts-OK-Signal BSPAOK010 als eine
Eingabe zu den Antwortschaltungen der zweiten Buszyklushälfte, nicht
gezeigt, des Schnittstellenbereiches 14-1 angelegt. Nur wenn das Signal
BSAOK010 eine binäre EINS ist, wird einem Antwort-Flip-Flop einer
zweiten Buszyklushälfte erlaubt, zu einem binären EINS-Zustand gesetzt
zu werden, was eine Antwort, wie hier erklärt, erlaubt.
-
Nur die neuen Untersysteme von Fig. 1 umfassen Schaltungen, die
äquivalent zu denen von Block 14-12 sind. Wie in Fig. 3b gezeigt
umfassen die Schaltungen von 14-12 Kanaldecoder-Schaltungen 14-120, ein
NAND-Gatter 14-122, eine Vielzahl von AND-Gattern 14-124 bis 14-128,
ein 9-Bit-Register 14-130, eine Ausgabe-Exclusive-OR-Gatterschaltung 14-
132 und ein OR-Gatter 14-134, verbunden wie gezeigt. Die Gatter und
Register sind konventionell im Entwurf. Zum Beispiel kann das Register
14-130 aus einer 74AS823-Chip-Schaltung aufgebaut sein, hergestellt von
Texas Instruments Corporation.
-
Die Schaltungen von Block 14-120 arbeiten, um zu erfassen, wenn die
einzige Kanalnummer, die dem zentralen Untersystem 14-2 zugewiesen
ist, an den Systembus 12 angelegt ist. Diese Schaltungen umfassen
Vergleichsschaltungen, die die empfangene Kanalnummer mit einer intern
gespeicherten Kanalnummer vergleichen, und die das CP-Kanalsignal
CPCHAN010 zu einer binären EINS nach Erfassen eines identischen
Vergleiches zwischen ihnen zwingen. Das NAND-Gatter 14-122
kombiniert
das Signal CPCHAN010 und das Bus-Paritätssignal BSPAOK010,
um das Kanal-OK-Signal CHANOK000 zu erzeugen. Es zwingt das
Signal CHANOK000 zu einer binären NULL, wenn die
Integritätskontrollschaltungen 14-10 verifiziert haben, daß alle Teile der Anforderung,
die von dem zentralen Untersystem 14 empfangen wurden, gültig sind.
Dies wiederum gibt das Register 14-130 frei, um die Zustände der
Signale PRSAHA010, PRINTA010 und PRINTN010 in Antwort auf das
jetzt verzögerte Busdatenzyklussignal BSDCND010 zu speichern. Dieses
Signal definiert das Zeitintervall während welchem das adressierte
Untersystem (Slave) in der Lage gewesen sein wird, seine Kanaladresse zu
erfassen. Für eine weitere Diskussion kann man sich auf die
US-Patentnr. 3,995,258 beziehen. Die Signale PRSHBA010 bis PRINTN010
identifizieren den Typ von Buszyklus, der durchgeführt wird und werden
benutzt, um entweder ein Quittungs- oder ein negatives
Quittungs-Antwortsignal zu erzeugen. In größerem Detail, das AND-Gatter kombiniert
das Signal der zweiten Buszyklushälfte BSSHBC010 und das
Prozessorsignal der zweiten Leseprotokollhälfte PRSHRH010, um ein Quittungssignal
der zweiten Buszyklushälfte PRSHBA010 zu erzeugen.
-
Die zweite Buszyklushälfte ist das Intervall, während dem zuvor
angeforderte Information zu dem anfordernden Untersystem übertragen wird.
Es ist der zweite Zyklus einer Zwei-Zyklus-Operation, wie z. B. einer
Lese-Operation.
-
Das Signal BSSHBC010 wird von dem Systembus 12 empfangen, wenn
das Untersystem (z. B. das Speicheruntersystem 16) die zuvor von dem
zentralen Untersystem 14 angeforderten Daten überträgt. Das Signal
PRSHRH010 ist normalerweise eine binäre EINS und stellt sicher, daß
das zentrale Untersystem 14 zweite Buszyklushälften nur von den
Anforderungen quittiert, die es initiiert.
-
Die AND-Gatter 14-126 und 14-128 kombinieren das
CPU-Unterbrechungssignal CPINTR010 und die komplementären Prozessor-Ebenen-
Signale PRLVLS010 und PRLVLS000, um I/O-Unterbrechungsquittungs-
und negative Quittungs-Signale PRINTA010 und PRINTN010 zu erzeugen.
Das CPU-Unterbrechungssignal CPINTR010 und das Prozessor-Ebenen-
Signal PRLVLS010, wenn beide binär EINS sind, was anzeigt, daß das
unterbrechende Untersystem eine höhere Priorität als die laufende
Betriebsebene hat (d. h., der Ebenennummerwert ist geringer), veranlassen
das AND-Gatter 14-126 das Quittungssignal PRINTA010 zu einer binären
EINS zu zwingen. Zu diesem Zeitpunkt ist das komplementäre
Prozessor-Ebenen-Signal PRLVLS000 eine binäre NULL. Wenn jedoch das
Prozessor-Ebenen-Signal PRLVLS000 eine binäre EINS ist, was anzeigt,
daß das unterbrechende Untersystem eine niedrigere Priorität als die
laufende Betriebsebene hat, zwingt das AND-Gatter 14-128 das negative
Quittungssignal PRINTN010 zu einer binären EINS.
-
Die Quittungssignale PRSHBA110 und PRINTA110 sind in dem
Exclusive-OR-Gatter 14-132 für Kontrollzwecke kombiniert, so daß ein
Quittungssignal MYACKR010 erzeugt wird, wenn nur eines der
Quittungssignale eine binäre EINS ist. Das negative Quittungssignal
PRINTN110, wenn es eine binäre EINS ist, veranlaßt das OR-Gatter 14-
134 ein negatives Quittungssignal MYNAKR010 zu einer binären EINS zu
zwingen. Wie von Fig. 3b zu sehen, sind die Signale MYACKR010 und
MYNAKR010 an den Systembus 12 über konventionelle
Treiberschaltungen, nicht gezeigt, angelegt.
-
Wie oben diskutiert umfaßt der Speicheruntersystem-Schnittstellenbereich
16-1 ähnlich aufgebaute Antwortschaltungen mit einer Ausnahme. Die
Speicherantwortschaltungen umfassen Schaltungen zum Erzeugen einer
Warteantwort. Dies erfordert ein anderes AND-Gatter, das die gleichen
Signale wie das AND-Gatter 14-124 empfängt. Jedoch wird eines der
beiden komplementären Signale, die den Tätig-Zustand des Speichers
anzeigen, an ein geeignetes dieser AND-Gatter angelegt.
-
Fig. 3c zeigt in größerem Detail die Anschlußregister und
Wiederholschaltungen von Block 14-14 von Fig. 2. Wie gezeigt umfaßt Block 14-
14 eine Vielzahl von Registern 14-140, 14-142 und 14-144, die die
Daten-, Adreß-, Befehls- und Integritätsbit einer Anforderung, die durch
einen zentralen Verarbeitungseinheit-Bereich 14-2 erzeugt wurde,
speichern. Die Inhalte dieser Register werden über eine
Systemanforderungseinheit 14-146 und Treiberschaltungen, nicht gezeigt, an die Daten-,
Adreß- und Befehls-Abschnitte des Systembusses 12 angelegt.
-
Ebenfalls wird Mein-Neues-Paritätssignal MYNEWP010 zu einer binären
EINS gezwungen, was wiederum die Bus-Neu-Parität-Leitung dazu
veranlaßt, zu einer binären EINS gezwungen zu werden. Alle diese Signale
der Anforderung werden auf den Systembus 12 mit dem
Mein-Datenzyklus-Jetzt-Signal MYDCNN010 torgesteuert. Zu diesem Zeitpunkt
arbeitet die Systemanforderungseinheit 14-146, um das
Meine-Anforderung-Signal MYREQT010 zu einer binären EINS zu zwingen, um ein
empfangendes Untersystem der Antwort zu signalisieren. Das Signal
MYREQT010 ist gemäß der vorliegenden Bool'schen Gleichung erzeugt:
-
MYREQT010 = BUSREQ010 + (MYDCNN010 NAKFLP010 BSNAKR010).
-
Die zweite Hälfte der Gleichung bezieht sich auf das Erzeugen eines
Meine-Anforderung-Signales MYREQT010 zum Wiederholen jeder
Anforderung, die nicht von einem empfangenden Untersystem, wie hier erklärt,
akzeptiert wurde. Zusätzlich zu Einheit 14-146 umfassen die
Wiederholschaltungen weiterhin ein D-Typ-Flip-Flop 14-148. Das Flip-Flop 14-148
wird in einem binären NULL-Zustand gehalten, wenn der CPU-Bereich
14-2 nicht eine Busanforderung ausgibt (d. h., das Signal BUSREQ010 ist
eine binäre NULL). Dem Flip-Flop 14-148 ist erlaubt zu einem binären
EINS-Zustand zu schalten, wenn das Signal BUSREQ010 von einer
binären NULL zu einer binären EINS geschaltet wird gemäß der folgenden
Gleichung:
-
SET = MYDCNN010 BSNAKR010.
-
Demgemäß speichert es die Tatsache, daß eine negative Quittung von
dem Systembus 12 empfangen wurde.
-
In Antwort darauf, daß das Signal NAKFLP010 zu einer binären EINS
gezwungen wurde, zwingt die Systembusanforderungseinheit 14-146 ein
System-Gelb-Signal SYSYEL010 zu einer binären EINS (d. h., SYSYEL010
= NAKFLP010 TIMOUT010). Auch zwingt die Einheit 14-146 ein
Systemfehlersignal SYSERR010 zu einer binären EINS gemäß der
folgenden Bool'schen Gleichung:
-
SYSERR010 = MYDCNN010 NAKFLP010 BSNAKR010 TIMOUT010.
-
Beide diese Signale werden zu dem CPU-Bereich 14-2 weitergegeben,
rum Handeln wie hier erklärt.
-
Das Signal TIMOUT010 wird durch Zeitüberlaufschaltungen erzeugt, die
konventionell im Entwurf mit dem Block 14-146 eingeschlossen sind.
Diese Schaltungen zwingen das Signal TIMOUT010 zu einer binären
EINS, wenn sie erfassen, daß das Signal MYDCNN010 bei einer binären
EINS für eine vorbestimmte Zeitperiode, die 3 us entspricht, geblieben
ist.
-
Mit Bezug auf die Flußdiagramme der Fig. 4a und 4b wird jetzt der
Betrieb des Schnittstellenbereiches 14-1 beschrieben bezüglich des
Verarbeitens der Anforderungen von Fig. 5. Es wird angenommen, daß das
zentrale Untersystem 14 wünscht Daten von dem Speicheruntersystem 16
zu schreiben oder zu lesen. In solch einem Fall arbeitet das
Untersystem 14, um eine Speicheranforderung zu erzeugen, die das Format der
Fig. 5a oder 5b hat. Das heißt, das Untersystem 14-2 lädt die Daten-,
Adreß-, Befehls- und Integritäts-Bit in die Register 14-140 bis 14-144.
Zusätzlich zwingt die Systembusanforderungseinheit 14-146 das Signal
MYNEWP010 zu einer binären EINS. Ebenfalls zwingt es das
Busanforderungssignal BUSREQ010 zu einer binären EINS. Dies resultiert in
einem Meine-Anforderung-Signal MYREQT010, das zu einer binären
EINS gezwungen wird, und in dem Löschen des Flip-Flops 14-148 zu
einer binären NULL. Das Signal MYREQT010 zwingt eine
Busanforderungsleitung BSREQT zu einer binären EINS, was signalisiert, daß das
Untersystem 14 einen Buszyklus anfordert. Für eine Speicheranforderung
werden die Befehlsbit wie folgt gesetzt: BSMREF010= 1;
BSWRIT010 = 0 = (Lese) oder 1 = (schreibe); BSLOCK010 = 0;
BSSHBC010=0; BSDBWD010=0; BSBYTE010=0; BSDBPL010 = 1,
und BSYELO010=0.
-
Wenn das Untersystem einen Buszyklus in Antwort auf das Signal BUS-
REQ010, gewährt hat, wird das Signal MYDCNN010 zu einer binären
EINS durch Prioritätsnetzwerkschaltungen, die in der Einheit 14-146
enthalten sind, gezwungen. Diese Schaltungen sind konventionell im
Entwurf und können die Form von Schaltungen annehmen, die in dem
US-Patent Nr. 3,995,258 offenbart ist. Zu diesem Zeitpunkt sind die
Speicheranforderungen zusammen mit dem neuen Busparitätssignal MY-
NEWP010 an den Systembus 12 angelegt.
-
Wie von Fig. 4b zu sehen arbeitet der Speicheruntersystembereich 16-1,
um die Anforderung von dem Systembus 12 zu erfassen. Dies wird
getan durch Kanaldecoderschaltungen, ähnlich zu denen von Block 14-
120, die die Kanaladresse des Speicheruntersystems erfassen, und die
erfassen, daß das Busspeicherreferenzbefehlsbit BSMREF eine binäre
EINS ist. Danach bestimmt das Speicheruntersystem den Zustand der
Bus-Neu-Parität-Leitung, was begründet, ob oder ob nicht alle der neuen
Integritätskontrollen durchgeführt werden werden. Da das Signal
BSNEWP010 eine binäre EINS ist, arbeiten Schaltungen, die identisch zu
denen von Fig. 3a sind, um eine Integritätskontrolle an jedem Teil der
Speicheranforderung durchzuführen. Wenn irgendein Teil der
Anforderung nicht als gültig überprüft werden kann, arbeiten die
Integritätskontrollschaltungen, um das Busparität-OR-Signal zu einer binären NULL zu
zwingen.
-
Wie von Fig. 4b zu sehen veranlaßt dieses das Speicheruntersystem 16
die Erzeugung einer Antwort zu verhindern. Das heißt, Schaltungen
ähnlich zu denen in Fig. 3c zwingen das Kanal-OK-Signal CHANOK000
zu einer binären EINS, wodurch sie die Erzeugung irgendeiner Antwort
verhindern.
-
Jetzt begannen die Zeitüberlaufschaltungen von Block 20 ein Zeitintervall
in Antwort auf die Erzeugung des Mein-Datenzyklus-Jetzt-Signales
MYDCNN010 durch eine Systemantworteinheit 14-146 von Fig. 3c. Weil
das Speicheruntersystem 16 versagt eine Antwort zu erzeugen (Quittung,
Warten oder negative Quittung), erzeugen die Schaltungen von Block 20
am Ende eines 5 us Intervalles ein negatives Quittungssignal. Dies
resultiert darin, daß das Signal BSNAKR010 zu einer binären EINS
gezwungen wird, was wiederum das Flip-Flop 14-148 von Fig. 3c zu einer
binären EINS schaltet.
-
Wie von Fig. 4a zu sehen bestimmt das zentrale Untersystem 14
nachdem es erfaßt hat, daß es keine Antwort empfangen hat, und daß ein
Buszeitüberlauf aufgetreten ist, ob oder ob nicht dies das erste Mal ist,
daß die Antwort wiederholt werden soll. Dies ist definiert durch den
Zustand des Flip-Flops 14-148. Das heißt, wenn das Flip-Flop 14-148 in
einem binären NULL-Zustand ist, verursacht der Empfang eines
negativen Quittungssignales BSNAKR010 am Ende des Buszyklus, daß das
Meine-Anforderung-Signal MYREQT010 wieder zu einer binären EINS
geschaltet wird. Zu diesem Zeitpunkt ist das Mein-Datenzyklus-Jetzt-
Signal MYDCNN010 noch eine binäre EINS.
-
Wenn dem zentralen Untersystem 14 wieder Zugriff zu dem Systembus
12 gewährt wird, wird das Mein-Datenzyklus-Jetzt-Signal MYDCNN010
wieder zu einer binären EINS geschaltet. Dies wiederum legte die
Anforderungsinhalte der Register 14-140 bis 14-144 zusammen mit dem
Neu-Paritätsleitung-Signal MYNEWP010 an den Systembus 12 an.
Wieder werden die Operationen der Fig. 4a und 4b von den
Untersystemen 14 und 16 durchgeführt.
-
Es wird bemerkt werden, daß das negative Quittungssignal BSNAKR010
das Flip-Flop 14-148 dazu veranlaßt, zu einer binären EINS (d. h., Setzen
= MYDCNN010 BSNAKR010) zu schalten. Dies wiederum zwingt das
Fehlersignal SYSYEL010 zu einer binären EINS, wenn das intern
erzeugte Zeitüberlaufsignal TIMOUT010 eine binäre EINS ist. Dies
signalisiert dem zentralen Verarbeitungseinheitsbereich 14-2 das Auftreten
des Busfehlers und der daraus resultierenden ersten Wiederholoperation.
-
Wie von Fig. 4a zu sehen im Falle, daß die Wiederholoperation nicht
erfolgreich ist, arbeiten die Zeitüberlaufschaltungen von Block 20, um ein
zweites negatives Quittungssignal zu erzeugen. Dies veranlaßt die
Systembusanforderungseinheit 14-146 dazu, das Systemfehlersignal
SYSERR010 zu einer binären EINS zu zwingen. Da dies die zweite
Wiederholung ist, arbeitet das zentrale Untersystem 14, um die
Anforderung abzubrechen und die unerfolgreiche Wiederholfehlerbedingung zu
melden. Da die Bedingung, die den Fehler erzeugt hat, nicht durch
einmaliges Wiederholen der Anforderung in Ordnung gebracht werden
konnte, wird es von dem System als eine feste Störung betrachtet.
-
Wie von Fig. 4b zu sehen, wenn die wiederholte Anforderung vollständig
von dem Speicheruntersystem 16 überprüft worden ist, arbeiten die
Speicheruntersystem-Integritätskontrollschaltungen, um das Busparitäts-OK-
Signal BSPAOK010 zu einem binären EINS-Zustand zu zwingen. Dies
wiederum erlaubt den Speicheruntersystemantwortschaltungen ein
Quittungsantwortsignal zu erzeugen, wie in Fig. 4b angezeigt. Nur nach
solcher Überprüfung ist dem Speicheruntersystem 16 erlaubt eine
Anforderung zu akzeptieren und zu verarbeiten. Das heißt, das positive
Quittungssignal MYACKR010 gibt die Anforderung von dem Systembus
12 frei, damit sie in die Warteschlangenregister des Speicheruntersystems
geladen werden. Für weitere Information bezüglich wie dies durchgeführt
wird, kann man sich auf das US-Patent Nr. 4,451,880, betitelt "Memory
Controller with Interleaved Queuing Apparatus" beziehen. Daher wurde
die Möglichkeit von Schaden an der Speicherinformation oder der
Initiierung von einer ungültigen Operation beseitigt.
-
Wie von Fig. 5a zu sehen erfordert eine Speicher-Schreib-Anforderung
nur einen Busoperationszyklus. Eine Speicher-Lese-Anforderung erfordert
jedoch zwei Busoperationszyklen. Der erste Buszyklus wird auf die
gleiche Weise für sowohl Speicher-Lese- als auch
Speicher-Schreib-Anforderungen durchgeführt. Während einem darauffolgenden zweiten
Buszyklus
überträgt das Speicheruntersystem 16 die angeforderten Daten zu
dem zentralen Untersystem 14. Hier führt das Speicheruntersystem 16
die Folge von Operationen von Fig. 4a durch. Wie von Fig. 5c zu
sehen legt das Untersystem 16 die Kanalnummer des zentralen
Untersystems 14, einen konstanten Wert K und zugehörige Integritätsbit an den
Adreßabschnitt des Systembusses 12 an. Die Daten- und Integritätsbit
werden zu dem Datenabschnitt des Systembusses 12 angelegt, während
die Befehls- und Integritätsbit an den Befehlsabschnitt des Systembusses
12 angelegt werden. Auch zwingt die Systemantworteinheit des
Speicheruntersystems 16 das Neu-Parität-Leitungs-Signal (z. B. MYNEWP010) zu
einer binären EINS.
-
Jetzt führt das zentrale Untersystem 14, als die empfangende Einheit
(Slave) die Folge von Operationen von Fig. 4b durch. Kurz, die
Integritätsschaltungen von Block 14-10 führen eine Kontrolle von jedem Teil
der Information, die von dem Systembus 12 empfangen wurde, durch.
Wie von Fig. 3b zu sehen werden in Abwesenheit des Busparität-OK-
Signales BSPAOK010, das zu einer binären EINS gezwungen wurde, die
Antwortschaltungen von Block 14-12 daran gehindert eine Antwort zu
erzeugen. Wie zuvor diskutiert, veranlaßt dies die
Zeitüberlaufschaltungen von Block 20 ein negatives Quittungssignal zu erzeugen. Wie von
Fig. 4b zu sehen veranlaßt dies das Speicheruntersystem 16 die gleiche
Übertragung von Information während einem darauffolgenden
Operationszyklus zu wiederholen. Wenn die Wiederholung erfolgreich ist arbeiten
die Antwortschaltungen des zentralen Untersystems von Block 14-12, um
ein Quittungssignal zu erzeugen, das den Empfang anzeigt, was die
Speicheroperation vervollständigt. Das Quittungssignal veranlaßt, daß die
Anforderung in einem Eingaberegister (z. B. FIFO, Puffer, Warteschlange)
gespeichert wird.
-
Wenn die Wiederholung nicht erfolgreich ist, arbeitet das
Speicheruntersystem, um das Auftreten einer unkorrigierbaren Fehlerbedingung über
den Systembus 12 oder über andere konventionelle Einrichtungen zu
signalisieren. Es wird bemerkt werden, daß zum Zwecke der
Implementation und der Entwurfseinfachheit die Wiederholschaltungen von Block
14-146 alle Anforderungen wiederholen werden, die von dem
CPU-Bereich 14-2 ausgegeben wurden, was in dem Empfang einer negativen
Quittungsantwort resultiert.
-
Die Fig. 5d und 5e veranschaulichen die Formate einer
I/O-Lese-Anforderung und einer I/O-Lese-Anfordernngsantwort. Dieser Typ von
Anforderung und Antwort wird von einem peripheren Untersystem auf die
gleiche Weise wie die Speicher-Lese-Anforderung von dem
Speicheruntersystem 16 durchgeführt wurde, durchgeführt. Der Funktionscode wird
benutzt, um die einzelne I/O-Operation, die durchgeführt werden soll, zu
spezifizieren. Es wird angenommen, daß das periphere Untersystem
aufgebaut ist, um die Integritätskontroll- und Wiederhol-Vorrichtung der
vorliegenden Erfindung zu umfassen.
-
Fig. 5f veranschaulicht das Format einer Unterbrechungsanforderung. Ein
Untersystem, das eine Unterbrechung des zentralen Untersystems 14
wünscht, fordert einen Buszyklus an. Wenn der Buszyklus gewährt ist,
plaziert das Untersystem die Kanalnummer des zentralen Untersystems 14
auf dem Adreßabschnitt des Systembusses 12 und seine eigene
Kanalnummer und Ebenennummer auf dem Datenabschnitt des Systembusses
12. Das heißt, das unterbrechende Untersystem führt die Folge von
Operationen von Fig. 4a durch, während das zentrale Untersystem 14 die
Folge von Operationen von Fig. 4b durchführt.
-
Auf die gleiche Weise wie zuvor beschrieben arbeiten die
Integritätskontrollschaltungen des zentralen Untersystems von Block 14-10, um alle
Teile der Unterbrechungsanforderung zu verifizieren. Wenn so verifiziert,
wird das Busparitäts-OK-Signal BSPAOK010 zu einer binären EINS
gezwungen. Wie von Fig. 3b gesehen, gibt dies das Register 14-130 frei,
um mit den Zuständen der Signale PRSHBA010, PRINTA010 und
PRINTN010 geladen zu werden. Da dies eine
Unterbrechungsanforderung ist, ist das Quittungssignal der zweiten Buszyklushälfte PRSHBA010
eine binäre NULL. Das zentrale Untersystem 14 akzeptiert die
Unterbrechungsanforderung durch Zwingen des Unterbrechungsquittungssignales
PRINTA010 zu einer binären EINS, wenn die Ebenennummer, die von
dem unterbrechenden Untersystem präsentiert wurde, numerisch kleiner
ist, als die laufende interne Ebene. Wenn die vorliegende
Ebenennummer jedoch nicht numerisch kleiner ist als die laufende interne Ebene,
zeigt das zentrale Untersystem an, daß es nicht die Unterbrechung
akzeptieren kann, durch Zwingen des negativen
Unterbrechungsquittungssignales PRINTN010 zu einer binären EINS. Wie von Fig. 4a zu sehen,
in Abwesenheit einer Antwort von dem zentralen Untersystem 14,
arbeitet das unterbrechende Untersystem, um die Unterbrechungsanforderung
zu wiederholen. Wenn die Wiederholung erfolgreich ist fährt die
Operation fort. Jedoch, wenn die Wiederholung nicht erfolgreich ist,
signalisiert das unterbrechende Untersystem die Fehlerbedingung zu dem
zentralen Untersystem 14.
-
Wie von Fig. 4b zu sehen arbeiten die Integritätskontrollschaltungen der
vorliegenden Erfindung auch, um Anfordernngen, die von älteren
Untersystemen empfangen wurden, die nicht die Integritätskontrollmerkmale der
vorliegenden Erfindung umfassen, zu verarbeiten. Das heißt, wenn die
Anforderung empfangen und das Bus-Neu-Paritätssignal BSNEWP010 eine
binäre NULL ist, zwingen die Schaltungen von Block 14-10 der Fig. 3a
das Busparitäts-OK-Signal BSPAQK010 zu einer binären EINS. Die
gültigen Paritätssignale, die von der Paritätserzeugerschaltung 14-106
erzeugt wurden, und andere solche Schaltungen werden an die internen
Adreßpfade des Untersystems angelegt. Dies stellt zusätzliche
Systemintegrität bereit in im wesentlichen nicht zusätzlichen Schaltungen.
-
Das obige zusammenfassend wird gesehen, wie Untersysteme, die den
integritätskontrollierenden Bus und Wiederholungsschaltungen der
vorliegenden Erfindung aufweisen, in der Lage sind, zur frühestmöglichen
Zeit zu bestimmen, ob oder ob nicht eine Anforderung ordentlich
empfangen wurde von einem Untersystem. Durch Plazieren der Last der
Anforderungsverifizierung auf die Einheit, die die Anforderung initiiert
(Master) oder anders gesagt die Einheit, die dem Buszyklus zugewiesen
ist, kann das System zuverlässig solche Bestimmungen machen und die
erwünschte korrektive Handlung vornehmen bevor ein Schaden auftritt.
Dies stellt einen hohen Grad von Systembetriebssicherheit bereit,
während noch ein hoher Grad von Integrität aufrechterhalten wird. Es wird
bemerkt werden, daß der gleiche Grad von Integrität angewandt wird bei
dem Handhaben jedes Types von Busanforderung.
-
Während einige Beispiele, die beschrieben wurden, sich auf
Anforderungen bezogen, die einen oder zwei Buszyklen erfordern, arbeitet die
Erfindung auf die gleiche Weise beim Verarbeiten von Anforderungen,
die irgendeine Anzahl von Zyklen haben (z. B. Bündelanforderungen,
Doppelzuganforderungen). Auch ist die vorliegende Erfindung in keiner
Weise beschränkt auf irgendein besonderes Anforderungsformat. Für
zusätzliche Beispiele von Formaten kann man sich auf die
Veröffentlichung beziehen, betitelt "Level 6 Minicomputers MODELS 6/34, 6/36
and 6/42", Order Nr. AS22, Rev., 3, vom Mai 1979, Copyright 1979
Honeywell Information Systems Inc.
-
Es wird ebenfalls bemerkt werden, daß bei jedem System, bei dem alle
Untersysteme die Integritätskontroll- und Wiederholschaltungen der
vorliegenden Erfindung umfassen, es nicht notwendig sein wird, die Bus-
Neu-Paritäts-Leitung einzubauen. Auch können Änderungen gemacht
werden an den Integritätskontroll- und Antwortschaltungen des
vorliegenden Ausführungsbeispieles zum Unterbringen verschiedener Typen von
Untersystemen. Das vorliegende Ausführungsbeispiel ist nur
veranschaulichend für den Typ von Schaltungen, die zum Umfassen der Integritäts-
und Betriebssicherheitsmerkmale der vorliegenden Erfindung als Teil
eines Bussystems eines verarbeitenden Systemes erforderlich sind.