DE2831709C2 - - Google Patents

Info

Publication number
DE2831709C2
DE2831709C2 DE19782831709 DE2831709A DE2831709C2 DE 2831709 C2 DE2831709 C2 DE 2831709C2 DE 19782831709 DE19782831709 DE 19782831709 DE 2831709 A DE2831709 A DE 2831709A DE 2831709 C2 DE2831709 C2 DE 2831709C2
Authority
DE
Germany
Prior art keywords
data
die
der
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 - Lifetime
Application number
DE19782831709
Other languages
English (en)
Other versions
DE2831709A1 (de
Inventor
Edward F. Jun. Lynn Mass. Us Getson
Albert T. Hudson N.H. Us Mclaughlin
John H. Nashua N.H. Us Kelly
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 Bull 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,931 external-priority patent/US4159532A/en
Priority claimed from US05/821,900 external-priority patent/US4204250A/en
Application filed by Honeywell Bull Inc filed Critical Honeywell Bull Inc
Publication of DE2831709A1 publication Critical patent/DE2831709A1/de
Application granted granted Critical
Publication of DE2831709C2 publication Critical patent/DE2831709C2/de
Granted 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)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Debugging And Monitoring (AREA)

Description

Die vorliegende Erfindung bezieht sich auf eine Datenübertragungs- Steuervorrichtung nach dem Gattungsbegriff des Patentanspruches.
Eine solche Steuervorrichtung ist beispielsweise aus H. Schecher, "Funktioneller Aufbau digitaler Rechenanlagen", Springer-Verlag, Berlin, 1973, Seiten 153-155, bekannt. Dort erfolgt eine Datenübertragung zwischen einem Speicherblock in einem Hauptspeicher (Kernspeicher) und einem Speicherblock in einem Hilfsspeicher (Plattenspeicher) durch Wortgruppentransferbefehle, die durch ein Mikroprogramm vorgesehen sind. Innerhalb einer Wortgruppe erfolgt die Adressierung der Speicherzellen mittels eines Zählers, um ausgehend von einer Start-Speicherzelle auf eine vorbestimmte Anzahl von Speicherzellen Zugriff zu nehmen.
Ein weiteres Datenverarbeitungssystem, bei dem mehrere Systemeinheiten elektrisch an einen gemeinsamen Dialogbus 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 Daten mit einer Geschwindigkeit anfordert, die die Übertragungsgeschwindigkeit der peripheren Speichereinheit übersteigt. In diesem Fall können Daten verlorengehen.
In den bekannten Systemen ist deswegen die Datenübertragungsgeschwindigkeit unter einen Sicherheitsschwellwert herabgemindert worden, oder es wurden Datenanforderungen unmittelbar nach dem Empfang eines Datenwortes auf Grund einer vorangegangenen Anforderung ausgegeben, ohne daß hierbei Rücksicht auf die Verfügbarkeit von Speicherplätzen genommen wurde. In Betriebskonfigurationen, bei denen die Datenübertragungsgeschwindigkeiten den Sicherheitsgrenzbereich erreicht haben, hat sich keine dieser Lösungen als befriedigend erwiesen.
Ausgehend von diesem Stand der Technik ist es daher die Aufgabe der vorliegenden Erfindung, eine Datenübertragungs-Steuervorrichtung anzugeben, die es ermöglicht, den Zugriff auf den gemeinsamen Dialogbus in der erforderlichen Weise aufrechtzuerhalten, ohne daß Daten verlorengehen und die Datenübertragungsgeschwindigkeit herabgemindert wird. Die Lösung dieser Aufgabe gelingt gemäß den kennzeichnenden Merkmalen des Patentanspruches.
Die vorliegende Erfindung sieht eine dynamische Verfolgung der Übertragung von Datenbytes vor. Insbesondere sind Adressenzähler, Bereichszähler und Verschiebebereichszähler in einer solchen Weise miteinander verbunden, daß das Laden von Daten mit einem geringen Eingriff der Firmware gestattet wird. Eine Speicheradresse, ein Bereichszählstand und ein Verschiebebereichszählstand werden vor einer Datenübertragung aus einem Zwischenspeicher unter Firmwaresteuerung geladen. Die Firmwaresteuerung versetzt danach die Hardwaresteuerung in die Lage, den Zählstand der Adreßzähler zu erhöhen und den Zählstand der Bereichszähler zu erniedrigen, wobei dies während der Datenübertragung erfolgt, um eine höhere Datenübertragungsgeschwindigkeit als bei einer Firmwaresteuerung zu ermöglichen.
Anhand eines in den Figuren der Zeichnung dargestellten Ausführungsbeispieles sei die Erfindung 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 eine graphische Darstellung der Dialogworte, die über die gemeinsame Sammelschiene gemäß Fig. 1 übertragen werden,
Fig. 4 und 5 ein detailliertes Blockdiagramm der Plattenspeicher- Steuerung gemäß Fig. 1,
Fig. 6 ein Blockdiagramm des Firmware-Steuersystems, wie es zur Steuerung des Betriebs des Systems gemäß der Fig. 4 und 5 verwendet wird,
Fig. 7 ein detailliertes Blockdiagramm der Bereichs- und Verschiebe-Steuereinheit der Fig. 4 und 5.
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 bzw. Sammelleitung 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 beschreibender Weise gespeicherte Mikroprogrammbefehle aufweist. Der Festwertspeicher steht im Nachrichtenaustausch mit Massenspeicher-Adaptern, wie beispielsweise dem Geräteadapter bzw. Plattenspeichergeräteeinheit 14, der die Fähigkeit aufweist, mehrere hintereinandergeschaltete 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 Antwortzyklus 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änger, ü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 Adreß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 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 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 1024 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 Arbeitspeicherplä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 1024 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- 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 MPCD 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 FIFO-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 Betriebs der Steuerung MPDC-10 werden durch eine System-Takteinheit 42 geliefert, die aus einem 6-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.
Gemäß den Fig. 3a und 3b sind die spezifischen Parameterformate für Maschinenbefehle dargestellt, wie sie für den Sammelschienendialog mit der Steuerung MPDC-10 benutzt werden.
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-Kanalnummer 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-10 ü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 60 b, 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 61 b und einen 6-Bit-Vorratsbereich 61 c.
Die Speicheradresse 61 a wird dem Sammelkanal 13 über das Kabel 21 zugeführt, das an die Adressen-Logikeinheiten 20 angeschlossen ist. Die Kanalnummer 61 b und der Vorratsbereich 61 c werden der Daten- Logikeinheit 36 über das Datenkabel 41 zugeführt. Aufgrund des Lese-Anforderungsbefehls gibt die Steuerung MPDC einen Speicher- Leseantwortbefehl aus, der eine 10-Bit-Bestimmungs-Kanalnummer 62 a, einen 6-Bit-Vorratsbereich 62 b und 16 Bit von zu übertragenden Daten 62 c umfaßt. Die Bestimmungs-Kanalnummer und der Vorratsbereich werden zu dem Sammelkanal über das Adreßkabel 21 übertragen, während die 16 Datenbits über das Kabel 41 zu dem Sammelkanal übertragen werden. Es sei darauf verwiesen, daß der Inhalt des Vorratsbehälters 62 b identisch mit dem Vorratsbereich 61 c ist. Die durch die Zentraleinheit CPU in dem Vorratsbereich 61 c gespeicherte Information wird somit durch den Vorratsbereich 62 b zu dem Sammelkanal zurückgeholt.
Die Zentraleinheit CPU-11 kann Daten vom Hauptspeicher übertragen und eine Aufgabe anzeigen, die die Steuerung MPDC-10 hinsichtlich der Daten auszuführen hat. Beispielsweise kann die Zentraleinheit CPU einen E/A-Ausgangs-Anweisungsbefehl ausgeben, der eine 10-Bit- Bestimmungs-Kanalnummer 63 a zur Festlegung der Steuerung MPDC, einen 6-Bit-Funktionscode 63 b zur Festlegung einer Zwischenspeicheradresse und 16 Bit von in dem festgelegten Zwischenspeicher zu speichernden Daten 63 c umfaßt. Wie zuvor beschrieben, werden die Bestimmungs-Kanalnummer und der Funktionscode durch die Adressen- Logikeinheit 20 über das Adreß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.
Die Firmware kann ferner aus dem niedrigrangigen Bit des Funktionscodes 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-Bestimmungs- Kanalnummer 64a, einem 6-Bit-Funktionscode 64 b, einer 10-Bit- Quellen-Kanalnummer 64 c, die die Quelle der Anforderung festlegt, und einem 6-Bit-Vorratsbereich 64 d. Aufgrund der CPUQ-Anforderung gibt die Steuerung MPDC einen E/A-Eingangs-Antwortbefehl aus, der eine 10-Bit-Bestimmungs-Kanalnummer 65 a, einen 6-Bit-Vorratsbereich 65 b und 16 Datenbits 65 c aufweist. Der Vorratsbereich 65 b speichert hierbei die Daten, die in dem Vorratsbereich 64 d auftreten.
Wenn Daten in die Zwischenspeichereinheit 31 einzuschreiben sind, so tritt eine Operaton 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 66 b, einen 6-Bit-Funktionscode 66 c und 16 Adreßbits 66 d, 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 Sammelkanal 13 auszugeben. Die Zentraleinheit CPU gibt daraufhin einen zweiten Befehl aus, der eine 10-Bit-Bestimmungs-Kanal- Nummer 67 a zur Festlegung der Steuerung MPDC, einen 6-Bit- Funktionscode 67 b, ein hochrangiges Bit 67 c zur Anzeige, ob der Bereichszählstand positiv oder negativ ist, und 15 Bereichsbits 67 c zur Anzeige der Anzahl der zu übertragenden Datenbytes umfaßt. Die Firmware nimmt daraufhin Zugriff auf den Funktionscode, um die Zwischenspeicher-Speicherplätze festzulegen, in denen der Bereich und das Bit S zu speichern sind.
Im Unterbrechungsbetrieb gibt die Steuerung MPDC-10 einen Unterbrechungsbefehl aus, der eine 10-Bit-Bestimmungs-Kanalnummer 68a, einen logischen 6-Bit-Nullbereich 68 b, eine 10-Bit-Quellen- Kanalnummer 68 c und eine 6-Bit-Quellen-Prioritäts-Pegelnummer 68 d umfaßt. Wenn die Steuerung MPDC-10 eine Operation vervollständigt, so wird der Unterbrechungsbefehl an die Zentraleinheit CPU-11 ausgegeben. Wenn die Prioritäts-Pegelnummer der Steuerung MPDC-10 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 69 a, der für einen Benutzer reserviert ist (RFU), eine 1-Bit-Spurnummer 69 b und eine 8-Bit-Sektornummer 69 c. Das Sektornummernfeld wird um eins erhöht, nachdem jedes Datenfeld während einer Lese- oder einer Schreiboperation erfolgreich übertragen worden ist.
Das Konfigurationswort A umfaßt ein 4-Bit-RFU-Feld 70 a, ein 1-Bit-Plattenwahlfeld 70 b, ein 2-Bit-RFU-Feld 70 c und ein 9-Bit-Zylinder-Nummernfeld 70 d. 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 Schreiboperation 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 Konfiguratonsworte A und B in der Speichereinheit 31, was mittels der Recheneinheit ALU-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 Sammelschienen- 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 Recheneinheit ALU-24 verschoben. Bei der Datenübertragung zu dem Adapter 14 weist die Formware 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.
Wenn Daten von einer Platteneinheit zu lesen und in den Hauptspeicher 12 zu schreiben sind, so gibt die Zentraleinheit CPU-11 zunächst Maschinenbefehle aus, um in dem Zwischenspeicher Konfigurationsworte A
und B, 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 ausgelöst 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 A 2 eines 8 : 1- Multiplexers AMUX-72 zugeführt. Die Bits 15 und 16 des Schieberegisterausganges 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-12 ist an dem 6-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 72a 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 : 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 108a
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 108b 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 70b 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 108c 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 : 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-Logikschaltung 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 102a 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 102b. 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 29a
ist zwischen den Ausgang der Logikeinheit und den Eingang A 5 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 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 Logikschaltung ist an den Ausgang D 1 der FIFO-Puffereinheit 131 angeschlossen. Der Eingang A 6 der Logikeinheit liegt über eine Steuerleitung 128a 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 : 1-Adressenmultiplexers 133 verbunden, und der Ausgang D 6 der Logikeinheit ist an eine Steuerleitung 102a 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 29a 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 98a 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 77a, die zu dem Eingang A 3 des Geräteadapters 14 führt, und an einer Steuerleitung 102b, 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 oder 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 102a
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 Nichtbetä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. 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 39 93 981 und den folgenden Honeywell-Handschriften entnommen werden: MPDC Reference Manual, Doc. No. 71 010 241-100, Bestellnr. FM55, Rev. 0; MPDC Cartridge Disc Adapter Reference Manual, Doc. No. 71 010 239-100, Bestellnr. FM57, Rev. 0; und MPDC Disc Adapter Reference Manual, Doc. No. 71 010 441-100, Bestellr. FK90, Rev. 0.
Bei einer Lese- oder einer Schreioperation 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 Betriebs 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 Datenregister 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. 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 die 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 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 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 der Steuerleitung 79 a und ein Taktsignal auf der Steuerleitung 79 b ausgibt. Der Zähler wird angewiesen, auf- bw. 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 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 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, den 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 Zwischenspeicher 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 136a
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ß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-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 anzugeben, 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 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- Logikeinheit 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 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 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 Bereichssendesignal 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äteadpaterfehler 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. 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 A 1 eines Selektors 201 angeschlossen. Der 12-Bit-Ausgang des Selektors 201 wird 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 D 1 des Festwertspeichers ROS ist mit dem Eingang eines 16-Bit-Mikroprogramm-Befehlsregisters 204 verbunden, und der Ausgang D 2 des Festwertspeichers ROS ist an den Eingang A 3 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 Decodierers 205, dem Eingang A 1 des Rückkehrregisters 200 und dem Eingang A 1 eines Firmware-Verteilers 206 verbunden. Ein 1-Bit-Ausgang des Registers 204 wird dem Ladeeingang LD
des Rückkehrregisters 200 zugeführt.
Der Ausgang D 1 des Decodierers 205 wird dem Eingang A 2 des Selektors 201 zugeführt, und der Ausgang D 2 des Decodierers ist mit dem Eingang A 2 des Rückkehrregisters 200 verbunden. Ferner wird der Ausgang D 3 des Decodierers 205 dem Eingang A 2 des Verteilers 206 zugeführt. Der Ausgang D 1 des Verteilers ist an die Steuerleitung 130 angeschlossen, die zu der Sammelkanal-Logikeinheit 128 führt, und der Ausgang D 2 ist an die Steuerleitung 134 angeschlossen, die zu der Daten-Steuereinheit 113 führt. Der Ausgang D 3 des Verteilers 208 ist mit der Steuerleitung 127 verbunden, die an den Eingang A 2 der Adapter-Logikeinheit 29 angeschlossen ist, und der Ausgang D 4 führt zu der Steuerleitung 106, die an die arithmetische Steuereinheit 91 angeschlossen ist. Der Ausgang D 5 wird der Steuerleitung 109 zugeführt, die an den Eingang A 1 der Hardware-Steuereinheit 108 angeschlossen ist, und der Ausgang D 6 ist an die Leitung 137 angeschlossen, die zu dem Eingang A 3 der Steuereinheit 77 führt. Der Ausgang D 7 ist mit dem Steuerkabel 86 verbunden, und der Ausgang D 8 ist an die Steuerleitung 114 angelegt, die Ladeanweisungen dem Zähler 79 zuführt. Der Ausgang D 9 liegt an der Steuerleitung 116, und der Ausgang D 10 ist mit der Steuerleitung 124 verbunden. Der Ausgang D 11 liegt ab der Steuerleitung 70b, der Ausgang D 12 an der Steuerleitung 72a und der Ausgang D 13 an der Steuerleitung 84a. Die Ausgänge D 14 D 15 und D 16 liegen an den Steuerleitungen 75a, 74 a und 79 a. Die Ausgänge D 17 und D 18 sind mit den Steuerleitungen 79b und 136 a verbunden. Der Ausgang D 19 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 Firmwaresteuerung 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 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 Fig. 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 verstanden 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 1 0 bezieht sich auf die Tabelle C, der Operationscode von 0 1 1 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 1 1 0 auf die Tabelle G und der Operationscode 1 1 1 auf die Tabelle I.
Op.code-Befehle
Mikrobefehle
0 0 0
verschiedene
0 0 1 reserv. f. Benutzer
0 1 0 Sammelschienen-Logik
0 1 1 Recheneinheit (ALU)
1 0 0 Konstanten
1 1 0 Test
1 1 1 Verzweigung
Tabelle B
Verschiedene Anweisungen
Tabelle C
Sammelschiene-Logikanweisungen
Tabelle D
ALU-Anweisungen
Tabelle E
Konstanten-Anweisungen
Tabelle F
Speicher-Anweisungen
Tabelle G
Test-Anweisungen
Tabelle H
Test-Parameter
Tabelle I
Verzweigungs-Anweisungen
Tabelle J
AOP Multiplexer-Eingangsauswahl
Tabelle K
BOP Multiplexer-Eingang
Die Befehle der Tabellen C-G und I umfassen A
-Felder, bestehend aus den Bits A₀-A₃. Jedes der A-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 B₀ und B₁. Das B-Feld wird durch die Tabelle K definiert, wobei angezeigt wird, daß der Multiplexer BMUX 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-Feld der Tabelle D benutzt, um einen Übertragungseingang zu liefern, wobei das Ergebnis einer vorangegangenen Operation der arithmetischen Einheit 85 bei einer nachfolgenden Operation benutzt werden kann. Das F-Feld der Befehle der Tabelle D liefert eine Anweisung, um das Ergebnis der Operation der arithmetischen Einheit 85 in einem durch das A-Feld 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-Feld für Konstantwerte, und die niedrigrangigen Bits der Befehle der Tabelle F liefern die Tastimpulserzeugung zum Laden der durch das A-Feld festgelegten Register. Die Befehlsgruppe der Tabelle G umfaßt Testfelder T, die durch die Eintrittsstellen der Tabelle H definiert sind. Das A-Feld 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.
Mikrobefehl-Mnemonik
Hardwaregerät
RFU
Reserviert für Benutzer
Sammelkanallogig Sammelkanal-Logikeinheit 128
ALU Arithmetische Einheit 85, Arithmetische Steuereinheit 91, Akkumulator 75
Akkumulator Akkumulator 75
Zwischenspeicher Zwischenspeichereinheit 81
Zwischenspeicheradresse Zwischenspeicher-Adreßzähler 79
BLT Sammelkanal-Logiktests
Adreßzähler Sammelkanal-Adreßzähler 300, 302 und 303
Bereichszähler Bereichszähler 306-309
AOP Multiplexer AMUX-72
BOP Multiplexer BMUX-84
SP-Adresse Zwischenspeicher-Adreßzähler
Speicher Zwischenspeichereinheit 81
Fig. 7 zeigt ein detaillierteres Blockdiagramm der Bereichs- und Verschiebe-Steuereinheit 77, des Adressenmultiplexers 133 und des Sammelkanal-Adreßregisters 136. Ein Sammelkanal-Adreß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 Takteingang eines Sammelkanal-Adreßzählers 303 und dem Ausgang einer Adressen-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ßzähler.
Der Ladeeingang des Zählers 302 ist mit der Steuerleitung 136 a und den Ladeeingängen des Zählers 303, eines Bereichszählers 306, eines Bereichszählers 307, eines Verschiebebereichszählers 308 und eines Verschiebebereichszählers 309 verbunden. Die Zähler 306 und 307 bilden einen 16-Bit-Bereichs-Abwärtszähler, und die Zähler 308 und 309 bilden einen 16-Bit-Verschiebebereichs-Abwärtszähler. Der 8-Bit-Ausgang des Zählers 302 wird dem Eingang A 1 eines Adressenmultiplexers 310 und dem Dateneingang des Zählers 303 zugeführt. Der 8-Bit-Ausgang des Zählers 303 wird dem Eingang A 1 eines Adressenmultiplexers 311 und dem Dateneingang des Bereichszählers 306 zugeführt.
Der Adressenmultiplexer 310 erhält an seinem Eingang A 2 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 128 über eine Steuerleitung 313 beaufschlagt.
Der Adressenmultiplexer 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 Sammelkanal 13 führt. Der Auswahleingang SEL des Multiplexers 311 ist mit dem Auswahleingang 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 Bereichszählers 307 wird seinerseits dem Eingang des Verschiebebereichszählers 308 zugeführt, und der 8-Bit-Ausgang des Zählers 308 ist auf den Eingang des Verschiebebereichszählers 309 geführt. Der 8-Bit-Ausgang des Verschiebebereichszählers 309 ist seinerseits an die Steuerleitung 76 angeschlossen, die zu dem Eingang A 3 des Multiplexers AMUX-72 führt.
Die Taktquelle für das System gemäß Fig. 7 bildet ein 4,0-MHz- Oszillator 315, der Taktsignale an die Adreß-Taktlogikeinheit 304 und eine Bereichs-Taktlogikeinheit 316 liefert. Die Logikeinheit 304 empfängt Freigabesignale von der Sammelkanal-Logikeinheit 128 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 EN 4 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- Bestimmungsnummer und einen Funktionscode zu dem Adreß-Schieberegister 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ählstand, 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 82 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 Verschiebebereichszä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-Steuerregister 100. Wenn ein aus zwei Datenbytes bestehendes Datenwort von der Steuerung MPDC-10 an den Sammelkanal 13 zu übertragen ist, so wählt die Sammelkanal-Logikeinheit 128 die Eingänge A 1 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 akezptiert, wird die Hauptspeicheradresse in den Zählern 300, 302 und 303 um zwei erhöht.
Während der 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 Daten­ bytes 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 EN 4 der Logikeinheit 316 und gibt danach Freigabesignale an den Eingang EN 3 der Logikeinheit ü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ähler übertragenen Datenbytes wird zu dem Sammelkanal 13 übertragen.
Wenn der Bereichszählstand in den Zählern 306 und 307 abgearbeitet ist, so gibt der Zähler 307 ein Bereichsendsignal EOR
auf den Leitungen 77 a und 102 b 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- Bestimmungsnummer und ein Funktionscode werden in das Adreß- Schieberegister 70 geladen und Daten, die die Konfigurationswerte A und B, 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 zwei Leerbytes in 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-Kanalnummer von dem Zwischenspeicher 81 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 A 2 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 A 1 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 "1"-Signal an die Steuerleitung 319 aus, um die Bereichs-Taktlogikeinheit freizugeben. Die Bereichszähler 306 und 307 werden daraufhin hinsichtlich ihres Zählstandes um eines 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 EN 1 der Adreß-Taktlogikeinheit 304 frei. Aufgrund dessen wird er 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 77 a und 102 b aus. Die Datenübertragung vom Hauptspeicher 12 zur Platteneinheit 14 ist somit vervollständigt.
Das System gemäß Fig. 7 stellt eine wesentliche Verbesserung gegenüber bekannten Firmware-Datenübertgragungssteuerungen 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 Sammelkanal-Adreßzähler 300, 302 und 303, die Bereichszähler 306-307 und die Verschiebebereichszähler 308-309 seriell geladen werden, 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.

