DE2858284C2 - - Google Patents

Info

Publication number
DE2858284C2
DE2858284C2 DE19782858284 DE2858284A DE2858284C2 DE 2858284 C2 DE2858284 C2 DE 2858284C2 DE 19782858284 DE19782858284 DE 19782858284 DE 2858284 A DE2858284 A DE 2858284A DE 2858284 C2 DE2858284 C2 DE 2858284C2
Authority
DE
Germany
Prior art keywords
data
output
fifo
unit
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE19782858284
Other languages
English (en)
Other versions
DE2858284A1 (de
Inventor
Jr. Edward F. Lynn Mass. Us Getson
Albert T. Hudson N.H. Us Mclaughlin
John H. Nashua N.H. Us Kelley
Donald J. Andover Mass. Us Rathbun
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Inc
Original Assignee
Honeywell Information Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US05/821,900 external-priority patent/US4204250A/en
Priority claimed from US05/821,931 external-priority patent/US4159532A/en
Application filed by Honeywell Information Systems Inc filed Critical Honeywell Information Systems Inc
Publication of DE2858284A1 publication Critical patent/DE2858284A1/de
Application granted granted Critical
Publication of DE2858284C2 publication Critical patent/DE2858284C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • G06F5/14Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Bus Control (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)

Description

Die vorliegende Erfindung bezieht sich auf eine Datenübertragungs- Steuervorrichtung nach dem Gattungsbegriff des Patentanspruches 1. Ein Datenverarbeitungssystem, bei dem mehrere Systemeinheiten elektrisch an einen gemeinsamen Dialog-Bus zwecks asynchroner Informationsübertragung angeschlossen sind, ist aus der US-PS 39 93 981 bekannt. Bei der Übertragung von einem Hauptspeicher eines solchen Datenverarbeitungssystems zu einer peripheren Speichereinheit kann ein Problem auftreten, wenn die periphere Steuerung unmittelbar nach dem Empfang eines Datenwortes auf Grund einer vorangegangenen Anforderung nicht ein zusätzliches Datenwort vom Hauptspeicher anfordert. In diesem Fall kann der Dialogbus von einer anderen Systemeinheit beansprucht werden.
Es ist daher die Aufgabe der vorliegenden Erfindung, eine Datenübertragungs-Steuervorrichtung anzugeben, die einem Datenpuffer die Signalisierung der Aufnahmebereitschaft einer weiteren Dateneinheit gestattet.
Die Lösung dieser Aufgabe gelingt gemäß der im Patentanspruch 1 gekennzeichneten Datenübertragungs-Steuervorrichtung. Weitere vorteilhafte Ausgestaltungen der erfindungsgemäßen Steuervorrichtung sind den Unteransprüchen entnehmbar.
Das bevorzugte Ausführungsbeispiel betrifft ein Datenverarbeitungssystem mit mehreren Systemeinheiten, die elektrisch an eine gemeinsame Dialog-Sammelschiene für eine asynchrone Informationsübertragung angeschlossen sind, wobei ein logisches Datenübertragungs-Steuersystem der Steuerung der Übertragung von Datenworten von einem Hauptspeicher zu einer peripheren Steuerung dient.
Das logische Steuersystem umfaßt insbesondere eine Anordnung von FIFO-Datenpuffern (FIFO = First-In-First-Out) und eines FIFO-Voraussagepuffers, die parallel betrieben werden. Wenn eine Datenanforderung an den Hauptspeicher erfolgt, so wird der FIFO-Voraussagepuffer mit einem Leerbyte bzw. einem Hinweisbyte geladen.
Wenn das Datenbyte vom Hauptspeicher empfangen wird und in die FIFO-Datenpuffer geladen wird und das Eingangsregister des Voraussagepuffers nicht gefüllt ist, so wird eine nächste Datenanforderung an den Hauptspeicher ausgegeben. Wenn das Eingangsregister des Voraussagepuffers gefüllt ist, so erfolgt jedoch keine zusätzliche Datenanforderung bis die Daten in dem Eingangsregister in den FIFO-Stapel gefallen sind.
Wenn die FIFO-Datenpuffer gefüllt sind, so ist der FIFO-Voraussagepuffer ebenfalls gefüllt, und es erfolgt keine weitere Datenanforderung an den Hauptspeicher bis ein Datenbyte zu einer peripheren Speichereinheit übertragen ist. In diesem Fall fällt das Hinweisbyte in dem Eingangsregister des Voraussagepuffers in den Pufferstapel. Das Eingangsregister signalisiert daraufhin den Auftritt einer günstigen Voraussage hinsichtlich der Speicherkapazität, und es wird ein zusätzliches Datenwort vom Hauptspeicher angefordert. Wenn die Daten von dem Hauptspeicher empfangen und in die Eingangsregister der Datenpuffer geladen werden, so wird das Eingangsregister des Voraussagepuffers erneut in der zuvor beschriebenen Weise abgetastet. Wenn durch die Datenbyteübertragung zu der peripheren Speichereinheit das Eingangsregister des Voraussagepuffers geleert worden ist, so wird eine zusätzliche Datenanforderung an den Hauptspeicher ausgegeben. Andernfalls erfolgen keine weiteren Datenanforderungen bis eine Übertragung zu der peripheren Speichereinheit erfolgt ist.
Eine Ausführungsform der Erfindung sieht vor, daß von dem Hauptspeicher empfangene Datenworte in einem Datenpuffer für ein linkes Byte und einem Datenpuffer für ein rechtes Byte gespeichert werden. Bei der Übertragung der Daten zu einer Plattenspeichereinheit werden die linken und rechten Bytes abwechselnd für die Übertragung ausgewählt. Wenn der Datenpuffer für das rechte Byte entladen wird, so wird der Voraussagepuffer ebenfalls entladen, um die Betriebsweise des Voraussagepuffers mit derjenigen der Datenpuffer zu synchronisieren.
Anhand eines in den Figuren der Zeichnungen dargestellten Ausführungsbeispieles sei die erfindungsgemäße Steuervorrichtung im folgenden näher beschrieben. Es zeigt
Fig. 1 ein Blockdiagramm eines Datenverarbeitungssystems mit Systemeinheiten, die elektrisch an eine gemeinsame Sammelschiene angeschlossen sind,
Fig. 2 ein Blockdiagramm der Plattenspeicher-Steuerung gemäß Fig. 1,
Fig. 3 und 4 detailliertes Blockdiagramm der Plattenspeicher- Steuerung gemäß Fig. 1 und
Fig. 5 ein detailliertes Logikdiagramm der FIFO-Dateneinheit gemäß Fig. 3.
Fig. 1 veranschaulicht in Form eines funktionellen Blockdiagramms ein Computersystem mit einer Plattenspeicher-Steuerung MPDC-10 mittlerer Leistung in elektrischer Verbindung mit einer Zentraleinheit 11 und einem Hauptspeicher 12, wobei die Verbindung über eine gemeinsame Dialog-Sammelschiene erfolgt, die mit hoher Leistung ausgestattet ist und nachstehend als Sammelkanal 13 (Megabus) bezeichnet ist. Die Steuerung MPDC-10 ist ein mikroprogrammiertes peripheres Steuer-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 beschreibenden Weise gespeicherte Mikroprogrammbefehle aufweist. Der Festwertspeicher steht im Nachrichtenaustausch mit Massenspeicher-Adaptern, 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-Zyklusanforderung aus. Wenn der Sammelschienenzyklus gewährt wird, so wird die anfordernde Einheit dominierend, und die adressierte Systemeinheit wird nebengeordnet. Einige Sammelschienendialoge erfordern sowohl einen Anwortzyklus als auch einen Anforderungszyklus. Beispielsweise kann die Einheit mit Vorrang sich selbst einer nebengeordneten Einheit zu erkennen geben und anzeigen, daß 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-Zyklusanforderungen besitzt die Zentraleinheit die niedrigste Priorität, die Steuerung MPDC-10 die nächst niedrigste Priorität und der Hauptspeicher 12 die höchste Priorität.
Eine detaillierte Beschreibung des Systems gemäß Fig. 1 kann der US-PS 39 93 981 entnommen werden.
Fig. 2 veranschaulicht in Form eines funktionellen Blockdiagramms die Steuerung MPDC-10 gemäß Fig. 1, und Fig. 3 zeigt die binären Befehlsformate, die für den Betrieb der Steuerung MPDC-10 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-10 und dem Sammelkanal 13 übertragen werden. Die Logikeinheit 20 umfaßt ferner eine Steuerlogik für die Informationsverteilung auf dem Andreßkabel 21 innerhalb der Steuerung MPDC-10.
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-Verschiebebereichszähler, der mit einem Zählstand geladen wird, der die Anzahl der führenden Datenbytes anzeigt, die während einer Übertragung gelesener Daten zu unterdrücken sind.
Die Recheneinheit ALU-24 bildet den Kernpunkt aller Datenoperationen innerhalb der Steuerung MPDC-10. Solche Datenoperationen können zwischen der Steuerung MPDC-10 und dem Sammelkanal 13 oder zwischen der Steuerung MPDC-10 und dem 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-Operandenmultiplexer AMUX, einem B- Operandenmultiplexer BMUX, einer Acht-Bit-Arithmetikeinheit AU und einem Acht-Bit-Akkumulator ACU, was noch weiter zu beschreiben sein wird. Unter Firmwaresteuerung wählt der Mutliplexer AMUX eines von 8 Datenfeldern aus, und der Mutliplexer 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 Logikeinheit 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 und 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.
Die Adapter-Logikeinheit 29 ist an den Geräteadapter 14 über ein Zweirichtungs-Dialogkabel 38 angeschlossen. Die Logikeinheit 29 bildet einen Dialogweg für die Steuerung MPDC-10, um die Übertragung von Daten und Statusinformation zwischen dem Adapter 14 und der Steuerung MPDC-10 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ätzen 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 ALU-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-10 ausgegeben.
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 MPIR, 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 Festwertspeicherchips 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 Recheninheit ALU-24 über ein Kabel 35 und von der Mikroprogramm- Steuerspeicher-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- Datenkabel 41 zwischen der Steuerung MPDC-10 und dem Sammelkanal 13. Irgendeine Information, die in die Steuerung MPDC-10 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-Kanalnummer an den Sammelkanal 13 aufgrund einer Sammelschienen-Zyklusanforderung von einer Systemeinheit abzugeben. Vier der fünf FIFO-Puffer empfangen Daten und der fünfte Puffer wird benutzt, um die Steuerung MPDC-10 daran zu hindern, 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 Betriebes der Steuerung MPDC-10 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-10 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-10 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.
Die Fig. 3 und 4 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 A 2 eines 8 zu 1- Multiplexers AMUX-72 zugeführt. Die Bits 15 und 16 des Schieberegisterausgangs werden über ein Datenkabel 73 dem Eingang A 1 eines Indexregisters 74 zugeführt. Der Takteingang CK des Schieberegisters 70 ist an eine Steuerleitung 70 a angeschlossen, die zu einem Firmware-Ausgangsanschluß führt, der noch weiter beschrieben wird.
Der Eingang A 1 des Multiplexers AMUX-72 ist an den 8-Bit-Ausgang eines Akkumulators 75 angeschlossen, und der Eingang A 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 A 4 des Multiplexers AMUX-72 ist über ein Datenkabel 78 mit dem Ausgang eines 8-Bit-Zwischenspeicher- Adressenzählers 79 verbunden. Der Eingang A 5 des Multiplexers AMUX-72 ist an ein Datenkabel 80 angeschlossen, das zu dem Ausgang D 1 des Indexregisters 74 führt, und der Eingang A 6 des Multiplexers AMUX-72 ist mit dem 8-Bit-Ausgang eines 1 Kilobit ×8-Bit-Zwischenspeichers 81 verbunden. Der Eingang A 7 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 72 a an einen Firmware-Ausgangsanschluß angeschlossen. Der 8-Bit-Ausgang des Multiplexers AMUX-72 ist mit dem Eingang A 1 einer ODER-Logikeinheit 83 verbunden.
Ein 4 zu 1-Multiplexer BMUX-84 weist einen 8-Bit-Ausgang auf, der mit dem Eingang A 2 einer Recheneinheit 85 verbunden ist. Der Eingang A 1 des Multiplexers BMUX-84 ist über ein Steuerkabel 86 an die Firmware angeschlossen. Der Eingang A 2 des Multiplexers BMUX- 84 ist mit dem Ausgang des Zwischenspeichers 81 über ein Datenkabel 87 verbunden. Der Eingang A 3 des Multiplexers BMUX-84 ist an ein Steuerkabel 88 und der Eingang A 4 ist über ein Datenkabel 89 mit dem Ausgang des Akkumulators 75 verbunden. Der Auswahleingang SEL des Multiplexers ist über eine Steuerleitung 84 a an die Firmware angeschlossen.
Der Eingang A 1 der Recheneinheit 85 ist über ein Datenkabel 90 mit dem 8-Bit-Ausgang D 1 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 93 an den Dateneingang des Zählers 79 angeschlossen. Ferner ist der Ausgang der arithmetischen Einheit über Datenkabel 92 und 94 mit dem Eingang A 2 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 A 2 des Indexregisters 74 angeschlossen. Der Ladeeingang LD des Akkumulators ist über eine Steuerleitung 75 a mit einem Firmware-Ausgangsanschluß verbunden.
Der Eingang A 1 der arithmetischen Steuereinheit 91 ist über eine Steuerleitung 106 an einen Ausgangsanschluß des Firmware-Steuersystems angeschlossen, und der Eingang A 2 der Steuereinheit 91 ist über eine Steuerleitung 107 mit dem Ausgang D 1 einer Hardware- Steuereinheit 108 verbunden.
Der Eingang A 1 der Steuereinheit 108 ist an eine Steuerleitung 109 angeschlossen, die zu einem Ausgang des Firmware-Steuersystems führt, und der Eingang A 2 der Steuereinheit 108 ist mit einer Steuerleitung 108 a verbunden. Der Unterbrechungseingang A 3 der Steuereinheit 108 ist über den Geräteadapter 14 an eine Steuerleitung 110 angeschlossen. Der Eingang A 4 der Steuereinheit ist mit einer Steuerleitung 108 b verbunden, die zu dem Hardware- Steuersystem führt. Der Ausgang D 2 der Steuereinheit 108 ist über eine Steuerleitung 111 an den Eingang A 1 der Adapter-Logikeinheit 29 angeschlossen, und der Ausgang D 3 der Steuereinheit 108 ist mit einer Steuerleitung 112 verbunden, die zu dem Eingang A 1 der Daten-Steuereinheit 113 führt. Der Ausgang D 4 der Steuereinheit 108 ist über eine Steuerleitung 70 b mit dem Ladeeingang LD des Schieberegisters 70 verbunden, und der Ausgang D 5 ist an den Eingang A 1 der Test-Logikeinheit 102 angeschlossen. Der Ausgang D 6 der Steuereinheit ist mit einer Steuerleitung 108 c verbunden, die zu dem Hardware-Steuersystem führt.
Von der Firmware erzeugte Taktsignale auf einer Steuerleitung 79 b werden dem Takteingang CK des Adreßzählers 79 zugeführt, und Firmware-Steuersignale auf einer Steuerleitung 114 werden dem Eingang LD des Zählers zugeführt. Ferner erhält der Auf/Abwärts- Auswahleingang des Zählers Firmware-Steuersignale über eine Steuerleitung 79 b zugeführt. Zwei Ausgangsbits des Zählers werden auf den Eingang A 1 des Selektors 115 geschaltet. Die niedrigrangigen 6 Bits am Ausgang des Zählers werden dem Eingang A 2 des Zwischenspeichers 81 zugeführt.
Der Eingang A 2 des Selektors 115 ist an den Ausgang D 2 des Indexregisters 74 angeschlossen, dessen Eingang LD von der Firmware über eine Steuerleitung 74 a 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 A 1 des Zwischenspeichers 81 ist über ein Datenkabel an den 8-Bit-Ausgang D 2 der Logikeinheit 83 angeschlossen. Der Eingang A 2 der Logikeinheit 83 ist mit dem Ausgang D 1 der FIFO- Datenpuffereinheit 118 verbunden, und der Eingang A 3 der Logikeinheit 83 ist an den Ausgang D 2 der Puffereinheit 118 angeschlossen. Der Ladeeingang LD des Registers wird von der Hardware über eine Steuerleitung 82 a gesteuert. Der Ausgang des Registers ist ferner an Datenkabel 139 und 140 angeschlossen.
Der Eingang LD des Sammelkanal-Datenregisters 100 wird von der Daten- Steuereinheit 113 über eine Steuerleitung 121 beaufschlagt. Der Ausgang des Registers 100 wird dem Eingang A 2 eines 2 zu 1- Datenmultiplexers 122 zugeführt. Der 16-Bit-Eingang A 1 des Multiplexers wird von dem SHRD-Register 98 geliefert, dessen Eingang LD über eine Steuerleitung 98 a 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 A 2 durch das Firmware-Steuersystem über eine Steuerleitung 124 angelegt. Die Sammelschienen-Logikeinheit 128 liefert ferner ein Statussignal über eine Steuerleitung 102 a an den Eingang A 3 der Logikeinheit 102 und die Steuereinheit 77 liefert ein Bereichsendesignal an den Eingang A 4 der Logikeinheit über eine Steuerleitung 102 b. Der Eingang A 5 der Logikeinheit 102 ist mit einer Steuerleitung 125 verbunden, die Unterbrechungssignale von dem Ausgang D 1 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 A 2 verbundenen Steuerleitung 127. Der Ausgang der Logikeinheit wird dem Eingang A 1 des Geräteadapters 14 zugeführt. Eine Steuerleitung 29 a ist zwischen den Ausgang der Logikeinheit und den Eingang A 5 der Daten-Steuereinheit 113 geschaltet und mit einer Steuerleitung 118 b verbunden, die zu dem Parallelübertragungseingang TOP der FIFO-Datenpuffereinheit 118 führt.
Gemäß Fig. 4 ist der Sammelkanal 13 über ein Zweirichtungs-Datenkabel 129 an die Sammelkanal-Logikeinheit 128 angeschlossen. Der Eingang A 2 der Logikeinheit 128 ist über ein Datenkabel 103 mit dem Ausgang des Akkumulators 75 verbunden, und der Eingang A 3 der Logikeinheit ist an eine Steuerleitung 130 angeschlossen, die zu einem Ausgang des Firmware-Steuersystems führt. Der Eingang A 4 der Logikeinheit 128 ist mit dem Ausgang D 1 der Steuereinheit 77 verbunden, und der Eingang A 5 der Logikeinheit ist an den Ausgang D 1 der FIFO-Puffereinheit 131 angeschlossen. Der Eingang A 6 der Logikeinheit liegt über eine Steuerleitung 128 a an dem Hardware- Steuersystem. Der Ausgang D 1 der Logikeinheit 128 ist an ein Datenkabel 88 angeschlossen, und der Ausgang D 2 ist mit einer Steuerleitung 132 verbunden, die zu dem Auswahleingang SEL des Datenmultiplexers 122 führt. Der Ausgang D 3 der Logikeinheit ist mit dem Eingang A 2 der Daten-Steuereinheit 113 verbunden, und der Ausgang D 4 ist an den Eingang A 1 der FIFO-Puffereinheit 131 angeschlossen. Der Ausgang D 5 der Logikeinheit 128 ist mit dem Auswahleingang SEL eines dualen 2 zu 1-Adressenmultiplexers 133 verbunden, und der Ausgang D 6 der Logikeinheit ist an eine Steuerleitung 102 a angeschlossen.
Der Eingang A 2 der FIFO-Puffereinheit 131 ist mit dem Ausgang D 1 der Steuereinheit 113 verbunden, und der Ausgang D 2 der FIFO- Puffereinheit ist an den Eingang A 3 der Steuereinheit 113 angeschlossen. Der Eingang A 4 der Steuereinheit 113 ist mit einem Ausgang des Firmware-Steuersystems über eine Steuerleitung 134 verbunden, und der Eingang A 5 der Steuereinheit ist an eine Leitung 29 a angeschlossen. Der Ausgang D 2 der Steuereinheit ist mit einer Steuerleitung 121 verbunden, und der Ausgang D 3 ist über eine Steuerleitung 135 an einen Steuereingang CTR der FIFO-Daten- Puffereinheit 118 angeschlossen. Der Ausgang D 4 der Daten-Steuereinheit 113 ist an den Eingang A 1 der Steuereinheit 77 gelegt, und der Ausgang D 5 ist an eine Steuerleitung 98 a angeschlossen, die zu dem Ladeeingang LD des Registers 98 führt.
Der Eingang A 2 der Steuereinheit 77 ist mit dem Ausgang D 1 eines Sammelkanal-Adreßregisters 136 verbunden, und der Eingang A 3 der Steuereinheit ist über eine Steuerleitung 137 an einen Ausgang des Firmware-Steuersystems angeschlossen. Der Ausgang D 2 der Steuereinheit 77 ist mit einem Datenkabel 76 verbunden, das zu einem Eingang des Multiplexers AMUX-72 führt. Der Ausgang D 3 der Steuereinheit 77 liegt an einer Steuerleitung 77 a, die zu dem Eingang A 3 des Geräteadapters 14 führt, und an einer Steuerleitung 102 b, die zu dem Eingang A 4 der zuvor beschriebenen Test- Logikeinheit 102 führt.
Das Sammelkanal-Adreßregister 136 besteht aus einem 24-Bit-Aufwärtszähler, der so gesteuert sein kann, daß er entweder Bytes odeer Worte zählt, wobei ein Wort aus zwei Bytes besteht. Der 8-Bit-Ausgang D 1 der Einheit 136 wird ferner dem Eingang B 1 des Adressenmultiplexers 133 zugeführt, und der 8-Bit-Ausgang D 2 der Einheit 136 ist mit dem Eingang B 2 des Multiplexers 133 verbunden. Der 8-Bit-Ausgang D 3 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 136 a angesteuert. Die 8-Bit-Eingänge A 1 und A 2 des Adressenmultiplexers 133 sind über Datenkabel 139 und 140 an das Datenregister 82 angeschlossen.
Im Betrieb bildet die Steuerung MPDC-10 eine Schnittstelle mit dem Plattenadapter 14, der seinerseits mehrere Platteneinheiten bedienen kann, wie dies in Fig. 1 dargestellt ist.
Wenn eine ungebetene Sammelkanalanforderung von dem Sammelkanal 13 aufgenommen wird, so gibt die Sammelkanal-Logikeinheit 128 ein Signal auf der Leitung 102 a aus, die zu der Test-Logikeinheit 102 führt. Ferner wird eine Anforderung hinsichtlich des Geräteadapters 14 durch ein Unterbrechungssignal auf der Steuerleitung 127 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 Sammelkanal-Logikeinheit 128 ein Nichtbestä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, betreffend eine zweite Platteneinheit, beschäftigt ist, so kann die Logikeinheit 128 ein Warte-Statussignal an den Sammelkanal 13 ausgeben. Wenn die adressierte Platteneinheit 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 Fig. 3 und 4 zusammenarbeitende Fimware vorbereitet werden. Die Datenübertragung erfolgt jedoch durch die Hardware/ Firmware-Steuerung des Systems. Eine detaillierte Beschreibung dieser Harware kann der US-PS 39 93 981 und den folgenden Honeywell-Handschriften entnommen werden: MPDC Reference Manual, Doc. No. 71 010 241-100, Bestellnr. FM 55, Rev. O; MPDC Cartridge Disc Adapter Reference Manual, Doc. No. 71 010 239-100, Bestellnr. FM 57, Rev. O; und MPDC Disc Adapter Reference Manual, Doc. No. 71 010 441-100, Bestellnr. FK 90, 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 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 Sammelkanal 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-10.
Um Mittel zur Steuerung des Betriebes der Platteneinheit während einer Lese- oder einer Schreiboperation vorzusehen, liefert die Zentraleinheit CPU-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 Belegtsignal 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 Datenreigster 82 zu speichern ist. Ferner ist die Firmware in der Lage, durch Abfragen des Funktionscodes zwischen 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 Konfigurationswort A fest, und ein Funktionscode von hexadezimal 1 3 legt ein Konfigurationswort B fest. Ferner legt ein Funktionscode von hexadezimal 0 D einen Bereichszählstand (zu übertragende Datenbytes) fest.
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 Hauptspeicheradresse, 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 83 zu dem Eingang A 1 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 A 1 auszuwählen. Der Eingang A 1 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 A 1 des Indexregisters 74 zugeführt, um die Platteneinheit festzulegen, von der die Information zu lesen ist. Die zwei Identifizierungsbits werden unter Firmwaresteuerung über die Steuerleitung 74 a 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 der Steuerleitung 79 a und ein Taktsignal auf der Steuerleitung 79 b 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 AMUX- 72, die ODER-Logikeinheit 83 und das Datenkabel 117 angezeigt wird. Die Konfigurationsworte A und B, eine Hauptspeicheradresse, ein Bereich und eine Aufgabe werden hierdurch in den Zwischenspeicher geladen.
Bei Vervollständigung der Speicheroperation nimmt die Firmware Zugriff auf den Funktionscode 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 A 1 des Multiplexers BMUX-84. Der Multiplexer BMUX wählt den Eingang A 1 durch ein Firmware-Steuersignal auf der Steuerleitung 84 a 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 79 durch den Multiplexer AMUX-72 und die ODER-Logikeinheit 83 zu dem Eingang A 1 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.
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 adressieren, dem die vorliegende Aufgabe zugeordnet ist, durch ein NAK-Statussignal bestätigt.
Bei der Feststellung des Vorhandenseins einer Aufgabe nimmt die Firmware auf die in dem Zwischenspeichere 81 gespeicherte Aufgabe Zugriff und überträgt diese Information über den Multiplexer AMUX-72 und die ODER-Logikeinheit 83 zu 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 BMUX-84 und die arithmetische Einheit 85 zu den Datenkabeln 92 und 94 geleitet, die zu dem Geräteadapter 14 führen.
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 96 zu dem Sammelkanal-Adreßregister 136. Das Laden des Adreßregisters 136 wird unter Firmwaresteuerung über die Leitung 136 a bewerkstelligt. Die Firmware nimmt sodann Zugriff auf die in dem Zwischenspeicher 81 gespeicherte Bereichsinformation und überträgt diese Information ü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ßreigster 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-10 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 CPU-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 der 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.
Die Firmware liefert ferner Sammelkanal-Logikanweisungen an den Multiplexer BMUX-84 ü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 weisen 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 sachreiben 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 Schreibanweisung 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 A 1 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 die Daten-Steuereinheit 113 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- Loghikeinheit 128 fordert danach ein zweites Datenwort nur an, wenn das Leerbyte von dem Eingangsregister der FIFO-Einheit 131 in den FIFO-Stapel gefallen 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 A 2 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 118 a 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 29 a und 118 b dem TOP-Anschluß der FIFO-Dateneinheit 118 zugeführt. Die Ausgänge D 1 und D 2 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.
Der Abtastimpuls der Logikeinheit 29 wird ebenfalls über die Steuerleitung 29 a der Daten-Steuereinheit 113 zugeführt. Der Empfang zweier solcher Abtastimpulse zeigt an, daß ein Zweibyte- Datenwort von der FIFO-Dateneinheit 118 zu dem Geräteadapter 14 übertragen worden ist. Die Daten-Steuereinheit 113 gibt daraufhin ein Steuersignal an den Eingang A 2 der FIFO-Einheit 131, um ein Leerbyte aus dem Ausgangsregister der 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 geschrieben 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 Hauptspeicheradresse umfaßt, und nachdem diese Anforderung durch den Hauptspeicher 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 102 b 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 enes 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 wird, 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.
Fig. 5 zeigt ein detailliertes logisches Schaltungsdiagramm der FIFO-Puffereinheit 131 gemäß Fig. 4. Es sei darauf verwiesen, daß ein kleiner Kreis am Eingang einer logischen Einheit anzeigt, daß dieser Eingang durch ein "0"-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 enes UND-Gatters 403 angeschlossen. Ein zweiter Eingang des Gatters 403 ist mit einer Steuerleitung 404 verbunden, die zu einer Leitung 110 gemäß Fig. 3 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.
Der Triggereingang des Flip-Flops 405 ist mit dem Ausgang Q des Flip-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 aufweist. Der Ausgang des Flip-Flops 405 wird dem Parallelübertragungseingang TOP dws FIFO-Puffers 408 zugeführt.
Der Ausgang 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 410 für 16 Worte mit 8 Bit angeschlossen. Der Ausgang 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 408 a angeschlossen, das zu dem Datenregister 82 gemäß Fig. 3 führt. Der Parallel-Datenausgang des FIFO-Puffers 408 ist mit einem Datenkabel 408 b verbunden, das zu dem Kabel 94 führt. Der Eingang LD des FIFO-Puffers 410 ist an eine Steuerleitung 413 angeschlossen, und der Dateneingang dieses Puffers ist mit einem Datenkabel 410 a verbunden, das zu dem Datenregister 82 führt. Der Parallelausgang des Puffers ist über ein Datenkabel 410 b 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 "0"-Pegel, wenn das Eingangsregister gefüllt ist. Das Signal am Ausgang OPR des FIFO-Puffers 411 ist über eine Steuerleitung 411 b an die Leitung 102 b gemäß Fig. 4 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 416 a angeschlossen. Der Ausgang des Gatters 416 wird dem EingangT 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 verbunden, dessen einer Eingang an eine Steuerleitung 422 angeschlossen ist. Ein zweiter Eingang des Gatters 420 ist mit einer Steuerleitung 422 verbunden.
Ein zweiter Eingang des Gatters 414 ist an eine Steuerleitung 417 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-10 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-10 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. 3 gespeicherte Daten verlorengehen, bevor der volle zu übertragende Datenbereich vom Hauptspeicher in die Platteneinheit eingeschrieben worden ist. Das Logiksystem gemäß Fig. 5 weist eine Einrichtung zur Vermeidung dieses Problems auf.
Wenn im Betrieb Daten von dem Hauptspeicher 12 zu der Steuerung MPDC-10 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. 4 ein "1"-Signal an die Steuerleitung 422 aus, um anzuzeigen, daß der Sammelkanal 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-10 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 während einer Zeitperiode an die Steuerleitung 416 a, wenn die Steuerung MPDC-10 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 128 ein "1"-Signal an die Steuerleitung 423 aus, um anzuzeigen, daß eine Sammelkanal-Zyklusanforderung der Steuerung MPDC-10 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 IPR des FIFO-Puffers schaltet auf einen "0"-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 408 a und 410 a in die FIFO-Puffer 408 und 410 entsprechend geladen. Die Sammelkanal-Logikeinheit 128 schaltet daraufhin die Steuerleitung 416 a auf einen "1"-Pegel um, um anzuzeigen, daß die Sammelkanal-Zyklusanforderung 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 Ausgangssignale 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 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 dergestallt, daß die Datenbytes in den FIFO-Puffern 408 und 410 in die entsprechenden 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 "0"-Pegel. Das Gatter 416 ist somit gesperrt und die Erzeugung von Zyklusanforderungen 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 Abtastimpuls 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-Behandlungsanforderungssignal an die Steuerleitung 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 des Flip-Flops triggern dadurch abwechselnd die Flip-Flops 405 und 406. Wenn das Flip-Flop 405 getriggert ist, so wird der Ausgang 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 408 b geliefert, das zu dem Geräteadapter 14 führt. Wenn das Ausgangsregister geleert ist, so stellt der Ausgang OPR des FIFO-Puffers 408 sofort das Flip- Flop 405 zurück. In gleicher Weise liefert der Ausgang 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 "1"-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 "0"-Pegel um. Wenn ferner eine ungebetene Sammelkanalanforderung oder andere Daten auf dem Sammelkanal 13 auftreten, die die Steuerung MPDC-10 zur Ausgabe eines NAK-Signals 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.

Claims (3)

1. Datenübertragungs-Steuervorrichtung für eine eine periphere Speichereinheit in einem Datenverarbeitungssystem bedienende periphere Steuerung, die über einen gemeinsamen Dialog-Bus für eine asynchrone Informationsübertragung mit einem Hauptspeicher und anderen Systemeinheiten in Verbindung steht, gekennzeichnet durch
  • a) mehrere FIFO-Datenpuffer (408, 410, Fig. 5; FIFO-Dateneinheit 118, Fig. 3) in elektrischer Verbindung (408 a, 410 a) mit einem gemeinsamen Bus (13);
  • b) einen FIFO-Voraussagepuffer (411, Fig. 5; FIFO-Einheit 131, Fig. 3), dessen Ausgangssignal (415) anzeigt, wann ein in die FIFO-Datenpuffer (408, 410) geladenes Datenwort in deren Pufferstapel übernommen wird;
  • c) eine erste Logik-Steuereinrichtung (414-423) zum Laden des FIFO-Voraussagepuffers (411) mit einem Hinweisbyte bei der Ausgabe von Datenanforderungen (419) an den Hauptspeicher (12) und
  • d) eine zweite Logik-Steuereinrichtung (400-407) zum Entladen der FIFO-Datenpuffer (408, 410) und des FIFO-Voraussagepuffers (411) bei der Datenübertragung zu der peripheren Speichereinheit (15) (Fig. 5).
