DE2902477A1 - Datenverarbeitungsanordnung - Google Patents

Datenverarbeitungsanordnung

Info

Publication number
DE2902477A1
DE2902477A1 DE19792902477 DE2902477A DE2902477A1 DE 2902477 A1 DE2902477 A1 DE 2902477A1 DE 19792902477 DE19792902477 DE 19792902477 DE 2902477 A DE2902477 A DE 2902477A DE 2902477 A1 DE2902477 A1 DE 2902477A1
Authority
DE
Germany
Prior art keywords
data
memory
unit
address
transmission
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.)
Ceased
Application number
DE19792902477
Other languages
English (en)
Inventor
Kenneth D Holberger
Joseph E Samson
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.)
EMC Corp
Original Assignee
Data General Corp
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
Application filed by Data General Corp filed Critical Data General Corp
Publication of DE2902477A1 publication Critical patent/DE2902477A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Debugging And Monitoring (AREA)

Description

Datenverarbeitungsanordnung
Die Erfindung bezieht sich auf eine Datenverarbeitungsanordnung und insbesondere auf eine Datenverarbeitungs^· anordnung zur Erzielung sehr schneller Datenübertragungen aus Eingabe/Ausgabe-Einheiten zum und vom Hauptspeicher des Systems.
In Datenverarbeitungsanordnungen, in denen Datenblöcke zwischen Eingabe/Ausgabe-Einheiten (E/A-Einheiten) und dem Hauptspeicher der Anordnung übertragen werden müssen, erfolgt diese Datenübertragung normalerweise über einen entsprechenden Bus» der üblicherweise als E/ADatenbus bezeichnet wirdi dabei ist es erforderlich, daß die Zentraleinheit (CPU ) der Anordnung ihren Betrieb
909830/0823
unterbricht, damit entsprechende Register im Prozessor für die Anwendung bei der Datenübertragungsoperation verfügbar gemacht werden.Außerdem werden die eigenen internen SpeicherSteuersignale der Zentraleinheit zur Steuerung der Übertragung zum oder vom Speicher über die Zentraleinheit benötigt. Für jedes Datenwort aus dem zu übertragenden Datenwortblock muß das Steuerwerk der Zentraleinheit eine Adresse von der E/AEinheit beispielsweise zur Zentraleinheit übertragen, wobei diese Adresse dann entweder als absolute Adresse für den Zugriff auf den Speicher benutzt wird oder einer Speicherzuordnungs- und Speicherschutzeinheit (MAP-Einheit) der Zentraleinheit zuführt, die die logischen Adressen, die der Eingabelogik zugeführt werden, in absolute Adressen für den Zugriff auf den Speicher übersetzt, in den oder aus dem Daten übertragen werden sollen. Die Zentraleinheit muß dann auch die eigentlichen Datenwörter in ihren Registern für die entsprechende Übertragung in den Speicher oder aus dem Speicher über den Speicher-Bus der Datenverarbeitungsanordnung behandeln. Für jedes zu übertragende Datenwort muß die Zentraleinheit eine Adresse und ein Datenwort behandeln. Das Behandeln der Adresse in den CPU-Registern und in der MAP-Einheit nimmt normalerweise eine ziemlich lange Zeitperiode in Anspruch, und die gesamte Übertragungszykluszeit kann In manchen Systemen bis zu 1,5 bis 2 us betragen. Während dieser Zeitperiode kann die Zentraleinheit keine anderen Operationen ausführen, die die Register benötigen, die dabei angewendet werden, so daß ihr Ausnutzungswirkungsgrad niedrig ist. Bei solchen üblichen Datenkanal-Übertragungsoperationen können die E/A-Einheiten genügend langsam arbeiten,
/09830/0823
so daß die Verwendung irgendeiner anderen Einrichtung als des langsamen Standard-Datenkanals keinen echten Vorteil ergibt. Wenn jedoch mit hoher Geschwindigkeit arbeitende E/A-Einheiten beteiligt sind, ist es erwünscht, die unnötig langen Zeitperioden für die Adressen-und Datenverarbeitung zu vermeiden, damit die Unterbrechung des CPU-Betriebs auf ein Minimum herabgesetzt wird.
Nach der Erfindung können mit hoher Geschwindigkeit arbeitende E/A-Einheiten Daten direkt über einen zweiten Speicheranschluß, der von dem von der Zentraleinheit benutzten Speicheranschluß verschieden ist, in den Hauptspeicher der Datenverarbeitungsanordnung übertragen. Eine Schnellkanal-Steuerlogik ermöglicht solche Datenübertragungen ohne Verwendung interner Register der Zentraleinheit und ohne Verwendung der Speichersteuersignale der Zentraleinheit. Die Datenübertragung umgeht die Zentraleinheit und ermöglicht eine direkte Verbindung mit dem Hauptspeicher. Ein solcher Schnellkanal wird hauptsächlich für schnelle Hochleistungseinheiten benutzt, die für diesen Zweck mit geeigneten Schnittstellen ausgestattet sind. Tatsächlich multiplexiert ein solcher Schnellkanal die Übertragungen von Datengruppen aus mehreren verschiedenen E/A-Einheiten; er kann auch als "Gruppenmultiplexkanal" bezeichnet werden, obgleich in der nachfolgenden Beschreibung der Ausdruck "Schnellkanal" allgemein angewendet wird.
Da der Schnellkanal seinen eigenen Speicheranschluß und nicht den von der Zentraleinheit benutzten Speicheranschluß benutzt, werden die erforderlichen Steuersignale
909830/0823
für diese Benutzung in der internen Steuerlogik des Schnellkanals erzeugt, und es wird eine entsprechende Entscheidung angewendet, um zu gewährleisten, daß der Speicher nur von einer Gruppe von Speichersteuersignalen gesteuert wird, die aus einer Kombination der Speichersteuersignale aus der Zentraleinheit und.der Speichersteuersignale aus dem Schnellkanal abgeleitet ist. Zu diesem Zweck wird auch eine geeignete Speicheranschluß-Steuerlogik benutzt. Der Schnellkanal macht auch von seiner eigenen Speicherverwaltungs-oder Speicherzuordnungs- und Speicherschutzeinheit (MAP-Einheit) Gebrauch, und die übertragung vollständiger Datenwortblöcke kann so vorgesehen werden, daß nur eine einzige Adresse benötigt wird, nämlich die Adresse für das erste Datenwort im Datenwortblock. Sobald die Anfangsadresse von der SchnellkanalrSteuerlogik zugeordnet worden ist, kann der Schnellkanal nachfolgende Adressen für jedes der Datenwörter nacheinander liefern, die dann hintereinander in den oder aus dem Speicher übertragen werden. Die einzige andere Information, die noch benötigt wird, ist die Länge des Datenwortblocks, die in geeigneter Weise überwacht wird, so daß bei der Übertragung des letzten Datenworts bezüglich der letzten nacheinander zugeordneten Adresse der Schnellkanal weiß, daß die Datenübertragung des gesamten Datenwortblocks beendet ist. Der Schnellkanal erzeugt im wesentlichen den gleichen Typ von Speichersteuersignalen wie die Zentraleinheit, und es ist eine weitere Logikeinheit vorgesehen, die die Überlappung des Speicherzugriffs in einem größeren Ausmaß erlaubt,als es normalerweise in der Zentraleinheit vorgesehen ist. Beispielsweise ist der Schnellkanal so
909830/0823
ausgebildet, daß drei Speicherzugriffsoperationen überlappt werden, was im Gegensatz zum Normalfall der Überlappung von zwei Speicherzugriffen steht, die in einigen Zentraleinheiten verfügbar sind. Ein solcher Uberlappungs- oder Pipeline-Betrieb beim Speicherzugriff wird mit einer geeigneten Verschachtelung der Speichermodule für einen Lesezugriff sbetrieb angewendet. Während eines Schreib-Zugriffsbetriebs sind die Schreiboperationen ausreichend schnell , so daß eine solche Dreifachüberlappung nicht erforderlich istj das Überlappungsmerkmal ist hauptsächlich für die Anwendung in dem Fall bestimmt, wenn Datenblockübertragungen während eines ausschließlichen Lesebetriebs erfolgen sollen.
Der nach der Erfindung angewendete Schnellkanal ist so ausgebildet, daß er zum Laden von Adressen Tabellen in die Sehnellkanal-MAP-Einheit und zum Übertragen seiner Datenwortblöcke vom gleichen Datenweg Gebrauch macht. Außerdem ist der Schnellkanal so ausgebildet, daß seine im Hauptspeicher gespeicherten MAP-Tabellen in geeigneter Weise in die MAP-Einheit geladen werden können, indem eine entsprechende Identifizierung der zu benutzenden MAP-Tabellen und ihre Speicherplätze im Hauptspeicher vorgesehen wird, wobei der Schnellkanal lediglich einen Zugriff auf diese MAP-Tabelleninformation ausübt und seine eigene MAP-Einheit aus dem Hauptspeicher unter Verwendung eines eigenen Speicheranschlusses lädt, so daß programmierte E/ABefehle aus der Zentraleinheit für das Laden der MAP-Einheit nicht erforderlich sind.
909830/0823
Die Erfindung wird nun an Hand der Zeichnung beispielshalber erläutert. Es zeigen:
Fig.1 ein Blockschaltbild des gesamten Schnellkanals der erfindungsgemäßen Datenverarbeitungsanordnung,
Fig.2 und 3 genauere Blockschaltbilder von Teilen des Schnellkanals von Fig.1,
Fig.4 eine schematische Darstellung zur Veranschaulichung der Betriebsarten mit logischen Adressen und absoluten Adressen, wie sie im Schnellkanal nach den Figuren bis 3 angewendet werden,
Fig.5 und 6 Zeitdiagramme verschiedener Situationen, in denen Daten in den oder aus dem Speicher übertragen werden,
Fig.7 bis 12 Schaltbilder logischer Schaltungen, die in der Schnellkanal-Steuerlogik von Fig.1 benutzt werden, und
Fig.13 und 14 Flußdiagramme zur Verdeutlichung der Arbeitsweise des Schnellkanals nach den Figuren 1 bis 3.
In Fig.1 ist ein Gesamtblockschaltbild des Schnellkanals dargestellt, während die Figuren 2 und 3 entsprechende Teile genauer zeigen. Wie zu erkennen ist, benutzt der Schnellkanal zwei Bus-Systeme zur externen Verbindung mit dem Kanal, nämlich ein erstes Bus-System, das als Schnellkanal-Bus-System 10 angegeben ist, und ein zweites
909830/0823
2302477
Bus-System, das als Datenprozessor-Bus-System 22 angegeben ist. In der hier zu beschreibenden Ausführungsform ist der Schnellkanal so ausgebildet, daß mehrere E/AEinheiten über das Schnellkanal-Bus-System 10 angeschlossen werden. Die E/A-Einheiten können so ausgebildet sein, daß sie entsprechend gewählte Prioritäten aufweisen, damit einander widersprechende Ubertragungsanforderungen gelöst werden können. In einer bevorzugten Ausführungsform können die Prioritäten beispielsweise durch eine fest verdrahtete Logik so vorgesehen werden, daß Einheiten mit kleineren Kanalzugriffszeitanforderungen die höheren Prioritäten gemäß bekannten Prioritätsbehandlungsverfahren haben. Wenn die Schnellkanal-steuerlogik eine Übertragungsanforderung empfängt, nimmt der Kanal ein Kanalsteuer- und Kanaladressenwort an und überträgt den geforderten Datenwortblock. Der Schnellkanal enthält ein Pufferregister mit der Kapazität für ein Datenwort, und er verzögert anschliessend die Datenwortübertragungen, wenn dieses Pufferregister voll ist und der Schnellkanal-Speicheranschluß gerade nicht verfügbar ist« Gemäß einem speziellen Ausführungsbeispiel der Erfindung beträgt die maximale Datenausgabegeschwindigkeit zum Speicher, (d.h. im Lesebetrieb, bei dem Daten aus einer E/A-Einheit gelesen und in den Speicher geschrieben werden, 10 M Bytes pro Sekunde, d.h. 200 ns/Wort). Während des Schreibbetriebs, d.h» beim Lesen von Daten aus dem Speicher und Zuführung der Daten zu einer E/AEinheit t beträgt'die mittlere maximale Dateneingabegeschwindigkeit 6,67 M-Bytes pro Sekunde. Die Übertragungs-
909830/0823
geschwindigkeit im Schreibbetrieb kann auf 10 M-Bytes pro Sekunde erhöht werden, wenn Uberlappungsverfahren angewendet werden, wie unten noch erläutert wird.
In den Figuren 1 bis 3 enthält der Schnellkanal eine Kanalsteuerlogik 12A und eine Speichersteuerlogik 12B, die in nachfolgenden Figuren noch genau erläutert sind. Die Kanalsteuerlogik steht mit dem Schnellkanal-Bus-System 10 für den Empfang und das Aussenden entsprechender Anforderunge- und Steuersignale in Verbindung. Die Speichersteuerlogik steht mit der Kanalsteuerlogik 12A und der Speichersteuerlogik der Zentraleinheit CPU in Verbindung, damit die dem Datenprozessor-Bus-System 22 zugeführten absoluten Speichersteuersignale erzeugt werden.
Die Kanalsteuerlogik 12A leitet die Tätigkeiten des Schnellkanals ; sie ist um ein mikroprogrammiertes Steuerwerk organisiert, das die Prozesse taktet und fortschaltet, die Datenübertragungen zu den externen E/A-Einheiten oder MAP-Datenübertragungen zum Schnellkanal unterhalten. Diese Steuerlogik leitet den Schnellkanal so, daß eine neue Adresse und eine Wortzahl geladen werden, daß die Wortzahl verringert wird, daß die Adresse weitergeschaltet wird und daß der Datenwortblock übertragen wird. Außerdem steuert die Steuerlogik das Laden und das Umspeichern des Inhalts der MAP-Einheit,und sie gibt die MAP-Adreseenübersetzung zum Umsetzen logischer Adressen in absolute Adressen frei. Die Speichersteuereinheit 12B wird dazu benutzt, die Speicheranschlüsse zu steuern und den Betrieb der Speicherdaten-Treibereinheit und des Pufferregisters bezüglich der beiden
909830/0823
Anschlüsse (die hier als Anschlüsse A0 und A1 angegeben sind) aufrechtzuerhalten; wahlweise kann diese Speichersteuereinheit auf der Schnellkanalkarte selbst oder an irgendeiner anderen Stelle im gesamten Verarbeitungssystem angebracht werden»
Die während einer Datenübertragung durch den Schnellkanal auftretenden Tätigkeiten laufen völlig synchron ab, und ein entsprechender Schnellkanal-Taktgeber bewirkt die Weiterschaltung der Datenübertragungen durch den Kanal und die Zeitsteuerung der Tätigkeiten, die auf dem Schnellkanal-Bus-System 10 stattfinden.
Die in Fig.1 oben allgemein dargestellteDatenübertragungslogik 19, die in Fig.2 genauer wiedergegeben ist, sorgt für die entsprechenden Datenwege für Speicherdaten zu den und von den externen E/A-Einheiten und für Adressenwege zu den Schnellkanal-HAP-Registern 17 und zum Hauptspeicher. Die Datenübertragungslogik enthält ein Datenausgaberegister 11, ein Dateneingaberegister 13, einen Eingabemultiplexer 14 und einen Paritätsgenerator 15. Der Schnellkanal puffert die Speicherausgangsdaten, (die in Fig.1 und in Fig.2 mit BMEMß-15 bezeichnet ist) im puffer 16, berechnet das Datenparitätsbit und speichert die Daten und das Paritätsbit im Datenausgaberegister 11, das die Daten HSC OUT ß-15 und das Paritätsbit MEM PAR abgibt. Die Daten und das Paritätsbit aus dem Datenausgaberegister 11 werden über Bus-Treiber 11A bei jedem SYN CLOCK -Zyklus zur aktiven Schnittstelle übertragen, so daß die Daten und das Paritätsbit vom Datenausgaberegister 11 also an den Schnellkanal-Bus 10 geliefert werden.
909830/0823
2302477
Die in den Schnellkanal eingegebenen Daten (HSC 015) werden zusammen mit einem Paritätsbit (HSC DPAR) dem Dateneingaberegister 13 zugeführt, das diese Daten (HSCIN015 und HSC IN PAR) bei jedem SYN CLOCK-Zyklus liefert. Dieee Datenwörter werden zum Speicher über den Eingabemultiplexer 14 und eine Treibereinheit zum Datenprozessor-Bus 22 übertragen. Diese Daten werden nicht nur zum Speicher, sondern über die vom Puffer gebildete Datenschleife während der Übertragung zum Speicher auch wieder in den Paritätsgenerator 15 zurückübertragen. Der Paritätsgenerator meldet daraufhin einen Datenfehler (DATA ERR), wenn die berechneten und gespeicherten Paritätsbiis entsprechend herkömmlicher .Paritätsprüfungsverfahren nicht übereinstimmen.
Die Datenübertragungen zwischen dem Speicher und den MAP-Registern der MAP-Einheit 17 laufen im wesentlichen in der gleichen Weise ab. Das Datenausgaberegister empfängt über den Puffer 16 MAP-Daten aus dem Speicher zur Übertragung in die MAP-Re gis te r unter Verwendung des gleichen Datenwegs wie die aus dem Speicher zur Zuführung zum Schnellkanal-Bus 10 gelesenen Daten, während dieMAP-Daten in der MAP-Einheit 17 von der Treibereinheit 18 über einen internen Bus 27 und den Eingabemultiplexer 14 wieder in den Speicher zurückübertragen werden. Bei der übertragung von MAP-Daten sind keine Paritätsprüfungen erforderlich.
Die im Mittelteil von Fig.1 und in den Figuren 2 und dargestellte Adressierungslogik empfängt Adressen von den Schnittstellen der Einheiten am Sehnellkanal-Bus
909830/0823
oder aus Registern im Schnellkanal selbst; äiese Adressen sind als 21-Bit-Adressen mit den Bits CBk ß-2 , XCA ß2 und CA 1 bis 15 angegeben. Der Schnellkanal adressiert dann absolute Speicherplätze^ über einen Absolutadressen-Bus 21, der die absolute Adresse dem Datenprozessorbus 22 und dann dem Speicher über die Adressentreibereinheit 23 zuführt; die Bits der absoluten Adresse sind mit BANK ß-2, XPA β -2 und PA 1-Ί5 angegeben. Das Anfangadressenwort eines zu übertragenden Datenblocks wird in einem Adreseenzählerregister 24 gespeichert, dessen Ausgangssignal als ein Signal mit den Bits PBK Jö-2, XÄDDRP'-^ und ÄÜDuT-T? angegeben sind. Ein Adressenparitätsgenerator 25 prüft die Parität des von der Schnittstelle empfangenen Adressenworts (das als Paritätsbit IiSC APAR angegeben ist), und er liefert eine entsprechende Paritätsfehleranzeige (ADDR ERROR) wenn das berechnete Adressenparitätsbit und das gespeicherte Adressenparitätsbit nicht übereinstimmen.
Die höherwertigen Bits der Adresse aus dem Adressenzählerregister 24 (PBK β-έ, ΤΕΠϋ^Γψ^ und geben die gewünschte Seitenadresse an» Wenn die Operation der MAP-Register der MAP-Einheit 17 nicht angewendet werden soll, wird die MAP-Einheit durch Zuführung des Signals ENAB RAM zum Pufferregister 26 unwirksam gemacht,, wobei dieseOperation die Freigabe der MAP-Einheit 17 verhindert und die gewünschte Seitenadresse über den Puffer 26 und die internen Busse 27» 28, und 29 direkt in den Speicher eingibt (die absoluten Seitenadressenbits sind als BK ß-2, ΧΡΉΤ1Ρ2" und PiTT^RJ angegeben).
909830/0-8 23
Yienn die Zuordnungs funktion benutzt werden soll, wird MAP-Einheit 17 freigegeben (wobei dieser MAP-Einheit 17 das Signal ENB RAM zugeführt wird), so daß die logische Seitenadresse der MAP-Einheit über den internen Bus
20 zugeführt wird, woraufhin die zuvor geladenen MAP-Register veranlaßt werden, die logische Seitenadresse in die absolute Seitenadresse für die Zuführung zum Bus
21 und zum Bus 22 über die internen Busse 27, 28, 29 und zur Treibereinheit 23 übersetzt wird. Unabhängig davon, ob die Seitenadresse direkt aus dem Adressenzählerregister 24 oder aus den MAP-Registern geliefert werden, werden die niedrigerwertigen Adressenbits (die Bits ADDR b-15 ) direkt dem Absolutadressen-Bus 21 zugeführt, damit Adressenwörter innerhalb der ausgewählten Seiten gebildet werden, die von den Seitenadressen angegeben sind.
Wenn die MAP-Register zur Übersetzung logiseher Seitenadressen in absolute Seitenadressen benutzt werden sollen, muß die angewendete Software Befehle zur Identifizierung einer MAP-Register-Anfangsadresse und eine Start-Speicheradresse vor einem MAP-Ladevorgang (d.h. einer MAP-Datenübertragung) angeben. Eine entsprechende E/A-Steuerlogik decodiert die Befehle entsprechend der Software und leitet die decodierten Informationen zu einer Gruppe von Zählern 31, 32, 33 und 34. Zwei der Zähler, nämlich die Zähler 31 und 33, geben die Speicheradresse für den Zugriff auf die Daten für die MAP-Datenübertragung über den Multiplexer 43 und das Pufferregister 44 an. Ein dritter Zähler 32 liefert die Adresse, zu der die MAP-Daten innerhalb des MAP-Registers übertragen werden sollen. Ein vierter Zähler 34 wird im Zusammenhang mit der Wortzähllogik benutzt, wie unten noch genauer erläutert wird.
909830/0823
Die in Fig.1 unten und in Fig.3 allgemein dargestellte Wortzähllogik empfängt eine Wortzahl (d.h. eine Darstellung der Gesamtzahl der Wörter, die in dem Datenwortblock übertragen werden sollen) von den Schnittstellen der Einheiten am Schnellkanal-Bus 10 oder aus dem Zählerregister 34 im Schnellkanal selbst, wobei die Bits der Wortzahl mit WCNT 1-7 angegeben sind. Die Wortzähllogik zählt die Anzahl der Wörter für die Datenübertragung, was bedeutet, daß der Stand eines AufwärtsZählers 36 mit jedem übertragenen Wort erhöht wird, und daß dieser Zähler schließlich die Beendigung der Operation durch Abgabe eines Signals LSAT ADDä anzeigt, wenn das letzte Wort übertragen worden ist.
Für einen MAP-Datenübertragungsbefehl muß eine entsprechende Software ebenfalls eine Wortzahl liefern. Die E/A-Steuerlogik 42 decodiert die Wortzahl des MAP-Datenübertragungsbefehls undJeitet die Information über den Datenprozessor-Bus 22 und das Pufferregister 37 zum Aufwärtszähler Der Aufwärtszähler 34 wird im Takt mit dem Wortzähler fortgeschaltet, und er zeigt Mehrfach-MAP-Registerübertragungen durch ein entsprechendes Signal SET MULTI an.
Eine zusätzliche Logik in der E/A-Steuerlogik 42 liefert zur Anzeige derRichtung der MAP-Ubertragung ein Kennzeichensignal, d.h. ein Signal zur Kennzeichnung einer MAP-Ladeoperation oder einer MAP-Umspeicheroperation; die Lieferung dieses Kennzeichensignals erfolgt über ein E/A-Kennzeichenregister 38 und über Treiber 39. Ferner liefert die zusätzliche Logik über ein Fehlerkennzeichenregister HO und über Treiber 41 eine Anzeige darüber, ob während einer Datenübertragung ein Fehler aufgetreten ist.
Bei dem in den Figuren 1 bis 3 dargestellten Schnellkanal werden zwei Adressierungsarten angewendet. Die erste Adressierungsart ist eine absolute (oder direkte) Adressierungsart, bei der die Adresse benutzt wird, die
909830/0823
von der Schnellkanal-Schnittstelle zum Auffinden der Adresse des ersten Worts (d.h. des Beginns) eines Speicherdatenblocks angegeben wird, der übertragen werden soll. Im Verlauf der Datenübertragung schaltet die Schnittstelle die absolute Adresse fort, damit nachfolgende Speicherplätze erfaßt werden.
Die zweite Adressierungsart ist eine logische,(d.h. eine gelistete) Adressierungsart, bei der eine Tabellenleseprozedur in den MAP-Registern durchgeführt wird, damit die logische Seitenadresse, die von der aktiven Schnellkanal-Schnittstelle angegeben wird, in eine absolute Seitenadresse übersetzt wird. Die Schnellkanal-Steuereinheit definiert die höherwertigen Bits einer Speicheradresse (PBK 0-2, ADDR 1-5) als die Seitenadresse und die niederwertigen Bits (ADDR 6-15) als die Wortadresse in der ausgewählten Seite wie oben erläutert wurde.In einem bevorzugten Ausführungsbeispiel kann Jede Seitenadresse eine Gruppe aufeinanderfolgender Speicherplätze enthalten (im hier beschriebenen Ausführungsbeispiel können 1024 aufeinanderfolgende Speicherplätze vorhanden sein). Die zugeordnete Wortadresse gibt einen einzelnen Speicherplatz innerhalb einer bestimmten ausgewählten Seite an. Während eines Betriebs mit logischer Adressierung gibt die logische Seitenadresse eine Registereintragung in den MAP-Registern an, und der Inhalt dieses Registers übersetzt dann die logiscshe Seitenadresse so, daß die absolute Seitenadresse erzeugt wird, die daraufhin mit der logischen Wortadresse (APDR b-15) zur Bildung einer absoluten Adresse vereinigt wird, die dem Speicher über Treiber 23 am Absolutadressen-Bus 21 zugeführt wird. Im Verlauf der Datenübertragung schaltet die Schnittstelle die logische Adresse fort, damit aufeinanderfolgende Speicherplätze erfaßt werden.
909830/0823
Wenn während des sequentiellen Adressenverfolgungsprozesses die Schnittstelle der jeweiligen Einheit die-logische Seitenadresse fortschaltet, legen die MAP-Register eine neue absolute Seitenadresse für den Zugriff auf einen anderen Block aus Speicherplätzen fest. In Fig.4 sind die Adressenformate für das Kanaladressenwort und die Absolutadressenwörter angegeben, wie sie bei den absoluten und logischen Adressierungsarten benutzt werden. Demgemäß kann das Kanaladressenwort direkt als Absolutadressenwort geliefert werden, wie es in Fig.4. links dargestellt ist, oder es kann als logisches Adressenwort geliefert und entsprechend von den MAP-Registern zur Erzielung des Absolutadressenworts übersetzt werden, wie in Fig.4 rechts dargestellt ist.
In dem in den Figuren 1 bis 3 dargestellten bevorzugten Ausführungsbeispiel legt der Schnallkanalbus 10 insgesamt 14 Signale an die Schnittstellen der Kanaleinheiten«. Diese Signale sind das iaktsynchronisierungssignal STfOIEÖUK, die Übertragungsanforderungssignale RSCTTlJZP7, die Ütertragungssteuersignale RlIlDT, MTI, TEUfCTSURSR und DA^A ERROR , die Kanalsteuersignale WCNT φ-7 , HSC ENB PAR, HFSC MAP und StT9 die Adressen signal UBK φ-2, XCA p-2, CIT^T5 und BSc~~ÄFSR sowie die Datensignale HSC p-15 und "HSC DPAlL
Das Taktsignal SYN CLOCK synchronisiert alle Tätigkeiten auf dem Schnellkanal-Bus 10. Die fallende Flankswird zum Abtasten des gesamten Informationsflusses zwischen dem Schnellkanal und den Kanalschnittstellen benutzt.
Tie Periodendauer des Taktelgnals STfTcXOCK ändert sich„ wobei die minimale Periodendauer in einer bevorzugten Ausführung 200 ns beträgt,, was einer maximalen Datenübertragungsfrequenz von 5 MHz entspricht. Die Periodendauer kann verlängert werden«, wenn der Schnellkanal verzögert wird, während er auf einen Speicherzyklus wartet.
Jede Kanalschnittstelle weist ihre eigene Anforderungsleitung zur Auslösung von Datenübertragungen auf, wobei die entsprechenden Signale als die Schnellkanal-Übertragungsanforderungssignale HSCR ß-7 bezeichnet sind. Jedem Übertragungsanforderungssignal ist eine Priorität zugeordnet, wobei das Signal HSCR7 die höchste Priorität und das Signal HSCR 0 die niedrigste Priorität hat. Die Anforderungsleitungen sind in der bevorzugten Ausführungs-, form parallel zu allen Schnittstellen geführt, so daß jede Schnittstelle feststellen kann, ob eine andere Schnittstelle eine Anforderung abgibt. Konkurrierende Anforderungen von Schnittstellen nach einem Speicherzugriff werden von den Schnellkanal-Schnittstellen entsprechend gelöst, und in einer bevorzugten Ausführungsform ist eine dieser Lösungen so ausgeführt worden, daß jeder Schnittstelle ein eindeutiges Anforderungssignal zugewiesen wird (wobei diese Zuweisung im Zeitpunkt der Systemzusammenstellung erfolgt). Der Schnellkanal überwacht alle Anforderungsleitungen, Jedoch bestimmt nur eine Schnittstelle selbst, ob sie die Anforderung mit der höchsten Priorität abgibt; die Schnittstelle, die eine solche Anforderung mit höchster Priorität abgibt, gibt dann ein Adressen- und Kanalsteuerwort ab und überträgt den Datenblock.
Die Übertragungssteuersignale enthalten die Signale READY, DTTS, ADDR ERROR und DATA ERROR. Der Schnellkanal nimmt nur dann Übertragungsanforderungen an, wenn er bereit ist, sie auch zu verarbeiten; eine Übertragungsanforderung, die aufgetreten ist, bevor der Schnellkanal bereit ist, wird verzögert, bis der Schnellkanal das Signal READY wirksam macht. Sobald das Signal REEDY wirksam gemacht ist,- legt die Schnittstelle, die die Anforderung mit der höchsten Priorität abgibt, ein Adressen- und ein Kanalsteuerwort im Zeitpunkt der Flanke des ersten Taktsignals SYN CLOCK im Anschluß an die READY-Anzeige an den Bus an. Wenn die Übertragungsrichtung zum Speicher vorliegt, wird das Signal RfiAUY am Beginn der Übertragung des
909830/0823
letzten Worts im Block erneut wirksam gemacht. Wenn die Übertragungsrichtung aus dem Speicher vorliegt, wird das Signal READY am Beginn der Übertragung des vorletzten Worts im Block erneut wirksam gemacht. Dieser Vorgang erlaubt eine Überlappung zwischen der Übertragung der Kanalsteuerinformation und der Übertragung von Daten.
Während der eigentlichen Datenübertragung macht der Schnellkanal das Signal DATA wirksam. Datenworübertragungen finden im Zeitpunkt der Taktsignalflanken statt, wenn das Signal DATA wirksam ist. Der Schnellkanal kann das Taktsignal um kurze Zeitperioden während des Datenaustausche verzögern, wenn der Speicher nicht bereit ist, damit Überlauf/Unterlauf-Bedingungen innerhalb des Schnellkanals verhindert werden.
Der Schnellkanal prüft auch auf ungerade Parität der Adressen-und Dateneingangswörter, wenn die Parität freigegeben ist. Der Datenkanal informiert dann die Schnittstellen über Adressenparitätsfehler (ADDR ERROR) und Datenparitätsfehler (DATA ERROR), damit die aktive Schnittstelle korrigierend eingreifen kann. Wenn der Schnellkanal ein Adressenparitätsfehlersignal zur Wirkung bringt, wird die Datenübertragung abgebrochen, und der Schnellkanal macht im Verlauf des folgenden Zyklus das Signal READY wirksam.
Weitere KanalSteuersignale, die von den Einheiten empfangen werden, sind die Signale HSC DATA IN, WCNT ß-7, rise ENB FAR, HSC MAP und ETT.
Das Schnellkanal-Dateneingabesignal HSC DATA IJM gibt die Richtung der anschliessenden Datenübertragung an (d.h. eine Eingabeübertragung zum Schreiben von Daten in den Speicher oder eine Ausgabeübertragung zum Lesen von Daten aus dem Speicher); das Wortzahlsignal WCNT 0-7
909830/0823
gibt die Anzahl der Datenwörter des Datenblocks an, die übertragen werden sollen. Die Schnittstelle kann Paritätsprüfungen am Adressendatenwort freigeben, indem das Schnellkanal-Paritätsfreigabesignal HSC ENB PAR geliefert wird,und sie kann dem Schnellkanal ermöglichen, eine MAP-Adressenübersetzung (HSC MaP) zu erlauben. Das Erweiterungssignal EXT wird für andere Zwecke in der hier dargestellten bevorzugten Ausführungsform in Reserve bereitgehalten,(wobei hier keine solchen anderen Zwecke vorgesehen sind )·
Das Adressensignal (CBK ß-2, XCA ψ -2, CA 1-15 und HSC APAR) gib't eine 21-Bit-Anfangsadresse für eine Datenübertragung an, und bei freigegebener Parität setzt die Schnittstelle der Einheit das Adressenparitätsbit (HSC APAR) am Adressen-Bus beispielsweise auf eine ungerade Parität (ungerade Parität bedeutet dabei, daß die Summe aller Bits mit dem Wert "1" im Adressenwort einschließlich des Paritätsbits ungerade ist). Das Adressenzählerregister 24 im Schnellkanal hält die Anfangsadresse fest und schaltet dann mit dem Fortgang der Datenübertragung weiter. Der Zähler kann absolute Adressen erzeugen, oder die MAP-Register können e4'3 Übersetzung logischer Adressen in absolute Adressen durchführen, wie oben erläutert wurde.Die Datensignale (HSC (3-15 und HSC DPAR) übertragen 16-Bit-Datenwörterjbei freigegebener Parität wird das Paritätsbit (HSC DPAR) so eingestellt, daß auf dem Daten-Bus eine ungerade Parität aufrechterhalten wird.
Die Schnellkanalsteuerung wird mit einer entsprechenden Firmware ausgeführt, wie unten noch genauer erläutert wird, Die Mikroco'degruppen sind in einem Festspeicher (ROM)
909830/0823
gespeichert. In einer bevorzugten Ausführungsform werden 32 Steuerwörter benutzt, die ,jeweils 19 Bits in einem Mikroprogramm-Adressenraum enthalten. Es sind acht Mikroprogramm-Adressenräume vorhanden, von denen Jeder eine Betriebsart definiert. Die Lage jedes Mikroprogramm-Adressenraums in den Festspeichern und die ausgeführten Funktionen sind in der nachfolgenden Tabelle angegeben.
Adresse
000 037
Betriebsart
Standarddatenübertragung MAP, Laden, Umspeiehern
040 077
2-Schritt-Diagnosebetrieb
100 137
Externe Datenübertragung MAP, Laden, Umspeichern
140 177
2-Schritt-Diagnosebetrieb
200 237
Erweiterte Datenübertragung
240 277
Erweiterte Datenübertragung
300 337
Erweiterte Datenübertragung
340 377
Erweiterte Datenübertragung
909830/0823
Der erste Mikroprogrammraum gibt die oben erörterten Standardoperationen an, was bedeutet, daß in diesem Betrieb Datenübertragungen zu den MAP -Registern (MAP LOAD/DUMP) und Standarddatenübertragungen an den Schnellkanal-Schnittstellen (STANDARD DATA TRANSFER) mit der normalen Datenübertragungsgeschwindigkeit (6,67 M-Bytes/s bei der Ausgabe und 10 M-Bytes/s bei der Eingabe) aufrechterhalten werden.
Die zweiten und vierten Mikroprogrammräume definieren Diagnosebetriebsarten, die keinen Teil der Erfindung bilden und deshalb hier nicht näher erläutert werden müssen. Diese Betriebsarten können beispielsweise zur Verfügung gestellt werden, damit ein Diagnoseprogrammierer die Schnellkanal-Datenübertragungswege prüfen kann, die während einer normalen MAP LOAD/DUMP-Folge nicht in Tätigkeit sind. Der dritte Mikroprogrammraum ist für einen Speicherlesebetrieb mit Dreifachüberlappung bis zu 10 M-Bytes/s reserviert. Speicherschreib- und MAP-Operationen sind die gleichen wie im Standardbetrieb. Die letzten vier Räume sind in dem hier beschriebenen, bevorzugten Ausführungsbeispiel für spätere Anwendungen reserviert, die keinen Teil der Erfindung bilden und deshalb hier nicht näher beschrieben werden müssen.
Beispiele über den Verlauf der Signale SYW (JLüÜk, TO3UE5T, RKADY, und DATA an den Schnellkanal/Steuer-Schnittstellen sind in den Figuren 5 und 6 für verschiedene Dateneingabe- und Datenausgabefälle dargestellt.
909830/0823
In Fig.5 ist der Fall einer einzelnen Anforderung zur Übertragung eines einzigen Worts in den Speicher angegeben, wobei die entsprechenden Beziehungen zwischen den Signalen gezeigt sind(an Hand der Signale A in Fig.5). Es sind auch andere Falle mit Übertragungsvorgängen beim Lesen eines einzigen Worts im Speicher (Signal B),mit Mehrwortübertragungen (Signal C) und Mehrfachanlorderungen (Signale D, E und F) angegeben. Ähnliche Situationen sind für den Fall der Datenausgabe in Fig.6 dargestellt.
In den Fig.1 bis 3 sind ein Gesamtblockschaltbild des Daten-Schnellkanals (Fig.Ό und genauere Darstellungen der darin enthaltenen Blöcke (Fig.2 und 3) dargestellt; die genauen Logikdiagramme werden an Hand der Fig.7 bis 16 beschrieben.
In den Figuren 7 bis 12 sind Logikdiagramme für die Schnellkanal-Steuer- und Schnellkanaltakt-Logik 12 dargestellt. Ein Schnellkanal-Anforderungssignal (HSCRji-7) aus einer der acht Schnittstellen (siehe Fig.2) wird der Logik 50 (Fig.7) zusammen mit dem Signal REQ TEST zugeführt, damit bestimmt wird, ob eine Datenübertragung verlangt wird, und es wird zusammen mit einem Signal MAP TEST zugeführt, damit bestimmt wird, ob eine MAP-Übertragung verlangtwird. Die Logik 50 sorgt für eine Kombination aus RM-Adressensignalen (RADß-3), die programmierbaren Festspeichern 51 (Fig.8) zum Starten einer Datenübertragung zugeführt werden, wenn ein Schnellkanal-Speichersteuersignal (HSCMC1) vorhanden ist und das Letztadressensignal (LAST ADDR) aus einem vorherigen Übertragungsvorgang
909830/0823
nf.
wirksam gemacht ist, das Ende der Übertragung anzeigt. Gleichzeitig wird von der Logik 52 (Fig.11) das Signal READY an die Schnittstelle (Fig.2) geliefert.
Der Empfang des Signals READY durch die Schnittstelle ermöglicht dann der die Anforderung abgebenden Einheit ihre Adresseninformation entweder für eine Speicherleseoperation oder eine Speicherschreiboperation zu liefern. Für den Fall einer Schreiboperation liefert die Einheit das Signal HSC DATA IN (siehe Fig.2). Das Signal HSCMAP zeigt an, ob die logische oder die absolute Adressierungsart angewendet werden soll. Wenn Daten zum oder vom Speicher übertragen werden sollen, werden die entsprechende Speicheradresse und die Anzahl der zu übertragenden Datenwörter von der Schnittstelle geliefert. Wenn die Parität der Adresse und der Daten geprüft werden soll, liefert die Daten-Einheit auch das Signal HSC ENAB PAR.
Die Logik 55 mit den Abschnitten 55A bis 55D reagiert auf die Ausgangssignale der programmierbaren Festspeicher 51 und liefert die verschiedenen angegebenen Steuersignale für die interne Anwendung im Schnellkanal zum Betrieb der ve.schiedenen, im Zusammenhang mit den Figuren 1 bis 3 erläuterten Einheiten. Wenn der Kanal für die eigentliche Datenübertragung bereit ist, wird das Datensignal an der Logik 55C wirksam gemacht, und bei jedem Taktsignal wird ein Datenwort übertragen, bis der gesamte Block aus Datenwörtern übertragen worden ist; in diesem Fall wird dann durch das Letzadressensignal am Ausgang des Aufwärtszählers 36 (Fig.3) die weitere Wirksammachung des Signals DATA verhindert, so daß der Datenschnellkanal in einen Zustand für nachfolgende Datenübertragungen als
909830/0823
Antwort auf ein neues Anforderungssignal versetzt wird.
Das an der Logik 58 von Hg.9 angegebene Systemtaktsignal SYS CLK wird zur Erzeugung des Signals SYN CLK und des Signals HSC CLK benutzt. Die übrige Logik des Schnellkanals, die die verschiedenen Treiber, Puffer, Datenregister, Paritätsgeneratoren, Multiplexer und die MAP-Regibter enthält, repräsentiert dem Fachmann bekannte Logikstrukturen, die hier nicht näher erläutert werden müssen. Sobald die gesamten Datenweg- und Adressenweg-Strukturen der Figuren 1 bis 4 und die Steuerlogik der Einheit 12 gemäß den Figuren 7 bis 12 bekannt sind, liegen der Aufbau und der Betrieb des Gesamtsystems im Bereich des fachmännischen Könnens.
Zum weiteren Verständnis der Arbeitsweise des Schnellkanals trägt die Betrachtung der in den Figuren 13 und 14 dargestellten Flußdiagramme bei. Das Flußdiagramm in Fig.13 zeigt die bei einer Datenübertragung angewendeten Schritte, und das Flußdiagramm von Fig.14 zeigt die bei einer MAP-Übertragung angewendeten Schritte.
Wenn der Schnellkanal für die Annahme einer Anforderung eingestellt ist,(d.h. sich im RESET-Zustand befindet), dann macht er gemäß Fig.13 das Signal READY wirksam, und prüft, ob die Datenübertragungsanforderung von einer Schnittstelle einer Einheit kommt. Wenn derzeit gerade keine Datenanforderung vorliegt, prüft der Schnellkanal dann, ob eine MAP-Übertragung verlangt worden ist. Wenn dies der Fall war, führt der Schnellkanal die unten im Zusammenhang mit Fig.14 erläuterten Schritte durch. Wenn gerade keine MAP-Übertragungsanforderung vorliegt, verbleibt
909830/0823
der Schnellkanal im RESET-Zustand und durchläuft erneut den gleichen Prozeß.
Wenn der Datenübertragungsanforderungstest (REQ TEST) zeigt, daß eine Einheit eine Datenübertragung verlangt, beginnt der Schnellkanal die Übertragungsoperation und lädt die Steuer information atßder Einheit, die für eine solche Datenübertragung benötigt wird. In diesem Zustand beendet der Schnellkanal die Wirksammachung des Signals READY. Entsprechend der Schnellkanal-Bus-Vereinbarung meldet dieser Vorgang der Schnellkanal-Schnittstelle, daß sie mit der nächsten SYNCLK-Flanke ein Kommandowort aussendet. Das Kommandowort besteht aus der logischen oder absoluten Anfangsspeicheradresse, der Wortzahl, der Übertragungsrichtung und Angaben darüber, ob ein Mapping-Vorgang oder eine Paritätsprüfung angewendet werden soll.
Der Schnellkanal startet dann den Speicher. Wenn eine Leseübertragungsoperation angezeigt wird, wird die Wirksammachung des Signals DATA vorübergehend gesperrt, bis der Zugriff auf den Anfangsspeicherplatz, an dem der LeseVorgang stattfinden soll, erfolgt ist. Außerdem muß das Signal READY gesperrt werden, so daß keine andere Einheit während der DatenUbertragungsoperation einen Zugriff auf den Schnellkanal ausüben kann, wenn die Datenübertragung nicht nur das Schreiten eines einzigen Worts umfaßt. Eine solche einzelne Schreiboperation läuft genügend schnell ab, so daß das Signal READY nicht gesperrt werden muß, da eine solche einzige Schreiboperation beendet ist, wenn eine anschließend eine Anforderung abgebende Einheit zur Durchführung ihrer Datenübertragung bereit ist.
909830/0823
Wenn ein Adressenparitätsfehler festgestellt wird, muß das System wieder zurückgestellt werden, damit die die Anforderung abgebende Einheit die erforderliche Fehlerkorrektur durchführen kann, bevor sie erneut eine Datenübertragung verlangt.
Die Speicher werden gestartet und mit Überlappung entweder gelesen oder geschrieben, bis alle Wörter des Blocks übertragen sind. Im Mikrocode werden für Übertragungsvorgänge zum Lesen eines Worts, zum Schreiben eines Worts, zum Lesen mehrerer Wörter und zum Schreiben mehrerer Wörter verschiedene Wege eingeschlagen. Wenn beim übertragen eines Datenblocks eine weitere Anforderrung (von einer anderen Schnittstelle) auftritt, arbeitet der Mikrocode so, daß die Übertragung des Kommandoworts für die zweite Anforderung das Ende der Übertragung der Daten für die erste Anforderung überlappt.
Wenn die Übertragung eine Übertragung zum Schreiben mehrerer Wörter sein soll, sorgt der Schnellkanal nach Fig.13 für ein mehrfaches Schreiben aufeinanderfolgender Datenwörter innerhalb eines Datenblocks in den Speicher, bis die Wortzahl den Wert 1 erreicht, d.h. das vorletzte Wort übertragen worden ist. Der Schnellkanal führt dann einen Anforderungstest durch, um festzxistellen, ob eine andere Einheit gerade eine Übertragungsanforderung abgibt. Ist dies der Fall, kann die kombinierte Operation als Simultanoperation (back-t®-back-Operation) bezeichnet werden. Ist dies nicht der Fall, schreibt das System das letzte Wort (als handle es sich um eine einzige Schreiboperation), und es führt dann erneut die notwendigen Anforderungstest-und MAP-Testoperationen durch, damit bestimmt wird, ob irgendeine anschliessende Anforderung vorliegt.
909830/0823
Ist dies nicht der Fall, geht das System in den Ruhezustand (EESET-Zustand) über und beginnt erneut mit dem Prozeß.
Wenn eine Simultan-Schreiboperation verlangt wird, schreibt der Schnellkanal das letzte Wort der ersten Anforderung und empfängt wieder gleichzeitig die notwendige Steuerinformation für die nachfolgende Datenblock-Schreibübertragung. Anschliessend startet der Schnellkanal sofort die erste Speicheradresse für die nächste Schreibübertragung und empfängt das erste Datenwort von der Schnittstelle. Wenn die Datenübertragung eine Mehrwort-Leseübertragung sein soll, liest der Schnellkanal aufeinanderfolgende Wörter des Datenblocks, auf den ein Zugriff im Speicher ausgeübt worden ist, bis die Wortzahl den Wert O erreicht, d.h. alle Wörter aus dem Speicher erfaßt worden sind. Der Schnellkanal führt dann einen weiteren Anforderungstest durch, um festzustellen, ob eine andere Einheit die Durchführung einer Simultanübertragung wünscht; falls dies zutrifft, lädt der Schnellkanal die notwendigen Steuerinformationen für diese nachfolgende Übertragung und fährt mit der Durchführung dJ3ser Übertragung fort. Wenn keine Anforderung nach einer Simultanübertragung vorliegt, macht der Schnellkanal erneut das Signal READY wirksam und durchläuft die Anforderungs- und MAP-Testvorgänge wie vorher.
Wenn die Leseanforderung einem einzigen, im Speicher zu lesenden Wort gilt, liest der Schnellkanal dieses einzige Wort und macht dann erneut sein Signal READY wirksam; wie zuvor führt er einen Anforderungstest aus, um festzustellen, ob eine SimiaiLtanÜbertragung erforderlich ist oder nicht.
909830/0823
Wenn ein MAP-Übertragungstest zeigt, daß die Zentraleinheit eine MAP-Ubertragung verlangt hat, startet der Schnellkanal die MAP-Übertragungsoperation, wie in Fig.14 angegeben ist. Zunächst wird die Adresse im Speicher, an der sich die gewünschten MAP-Daten befinden, in das Adressenzählerregister 24 über die Register 31 und 33, den Multiplexer 43 und den Puffer 44 geladen (siehe Fig.3). Die MAP-Übertragungswortzahl wird ebenfalls über das Register 34 und den Treiber 35 in das Wortzahlregister 36 geladen. Das Signal READY wird wirksam gemacht, und ein Datenübertragungsanforderungstest wird durchgeführt, damit bestimmt wird, ob eine Datenübertragung verlangt wird.
Wenn dann eine Datenübertragung verlangt wird, wird die MAP-Übertragungsoperation verschoben, und die Datenübertragung beginnt,Die Datenadresse wird in das Register geladen und überschreibt die darin befindliche MAP-Datenadresse. Das Wortzahlregister 36 wird ebenfalls über-, schrieben.
Während die Register 31 und 33 die MAP-Datenadresse enthält und das Register 34 die V/ortzahl enthält, wird die Datenübertragung ausgeführt (Fig.13). Der Inhalt dieser Register wird nicht modifiziert (fortgeschaltet), bis ein MAP-Wort tatsächlich übertragen wird. Wenn keine Datenübertragung verlangt wird, wird die Übertragung der MAP-Daten fortgesetzt.
Der Speicher wird gestartet, und die Adresse der MAP-Daten wird über den Treiber 23 und den Adressen-Bus des Bus-Systems 22 in den Speicher eingegeben. Die
909830/0823
Adresse des MAP-Register, in das die MAP-Daten geladen werden sollen, wird dann nach der Gültigmachung des Signals INC über das Register 32, den Multiplexer 43 und den Puffer 44 in das Adressenregister 24 geladen.
Der Schnellkanal ist dann für die MAP-Ubertragung bereit; er stellt fest, ob die Übertragung vom Speicher in die MAP-Register (eine MAP-Ladeoperation) oder aus dem MAP~ Register in den Speicher (eine MAP-Umspeicheroperation) stattfinden soll.
Wenn eine Leseoperation (Mehrfachladeoperation) erforderlich ist, wird der laufende Speicherplatz im Speicher gelesen, und die Speicherdaten werden über das Bus-System 22 und den Puffer 16 aus dem Speicher in das HSC OUT-Register 11 getaktet und mit dem gleichen Takt wird der Speicherplatz der von der MAP-Adresse angegebenen Daten in das Adressenregister 24 getaktet.Die im HSC OUT-Register vorhandenen MAP-Daten werden dann in das MAP-Register an der im Adressenregister 24 vorhandenen MAP-Adresse geladen, und die nächste Speicheradresse wird für das Laden in das Adressenregister 24 eingestellt. Das Signal READY wird erneut wirksam gemacht, und ein Datenübertragungsanforderungstest wird durchgeführt, damit bestimmt wird, ob eine Datenübertragung verlangt wird. Wenn eine Datenübertragung verlangt wird,wird sie wie zuvor ausgeführt (Fig.13).
Wenn keine Datenübertragung verlangt wird, wird die übertragung von MAP-Daten in die MAP-Registereinheit wie zuvor fortgesetzt (wobei der Datenanforderungstest
909830/0823
nach jeder aufeinanderfolgenden Übertragung von MAP-Daten durchgeführt wird), bis das letzte Wort der MAP- Ladeoperation durch die Anwesenheit des Signals LAST ADDR angezeigt wird, wobei an diesem Zeitpunkt das letzte Wort der MAP-Daten beim letzten Ladevorgang in die MAP-Registereinheit übertragen wird, wie dargestellt wurde. Das Signal READY wird wirksam gemacht, und es wird erneut ein Datenanforderungstest ausgeführt. Wenn eine Datenübertragung verlangt wird, wird ein MAP-Ladevorgang als beendet angezeigt(CLR MAP), und die Datenübertragung wird mit dem Laden der ersten Adresse des zu übertragenden Datenblocks begonnen; die Datenübertragung läuft so ab, wie in Fig.13 angegeben ist.
Wenn keine Datenübertragung verlangt wird, wird der MAP-Ladevorgang als beendet angezeigt (CLR MAP), das Signal READY wird wirksam gemacht und ein neuer Anforderungsl test wird durchgeführt; das System kehrt zur Startoperation START (Fig.13) zurück, wenn eine Übertragung verlangt wird, während sie zur Rückstelloperation RESET zurückkehrt, wenn keine Übertragung verlangt wird (Fig.13).
Die Schreiboperationen (oder MAP-Umspeicheroperationen) und zwar sowohl Mehrfachumspeicheroperationen als auch Letztumspeicheroperationen, gleichen im wesentlichen den Leseoperationen oder (MAP-Ladeoperationen); s±e ergeben entsprechende Datenübertragungsanforderungstests sowohl während des Mehrfachumspeicherprozesses als auch während des Letztumspeicherprozesses, wie dargestellt ist.
909830/0823
e e r s e

Claims (12)

  1. Patentanwälte 7 Q Π 7 Δ 7 7
    Dipl -Ing. Dipt -Chem. Dipl -liitj.
    E. Prinz - Dr. G. Hauser - G. Leiser
    & r η κ b f? ι g e r s t r ;i s s e 19
    8 München 60
    Unser Zeichen; D 720 19.Januar 1979
    DATA GENERAL CORPORATION
    Route S
    Westboro, Massachusetts, V.St.A.
    Patentansprüche
    Datenverarbeitungsanordnung mit einer Zentraleinheit und einem Speicher, dadurch gekennzeichnet, daß getrennt von der Zentraleinheit eine Übertragungskanaleinrichtung für einen direkten Zugriff durch außerhalb der Zentraleinheit befindliche Eingabe/Ausgabe-Einheiten zu dem Speicher vorgesehen ist, wobei diese Übertragungskanaleinrichtung folgende Baueinheiten enthält:
    eine Speicherzuordnungseinheit zum Übersetzen logischer Adressen aus einer ausgewählten Eingabe/Ausgabe-Einheit in absolute Adressen für den Speicher,
    eine Übertragungseinheit zur Erzielung einer direkten Übertragung eines Datenworts oder eines Datenwortblocks zwischen einer ausgewählten Eingabe/Ausgabe-Einheit und dem Speicher und zur Erzielung einer direkten Übertragung von Speicherzuordnungsdaten zwischen der Speicherzuordnungseinheit und dem Speicher,
    909830/0823
    eine Adressenübertragungseinheit zum Übertragen von Adressen von der ausgewählten Eingabe/Ausgabe-Einheit zu dem Speicher und
    eine Steuereinheit, die abhängig von einer Anforderung nach einer Datenübertragung von einer ausgewählten Eingabe/Ausgäbe-Einheit und abhängig von Eingangssignalen von der Eingabe/Ausgabe-Einheit, die die Datenübertragungsrichtung kennzeichnen und Angaben, ob die Datenübertragung eine Speicheradressenübersetzung durch die Speicherzuordnungseinheit erfordert, die übertragung der Adressen, der Datenwörter und der Speicherzuordnungsdaten steuert.
  2. 2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Übertragungseinheit für die Datenwörter eine Einrichtung enthält, die in Abhängigkeit von die Anzahl der zu übertragenden Datenwörter kennzeichnenden Daten die Datenwörter bei ihrer sequentiellen Übertragung zwischen den Eingabe/itusgabe-Einheiten und dem Speicher zählt und ein Signal abgibt, wenn das letzte Datenwort übertragen worden ist.
  3. 3. Anordnung nach Anspruch 2, gekennzeichnet durch eine Fehlerfeststellungseinheit, die feststellt, ob ein Datenwortfehler aufgetreten ist und die Datenwort-Übertragung anhält, bis der Fehler korrigiert worden ist.
  4. 4. Anordnung nach Anspruch 3, gekennzeichnet durch eine weitere Fehlerfeststellungseinheit zur Feststellung eines Adressenfehlers und zum Anhalten der übertragung
    909830/0823
    von Datenwörtern, bis der Fehler korrigiert worden ist.
  5. 5. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Datenübertragungseinheit und die Speicherzuordnungseinheit gemeinsame Datenübertragungswege in der Übertragungskanaleinrichtung enthalten, die die Datenwörter und die Speicherzuordnungsdaten übertragen können.
  6. 6. Anordnung nach Anspruch 5» gekennzeichnet durch eine Multiplexiereinheit zum fllultiplexierten übertragen der Datenwörter und der SpeicherZuordnungsdaten aus der Übertragungskanaleinrichtung in den Speicher.
  7. 7. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Adressenübertragungseinheit eine Adressenregistervorrichtung enthält, die während der übertragung von Speicherzuordnungsdaten in die Speicherzuordnungseinheit abhängig von ersten Adressen, die die Speicherplätze im Speicher entsprechend den Speicherzuordnungsdaten identifizieren, und abhängig von zweiten Adressen, die die Speicherplätze in der Speicherzuordnungseinheit identifizieren, an denen die Speicherzuordnungsdaten untergebracht werden sollen, arbeitet.
  8. 8. Anordnung nach Anspruch 6, dadurch gekennzeichnet, daß
    die Adressenübertragungseinheit außerdem eine Multiplexiereinheit zum multiplexierten Übertragen der ersten und zweiten Adressen in die Adressenregistervorrichtung enthält.
    909830/0823
  9. 9. Anordnung nach Anspruch 8, dadurch gekennzeichnet, daß die Adressenzählvorrichtung angibt, wann die letzten Speicherzuordnungsdaten in die Speicherzuordnungseinheit übertragen worden sind.
  10. 10. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß
    die Adressen eine Seitenadresseninformation, und eine Wortadresseninformation enthalten, daß die Adressenübertragungseinheit einen ersten Übertragungsweg für die direkte Übertragung der Wortadresseninformation in den Speicher enthält und daß die Adressenübertragungseinheit außerdem einen zweiten Übertragungsweg enthält, mit dessen Hilfe die Seitenadresseninformation wahlweise direkt in den Speicher oder zur Übersetzung in die absolute Seitenadresse zur anschliessenden direkten Übertragung in den Speicher in die Speicherzuordungseinheit übertragen werden kann.
  11. 11. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Steuereinheit eine Vorrichtung zur Abgabe eines Bereitschaftssignals an die ausgewählte Eingabe/Ausgäbe-Einheit enthält, das anzeigt, wenn die Übertragungskanaleinrichtung für die Datenübertragung bereit ist, und daß eine Vorrichtung zur Abgabe eines Datensignals vorgesehen ist, das die Übertragung eines oder mehrerer Datenwörter erlaubt.
  12. 12. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Steuereinheit außerdem eine Vorrichtung enthält, die abhängig von einem Paritätsfreigabesignal aus der Eingabe/ Ausgabe-Einheit die Feststellung von Fehlern in den Adressen und in den Datenwörtern steuert.
    909830/0823
DE19792902477 1978-01-23 1979-01-23 Datenverarbeitungsanordnung Ceased DE2902477A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US87169078A 1978-01-23 1978-01-23

Publications (1)

Publication Number Publication Date
DE2902477A1 true DE2902477A1 (de) 1979-07-26

Family

ID=25357925

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19792902477 Ceased DE2902477A1 (de) 1978-01-23 1979-01-23 Datenverarbeitungsanordnung

Country Status (12)

Country Link
JP (1) JPS54121032A (de)
AU (1) AU526317B2 (de)
BR (1) BR7900407A (de)
CA (1) CA1128213A (de)
CH (1) CH641581A5 (de)
DE (1) DE2902477A1 (de)
DK (1) DK157954C (de)
FR (1) FR2415336B1 (de)
GB (1) GB2013006B (de)
IT (1) IT1110622B (de)
NL (1) NL7900439A (de)
SE (1) SE444996B (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4459677A (en) * 1980-04-11 1984-07-10 Ampex Corporation VIQ Computer graphics system
US4476527A (en) * 1981-12-10 1984-10-09 Data General Corporation Synchronous data bus with automatically variable data rate
GB2138182B (en) * 1983-04-14 1986-09-24 Standard Telephones Cables Ltd Digital processor
US4607365A (en) * 1983-11-14 1986-08-19 Tandem Computers Incorporated Fault-tolerant communications controller system
US4847750A (en) * 1986-02-13 1989-07-11 Intelligent Instrumentation, Inc. Peripheral DMA controller for data acquisition system
JP2570847B2 (ja) * 1989-02-08 1997-01-16 日本電気株式会社 データ転送方式
CN108241516B (zh) * 2018-02-09 2021-06-18 深圳科立讯通信有限公司 嵌入式系统程序加载方法、装置、计算机设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3673576A (en) * 1970-07-13 1972-06-27 Eg & G Inc Programmable computer-peripheral interface

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1447297A (en) * 1972-12-06 1976-08-25 Amdahl Corp Data processing system
US3976977A (en) * 1975-03-26 1976-08-24 Honeywell Information Systems, Inc. Processor for input-output processing system
JPS522231A (en) * 1975-06-24 1977-01-08 Hitachi Ltd Information processing apparatus
JPS5272543A (en) * 1975-12-15 1977-06-17 Hitachi Ltd Channel equipment of having address converting function
US4055851A (en) * 1976-02-13 1977-10-25 Digital Equipment Corporation Memory module with means for generating a control signal that inhibits a subsequent overlapped memory cycle during a reading operation portion of a reading memory cycle

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3673576A (en) * 1970-07-13 1972-06-27 Eg & G Inc Programmable computer-peripheral interface

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BASS, J.E., A Peripheral-Oriented Microcomputer System, Nachdruck der S. 860-873 der Proceedings of the IEEE, Vol. 64, Juni 1976, S. 122-135 *

Also Published As

Publication number Publication date
AU4322779A (en) 1979-08-02
DK157954B (da) 1990-03-05
IT1110622B (it) 1985-12-23
GB2013006A (en) 1979-08-01
IT7919549A0 (it) 1979-01-23
FR2415336A1 (fr) 1979-08-17
AU526317B2 (en) 1983-01-06
CA1128213A (en) 1982-07-20
NL7900439A (nl) 1979-07-25
CH641581A5 (de) 1984-02-29
GB2013006B (en) 1982-08-25
JPS6259821B2 (de) 1987-12-12
SE7900138L (sv) 1979-07-24
SE444996B (sv) 1986-05-20
JPS54121032A (en) 1979-09-19
DK3979A (da) 1979-07-24
FR2415336B1 (fr) 1987-04-24
DK157954C (da) 1990-08-13
BR7900407A (pt) 1979-08-21

Similar Documents

Publication Publication Date Title
EP0013737B1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE3151745C2 (de)
EP0163096B1 (de) Einrichtung zur Rettung eines Rechnerzustandes
DE2617408B2 (de) Speichermodul für ein Datenverarbeitungsgerät mit Speicherhierarchie
EP0228559A1 (de) Fehlertolerante Mehrrechneranordnung
WO2005073865A2 (de) Vorrichtung zur datenübertragung zwischen speichern
DE2441754A1 (de) Prozessor-datenuebertragungssteueranordnung sowie verfahren zur steuerung der datenuebertragung eines prozessors
DE2054830C3 (de) Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge
DE2944419A1 (de) Digitalrechnersystem
EP0134831A1 (de) Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung
DE19722803A1 (de) Schaltung zur Verschiebung von Daten zwischen entfernten Speichern und ein diese Schaltung enthaltender Rechner
DE19900251B4 (de) Vorrichtung und Verfahren zum Steuern eines vielseitigen USB-Endpunktkanals
DE2530599C2 (de) Verfahren und Schaltungsanordnung zur Steuerung von Ein-/Ausgabe-Geräten
DE2902477A1 (de) Datenverarbeitungsanordnung
DE3650782T2 (de) Anordnung von Cachespeicherverwaltungseinheiten
EP0409330B1 (de) Schaltungsanordnung zum Steuern des Zugriffs auf einen Speicher
DE2749884C2 (de)
EP1308846B1 (de) Datenübertragungseinrichtung
DE10132313A1 (de) Programmgesteuerte Einheit
DE3200042A1 (de) Datenverarbeitungsanlage mit cache-speicher
DE2629311C2 (de)
EP0036148A1 (de) Hybrid-Assoziativspeicher
EP0010625B1 (de) Hierarchisches Speichersystem
EP2728477A1 (de) Verfahren und Logikschaltung zum Kopieren von Daten, Speichervorrichtung und Datenverarbeitungsvorrichtung
DE10361496B4 (de) Anordnung mit einer Speichereinrichtung und einer programmgesteuerten Einheit

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8128 New person/name/address of the agent

Representative=s name: PRINZ, E., DIPL.-ING. LEISER, G., DIPL.-ING., PAT.

8125 Change of the main classification

Ipc: G06F 13/28

8131 Rejection