Claims (1)

  1. Datenübertragungs-Steuervorrichtung für eine Plattenspeichergeräteeinheit (14), die über eine Sammelleitung (13) mit einem Hauptspeicher (12) und einer Zentraleinheit (11) verbunden ist, gekennzeichnet durch
    • a) eine Adressen-Taktlogik (304) und eine Bereichs- Taktlogik (316);
    • b) einen Speicheradressenzähler (300, 302, 303), der - gesteuert von der Adressen-Taktlogik (304) - jedesmal, wenn der Hauptspeicher (12) ein Bestätigungssignal ausgibt, welches anzeigt, daß Datenbytes akzeptiert werden können, die Hauptspeicheradresse erhöht;
    • c) einen an den Speicheradreßzähler (300, 302, 303) angeschlossenen und von der Bereichs-Taktlogik (316) bei der Übertragung von Datenbytes freigegebenen Bereichszähler (305, 307) zur Anzeige einer vollständigen Datenübertragung; und
    • d) einen an den Bereichszähler (306, 307) angeschlossenen und von der Bereichs-Taktlogik (316) gesteuerten Verschiebebereichszähler (308, 309) zur Erweiterung des Speicheradressenbereichs und zur dynamischen Anzeige führender und bei der Übertragung zu unterdrückender Datenbytes.
