DE2831684A1 - Verfahren zum testen einer schnittstellenlogik sowie system zur durchfuehrung des verfahrens - Google Patents
Verfahren zum testen einer schnittstellenlogik sowie system zur durchfuehrung des verfahrensInfo
- Publication number
- DE2831684A1 DE2831684A1 DE19782831684 DE2831684A DE2831684A1 DE 2831684 A1 DE2831684 A1 DE 2831684A1 DE 19782831684 DE19782831684 DE 19782831684 DE 2831684 A DE2831684 A DE 2831684A DE 2831684 A1 DE2831684 A1 DE 2831684A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- output
- unit
- address
- register
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
- G06F11/277—Tester hardware, i.e. output processing circuits with comparison between actual response and known fault-free response
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
Description
Die vorliegende Erfindung bezieht sieb auf ein Verfahren nach
dem Gattungsbegriff des Anspruches 1 sowie auf ein System v:ur
Durchführung dieses Verfahrens. Insbesondere bezieht sich die vorliegende Erfindung auf ein Firmware/Hardware-Verfahren «um
Testen einer Schnittstellenlogik ohne Auftrennung des Verarbeitungssystems
bz*. die Verwendung spezieller Zmordnungen zur Erzeugung von Rückführungssignalen.
Der Diagnosetest von Datenverarbeitungssystemen hat bislang Rückkehr-Zyklusantworten
von anderen .Systemeinheiten air- der au
testenden Einheit, die Hinzufügung von speziell aucgelegte-jii Diag—"
nose-Testeinheiten zu dem System oder die Absonderupg einer
Systemeinheit von dem Verarbeitungssystem für einen getrennten
Test erfordert. Bislang sind keine zufriedenstellenden Einrichtungen anzutreffen für den Test einer Schnittstelle in einer Betriebskonfiguration
und für die Trennung der Teütergebnisse νου
Fehlern, die durch die Schnittstellenlogik von sich nicht im
Test befindlichen Sys Lerneinheiten eingeführt werden.
Es ist daher die Aufgabe der vorliegenden Erfindung, ein Verfahren
und ein System zum Testen der Schnittstellenlogik von Systemeinheiten, die mit einer gemeinsamen Sammelschiene in Verbindung
stehen, anzugeben, bei dem die zu testende Einheit nicht von dem Verarbeitungssystem abgetrennt werden muß und mit einer
speziellen Diagnoseausrüstung versehen werden muß. Stattdessen soll ohne Änderung der Systemkonfiguration die im Test befindliche
Systemeinheit von Fehlern abgetrennt werden können, die in der Schnittstellenlogik auftreten, welche anderen Systemeinheiten
zugeordnet ist. Die Lösung dieser Aufgabe gelingt gemäß dem im Anspruch 1 gekennzeichneten Verfahren. Ein System zur Durchführung
des Verfahrens sowie vorteilhafte Weiterbildungen des Systems sind den Unteransprüchen entnehmbar.
909807/0760
Die Erfindung bezieht sich auf ein Verfahren und ein System für
den Diagnosetest der Schnittstellenlogik von Systemeinheiten, welche elektrisch an eine gemeinsame Sammelschiene eines Datenverarbeitungssystems
angeschlossen sind. Insbesondere wird eine Datenübertragung von einer Systemeinheit zu der gemeinsamen Sarn^
inelschiene durch die Firmware ausgelöst, wobei die Ausgangsaaten
und die Adreßregister der Systemeinheit mit bekannten Daten und einer Hauptspeicheradresse entsprechend geladen werden. Ferner
werden die Adreßregister mit einer unkorrekten Parität unter Firipware/Hardw ar es teuerung geladen.
Die Systemeinheit gibt danach eine Sammelschiene-Zyklusanforderung
aus, und die Daten in den Ausgangsregistern werden zu der gemeinsamen Sammelschiene übertragen, sofern diese verfügbar ist.
Da eine unkorrekte Parität in der Hauptspeicheradresse enthalten ist, antwortet die Speichereinheit nicht auf die Adresse. Irgendwelche
Fehler, die während des Diagnosetests festgestellt werden können, bleiben somit auf die Schnittstellenlogik der Systemeinheit
isoliert.
Eine Bestätigung der Systemeinheit hinsichtlich der nicht auftretenden
Antwort der Speichereinheit wird unter Firmware/Hardware-Steuerung erzeugt, um die Daten auf der gemeinsamen Sammelschiene
in die Eingangs-Daten- und Adreßregister der Systemeinheit einzugeben. Der Inhalt der Ausgangsregister der Systemeinheit wird
sodann mit dem Inhalt der Eingangsregister verglichen. Wenn eine Übereinstimmung nicht festgestellt werden kann, so wird ein Fehler
in der Schnittstellenlogik angezeigt.
Anhand eines in den Figuren der beiliegenden Zeichnung dargestellten
Ausführungsbeispieles sei die Erfindung im folgenden näher beschrieben. Es zeigen:
909807/0760
Fig. 1 ein Blockdiagramm eines Datenverarbeitungssysteins
mit Systemeinheiten, die elektrisch an eine gemeinsame Sammelschiene angeschlossen sind;
Fig. 2 ein Blockdiagramm der Plattenspeicher-Steuerung gemäß Fig. 1·
Fig. 3 eine graphische Darstellung der Dialogworte, die
über die gemeinsame Sammelschiene gemäß Fig. 1 übertragen werden;
und 5 ein detailliertes Blockdiagramm der Plattenspeicher-Steuerung
gemäß Fig. 1; ein Blockdiagramm des Firmware-Steuersystems, wie es
zur Steuerung des Betriebs des Systems gemäß der Fig. 4 und 5 verwendet wird;
ein detailliertes Blockdiagramm der Bereichs··- und Verschiebe-Steuereinheit der Fig. 4 und 5;
ein detailliertes Logikdiagramm der FIFO-Dateneinheit
gemäß Fig. 4;
ein Taktdiagramm für den Betrieb des Systems gemäß Fig. 8;
Fig. 10 ein Taktdiagramm für den Betrieb des Systems gemäß den Fig, 4-8 während einer Datenübertragung von einer
Platteneinheit zu der gemeinsamen Sammelschiene;
Fig. 11 ein Taktdiagramm für den Betrieb des Systems gemäß
den Fig. 4-8 während einer Datenübertragung von dem Hauptspeicher zu dem Plattenspeicher-Adapter gemäß
Fig. 1; und
Fig. 12 ein Logikdiagramm der im Zusammenhang mit der Firmware benutzten Hardware für den Diagnosetest der
Schnittstellenlogik des Systems gemäß Fig. 1.
909807/0760
— D ~
Fig. 1 veranschau]icht in Form eines funktionellen Blockdiagrammes
ein Computersystem mit einer Plattenspeicher-Steuerung MPDC-IO mittlerer Leistung in elektrischer Verbindung mit einer
Zentraleinheit 11 und einem Hauptspeicher 12, wobei die Verbindung über eine gemeinsame Dialog-Sammeischiene erfolgt, die mit
hoher Leistung ausgestattet ist und nachstehend als Samme1-kanal
13 (Megabus) bezeichnet ist. Die Steuerung MPDC-IO ist ein
mikroprogrammj.ert.es peripheres Steue3:-Subsystem für die Speicherung
und Wiederauffindung von Daten von einem Massenspeichermedium.
Diese Steuerung umfaßt einen Festwertspeicher (ROS = Read Only Store) der in später noch zu beschreibender Weise gespeicherte
Mikroprogrammbefehle aufweist. Der Festwertspeicher steht im Nachrichtenaustausch mit Massenspeicher-Adciptem. wie
beispielsweise dem Geräteadapter 14, der die Fähigkeit aufweist,,
mehrere hintereinander geschaltete Platteneinheiten 15 zu unterstützen.
Der Sammelkanal 13 bildet einen Informationsweg zwischen irgend
zwei Einheiten des Systems. Die Informationswege sind asynchron aufgebaut und gestatten somit einen wirksamen Betrieb hinsichtlich
von Einheiten mit verschiedenen Arbeitsgeschwindigkeiten. Die Sammelschiene gestattet eine Informationsübertragung, einschließlich
Dialoganforderungen, Steueranweisungen. Statussignalen und Datenübertragungen, zwischen dem Hauptspeicher 12 und
den Plattenspeichereinheiten 15.
Irgendeine Systemeinheit, die einen Dialog mit irgendeiner anderen
Systemeinheit anfordert, gibt eine Sammelschienen-Zykluseinforderung aus. Wenn der Sammelschienenzyklus gewährt wird, so
wird die anfordernde Einheit dominierend und die adressierte Systemeinheit wird nebengeordnet. Einige Sammelschienendialoge
erfordern sowohl einen Antwortzyklus als auch einen Anforderungszyklus. Beispielsweise kann die Einheit mit Vorrang sich selbst
einer nebengeordneten Einheit zu erkennen geben und anzeigen, daß
§09807/0760
eine Antwort gefordert wird.-Wenn die angeforderte Information
verfügbar wird, so übernimmt die nebengeordnete Einheit die Rolle der Einheit mit Vorrang und löst eine Übertragung zu der
anfordernden Einheit aus.
Bei der Behandlung von Sammelschienen-Zyklusanforderungeri besitzt
die Zentraleinheit die niedrigste Priorität, die Steuerung MPDC-IO die nächst niedrigste Priorität und der Hauptspeicher
die höchste Priorität.
Eine detaillierte Beschreibung des Systems gemäß Fig. 1 kann der US-PS 3,993,981 entnommen werden.
Fig. 2 veranschaulicht in Form eines funktioneilen Blockdiagrammes
die Steuerung MPDC-IO gemäß Fig. 1 und Fig. 3 zeigt die binären Befehlsformate, die für den Betrieb der Steuerung MPDC-IO
erforderlich sind«
Der Sammelkanal 13 ist an eine Adreß-Logikeinheit 20 über ein
Adreßkabel 21 angeschlossen. Die Logikeinheit 20 besteht aus Adressen-Sendern/Empfängern, über welche Speicheradressen. Kanal-Bestimmungsnummern
und Funktionscodes zwischen der Steuerung
MPDC-IO und dem Sammelkanal 13 übertragen werden. Die Logikeinheit
20 umfaßt ferner eine Steuerlogik für die Informaticnsver-teilung auf dem Adreßkabel 21 innerhalb der Steuerung MPDC-IO.
Die Logikeinheit 20 ist an eine Bereichs- und Verschiebe-Logikeinheit
22 über ein Einweg-Steuerkabel 23 und an eine Recheneinheit 24 über ein Zweirichtungs-Steuerkabel 25 angeschlossen.
Die Logikeinheit 22 umfaßt einen 16 Bit-Bereichszähler, der mit der Anzahl der Bytes geladen wird, die während einer Lese- bzw.
Schreiboperation zu übertragen sind. Die Logikeinheit 22 umfaßt ferner einen 16 Bit-Verschiebebereichssähler, der mit einem
9807/0760
Zählstand geladen wird, der die Anzahl der führenden Datenbytes
anzeigt, die während einer Übertragung gelesener Baten zu unterdrücken
sind.
Die Recheneinheit M.-U-24 bildet den Kernpunkt aller Datenoperationen
innerhalb der Steuerung MPDC-IO. Solche Datenoperaticnen können zwischen der Steuerung KPDC-IO und dem■ SamineIkanal 13 cder
zwischen der Steuerung MPDC-IO und dera Geräteadapter 14 auftreten.
Die Recheneinheit ALU-24 führt sowohl logische als auch arithmetische Operationen hinsichtlich ankommender Daten durch
und besteht aus einem A-Oper^ndenmultiplexer AMUX, einem B-Operandenmultiplexer
BMUX, einer Acht-Bit-Arithmetikeinheit AU und einem Acht-'Bit-7ikkumulator ACU, was noch weiter zu beschreiben
sein wird- Unter Firmwaresteuerung wählt der Multiplexer AMUX eines von 8 Datenfeldern, aus und der Multiplexer BMUX wählt eines
von vier Datenfeldern aus. Die Arithmetikeinheit AU führt arithmetische und logische Operationen mit Daten von 8 Bit aus, die
durch die Multiplexer ausgewählt werden und liefert das Ergebnis an den Akkumulator ACU zwecks temporärer Speicherung.
Die Recheneinheit ALU empfängt Bereichs- und Verschiebe-Steuersignale
von der Logikeinhe.it 22 über ein Steuerkabel 26 und Firmware-Steuersignale
von einer Mikroprogramm-Steuerspeicher-Logikeinheit 27 über ein Steuerkabel· 28. Die Recheneinheit ALU-24
steht ferner im Dialog mit einer Adapter-Logikeinheit 29 über ein Zweirichtungs-Steuerkabel 30 uhd mit einer Zwischenspeichereinheit
31 über ein Zweirichtungs-Steuerkabel 32. Weiterhin steht die Recheneinheit ALU-24 mit dem Geräteadapter 14 über ein Zweirichtungs-Steuerkabel
33 im Dialog und sie liefert eine Steuerinformation an eine Sammelschienen-Logikeinheit 34 über ein Einweg-Steuerkabel
35. Die Recheneinheit ALU empfängt und überträgt ferner Daten zu einer Daten-Logikeinheit 36 über ein Zweirichtungs-Datenkabel
37.
9Ö980 7/076Ö
Die Adapter-Logikeinheit 29 ist tin den Geräteadapter 14 über
ein Zweirichtungs-Dialogkabel 38 angeschlossen. Die Logikeinheit 29 bildet einen Dialogweg für die Steuerung MPDG-IO, um
die Übertragung von Daten und Statusinformation zwischen dem
Adapter 14 und der Steuerung MPDC-IO zu steuern.
Die Zwischenspeichereinheit 31 umfaßt eine Logik, bestehend aus
einem Indexregister, einem Adreßregister, einem Adreßselektor, einem Zwischenspeicher und logischen Elementen, die die Operation
des Zwischenspeichers steuern. Der Zwischenspeicher ist ein Lese/Schreibspeicher mit 1.024 KBit mal 8 Bit, der in indizierte-
und nicht-indizierte Abschnitte unterteilt ist,wobei jeder Abschnitt zwei Quadranten enthält. Der nicht-indizierte
Abschnitt des Speichers besteht aus 256 Arbeitsspeicherplätaen
und 256 Vorratsspeicherplätzen. Der indizierte Abschnitt des Speichers besteht aus 256 Speicherplätzen für die Speicherung
von gerätebezogener Information und 256 Vorratsspeicherplätzen. Die 256 Speicherplätze für die gerätebezogene Information sind
ferner in vier Abschnitte unterteilt, wobei jeder Abschnitt pro Kanal 64 Speicherplätze umfaßt.
Das Adreßregister der Zwischenspeichereinheit 31 ist ein 10 Bit-Register,
wobei das hochrangige Bit entweder den indizierten oder den nicht-indizierten Modus auswählt. Das zweithöchste Bit
wählt einen Quadranten mit 256 Speicherplätzen aus und die nächsten beiden Bits wählen 64 Speicherplätze innerhalb des Quadranten
aus. Die sechs niedrigrangigen Bits wählen eine Zwischenspeicheradresse aus. Daten werden in die ausgewählte Adresse
der Zwischenspeichereinheit von dem Multiplexer AMUX der Recheneinheit ALÜ-24 während der Ausführung einer Firmware-Speicher-Schreibanweisung
eingeschrieben. Die Ausgangsdaten des Zwischenspeichers werden an die Multiplexer AMUX und BMUX zwecks Verteilung
innerhalb der Steuerung MPDC-IO ausgegeben.
9 Ö 98-077 07 6 0
Die Mikroprogramm-Steuerspeicher-Logikeinheit 27 weist einen
herkömmlichen Aufbau auf und umfaßt eine Rückkehr-Registereinheit, einen Selektor, einen Mikroprogramm-Adreßzähler, einen
Festwertspeicher ROS, ein Mikroprogramm-Befehlsregister MPIRf
einen Decodierer und eine Firmware-Verteilungseinheit, die noch näher zu beschreiben ist. Der Festwertspeicher ROS bildet einen
permanenten Speicher für die vorliegende Steuerfirmware und . Diagnose-Mikroprogramme und kann adressiert werden, um verschiedene
Mikrobefehlsfolgen für die Bearbeitung abzurufen. Der Festwertspeicher ROS liefert ein Ausgangssignal mit einer Breite von
16 Bit, das von den Ausgängen von 16 programmierbaren Festwert-speicherchips
PROM mit 1.024 mal 4 Bit abgeleitet wird. Das Ausgangssignal des Festwertspeichers ROS wird dem Mikroprogramm-Befehlsregister
MPIR zugeführt, das eine Breite von 16 Bit aufweist und benutzt wird, um das Ausgangssignal des Festwertspeichers
ROS während einer Mikrobefehlsbearbeitung für einen Taktzyklus zu speichern.
Die Sammelschienen-Logikeinheit 34 empfängt Steuersignale von
der Recheneinheit ALU-24 über ein Kabel 35 und von der Mikroprogramm-Steuer speicher-Logikeinheit 27 über ein Kabel 28 und ein
Steuerkabel 39. Die Logikeinheit 34 ist an den Sammelkanal 13 über ein Zweirichtungs-Steuerkabel 40 angeschlossen. Die Sammelschienen-Logikeinheit
34 führt asynchrone Bestätigungsoperationen aus, indem sie auf Sammelschienen-Zyklusanforderungen antwortet
und solche erzeugt. Ferner werden gleichzeitige Anforderungen und Gewährungen von Sammelschienenzyklen auf einer Prioritätsbasis
bearbeitet, wobei die Steuerung MPDC eine Priorität-Zwischenposition und der Hauptspeicher eine Position mit erhöhter Priorität
einnimmt. ■
Die Daten-Logikeinheit 36 umfaßt Fehlerprüfer, fünf FIFO Datenpuffer
für 16 Worte mit vier Byte und einen Leseselektor für die. Bearbeitung der Datenübertragung über ein Zweirichtungs-
909807/0760
Datenkabel 41 zwischen der Steuerung MPDC-IO und dem Sairimelkanal
13. Irgendeine Information, die in die Steuerung MPDC-IO
von dem Sammelkanal 13 eingegeben wird, wird Daten-Sendern/ Empfängern zugeführt und auf vorliegende Parität überprüft. Die
gleiche Logik wird verwendet, um die MPDC-Kanalrmmmer an den
Sammelkanal 13 aufgrund einer Sammelschienen-Zyklusanforderung
von einer Systemeinheit abzugeben. Vier der fünf FIFO-Puffer empfangen Daten und der fünfte FIFO-Puffer wird benutzt, um die
Steuerung MPDC-IO daran zu hindern r eine Zyklusanforderung abzugeben,
wenn die Daten-FIFO-Puffer voll sind. Die FIFO-Chips sind
in der Lage, 14 Worte zu stapeln, wobei zusätzlich ein Wort in
den Eingangs- und Ausgangsregistern zurückgehalten wird, so daß sich eine Gesamtkapazität von 16 Worten ergibt.
Taktsignale für die Steuerung des Betriebs der Steuerung MPDC-IO
werden durch eine System-Takteinheit 42 geliefert, die aus einem 8 MHz-Kristalloszillator besteht. Das System-Taktsignal wird
einer Takt-Logikeinheit 43 zugeführt, die einen 4 MHz-Rechteckimpulszug
liefert, der innerhalb der Steuerung MPDC-IO verteilt
wird. Die Takt-Logikeinheit 43 empfängt ferner Steuersignale von der Mikroprogramm-Steuerspeicher-Logikeinheit 27 über eine Steuerleitung
44, um die Logikeinheit vorzubereiten oder zurückzustellen.
Die von der Steuerung MPDC-IO ausgeführten Operationen umfassen
einen direkten Speicher -Lesezugriff, einen direkten Speicher-Schreibzugriff,
eine E/A-Ausgabeanweisung, eine E/A-Eingabeanweisung
und eine Unterbrechungsoperation. Jede der Operationen erfordert einen einzigen Sammelschienenzyklus mit Ausnahme des
direkten Speicher-Lesezugriffs und der E/A-Eingabeanweisung, die zwei Sammelschienenzyklen erfordern.
Gemäß den Figuren 3a und 3b sind die spezifischen Parameterformate
für Maschinenbefehle dargestellt, wie sie für den Sammelschienen-
dialog mit der Steuerung MPDC-IO benutzt werden.
'900807/0760
Wenn eine Datenübertragung auftreten soll, so gibt die Zentraleinheit
CPU-11 gemäß Fig. 1 einen Maschinenbefehl aus, der als eine E/A-Ausgangsanweisung bezeichnet ist und eine Bestimmungs-Kanalnummer,
einen 6 Bit-Funktionscode und ein Datenwort umfaßt,
was durch das E/A-Ausgangsanweisungs-Format gemäß Fig. 3a veranschaulicht
ist. Die Bestimmungs-Kanalnuminer identifiziert das
Gerät des Systems, an welches eine Anforderung gerichtet ist und der Funktionscode liefert die Adresse in der Zwischenspeichereinheit
31, an die eine Datenübertragung zu richten ist. Der Funktionscode
identifiziert ferner eine CPU-Anweisung als eine Eingangs- oder eine Ausgangsanweisung. Das Datenwort kann eine zu
bearbeitende Aufgabe, Bereichs- und Verschiebezählstände, eine Hauptspeicheradresse, oder Konfigurationsworte umfassen- die benutzt
werden, um die Plattenspeichereinheit während einer Datenübertragung zu steuern. Gemäß Fig. 3a werden die Bestimmungs-Kanalnummern
und Funktionscodes zwischen dem Sammelkanal 13 und der Steuerung MPDC-IO über die Adressen-Logikeinheit 20 übertragen.
Die Quellen-Kanalnummer, Hauptspeicheradresse, Bereichs- und Verschiebe-Zählstände und in den Vorratsbereichen gespeicherte
Information werden zwischen dem Sammelkanal und der Steuerung MPDC über die Daten-Logikeinheit 36 übertragen. Wenn Daten in
den Hauptspeicher 12 gemäß Fig. 1 einzuschreiben sind, so gibt die Zentraleinheit CPU-11 eine Speicher-Schreiboperation mit
direktem Zugriff aus. Aufgrund dessen wird die Start-Speicheradresse 60a über das Adreßkabel 21 an den Sammelkanal 13 angelegt
und die Daten 60b, die in den Speicher einzuschreiben sind, werden über das Kabel 41 an den Sammelkanal angelegt. Wie aus.
Fig. 3a ersichtlich, ist das Speicher-Adreßregister ein 24 Bit-Register, während das Datenregister ein 16 Bit-Register ist.
Wenn Daten aus dem Hauptspeicher 12 zu lesen sind, so gibt die Zentraleinheit CPU-11 einen Maschinenbefehl aus, der als eine
Speicher-Leseanforderung mit direktem Zugriff bezeichnet ist. Der Befehl umfaßt eine 24 Bit-Speicheradresse 61a, eine 10 Bit-Quellen-Kanalnummer
61b und einen 6 Bit-Vorratsbereich 61c.
9Ö98Ö7/076Ö
Die Speicheradresse 61a wird dem Sammelkänal 13 über das Kabel 21
zugeführt, das an die Adressen-Logikeinheit 20 angeschlossen ist. Die Kanalnummer 61b und der Vorratsbereich 61c werden dear Daten-Logikeinheit
36 über das Datenkabel 41 zugeführt.. Aufgriand des
Lese-Anforderungsbefehls gibt die Steuerung MPDC einen Speicher- Leseantwortbefehl
aus, der eine 10 Bit-Bestirnmungs-Kanalnummer 62a,
einen 6 Bit-Vorratsbereich 62b und 16 Bit von zu übertragenden
Daten 62c umfaßt. Die Bestimmungs-Kanalnummer und der Vorratsbereich werden zu dem Saifimelkanal über das Ädreßkabel 21 übertragen,
während die 16 Datenbits über das Kabel 41 zu dem Sammelkänal übertragen werden«, Es sei darauf verwiesen, daß der Inhalt
des Vorratsbereiches 62b identisch mit dem Vorratsbereich 61c ißt.
Die durch die Zentraleinheit CPU in dem Vorratsbereich 61c gespeicherte Information wird somit durch den Vorratsbereich 62b
zu dem Sammelkanal zurückgeholt.
Die Zentraleinheit CPU-11 kann Daten vom Hauptspeicher übertragen
und eine Aufgabe anzeigen, die die Steuerung MPDC-IO hinsichtlich der Daten auszuführen hat. Beispielsweise kann die Zentraleinheit
CPU einen E/A-Ausgangs-Anweisungsbefehl ausgeben, der eine 10 Bit-Bestimmungs-Kanalnummer
63a zur Festlegung der Steuerung MPDC, einen 6 Bit-Funktionscode 63b zur Festlegung einer Zwischenspeicheradresse
und 16 Bit von in dem festgelegten Zwischenspeicher zu speichernden Daten 63c umfaßt. .Wie zuvor beschrieben, werden
die Bestimmungs-Kanalnummer und der Funktionscode durch die Adressen-Logikeinheit
20 über das Ädreßkabel 21 aufgenommen, und es· werden die Daten in der Daten-Logikeinheit 36 gespeichert.
Die Daten werden unter Firmwaresteuerung von der Logikeinheit 36 zu der Recheneinheit ALU-24 übertragen und danach in der Zwischenspeichereinheit
31.gespeichert. Die Zentraleinheit CPU-11 gibt zusätzliche E/A-Ausgangsanweisungen aus,· um in dem Zwischenspeicher
einen Bereich-Zählstand, einen Verschiebe-Zählstand, eine Hauptspeicheradresse, eine auszuführende Aufgabe und Konfigurationsworte
für die Steuerung des Betriebs der Plattenspeichereinheit
während einer Datenübertragung zu speichern.
909807/07 6 0
Die Firmware kann ferner aus dem niedrigrangigen Bit des Funktionscode
bestimmen,, ob die Aufgabe eine Eingabe- oder eine Ausgabe-Operation umfaßt. Die Aufgabe kann irgendeine der zuvor
beschriebenen Operationen der Steuerung MPDC enthalten.
Wenn die Zentraleinheit CPU-11 Information von der Steuerung
MPDC-10 anfordert, so kann ein E/A-Eingangs-Anweisungsbefehl ausgegeben
werden, Der Befehl besteht aus einer 10 Bit-B&stinunungs-Kanalnummer
64a, einem 6 Bit-Funktionscode 64b, einer 10 Bit-Quellen-Kanalnummer
64c, die die Quelle der Anforderung festlegt, und einem 6 Bit-Vorratsbereich 64d. Aufgrund der CPU-Anforderung
gibt die Steuerung MPDC einen E/A-Eingangs-Antwortbefehl aus,
der eine 10 Bit-Bestimmungs-Kanalnummer 65a, einen 6 Bit-Vorratsbereich
65b und 16 Datenbits 65c aufweist. Der Vorratsbereich 65b speichert hierbei die Daten, die in dem Vorratsbereich 64d auftreten.
Wenn Daten in die Zwischenspeichereinheit 31 einzuschreiben sind, so tritt eine Operation mit zwei Zyklen auf. Die Zentraleinheit
CPU-11 gibt eine E/A-Lade-Ausgangsanweisung aus, die aus zwei Befehlen
besteht. Der erste Befehl umfaßt eine 8 Bit-Modulnummer 66a, die die 8 hochrangigen Bits einer Hauptspeicheradresse anzeigt,
eine 10 Bit-Bestimmungs-Kanalnummer 66b, einen 6 Bitfunktionscode
66c und 16 Adreßbits 66d, die die niedrigrangigen Bits einer 24 Bit-Hauptspeicheradresse anzeigen. Die Modulnummer, die
Bestimmungs-Kanalnummer und der Funktionscode werden über die Adressen-Logikeinheit 20 und die Recheneinheit ALU-24 zu der
Zwischenspeichereinheit 31 unter Firmwaresteuerung übertragen. Die Firmware nimmt danach auf den Funktionscode in dem Zwischenspeicher
Zugriff, um die Zwischenspeicheradresse zu identifizieren, in die Hauptspeicher-Adreßdaten einzuschreiben sind. Beim
Laden der Adresse in den Zwischenspeicher weist die Firmware die Sammelkanal-Logikeinheit 34 an, ein Bereitschaftssignal an den
9Ö9807/0760
~ 1 D —
• Sammelkanal 13 auszugeben. Die Zentraleinheit CPU gibt daraufhin
einen zweiten Befehl aus, der eine 10 Bit-Bestimmungs-Kanal-· Nummer 67a zur Festlegung der Steuerung MPDC, einen 6 Bit-Funktionscode
67b, ein hochrangiges Bit 67c zur Anzeige, ob der Bereichszählstand positiv oder negativ ist, und 15 Bereichbits
67c zur Anzeige der Anzahl der zu übertragenden Datenbytes umfaßt.
Die Firmware niirant daraufhin Zvigriff auf den Funktionscode,
um die Zwischenspeicher-Speicherplätze festziilegen, in denen der Bereich und das Bit S zu speichern sind.
Im Unterbrechungsbetrieb gibt die Steuerung MPDC-IO einen Unterbrechungsbefehl
aus, der eine 10 Bit-Bestimmungs-Kanalnummer 68a,
einen logischen 6 Bit-Nullbereich 68b, eine.-.. 10 Bit-Quellen-Kanalnummer 68c und eine 6 Bit-Quellen-Prioritäts-Pegelnurainer 68d
umfaßt. Wenn die Steuerung MPDC-IO eine Operation vervollständigt,
so wird der Unterbrechungsbefehl an die Zentraleinheit CPU-11 ausgegeben. Wenn die Prioritäts-Pegelnummer der Steuerung MPDC-IO
höher als der Prioritätspegel der gerade von der Zentraleinheit ' CPU bearbeiteten Aufgabe ist, so wird die MPDC-Unterbrechung sofort
behandelt. Andernfalls tritt die Steuerung MPDC-10 in einen Wartezustand ein, bis eine CPU-Anforderung empfangen wird»
Die Formate der beiden Konfigurationsworte, die benutzt werden, um den Betrieb einer Platteneinheit während einer Datenübertragung
zu steuern, sind in Fig. 3b dargestellt. Die Konfigurationsworte A und B umfassen ein Bild eines ID-Feldes eines Plattensektors, hinsichtlich dessen eine bestimmte Operation ausgelöst
wird. Insbesondere umfaßt das Konfigurationswort B einen 7 Bit-Bereich 69a, der für einen Benutzer reserviert ist ( PJ1U) , eine
1 Bit-Spurnummer 69b und eine 8 Bit-Sektornummer 69c. Das Sektornummernfeld wird um eins erhöht, nachdem jedes- Datenfeld während
einer Lese- oder einer Schreiboperation erfolgreich übertragen worden ist.
90980 7/078
Das Konfigurationswort A umfaßt ein 4 Bit-RFU-Feld 70a, ein
1 Bit-Plattenausvahlfeld 70b, ein 2 Bit-RFU-Feld 70c und ein
9 Bit-Zylinder-Nummernfeld 7Od. Die Zylindernummer und die Plattenauswahlfelder werden bei Plattensuchoperationen als Suchargumente
verwendet.
Die Wirkungsweise der Erfindung kann am besten im Zusammenhang mit einer Lese- oder einer Schreiboperaticn beschrieben werden.
Wenn die Firmware bei der Feststellung einer Aufgabe in der Speichereinheit
31 eine Anweisung zum Einschreiben eines Datensatzes auf eine Platte feststellt, so nimmt die Firmware Zugriff auf
die Konfigurationsworte A und B in der Speichereinheit 31, was
mittels der Recheneinheit ALü-24 geschieht. Die Firmware speichert danach die Worte in der Geräte-Adaptereinheit 14, die die
Worte mit der von der Platte gelesenen Spurinformation vergleicht« Während der Periode, in der die Logikeinheit 29 nach einer ID-Übereinstimmung
sucht, weist die Firmware die Sammeischienen-Logikeinheit
34 an, Daten von der Hauptspeichereinheit 12 anzufordern. Aufgrund dessen überträgt der Hauptspeicher 32 Datenbytes
zu den Puffern FIFO der Daten-Logikeinheit 36. Beim Laden der Daten in die Daten-Logikeinheit wird der Bereichszählstand
in der Logikeinheit 22 erniedrigt und die Adresse in der Logikeinheit 20 erhöht.
Wenn eine ID-Übereinstimmung auftritt, so löst der Adapter 14
eine Schreib-Lückenoperation hinsichtlich des festgelegten Datensatzes
des Plattensystems aus. Sechzehn der 32 Datenbytes in der Daten-Logikeinheit 36 werden daraufhin von der Daten-Logikeinheit
36 zu dem Geräteadapter 14 mittels der Secheneinheit
ALU 24 verschoben. Bei der Datenübertragung zu dem Adapter 14
weist die Firmware die Sammelschienen-Logikeinheit 34 an, zusätzliche Daten von der Speichereinheit 12 anzufordern. Der zuvor
beschriebene Prozeß setzt sich fort, bis das Bereichsfeld der Logikeinheit 22 abgearbeitet ist.
.90980^/0760
Wenn Daten von einer Platteneinheit zu lesen und in den Hauptspeicher
12 zu schreiben sind,, so gibt die Zentraleinheit CPü-11
zunächst Maschinenbefehle aus, um in dem Zwischenspeicher Konfigurationsworte
A und Bf den Bereich, den Verschiebebereich, eine beginnende Hauptspeicheradresse und eine auszuführende Aufgabe
zu speichern. Aufgrund von Steuersignalen von der Adapter-Logikeinheit 29, die von der Firmware ausgelost werden, sucht der
Geräteadapter 14 eine Platteneinheit ab, um den zu übertragenden
Datensatz aufzufinden. Wenn die Plattenspur in der zuvor beschriebenen Weise identifiziert worden ist, so werden die Daten
unter Hardwaresteuerung zu der Daten-Logikeinheit 36 über ein Kabel 33 und die Recheneinheit ALU-24 übertragen. Die Hardware
nimmt Zugriff auf den Verschiebe-Bereichszählstand der Logikeinheit
22, um die Anzahl führender und zu unterdrückender Datenbytes festzustellen. Die Logikeinheit 36 bildet danach Worte mit
zwei Byte aus den nachfolgenden Daten und überträgt ein Wort unter Hardwaresteuerung zu dem Sammelkanal 13 jedesmal dann, wenn
zwei Bytes empfangen werden. Die Datenübertragung von dem Plattenadapter
14 zu der Daten-Logikeinheit 36 wird fortgesetzt bis das Bereichsregister der Adressen-Logikeinheit 20 anzeigt, daß
die Datenübertragung vervollständigt ist.
Die Fig. 4 und 5 veranschaulichen in näheren Einzelheiten das System gemäß Fig. 2. Ein 24 Bit-Adreß-Schieberegister 70 ist über
ein 24 Bit-Datenkabel 71 an den Sammelkanal 13 angeschlossen. Der Ausgang des Schieberegisters wird dem Eingang A2 eines 8 zu 1-Multiplexers
AMüX-72 zugeführt. Die Bits 15 und IG des Schieberegisterausganges
"werden über ein Datenkabel 73 dem Eingang A1 eines Indexregisters 74 zugeführt. Der Takteingang CK des Schieberegisters
70 ist an eine Steuerleitung 70a angeschlossen, die zu einem Firmware-Ausgangsanschluß führt, der noch weiter beschrieben
wird.
900807/0760
Der Eingang A1 des Multiplexers AMUX-72 ist an den 8 Bit-Ausgang
eines Akkumulators 75 angeschlossen und der Eingang Λ3 des Multiplexers
AMUX-72 ist über ein Datenkabel 76 mit. dem Ausgang einer
Bereichs— und Verschiebesteuereinheit 77 verbunden, die noch
näher beschrieben wird. Der Eingang A4 des Multiplexers AMUX-72 ist über ein Datenkabel 78 mit dem Ausgang eines 3 Bit-Zwischenspeicher-Adressenzählers
79 verbunden. Der Eingang A5 des Multiplexers AMUX-72 ist an ein Datenkabel 80 angeschlossen, das zu
dem Ausgang D1 des Indexregisters 74 führt, und der Eingang A6 des Multiplexers AMUX-72 ist mit dem 6 Bit-Ausgang eines 1 Kilobit
χ 8 Bit-Zwischenspeichers 81 verbunden. Der Eingang A7 des Multiplexers AMUX-72 ist an den Ausgang eines 16 Bit-Datenregisters
82 angeschlossen. Der Auswahleingang SEL des Multiplexers AMUX-72 ist über eine Steuerleitung 72a an einen Firmware-Ausgangsanschluß
angeschlossen. Der 8 Bit-Ausgang des Multiplexers AMUX-72 ist mit dem Eingang A1 einer ODER-Logikeinheit 83 verbunden,
Ein 4 zu 1-Multiplexer BMUX-84 weist einen 8 Bit-Ausgang auf, der
mit dem Eingang A2 einer Recheneinheit 85 verbunden ist. Der Eingang A1 des Multiplexers BMUX-84 ist über ein Steuerkabel 86 an
die Firmware angeschlossen. Der Eingang A2 des Multiplexers BMUX-84 ist mit dem Ausgang des Zwischenspeichers 81 über ein Datenkabel
87 verbunden. Der Eingang A3 des Multiplexers BMUX-84 ist an ein Steuerkabel 88 und der Eingang A4 ist über ein Datenkabel
89 mit dem Ausgang des Akkumulators 75 verbunden. Der Auswahleingang SEL des Multiplexers ist über eine Steuerleitung 84a an
die Firmware angeschlossen.
Der Eingang A1 der Recheneinheit 85 ist über ein Datenkabel 90 mit dem 8 Bit-Ausgang D1 der Logikeinheit 83 verbunden ,und der Moduseingang
der Recheneinheit ist an den Ausgang einer arithmetischen Steuereinheit 91 angeschlossen. Der 8 Bit-Ausgang der arithmetischen
Einheit ist an den Eingang des Akkumulators 75 und über Datenkabel 92 und 9 3 an den Dateneingang des Zählers 79 angeschlossen.
Ferner ist der Ausgang der arithmetischen Einheit über
9Ö98U7/0760
■Datenkabel 92 und 94 mit dem Eingang A2 des Geräteadapters 14
und über ein Datenkabel 95 an ein Datenkabel 96 angeschlossen. Der Ausgang der arithmetischen Einheit ist ferner über Datenkabel
95 und 97 an den Eingang eines Leseregisters für die zweite Hälfte SHRD-98 und über Datenkabel 95 und 99 an die 8 Bit-Dateneingänge
eines 16 Bit-Sammelkanal-Datenregisters 100 angeschlossen.
Der Ausgang der arithmetischen Einheit ist zusätzlich an Datenkabel 95 und 101 angeschlossen, wobei das Datenkabel 101^ zu
dem Dateneingang einer Test-Logikeinheit 102 führt.
Der Ausgang des Akkumulators 75 ist ferner an ein Datenkabel· 103 ·
und an den 2 Bit-Eingang A2 des Indexregisters 74 angeschlossen. Der Ladeeingang LD des Akkumulators ist über eine Steuerleitung
75a mit einem Firmware-Ausgangsanschluß verbunden.
Der Eingang A1 der arithmetischen Steuereinheit 91 ist über eine Steuerleitung 106 an einen Ausgangsanschluß des Firmware-Steuersystems
angeschlossen und der Eingang A2 der Steuereinheit 91 ist über eine Steuerleitung 107 mit dem Ausgang D1 einer Hardware-Steuereinheit
108 verbunden.
Der Eingang At der Steuereinheit 108 ist an eine Steuerleitung 109 angeschlossen, die zu einem Ausgang des Firmware-Steuersystems
führt, und der Eingang A2 der Steuereinheit 108 ist mit einer Steuerleitüng 108a verbunden. Der Unterbrechungseingang A3 der
Steuereinheit 108 ist über den Geräteadapter 14 an eine Steuerleitung
110 angeschlossen. Der Eingang A4 der Steuereinheit ist mit einer Steuerleitüng 108b verbunden, die zu dem Hardware-Steuersystem
führt. Der Ausgang D2 der Steuereinheit 108 ist über eine Steuerleitung 111 an den Eingang A1 der Adapter-Logikeinheit
29 angeschlossen und der Ausgang D3 der Steuereinheit 108
ist mit einer Steuerleitung 112 verbunden, die zu.dem Eingang A1
der Daten-Steuereinheit 113 führt. Der Ausgang D4 der Steuereinheit
108 ist über eine Steuerleitung 70b mit dem Ladeeingang LD
90980770760
des Schieberegisters 70 verbunden und der Ausgang D5 ist an den Eingang A1 der Test-Logikeinheit 102 angeschlossen. Der Ausgang
D6 der Steuereinheit ist mit einer Steuerleitung iO8c verbunden,
die zu dem Hardware-Steuersystem führt.
Von der Firmware erzeugte Taktsignale auf einer Steuerleitung 79b werden dem Takteingang CK des Adreßzähiers 79 zugeführt, und
Firmware-Steuersignale auf einer Steuerleitung 114 v/erden dem
Eingang LD des Zählers zugeführt. Ferner erhält der Auf/Abwärts-Auswahleingang
des Zählers Firmware-Steuersignale über eine Steuerleitung 79b zugeführt. Zwei Ausgangsbits des Zählers werden auf
den Eingang A1 des Selektors 115 geschaltet» Die niedrigrangigen ·
6 Bits am Ausgang des Zählers werden dem Eingang A2 des Zwischenspeichers 81 zugeführt.
Der Eingang A2 des Selektors 115 ist an den Ausgang D2 des Indexregisters
74 angeschlossen, dessen Eingang LD von der Firmware über eine Steuerleitung 74a beaufschlagt wird. Der 3 Bit-Ausgang
des Selektors 115 ist an den Adreßeingang ADDR des Zwischenspeichers
81 angeschlossen, und der Eingang SEL des Selektors erhält Firmware-Steuersignale über eine Steuerleitung 116 zugeführt.
Der Eingang A1 des Zwischenspeichers 81 ist über ein Datenkabel an den 8 Bit-Ausgang D2 der Logikeinheit 83 angeschlossen. Der
Eingang A2 der Logikeinheit 83 ist mit dem Ausgang D1 der FIFO-Datenpuffereinheit
118 verbunden und der Eingang A3 der Logikeinheit 83 ist an den Ausgang D2 der Puffereinheit 11.8 angeschlossen. Der Ladeeingang LD des Registers wird von der Hardware
über eine Steuerleitung 82a gesteuert. Der Ausgang des Registers
ist ferner an Datenkabel 139 und 140 angeschlossen.
von
Der Eingang LD des Sammelkanal-Datenregisters 100 wird/der Daten-Steuereinheit
113 über eine Steuerleitung 121 beaufschlagt. Der Ausgang des Registers 100 wird dem Eingang A2 eines 2 zu 1-
909807/0780
Datenmultiplexers 122 zugeführt. Der 16 Bit-Eingang A1 des Multiplexers wird von dem SHRD-Register 9 8 geliefert, dessen
Eingang LD über eine Steuerleitung 98a an die Daten-Steuereinheit 113 angeschlossen ist. Der Ausgang des Multiplexers ist
über ein 16 Bit-Datenkabel 123 an den Sammelkanal 13 angeschlossen .
Hinsichtlich der Test-Logikeinheit 102 wird ein Statussignal an deren Eingang A2 durch das Firmware-Steuersystem über eine
Steuerleitung 124 angelegt. Die Sammelschienen-Logikeinheit 128 liefert ferner ein Statussignal über eine Steuerleitung 102a an
den Eingang A3 der Logikeinheit 102 und die Steuereinheit 77
liefert ein Bereichsendesignal an den Eingang A4 der Logikeinheit
über eine Steuerleitung 102b. Der Eingang A5 der Logikeinheit
102 ist mit einer Steuerleitung 125 verbunden, die Unterbrechungssignale von dem Ausgang D1 des Geräteadapters 14 führt.
Die Test-Logikeinheit liefert ein Steuersignal an eine Steuerleitung 126/ die zu einem noch weiter zu beschreibenden Firmware-Steuersystem
führt.
Die Adapter-Logikeinheit 29 empfängt ebenfalls ein Firmwaresignal auf einer mit ihrem Eingang A2 verbundenen Steuerleitung 127.
Der Ausgang der Logikeinheit wird dem Eingang A1 des Geräteadapters 14 zugeführt. Eine Steuerleitung 29a ist zwischen den Ausgang
der Logikeinheit und den Eingang A5 der Daten-Steuereinheit 113 geschaltet und mit einer Steuerleitung 118b verbunden, die
zu dem Parallelübertragungseingang TOP der FIFO-Datenpuffereinheit
118 führt.
Gemäß Fig. 5 ist der Sammelkanal 13 über ein Zweirichtungs-Datenkabel
129 an die Sammelkanal-Logikeinheit 128 angeschlossen. Der Eingang A2 der Logikeinheit 128 ist über ein Datenkabel 103 mit
dem Ausgang des Akkumulators 75 verbunden, und der Eingang A3 der Logikeinheit ist an eine Steuerleitung 130 angeschlossen, die zu
einem Ausgang des Firmware-Steuersystems führt. Der Eingang A4
9Ö9807/0760
der Logikeinheit 128 ist mit dem Ausgang D1 der Steuereinheit verbunden, und der Eingang A5 der Logikeinhsit ist an den Ausgang
D1 der FIFO-Puffereinheit 131 angeschlossen. Der Eingang A6 der
Logikeinheit liegt über eine Steuerleitung 128a an dem Hardware-Steuersystem.
Der Ausgang D1 der Logikeinheit 128 ist an ein Datenkabel 88 angeschlossen und der Ausgang D2 ist mit einer
Steuerleitung 132 verbunden, die zu dem Auswahleingang SEL des Datenmultiplexers 122 führt. Der Ausgang D3 der Logikeinheit ist
mit dem Eingang A2 der Daten-Steuereinheit 113 verbunden, und
der Ausgang D4 ist an den Eingang Al der FIFO-Puffereinheit 131
angeschlossen. Der Ausgang D5 der Logikeinheit 128 ist mit dem Auswahleingang SEL eines dualen 2 zu 1-Adressenmultiplexers 133
verbunden, und der Ausgang D6 der Logikeinheit ist an eine Steuerleitung 102a angeschlossen.
Der Eingang A2 der FIFO-Puffereinheit 131 ist mit dem Ausgang D1
der Steuereinheit 113 verbunden, und der Ausgang D2 der FIFO-Puf fereinheit ist an den Eingang A3 der Steuereinheit 113 angeschlossen.
Der Eingang A4 der Steuereinheit 113 ist mit einem Ausgang des Firmware-Steuersystems über eine Steuerleitung 134
verbunden, und der Eingang A5 der Steuereinheit ist an eine Leitung 29a angeschlossen. Der Ausgang D2 der Steuereinheit ist mit
einer Steuerleitung 121 verbunden, und der Ausgang D3 ist über eine Steuerleitung 135 an einen Steuereingang CTR der FIFO-Daten-Puffereinheit
118 angeschlossen. Der Ausgang D4 der Daten-Steuereinheit 113 ist an den Eingang A1 der Steuereinheit 77 gelegt,
und der Ausgang D5 ist an eine Steuerleitung 98a angeschlossen, die zu dem Ladeeingang LD des Registers 98 führt.
Der Eingang A2 der Steuereinheit 77 ist mit dem Ausgang D1 eines Samitielkanal-Adreßregisters 136 verbunden, und der Eingang A3 der
Steuereinheit ist über eine Steuerleitung 137 an einen Ausgang des Firmware-Steuersystems angeschlossen. Der Ausgang D2 der
Steuereinheit 77 ist mit einem Datenkabel 76 verbunden, das zu einem Eingang des Multiplexers AMUX-72 führt. Der Ausgang D3 der
Steuereinheit 77 liegt an einer Steuerleitung 77a, die zu dem
9Ö9807/0760
Eingang A3 des Geräteadapters 14 führt, und an einer Steuerleitung
102b/ die zu dem Eingang A4 der zuvor beschriebenen Test™
Logikeinheit 102 führt. : . · .·"·■■
Das Sammelkanal-Adreßregister 136 besteht aus einem 24 Bit-Aufwärtssähler,
der so gesteuert sein" kann, daß er entweder Bytes oder Worte zählt, wobei ein Wort aus zwei Bytes besteht. Der
8 Bit-Ausgang D1 der Einheit 136 wird ferner dem Eingang B1 des
Adressenmultiplexers 133 zugeführt, und der 8 Bit-Ausgang D2 der
Einheit 136 ist mit dem Eingang B2 des Multiplexers 133 verbunden. Der 8 Bit-Ausgang D3 der Einheit 136 wird über ein Datenkabel.138
dem Sammelkanal 13 zugeführt. Der Ladeeingang LD des Registers 136 wird von der Firmware über eine Steuerleitung 136a angesteuert.
Die 8 Bit-Eingänge A1 und A2 des Adressenmultiplexers 133 sind über Datenkabel 139 und 140 an das Datenregister 82 angeschlossen.
Im Betrieb bildet die Steuerung MPDC-IO eine Schnittstelle mit
dem Plattenadapter 14, der seinerseits mehrere Platteneinheiten bedienen kann, wie dies in Fig. 1 dargestellt ist.
Wenn eine ungebetene S arnmelkanalanf orderung vcn dem Sammelkanal
13 aufgenommen wird, so gibt die Sammelkanal-Logikeinheit 128 ein
Signal auf der Leitung 102a aus, die zu der Test-Logikeinheit führt. Ferner wird eine Anforderung hinsichtlich des Geräteadapters
14 durch ein Unterbrechungssignal auf der Steuerleitung angezeigt. Die Logikeinheit vermerkt hierbei, ob eine Geräteadapteranforderung
oder eine Sammelkanalanforderung zu bedienen ist. Die Test-Logikeinheit 102 zeigt, daraufhin über ein Signal
auf der Steuerleitung 125 der Firmware an, welche Mikrobefehlsfolge zu bearbeiten ist. Für den Fall, daß eine Anforderung an
eine Platteneinheit gerichtet ist, die bereits mit der Bearbeitung
einer Aufgabe befaßt ist, gibt die Sammelkanai-Logikeinheit 128
909807/0760
ein Niciitbestätigungs (NAK) -Statussignal an den Sammelkanal 13
aus, der sich unter einer System-Hardwaresteuerung befindet. Wenn
eine Platteneinheit adressiert wird, die gegenwärtig nicht mit der Bearbeitung einer Aufgabe befaßt ist, die Steuerung MPDC jedoch
gegenwärtig mit der Bearbeitung einer vorhergehenden Aufgabe t betreffend eine zweite Platteneinheit, beschäftigt ist, so
kann die Logikeinheit 128 ein Warte-Statussignal an den Sarnmelkanal
13 ausgeben. Wenn die adressierte Platteneiniieit nicht belegt
ist und die Steuerung MPDC während der Bearbeitung einer vorausgehenden Aufgabe nicht mit der Bedienung der Einheit befaßt
ist, so wird ein Bestätigungs (ACK)-Statussignal an den Sammelkanal
13 ausgegeben.
Es ist darauf zu verweisen, daß beim Betrieb der Steuerung MPDC
die Datenwege für eine Datenübertragung durch die mit dem System gemäß den Figuren 4 und 5 zusammenarbeitende Firmware vorbereitet
werden. Die Datenübertragung erfolgt jedoch durch die Hardware/ Firmware-Steuerung des Systems. Eine detaillierte Beschreibung
dieser Hardware kann der US-PS 3.993.981 und den folgenden Honeywell-Handschriften entnommen werden; MPDC Reference Manual,
Doc. No. 71010241-100, Bestellnr, FM55, Rev. O; MPDC Cartridge
Disc Adapter Reference Manual, Doc. No. 71010239-1OO, Bestellnr.
FM57, Rev. O; und MPDC Disc Adapter Reference Manual, Doc. No.
71010441-100, Bestellnr. FK90, Rev. O.
Bei einer Lese- oder einer Schreiboperation liefert die Zentraleinheit
CPU-11 gemäß Fig. 1 anfänglich eine Kanal-Bestimmungsnummer
und einen Funktionscode an das Adreß-Schieberegister 70. Der Inhalt des Schieberegisters wird unter Steuerung durch die
System-Hardware mit einer Bestimmungsnummer verglichen, die durch
Drehschalter eingegeben wird, und bei einer festgestellten Übereinstimmung
bestätigt die Sammelkanal-Logikeinheit 128 dem Sammelkanal
13 die Übereinstimmung. Wie zuvor beschrieben, kann die Bestätigung einen Warte-, einen Nicht-Annahme (NAK)- oder einen
909807/0760
Annahme (ACK)-Status betreffen. Wenn eine ACK-Bestätigung durch
die Logikeinheit 128 an den Sammelkanal 13 ausgegeben wird, so gibt die Logikeinheit zusätzlich ein Belegtsignal an den Sainmelkanal
13 aus, um nachfolgende Sammelkanalanforderungen in einen
Wartestatus zu setzen. Die System-Hardware steuert danach die Datenübertragung zwischen dem Sammelkanal 13 und der Steuerung
MPDC-IO.
Um Mittel zur Steuerung des Betriebs der Platteneinhe'it während
einer Lese- oder einer Schreiboperation vorzusehen, liefert die Zentraleinheit CPü-11 ferner ein Konfigurationswort A an den
Sammelkanal 13, das unter Hardwaresteuerung in das Hardwareregister 82 und das Adreß-Schieberegister 70 geladen wird. Bei
Vervollständigung der Ladeoperation gibt die System-Hardware ein ACK-Signal an den Sammelkanal 13 aus, welchem ein Belegtsigna],
folgt. Die Firmware fühlt das Belegtsignal ab und steuert die Übertragung der Daten in dem Adreß-Schieberegister 70 und dem
Datenregister 82 über die arithmetische Einheit 85 zwecks Speicherung
in dem Zwischenspeicher 81. Wenn die Firmware die Speicheroperation
vervollständigt hat, so signalisiert sie dies der System-Hardware, die sodann das Laden des Adreß- und Datenregisters
mit einem Konfigurationswort B steuert. Das Konfigurationswort B wird sodann unter Firmwaresteuerung in den Zwischenspeicher
geladen und der Prozeß wird wiederholt, um der Reihe nach, eine Hauptspeicheradresse, einen Bereichszählstand, eine
Aufgabe und eine Statusanforderung zu erhalten. Wenn die Aufgabe in das Datenregister 82 geladen und in dem Zwischenspeicher 81
gespeichert ist, so wird sie unter Firmwaresteuerung bearbeitet. Bei Vervollständigung der Aufgabenbearbeitung wird der Funktionscode abgefragt, um das Vorliegen von Statusanforderungen festzustellen,
die beachtet werden können.
Bei der Speicheroperation fühlt die Firmware den Funktionscode ab,
um die Zwischenspeicheradresse festzustellen, unter der Information von dem Datenregister 82 zu speichern ist. Ferner ist die
Firmware in der Lage, durch Abfragen des Funktionscodes zwischen
909807/0760
.Datenformaten zu unterscheiden. Ein Funktionscode von hexadezimal
07 zeigt an, daß eine Aufgabe in den Zwischenspeicher geladen worden ist, ein Funktionscode von hexadezimal 1 1 legt
ein Konfigurationsvrort A fest und ein Funkticnscode von hexadezimal 1 3 legt ein Konfigurationswort B fest. Ferner legt ein
Funktionscode von hexadezimal 0 D einen Bereichszählstand ( zu übertragende Datenbytes) fest. Es ist zu vermerken, daß die Konfigurationsworte
A und B, die Aufgabe und der Bereich Formate aufweisen, wie sie durch, das Datenfeld des E/A-Ausgabe-Anweisungswortes
gemäß Fig. 3a dargestellt sind. Eine Hauptspeicher-Adresseneingabe besteht jedoch aus der Modulnummer und den Adreßfeldern,
wie dies durch das E/A-LD-Ausgabe-Anweisungswort gemäß Fig. 3a veranschaulicht ist.
Während einer Leseoperation, bei der Daten von einer Platteneinheit
gelesen und im Hauptspeicher 12 gespeichert werden, lädt die System-Hardware die hochrangigen Bits einer Hauptspeicheradresse,
einen Funktionscode und eine Kanal-Bestimmungsnummer von dem Sammelkanal 13 in das Adreß-Schieberegister 70 und lädt
die niedrigrangigen Bits der Hauptspeieheradresse, einen Bereich
oder eine Aufgabe in das Datenregister .82. Unter Firmwaresteuerung wird die in dem Adreß-Schieberegister 70 befindliche Information
durch den Multiplexer AMUX-72 und die ODER-Logikeinheit
zu dem Eingang A1 der arithmetischen Einheit 85 getaktet. Ferner gibt in Abhängigkeit von einer Firmwareanweisung auf der Leitung
106 die arithmetische Steuereinheit 91 einen Modus an die arithmetische Einheit 85 aus, um den Eingang A1 auszuwählen. Der Eingang
A1 der arithmetischen Einheit wird daraufhin dem Eingang des Zwischenspeicher-Adressenzählers'79 zugeführt und in den Adreßzähler
unter einer über die Steuerleitung 114 gelieferten
Firmwareanweisung geladen.
Zwei Bit des Ausgangs des Adreß-Schieberegisters auf dem Datenkabel
73 werden dem Eingang A1 des Indexregisters 74 zugeführt, um die Platteneinheit festzulegen, von der die Information zu
909807/0760
.lesen ist. Die zwei Identifizierungsbits werden unter Firmware-Steuerung
über die Steuerleitung 74a in das Indexregister geladen. Der Ausgang des Indexregisters wird dem Selektor 115 ebenso
wie die zwei hochrangigen Bits des Adreßzählers 79 zugeführt.
Die Firmware löst ferner den Adreßzähler 79 aus, indem sie ein
Auf/Abwärts-Signal auf dar Steuerleitung 79a und ein Taktsignal
auf der Steuerleitung 79b ausgibt. Der Zähler wird angewiesen, auf- bzw. abwärts zu zählen mit einer Geschwindigkeit, die durch
das von der Firmware erzeugte Taktsignal vorgegeben ist. Aufgrund der Eingangssignale von dem Indexregister und dem Adreßzähler
adressiert der Selektor 115 den Zwischenspeicher 81. Die in dem Datenregister 82 vorliegenden Daten werden somit unter Firmwaresteuerung
zu der Zwischenspeicheradresse übertragen, die durch den Selektor 115 über einen Datenweg durch den Multiplexer AMüX-.72,
die ODER-Logikeinheit 83 und das Datenkabel 117 angezeigt
wird. Die Konfigurationsworte A und B, eine Hauptspeieheradresse,
ein Bereich, und eine Aufgabe werden hierdurch in den Zwischenspeicher
geladen.
Bei Vervollständigung der Speicheroperation nimmt die Firmware Zugriff auf den Funkticnscode in dem Adreß-Schieberegister'70,
um festzustellen/ ob eine Aufgabe vorgegeben ist. Insbesondere liefert die Firmware einen hexadezimalen Code 0 7 über das Kabel
86 an den Eingang A1 des Multiplexers BMüX-84. Der Multiplexer BMUX wählt den Eingang A1 durch ein Firmware-Steuersignal auf
der Steuerleitung 84a aus. Der hexadezimale Code wird daraufhin
durch die arithmetische Einheit 85 geleitet und in dem Akkumulator
75 gespeichert. Danach wird der Ausgang des Adreßzählers durch den Multiplexer AMUX-72 und die ODER-Logikeinheit 83 zu dem
Eingang A1 der arithmetischen Einheit 85 geleitet. Die arithmetische Einheit vergleicht unter Firmwaresteuerung den Code in
dem Akkumulator 75 mit dem Ausgang des Adreßzählers 79. Wenn eine Übereinstimmung auftritt, so ist eine Aufgabe festgelegt und
die Test-Logikeinheit 102 gibt über die Steuerleitung 126 ein Signal an die Firmware aus, um die Bearbeitung einer nächsten
Mikrobefehlsfolge auszulösen.
909807/0760
Die Sammelkanal-Logikeinheit 128 bringt zusätzlich aufgrund von Firmware-Steuersignalen auf der Leitung 130 den Kanal der adressierten
Platteneinheit in den Belegtzustand. Danach wird jede
weitere Information, die durch den Sammelkanal 13 gesendet wird,
um das Gerät zu adx-essieren, dem die vorliegende Aufgabe zugeordnet
ist, durch ein NAK-Statussignal bestätigt.
Bei der Feststellung des Vorhandenseins einer Aufgabe r nimmt
die Firmware auf die in dem Zwischenspeicher 81 gespeicherte Aufgabe Zugriff und überträgt diese Information über den Multiplexer
AMUX-72 und die ODER-Logikeinheit 83 z\i der arithmetischen Einheit
85. Die arithmetische Einheit 85 und die Test-Logikeinheit 102 testet unter Firmwaresteuerung die Aufgabeninformation, um
die zu bearbeitende Anweisung festzustellen. Beispielsweise kann die Aufgabe anzeigen, daß eine Plattenabsuche, eine Lese- oder
eine Schreiboperation gefordert ist. Die Ergebnisse dieser Tests werden durch die Test-Logikeinheit 102 der Firmware über das
Steuerkabel 126 zugeführt.
Bei einer Schreiboperation,, bei der Daten von dem Hauptspeicher
12 zu lesen und in eine Platteneinheit einzuschreiben sind, gibt die Adapter-Logikeinheit 29 unter Firmwaresteuerung einen Tastimpuls
an den Geräteadapter 14 aus, um einen internen Datenzähler mit einem Zählstand von vier zu laden. Ferner wird die Adapter-Logikeinheit
29 angewiesen, eine Folge von vier Abtastimpulsen auszugeben, um die Konfigurationsworte A und B in einen
Datenpuffer des Gerätes 14 zu laden. Insbesondere wird die Information
unter Firmwaresteuerung von dem Zwischenspeicher 81 durch den Multiplexer BMÜX-84 und die arithmetische Einheit 85·zu den
Datenkabeln 92 und 94 geleitet, die zu dem Geräteadapter 14 führen.
909Ö07/0760
Bevor die Logikeinheit 29 eine Anweisung "Beginne Bearbeitung" an den Geräteadapter 14 ausgibt, muß der Sammelkanal 13 für die
Datenübertragung vorbereitet werden. Die Firmware liefert zwei Leerbytes des Verschiebebereiches an den Multiplexer BMUX-84
über das Kabel 86 und steuert die Übertragung der Bytes durch die arithmetische Einheit 85 und entlang des Datenkabels 9 6 su
dem Sammelkanal-Adreßregister 136. Das Laden des Adreßregisters 136 wird unter Firmwaresteuerung über die Leitung 136a bewerkstelligt.
Die Firmware nimmt sodann Zugriff auf die in dem Zwischenspeicher 81 gespeicherte Bereichsinformation und überträgt
diese Inforamtion über den Multiplexer BMUX-84 und die arithmetische Einheit 85 zu dem Datenkabel 96, das zu dem Sammelkanal-Adreßregister
136 führt. Wenn die Bereichsdaten in das Register 136 geladen werden, werden die Verschiebebereichsdaten zu der
Steuereinheit 77 übertragen. Zwei Bytes der Bereichsdaten werden danach von dem Sammelkanal-Adreßregister 136 in die Steuereinheit
77 unter Firmwaresteuerung übertragen und drei Bytes der Adreßinformation im Zwischenspeicher werden in dem Sammelkanal-Adreßregister
136 gespeichert. Die Steuerung MPDC-IO ist daraufhin bereit, Daten vom Hauptspeicher aufzunehmen, um diese in die festgelegte
Platteneinheit einzuschreiben.
Um eine Datenübertragung auszulösen, nimmt die Firmware Zugriff auf den Zwischenspeicher 81, um die zuvor durch die Zentraleinheit
CPÜ-11 gelieferte MPDC-Kanalnummer zu übertragen, wobei diese
über den Multiplexer BMUX und die arithmetische Einheit 85 in dem Sammelkanal-Datenregister 100 gespeichert wird. Zu diesem
Zeitpunkt befindet sich die Hauptspeicheradresse, unter deV die
Daten anfänglich zu lesen sind, in dem Sammelkanal-Adreßregister 136, und die MPDC-Kanal-Bestimmungsnummer befindet sich in dem
Sammelkanal-Datenregister 100.
909807/0760
Die Firmware liefert ferner Sammelkanal-Logikanweisungen an den
Multiplexer BMUX--Ö4 über das Kabel 86 und speichert diese Anweisungen
in dem Akkumulator 75. Von dem Akkumulator werden die Anweisungen über das Datenkabel 103 an die Sammelkanal-Logikeinheit
128 geliefert. Diese Anweisungen v/eisen in ihrer logischen
Folge die Sammelkanal-Logikeinheit 128 an, eine eine Antwort erfordernde
Anforderung an den Hauptspeicher auszugeben, um zu bestätigen,
daß Daten an die Steuerung MPDC zu liefern sind, um eine Hauptspeicher-Kanalnummer auszugeben, die die Hauptspeichereinheit
als die zu adressierende Systemeinheit identifizieren, ' und um einen Hinweis daraufhin auszugeben, ob sich die Steuerung
MPDC in einem Byte- oder einem Wortmodus befindet.
Im Normalbetrieb geht einer .lese- oder einer Schreibanweisung
immer eine Suchanweisung voraus, bei der die Firmware die Adaptereinheit 14 zur Positionierung der Lese/Schreibköpfe der Platteneinheit
veranlaßt. Zusätzlich wird dem Geräteadapter mitgeteilt, welchen Kopf er auszuwählen hat, der die Information zu lesen
oder zu schreiben hat. Der Geräteadapter 14 vergleicht sodann die Konfigurationsworte A und B mit den von der Platte gelesenen Daten.
Wenn eine Übereinstimmung festgestellt wird, die anzeigt, daß ein festgelegter Datensatz sich in der richtigen Position befindet,
so gibt der Geräteadapter 14 eine Schreibariweisung an
die Platteneinheit aus und beginnt eine Anfangslücke hinsichtlich des Datensatzes zu schreiben. Während dieser Periode gibt der
Geräteadapter 14 ebenfalls eine - Unterbrechung über die Steuerleitung
110 an die Hardware-Steuereinheit 108 aus. Aufgrund dessen
gibt' die Steuereinheit ein Signal an den Eingang A1 der Test-Logikeinheit 102 aus, um der Firmware über das Steuerkabel 126
zu bestätigen, daß die Steuerung von der zuvor beschriebenen System-Hardware übernommen werden soll. Die Firmware gibt daraufhin
eine Freigabe-Hardwareanweisung an die Steuerleitung 109 aus,
und sie gibt ferner Anweisungen über die Steuerleitung 134 an
909807/0760
die Daten-Steuereinheit "Π3 aus, um den Betrieb der FIFO-Puffereinheit
131 bei der Anforderung von Daten vom Speicher zu steuern.
Die FIFO-Einheit 131 nimmt die Verfügbarkeit von Raum in der
FIFO-Dateneinheit 118 beim Empfang von Datenwörtern vom Hauptspeicher
vorweg.. Insbesondere wird jedesmal, wenn die Sammelkanal-Logikeinheit
128 ein Datenwort vom Hauptspeicher anfordert, ein Leerbyte in die FIFO-Einheit 131 geladen. Die Sammelkanal-Logikeinheit
128 fordert danach ein zweites Datenwort nur an, wenn das Leerbyte von dem Eingangsregister der FIFO-Einheit 131
in den FIFO-Stapelgefallen ist. Der Hauptspeicher gibt daraufhin Datenworte über den Sammelkanal 13 an das Datenregister 82 aus.
Wenn die Sammelkanal-Logikeinheit 128 ein Datenwort vom Hauptspeicher
angefordert und dieses Wort akzeptiert hat, so gibt sie ein Signal an den Eingang A2 der Daten-Steuereinheit 113 aus,
Aufgrund dieses Signals gibt die Steuereinheit eine Anweisung auf der Steuerleitung 135 an die FIFO-Dateneinheit 118 aus, um Daten
von dem Datenregister 82 zu speichern. Die zuvor beschriebene Operation wird wiederholt, bis die FIFO-Dateneinheit 118 mit 32
Datenbytes gefüllt ist.
Wenn die FIFO-Dateneinheit gefüllt ist, so gibt sie über die
Steuerleitung 118a ein Signal an die Hardware-Steuereinheit 108
aus. Die Steuereinheit 108 gibt daraufhin ein Abtastsignal über die Steuerleitung 111 an die Adapter-Logikeinheit 29 aus. Die
Logikeinheit 29 gibt ihrerseits einen Abtastimpuls an den Geräteadapter
14 aus, um anzuzeigen, daß ein Datenbyte von der FIFO-Dateneinheit
zu dem Geräteadapter 14 übertragen werden kann. Der
gleiche Abtastimpuls wird über die Steuerleitung 29a und 118b
dem TOP-Anschluß der FIFO-Dateneinheit 118 zugeführt. Die Ausgänge
D1 und D2 der FIFO-Einheit werden.daraufhin über die ODER-Logikeinheit
83 und über die arithmetische Einheit 85 zu dem Geräteadapter 14 über die Kabel 92 und 94 übertragen.
909307/0760
Der Abtastimpuls der Logikeinheit 29 wird ebenfalls über die Steuerleitung 29a der Daten-Steuereinheit 133 zugeführt. Der
Empfang zweier solcher Äbtastimpulse zeigt an, daß ein Zweibyte-Datenwort
von der FIFO-Dateneinheit 118 zu dem Geräteadapter
übertragen worden ist. Die Daten-Steuereinheit 113 gibt daraufhin
ein/an den ElngangA2 der FIFO-Einheit 131^ um ein Leerbyte
aus dem Ausgangsregister des FIFO-Stapels herauszuholen. Das
Eingangsregister der FIFO-Einheit wird hierdurch geleert und gibt ein Signal an die Sammelkanal-Logikeinheit 128 aus, um eine
Anforderung nach einem zusätzlichen Datenwort vom Hauptspeicher auszulösen. Der zuvor beschriebene Prozeß setzt sich fort, bis
die Geräteadaptereinheit 14 anzeigt, daß ein Datensatz geschrie-.ben
worden ist.
Es ist erkennbar, daß der Geräteadapter 14 die Schreiboperation
der Platteneinheit steuert. Wenn die Daten auf der Platte geschrieben werden, so signalisiert der Geräteadapter der ' Test-Logikeinheit
102 über die Steuerleitung 125, mit der Zuführung von Daten aufzuhören, bis die internen Puffer des Geräteadapters
geleert worden sind. Während dieser Periode bestätigt die Test-Logikeinheit 102 dem Firmware-Steuersystem, daß die Steuerung
von der Hardware zu der Firmware übertragen werden kann. Wenn der Geräteadapter 14 bereit ist, zusätzliche Daten aufzunehmen,
so wird der Logikzustand der Steuerleitung 125 geändert. Die Test-Logikeinheit
102 meldet daraufhin der Firmware die Steuerungsrückkehr zu der Hardware zwecks Wiederaufnahme der Datenübertragung.
Dieser Prozeß setzt sich fort, bis eine Datenübertragung vervollständigt ist, was durch einen Bereichszählstand von NuLl
angezeigt wird. . '
Jedesmal, wenn die Sammelkanal-Logikeinheit 128 ein zusätzliches Datenwort anfordert, erniedrigt die Daten-Steuereinheit 113 unter
der System-Hardwaresteuerung den Inhalt der Bereichszähler der Steuereinheit 77 um eins. Nachdem eine Datenanforderung an den
Sammelkanal 13 ausgegeben worden ist, die eine Hauptspeicher-,
adresse umfaßt, und nachdem diese Anforderung durch den Heupt-
909807/0760
speicher 12 angenommen worden ist, erhöht die Steuereinheit 77 den Inhalt des Sammelkanal-Adreßregisters 136 um zwei und erniedrigt
den Zählstand der Bereichszähler um eins.Wenn der Bereichszählstand
abgearbeitet worden ist, so gibt die Bereichs-Steuereinheit 77 ein Bereichsendesignal EOR über die Steuerleitungen
77 a und 102b an den Geräteadapter 14 und die Test-Logikeinheit
102.
Es sei darauf verwiesen, daß das Steuerkabel 125 zwei Unterbrechungsleitungen
enthält. Eine erste Unterbrechungsleitung ist eine Firmware-Anforderungsleitung, um anzuzeigen, daß die Steuerung
zu der Firmware zurückkehren sollte während sich der Geräteadapter 14 zwischen Datensätzen befindet. Die zweite Unterbrechungsleitung
wird benutzt, um der Firmware anzuzeigen, daß keine Daten betreffenden Behandlungsanforderungen behandelt werden können.
Eine solche Aktion zeigt normalerweise an, daß irgendein Fehlertyp in dem Geräteadapter 14 vorliegt.
Wenn das Bereichsendesignal EOR während eines Datensatzes oder am Ende eines Datensatzes auf der Platteneinheit ausgegeben wird,
beendet die Firmware den Schreibbefehl. Wenn das Signal EOR durch den Geräteadapter 14 empfangen wird bevor ein Datensatzende auftritt,
so füllt der Geräteadapter den verbleibenden Teil des Datensatzes mit Leerbytes. Wenn ein Signal EOR nicht auftritt
und kein Geräteadapterfehler durch das Unterbrechungskabel 127
angezeigt vrird, so schreibt die Firmware die Konfigurationsworte
A und B in dem Geräteadapter 14 fort, um auf einen nächsten
logischen Sektor der Platteneinheit zu verweisen.
Figur 6 veranschaulicht ein funktionelles Blockdiagramm eines Firmware-Steuersystems für die Steuerung des Betriebs des in den
Fig. 4 und 5 dargestellten Systems. Der 12 Bit-Ausgang eines
16 Bit-Rückkehrregisters 200 ist an den Eingang A1 eines Selektors •201 angeschlossen. Der 12 Bit-Ausgang des Selektors 201 wird
909807/076 0
seinerseits dem Eingang eines 16 Bit-Mikroprogrammadreßzählers
202 zugeführt, und der 12 Bit-Ausgang des Adreßzählers ist mit dem Eingang eines 4 Kilobit χ 16 Bit-Festwertspeichers ROS-203
verbunden, der Mikrobefehle eines gespeicherten Mikroprogramms aufweist. Der 16 Bit-Ausgang D1 des Festwertspeichers' ROS ist
mit dem Eingang eines 16 Bit-Mikroprogramm-Befehlsregisters verbunden, und der Ausgang D2 des Festwertspeichers ROS ist an den Eingang A3 des Selektors 201 angeschlossen.
mit dem Eingang eines 16 Bit-Mikroprogramm-Befehlsregisters verbunden, und der Ausgang D2 des Festwertspeichers ROS ist an den Eingang A3 des Selektors 201 angeschlossen.
Das Mikroprogramm-Befehlsregister 204 empfängt ferner ein Steuersignal
von der Test-Logikeinheit 102 gemäß Fig. 4 über eine Steuerleitung 126, um das Register zurückzustellen bzw. zu löschen.
Der 16 Bit-Ausgang des Mikroprogramm-Befehlsregisters 204 ist mit dem Eingang eines Decodierer3 205, dem Eingang A1 des Rückkehrregisters 200 und dem Eingang A1 eines Firmware-Verteilers 206 verbunden. Ein 1 Bit-Ausgang des Registers 204 wird dem Ladeeingang LD des Rückkehrregisters 200 zugeführt.
Der 16 Bit-Ausgang des Mikroprogramm-Befehlsregisters 204 ist mit dem Eingang eines Decodierer3 205, dem Eingang A1 des Rückkehrregisters 200 und dem Eingang A1 eines Firmware-Verteilers 206 verbunden. Ein 1 Bit-Ausgang des Registers 204 wird dem Ladeeingang LD des Rückkehrregisters 200 zugeführt.
Der Ausgang Di des Decodierers 205 wird dem Eingang A2 des Selektors
201 zugeführt, und der Ausgang D2 des Decodierers ist mit dem Eingang A2 des Rückkehrregisters 200 verbunden. Ferner wird
der Ausgang D3 des Decodierers 205 dem Eingang A2 des Verteilers 206 zugeführt. Der Ausgang D1 des Verteilers ist an die Steuerleitung
130 angeschlossen, die zu der Sammelkanal-Logikeinheit 128 führt, und der Ausgang D2 ist an die Steuerleitung 134 angeschlossen,
die zu der Daten-Steuereinheit 113 führt. Der Ausgang D3 des Verteilers 208 ist mit der Steuerleitung 127 verbunden,
die an den Eingang A2 der Adapter-Logikeinheit 29 angeschlossen ist, und der Ausgang D4 führt zu der Steuerleitung 106, die an
die arithmetische Steuereinheit 91 angeschlossen ist. Der Ausgang D5 wird der Steuerleitung 109 zugeführt, die an den Eingang A1
der Hardware-Steuereinheit 108 angeschlossen ist, und der Ausgang D6 ist an die Leitung 137 angeschlossen, die zu dem Eingang A3
909807/0760
der Steuereinheit 77 führt. Der Ausgang D7 ist mit dem Steuerkäbel
86 verbunden, und der Ausgang D8 ist an die Steuerleitung 114 angelegt, die Ladeanweisungen dem Zähler 79 zuführt. Der Ausgang
D9 liegt an der Steuerleitung 116, und der Ausgang DiO ist mit der Steuerleitung 124 verbunden. Der Ausgang D11 liegt an
der Steuerleitung 70b, der Ausgang D12 an der Steuerleitung 72a
und der Ausgang D13 an der Steuerleitung 84a. Die Ausgänge D14,
D15 und D16 liegen an den Steuerleitungen 75a, 74a und 79a. Die
Ausgänge D17 und D18 sind mit den Steuerleitungen 79b und 136a
verbunden. Der Ausgang D19 des Verteilers 206 wird dem Ladeeingang
LD des Zählers 202 zugeführt, dessen Takteingang von der System-Hardware über die Steuerleitung 207 geliefert wird.
Die Steuerleitung 207 ist ferner an den Eingang LD des Registers 204 angeschlossen.
Die in dem Festwertspeicher ROS-203 gespeicherten 16 Bit-Firmwareanweisungen
sind in 4 Felder unterteilt: den Operationscode, die Multiplexerauswahl AMUX-72, die Multiplexerauswahl BMUX-84
und die verschiedenen Felder. Die Firmwareanweisungen sind ferner in sieben Kategorien unterteilt, wobei jede Bitkonfiguration,
für die Ausführung einer bestimmten Operation steht. . Die sieben grundlegenden Kategorien der Firmwareanweisungen sind folgende:
verschiedene Anweisungen, Sammelkanal-Logikanweisungen, ALU-Anweisungen, Konstantwert-Datenanweisungen, Speicheranweisungen,
Testanweisungen und Verzweigungsanweisungen. Jede der Firmwarekategorien ist durch einen bestimmten Operationscode
festgelegt, der sich aus einer binären Decodierung der Bits 0, 1 und 2 des Festwertspeichers ROS-203 ergibt.
Im Betrieb wird der Mikroprogramm-Adreßzähler 202 von dem Selektor
201 unter Firmwafesteuerung geladen und danach durch Steuersignale
auf der Leitung 207 durch das Hardwaresystem getaktet. Die Ausgangssignale des Adreßzählers adressieren den Festwertspeicher
ROS-203, der daraufhin Mikrobefehle an das Befehlsregister
204 liefert. Das Register 204 lädt die Mikrobefehle unter Hardwaresteuerung und liefert die Mikrobefehl-Bitkonfiguration an
: · 909807/0760
den Decodierer 205, den Verteiler 206 und das Rückkehrregister
200.
Die Reihenfolge, in der die in dem Festwertspeicher ROS-203 gespeicherten
Mikrobefehlsfolgen bearbeitet werden, kann auf verschiedene Weise gesteuert werden. Die Test-Logikeinheit 102 kann
ein Rückstellsignal ausgeben, das in dem Befehlsregister 204 den Auftritt eines Befehls "keine Operation" hervorruft. Das Befehlsregister
läßt daraufhin den laufenden Befehl in dem Register aus und fährt mit dem nächsten auftretenden Befehl fort ο Andererseits
kann der Adreßzähler 202 mit einer Mikrobefehlsadresse geladen werden, die durch den Festwertspeicher ROS-203 und das Register
200 gebildet wird. Das Firmware-Steuersystem gemäß Fig. 6 bietet somit eine beachtliche Vielseitigkeit bei der Ausführung von
Mikroprogrammen.
Da jeder in dem Festwertspeicher ROS-203 adressierte Mikrobefehl
in das Register 204 geladen wird, werden die Befehls-Bitkonfiguration und ein Binärcode vom Decodierer 205, der die Befehlskategorie
festlegt, dem Verteiler 206 zugeführt. Aufgrund dessen legt der Verteiler Firmware-Steuersignale an das System gemäß
den Figuren 4 und 5, wie dies zuvor beschrieben wurde.
Das in dem Festwertspeicher ROS-203 gespeicherte Mikroprogramm
ist in seiner Gesamtheit im Anhang beigefügt.
Die Arbeitsweise des Decodierers 205 und des Firmware-Verteilers 206 können unter Bezugnahme auf die Tabellen A-K besser verr
standen werden. Die Operationscodes sind in Tabelle A definiert, die einen Hinweis auf eine der Tabellen B-K liefert. Beispielsweise
bezieht sich der Operationscode 0 0 0 auf die verschiedenen Anweisungen der Tabelle B. Der Operationscode von 0 10
bezieht sich auf die Tabelle C, der Operationscode von 0 11 auf
die Tabelle D, der Operationscode 1 0 0 auf die Tabelle E und der Operationscode 1.0 1 auf die Tabelle F. Ferner beziehen sich
der Operationscode 110 auf die Tabelle G und der Operationscode
1 1 1 auf die Tabelle I.
§09807/0780
Op.code " Befehle
O | O | Mikrobefehle | |
0 | O | 1 | verschiedene |
0 | 1 | O | reserv. f. Benutzer |
O | 1 | 1 | Saeelschienen-Logik |
θ | O | 0 | Recheneinheit (ALU) |
1 | 1 | O | Konstanten |
1 | 1 | 1 | Test |
1 | Verzweigung | ||
Operation | BinSrwert | Hnemonisch | HEX-Code |
Keine Operation Anweisung löschen Fehler-FF's setzen Hardware-Datenweg freigeben Hardware-Datenweg sperren Diagnoseniodus rückstellen Diagnosercodus setzen Halt RFU FF's und Register löschen Ger3teadapter rückstellen QLT setzen (BLT erfolgt) Samraelsch.-BestStigung setzen RFU Leseweg freigeben Schreibweg freigeben |
0000000000000000 0001000000000000 0000100000000000 0000011000000000 0000001000000000 0000000010000000 0000000 110000000 0000000001000000 0000000000100000 0000000010010000 000000 0 0 10001000 0000000000000100 0000000000000010 0000000000000001 0000011000000000 0000 0 11000000001 |
ROP CLR SEF EHP DHP RSD STD HLT CRF RDA QLT SBA ERP EWP |
00 00 1000 0 8 0 0 0 60 0 0 200 0 0 80 0 180 00 Ί0 00 20 00 10 000 8 000Ί 000 2 0001 0 600 060 1 |
909807/076
SairiTielschiene-Logil-enweisungen
Operation | Binarwert | Hrveiiioni sei! | HEX-Cod3 |
AoVessztihler erhöhen Status röckstellen Bereichszoiiler erniedrigen Zyklus Kanal-Bereitschaft setzen Kanal-Bereitschaft zurückstellen Register-Belegt setzen Register-Belegt zurückstellen Unterbr.verriegelimg rückstellen Sammelschiene iSschen |
0100000100000000 0100000010000000 0100000001000000 0 10 A1A2A3O 00010000Ao 0100000000011000 0100000000010000 0 100000000000 100 01Ö0000000000010 0100000000000001 0100000010000110 |
IAC RST DRC CYC SCR RCR SRB ViPB RIL CLB |
Ί 1 0 0 Ί 0 8 0 Ί 0 Ί 0 ΊΟ 1 8 Ί 0 1 0 Ί C 0 Ί ΊΟ 0 2 Ί0 0 1 Ί 0 8 6 |
A0 A-j Ä2 A3 = Wähle AOP-Hultiple;:er~Eing. aus»
Operation | Binärwort | Mnemonisch | HEX-Cöde |
AQP-Negierung BGP-Hegierimg ALU-Nullstellung AOP-iibertrsgung BOP-Öbertragung NOR A nit B RAND A nsit B XOR A mit B XNOR A mit 8 UND A mit B ODER A mit ß AOP plus 1. AOP nines 1 Subtrahiere B von A Addiere A zu B AOP-Linksverschiebung Übertrag-Eingabe Ergebnisspeicherung in AOP |
0 1 1 A1 A2 A3 B0 B1 C S 0 0 0 0 1 A0 0 1 1 A1 A2 A3 B0 B1 C S 0 1 0 1 1 A0 O 1 1 A1 Ä2 A3 B0 B1 C S 0 0 1 1 1 A0 0 1 1 A1 A2 A5 B0 B-, C S 1 1 1 1 1 A0 0 1 1 A1 A2 A3 B0 B1 C S 1 0 1 0 1 A0 0 1 1 A1 A2 A5 B0 B1 C S 0 0 0 1 1 A0 0 1 1 A1 A2 A3 B0 B1 C S 0 1 O 0 1 A0 0 1 1 A1 A2 A5 B0 B1 C S 0 1 1 O 1 A0 0 1 1 A1 A2 A3 B0 B1 C S 1 0 0 1 1 A0 0 1 1 A1 A2 A5 B0 B1 C S 1 0 1 1 1 A0 0 1 1 A1 A2 A5 B0 B1 C S 1 1 1 0 1 A0 0 1 1 A1 A2 A3 B0 B1 C S O 0 0 0 0 A0 O 1 1 A1 A2 A5 B0 B1 C S 1 1 1 1 O A0 0 1 1 A1 A2 A3 B0 B1 C S 0 1 1 O 0 A0 O 1 1 A1 A2 A3 B0 B-, C S 1 0 O 1 0 A0 0 1 1 A1 A2 A3 B0 B1 C S 1 1 O 0 O A0 0 1 1 A-, A2 A5 B0 B1 1 S X X X X X A0 0 1 1 A1 A2 A4 B0 B1 C 1 X X X X X A0 |
ANT BNT ZER XFA XFB HOR HND XOR XRR AND CSR INC DEC SUB ADD LSH COTI SRIA |
Ν/Α Ν/Α Ν/Α Ν/Α Η/Α Ν/Α Η/Α Ν/Α Η/Α Ν/Α Ν/Α Ν/Α Ν/Α Η/Α Ν/Α Ν/Α Ν/Α Η/Α |
A2 A3 a AOP-Register ausgewählt
B0 B1 η. BOP-Registsr ausgewählt
9Ö9807/07S0
Konstanten-Anweisungen
831684
Operation | Binärwort | 100 A1 1 0 0 A1 1 0 O A1 |
A2 Aj C C Ag Aj C C Ag Aj C C |
CCCO CCCO C C C1 |
COCC C 1 C C COCC |
Mneraonisch | KEX-Code |
Lade Konstante in AOP ÜND-VerknUpf. von /OP mit Konstante ODER-Verhntlpf. von AOP mit Konstante |
LCH . ACN OCii |
N/A N/A K/A |
A1 Ag Aj = AOP-Register gewählt
C = Wert der Konstanten
Operation | BinSrwert | - Mnemonisch | HEX-Cods |
Speicher schreiben SP-Adresse erhöhen SP-Adresse erniedrigen Spsicher schreiben und erhöhen Speicher schreiben und erniedrigen SP-Testmodus setzen RFU Anford. Kanal ladsn Index-Register rait AOP laden Falsche Modul-ParitSt setzen RFU |
10 1.A1 A2Aj 1 0 0 0 OO 0 0 0 A0 10 100 0 0100000000 1010 0 0000000 1000 1 0 1 A1 A2 Aj 1 1 0 0 0 0 0 0 0 A0 1 0 1 A1 A2 Aj 1 0 0 O 0 0 1 0 0 A0 1010 0 0 00100000 0 0 1010 0 0 0 00100 0000 1010 0 0 000010 0000 1 O 1 A1 A2 Aj 0 0 0 0 1 1 0 0 0 A0 1010 0 0 0000100100 1010 O 0 000 0000010 |
MOT IHA WA WIA WDA SPT LRC LIR HSP |
N/A AIOO A008 N/A N/A A08O MhQ Λ020 N/A ΑΟΟΊ AQ02 |
Operation | Binarwert | 1 10 A1 1 1 0 A1 1100 |
Ag Aj 0 0 Ag Aj 0 0 0 0 10 |
01 TT 10 T T OOOÜ |
TTTA0 T T T A0 0 0 0 0 |
Mnenonisch | HEX-Code |
Test auf Null Test auf Eins Rückkehr |
TFZ TFO KTN |
N/A N/A C200 |
909807/0780
831684
Mneiaoniscl) | Funktion | ffiX-Coa'e | I __— Beschreibung |
TAHR | HDTSRQtOO | OO | Adapter-Hardware-Anforderung |
TBCA | SHaco[«;o | C1 | SairniDlsch.zykluc aktiv |
TRSP | BSRSVP+30 | 02 | Sasiaelsch.-Antwart gefcrdsrt |
TEQ?. | ALUEOZ-iOO | 05 | ALb-A^sg-ong gleich CO |
TEQF | ALÜEGi+QO | Ot | ALU-Ausgang gleich FF |
TCOT | ALUCOT+00 | 05 | ALü-übcrtrag |
TREQ | CREREO+OÜ | 06 | Kanal-Anforderung |
TACK | ACKRSP+OO | 07 | Ssisiislschi-Bestät. sntwort |
TAXO | ALUAXO-OO | OS | AOP tiultiplexer, Bit 0 |
TAXI | 09 | ||
TAX2 | OA | ||
TAX? | OB | ||
IKk | OC | ||
TAX5 | 1 | OD | |
TAX6 | 2 | 'OE | Bit 1 |
TAX7 | 3 | OF | Bit 2 |
TGRZ | h | 10 | Bit 3 |
TRGZ | V 5 | 11 | Bit h |
TSßS | 6 | 12 | Bit 5 |
TSAH | ALUAX7-00 | 13 | l? Bit 6 |
TADB | ORCÄR3--00 | 1J1 | AOP Multiplexer, Bit 7 |
TItOR | EOR(XXX)^)O | 15 | Verschisbeberoich fiull |
TORH | SPSOBS+00 | 'ώ | Bereich Hull |
TDCN | SPAWRP+CO | 17 | Einzel-Syte gespeichert |
IBSY | BUSY(XX)+OO | 18 | SP-Adresso zykl. verschoben |
TUBR | KDTSRQ+Oö | 19 | Adapter bslcgt |
TIIiT | OFRNGZ=OO | 1Λ | Keine Daten-Sehandl.-Anforderiing |
TNAK | HYDCNK-OO | ΊΒ | Verschiebebereicfr-Stsnradaten |
TBYT | BDRBSV+OO | 1C | »ff-Datenzyklus |
TATr | UBRO(XX)+OO | 10 | Sairnnslseh.-Datenreg«. belegt |
TSBR | RESINT-jOO | 1E | Ungebetene Sammelschr-Anforderung |
TFDR | f!AKRSP-*O0 | IF | WedsreufnahmsUnterbrerhung |
GSAD23+00 | KAK-Antvjort | ||
BSPYCK+OO | Byte-M?dus | ||
KOHTRO+OO | Saisrnelsch.-Paritatsprllfung | ||
FDTSRO+OO | Keine Puffer-Anforderung | ||
FirinviEre-Daten-Behsndl.sr.ford. |
Oparation | BinSrwsrt | AAAA AAAA |
AAAA AAAA |
AAAA A AA A |
MneiTionisch | KEX-Code |
Geh zu Lade Rückkehr |
1111 1110 |
GTO LRA |
FXXX FXXA |
A = Vorzweigungs-Adresss
909S07/Ö7S0
Ac | O | A2- | A5 | Aasgew. Register (SRIÄ) * | Mnsßonisch | Ausgawr Register (SRIA) * | Hnemonisch |
O | O | O | O | Akkumulator | AACU | Akkumulator | AACU |
O | O | O | 1 | Zwischenspeicher | ASPH | Zwischenspeici'.er __ | ASfM |
O | O | 1 | O | Zwischenspeicher-Adresse | ASPA | Zwischenspeicher-Adresse (indiziert) | ASPA |
O | 1 | 1 | 1 | Index-Register | AIDX | Zwischenspeicher-Adresse (indiziert) | ASPA1 |
O | 1 | O | O | Adapter Daten-Register | AADO | Adapter Daten-Register | AADO . |
O | 1 | O | 1 | Adapter Gerat ID | AAD1 | Adapter Datcn-ZShler | AADI |
O | 1 | 1 | O | Adapter Status 1 | AADZ | Adapter Anweisungs-ßegister | AAD2 |
O | O | 1 | 1 | . Adapter Status 2 | AAD3 | Adaptereinhait-Ausvshl | AAD3 |
1 | O | O | O | Saeelsch.-Adresssusgabe | ABUS1 | Saiiinielsch.-Registereingabo | ABÜS1 |
1 | O | O | 1 | Saeölsch.-Oatensusgabe 1 | ABUS2 | Sarriiiielsch.-Dateneingabe 1 | ABUS2 |
1 | O | 1 | O | Ssiiitnelsch.-Datenausgabe 2 | ABUS3 | Sseelsch.-Dateneingabe 2 | ABUS3 |
1 | 1 | 1 | 1 | Ss-iimelsch.-Bereichsausgabe | ABUS1J | Samiielsch^-Adresseitig&be | ABUS1I |
1 | 1 | O | O | Adapter RFU | AAD't | Adapter»Indexz?hlstand rückstellen | AAD^t |
1 | 1 | O | 1 | Adapter RFU | ÄAD5 | Adapterstatus I FIFO löschen | AAD5 |
1 | 1 | 1 | O | Adapter RFU | AAD6 | Adspter-Suchiüipuls | AAD6 |
1 | 1 | 1 | Adapter RFU | AAD7 | Adspter-Datenbyte aufgsnomniön | AAD7 | |
B0B1 | Ausgewählter Dateneingang | Knenionisch |
0 0 | Akkumulator | BACU |
0 1 | Zwischenspeicher | BSPH |
1 G | Saranelsch.-Stetus: | BBST |
0-3 (Hüllen) | ||
4 Geibsnzeige | ||
5 HAK | ||
6 Paritatsfehler | ||
7 Rotanzeigo | ||
1 1 | BOP Konstante |
909807/0760
Die Befehle der Tabellen C-G und I umfassen Α-Felder, bestehend
aus den Bits AQ - A3. Jedes der Α-Felder bezieht sich auf Register,
die Daten an den Multiplexer AMUX-72 gemäß Fig. 4 liefern. Die Tabelle D umfaßt ferner Befehle mit einem B-Feld, bestehend aus
den Bits BQ und B5. Das B-Feld wird durch die Tabelle K definiert,
wobei angezeigt wird, daß der Multiplexer BMÜX für den Akkumulator 75, den Zwischenspeicher 81, die Sammelkanal-Logikeinheit
128 über ein Kabel 88 für Sammelkanal-Statuseingänge und für das Firmware-Steuersystem über das Kabel 86 für einen konstanten Wert
ausgewählt werden kann. Wenn von der arithmetischen Einheit 85 eine 2 Byte-Arithmetik ausgeführt wird, so wird das C-FeId der
Tabelle D benutzt, um einen Übertragseingang zu liefern, wobei das Ergebnis einer vorangegangenen Operation der arithmetischen
Einheit 85 bei einer nachfolgenden Operation benutzt werden kann. Das F-FeId der Befehle der Tabelle D liefert eine Anweisung r um
das Ergebnis der Operation der arithmetischen Einheit 85 in einem durch das A-FeId festgelegten Register zu speichern. Die verbleibenden
niedrigrangigen Bits der Tabelle D betreffen die Modus-Auswahlbits, um die arithmetische Einheit 85 anzuweisen, die angezeigte
Operation auszuführen.
Die Befehlsgruppe der Tabelle E umfaßt ein C-FeId für Konstantwerte, und die niedrigrangigen Bits der Befehle der Tabelle F
liefern die Tastimpulserzeugung zum Laden der durch das A-FeId festgelegten Register. Die Befehlsgruppe der Tabelle G umfaßt
Testfelder T, die durch die Eintrittsstellen der Tabelle H definiert'
sind. Das A-FeId der Tabelle I bezieht sich auf die Adresse des Mikroprogrammes, zu der eine Übertragung durchzuführen
ist.
Die Tabelle L liefert einen Querverweis zwischen der mnemonischen
Bedeutung der in den Tabellen A-K benutzten Befehle und den Komponenten des Systems, wie es in den Fig. 4-8 beschrieben ist.
909807/0760
2831884
Mikr.ob e.f ehl-Mnernon ik Kar dw.ar e.ger ät
RFU Sammelkanallogik ALU
Akkumulator Zwischenspeicher
Zwischenspeicheradresse
BLT Adreßzähler
Bereichszähler
AOP
BOP
SP-Adresse Speicher Reserviert für Benutzer
Sammelkanal-Logikeinheit 128
Arithmetische Einheit 85( Arithmetische Steuereinheit
91, Akkumulator 75 Akkumulator 75
Zwischenspeichereinheit 81
Zwis chenspei cher-Adreßzähler 79
Sammelkanal-Logiktests Sammelkanal-Adreßzähler 300, 302 und
Bereichszäh1er 306-309 Multiplexer AMUX-72
Multiplexer BMUX-84 Zwischenspeicher-Adreßzähler Zwischenspeichereinheit
81
909807/0780
Fig. 7 zeigt ein detaillierteres Blockdiagroirsm der Bereichs- .
und Verschiebe-Steuereinheit 77, des Adresseranultiplexers 133
und des Sammelkanal "-Adreßregisters 136., Ein Sammalkanal-Ädreßzähler
300 empfängt Daten von der arithmetischen Einheit 85 auf einem 8 Bit-Datenkabel 96 und Ladeanweisungen von der Firmware
auf der Steuerleitung 136a. Der Takteingang des Zählers 300 ist mit dem Takteingang eines Sammelkanal-Adreßzählers 302, dem Takt"
eingang eines Sammelkanal-Adreßzählers 303 und dem Ausgang einer
Adreß-Taktlogikeinheit 304 verbunden. Der 8 Bit-Ausgang des Zählers
300 wird über ein Datenkabel 305 dem Sammelkanal 13 und dem Dateneingang des Zählers 302 zugeführt.
In dem bevorzugten hier beschriebenen Ausführungsbeispiel bilden die Adreßzähler 300, 302 und 303 einen' 24 Bit-Speicheradreß-Aufwärtszählerc
Der Ladeeingang des Zählers 302 ist mit der Steuerleitung 136a und den Ladeeingängen des Zählers 303, eines BereichsZählers 306,
eines Bereichszählers 307, eines Verschiebebereichszähiers 308 und eines Verschiebebereichszähiers 309 verbunden. Die Zähler
und 307 bilden einen 16 Bit-Bereichs-Abwärtszähler und die Zähler
308 und 309 bilden ein 16 Bit-Verschiebebereichs-Abwärtszähler.
Der 8 Bit-Ausgang des Zählers 302 wird dem Eingang A1 eines Adressenmultiplexers
310 und dem Dateneingang des Zählers 303 zugeführt. Der 8 Bit-Ausgang des Zählers 303 wird dem Eingang A1
eines Adressenmultiplexers 311 und dem Dateneingang des Bereichszählers 306 zugeführt.
Der Adressenmultiplexer 310 erhält an seinem Eingang A2 Daten von dem Datenregister 82 gemäß Fig. 4 über ein Kabel 139 zugeführt.
Der 8 Bit-Ausgang des Multiplexers wird einem Datenkabel
312 zugeführt, das zu dem Sammelkanal 13 führt. Der Auswahleingang
SEL des Multiplexers 310 wird von der Sammelkanal-Logikeinheit über eine Steuerleitung 313 beaufschlagt.
909807/0780
.Der Adressenmultipiexer 311 erhält ebenfalls Daten von dem
Datenregister 82 über ein Datenkabel 140 zugeführt/ und er liefert
8 Datenbits an ein Datenkabel 314, das zu dem Sanimelk an al
führt. Der Äuswahleingang SEL des Multiplexers 311 ist mit dem
Auswahl eingang SEL des Multiplexers 310 verbunden.
Der 8" Bit-Ausgang des Bereichszählers 306 ist mit dem Eingang des Bereichszählers 307 verbunden« Der Ausgang des Zählers 307
wird seinerseits dem Eingang des Zählers 308 zugeführt, und der 8 Bit-Ausgang des Zählers 308 ist auf den Eingang des Zählers
geführt. Der 8 Bit-Ausgang des Zählers 309 ist seinerseits an die Steuerleitung 76 angeschlossen, die zu dem Eingang A3 des
Multiplexers AMUX-72 führt,
Die Taktquelle für das System gemäß Fig. 7 bildet ein 4f0 MHz-Oszillator
315, der Taktsignale an die Adreß-Taktlogikeinheit und eine Bereichs-Taktlogikeinheit 316 liefert. Die Logikeinheit
304 empfängt Freigabesignale von der Sammelkanal-Logikeinheit sowie von der Firmware über die Steuerleitungen 317 und 318. Aufgrund
dessen gibt die Logikeinheit 304 Anweisungen an die Zähler 300, 302 und 303 aus, um deren Zählstand zu erhöhen.
Die Bereichs-Taktlogikeinheit 316 empfängt Freigabesignale von der Sammelkanal-Logikeinheit 128 und von der Firmware und der
Datensteuereinheit 113 über die Steuerleitung 319 - 321. Die Steuereinheit 113 liefert ferner ein Verschiebebereichs-Freigabesignal
an den Eingang EN4 der Logikeinheit 316. Im freigegebenen
Zustand liefert die Logikeinheit 316 Anweisungen an die Zähler 306 - 307 bzw. die Zähler 308 - 309, um deren Zählstand zu erniedrigen
.
Wenn Daten von einer durch den Geräteadapter 14 gesteuerten Platteneinheit
gelesen oder in diese eingeschrieben werden sollen, so liefert die Zentraleinheit CPU-11 gemäß Fig. 1 eine Kanal-Bestimmungsnumraer
und einen -Funktionscode zu dem Adreß-Schiebe-
9807/0760
register 70 gemäß Fig. 4, wie dies zuvor beschrieben wurde. Die Zentraleinheit CPU-11 liefert ferner Konfigurationsworte A
und B, eine Hauptspeicheradresse, einen Bereichszählstand, einen Verschiebezähistand, eine Aufgabe und eine Statusanforderung an
das Datenregister 82, Die Firmware nimmt Zugriff auf den Funktionscode im Register 70, um die Adresse in dem Zwischenspeicher
81 festzustellen, unter der die Daten des Registers 8?. gespeichert sind.
Die Firmware verschiebt sodann seriell byteweise 7 Datenbytes,
von dem Zwischenspeicher 81 in die Adreßzähler 300, 302 und 303,
die Bereichszähler 306 und 307 und die Verschiebebereichszähler
308 und 309. Bei Beendigung der Ladeoperation befindet sich eine Hauptspeicheradresse in den Adreßzählern 300, 302 und 303, ein
Bereichszählstand in den Zählern 306, 307 und ein Verschiebebereichs
zählstand in den Zählern 308 - 309.
Bei einer Leseoperation, bei der Daten von der Platteneinheit zu lesen und in den Hauptspeicher 12 einzuschreiben sind, liefert,
der Sammelkanal 13 sowohl Daten als auch eine 24 Bit-Adresse an den Hauptspeicher, in den die Daten einzuschreiben sind. Insbesondere
befinden sich die Daten in dem Sammelkanal-Datenregister 100. Wenn ein aus zwei Datenbytes bestehendes Datenwort von der
Steuerung MPDC-IO an den Sammelkanal 13 zu übertragen ist, so
wählt die Sammelkanal-Logikeinheit 128 die Eingänge A1 der Multiplexer 310 und 311 aus. Der Hauptspeichermodul, an den die Daten
zu übertragen sind, wird hierdurch für den Sammelkanal 13 verfügbar. Die Hauptspeicheradresse, unter der die zu übertragenden
Daten einzuschreiben sind, wird daraufhin von den Adreßzählern 300, 302 und 303 über die Kabel 305, 312 und 314 geliefert.
Jedesmal, wenn der Hauptspeicher ein Bestätigungssignal ausgibt und Daten unter der angezeigten Adresse akzeptiert, wird die
Hauptspeicheradresse in den Zählern 300, 302 und 303 um zwei
erhöht.
909807/0760
Während einer Datenübertragung von dem Geräteadapter 14"zu"der
Steuerung MPDC-10 gibt die Daten-Steuereinheit 113 gemäß Fig.'5
jedesmal ein "1"-Signal an die Steuerleitung 322 ab, wenn ein
Datenbyte zu übertragen ist. Die Bereichs-Taktlogikeinheit 316 wird hierdurch freigegeben und erniedrigt den Zählstand der Verschiebebereichszähler
308 und 309." Der Ausgang des Zählers 309 ist über das Kabel 76 an den Multiplexer AMUX-72 und die arithmetische
Einheit 85 gemäß Fig. 4 angeschlossen. Solange der Verschiebebereichszählstand größer als Null ist, werden die Datenbytes
ignoriert und nicht zu dem Sammelkanal 13 übertragen. Wenn der Verschiebebereichszählstand abgearbeitet ist/schaltet jedoch,
die Datenübertragungssteuerung von den Verschiebebereichszählern
zu den Bereichszählern 306 und 307 um. Insbesondere sperrt die
Daten-Steuereinheit 113 den'Eingang EN4"der Logikeinheit 316
und gibt danach Freigabesignale an den Eingang EN3 der Logikein-heit über die Steuerleitung 321 aus. Die Logikeinheit 316 erniedrigt hierauf jedesmal den Zählstand der Bereichszähler, wenn
ein Datenbyte von dem Geräteadapter 14 zu der Steuerung MPDC-10
übertragen wird. Jedes der nach der Umschaltung der Steuerung auf die Bereichszähier übertragenenDatenbyteswird zu dem Sammelkanal
13 übertragen.
Wenn der Bereichszählstand in den Zählern306 und 307 abgearbeitet
ist, so gibt der Zähler 307 ein Bereichsendesignal EOR auf den
Leitungen 77a und 102b aus, wie dies zuvor beschrieben wurde.
Eine Schreiboperation, bei der von dem Hauptspeicher gelesene
Daten- in eine Platteneinheit eingeschrieben werden, wird in ähnlicher Weise wie eine Leseoperation ausgeführt. Eine Kanal-Bestimmüngsnummer
und ein Funktionscode werden in das Adreß-Schieberegister
70 geladen und Daten, die die Konfigurationsworte A und By eine Hauptspeicheradresse, einen Bereichszählstand, eine
Aufgabe und eine Statusanforderung umfassen, werden von dem Datenregister 82 in den Zwischenspeicher 81 geladen. Ein Verschiebebereichszählstand
wird beim Einschreiben von Daten in eine Platteneinheit nicht benutzt.
Nachdem der Geräteadapter 14 die Schreibköpfe über der Platteneinheit
positioniert hat und ein. Hardware-Behandlungsanforderungssignal
auf der Leitung 110 gemäß Fig..4 ausgegeben hat, lädt die
Firmware zvrei Leerbytes ±n die Verschiebebereichszähler 308 und
309, einen Bereichszählstand in die Zähler 306 und 307 und eine
Hauptspeicheradresse in die Zähler 300, 302 und 303. Die Firmware überträgt ferner eine MPDC-Kanalnuircaer von dem Zwischenspeicher
zu dem Sammelkanal-Datenregister 100 und sodann über den Datenmultiplexer 122 zu dem Sammelkanal 13. Die Sammelkanal-Logikeinheit
128 gibt sodann Unter Firmwaresteuerung eine eine Antwort
erfordernde Datenanforderung an den Hauptspeicher aus und wählt die Eingänge A2 der Multiplexer 310 und 311 aus, um die Hauptspeicher-Kanalnummer
in dem Adreß-Schieberegister 70 an den Sammelkanal 13 zu liefern. Die Sammelkanal-Logikeinheit wählt danach
die Eingänge A1 der Multiplexer 310 und 311 aus, um die Hauptspeicheradresse
an den Sammelkanal 13 zu liefern.
Jedesmal, wenn die Sammelkanal-Logikeinheit 128 ein zusätzliches
Datenbyte vom Hauptspeicher anfordert, gibt sie ein "!"-Signal an die Steuerleitung 319 aus, um die Bereichs-Taktlogikeinheit
freizugeben. Die Bereichszähler 306 und 307 werden daraufhin hinsichtlich ihres Zählstandes um eins erniedrigt. Nachdem eine Datenanforderung
und eine Hauptspeicheradresse an den Sammelkanal 13 ausgegeben worden sind und von dem Hauptspeicher 12 angenommen
worden sind, gibt ferner die Sammelkanal-Logikeinheit 128 den Eingang EN1 der Adreß-Taktlogikeinheit 304 frei. Aufgrund dessen
wird der Zählstand der Adreßzähler 300, 302 und 303 um zwei erhöht. ■ '
Wenn der Bereichszählstand abgearbeitet worden ist, gibt der
Zähler 307 ein Bereichsendesignal EOR in der zuvor beschriebenen Weise an die Leitungen 77a und 102b aus. Die Datenübertragung
vom Hauptspeicher 12 zur Platteneinheit 14 ist somit vervollständigt.
909807/0760
.Das System gemäß Fig. 7 stellt eine wesentliche Verbesserung
gegenüber bekannten Firmware-Datenübertragungssteuerungen dar, die zuviel Zeit für Registrier- und Fortschreibungszwecke erforderten.
Zuvor wurden die entsprechenden Parameter im Speicher gespeichert und mußten wieder aufgesucht und neu gespeichert _
werden, wenn ein Parameter fortgeschrieben wurde. Bei dem vorliegenden Hardware/Firmwaresystem können die Sarnmelkanal-Adreßzähler
300, 302 und 303, die Bereichszähler 306 - 307 und die Verschiebebereichszähler 308 - 309 seriell geladen v/erden, wodurch
die Anzahl der bei einer Ladeoperation erforderlichen Mikrobefehle wesentlich verringert wird. Ferner können während einer
Datenübertragung die Zählstände der Zähler unter der Hardwaresteuerung erhöht bzw. erniedrigt werden, um eine Anpassung an
den vergrößerten Datenfluß zu erzielen.
Fig. 8 zeigt ein detailliertes logisches Schaltungsdiagramm der FIFO-Puffereinheit 131 gemäß Fig. 5. Es sei darauf verwiesen,
daß ein kleiner Kreis am Eingang einer logischen Einheit anzeigt, daß dieser Eingang durch ein "O"-Signal freigegeben wird. Ferner
zeigt ein kleiner Kreis am Ausgang einer Logikeinheit an, daß bei Erfüllung der logischen Bedingungen für diese spezielle Einheit
dieser Ausgang ein "0"-Signal abgibt.
Ein UND-Gatter 400 ist mit einem Eingang an eine Steuerleitung
401 und mit einem zweiten Eingang sowohl an eine Steuerleitung
402 als auch an einen Eingang eines UND-Gatters 403 angeschlossen.
Ein zweiter Eingang das Gatters 403 ist mit einer Steuerleitung 404 verbunden, die zu einer Leitung 110 gemäß Fig. 4 führt, und
ein dritter Eingang ist an eine Steuerleitung 405 angeschlossen. Der Ausgang des Gatters 400 ist mit dem Eingang D eines Flip-Flops
405 und mit dem Eingang D eines Flip-Flops 406 verbunden. Der Ausgang des Gatters 403 ist an den Triggereingang T eines
Flip-Flops 407 angeschlossen.
90980 7/0760
.Der Triggereingang des Flip-Flops 405 ist mit dem Ausgang Q
des Füp-Flops· 407 verbunden, und der Rückstelleingang des Flip-Flops
405 ist an den Ausgang OPR des Ausgangsregisters eines FIFO-Puffers 408 für 16 Worte mit 8 Bit angeschlossen. Wenn das
Signal am Ausgang OPR einen "1"-Pegel aufweist, so ist das Ausgangsregister
gefüllt. Ferner ist das Ausgangsregister leer, wenn das Signal am Ausgang OPR einen "0" -Pegel auf v/eist. Der Ausgang
Q des Flip-Flops 405 wird dem Parallelübertragungseingang TOP des FIFO-Puffers 408 zugeführt.
Der Ausgang Q des Flip-Flops 407 ist mit dessen Eingang D und dem Eingang T des Flip-Flops 406 verbunden. Der Rückstelleingang
des Flip-Flops 406 ist an den Ausgang OPR eines FIFO-Puffers für 16 Worte mit 8 Bit angeschlossen. Der Ausgang Q des Flip-Flops
406 ist mit dem Eingang TOP des FIFO-Puffers 410 und mit dem Eingang TOP eines FIFO-Puffers 411 für 16 Worte mit 8 Bit
angeschlossen.
Der Ladeeingang LD des FIFO-Puffers 408 ist mit einer Steuerleitung
412 verbunden, und der Dateneingang des FIFO-Puffers 408 ist an ein Datenkabel 408a angeschlossen, das zu dem Datenregister
gemäß Fig. 4 führt. Der Parallel-Datenausgang des FIFO-Puffers
408 ist mit einem Datenkabel 408b verbunden, das zu dem Kabel führt. Der Eingang LD des FIFO-Puffers 410 ist an eine Steuerleitung
413 angeschlossen, und der Dateneingang dieses Puffers ist mit einem Datenkabel 410a verbunden, das zu dem Datenregister
82 führt. Der Parallelausgang des Puffers ist über ein Datenkabel 410b an das Kabel 94 angeschlossen.
Der Eingang LD des FIFO-Puffers 411 ist mit dem Ausgang eines
UND-Gatters 414 verbunden. Der Ausgang IPR des Eingangsregisters des FIFO-Puffers 411 ist über eine Steuerleitung 415 an einen
Eingang eines UND-Gatters 416 angeschlossen. Das Signal am Ausgang
IPR befindet sich auf "1"-Pegel, wenn das Register leer
ist, und auf einem "O"-Pegel, wenn das Eingangsregister gefüllt
909807/0760
ist. Das Signal am Ausgang OPR des FIFO-Puffers 413 ist über
eine Steuerleitung 4ilb an die Leitung 102b gemäß Fig. 5 angeschlossen.
. -. '."-■".- : ·. ' *"■■;"
Ein zweiter Eingang des Gatters 416 ist mit einem dritten Eingang
des Gatters 403 und einer Steuerleitung 417 verbunden. Ein dritter Eingang des Gatters 416 ist an einen Eingang des Gatters
414 und an eine Steuerleitung 416a angeschlossen. Der Ausgang
des Gatters 416 wird dem Eingang T eines Flip-Flops 418 zugeführt,
dessen Ausgang Q einer Steuerleitung 419 zugeführt wird, die
zu der Sammelkanal-Logikeinheit 128 führt.
Der Eingang D des Flip-Flops 418 ist mit dem Ausgang eines UND-Gatters
420 verbünden, dessen einer Eingang an eine Steuerleitung 422 angeschlossen ist. Ein zweiter Eingang des Gatters
ist mit einer Steuerleitung 422 verbunden.
Ein zweiter Eingang des Gatters 414 ist an eine Steuerleitung
angeschlossen, und ein dritter Eingang des Gatters 414 ist mit einer Steuerleitung 423 verbunden.
Bei einer Schreiboperation, bei der vom Hauptspeicher 12 gemäß
Fig. 1 gelesene Daten,unterstützt durch den Geräteadapter 14,in
eine Platteneinheit einzuschreiben sind, kann während der übertragung
einer Folge von Datenbytes ein Problem auftreten. Wenn von der Steuerung MPDC-IO keine Anforderung für zusätzliche Daten
ausgegeben wird und wenn ein Datenbyte vom Hauptspeicher 12 empfangen
wird, so können andere Systemeinheiten sich für einen Dialog mit dem Hauptspeicher melden. Die Steuerung MPDC-IO könnte
somit nicht in der Lage sein, eine übertragungsgeschwindigkeit
zu der Platteneinheit aufrechtzuerhalten. Wenn eine Datenanforderung ohne Rücksicht auf leere Pufferspeicherplätze erfolgt,
können in dem Datenregister 82 gemäß Fig. 4 gespeicherte Daten verlorengehen, bevor der volle zu übertragende Datenbereich vom
Hauptspeicher in die Platteneinheit eingeschrieben worden ist.
Das Logiksystem gemäß Fig. 8 weist eine Einrichtung zur Vermeidung
dieses, Problems auf. -
909807/0760
•Wenn im Betrieb Daten von dem Hauptspeicher 3 2 zu der Steuerung
MPDC-IO zu übertragen sind, so gibt die Firmware ein "1"-Signal
an die Steuerleitung 417 aus. Wenn der Sammelkanal 13 für eine Datenübertragung bereit ist, so gibt die Sammelkanal-Logikeinheit
128 gemäß Fig. 5 ein "1"-Signal an die Steuerleitung 422 aus, um anzuzeigen, daß der Sainmelkanal 13 bereit ist. Die Steuerleitung
421, die von der Bereichs- und Verschiebebereichs-Steuereinheit
77 kommt, verbleibt auf einem "1"-Pegel bis die Datenübertragung vervollständigt ist, um anzuzeigen, daß der Bereichszählstand
nicht abgearbeitet worden ist. Das Ausgangssignal des Gatters 420 verbleibt daher auf einem "1"-Pegel, der dem Eingang
D des Flip-Flops 418 zugeführt wird.
Vor irgendeiner Datenübertragung zu der Steuerung MPDC-IO sind
die FIFO-Puffer 408, 410 und 411 leer. Der Ausgang IPR des FIFO-Puffers
411 befindet sich somit auf einem "1"-Pegel und zeigt an, daß das Eingangsregister leer ist. Ferner liefert die Sammelkanal-Logikeinheit
128 ein "1 "-Signal v/ährend einer Zeitperiode an die Steuerleitung 416a, wenn die Steuerung MPDC-IO den Sammelkanal
13 bei der Behandlung einer Sammelkanal-Zyklusanforderung nicht benutzt. Der Ausgang des Gatters 416 befindet sich somit
auf einem "1"-Pegel, um das Flip-Flop 418 umzuschalten,
wodurch eine Sammelkanal-Zyklusanforderung auf der Leitung 419 ausgegeben wird, die zu der Sammelkanal-Logikeinheit 128 führt.
Bei der Erzeugung einer Sammelkanal-Zyklusanforderung zur Ausgabe an den Sammelkanal 13 gibt die Sammelkanal-Logikeinheit
ein "1"-Signal an die Steuerleitung 423 aus, um anzuzeigen, daß
eine Sammelkanal-Zyklusanforderung der Steuerung MPDC-IO ausgegeben
worden ist. Das Firmware-Steuersignal auf der Steuerleitung 417 wird daraufhin über das Gatter 414 an den Ladeeingang
des FIFO-Puffers 411 angelegt. Ein Leerbyte wird hierdurch in
den FIFO-Puffer unter Firmwaresteuerung geladen und der Ausgang
9Ö98U7/Ö760
IPR des FIFO-Puffers schaltet auf einen "O"-Pegel um. Es ist
somit ersichtlich, daß jedesmal,wenn eine Zyklusanforderung am
Ausgang Q des Flip-Flops 418 erzeugt wird, um zusätzliche Daten . vom Hauptspeicher 12 anzufordern, ein Leerbyte in'den FIFO-Puffer
411 geladen wird.
Wenn der Hauptspeicher auf die Sammelkanal-Zyklusanforderung antwortet, so gibt die Sammelkanal-Logikeinheit 128 ein "0"-Signal
an die Steuerleitung 423 und ein "1"-Signal an die Steuerleitungen
412 und 413 aus. Datenbytes, die von dem Hauptspeicher 12 an den Sammelkanal 13 geliefert werden, werden dadurch von
den Datenkabeln 408a und 410a in die FIFO-Puffer 408 und 410 entsprechend geladen. Die Samraelkanal-Logikeinhe.it 128 schaltet
daraufhin die Steuerleitung 416a auf einen "1"-Pegel um, um anzuzeigen,
daß die Sammelkanal-Zyklusauforderung für Daten inaktiv
geworden ist. Wenn das Leer-Datenbyte, das in den FIFO-Puffer 411
geladen worden ist, von dem Eingangsregister in den Stapel des Puffers verschoben worden ist, so schaltet der Ausgang IPR des
Puffers auf einen "1"-Pegel um, um erneut das Flip-Flop 418 zu
triggern und eine andere Zyklusanforderung auf der Steuerleitung 419 auszugeben.
Der zuvor beschriebene Prozeß setzt sich fort, bis die FIFO-Puffer
408 und 410 gefüllt sind, was durch die Ausgangssginale der Ausgangsregister OPR der Puffer angezeigt wird. Der FIFO-Puffer
411 dient somit der Vorausanzeige beim Laden eines Datenwortes
in die FIFO-Datenpuffer 408 und 410, daß das Datenwort
in den Pufferstapel gefallen ist, bevor ein anderes Datenwort vom Hauptspeicher 12 angefordert werden kann. Insbesondere wird jedesmal,
wenn eine Datenanforderung an den Hauptspeicher 12 erfolgt, ein Leerbyte in den FIFO-Puffer 411 geladen. Wenn das Leerbyte
in den FIFO-Stapel gefallen ist, bevor eine nächste Datenanforderung
an den Hauptspeicher erfolgt, so sind die Zeitverzögerungen dergestalt, daß die Datenbytes in den FIFO-Puffern 408 und
909807/0760
410 in die entspreckenden Stapel fallen, bevor zusätzliche
Datenbytes vom Hauptspeicher empfangen werden.
Wenn die FIFO-Puffer 408 und 410 mit Daten gefüllt sind, so befinden
sich die Ausgänge OPR auf einem "0"-Pegel, der einen gefüllten zustand anzeigt. Ferner befindet sich der Ausgang IPR
des FIFO-Puffers 411 auf einem "O"--Pegei. Das Gatter 416 ist
somit gesperrt und die Erzeugung von Zyklusanforderunge.il auf der
Steuerleitung 419 wird beendet.
Wenn der Ausgang OPR des FIFO-Puffers 411 auf einen "1"-Pegel
umschaltet, um anzuzeigen, daß die FIFO-Datenpuffer 408 und 410
gefüllt sind, so gibt die Hardware-Steuereinheit 108 einen Ab-tastimpuls
an die Adapter-Logikeinheit 29 aus. Die Logikeinheit 29 gibt ihrerseits einen Abtastimpuls an den Geräteadapter 14 aus,
um anzuzeigen, daß die FIFO-Datenpuffer geleert werden können.
Der Geräteadapter 14 gibt daraufhin ein "1 "-Hardware-Behandlungsanforderungsignal
an die Steuer leitung 404 aus, und die. Firmware gibt aufgrund dessen ein Hardware-Freigabesignal an die Steuerleitung
402 aus. Die Firmware gibt ferner ein "1"-Signal an die Steuerleitung 401 aus, um anzuzeigen, daß eine Platten-Schreiboperation
ausgelöst worden ist.
Das Flip-Flop 407 wird durch den Ausgang des Gatters 403 getriggert
und schaltet zwischen dem Setz- und Rückstellzustand hin und her. Wenn sich das Flip-Flop im gesetzten Zustand befindet,
so wird es beispielsweise bei seiner Triggerung zurückgestellt. Ferner wird das Flip-Flop gesetzt, wenn es sich bei seiner Triggerung
im zurückgestellten Zustand befindet. Die Ausgänge Q und Q des Flip-Flops triggern dadurch abwechselnd die Flip-Flops
und 406. Wenn das Flip-Flop 405 getriggert ist, so wird der Ausgang Q des Flip-Flops dem Eingang TOP des FIFO-Puffers 408 zugeführt.
Aufgrund dessen wird das Datenbyte in dem Ausgangsregister des Puffers an das Datenkabel 408b geliefert, das zu dem
909807/0760
-. 55 -
Geräteadapter 14 führt. Wenn das Ausgangsregister geleert ist,
so stellt der Ausgang OPR des FIEO-Puffers 408 sofort das Flip-Flop
405 zurück. In gleicher Weise liefert der Ausgang Q des Flip-Flops 406 im getriggerten Zustand ein Lade-Sperrsignal an
den FIFO-Puffer 410. Wenn das Ausgangsregister des Puffers geleert ist, so stellt der Ausgang OPR des Puffers das Flip-Flop
406 zurück. Es liegt auf der Hand, daß das Flip-Flop 407 zusammen
mit den Flip-Flops 405 und 406 abwechselnd Datenbytes von den FIFO-Puffern 408 und 410 auswählt. Die zu dem Geräteadapter
14 übertragenen Datenbytes bestehen somit aus einem linken Byte von dem FIFO-Puffer 408 und einem rechten Byte von dem FIFO-Puffer
410.
Jedesmal wenn der FIFO-Puffer 410 entladen wird, wird der FIFO-Puffer
411 ebenfalls entladen. Sobald das Eingangsregister des
FIFO-Puffers 411 geleert ist, schaltet der Ausgang IPR auf einen
"!"-Pegel um, um eine Zyklusanforderung in der zuvor beschriebenen
Weise zu erzeugen. Da Datenbytes in die FIFO-Puffer 408 und 410 geladen sind, werden diese Puffer erneut entladen. Bevor
eine Zyklusanforderung für ein nächstes Datenbyte vom Hauptspeicher
12 angefordert wird, muß jedoch das Eingangsregister des FIFO-Puffers 411 geleert sein.
Zwei Bedingungen können auftreten, die die Erzeugung einer Zyklusanforderung
auf der Steuerleitung 419 verhindern können, wenn das Eingangsregister des FIFO-Puffers 411 geleert ist. Wenn der
die Gesamtanzahl der von dem Hauptspeicher 12 zu dem Geräteadapter
14 zu übertragenden Datenbytes anzeigende Bereichszählstand abgearbeitet ist, schaltet die Leitung 421 auf einen "O"-Pegel
um. Wenn ferner eine ungebetene Sammelkanalanforderung oder andere
Daten auf dem Sammelkanal 13 auftreten, die die Steuerung MPDC-10
zur Ausgabe eines NAK-Signales veranlassen, so wird das Gatter
420 gesperrt. Der Ausgang Q des Flip-Flops 418 schaltet somit
nicht auf einen "1"-Pegel um, wenn es getriggert wird und keine weiteren Zyklusanforderungen erfolgen.
900 8=0 7/0760
Fig. 9 zeigt ein Taktdiagraram zur Veranschaulichung der Betriebsweise des Systems gemäß Fig. 8. Es sei darauf verwiesen, daß das
hier beschriebene System aus Einheiten besteht, die mit einem asynchronen Sammelkanal zusammenarbeiten. Es sind daher keine
absoluten Zeitwerte in den nachfolgend beschriebenen Taktdiagrammen angegeben. Gegenüber dem absoluten zeitlichen Auftritt
ist lediglich die Reihenfolge des Auftritts der Signale von Bedeutung .
Gemäß Fig. 9 veranschaulicht der Impulszug 501 ein von der Firmware
ausgegebenes Signal, um die Steuerung MPDC-10 in einen
Schreibmodus zu bringen, und der Impulszug 502 veranschaulicht
ein Zyklus-Anforderungssignal, das von der Sammelkanal-Logikeinheit
128 gemäß Fig. 5 aufgrund von Firmwareanweisungen ausgegeben wird. Ein Impulszug 503 veranschaulicht eine Sammelkanal-Zyklusanforderung,
die von der Steuerung MPDC-10 an den Sammelkanal 13 erfolgt, und ein Impulszug 504 veranschaulicht einen Abtastimpuls,
der von der Sammelkanal-Logikeinheit 128 ausgegeben wird, um die Zyklus-Anforderungs-Logiksignale des Impulszuges 502 auf dem
Sammelkanal 13 zu errichten, was durch den Impulszug 503 angezeigt ist. Ein Impulszug 505 veranschaulicht ein Logiksignal, das
auf dem Sammelkanal 13 aufgrund der Logiksignale entsprechend der Impulszüge 503 und 504 gebildet wird. Ein Impulszug 506 veranschaulicht eine Impulsform, die in der Steuerung MPDC-10 erzeugt
wird, um anzuzeigen, daß die Steuerung MPDC belegt ist. Ein Impulszug 507 veranschaulicht ein logisches Signal, das durch
eine nebengeordnete Einheit den Sammelkanal 13 augrund einer von einer vorrangigen Einheit ausgegebenen Sammelkanalanforderung
ausgegeben wird. Ein Impulszug 508 zeigt ein logisches Bestätigungssignal, das von der Steuerung MPDC-10 an den Sammelkanal 13
aufgrund der zweiten Hälfte eines Sammelkanal-Zyklussignales des Hauptspeichers 12 ausgegeben wird, wobei das Signal des Hauptspeichers
in dem Impulszug 509 veranschaulicht ist. Ein Impulszug
510 zeigt das durch das Gatter 414 an den FIFO-Puffer 411
gemäß Fig. 8 abgegebene Ladesignal, und ein Impulszug 511 veranschaulicht
die logische Umkehrung des Ausgangssignales des Ein-
909807/0780
.gängsregisters des FIFO-Puffers 411« Ein Impulszug 512 veranschaulicht das von dem Ausgangsregister des FIFO-Puffers 411
ausgegebene Logiksignal, wenn die FIFO-Datenpuffer 408 und 410
gefüllt sind.
Bei den mnemonisehen Bezeichnungen, die benutzt werden, um die
Impulsformen 501 - 512 gemäß Fig. 9 zu beschreiben, zeigt das Pluszeichen 4· an, daß der durch die mnemonische Bezeichnung gekennzeichnete
Zustand auftritt, wenn die zugeordnete Impulsform den "1"-Pegel aufweist. Ein negatives Vorzeichen - zeigt an,
daß der festgelegte Zustand auftritt, wenn die Impulsform den "O"-Pegel aufweist.
Wenn Daten von dem Hauptspeicher 12 gemäß Fig. 1 in eine durch
den Geräteadapter 14 unterstützte Platteneinheit eingeschrieben werden, so schaltet die Firmware die Steuerleitung 417 gemäß
Fig. 8 auf einen "1"-Pegel, was durch den Impuls 501a gemäß der
Impulsform 501 angezeigt ist. Da der Sammelkanalzyklus nicht aktiv ist, was durch den Impuls 506a des Impulszuges 506 gezeigt
ist, ist die Steuerung MPDC-IO nicht mit der Behandlung einer
vorangegangenen Sammelkanal-Zyklusanforderung befaßt. Somit befindet sich die Steuerleitung 416a auf einem "1"-Pegel und ein
durch das Eingangsregister des FIFO-Puffers 411 ausgegebenes
"1"-Signal gemäß dem Impuls 511a wird über das Gatter 416 angelegt,
um das Flip-Flop 418 zu triggern. Der Ausgang Q des Flip-Flops 418 schältet daraufhin auf einen "1"-Pegel um, was durch
den Impuls 502a veranschaulicht ist. Die Zyklusanforderung 502a
wird hierdurch auf dem Sammelkanal 13 durch die Steuerleitung abgelegt. Wenn ein Zyklus des Sammelkanals 13 verfügbar ist, so
gibt die Sammelkanal-Logikeinheit 128 gemäß Fig. 5 einen "1"-Impuls 504a aus, um die Zyklusanforderung 502a auf dem Sammelkanal
13 abzulegen, was durch den "1"-Impuls 503a veranschaulicht ist. Das aufgrund der Impulse 503a und 504a auf dem Sarnmelkanal
erscheinende Signal ist durch einen "1"-Impuls 505a des Impulszuges
505 veranschaulicht.
909807/0780
■Die Saimnelkanal-Logikeinheit 128 gibt gleichzeitig mit dem
Impuls 504a einen "!"-Impuls 506b aus, um anzuzeigen, daß der Sammelkanalzyklus- aktiv ist, das heißt die Steuerung MPDC-IO
belegt ist. Aufgrund dessen schaltet der Ausgang des Gatters auf einen "1"-Pegel um, was durch einen "1"-Impuls 510a veranschaulicht
ist, um ein Leerbyte in den FIFO-Puffer zu laden.
Beim Empfang der Sammelkanal-Zyklusanforderung von der Steuerung
MPDC-10 bestätigt der Hauptspeicher 12 die Annahme der Anforderung
durch Ausgabe eines "1"-Impulses 507a gemäß dem Impulszug
507.
Wenn das Leerbyte in den FIFO-Puffer 411 geladen ist, so schaltet
der Impulszug 511 auf einen "O"-Pegel 511a um. Da das Gatter
während der Zeitperiode gesperrt ist, in der sich der Impulszug 511 auf einem "O"-Pegel befindet, werden keine weiteren Sammelkanal-Zyklusanforderungen
ausgegeben, bis der Impulszug erneut auf einen "1"-Pegel umschaltet.
Wenn der Hauptspeicher 12 ein angefordertes Datenwort aufgegriffen
hat und auf dem Sammelkanal 13 abgelegt hat, so gibt er einen "!"-Impuls 509a aus, um anzuzeigen, daß die Daten verfügbar sind.
Ferner gibt der Speicher einen "1"-Impuls 505b aus. Beim Empfang der Impulse 505b und 509a gibt die Sammelkanal-Logikeinheit 128
einen "1"-Bestätigungsimpuls 508a aus, der auf dem Sammelkanal als "!"-Impuls 507b erscheint. Beim Empfang des Impulses 507b
gibt der Hauptspeicher den Sammelkanal 13 frei, um für eine andere Sammelkanal-Zyklusanforderung bereit zu sein. Bei der Ausgabe
des Impulses 508a befindet sich die Steuerung MPDC-IO nicht länger
in einem aktiven Status hinsichtlich des Sammelkanalzyklus, was durch den Impulsverlauf 506c angezeigt ist. Da der Ausgang des
Eingangsregisters des FIFO-Puffers 411 erneut leer ist, was durch
den Impulsverlauf 511b veranschaulicht ist, wird ein "1"-Ircpuls
502b am Ausgang Q des Flip-Flops 418 geliefert, um eine nächste Sammelkanal-Zyklusanforderung auszulösen.
9Ö98O7/07ßÖ
Fig. 10 zeigt ein Taktdiagraitmi zur Veranschaulichung der Betriebsweise
des Systems- gemäß den Fig. 4-8 während einer Datenübertragung von einer Platteneinheit zum Sammelkanal 13. "
Ein Impulszug 600 veranschaulicht das Hardware-Daten-Behandlungsanforderungssignal
, das von dem Geräteadapter 14 an die Steuerleitung 110 gemäß Fig. 4 ausgegeben wird und ein Impulszug 601
veranschaulicht das Hardware-Freigabesignal, das durch die Firmware aufgrund des Impulszuges 600 ausgegeben wird. Ein Impulszug
602 veranschaulicht ein Kardware-Daten-Behandlungsfreigabesignal, das durch eine logische UND-Verknüpfung der Impulszüge
600 und 601 gebildet wird. Der Impulszug 602 zeigt das Freigabesignal,
das durch die Firmware an den Freigabeeingang EN2 der Bereich-Taktlogikeinheit 316 gemäß Fig. 7 während Diagnosetests
angelegt wird.
Ein Impulszug 603 veranschaulicht den Ausgang der Bereichs-Taktlogikeinheit
316, der aufgrund des Freigabesignales gemäß dem Impulszug 602 erzeugt wird. Ein Impulszug 604 veranschaulicht
das Ausgangssignal des Gatters 403 gemäß Fig. 8 und das Ausgangssignal
der Adapter-Logikeinheit 29 gemäß Fig. 4.Ein Impulszug 605 veranschaulicht die Umkehrung des Ausgangs Q des Flip-Flops
407 gemäß Fig. 8. ..
Die Impulszüge 606 und 607 werden jeweils aus den Impulszügen
604 und 605 gebildet, und sie geben den Ausgangszustand des
Flip-Flops 407 an. Ein Impulszug 608 veranschaulicht die Sammelkanal-Zyklusanforderungssignale,
die an dem Ausgang Q des Flip-Flops 418 gemäß Fig. 8 ausgegeben werden, und ein Impulszug 609
veranschaulicht die durch die Adreß-Taktlogikeinheit 304 jedes
Mal erzeugten Impulspaare, wenn eine Zyklusanforderung erfolgt, wie dies durch den Impulszug 608 veranschaulicht ist.
909807/0760
Wenn Daten von einer Platteneinheit zu lesen sind, so gibt der
Geräteadapter 14 gemäß Fig. 4 einen "!"-Impuls 600a an die Steuerleitung 110 ab, um anzuzeigen, daß ein Datenbyte für die
übertragung zu der Steuerung MPDC-IO verfügbar ist. Aufgrund
dessen gibt das Firmware-Steuersystem gemäß Fig. 6 einen Hardware-Freigabeimpuls
601a an die Steuerleitung 109 gemäß Fig. 4 aus,
die zu der Hardware-Steuereinheit 108 führt. Wenn das Datenbyte von dem Geräteadapter 14 zu der Steuerung MPDC-IO übertragen wird,
so wird das durch den Impulszug 602 veranschaulichte Taktsignal an die Bereichs-Taktlogikeinheit 316 gemäß Fig. 7 angelegt.
Aufgrund dessen wird der Zählstand der Verschiebebereichszähler 308 und 309 erniedrigt bis der Verschiebebereichszählstand abgearbeitet
ist. Der Zählstand der Bereichszähler 306 und 307 wird danach durch die "1"-Impulse des Impulszuges 603 erniedrigt.
Jedesmal, wenn Datenbytes von dem Geräteadapter 14 zu der Steuerung
MPDC-IO übertragen werden, triggert das Ausgangssignal des Gatters 403 entsprechend dem Impulszug 604 das Flip-Flop 407.
Wenn der Ausgang Q des Flip-Flops 407 einen "1"-Pegel aufweist, so wird das Flip-Flop 405 getriggert, um ein linkes Byte in das
Sammelkanal-Datenregister 100 für die Übertragung zu dem Sammelkanal
13 zu laden. Dieser Zustand wird durch die "1"-Pegel der Impulszüge 605 und 607 veranschaulicht. Wenn der Ausgang Q des
Flip-Flops 407 auf einen "1"-Pegel umschaltet, so wird das Flip-Flop
406 getriggert, um ein rechtes Byte in das Register 100 für die übertragung zu dem Sammelkanal 13 zu laden. Dieser Zustand
wird durch die "O"-Pegel des Impulszuges 605 und durch die "1"-Pegel
des Impulszuges 606 veranschaulicht.
Wenn ein Datenwort, bestehend aus einem linken und aus einem rechten Datenbyte in dem Register 100 gebildet worden ist, so
gibt die Sammelkanal-Logikeinheit 128 unter Firmwaresteuerung ein Sammelkanal-Zyklusaktivierungssignal an die Steuerleitung 416a
gemäß Fig. 8 ab, um das Flip-Flop 418 zu triggern. Eine Sammelkanal-
909807/0780
Zyklusanforderung wird hierdurch, erzeugt, wie dies durch die
"1 "-Pegel des Inipulszuges 608 veranschaulicht ist. Jedesmal,
wenn eine Sammelkanal-Zyklusanforderung erzeugt wird,, gibt die Sammelkanal-Logikeinheit 128 die Adreß-Taktlogikeinheit 304 frei, um "1"-Impulspaare gemäß dem Impulszug 609 auszugeben. Die in
den Sammelkanal-Adreßzählern 300, 302 und 303 gespeicherte
Hauptspeicheradresse wird daraufhin um zwei erhöht.
"1 "-Pegel des Inipulszuges 608 veranschaulicht ist. Jedesmal,
wenn eine Sammelkanal-Zyklusanforderung erzeugt wird,, gibt die Sammelkanal-Logikeinheit 128 die Adreß-Taktlogikeinheit 304 frei, um "1"-Impulspaare gemäß dem Impulszug 609 auszugeben. Die in
den Sammelkanal-Adreßzählern 300, 302 und 303 gespeicherte
Hauptspeicheradresse wird daraufhin um zwei erhöht.
Sollte ein Zwischenzustand auftreten, bei dem Daten für die
Übertragung zu der Steuerung MPDC-IO nicht vor der Abarbeitung des Bereichszählstandes verfügbar sind, so gibt der Geräteadapter eine Unterbrechung an die Leitung 125 gemäß Fig. 4 aus, um die Steuerung von der Hardware zu der Firmware des Systems zurückzuführen. In diesem Fall schaltet das Hardware-Freigabesignal gemäß dem Impulszug 601 auf einen "0"-Pegel um, wie dies durch den Impuls 601b veranschaulicht ist. Es tritt keine weitere
Aktivität der Steuerung MPDC auf, bis der Geräteadapter 14 anzeigt, daß Daten erneut für die übertragung verfügbar sind, was durch einen "!"-Impuls 600b auf der Leitung 110 gemäß Fig. 4 angezeigt wird. Die Datenübertragung setzt sich danach in der zuvor beschriebenen Weise fort bis der Bereichszähler abgearbeitet ist.
Übertragung zu der Steuerung MPDC-IO nicht vor der Abarbeitung des Bereichszählstandes verfügbar sind, so gibt der Geräteadapter eine Unterbrechung an die Leitung 125 gemäß Fig. 4 aus, um die Steuerung von der Hardware zu der Firmware des Systems zurückzuführen. In diesem Fall schaltet das Hardware-Freigabesignal gemäß dem Impulszug 601 auf einen "0"-Pegel um, wie dies durch den Impuls 601b veranschaulicht ist. Es tritt keine weitere
Aktivität der Steuerung MPDC auf, bis der Geräteadapter 14 anzeigt, daß Daten erneut für die übertragung verfügbar sind, was durch einen "!"-Impuls 600b auf der Leitung 110 gemäß Fig. 4 angezeigt wird. Die Datenübertragung setzt sich danach in der zuvor beschriebenen Weise fort bis der Bereichszähler abgearbeitet ist.
Fig. 11 zeigt ein Taktdiagramm zur Veranschaulichung der Betriebsweise
des Systems gemäß den Fig. 4-8 während einer Schreiboperation. Ein Impulszug 700 veranschaulicht das Hardware-Datenbehandlungs-Anforderungssignal.,
das von dem Geräteadapter 1 4
an die Steuerleitung 110 gemäß Fig. 4 ausgegeben wird, und ein Impulszug 701 veranschaulicht ein Abtastsignal, das von der
Adapter-Logikeinheit· 29 an die Steuerleitungen 29a und 118b gemäß Fig. 4 ausgegeben wird. Ein Impulszug 702 veranschaulicht das
Ausgangssignal des Gatters 403 gemäß Fig. 8, und ein Impulszug 703 veranschaulicht die logische Umkehrung des Ausganges Q des
an die Steuerleitung 110 gemäß Fig. 4 ausgegeben wird, und ein Impulszug 701 veranschaulicht ein Abtastsignal, das von der
Adapter-Logikeinheit· 29 an die Steuerleitungen 29a und 118b gemäß Fig. 4 ausgegeben wird. Ein Impulszug 702 veranschaulicht das
Ausgangssignal des Gatters 403 gemäß Fig. 8, und ein Impulszug 703 veranschaulicht die logische Umkehrung des Ausganges Q des
909807/0760
Flip-Flops 407. Ein Impulszug 704 veranschaulicht die logische
umkehrung des Ausganges Q des Flip-Flops 405, und ein Impulszug
705 veranschaulicht das Ausgangssginal OPR des Ausgangsregisters des FIFO-Puffers 408.
Ein Impulszug 706 zeigt die logische Umkehrung des Ausganges Q des Flip-Flops 406, und ein Impulszug 707 zeigt das Ausgangssignal
OPR des FIFO-Puffers 410. Ein Impulszug 708 veranschaulicht das Ausgangssignal OPR des FIFO-Puffers 411, und ein Impulszug
709 veranschaulicht die logische Umkehrung des Ausgangssignales IPR des FIFO-Puffers 411. Ein Impulszug 710 veranschaulicht
das Signal am Ausgang Q des Flip-Flops 418, und ein Impulszug
711 veranschaulicht ein Sammelkanal-Zyklusanforderungssignal, das aufgrund des Impulszuges 710 von der Sammelkanal-Logikeinheit
erzeugt wird.
Ein Impulszug 712 veranschaulicht ein Sammelkanal-Zyklus-Aktivsignal,
das die Steuerung MPDC-IO aufgrund der Sammelkanal-Zyklusanforderungsimpulse
des Impulszuges 711 in einen Belegtstatus bringt. Ein Impulszug 713 veranschaulicht ein Datenzyklussignal,
das von der Sammelkanal-Logikeinheit 128 ausgegeben wird, um eine Zeitperiode anzuzeigen, in der der Hauptspeicher 12 eine Datenanforderung
von der Steuerung MPDC-IO bestätigen muß. Ein Impulszug 714 veranschaulicht die Sammelkanalanforderungs- und Bestätigungsimpulse,
die auf dem Sammelkanal 13 infolge der Bestätigung zwischen der Steuerung MPDC-IO und dem Hauptspeicher 12 auftreten.
Ein Impulszug 715 zeigt die Sammelkanal-Bestätigungsimpulse, die durch eine nebengeordnete Systemeinheit aufgrund
einer Sammelkanalanforderung von einer vorangigen Systemeinheit ausgegeben werden, und ein Impulszug 716 veranschaulicht die
MPDC-Bestätigungsimpulse, die in den Impulsen des Impulszuges
715 enthalten sind. Ein Impulszug 717 und ein Impulszug 718 veranschaulichen Adreß-Erhöhungsimpulse und Bereichs-Erniedrigungsimpulse, die während der Übertragung von Daten vom Hauptspeicher
zum Geräteadapter 14 erzeugt werden.
·>■
909807/0760
Vor der Übertragung von Daten vom Hauptspeicher positioniert .
der Geräteadapter 14 die Schreibköpfe einer Platteneinheit über einem ausgewählten Datensatz. Nachdem die Platteneinheit für
eine Schreiboperation bereit ist, gibt der Adapter 14 ein Hardware-Behandlungsanforderungssignal'
gemäß dem Impuls 700 a an die Steuerleitung 110. Die Sammelkanal-Logikeinheit 128 fordert
daraufhin Daten von dem Hauptspeicher 12 an. Der Hauptspeicher
liefert aufgrund dessen Daten zu dem Datenregister 82 gemäß Fig. 4. unter Steuerung durch die Daten-Steuereinheit 113 werden
die Daten von dem Datenregister 82 in die FIFO-Datenpuffer 408
und 410 übertragen. Wenn die Datenpuffer gefüllt sindr so signalisiert
die Hardware-Steuereinheit 108 dies der Adapter-Logikeinheit 29. Die Logikeinheit 29 gibt ihrerseits einen Abtastimpuls
701a an den Geräteadapter 14, um anzuzeigen, daß ein Datenbyte übertragen worden ist. Gleichzeitig gibt das Gatter 403 gemäß
Fig. 8 einen Impuls 702a ab, um ein Datenbyte von einem der
Puffer 408 und 410 für die Übertragung zu dem Geräteadapter 14
auszuwählen. Aufgrund des Ausgangssignales des Gatters 403 gibt
das Flip-Flop 407 gemäß Fig. 8 einen Impuls 703a zur Triggerung des Flip-Flops 405 ab. Das Flip-Flop 405 gibt seinerseits einen
Impuls 704a aus, um ein Datenbyte aus dem Puffer 408 auszuwählen*
Wenn das Datenbyte dem Ausgangsregister des FIFO-Puffers 408 entnommen
wird, so schaltet der Ausgang OPR des Puffers auf einen 11O"-Pegel um, was durch den Impuls 705a angezeigt ist. Der Ausgang
OPR stellt ferner das Flip-Flop 405 zurück, wie durch den Impuls 704b des Impulszuges 704 veranschaulicht. Wenn das Datenbyte
durch den"Geräteadapter "14 aufgenommen worden ist, so gibt
dieser einen zweiten Hardware-Datenbehandlungs-Anforderungsimpuls
700b aus. Aufgrund dessen werden die Impulse 7o1b und 702b der Adapterlogik 29 und des Gatters 403 in der zuvor beschriebenen
Weise erzeugt. Beim Auftritt des Impulses 702b triggert der Ausgang Q des Flip-Flops 407 das Flip-Flop 406 gemäß dem Impuls
703b des Impulszuges 703. Der Ausgang Q des Flip-Flops 406 gibt
0 7/0760
daraufhin einen "!"-Impuls 706a aus, um das Ausgangsregister des FIFO-Puffers 430 zu entladen. Wenn das Datenbyte von dem
Ausgangsregister übertragen wird, schaltet der Ausgang OPR des FIFO-Puffers 410 auf einen "O"-Pegel um, wie dies durch den
Impuls 707a des Impulszuges 707 veranschaulicht ist. Aufgrund der Umschaltung des Ausganges OPR wird das Flip-Flop 406 zurückgestellt,
was durch den Impuls 706b veranschaulicht.ist.
Wie zuvor beschrieben, wird der FIFO-Puffer 411 zur gleichen
Zeit wie der Puffer 410 entladen. Wenn somit der Ausgang OPR des FIFO-Puffers 410 auf einen "O"-Pegel umschaltet, so schaltet
auch der Ausgang OPR des FIFO-Puffers 411 auf einen "O!'-Pegel
um, wie dies durch den Impuls 708a des Impulszuges 708 veranschaulicht
ist. Wenn ein zusätzliches Leerbyte in das Ausgangsregister des FIFO-Puffers 411 eintritt, so schaltet der Ausgang
OPR auf einen "1"-Pegel gemäß dem Impuls 708b um. Zusätzlich ändert das Eingangsregister den Zustand des Ausgangssignales IPR
gemäß dem Impuls 709a. Hierdurch wird eine Sammelkanal-Zyklusanforderung auf der Steuerleitung 419 ausgelöst, was durch den "1"-Impuls
710a gezeigt ist. Aufgrund des Impulses 710a gibt die Sammelkanal-Logikeinheit 128 gemäß Fig. 5 einen.Abtastimpuls 713a
aus, um den Zyklus-Anforderungsimpuls 710a auf dem Sammelkanal abzulegen, was durch den Impuls 711a angezeigt ist. Beim Auftritt
des Abtastimpulses 713a und des Impulses 711a wird ein
Impuls 714a durch den Sammelkanal 13 zu dem Hauptspeicher 12
übertragen.
Wenn der Zyklus-Anforderungsimpuls 710a erzeugt wird, so bringt
die Sammelkanal-Logikeinheit 128 die Steuerung MPDC-IO in einen
Belegtzustand gemäß dem·"1"-Impuls 712a. Während der Zeitdauer
des Impulses 712a gibt die Steuerung MPDC-IO eine Datenanforderung
an den Hauptspeicher 12 aus, was durch den Impuls 714a veranschaulicht ist, und wartet auf eine Antwort.
ORJGIiSiAL INSPECTED
909807/0760
Wenn der Hauptspeicher 12 die Sammelkanal-Zyklusanforderung
und die durch, die Steuerung MPDC-IO gelieferte Hauptspeicheradresse
annimmt, so gibt er einen Impuls 715a aus. Aufgrund dessen schaltet die Sammelkanal-Logikeinheit 128 gemäß Fig. 5
das Sammelkanal-Zyklusanforderungssignal gemäß dem Impulszug
711 auf einen "O"-Fegel gemäß dem Impuls 711b um. Während einer
Zeitperiode, die durch den "1"-Impuls 712a angezeigte Periode nicht überschreitet, sucht der Hauptspeicher den Inhalt unter
der angezeigten Hauptspeicheradresse ab und liefert die Daten an den Sammelkanal 13. Zusätzlich gibt der Hauptspeicher einen
Impuls 714b ab, um der Steuerung MPDC-IO mitzuteilen, daß Daten unter der angezeigten Hauptspeicheradresse vorliegen. Aufgrunddessen
gibt die Sammelkanal-Logikeinheit 128 einen Abtastimpuls 716a aus, um einen Bestätigungsimpuls 715b an den Sammelkanal
13 abzugeben. Gleichzeitig hiermit entfernt die Sammelkanal-Logikeinheit den Belegtstatus von der Steuerung MPDC-IO,
was durch den "O"-Pegel 712b des Impulszuges 712 angezeigt wird.
Der vorstehend beschriebene Prozeß wird wiederholt bis die Gesamtanzahl
von Datenbytes, die durch den Bereichszählstand angezeigt
wird ., von dem Hauptspeicher 12 zu dem Geräteadapter
übertragen worden ist.
Während des Datenübertragungsprozesses wird der Inhalt der Sammelkanal-Adreßzähler
300, 302 und 303 erhöht, und es wird der Inhalt der Bereichszähler 306 - 309 erniedrigt. Insbesondere wird
der Inhalt der Adreßzähler zweimal erhöht, wie dies durch die Impulse 717a und 717b angezeigt ist. Diese Erhöhung erfolgt
jedesmal, wenn eine Datenanforderung zu dem Hauptspeicher 12 entsprechend dem Impuls 715a erfolgt. Ferner wird der Zählstand der
Bereichszähler jedesmal erniedrigt, wenn ein Datenbyte von der Steuerung MPDC-IO aus dem Hauptspeicher 12 angefordert wird. Eine
Abwärts-Zählanweisung gemäß dem Impuls 718a wird ausgegeben, wenn eine Anforderung 710a für ein Datenwort ausgegeben wird. Eine
zweite Abwarts-Sählanweisung gemäß dem Impuls 718b wird von dem
Hauptspeicher 12 ausgegeben.
909807/0760
Fig. 12 zeigt die Sarnmelkanal-Diagnoselogik, die zusammen mit
der Firmware benutzt wird, um die Schnittstellenlogik zwischen dem Sainmelkanal 13 und der Steuerung MPDC-IO zu testen. Gemäß
Fig. 12 ist der Eingang D eines Flip-Flops 800 an eine Steuerleitung
801 angeschlossen, die zu einem Ausgang des Firmwareverteilers 206 gemäß Fig. 6 führt. Die Trigger- und Rückstelleingänge
T und R des Flip-Flops sind an Steuerleitungen 802 und entsprechend angeschlossen, wobei jede dieser Leitungen zu dem
Firmwareverteiler 206 führt. Der Ausgang Q des Flip-Flops ist auf den Freigabeeingang eines Paritätgenerators 804 geschaltet,
der eine unkorrekte Parität an das Datenkabel 305 liefert, das von dem Ausgang des Adreßzählers 300 gemäß Fig. 7 zu dem Sammelkanal
13 führt.
Die drei Eingänge eines NAND-Gatters 805 sind über Steuerleitungen
806 an Ausgänge des Firmwareverteilers 206 angeschlossen. Der Ausgang des NAND-Gatters ist auf einen Eingang eines NOR-Gatters
807 geschaltet, dessen zweiter Eingang mit einer Steuerleitung 808 verbunden ist, die von der Sammelkanal-Logikeinheit
128 gemäß Fig. 5 kommt. Der Ausgang des Gatters 807 wird einer Bestätigungsleitung des Sammelkanals 13 zugeführt.
Die Logik gemäß Fig. 12 arbeitet mit einem Diagnose-Mikroprogramm
zusammen. Das Mikroprogramm ist in dem Festwertspeicher ROS-203
gemäß Fig. 6 gespeichert und steuert den Test der Sammelkanallogik.
Die schrittweise Ausführung des Mikroprogrammes ist in der nachstehenden Tabelle M angegeben, wobei die Funktion eines
jeden Mikrobefehls, wie er durch seine hexadezimale Adresse festgelegt ist, beschrieben wird.
909607/0760
11B - Löscht ACU 75.
11C · - Lädt den Zwischenspeicher-Adreßzähler 79 mit Nullen.
11D ■ — Setzt Flip-Flop 800 gemäß Fig. 12. Dies verursacht
die Aussendung irgendeines Sammelkanalzyklus an den
Hauptspeicher mit einer Moduladresse (Bits 0-7 einer
■ 24 Bit-Speicheradresse) mit unkorrekter Parität.
Da die Parität unkorrekt ist, antwortet kein Speicher
auf diesen Sammelkanalzyklus.
11E - Lädt eine Rückkehradresse in das Rückkehrregister
11E - Lädt eine Rückkehradresse in das Rückkehrregister
gemäß Fig. 6, die während eines nächsten Subroutinen-
Aufrufs benutzt wird.
11F - Löscht die Sammelkanal-Statusbits.
11F - Löscht die Sammelkanal-Statusbits.
- Lädt die Bits 0-7 des Sammelkanal-Datenregisters
aus dem ACU 75.
- Lädt die Bits 8-15 des Sammelkanal-Datenregisters
aus dem ACU 75.
- Lädt die Bits 16-23 des Sammelkanal-Adreßregisters
136 aus dem ACU 75.
- Lädt die Bits 8-15 des Sammelkanal-Adreßregisters
aus dem ACU 75.
- Lädt die Bits 0-7 des Sammelkanal-Adreßregisters 136
aus dem ACU 75.
- Lädt eine Sammelkanal-Zykluskonstante in den ACU 75.
- Löst einen Speicherschreib-Sammelkanalzyklus aus. Da
das Flip-Flop 800 für die unkorrekte Parität gesetzt
ist, wird jedoch keine Speicherantwort auf den Sammelkanalzyklus erzeugt.
127, 128 - Eine Kombination von 2 Mikrobefehlen zum Abfühlen des
Ausgangssignales MYDCN der.Sammelkanal-Logikeinheit 128. Wenn das Ausgangssignal gesetzt ist, um anzuzeigen,
daß die Steuerung MPDC-IO eine Sammelkanal-Zyklusanforderung zu dem Speicher sendet, so läßt
das Mikroprogramm den Befehl am Speicherplatz 129 aus, Wenn das Ausgangssignal nicht gesetzt ist, so führt
das Mikroprogramm den Befehl im Speicherplatz 128 aus und geht zum Speicherplatz 127 weiter.
909807/0760
- Die beiden Befehle rufen somit einen Wartestatus hervor bis das Ausgangssignal MYDCN gesetzt ist.
- Die Hardware der Steuerung MPDC-IO erzeugt ein
Sammelkanal-Bestätigungssignal ACK auf den eigenen Sammelkanalzyklus. Dies ruft die Austastung
der Daten, die zuvor in die Bits 0-15 des Datenregisters 100 und die Bits 0-23 des Adreßregisters 136 geladen wurden, in die Bits 0-15 des Datenregisters 82 und die Bits 0-23 des Schieberegisters 70 hervor. Bekannte Daten v/erden somit von den MPDC-Ausgangsregistern auf den Sammelkanal und zurück in die MPDC-Eingangsregister
verschoben.
der Daten, die zuvor in die Bits 0-15 des Datenregisters 100 und die Bits 0-23 des Adreßregisters 136 geladen wurden, in die Bits 0-15 des Datenregisters 82 und die Bits 0-23 des Schieberegisters 70 hervor. Bekannte Daten v/erden somit von den MPDC-Ausgangsregistern auf den Sammelkanal und zurück in die MPDC-Eingangsregister
verschoben.
12A - Die signifikantesten Bits MSB des Datenregisters
82 (Bits 0-7) werden in den ACU 75 geladen.
12B - Das Mikroprogramm verzweigt auf die zuvor ge
ladene Rückkehradresse.
12C - Eine logische ODER-Verknüpfung wird mit den
Bits 8-15 des Datenregisters 82 und dem Inhalt
des ACU 75 ausgeführt, und das Ergebnis wird in
dem ACU 75 gespeichert.
des ACU 75 ausgeführt, und das Ergebnis wird in
dem ACU 75 gespeichert.
12D - Eine logische ODER-Verknüpfung der Bits 16-23
des Adreß-Schieberegisters 70 mit dem Inhalt des ACU 75 wird ausgeführt, und das Ergebnis wird in
dem ACU 75 gespeichert.
13E - Eine logische ODER-Verknüpfung der Bits 8-15.
des Adreß-Schieberegisters 70 mit dem Inhalt des ACU 75 wird ausgeführt, und das Ergebnis wird
in dem ACU 75 gespeichert.
in dem ACU 75 gespeichert.
12F - Eine logische ODER-Verknüpfung der Bits 0-7
des Adreß-Schieberegisters 70 mit dem Inhalt
des ACU 75 wird ausgeführt, und das Ergebnis wird in dem ACU 75 gespeichert.
des ACU 75 wird ausgeführt, und das Ergebnis wird in dem ACU 75 gespeichert.
909807/076.0
Hex-Adresse C ode -F unk ti on ,;.
--.-·■- Der Inhalt des ACU 75 wird zu der arithmetischen
Einheit AU 85 übertragen, um die ÄU-Status-■Flip-Flops·--zu
setzen.
, - Die Firmware fühlt die AU-Status-Flip-Flops auf
.-..--. einen Schaltzustand Null ab. Wenn das Flip-Flop .
gesetzt ist, so zeigt es' anj daß die Bits 0-15
des Datenregisters 82 und die Bits 0-13 des
■ . : -.-.-. Schieberegisters 70, die über eine logische ODER-Verknüpfung,
in den ACU 75 gegeben wurden, den Wert Null aufweisen. Wenn das Ergebnis den Wert
Null .,aufweist, -so-läßt das Mikroprogramm den
nächsten Speicherplatz aus und setzt die Bearbeitung der Befehle, beginnend"mit dem Speicherplatz
133, fort. Wenn das Ergebnis einen von Null verschiedenen
Wert aufweist, so fährt das Mikroprogramm mit dem nächsten Befehl weiter.
- Der MPDC-Systemtakt wird angehalten. Dies zeigt
an, daß in der Sammelkanal-Schnittstelle eine ' Fehlfunktion aufgetreten ist. Die Daten, die zu
■ . ■■ dem Sammelkanal gesendet wurden, stimmen nicht
mit den Daten überein, die zu der Steuerung MPDC
zurückgeführt wurden. ;
- Der ACU. 75 wird mit HEX FF geladen.
- Eine Rückkehradresse wird in das Rückkehrregister
200 geladen und während eines nächsten Subroutinen-Aufrufs
benutzt.
: - Das Mikroprogramm verzweigt zu der Subroutine, die
das Datenregister 100 und das Adreßregister 136
aus dem ACU 75 lädt und den Sammelkanal schaltet, um die Daten in das Datenregister 82 und das
... -....- Schieberegister 70 entsprechend zu laden. (Diese
Maßnahme führt zu der Bearbeitung der Mikrobefehle an den Speicherplätzen 11F - 11B und zu
. einer Rückkehr zu dem Speicherplatz 136).
/0760
Hex-Adresse Code-Funktion .
- Es wird eine logische UND-Verknüpfung der Bits
8-15 des· Datenregisters 82 mit dem Inhalt des
ACU 75 (der die Datenbits 0-7 des Registers 82 enthält) ausgeführt, und das Ergebnis wird in
dem ACU 75 gespeichert.
- Es wird eine logische UND-Verknüpfung der Bits
16-23 des Adreß-Schieberegisters 70 mit dem Inhalt des ACU 75 ausgeführt, und das Ergebnis
wird in dem ACU 75 gespeichert.
- Es wird eine logische UND-Verknüpfung der Bits
8-15 des Datenregisters 100 mit dem Inhalt des„ \
ACÜ 75 ausgeführt, und das Ergebnis wird in dem ACU 75 gespeichert...
- Es wird eine logische UND-Verknüpfung der Bits
0-7 des Datenregisters 82 mit dem Inhalt des ACU 75 ausgeführt, und das Ergebnis wird in dem
ACU 75 gespeichert.
13A - Der Inhalt des ACU 75 wird zu der arithmetischen
Einheit AU 85 übertragen, um die AU-Status-Flip-Flops
zu setzen.
T3B - Die Firmware prüft die AU-Status-Flip-Flops auf
eine Adresse FF. Wenn das Flip-Flop gesetzt ist, so zeigt es an, daß die Bits 0-15 des Datenregisters
82 und die Bits 0-23 des Schieberegisters 70 alle den Wert eins aufweisen. Wenn das Flip-Flop
gesetzt ist, so läßt das Mikroprogramm den nächsten Speicherplatz aus und setzt die Bearbeitung
der Befehle mit dem Speicherplatz 13D fort*;
Wenn das Flip-Flop nicht gesetzt ist, so fährt1«; das Mikroprogramm mit der Bearbeitung des nächsten
Befehls weiter. .
ORIGINAL INSPECTED
09807/076 0
Hex-Adresse Code-Funktion . ·
13C - Der MPDC-Systemtakt wird angehalten. Dies zeigt
an, daß eine Fehlfunktion der Sammeikanal-Schnittstelle
vorliegt. Die Daten, die zu dem Sammelkanal gesendet wurden, stimmen nicht mit
den Daten überein, die zu der Steuerung MPDC-zurückgeführt werden.
13D ■'■■'- Der ACU 75 wird gelöscht.
13E - Die Sammelkanal-Status-Flip-Flops werden gelöscht.
13F - Die Bits 0-7 des Sammelkanal-Datenregisters
werden mit HEX FF geladen. ■
- Die Bits 8-15 des Sammelkanal-Datenregisters
werden mit HEX FF geladen.
- Eine Rückkehradresse wird in das Rückkehrregister
200 geladen, um während eines nächsten Subroutinen-Aufrufs
benutzt zu werden.
- Das Mikroprogramm verzweigt zu der Subroutine,
die das Datenregister 100 und das Adreßregister " 136 mit dem Inhalt des ACü 75 lädt, und schaltet
den Sammelkanal, um die Daten in das Datenregister 82 und das Schieberegister 70 entsprechend
zu laden. (Diese Maßnahme führt zu einer Bearbeitung der Mikrobefehle an den Speicherplätzen
122 bis 12B und zu einer Rückkehr zu dem Speicherplatz 143).
■ - Eine Rückkehradresse wird in das Rückkehrregister
200 geladen, um während eines nächsten subroutinen-Aufrufs
benutzt zu werden.
- Der ACU 75 wird gelöscht.
- Die Bits 16-23 des Adreßregisters 136 werden aus
dem ACü 75 geladen.
- Die Bits 8-15 des Adreßregisters 136 werden aus
dem ACU 75 geladen.
- Die Bits 0-7 des Adreßregisters 136 werden aus
dem ACU 75' geladen.
' Y 9 05807/07 6 0
.Hex-Adresse Code-Funktion
- Die Bits 0-7 des Datenregisters werden aus dem
ACU 75 geladen.
- Die Bits 8-15 des Datenregisters 100 werden aus
dem ACU 75 geladen.
14A- - Die Bits 0-7 werden in das Register 98 für die
zweite Ldsehälfte durch Negierung der in dem ACU 75 gespeicherten Daten geladen.
14B ,_ - Die Bits 8-15 des Registers 98 für die zweite
Lesehälfte werden durch Negierung der in dem ACU 75 gespeicherten Daten geladen.
14C - Es wird eine Sammelkanal-Zykluskonstante in den '
ACU 75 geladen.
14D - Der Sammelkanal wird mit dem Inhalt des ACU 75
geladen, um einen Speicherschreib-Sammelkanalzyklus unter Benutzung des Registers 98 für die
zweite Lesehälfte auszulösen. Da das Flip-Flop 800 für die unkorrekte Parität gesetzt ist, wird
keine Speicherantwort auf dem Sammelk'analzyklus erzeugt.
14E-14F - Eine Kombination von zwei Mikrobefehlen zum Ab-
fühlen der MYDCN-Sammelkanal-Zyklusanforderung.
Wenn die Anforderungsleitung gesetzt ist, um anzuzeigen, daß die Steuerung MPDC-IO eine Sammel"
kanal-Zyklusanforderung an den Speicher aussendet,
so läßt das Mikroprogramm den Befehl am Speicherplatz 150 aus. Wenn die Anforderungsleitung ^nicht
gesetzt ist, so bearbeitet das Mikroprogramm den Befehl am Speicherplatz 14F und verzweigt zu dem
Speicherplatz 14E. Die "zwei Befehle rufen somit
einen Wartezustand hervor, der auftritt, bis die MYDCN-Leitung gesetzt ist.
■ - * * « « λ λ ORiQiNAL INSPECTED
909807/0760 -
Hex-Adresse Code-Funktion
- Die Sammelkanal-Logikeinheit 128 erzeugt ein
Sammelkanal-Bestätigungssignal ACK auf den
eigenen Sammelkanalzyklus. Dies ruft die Austastung der Daten in die Bits 0-15 des Datenregisters
82 und in die Bits 0-24 des Schieberegisters 20 hervor, die zuvor in die Bits 0-15
des Registers 98 für die zweite Lesehälfte, in die Bits 0-7 des Sammelkanal-Adreßregisters 136,
in die Bits 0-7 des Datenregisters 82 und in die Bits 8-15 des Datenregisters 82 geladen
wurden. Es werden somit bekannte Daten von den MPDC-Registern für die zweite Lesehälfte auf
den Sammelkanal und zurück in die Eingangsregister der Steuerung MPDC verschoben,
- - Die signifikantesten Bits MSB des Datenregisters
82 (Bits 0-7) werden in den ACU 75 geladen.
- Das Mikroprogramm verzweigt zu der zuvor ge
ladenen Rückkehradresse.
- Es wird eine logische UND-Verknüpfung der Bits
8-15 des Datenregisters 82 mit dem Inhalt des ACU 75 (der die Bits 0-7 des Datenregisters 82
enthält) ausgeführt, und das Ergebnis wird in dem ACU 75 gespeichert.
- Es wird eine logische UND-Verknüpfung der Bits
16-23 des Adreß-Schieberegisters 70 mit dem Inhalt des ACU 75 ausgeführt, und das Ergebnis
wird in dem ACU 75 gespeichert.
- Es wird eine logische UND-Verknüpfung der Bits
8-15 des Adreß-Schiebefegisters 70 mit dem Inhalt
des ACU 75 ausgeführt, und das Ergebnis wird in dem ACU 75 gespeichert.
9Ö9807/0760
- Eine logische Exklusiv-ODER-Verknüpfung der Bits 0-7
des Adreß-Schieberegisters 70 mit dem Inhalt des ACU 75
ausgeführt, und das Ergebnis wird in dem ACU 75 gespeichert.
- Der Inhalt des ACU 75 wird zu der arithmetischen Einheit
AU 85 übertragen, um die AU-Status-Plip-Flops zu setzen.
- Die Firmware fragt die AU-Status-Flip-Flops auf den Zustand
FF ab. Wenn das Flip-Flop gesetzt ist, um anzuzeigen, daß die Daten, die zu dem Sammelkanal ausgesendet
wurden, mit den Daten übereinstimmen, die bei der zyklischen Verschiebung von dem Sammelkanal erhalten
werden, so läßt das Mikroprogramm den nächsten Speicherplatz aus und setzt die Bearbeitung der Befehle am Speicherplatz
15A fort. Wenn das Flip-Flop nicht gesetzt ist, so fährt das Mikroprogramm mit der Bearbeitung des
nächsten Befehls fort.
- Der MPDC-Systemtakt wird angehalten. Dies zeigt an, daß
eine Fehlfunktion in der■Sammelkanal-Schnittstelle vorliegt.
Die Daten, die zu dem Sammelkanal ausgesendet wurden, stimmen nicht mit den Daten überein, die zu der
Steuerung MPDC zurückgeführt wurden.
15A - Der ACU 75 wird mit HEX FF geladen.
15B - Die Sammelkanal-Status-Flip-Flops werden gelöscht.
15C - Es wird eine Rückkehradresse in das Rückkehrregister geladen, um während des nächsten Subroutinen-Aufrufs
benutzt zu warden.
15D - Das Mikroprogramm wird veranlaßt, zu der Subroutine zu verzweigen, die das Adreßregister 136 und das Datenregister
100 mit dem Inhalt des ACU 75 lädt und den Sammelkanal schaltet, um Daten in das Schieberegister 70
und das Datenregister 82 entsprechend zu laden (dies führt zu der Bearbeitung von Mikrobefehlen an den Speicherplätzen
145 bis 152 und zu einer Rückkehr zu dem Speicherplatz 15E).
909807/0760
15ε — Es wird eine logische ODER-Verknüpfung der Bits 8-15.
des Datenregisters 82 mit dem Inhalt des ACU 75 (der die Bits 0-7 des Registers 82 enthält) ausgeführt, wobei das Ergebnis in dem ACU 75 gespeichert wird.
15F - Es wird eine logische ODER-Verknüpfung der Bits 16-23
des Adreß-Schieberegisters 70 mit dem Inhalt des ACU 75
ausgeführt, und es wird das Ergebnis in dem ACU 75 gespeichert.
- Es wird eine logische ODER-Verknüpfung der Bits 8-15 des Adreß-Schieberegisters 70 mit dem Inhalt des ACU 75 ausgeführt,
und es wird das Ergebnis in dem ACU 75 gespeichert .
- Es wird eine logische Exklusiv-NOR-Verknüpfung der Bits
0r<7 des Adreß-Schieberegisters 70 mit dem Inhalt des
ACU 75 ausgeführt, und es wird das Ergebnis in dem ACU 75 gespeichert.
- Es wird der Inhalt des ACU 75 zu der arithmetischen Einheit AU 85 übertragen, um die AU-Status-Flip-Flops zu
setzen.
- Die Firmware fragt die AU-Status-Flip-Flops auf den Zustand Null ab. Wenn das Flip-Flop gesetzt ist, um anzuzeigen,
daß die Daten, die zu dem Sammelkanal gesendet wurden, mit den Daten übereinstimmen, die von dem Sammelkanal
empfangen werden, so läßt das Mikroprogramm den nächsten Speicherplatz aus und fährt mit der Bearbeitung
der Befehle am Speicherplatz 165 fort (Ende des Tests). Wenn das Flip-Flop nicht gesetzt ist, so fährt
das Mikroprogramm mit der Bearbeitung des nächsten Befehls fort. -
- Der MPDC-Systemtakt wird angehalten. Dies zeigt an, daß
eine Fehlfunktion in der Sammelkanal-Schnittstelle vorliegt. Die Daten, die zu dem Sammelkanal gesendet wurden,
stimmen nicht mit den Daten überein, die zu der Steuerung MPDC zurückgeführt werden.
909807/0760
Im Betrieb setzt die Firmware das Flip-Flop 800, um den Paritätsgenerator
604 freizugeben, der dadurch eine unkorrekte Parität
erzeugt. Die acht hochrangigen Bits des Sammelkanal-Adreßzählers
300 werden dadurch in die Lage versetzt, eine unkorrekte Parität zu liefern. Die Firmware gibt sodann Steuersignale über
die Steuerleitungen 318 und 136a gemäß Fig. 7 aus, um die Adreß-'
zähler 300, 302 und 303 mit "0" bzv7. "1" zu laden. Zusätzlich lädt die Firmware das Sammelkanal-Datenregister 100 gemäß Fig.
mit "0" bzw. "1" und überträgt die Steuerung zu der Hardware, wie dies zuvor beschrieben wurde, um eine Datenübertragung zu
bewirken. Bei der Ausführung der Datenübertragung gibt die Sammelkanal-Logikeinheit
128 ein Signal MYDCNN aus, was durch den Impulszug 713 gemäß Fig. 11 veranschaulicht ist.
Im Normalbetrieb erkennt der Hauptspeicher 12 das Daten-Zyklussignal
an und antwortet mit einem Bestätigungssignal, das die Annahme der Hauptspeicheradresse anzeigt, die die Steuerung MPDC-10
an den Sammelkanal 13 abgegeben hat. Da eine unkorrekte Parität in der Adresse enthalten ist, antwortet der Hauptspeicher
jedoch nicht.
Die Firmware arbeitet mit dem NAND-Gatter 805 und dem NOR-Gatter
807 gemäß Fig. 12 zusammen, um die Antwort zu simulieren, die normalerweise durch die Steuerung MPDC-10 erzeugt wird, und sie
lädt danach die Daten auf dem Sammelkanal 13 in das Adreß-Schieberegister 70 und das Datenregister 82 gemäß Fig. 4. Wenn
die Sammelkanal-Schnittstellenlogik richtig arbeitet, so ist die zuvor in die Adreßzähler 300, 302 und 303 geladene Hauptspeicheradresse
identisch mit der in das Adreß-Schieberegister.70 geladenen
Adresse. Ferner sind die durch die Firmware in das Sammelkanal-Datenregister 100 geladenen Daten identisch mit den
Daten, die in das Datenregister 82 geladen wurden. Irgendwelche Unterschiede signalisieren das Vorliegen einer logische Fehifunktion.
909807/0760
Die Hardware gemäß Pig. 12 und die Firmware testen ferner die
Sammelkanal-Schnittstellenlogik, indem das Register 98 für die zweite Lesehälfte mit "0" bzw. "1" geladen wird. Der Dätenmultiplexer
122 wird für das Ausgangssignal des Registers 9 8 ausgewählt, und es wird die zuvor beschriebene Sammelkanal-Zyklusoperation
wiederholt. Der Inhalt des Datenregisters 82 wird sodann mit den bekannten Daten verglichen, die in das Register 98
geladen wurden, um Fehler der Schnittstellenlogik festzustellen,
909807/0760
L e e r s e i t e
Claims (4)
- JKFÜKMATIOM SYSTEMS IJNiC. ' ί K> ^ I ■■-->■■>■2OO Sisith St-raet ' ονι 1^Waitham, Mass., DSA 510163 4 GeVerfahren zum Testen einer Schnittstellenlogik sowie System zur Durchführung des Verfahrens .Patentansprüche:'1. Verfahren zum Testen einer Schnittstellenlogik in einem DV-Systemr dessen Systemeinheiten einen an eine gemeinsame Saimnelschiene angeschlossenen Hauptspeicher umfassen,-gekennzeichnet durch:a. die JürzeiTgung eines unkorrekten Paritätscodes in Ausgangs-Adreßregistern einer zu testenden Systemeinheit, wodurch ein Zwischen-Nachrichtenaustausch mit dem Hauptspeicher vermieden vrird;b. das Laden von vorbestimmten Daten in Ausgangs-Datenregister der Systemeinhe.it und einer Hauptspeicher-Adresse in die-Ausgangs-Adreßregister;c. die Ausgabe einer Sammelschienen-Zyklusanforderung und das Entladen der Ausgangs-Datenregister und der Ausgangs-Adreßregister über die gemeinsame Sammelschiene;d. die Erzeugung einer Bestätigung der Hauptspeicheradresse mit unkorrektem Paritätscode durch die Systemeinheit, um ein Laden der vorbestimmten Daten und der Hauptspeicheradresse in entsprechende Eingangs-Datenregister und Eingangs-Adreßregister der Systemeinheit auszulösen; unde. den Vergleich der vorbestimraten Daten und der Hauptspeicheradresse mit dem Inhalt der Eingangs-Datenregister und der Eingangs-Adreßregister, um Schnittstellen-Logikfehler festzustellen.909807/078 0 OR1GINAL ,NSPECTED2 _ 283188a
- 2. System zur Durchführung des Verfahrens nach Anspruch 1, gekennzeiciiiiet durch:a. eine Firmware-Steuereinrichtung in elektrischer Verbindung mit den Systemeinheiten zum Laden vorbestimmter Daten in einer .Aasgsngs-Datei'Speichercdnrichtung und einer Hauptspcichcradro.nse in einer Ausgangs-Adreßspeichereinrichtung, um diese Daten zur Sammelschiene zu übertragen;b. eine Paritäts-Erzeugungseinrichtung, die von der ririHV.-c.ri::- Steuereinrichtung gesteuert ist und einen unkorrekten Pa-; :itätscode für die Ausgtuigs-Ädreßspeichersiiirichturig erzeuge; undc. eine in elektrischer Verbindung mit der Firmware-Steueren n·· richtnng stehende. Log.ikgattercinrichtung zur Erzeugung eine.r Bestätigung einer nicht auftrerenden Antwort der Hauptspeichei einheit, auf die Hauptspe.i cheradretse.
- 3. System nach Anspruch 2, dadurch gekennzeichnet, dciß die Paritäts-Erzeugungseinrichtung umfeißt:a. ein auf die rirmware-Steuereinrichtung ansprechendes Flip-Flop; undb. einen mit dem Flip-Flop in elektrischer Verbindung stehenden Paritätsgenerator zur Erzeugung des unkorrekten Paritätscodes .
- 4. System nach Anspruch 2, dadurch gekenn ze ich η e t , daß die Logikgattereinrichtung umfaßt:a. ein auf die Firnrware--Steuereinrichtung ansprechendes NAND-Gatter; undb. ein mit dem NAND-Gatter elektrisch verbundenes NOR-Gatter zur Lieferung eines Bestätigungssignales an die Sammelschiene.. ORIGINAL INSPECTED909807/0760
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/821,939 US4159534A (en) | 1977-08-04 | 1977-08-04 | Firmware/hardware system for testing interface logic of a data processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2831684A1 true DE2831684A1 (de) | 1979-02-15 |
DE2831684C2 DE2831684C2 (de) | 1987-01-15 |
Family
ID=25234654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19782831684 Granted DE2831684A1 (de) | 1977-08-04 | 1978-07-19 | Verfahren zum testen einer schnittstellenlogik sowie system zur durchfuehrung des verfahrens |
Country Status (7)
Country | Link |
---|---|
US (1) | US4159534A (de) |
JP (1) | JPS5838812B2 (de) |
AU (1) | AU523280B2 (de) |
CA (1) | CA1118528A (de) |
DE (1) | DE2831684A1 (de) |
FR (1) | FR2399695A1 (de) |
GB (1) | GB2002155B (de) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4410984A (en) * | 1981-04-03 | 1983-10-18 | Honeywell Information Systems Inc. | Diagnostic testing of the data path in a microprogrammed data processor |
JPS6052468B2 (ja) * | 1982-03-04 | 1985-11-19 | 株式会社東芝 | Dmaバス負荷可変装置 |
US4667305A (en) * | 1982-06-30 | 1987-05-19 | International Business Machines Corporation | Circuits for accessing a variable width data bus with a variable width data field |
US4514806A (en) * | 1982-09-30 | 1985-04-30 | Honeywell Information Systems Inc. | High speed link controller wraparound test logic |
US4667329A (en) * | 1982-11-30 | 1987-05-19 | Honeywell Information Systems Inc. | Diskette subsystem fault isolation via video subsystem loopback |
US5070448A (en) * | 1982-12-09 | 1991-12-03 | International Business Machines Coproration | Method for testing a microprogrammed input/output interface using steal techniques |
US4558447A (en) * | 1983-02-28 | 1985-12-10 | International Business Machines Corporation | Self-testing facilities of off-chip drivers for processor and the like |
US4896262A (en) * | 1984-02-24 | 1990-01-23 | Kabushiki Kaisha Meidensha | Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory |
US4663729A (en) * | 1984-06-01 | 1987-05-05 | International Business Machines Corp. | Display architecture having variable data width |
US5263170A (en) * | 1985-02-16 | 1993-11-16 | Omron Tateisi Electronics, Co. | Monitor circuit for detecting noise conditions through input output coincidence comparison |
JPH01120511U (de) * | 1988-02-08 | 1989-08-15 | ||
JP2687927B2 (ja) * | 1995-05-24 | 1997-12-08 | 日本電気株式会社 | 外部バスの障害検出方法 |
US6289472B1 (en) * | 1997-08-07 | 2001-09-11 | Texas Instruments Incorporated | Method and test system for testing under a plurality of test modes |
US8356053B2 (en) * | 2005-10-20 | 2013-01-15 | Oracle International Corporation | Managing relationships between resources stored within a repository |
CN109933345B (zh) * | 2019-03-28 | 2022-05-31 | 杭州和利时自动化有限公司 | 一种控制器的无扰下装方法及相关装置 |
CN112783708A (zh) * | 2021-01-28 | 2021-05-11 | 蘑菇物联技术(深圳)有限公司 | Dtu硬件测试方法、终端和计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1910582A1 (de) * | 1968-03-29 | 1969-10-09 | Honeywell Inc | Digitales Speichersystem |
DE2019795A1 (de) * | 1970-04-23 | 1971-11-04 | Siemens Ag | Datenverarbeitungsanlage mit Ein-Ausgabeeinrichtungen |
DE2442847A1 (de) * | 1973-09-10 | 1975-03-13 | Cii Honeywell Bull | Test- und diagnoseanordnung fuer eine datenverarbeitungseinheit |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3576541A (en) * | 1968-01-02 | 1971-04-27 | Burroughs Corp | Method and apparatus for detecting and diagnosing computer error conditions |
US3579199A (en) * | 1969-02-03 | 1971-05-18 | Gen Motors Corp | Method and apparatus for fault testing a digital computer memory |
DE2158433C3 (de) * | 1971-11-25 | 1975-07-31 | Ibm Deutschland Gmbh, 7000 Stuttgart | Verfahren und Einrichtung zur Fehlerprüfung und Fehlerlokalisierung in einer moduleren Datenverarbeitungsanlage |
DE2423260A1 (de) * | 1974-05-14 | 1975-11-20 | Siemens Ag | Verfahren und schaltungsanordnung zur pruefung von daten verarbeitenden anlagen, insbesondere fernsprechvermittlungsanlagen mit ueber ein busleitungssystem an eine steuerzentrale angeschlossenen peripheren einrichtungen |
US4048481A (en) * | 1974-12-17 | 1977-09-13 | Honeywell Information Systems Inc. | Diagnostic testing apparatus and method |
DE2527888C3 (de) * | 1975-06-23 | 1979-06-07 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Schaltungsanordnung zur Bestimmung von Fehlern in Daten verarbeitenden Anlagen, insbesondere Fernsprechvermittlungsanlagen |
-
1977
- 1977-08-04 US US05/821,939 patent/US4159534A/en not_active Expired - Lifetime
-
1978
- 1978-05-25 CA CA000304106A patent/CA1118528A/en not_active Expired
- 1978-07-18 AU AU38114/78A patent/AU523280B2/en not_active Ceased
- 1978-07-19 DE DE19782831684 patent/DE2831684A1/de active Granted
- 1978-07-25 FR FR7822036A patent/FR2399695A1/fr active Granted
- 1978-08-03 GB GB7832141A patent/GB2002155B/en not_active Expired
- 1978-08-04 JP JP53094711A patent/JPS5838812B2/ja not_active Expired
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1910582A1 (de) * | 1968-03-29 | 1969-10-09 | Honeywell Inc | Digitales Speichersystem |
DE2019795A1 (de) * | 1970-04-23 | 1971-11-04 | Siemens Ag | Datenverarbeitungsanlage mit Ein-Ausgabeeinrichtungen |
DE2442847A1 (de) * | 1973-09-10 | 1975-03-13 | Cii Honeywell Bull | Test- und diagnoseanordnung fuer eine datenverarbeitungseinheit |
Also Published As
Publication number | Publication date |
---|---|
CA1118528A (en) | 1982-02-16 |
AU3811478A (en) | 1980-01-24 |
FR2399695B1 (de) | 1982-06-18 |
GB2002155A (en) | 1979-02-14 |
AU523280B2 (en) | 1982-07-22 |
US4159534A (en) | 1979-06-26 |
FR2399695A1 (fr) | 1979-03-02 |
JPS5838812B2 (ja) | 1983-08-25 |
JPS5428539A (en) | 1979-03-03 |
GB2002155B (en) | 1982-01-27 |
DE2831684C2 (de) | 1987-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2831684A1 (de) | Verfahren zum testen einer schnittstellenlogik sowie system zur durchfuehrung des verfahrens | |
DE2828544C2 (de) | ||
DE3222390C2 (de) | ||
DE2831280C2 (de) | Buszugriffs-Steuereinheit in einem Datenübertragungs-Steuersystem | |
DE2902080C2 (de) | Anordnung zum Steuern von Datenübertragungen zwischen einem Hauptspeicher und Eingabe/Ausgabe-Einheiten | |
DE3222389C2 (de) | ||
DE3300262C2 (de) | ||
DE2751106C2 (de) | ||
DE3301628A1 (de) | Schaltungsanordnung fuer den datenaustausch zwischen zwei rechnern | |
CH522921A (de) | Rechneranlage | |
DE2316296C2 (de) | Mikroprogrammierbarer Prozessor | |
DE2755952C2 (de) | ||
DE2148847A1 (de) | Schaltungsanordnung zum Steueren peripherer Ein- und Ausgabegeraete von Datenverarbeitungssystem | |
DE2703394A1 (de) | Datenverarbeitungssystem | |
DE2500721A1 (de) | Sekundaerspeicher fuer datenverarbeitungssysteme | |
DE2755371A1 (de) | Ein/ausgabe-verarbeitungssystem | |
DE2721623C2 (de) | ||
DE2725522A1 (de) | Datenverarbeitungsvorrichtung | |
DE2856680A1 (de) | Befehlspuffer fuer ein datenverarbeitungssystem | |
DE2417446A1 (de) | Adapter fuer datenverarbeitungsanlagen | |
DE2748580A1 (de) | Schnittstelle fuer den datenaustausch zwischen einer datenverarbeitungsanlage und einer peripheren einheit | |
DE2657897A1 (de) | Externes geraet, das die ureingabe fest gespeichert enthaelt, fuer elektronische datenverarbeitungsanlagen mit einem zentralen speicher | |
DE2745204A1 (de) | Mikroprogramm-leitwerk fuer eine datenverarbeitungsanlage | |
DE2517170C2 (de) | Schaltungsanordnung zum Unterbrechen des Programmablaufs in Datenverarbeitungsanlagen mit mehreren Ansteuereinrichtungen von Sekundärspeichern und dergleichen Speichereinheiten mit sequentiellem Zugriff | |
EP0409330B1 (de) | Schaltungsanordnung zum Steuern des Zugriffs auf einen Speicher |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US |
|
8339 | Ceased/non-payment of the annual fee |