2. Datenübertragungs-Steuervorrichtung nach Anspruch 1, wobei das Datenverarbeitungssystem sowohl Firmware- als auch Hardware- Steuereinrichtungen umfaßt, dadurch gekennzeichnet, daß die erste Logik-Steuereinrichtung (414-423) aufweist:
  • a) ein erstes auf die Hardware-Steuereinrichtung (108, Fig. 3) ansprechendes UND-Gatter (420);
  • b) ein zweites auf den FIFO-Voraussagepuffer (411), die Hardware- und die Firmware-Steuereinrichtung ansprechendes UND-Gatter (416);
  • c) ein mit dem Ausgang des ersten UND-Gatters (410) verbundenes und auf den Ausgang des zweiten UND-Gatters (416) ansprechendes Flip-Flop (418) für die Ausgabe der Datenanforderung (419) an den Hauptspeicher (12) und
  • d) ein mit einem Eingang (416 a) des zweiten UND-Gatters (416) verbundenes und auf die Hardware- und Firmware-Steuereinrichtung ansprechendes drittes UND-Gatter (414) zum Liefern von Ladesignalen an den FIFO-Voraussagepuffer (411).
3. Datenübertragungs-Steuervorrichtung nach Anspruch 1, wobei das Datenverarbeitungssystem sowohl Firmware- als auch Hardware- Steuereinrichtungen umfaßt und die FIFO-Datenpuffer (408, 410) einen Puffer für ein linkes Byte und einen Puffer für ein rechtes Byte zur Speicherung von Datenworten mit zwei Bytes umfassen, gekennzeichnet dadurch, daß die zweite Logik-Steuereinrichtung (400-407) aufweist:
  • a) ein erstes auf die Firmware- und Hardware-Steuereinrichtung ansprechendes UND-Gatter (400);
  • b) ein erstes mit dem Ausgang des ersten UND-Gatters (400) verbundenes Flip-Flop (405) zur Lieferung eines ersten Ausgangsdaten- Übertragungssteuersignals an den FIFO-Datenpuffer (408) für das linke Byte;
  • c) ein zweites mit einem Eingang (402) des ersten UND-Gatters (400) verbundenes und auf die Firmware- und Hardware- Steuereinrichtung ansprechendes UND-Gatter (403);
  • d) ein zweites mit dem Ausgang des ersten UND-Gatters (400) verbundenes Flip-Flop (406) zur Lieferung eines zweiten Ausgangsdaten-Übertragungssteuersignals an den FIFO- Datenpuffer (410) für das rechte Byte und an den FIFO- Voraussagepuffer (411) und
  • e) ein drittes Flip-Flop (407), das auf den Ausgang des zweiten UND-Gatters (403) anspricht un dessen Ausgänge Eingänge des ersten und zweiten Flip-Flops (405, 406) ansteuern zum abwechselnden Auswählen des FIFO-Datenpuffers (408, 410) für das linke Byte bzw. für das rechte Byte und des FIFO- Voraussagepuffers (411) für die Übertragung der Ausgangsdaten.
DE19782858284 1977-08-04 1978-07-19 Expired DE2858284C2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US05/821,900 US4204250A (en) 1977-08-04 1977-08-04 Range count and main memory address accounting system
US05/821,931 US4159532A (en) 1977-08-04 1977-08-04 FIFO look-ahead system

Publications (2)

Publication Number Publication Date
DE2858284A1 DE2858284A1 (de) 1985-07-04
DE2858284C2 true DE2858284C2 (de) 1987-05-21

Family

ID=27124602

Family Applications (2)

Application Number Title Priority Date Filing Date
DE19782831709 Granted DE2831709A1 (de) 1977-08-04 1978-07-19 Datenuebertragungs-steuersystem
DE19782858284 Expired DE2858284C2 (de) 1977-08-04 1978-07-19

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE19782831709 Granted DE2831709A1 (de) 1977-08-04 1978-07-19 Datenuebertragungs-steuersystem

Country Status (3)

Country Link
DE (2) DE2831709A1 (de)
FR (1) FR2406251B1 (de)
GB (2) GB2002936B (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3241356A1 (de) * 1982-11-09 1984-05-10 Siemens AG, 1000 Berlin und 8000 München Vorrichtung zur mikroprogramm-steuerung eines informationstransfers und verfahren zu ihrem betrieb
JP2004070570A (ja) * 2002-08-05 2004-03-04 Seiko Epson Corp データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
GB2500255B (en) 2012-03-16 2020-04-15 Oxsensis Ltd Optical sensor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3351917A (en) * 1965-02-05 1967-11-07 Burroughs Corp Information storage and retrieval system having a dynamic memory device
GB1264096A (de) * 1970-06-27 1972-02-16
GB1447627A (en) * 1972-12-11 1976-08-25 Cable & Wireless Ltd Buffer stores
FR2260141A1 (en) * 1974-02-01 1975-08-29 Honeywell Bull Soc Ind Data transfer control for data processor - is used between periodic and non-periodic units employing buffer memory
US3993981A (en) * 1975-06-30 1976-11-23 Honeywell Information Systems, Inc. Apparatus for processing data transfer requests in a data processing system

Also Published As

Publication number Publication date
DE2858284A1 (de) 1985-07-04
GB2002936A (en) 1979-02-28
DE2831709C2 (de) 1990-10-04
FR2406251B1 (fr) 1986-01-10
GB2061577A (en) 1981-05-13
GB2061577B (en) 1982-10-20
FR2406251A1 (fr) 1979-05-11
DE2831709A1 (de) 1979-02-22
GB2002936B (en) 1982-04-28

Similar Documents

Publication Publication Date Title
DE2755952C2 (de)
DE3300262C2 (de)
DE2125507C3 (de) Einrichtung zur Steuerung des Zugriffs von in einem Anforderungsspeicher eingereichten Anforderungen auf der Basis der geringsten Wartezeit
DE2902080C2 (de) Anordnung zum Steuern von Datenübertragungen zwischen einem Hauptspeicher und Eingabe/Ausgabe-Einheiten
DE2829550C2 (de)
DE3114961C2 (de)
DE2755371A1 (de) Ein/ausgabe-verarbeitungssystem
DE1424732C3 (de) Einrichtung zum gegenseitigen Austausch von Angabenwörtern zwischen einem unmittelbar zugänglichen Hauptspeicher eineT Ziffernrechenmaschine und einem an diese angeschlossenen Sekundärspeicher vergleichsweise längerer Zugriffszeit
DE2912738A1 (de) System mit direkter uebertragung zwischen subsystemen
DE2751106C2 (de)
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
DE3301628A1 (de) Schaltungsanordnung fuer den datenaustausch zwischen zwei rechnern
DE2806045A1 (de) Dv-system mit pufferspeicher
DE2209282B2 (de) Datenverarbeitungsanlage
DE3704056A1 (de) Peripherer dma-controller fuer datenerfassungssysteme
DE1524166B1 (de) Schaltungsanordnung zur Herstellung von Verbindungen zwischen mehreren unabhaengigen Teilen und einem gemeinsamen Teil einer Datenverarbeitungsanlage
DE3049774C2 (de)
DE2831684A1 (de) Verfahren zum testen einer schnittstellenlogik sowie system zur durchfuehrung des verfahrens
CH634938A5 (de) Einrichtung fuer die weiterleitung von speicherzugriffsanforderungen.
DE1524111B2 (de) Elektronische Datenverarbeitungsanlage
DE2858284C2 (de)
DE2517170C2 (de) Schaltungsanordnung zum Unterbrechen des Programmablaufs in Datenverarbeitungsanlagen mit mehreren Ansteuereinrichtungen von Sekundärspeichern und dergleichen Speichereinheiten mit sequentiellem Zugriff
DE2609698A1 (de) Elektronischer rechner
DE2900460A1 (de) Warteschlangenstruktur
DE4413459A1 (de) Programmierbares Multiprozessor-Interrupt-Controllersystem

Legal Events

Date Code Title Description
Q172 Divided out of (supplement):

Ref document number: 2831709

Ref country code: DE

8110 Request for examination paragraph 44
8181 Inventor (new situation)

Free format text: GETSON, JR., EDWARD F., LYNN, MASS., US MCLAUGHLIN, ALBERT T., HUDSON, NEW HAMPSHIRE, US KELLEY, JOHN H., NASHUA, NEW HAMPSHIRE, US RATHBUN, DONALD J., ANDOVER, MASS., US

8125 Change of the main classification

Ipc: G06F 13/16

AC Divided out of

Ref country code: DE

Ref document number: 2831709

Format of ref document f/p: P

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

AC Divided out of

Ref country code: DE

Ref document number: 2831709

Format of ref document f/p: P

8339 Ceased/non-payment of the annual fee