DE19782831709 1977-08-04 1978-07-19 Datenuebertragungs-steuersystem Granted DE2831709A1 (de)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
DE2831709A1 DE2831709A1 (de) 1979-02-22
DE2831709C2 true DE2831709C2 (de) 1990-10-04

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 After (1)

Application Number Title Priority Date Filing Date
DE19782858284 Expired DE2858284C2 (de) 1977-08-04 1978-07-19

Country Status (3)

Country Link
DE (2) DE2831709A1 (de)
FR (1) FR2406251B1 (de)
GB (2) GB2061577B (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
GB2002936B (en) 1982-04-28
DE2858284C2 (de) 1987-05-21
GB2002936A (en) 1979-02-28
GB2061577B (en) 1982-10-20
FR2406251B1 (fr) 1986-01-10
FR2406251A1 (fr) 1979-05-11
DE2858284A1 (de) 1985-07-04
DE2831709A1 (de) 1979-02-22
GB2061577A (en) 1981-05-13

Similar Documents

Publication Publication Date Title
DE69021899T2 (de) DMA-Steuerung.
DE69217664T2 (de) Multimedia-signalprozessor-rechnersystem
DE2104733C2 (de) Eingabe/Ausgabe-Einrichtung für eine Datenverarbeitungsanlage
DE69124946T2 (de) Bidirektionaler FIFO-Puffer zur Schnittstellenbildung zwischen zwei Bussen
DE2831280C2 (de) Buszugriffs-Steuereinheit in einem Datenübertragungs-Steuersystem
DE69322985T2 (de) Ein-/Ausgabesteuerungssystem und Ein-/Ausgabesteuerungsverfahren im System
DE2755897C2 (de)
DE3786967T2 (de) Protokoll zum Ungültigerklären eines Cachespeichers für ein digitales Datenverarbeitungssystem.
DE69031367T2 (de) Blockübertragungs- und Koprozessorschnittstellenbefehl
DE2755952C2 (de)
DE69519117T2 (de) Ein Rechnersystem
DE3852928T2 (de) Datenprozessor mit A/D-Umsetzer, um mehrere analoge Eingabekanäle in Digitaldaten umzusetzen.
DE2755371A1 (de) Ein/ausgabe-verarbeitungssystem
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
DE69221986T2 (de) Vorrichtung zur Verringerung von Unterbrechungswiederholungsversuchen
DE2744531A1 (de) Elektronische datenverarbeitungsanlage
DE2750721A1 (de) Ein/ausgabe-system
DE2806045A1 (de) Dv-system mit pufferspeicher
DE2612083A1 (de) Verfahren und vorrichtung zur ein/ausgang-datenverarbeitung
DE3855300T2 (de) Schnittstellenschaltung zur Datenübertragung zwischen Prozessor und Ein-/Ausgabevorrichtung
DE69028836T2 (de) Datenverarbeitungssystem mit Direktspeicherzugriffssteuerung und Verfahren zur Busmasteränderung unter Verwendung Unterbrechungen mit gegebener Priorität
DE2054830C3 (de) Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge
DE2831684C2 (de) Schaltungsanordnung zum Testen einer Bus-Schnittstellenlogik
DE2831709C2 (de)
DE2609698A1 (de) Elektronischer rechner

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 13/00

8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 2858284

Format of ref document f/p: P

Q171 Divided out to:

Ref document number: 2858284

Ref country code: DE

AH Division in

Ref country code: DE

Ref document number: 2858284

Format of ref document f/p: P

8127 New person/name/address of the applicant

Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US

AH Division in

Ref country code: DE

Ref document number: 2858284

Format of ref document f/p: P

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee