DE3587910T2 - Peripheres Interface-System. - Google Patents
Peripheres Interface-System.Info
- Publication number
- DE3587910T2 DE3587910T2 DE3587910T DE3587910T DE3587910T2 DE 3587910 T2 DE3587910 T2 DE 3587910T2 DE 3587910 T DE3587910 T DE 3587910T DE 3587910 T DE3587910 T DE 3587910T DE 3587910 T2 DE3587910 T2 DE 3587910T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- multiplexer
- channel
- buffer
- control
- 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 - Fee Related
Links
- 230000002093 peripheral effect Effects 0.000 title claims abstract description 79
- 239000000872 buffer Substances 0.000 claims abstract description 205
- 230000015654 memory Effects 0.000 claims abstract description 125
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000012546 transfer Methods 0.000 claims description 41
- 238000004891 communication Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 230000032258 transport Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 18
- 238000000034 method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 13
- 230000001360 synchronised effect Effects 0.000 description 9
- 230000003139 buffering effect Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000011010 flushing procedure Methods 0.000 description 6
- 238000005070 sampling Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 239000007853 buffer solution Substances 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005429 filling process Methods 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
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)
- Mathematical Physics (AREA)
- Bus Control (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
Description
- Die vorliegende Erfindung betrifft allgemein das Gebiet der Eingabe- Ausgabe-Systeme für Computer oder ähnliche Geräte, und insbesondere ein peripheres Interface-System in einer Eingabe-Ausgabe-Sektion eines Datenverarbeitungssytems
- Moderne Mainframe-Datenverarbeitungssysteme beinhalten zentrale Verarbeitungseinheiten (CPU), einen von der CPU direkt adressierbaren Zentralspeicher, Eingabe-Ausgabe-(E/A)-Speichergeräte zum Eingeben von Daten in das System und zum Aufzeichnen von Daten aus dem System, und E/A-Verarbeitungssysteme, welche den Datenfluß zwischen den E/A-Geräten und dem Zentralspeicher steuern und puffern. E/A-Verarbeitungssysteme entlasten die CPU von einer direkten Steuerung der E/A-Geräte und erlauben gleichzeitig mit E/A-Operationen die Fortsetzung der Datenverarbeitung
- Um der E/A-Verarbeitung zu ermöglichen, unabhängig von der Datenverarbeitung zu arbeiten, ist es notwendig, daß der Zentralspeicher direkt durch das E/A-Verarbeitungssystem adressierbar ist. Typischerweise wird eine direkte Adressierung durch das E/A-Verarbeitungssystem entweder durch Teilen eines Speicherdirektzugriffs-(DMA)-Anschlusses mit der CPU oder durch Vorsehen zweier oder mehr DMA-Anschlüsse und Reservieren von mindestens einem für die ausschließliche Nutzung durch das E/A-System verwirklicht. In jedem Fall sind jedoch E/A-Datenübertragungen zu und von dem Zentralspeicher typischerweise begrenzt auf lediglich einige und oft nur einen Zentralspeicherzugriffspfad. Der Pfad oder die Pfade müssen effizient genutzt werden, sonst wird die Geschwindigkeit der Datenverarbeitung beeinträchtigt, insbesondere in großen oder schnellen Datenverarbeitungssystemen, welche schnelle Zugriffe auf große Blöcke von Daten erfordern, die über eine große Bibliothek verstreut sind, welche auf eine Mehrzahl von peripheren Speichergeräten verteilt ist. Deshalb muß ein E/A-Verarbeitungssystem, um effektiv zu sein, nicht nur in der Lage sein, einen schnellen Zugriff auf jedes einer beträchtlichen Anzahl von Peripheriegeräten und jede von vielen Aufzeichnungen in einem bestimmten Gerät zu verwirklichen, sondern es muß auch in der Lage sein, die jeder Aufzeichnung zugeordneten Daten schnell und effizient zu und von dem Zentralspeicher zu übertragen.
- Die oben beschriebenen Anforderungen an effektive E/A-Verarbeitungssysteme diktieren bestimmte Aspekte von deren Design. Der Zentralspeicher- DMA-Anschluß oder die -Anschlüsse müssen z. B. gemultiplext sein, um einen Datenkanal zu und von jedem Peripheriegerät zur Verfügung zu stellen. Dies kann durch mindestens zwei verschiedene Techniken oder eine Kombination dieser beiden verwirklicht werden, wobei die eine eine Vielzahl unabhängiger Datenpfade, von denen jeder ein Peripheriegerät versorgt, und Hardware zur Verfügung stellt, die diese Pfade an dem DMA-Anschluß multiplext, oder die andere einen gemeinsam genutzten Datenpfad vorsieht, der zwei oder mehr Peripheriegeräte auf einer Zeitmultiplex-Basis bedient.
- E/A-Verarbeitungssysteme müssen außerdem mindestens genug Intelligenz beinhalten, um bestimmte E/A-Aufgaben ohne Rückgriff auf die Mainframe- CPU auszuführen. Wieviel Intelligenz und wo die Intelligenz in den E/A- System implementiert ist, ist eine Angelegenheit großer Bedeutung für Gesamtkomplexität, Kosten und Flexibilität des E/A-Verarbeitungssystems. Einige bekannte Systeme konzentrieren E/A-Intelligenz an einer Stelle und multiplexen oder verteilen Steuerinformationen durch einen oder mehrere Steuerkanäle an zwei oder mehr relativ einfache Peripheriegeräte; in diesem Fall können die Peripheriegeräte, wenn überhaupt, einige Operationen unabhängig von der gemultiplexten Intelligenzquelle ausführen. Ein anderer Ansatz des Standes der Technik war, jedes Peripheriegerät mit einer relativ hohen Intelligenz zu versehen, so daß die Geräte, wenn sie einmal eingestellt sind, nur wenig oder gar keine Überwachung beim Ausführen einer E/A-Funktion benötigen. Der erste Ansatz hat den Vorteil der Zentralisierung der teueren und hochentwickelten Intelligenz-Hardware, was die Gesamtsystemkosten reduziert, aber die Antwortzeit von damit gesteuerten Peripheriegeräten begrenzt und kann in seiner Implementation kompliziert sein. Die zweite Annäherung ist teurer in der Implementation aber einfacher im Design (da der Multiplex-Bedarf verringert oder beseitigt ist), kann aber zu redundanten Resourcen in dem E/A-System führen.
- Ein anderer, den meisten E/A-Verarbeitungssystemen gemeinsamer Aspekt ist die Datenpufferung zwischen dem Zentralspeicher-DMA-Anschluß und den Peripheriegeräten. Die Pufferung hat mehrere Zwecke, unter anderem die Synchronisation der Datenübertragungen zwischen den relativ langsamen Peripheriegeräten und dem relativ schnellen Zentralspeicher, und das Zusammenfügen oder Trennen von Datenworten in die unterschiedlichen Breiten der Datenpfade und der differierenden Organisation (d. h. 16 Bits, 32 Bits, etc.) des Zentralspeichers und der Peripheriegeräte, soweit erforderlich. Wie leicht erkennbar ist, gibt es eine Vielzahl von Gestaltungsmöglichkeiten für E/A-Verarbeitungssysteme, die unterschiedliche Stufen, Typen und Kombinationen von Multiplexen, Intelligenz und Pufferung verwenden. Die letztendliche Aufgabe ist jedoch in jedem Fall die Bereitstellung eines flexiblen, effizienten, verwaltbaren, zuverlässigen und preiswerten E/A-Verarbeitungssystem, das einen relativ hohen E/A-Durchsatz verwirklicht. Drei der vielen Möglichkeiten können US-Patent Nr. 3,432,813 - APPARATUS FOR CONTROL OF A PLURALITY OF PERIPHERAL DEVICES - E. J. Annunziata et al, US-Patent Nr. 3,725,864
- - INPUT/OUTPUT CONTROL - Clark et al, und der europäischen Patentanmeldung EP-A-0 125 561 - DATA PROCESSING SYSTEM HAVING MULTI-BUFFER ADAP- TER BETWEEN A SYSTEM CHANNEL AND AN INPUT/OUTPUT BUS - Burns et al, entnommen werden.
- Annunziata et al offenbaren ein E/A-Verarbeitungssystem, in welchem grundsätzlich ein Haupt-Multiplexkanal zwischen der CPU (einschließlich dem Zentralspeicher) und einer Mehrzahl von Steuereinheiten eingefügt ist, von denen jede in der Lage ist, mehrere E/A-Geräte wie z. B. Bandgeräte oder Disk-Laufwerke zu steuern. Der Hauptkanal stellt eine Vielzahl von Unterkanälen, von denen jeder für einen Anschluß an einem Paar Steuereinheiten vorgesehen ist und für die Unterkanäle gemeinsame Datenregister und Steuerungen beinhaltet, und einen lokalen Speicher zum Ablegen der auszuführenden E/A-Befehle oder Einheitensteuerworte zur Verfügung. Vier Selektor-Unterkanäle sind vorgesehen, um E/A-Geräte mit relativ hoher Geschwindigkeit wie "hyperspeed"-Bandeinheiten anzuschließen und ein Multiplexer-Unterkanal ist vorgesehen, um relativ langsame Geräte, wie z. B. Kartenleser, anzuschließen. Der Betrieb von einem der Selektor-Unterkanäle beginnt mit der Ausführung eines E/A- Start-Befehls durch die CPU, welche die Hauptkanalsteuerung veranlaßt, die zugeordneten Steuerworte von dem Zentralspeicher zu holen und diese im Lokalspeicher abzulegen. Der spezielle Unterkanal, der das E/A-Gerät anschließt, für das der E/A-Befehl vorgesehen ist, wird dann aktiviert, um sich über die korrespondierende Steuereinheit mit dem Gerät zusammenzukoppeln. Danach werden die Befehle von dem lokalen Speicher zu der Steuereinheit übertragen, welche dann das ausgewählte E/A-Gerät entsprechend steuert. Bei Lesezugriffen werden 8-Bit-Bytes von dem E/A- Gerät geholt und in dem Unterkanal zur Bildung eines 64-Bit-Wortes zusammengefügt. Sobald ein Wort zusammengefügt ist, wird es sofort in ein zweites Register übertragen und der Unterkanal fordert einen Zugriff auf den Zentralspeicher zum Ablegen darin an. Ein ähnlicher, aber umgekehrter Ablauf wird für Schreibzugriffe verwendet. Es ist anzumerken, daß, sobald ein Selektor-Unterkanal mit einem E/A-Gerät verbunden ist, dies so bleibt, bis die gesamte E/A-Operation abgeschlossen ist. Deshalb können nicht mehr als 4 E/A-Geräte zu einer bestimmten Zeit über die Selektor-Unterkanäle arbeiten und nur auf eines der Mehrzahl von Geräten, die über jeden Selektor-Unterkanal angeschlossen sind, kann zur Zeit zugegriffen werden. Beide Begrenzungen sind nicht erwünscht, und andere z. B. äußerst wünschenswerte wie Burst-Übertragungen von Daten zu und von dem Zentralspeicher können nicht verwirklicht werden.
- Annunziatas Multiplexer-Unterkanal kann jedoch alle daran angeschlossenen Peripheriegeräte simultan betreiben. An den Multiplexer-Unterkanal angeschlossene Peripheriegeräte werden in der gleichen Weise in Betrieb gesetzt, wie die an die Selektor-Unterkanäle angeschlossenen. Sobald jedoch eine E/A-Übertragung ausgelöst ist, werden das Einheiten-Steuerwort oder die Steuerworte von dem Kanal zurück zu dem Lokalspeicher übertragen, wodurch der Multiplexer-Unterkanal frei ist, um andere Geräte zu betreiben, bis das gesteuerte Gerät Unterstützung benötigt, d. h., fertig ist, um ein Datenbyte entgegenzunehmen oder zu erzeugen. Jetzt werden das Einheiten-Steuerwort oder die Steuerworte wiederum zu dem Unterkanal übertragen und das Byte wird entweder entgegengenommen oder erzeugt. Zwischen den Unterstützungsperioden werden die Teile des 64 Bit-Wortes, das, von dem Peripheriegerät kommend, zusammengefügt oder zur Übertragung an das Gerät zerlegt wird, in dem Lokalspeicher abgelegt. Während jedoch das Multiplexer-Unterkanal-Design für relativ langsame Geräte funktionsbereit ist, ist es erkennbar ungeeignet für schnellere Geräte wie z. B. Disk-Laufwerke.
- Clark et al offenbaren ein E/A-Verarbeitungssystem, das dem von Annunziata et al ähnlich ist, aber ein weiterentwickeltes Design aufweist. Z.B. verwenden Clark et al Koppelpunktschaltungen zwischen einer Vielzahl von Steuereinheiten (von denen jede verschiedenen Kanälen zugeordnet ist) und einer Vielzahl von E/A-Geräten, so daß auf jedes einzelne der E/A-Geräte über jeden der Kanäle zugegriffen werden kann. Dies verbessert die E/A-Verarbeitungsflexibilität gegenüber dem System von Annunziata et al. Clark et al offenbaren ein ähnliches System des Geräte- Steuereinheiten-Anschlusses, bei dem ein einzelnes E/A-Gerät selektiv an mindestens zwei verschiedene Steuereinheiten anschließbar ist, was ebenfalls eine Verbesserung gegenüber dem von Annunziata et al offenbarten System ist. Neben der verbesserten Flexibilität des Gerätezugriffes durch die verfügbaren Kanäle offenbaren Clark et al ebenfalls ein verbessertes System der Multiplexkanal-Steuermöglichkeiten im Zeitbereich. Dieses System ähnelt also der bei Annunziata et al verwendeten Technik, um eine Vielzahl von langsamen Peripheriegeräten durch einen einzelnen Kanal zu betreiben. Clark et al jedoch erweitern diese Technik, so daß zwei oder mehr Kanäle gemultiplext werden können, um eine Vielzahl von Geräten zu bedienen, wobei z. B. ein erster Kanal verwendet werden kann, um eine E/A-Operation in einem ersten Peripheriegerät auszulösen, und dann zur Verwendung bei der Unterstützung anderer Peripheriegeräte während der Latenzzeit des ersten Gerätes getrennt sein kann und ein zweiter Kanal zur Steuerung des ersten Peripheriegerätes verwendet werden kann, wenn es wiederum Unterstützung anfordert.
- Somit bietet das System von Clark et al eine deutlich größere Flexibilität beim Zugreifen auf Peripheriegeräte durch Bereithalten mehrerer Kanalzugriffspfade zu jedem Gerät und zur besseren Auslastung der verfügbaren Kanalresourcen. Das System ist jedoch erheblich komplizierter als das von Annunziata et al vorgeschlagene, sowohl hinsichtlich der Verbindung der vielen Kanäle, Steuereinheiten und Peripheriegeräte als auch hinsichtlich der Menge und Entwicklungsstand der implementierten Steuerhardware. Außerdem schenken Clark et al der Optimierung der Datenhandhabung sowohl hinsichtlich der Maximierung verfügbaren E/A- Durchsatzpotentials als auch hinsichtlich der Sicherstellung einer kurzen Maximal-Reaktionszeit zum Holen oder Ablegen von Daten in einem gegebenen E/A-Peripheriegerät nur geringe Aufmerksamkeit.
- Burns et al offenbaren ein Datenverarbeitungssystem mit einem Multi- Puffer-Adaptor (MBA), um Daten zwischen einem System-Kanalbus und einem Geräteebenen-Bus zu übertragen. Der MBA kommuniziert mit einem DMA-Anschluß und stellt eine Mehrzahl von Daten- und Steuerinformations-Kanälen zum Datenfluß zwischen dem DMA-Anschluß und einer korrespondierenden Anzahl von Peripheriegeräten zur Verfügung. Der MBA beinhaltet zwei Datenpuffer, welche eine Mehrzahl von Registern zum Halten von Datenpaketen beinhalten. Der MBA beinhaltet weiterhin einen Multiplexer zum Kommunizieren mit dem DMA-Anschluß und den Peripheriegeräten zum Multiplexen der Datenpakete in die und aus den zwei Datenpuffern von oder zu entweder dem DMA-Anschluß oder den Peripheriegeräten. Die MBA-Puffer werden automatisch zwischen den E/A-Geräten, die momentan Datenübertragung anfordern, umgeschaltet, und sie werden automatisch auf den Kanal umgeschaltet, um Datenketten zu übertragen.
- Die vorliegende Erfindung gibt, im Gegensatz zu diesen drei Referenzen, ein schalterloses, peripheres Interface-System an, welches die Hardwareauslastung maximiert und garantiert, daß auf alle darüber angeschlossenen Peripheriegeräte in im wesentlichen der gleichen Zeit zugegriffen werden kann, so daß kein Peripheriegerät die verfügbaren E/A-Kanäle monopolisieren kann. Weiterhin ist eine solche E/A-Kapazität vorgesehen, daß alle Peripheriegeräte gleichzeitig mit im wesentlichen maximaler Kapazität unter typischen Betriebsbedingungen übertragen können, so daß der maximale Durchsatz primär durch die Anzahl der implementierten Peripheriegeräte begrenzt wird, und nicht durch verfügbare E/A-Kanalresourcen. Zusätzlich werden die Pufferungsanforderungen durch drei oder mehr Stufen von synchronisierten Puffern, die zwischen dem peripheren Speichergerät und der Mainframe-CPU angeordnet sind, und durch das paarweise Anordnen von Puffern in bestimmten Komponenten des Systems auf einem Minimum gehalten. Darüber hinaus verwendet das periphere Interface-System der vorliegenden Erfindung intelligente Steuerlogik in fast allen Komponenten des Interface-Systems, wobei die Intelligenz synchronisiert wird, um in einer intensiv koordinierten und effizienten Weise zu arbeiten.
- Die vorliegende Erfindung gibt ein peripheres Interface-System für ein Datenverarbeitungssystem mit einem Zentralprozessor, mit einem Zentralspeicher und einer Mehrzahl von Peripheriegeräten gemäß Anspruch 1 an.
- Fig. 1 ist ein konzeptionelles Blockschaltbild der bevorzugten Ausführungsform des peripheren Interface-Systems der vorliegenden Erfindung;
- Fig. 2 ist ein vereinfachtes Blockschaltbild einer Multiplexereinheit gemäß der vorliegenden Erfindung;
- Fig. 3 ist eine Darstellung der Verwendung des Registers in der Multiplexereinheit gemäß der vorliegenden Erfindung;
- Fig. 4 zeigt andere Verwendungen des Registers in einer Multiplexereinheit gemäß der vorliegenden Erfindung;
- Fig. 5 bis 7 sind Zeitdiagramme von Lese- und Schreib-Operationen durch die Multiplexereinheit gemäß der vorliegenden Erfindung;
- Fig. 8A und 8B beinhalten ein vereinfachtes Blockschaltbild einer Steuereinheit gemäß der vorliegenden Erfindung; und
- Fig. 9 ist ein vereinfachtes Blockschaltbild eines Disk- Laufwerkes gemäß der vorliegenden Erfindung.
- Ein konzeptioneller Überblick über die bevorzugte Ausführungsform des peripheren Interface-Systems der vorliegenden Erfindung ist in dem Blockdiagramm in Fig. 1 dargestellt. Ein Eingabe-Ausgabe-Prozessor (IOP) 10, der einen RAM-Speicher enthält, ist vorgesehen, um bestimmte Eingabe-Ausgabe-Aufgaben für eine CPU - zentrale Verarbeitungseinheit - (nicht dargestellt), z. B. das Lesen und Schreiben von Daten auf Disklaufwerke und von Disklaufwerken 0-3, bezeichnet durch die Bezugszeichen 60 bis 63, auszuführen. Der RAM-Speicher des IOP 10, nachfolgend als "lokaler oder RAM"-Speicher bezeichnet, ist über einen der Speicherdirektzugriffs-(DMA)-Anschlüsse 12 durch einen DMA-Datenkanal 14 an einem Kanalmultiplexer 30 angeschlossen, welcher wiederum durch die entsprechenden Steuereinheiten 0-3, die mit den Bezugszeichen 50 bis 53 bezeichnet sind, mit den Disklaufwerken 0-3 verbunden ist. Ein anderer Kanal, der Akkumulatorkanal 16, ist zum Befördern von Anweisungen, Befehlen und Parametern etc. von dem Akkumulatorregister des IOP 10 zu dem Multiplexer 30 vorgesehen.
- Der Multiplexer 30, die Steuereinheiten 50-53 und die Disklaufwerke 60- 63 umfassen ein E/A-Subsystem 20. Wie dargestellt, kann der IOP 10 mit bis zu vier solcher Subsysteme verbunden sein. Die Subsysteme 21, 22 und 23 können über die entsprechenden DMA-Kanäle 24, 25 und 26 und den Akkumulatorkanal 16, welcher parallel an jeden angeschlossenen Multiplexer angeschaltet ist, an den IOP 10 angeschlossen sein.
- Der IOP 10 ist bevorzugt ein schneller, 16-Bit-Vielzweckrechner, der in der Lage ist, Daten mit sehr hohen Geschwindigkeiten durch seinen lokalen RAM-Speicher (bevorzugt in einem schnellen Bipolar-Design) zu transportieren, wie sie sich zwischen den Peripheriegeräten und der CPU bewegen. Die gesamte Kommunikation mit dem Mainframe, wie z. B. Disk- und Band-Anforderungen oder Stations-Kommunikation, wird bevorzugt von einem zweiten "Master"-IOP (nicht dargestellt) gehandhabt, welcher in Verbindung mit dem IOP 10 arbeitet, wo Anforderungen an periphere Geräte unter der Steuerung des IOP 10 einbezogen sind. Ebenfalls nicht dargestellt, aber bevorzugt in Verbindung mit dem IOP 10 und dem Master- IOP verwendet, ist ein relativ großer Pufferspeicher, der mit dem Zentralspeicher über einen 100M-Byte/Sekunde-Kanal kommuniziert. Im Betrieb steuert der IOP 10 die Bewegung von Daten zwischen dem Zentralspeicher des Mainframes und dem Pufferspeicher durch den Kanal. Bei Schreib- und Lesezugriffen auf Peripheriegeräte überträgt der IOP 10 Daten zwischen seinem lokalen Speicher und dem Pufferspeicher und zwischen seinem lokalen RAM-Speicher und über die DMA-Kanäle angeschlossenen Peripheriegeräten, wie den Disklaufwerken 0-3. Es ist anzumerken, daß, auch wenn das oben beschriebene System aus Eingabe-Ausgabe-Prozessoren und Speichern bevorzugt wird, dies für die vorliegende Erfindung nicht unbedingt erforderlich ist.
- Konzeptionell kann man sich den Kanalmultiplexer 30 als in vier Hardwarekanäle 0-3 unterteilt vorstellen, von denen jeder Daten, Befehle und zugehörige Pararmeter zwischen dem IOP 10 und einer korrespondierenden Steuerung (0-3) und dem Laufwerk (0-3) leitet. Zum Zweck der konzeptionellen Illustration sind vier einzelne Multiplexerkanäle (0-3) und Interfacepfade 40 bis 43 zwischen dem Multiplexer 30 und den Steuereinheiten (0-3) gezeigt. Aus dem Nachstehenden ergibt sich jedoch, daß in der Praxis ein einzelner Informationspfad mit Zugriff auf den Multiplexer 30 und danach auf den IOP 10, auf einer Zeitmultiplex-Basis zwischen den Steuerungen 0-3 geteilt wird.
- Die Steuereinheiten 0-3 sind jeweils für ein entsprechendes Disklaufwerk 0-3 reserviert und über entsprechende Interfacepfade 55 bis 58 daran angeschlossen. Die primäre Funktion jeder Steuereinheit (0-3) ist es, Daten zwischen dem Multiplexer 30 und einem 64-Paket-FIFO-Entzerrungspuffer in einem korrespondierenden Disklaufwerk 0-3 zu puffern. Zum Puffern von Daten beinhaltet jede der Steuerungen 0-3 ein Paar Paketpuffer, welche versuchen, das Disklaufwerk bei Schreib- und Lesefunktionen entsprechend voreilen zu lassen oder zu verzögern. Die Daten werden in den und aus dem entsprechenden Disklaufwerk- Entzerrungspuffer in Multipaketströmen übertragen. Im Sinne dieser Beschreibung und der angefügten Ansprüche ist der Begriff "Paket" mit der Bedeutung des Begriffes "Wort" zu verstehen und bezeichnet eine parallele Gruppe einer vorbestimmten Anzahl von Datenbits.
- Jedes der Disklaufwerke 0-3 beinhaltet unabhängige Steuerungen für das Timing interner Schreib- und Leseoperationen, z. B. das Lesen und Schreiben von Daten von der und auf die Disk. Somit ist die einzige zeitabhängige Operation über die Interfacepfade 55-58 die momentane Übertragung von Daten und Parametern (z. B. Funktionen). In einem Schreibmodus empfängt der Entzerrungspuffer eines Disklaufwerkes (0-3) Daten von einer korrespondierenden Steuerung (0-3) und gibt sie dann zum Ablegen auf der Disk-Platte in Synchronisation mit dem internen Disklaufwerks-Takt ab. Ähnlich werden im Lesemodus die Daten unter Verwendung des internen Laufwerks-Taktes von den Platten in den Entzerrungspuffer getaktet und aus dem Entzerrungspuffer an eine Steuerung ausgegeben.
- Das vorstehend in groben Zügen dargestellte System wird nun detaillierter beginnend mit Bezug auf die Fig. 2, welche die Multiplexer 30 der Subsysteme 20 bis 23 in einem vereinfachten Blockschaltbild zeigt, beschrieben. Wie vorstehend erwähnt ist die grundsätzliche Aufgabe des Multiplexers 30, Daten zwischen einem IOP-DMA-Anschluß und bis zu vier Disk-Steuereinheiten (0-3) zu multiplexen. Neben dem Puffern der Daten zwischen dem lokalen Speicher und den Steuerungen verwaltet der Multiplexer 30 einige Lokalspeicher-Adressen, einige Statusregister, "Aktiv" und "Fertig"-Kennzeichen, und Interrupts für jede einzelne der Steuerungen 0-3.
- Zwei Datenpuffer A und B, entsprechend 100 und 101, sind aufgeteilt zwischen allen vier Kanälen, um Daten zu und von dem IOP 10-Lokalspeicher zwischenzuspeichern. Jeder Puffer 100 und 101 hält vier Datenpakete für jeden der Kanäle 0-3 (das sind die Informationspfade zwischen dem IOP 10 und den Steuerungen), wie z. B. anhand des Kanal es O eines jeden Puffers dargestellt.
- Die IOP-10-Lokalspeicheradresse und Funktionsinformation werden am Eingang 104 des Akkumulatorkanals 16 eingegeben, in dem Register 124 gepuffert und durch den Multiplexer 134 (Adreßinformation) in den Steuerpuffer 125 eingetragen, oder an den Steuerausgang 112 (Steuerung/Laufwerksfunktionen) weitergegeben. Die Lokalspeicheradressen (LMAs) werden bei Bedarf gemultiplext an das IOP-Lokalspeicheradressregister ausgegebenen, wie unten detailliert erläutert. Ähnlich werden die von den Steuereinheiten (0-3) übertragenen Laufwerks-Statusparameter am Eingang 105 eingegeben, von dem Register 123 gepuffert und in dem Steuerpuffer 125 abgelegt. Auf Anforderung werden sie über den Multiplexer 131 und den Ausgang 133 an den IOP-10-Akkumulatorkanal 16 abgegeben.
- Die nachstehend detaillierter besprochene Steuerlogik ermöglicht gleichzeitige Lese- und Schreibzugriffe auf unterschiedliche Disklaufwerke. Die Steuerlogik für den Multiplexer 30 ist funktionell in vier Logiksätze aufgeteilt, - ein Satz für jeden der vier möglichen Kanäle und jedes der Laufwerke 0-3, - welche zum Multiplexen des Datenflusses durch die Kanäle synchronisiert werden. Die Synchronisation der vier Steuereinheiten 0-3 durch den Multiplexer ermöglicht diesem, sich den DMA-Kanal zu und von dem IOP 10 zeitlich aufzuteilen.
- Die Puffer 100, 101 und 125 sind, wie dargestellt, in vier Speicherbereiche unterteilt, einer für jeden Kanal und jeder unter der Steuerung eines Logiksatzes. Wie detaillierter in Fig. 3 dargestellt, beinhaltet jeder der Puffer 100 und 101 16 Register (vier pro Kanal), bezeichnet mit 0 bis 15, die jeweils ein 16-Bit-Datenpaket halten. Der Aufbau des Steuerpuffers 125 ist detaillierter aus Fig. 4 ersichtlich. Der Steuerpuffer 125 beinhaltet 16 Register, bezeichnet mit 0-15, vier für jeden der Kanäle 0-3. Die Register halten zwei Lokalspeicheradreßpakete, 0 und 1, ein internes (Steuer-)Statuspaket und ein externes (Disk-)Statuspaket pro Kanal.
- Zwischen dem Multiplexer 30 und dem Lokalspeicher werden Daten in Gruppen von vier Paketen übertragen, wobei jeder Gruppe ein eigener Kanal zugeordnet ist, so daß jede Übertragung die einem speziellen Kanal in einem der Puffer A oder B zugeordneten vier Register vollständig füllt oder vollständig leert. Z.B. werden bei einer Übertragung von Paketen für den Kanal 0 vom A-Puffer 100 zum Lokalspeicher die in dem Kanalregister gehaltenen vier Pakete (0-3) in serieller Weise aus dem A-Puffer 100 durch den Multiplexer 110 und den Ausgang 111 über den DMA-Kanal 14 in den Lokalspeicher getaktet. Bei einer Übertragung von Paketen für Kanal 3 vom Lokalspeicher zu dem B-Puffer 101 werden Datenpakete in serieller Weise am Eingang 106 über den DMA-Kanal 14 empfangen, durch den Multiplexer 107 geführt und in den Kanal 3 zugeordneten vier Paketregistern abgelegt.
- Zwischen dem Multiplexer 30 und einer Steuerung werden Pakete jedoch auf einer Zeit-gemultiplexten Abtastbasis übertragen, meistens eines alle vier Taktperioden pro Kanal. Somit erfordert z. B. das Füllen der vier Paketregister von Kanal 0 in dem A-Puffer mindestens 14 Taktperioden bei einer Verzögerung von einer Taktperiode gegenüber der Taktperiode, in der der Multiplexer ein Paket und die Speicherung des Paketes in einem Paketregister anfordert. Ebenso sind mindestens 14 Taktperioden erforderlich, um vier Pakete für einen bestimmten Kanal aus dem Puffer zu entnehmen.
- Es wird nun Bezug genommen auf die Fig. 5A und 5B, welche nebeneinanderliegend ein einzelnes Zeitdiagramm bilden, das den illustrativen, obwohl in einer praktischen Anwendung ungewöhnlichen, Fall des Lesens des Multiplexers von allen vier Kanälen gleichzeitig darstellt. Der Multiplexer 30 beinhaltet einen Abtaster, welcher eine 0-3 Abtastsequenz für die gemultiplexte Daten- und Funktionspakete zwischen sich selbst und den vier Steuerungen, welche sich seinen Eingang 105 und seinen Ausgang 112 teilen, bereitstellt. Die Abtastersignale werden somit jeder mit dem Multiplexer verbundenen Steuerung zur Verfügung gestellt, um einer Steuerung anzuzeigen, in welcher Taktperiode sie Informationspakete senden oder entgegennehmen kann. In dem Beispiel in Fig. 5 (die Puffer sind anfangs leer) wird der A-Puffer 100 zwischen den Taktperioden N und N+16 mit 16 Datenpaketen, vier von jeder Steuerung, gefüllt. Während einer Taktperiode N z. B. signalisiert der Sequenzabtaster der Steuerung 0, ein Datenpaket zu erzeugen (wenn verfügbar), und in der Taktperiode N+1 wird ein erstes Datenpaket von der Steuerung 0 über den Eingang 105 und den Multiplexer 108 in der Kanal- 0-Paketgruppe des A-Puffers 100 abgelegt. Somit sind in einer Taktperiode N+13 die vier Kanal-0-Paketregister des A-Puffers gefüllt, die Kanal-1-Register in der Periode N+14, Kanal-2-Register bei N+15, und die Kanal-3-Register bei N+16.
- Sobald eine Kanal-Paketgruppe in einem Puffer gefüllt ist, in diesem Beispiel Puffer A, wird die andere Kanalgruppe in dem anderen Puffer, wenn sie leer ist, gefüllt. In dem in Fig. 5 gezeigten Fall beginnt z. B. das Füllen der B-Puffergruppen in der Periode N+17, zu welchem Zeitpunkt in diesem Beispiel alle vier Kanalpaketgruppen in dem A-Puffer gefüllt sind.
- Sobald eine bestimmte Paketgruppe gefüllt ist, wird der Multiplexer versuchen, die Pakete so schnell wie möglich zu dem Lokalspeicher zu übertragen. In dem Beispiel in Fig. 5 beginnt der Prozeß des Leerens der Puffer-A-Kanal-0-Gruppe in den Lokalspeicher in der Taktperiode N+15, synchronisiert, um auf den Abtastsequenz-abschnitt "2" in Periode N+14 zu antworten. Dieser Versatz von zwei Taktperioden der Synchronisation der Lokalspeicher-Übertragungslogikoperation bleibt für alle Lokalspeicherübertragungsoperationen bestehen und ist vorgesehen, um Speicherübertragungen so schnell wie möglich nach dem kompletten Leeren oder Füllen von - einem bestimmten Kanal in einem Puffer zugeordneten - Paketen auslösen zu können, wenn andere Bedingungen dies anzeigen.
- Der Vorgang des Leerens einer Kanalgruppe für einen Puffer beginnt, wie z. B. bezogen auf Kanal 0, Puffer A gezeigt, in der Taktperiode N+15 mit einer Anforderung für eine Lokalspeicheradresse (LMA) an das Steuerpufferregister 125. In diesem Beispiel wird die Adreßanforderung sofort in der Taktperiode N+16 akzeptiert, so daß in der Taktperiode N+17 eine Lokalspeicheradresse durch den Multiplexer gemultiplext und zur Ausgabe an das Lokalspeicheradreßregister am Ausgang 132 vorbereitet wird. Gleichzeitig wird eine Lokalspeicher-Schreib-Zugriffsanforderung angelegt, welche dann in variabler Weise, abhängig von der Verfügbarkeit des Speichers für diese Operation, akzeptiert wird. In dem vorliegenden Beispiel wird die Anforderung sofort akzeptiert, so daß die Daten von der Kanal-0-Paketgruppe des A-Puffers in vier aufeinanderfolgenden Perioden, beginnend mit der Periode N+19, in den Speicher übertragen werden. Somit werden von Periode N+19 bis Periode N+22 vier 16 Bit Datenpakete von der Puffer-A-Kanal-0-Gruppe in den Speicher übertragen. Nachdem eine Zugriffsanforderung akzeptiert wurde, wird die korrespondierende LMA über den Inkrementor 126 und den Multiplexer 134 inkrementiert. Damit ist die LMA für den nächsten erforderlichen Speicherzugriff richtig vorbereitet. Diese Operation folgt ebenfalls in dem Fall der Übertragung von dem Speicher in den Puffer, wie nachfolgend erläutert.
- Wie dargestellt kann der Vorgang des Leerens der Kanal-1-Gruppe des A- Puffers beginnen, bevor die Übertragung der Pakete von der Kanal-0- Gruppe des Puffers abgeschlossen ist. Somit erkennt in einer Taktperiode N+20 die vom Abtastabschnitt "3" in der Taktperiode N+19 synchronisierte Speicherübertragungslogik, daß die Kanal-1-Paketgruppe gefüllt ist und ein Übertragungsprozeß ausgelöst werden kann. Wegen des Überlappens dieser Operationen ist ein Speicherpaar in der Logik vorgesehen, welches es der Logik gestattet, die einer bereits abgeschlossenen Operation zugeordnete Kanalnummer zu "erinnern", während ein neuer Kanal bedient wird, so daß Pakete in die und aus den A- und B-Puffern zu und von den korrekten Kanalbereichen geleitet werden können. Da beide Puffer gleichzeitig aktiv sein können, wobei der eine Daten ausliest und der andere diese speichert, wird die letzte Stufe des Zwischenspeichers kopiert, um eine für jeden Puffer verfügbar zu machen, so daß jeder Puffer einen Zugriff auf die abgelegte Kanalnummer hat. Daher wird die den Speicherzugriff anfordernde Kanalnummer in einem ersten Register zwischengespeichert, in diesem Beispiel beginnend in einer Taktperiode N+16 (wenn die Speicherzugriffsanforderung angelegt wird), und die Kanalnummer wird an einen zweiten Zwischenspeicher weitergegeben, welcher zum Adressieren des Datenpuffers in einer Taktperiode N+17 gelesen werden kann. Zusätzliche Adressierungen sind zum Zeigen auf die zugehörigen Pakete (0-3) innerhalb einer Gruppe vorgesehen.
- Obwohl die maximale DMA-Speicherzugriffsgeschwindigkeit einen Zugriff alle sechs Taktperioden gestattet, ist die Ausführung eines nächsten Speicherzugriffs während mindestens zwei Taktperioden, die der Akzeptanz einer Speicherzugriffsanforderung folgen, nicht erlaubt, wie z. B. bezogen auf die Ereignisfolge, die der Zugriffsakzeptanz in Taktperiode N+24 für Kanal 1 und in Taktperiode N+31 für Kanal 3 folgt, entnehmbar ist. Somit werden, wenn ein Zugriff akzeptiert ist, vier 16-Bit-Worte innerhalb der nächsten fünf Taktperioden übertragen. Damit kann, wenn die Taktperiode T ist und die maximale Speichergeschwindigkeit ein Zugriff alle 6 T ist, die E/A-Geschwindigkeit pro Kanal 16/6 T Bits pro Sekunde für 16-Bit-Datenpakete erreichen.
- In der Taktperiode N+32 ist erkennbar, daß der B-Puffer vollständig gefüllt ist, daß aber der gesamte A-Puffer noch in den Lokalspeicher zu leeren ist. Somit werden von der Zeitperiode N+32 bis zur Zeitperiode N+41 keine Pakete von den Steuerungen angenommen, da Lokalspeicheroperationen mit einem Puffer die Adreßlogik des Puffers monopolisieren, so daß alle anderen Pufferoperationen verschoben werden. In der Taktperiode N+42 ist jedoch erkennbar, daß ein Paket von der Steuerung 2 akzeptiert und in der Kanal-2-Gruppe des Puffers A abgelegt wird. Von diesem Punkt an wird der Puffer A in der gleichen Weise wie oben dargelegt, gefüllt - nur daß die letzten zwei in dem Puffer abgelegten Pakete in diesem Fall von Steuerung 0 und von Steuerung 1 stammen.
- In dem Moment, in dem das füllen des Puffers A wieder beginnt, sobald er in den Speicher entleert ist, beginnt das Leeren des Puffers B in den Speicher, sobald der A-Puffer geleert ist, vorausgesetzt daß der B- Puffer oder mindestens eine Kanalgruppe von diesem Puffer gefüllt ist. Somit wird in der Taktperiode N+39 der Vorgang des Leerens des B-Puffers und insbesondere von dessen Kanal 0 ausgelöst.
- Damit läßt sich aus dem in Fig. 5 illustrierten Fall ersehen, daß in dem Fall einer Multiplexer-Leseoperation von allen vier Kanälen, diese aus dem Füllen des ersten Puffers von der Steuerung, dem Leeren des Puffers in den Lokalspeicher, während der andere Puffer gefüllt wird, und so weiter und so fort, besteht.
- Bezug nehmend auf die Fig. 6A und 6B, welche nebeneinanderliegend ein einzelnes Zeitdiagramm bilden, wird der Fall eines synchronen Schreibens des Multiplexers in alle vier Kanäle dargestellt. Im Fall dieses Beispiel es beginnt das Diagramm damit, daß der A- und B-Puffer voll sind, da sie vorher aus dem Lokalspeicher aufgefüllt wurden. Dann wird in einer sehr ähnlichen Weise wie bei der Ausführung des Füllens der Puffer aus den Steuerungen der A-Puffer von der Taktperiode N+2 bis zu der Taktperiode N+17 in die vier Steuerungen geleert, ausgelöst durch die Abtastabschnitte, beginnend in der Taktperiode N und fortlaufend bis zu der Taktperiode N+15. Wie dargestellt wird ein Datenpaket von dem Multiplexer zu einer Steuerung in der zweiten, dem Abtast-Abschnittsignal zu der Steuerung folgenden Taktperiode übertragen. Zur Klarstellung zeigt das vorherige Beispiel aus Fig. 5 das Auftreten der Bestätigung und die Datenablage in dem Puffer, welches in derselben Taktperiode auftritt.
- In einer Taktperiode N+14 ist erkennbar, daß der Vorgang des Leerens der Kanal-0-Gruppe des A-Puffers in die Steuerung 0 abgeschlossen ist und daß der Vorgang des Füllens des Puffers aus dem Lokalspeicher ausgelöst werden kann. Dazu ist, wie in dem Fall der vorstehend erläuterten Leseoperation, der Speicherübertragungslogikbetrieb mit der Abtastsequenz plus zwei Kanälen synchronisiert, so daß in dem Abtastkanal-2- Abschnitt in der Taktperiode N+14 die Logik bestimmt, ob die Kanal-0- Paketgruppen vollständig in ihren Puffern sind oder nicht und,zu dem Lokalspeicher übertragen werden können, was dem in Fig. 6 dargestellten Fall entspricht. Damit wird in der Taktperiode N+15 eine Adreßanforderung von dem Steuerpufferregister 125 abgegeben, welche als sofort durch den Steuerpuffer akzeptierte Anforderung dargestellt ist. Es ist jedoch zu berücksichtigen, daß im Fall eines Anforderungskonfliktes an den Steuerpuffer, z. B. für Statusinformationen oder Funktionsausgaben der Steuerung, die Adreßanforderung verzögerbar ist.
- Sobald die Adreßanforderung akzeptiert und der Steuerpuffer 125 vorbereitet ist, um die richtige Adresse an ein Lokalspeicheradreßregister des Lokalspeichers über den Ausgang 132 abzugeben, wird eine Speicherlesezugriffsanforderung abgegeben, in dem vorliegenden Fall in Taktperiode N+17. In einer Taktperiode N+18 wird die Anforderung akzeptiert, welche sodann unvermeidlich zu dem Empfang von vier Paketen aus dem Speicher für die Kanal-0-Gruppe von Puffer A führt, in der Taktperiode N+26 beginnt und in der Taktperiode N+29 endet, wobei die Pakete in den vier Positionen der Kanal-0-Puffer-A-Gruppe, beginnend in der Taktperiode N+27 und endend in der Taktperiode N+30, abgelegt werden.
- Wie in dem Fall des Lesezugriffs muß eine Kanalnummer, die einen Zugriff anfordert, und eine Lesezugriffs-Kanalnummer wegen des Überlappens der logischen Operationen zwischengespeichert oder "abgelegt" werden, wie aus der Darstellung entnehmbar ist. Beispielsweise wird der Vorgang des Auffüllens der vier dem Kanal 3 zugewiesenen Positionen von Puffer A vor dem Abschluß der Übertragung der Pakete und dem Ablegen dieser Pakete in den A-Puffer für Kanal 0, der in der Taktperiode N+15 ausgelöst wurde, aufgerufen. In dem Fall des Füllens des Puffers aus dem Lokalspeicher ist jedoch wegen der damit einhergehenden, längeren Verzögerungen von der Auslösung eines Speicherlesezugriffs zu der Beendigung eines solchen eine zusätzliche Ablageebene erforderlich. Deshalb wird die Kanalnummer, die einen Lesezugriff vom Speicher anfordert, zwischengespeichert, wenn der Zugriff erstmals angelegt wird, an einen zweiten Zwischenspeicher weitergegeben, wenn die Lesebestätigung (nicht dargestellt) von dem IOP empfangen wird, und schließlich sechs Taktperioden später an einen dritten Zwischenspeicher weitergeleitet, wo jeder vorherige Lesezugriff vom Lokalspeicher auf den Puffer abgeschlossen wird. Der dritte Zwischenspeicher kann deshalb zum Zeigen der Pufferadresse auf die richtige Kanalgruppe mit einer von einer anderen Adreß-Steuerung abgegebenen individuellen Paketadresse (0 bis 7) belegt werden. Wiederum sind, wie in dem Fall des Schreibens in den Lokalspeicher, für jeden Puffer unabhängige Zwischenspeicher vorgesehen.
- Weiterhin das Überlappen der Leseoperationen im Lokalspeicher ist zu berücksichtigen, daß die Geschwindigkeit des Multiplexens von Daten aus dem Speicher in die Puffer durch die Geschwindigkeit begrenzt wird, mit welcher die Daten durch den Lokalspeicher bereitgestellt und zu dem Multiplexer übertragen werden. Deshalb sind einige Verbesserungen der Geschwindigkeit durch höhere Speicherzugriffsgeschwindigkeiten möglich. Es ist jedoch zu beachten, daß im Fall des Lesezugriffes die maximale DMA-Geschwindigkeit ein Zugriff alle sechs Taktperioden ist, so daß, wenn die Taktperiode T ist und die maximale Speichergeschwindigkeit ein Zugriff alle 6 T ist, die E/A-Geschwindigkeit pro Kanal 16/tT für 16- Bit-Datenpakete erreichen kann.
- Wie in dem Beispiel in Fig. 6 gezeigt, wird, sobald der A-Puffer zu der Zeit N+17 leer ist, das Leeren des B-Puffers begonnen, und das Füllen des A-Puffers aus dem Lokalspeicher läuft gleichzeitig damit ab. In der Taktperiode N+33 ist der B-Puffer in die Steuerungen geleert worden, so daß die Steuerlogik versucht, irgendwelche verfügbaren Datenpakete von dem A-Puffer (tatsächlich von beiden Puffern) zu lokalisieren, die zu der Steuerung übertragen werden können. Deshalb prüft in der Taktperiode N+34 die Logik die Kanal-2-Gruppe in Puffer A und erkennt, daß die Gruppe augenblicklich aus dem Speicher gefüllt wird und deshalb nicht übertragen werden kann. Eine gleiche Prüfung wird für die Kanal-3-Gruppe in der Taktperiode N+35 ausgelöst und eine gleiche Feststellung wird getroffen. In der Taktperiode N+36 stellt die Steuerlogik fest, daß die Kanal-0-Gruppe in dem A-Puffer voll ist, und daß ein Paket zu der Kanal-0-Steuerung übertragen werden kann, wenn der A-Puffer nicht mit einer Speicherzugriffsoperation beschäftigt ist, wie in diesem Fall. Deshalb kann das Kanal-0-Paket nicht zu der Kanal-0-Steuerung übertragen werden. Der gleiche Ablauf wird für die Kanal-1-Gruppe in dem A-Puffer wiederholt. Wie jedoch durch die gestrichelten Linien für die Kanäle 2 und 3 angezeigt, sind die Worte von diesen Gruppen auch nicht verfügbar und somit können während der Taktperioden N+40 und N+41 keine Worte übertragen werden, auch wenn der Puffer nicht tätig wäre. Es ist jedoch erkennbar, daß Pakete von den Kanälen 0 und 3 zu ihren entsprechenden Steuerungen in den Taktperioden N+46 und N+53 bewegt werden können, weil Daten verfügbar sind und ein Speicherzugriff zu diesen Zeitpunkten nicht vorkommt.
- Nochmals auf das Füllen der Puffer aus dem Speicher zurückkommend, ist erkennbar, daß in einer Taktperiode N+39 der Vorgang des Füllens der Kanal-0-Gruppe des Puffers B aus dem Lokalspeicher ausgelöst wird und daß dieser Vorgang in der Taktperiode N+55 abgeschlossen wird. Somit werden, wie im Fall eines Lesezugriffes, die Puffer schließlich in die Steuerungen geleert und aus dem Lokalspeicher gefüllt. Während des Vorgangs des Leerens und des Füllens wird jeder Puffer für jede Kanalgruppe der Puffer unabhängig gesteuert, wie gemäß dem Fall gemischter Lese- und Schreibzugriffe, wie in den Fig. 7A und 7B dargestellte besser erkennbar ist.
- Von der Taktperiode N+1 bis zu der Taktperiode N+16 des in den Fig. 7A und 7B gezeigten Betriebes (die zusammen ein einzelnes Diagramm bilden), werden die Kanal-0- und die Kanal-2-Gruppen des A-Puffers durch einen Lesevorgang aus ihren entsprechenden Steuerungen gefüllt. Zusammen mit diesem Lesevorgang werden die A-Puffer für die Kanäle 1 und 3 mit einem Schreibvorgang in die entsprechenden Steuerungen 1 und 3 geleert. Somit sind in der Taktperiode N+16 die Kanäle 0 und 2 in dem A-Puffer voll und somit fertig zum Leeren in den Lokalspeicher, während die Kanäle 1 und 3 des A-Puffers leer sind und ein neues Auffüllen aus dem Lokalspeicher erfordern. In der Taktperiode N+17 wird der Betrieb für alle vier Kanäle auf den B-Puffer umgeschaltet und der B-Puffer für die Kanäle 0 und 2 gefüllt, während die Kanäle 1 und 3 geleert werden. Es ist jedoch zu berücksichtigen, daß der Multiplexer der vorliegenden Erfindung zum weiteren Mischen des Betriebes, wie z. B. zwischen den Puffern, in der Lage ist, obwohl eine solche Möglichkeit in den Beispielen nicht gezeigt wird. Beispielsweise ist in dem in Fig. 7 gezeigten Fall die Steuerlogik der vorliegenden Erfindung imstande, in verschachtelter Weise die A-Puffer für die Kanäle 0 und 2 zu füllen, während die B-Puffer für die gleichen oder andere Kanäle geleert werden, so daß in der ersten Taktperiode ein Lesevorgang ausgeführt werden kann, um die Kanal-0-Gruppe des A-Puffers zu füllen, und in der nächsten Taktperiode ein Schreibvorgang in einen anderen Kanal in dem B- Puffer ausgeführt werden kann und so weiter. In jedem Fall versucht die Steuerlogik des Multiplexers kontinuierlich, die Übertragung von Daten zwischen dem Multiplexer und einer Steuerung auszuführen und wird eine Datenübertragung vornehmen wenn immer es möglich ist, gleichgültig, ob es ein Lesen oder Schreiben ist, und ohne Rücksicht darauf, welcher Puffer für eine Übertragung vorbereitet ist.
- Deshalb bildet der Fall von Fig. 7 eine relativ gleichmäßige Vermischungen der Vorgänge, bei der die 16 aufeinanderfolgenden Übertragungen zwischen der Taktperiode N+1 und der Taktperiode N+16 alle in dem gleichen Puffer auftreten, betreffen und ebenso in der durch die Taktperioden N+17 bis N+32 definierten Periode. In jedem Fall ist in der Taktperiode N+15 erkennbar, daß die Steuerlogik erkennt, daß ein Schreibvorgang von dem Kanal-0-A-Puffer in den Speicher ausgelöst werden kann und somit ausgeführt wird.
- Ähnlich erkennt die Steuerung in der Taktperiode N+20, daß der Kanal-1- A-Puffer leer und aus dem Speicher zu füllen ist, und dieser Vorgang wird in dieser Taktperiode ausgelöst. Es ist jedoch zu beachten, daß die Auslösung des mit Kanal 1 des A-Puffers verbundenen Zugriffs nicht ausgeführt werden darf, bis der vorherige Zugriff akzeptiert wurde, was für alle Übertragungsoperationen zwischen den Puffern und dem Speicher gilt. Damit ist, nachdem die Schreibzugriffsanforderung für Kanal 1 des A-Puffers in der Taktperiode N+24 akzeptiert ist, der nächste verfügbare Kanal in der Abtastsequenz derjenige für Kanal 3, wobei der Vorgang des Füllens der Kanalgruppe deshalb in der Taktperiode N+26 ausgelöst wird.
- Nachdem die Schreibzugriffsanforderung für Kanal 3 in der Taktperiode N+30 akzeptiert ist, versucht die Steuerlogik wiederum, die nächste verfügbare Kanalgruppe für einen Speicherzugriff zu finden, welche in der abtastsynchronen Folge unterstützt werden kann. Somit prüft die Steuerlogik in der Taktperiode N+31 (wie oben erwähnt, muß wenigstens eine Taktperiode Verzögerung zwischen der Akzeptanz einer Zugriffsanforderung und der Auslösung eines nachfolgenden Übertragungsprozesses eingefügt werden) Kanal 1 in den A- und B-Puffern, erkennt, daß Kanal 1 in dem A-Puffer in eine Speicherübertragungsvorgang einbezogen ist, daß aber Kanal 1 in dem B-Puffer ein Füllen aus dem Lokalspeicher erfordert, und deshalb wird in der Taktperiode N+32 der Vorgang des Füllens der Kanal-1-Gruppe in dem B-Puffer aus dem Lokalspeicher ausgelöst, der in der Taktperiode N+48 abgeschlossen wird.
- Schließlich ist, Bezug nehmend auf die letzte dargestellte Speicherübertragungsoperation, erkennbar, daß in der Taktperiode N+41 der Vorgang des Leerens von Kanal 2 des B-Puffers in den Speicher ausgelöst wird. Somit ist, wie dargestellt, die Steuerlogik der vorliegenden Erfindung imstande, gleichzeitige Operationen in verschiedenen Puffern auszuführen. Es ist jedoch anzumerken, daß diese gleichzeitigen Operationen in den Puffern nicht mit gleichzeitigen Speicherzugriffsvorgängen gleichzusetzen sind. Speicheroperationen werden stets sequentiell ausgeführt. Durch bestimmte Verzögerungen zwischen dem Speicher und dem Empfangen von Daten durch den Multiplexer können jedoch Daten über den DMA-Kanal tatsächlich gleichzeitig in unterschiedlichen Richtungen übertragen werden.
- Deshalb müssen, wie aus dem Vorstehenden erkennbar ist, die folgenden Übertragungsregeln durch die Logik eingehalten werden: (1) Jeder Zugriff muß bestätigt werden, bevor ein nachfolgender Zugriff ausgeführt werden darf; (2) eine Paketierung von Daten zu und von den Steuerungen wird stets synchronisiert mit den Abtastzeitabschnitten ausgeführt; (3) wenn Daten zwischen dem Puffer und dem Speicher bewegt werden, muß die Steuerung vollständig von dem Puffer getrennt sein; (4) die jedem Zugriff zugeordneten Kanalnummern müssen abgelegt sein, um die übereinstimmende Reihenfolge der Speicherzugriffe abzustimmen.
- Ebenfalls bedeutsam für den Betrieb des Multiplexers 30, obwohl aus den obigen Beispielen nicht erkennbar, ist die Priorisierung des Zugriffes auf die Steuerregister wie folgt ("1" hat die höchste Priorität):
- 1. Programm (Software) von LMA 0 oder 1 laden oder Status lesen durch IOP.
- 2. LMA nach Zugriff inkrementieren.
- 3. LMA-Anforderungs-Zugriff.
- 4. Status aus der Steuerung ablegen.
- Wie das Lesen und Schreiben von Daten von den und in die Steuerungen wird das Übertragen von Funktionsinformationen zwischen dem Multiplexer und einer Steuerung mit dem freilaufenden Abtaster synchronisiert. Wie vorstehend erwähnt, wird diese Information in dem Register 124 gespeichert und zu dem zugeordneten Zeitabschnitt durch den Ausgang 112 abgegeben. Somit kann es bis zu vier Taktperioden in Anspruch nehmen, eine Funktion von dem Multiplexer an eine Steuerung freizugeben, so daß der IOP 10 (durch Software) daran gehindert wird, Funktionen öfter als alle fünf Taktperioden abzugeben.
- Nicht dargestellt, aber in dem Interface zwischen dem IOP 10 und dem Multiplexer 30 enthalten sind Leseanforderungsleitungen und Schreibanforderungsleitungen von dem Multiplexer zu dem IOP 10-Lokalspeicher, welche die Steuerlogik des Multiplexers bei Bedarf verwendet, wie in den Fig. 5, 6 und 7 gezeigt (Speicherlesezugriff anfordern, Speicherschreibzugriff anfordern). Weiterhin sind entsprechende Signalleitungen von dem IOP 10 zu dem Multiplexer vorgesehen, um die Bestätigung der Lese- oder Schreibanforderung anzuzeigen, wie ebenfalls in den Fig. 5, 6 und 7 aufgezeigt. Ähnlich sind Interrupt-Leitungen (eine für jeden Kanal) vom Multiplexer 30 zu dem IOP 10 vorgesehen, um den Abschluß eines Lokalspeicher-Zugriffsvorganges anzuzeigen. Dementsprechend jedem Interrupt folgend, prüft der IOP 10 die einwandfreie Beendigung eines Zugriffes durch Lesen des dem Zugriff zugeordneten LMA- Registers und prüft, ob die Adresse die vorgesehene abschließende Einstellung angenommen hat.
- Die Fig. 8A und 8B bilden nebeneinandergelegt ein vereinfachtes Blockschaltbild von einer der Steuerungen 0-3 mit der Verbindung der entsprechenden Leitungen, die durch a bis g bezeichnet werden. Wie vorstehend kurz beschrieben, hat eine Steuereinheit (0-3) die primäre Aufgabe, die Daten zwischen dem Multiplexer 30 und einem 64-Paket-FIFO- Entzerrungspuffer in dem entsprechenden Disk-Laufwerk (0-3) zu puffern. Ein Pufferpaar A und B, entsprechend 160 und 161, von denen jeder 512 Pakete mal 17 Bits groß ist, versucht während einer Schreib- oder Lesefunktion entsprechend die Disk zu beschleunigen oder zu verzögern. 16 der Bits bilden ein Datenwort, während das siebzehnte Bit ein ungerades Paritätsbit bildet.
- Die Daten werden zu und von der Disk bevorzugt in 16-Paket-Blöcken (d. h. 216 Datenbits pro Block) mit einem einzelnen Anforderungs- oder Fortsetzungssignal pro Block übertragen. Jede Steuereinheit (0-3) ist an ihr entsprechendes Disklaufwerk (0-3) durch ein Kabel paar angeschlossen, welches die BUS-IN- und BUS-OUT-Informationspfade zur Verfügung stellt. Im Fall eines Schreibvorgangs auf das Disklaufwerk werden die Daten vom Multiplexer 30 am Eingang 165 empfangen, laufen durch ein Multiplexer-Eingangsregister 166 und einen Multiplexer 167 und werden zu einem von beiden A- oder B-Puffern 160 und 161 übertragen. Die ungerade Parität für Eingangsdaten wird in dem Paritätsgenerator 170 erzeugt und in 171 zu dem entsprechenden Puffer 160 und 161, der die übertragenen Daten empfängt, gemultiplext. Wenn das Laufwerk bereit ist, Daten anzunehmen, verlassen die Schreibdaten die Puffer 160 und 161 und laufen über das BUS-OUT-Kabel am Ausgang 172, durch den Multiplexer 173 und das Disk-Ausgangsregister 174. Im Falle eines Daten-Lesevorganges werden die Daten von der Disk von dem BUS-IN-Kabel bei 180 eingegeben und durch das BUS-IN-Register 181 und durch den Multiplexer 167 zu einem entsprechenden der beiden A- und B-Puffer 160 und 161 geführt, während das Paritätsbit durch den Multiplexer 171 läuft. Auf Befehl von dem Multiplexer 30 laufen die Lesedaten von den Puffern 160 und 161 durch den Ausgangsmultiplexer 182 und zu dem Multiplexer 30 Ausgang 183. Ein Leseparitäts-Fehlerdetektor 206 ist vorgesehen, um die Parität von Datenpaketen zu prüfen und ein Signal zu erzeugen, das dem Multiplexer die einwandfreie oder fehlerbehaftete Parität anzeigt, welcher bei Erkennen eines Fehlers die Datenübertragung abbrechen kann.
- Wie mit Bezug auf den Multiplexer 30 beschrieben, teilen sich die Steuerparameter, z. B. einen Sektor bezeichnende Bits, den Informationspfad zwischen dem Multiplexer 30 und den Steuereinheiten 0-3. Diese Parameter werden wie Daten am Eingang 165 eingegeben, aber dann in Parameter- Register 184 und 185 eingetragen. Steuerparameter befinden sich im Register 184 und werden durch den Multiplexer 173 und das Disk-Ausgangsregister 174 zu dem Disk-BUS-OUT-Kabel am Ausgang 172 zusammen mit einem durch den Generator 186 erzeugten Paritätsbit gemultiplext. Das Nächstes-Lesen/Schreiben-Parameterregister 185 ist zur Implementation einer "fortsetzen"-Funktion vorgesehen, die in Disk/Laufwerken 0-3 verfügbar ist und ermöglicht, die nächste Disklaufwerksfunktion in einen Vielfach-Sektorlese- und -schreibvorgang einzureihen. Dazu kann eine Steuerung (0-3) ohne Unterstützung durch einen IOP 10-Interrupt ein Disklaufwerk (0-3) anweisen, eine Schreib- oder Lesevorgang in Übereinstimmung mit der im Lese/Schreib-Parameterregister 185 enthaltenen Anweisung auszuführen. Durch diesen Mechanismus ist die Antwortzeit auf einen Sektor-Interrupt nicht die Intersektor-Abstandszeit auf der Disk, sondern eine Gesamtsektorzeit, etwa 370 Mikrosekunden für die in der vorliegenden Ausführungsform verwendeten Disklaufwerke. In Verbindung mit der Fortsetzungsfunktion wird die im Steuerpuffer 125 des Multiplexers 30 gespeicherte zweite LMA zur Adressierung des Lokalspeichers verwendet, so daß sowohl der Multiplexer 30 als auch die Steuerung darauf vorbereitet sind, ohne Unterstützung durch den IOP 10 fortzufahren.
- Disk-Funktionscodes, z. B. Lesen, Schreiben, Kopfauswahl und Zylinderauswahl, können entweder über den Eingang 192 oder den Eingang 165 an die Steuerung weitergeleitet werden. Am Eingang 165 empfangene Codes werden durch das Nächstes-Lesen/Schreiben-Parameterregister 185 geleitet, während am Eingang 192 empfangene Codes durch die Register 193 und 194 weiterlaufen, um über das Disk-BUS-OUT-Kabel am Ausgang 172 in Synchronisation mit den entsprechenden, in den Parameter-Registern 184 und 185 enthaltenen Parametern zu den Disk-Funktions-Eingangsleitungen übertragen zu werden. Der Disk-Status wird nach Eingabe in den Steuerpuffer 125 des Multiplexers 30 ebenfalls über einen Eingang 180, Bus- Eingangsregister 181, Disk-Statusregister 187, Multiplexer-Ausgangsregister 182 und den Ausgang 183 durch die Steuerungen 0-3 geleitet.
- Zur Adressierung des A- und B-Puffers 160 und 161 ist die Adressierlogik 200 bis 205 vorgesehen. Ein Register 201 stellt eine Pufferadresse für Daten, die vom Multiplexer empfangen oder für den Multiplexer 30 bestimmt sind, bereit. Ein Register 204 stellt eine Pufferadresse für Daten, die von einem Disklaufwerk empfangen werden oder für ein Disklaufwerk (0-3) bestimmt sind, bereit. Das Register 204 wird über einen Addierer 203 synchron mit jedem von dem Disklaufwerk gelesenen oder auf das Disklaufwerk geschriebenen Paket inkrementiert. Das Register 201 wird über den Addierer 200 synchron mit jedem an den Multiplexer gesendeten oder von dem Multiplexer 30 empfangenen Paket inkrementiert. Die Multiplexer 202 und 205 sind vorgesehen, um die Adressen der Register 201 und 203 an jeden der Puffer 160 und 161 entsprechend weiterzuleiten.
- Die A- und B-Puffer 160 und 161 füllen und leeren sich im Betrieb alternierend, um Daten zwischen einem Disklaufwerk (0-3) und dem Multiplexer 30 zu transportieren. Z.B. beginnt ein Lesevorgang von einem Disklaufwerk mit dem Füllen eines Puffers 160 mit 32 Datenblöcken (d. h. 512 Paketen), die Adressierung des A-Puffers 160 erfolgt über das Register 204. Sobald der A-Puffer 160 voll ist, werden die Daten von der Disk zu dem B-Puffer 161 geleitet. Gleichzeitig mit dieser Umschaltung beginnt der A-Puffer 160 mit dem Übertragen seiner Daten zu dem Multiplexer 30 unter der Steuerung des Adreßregisters 201. Wenn der B-Puffer 161 gefüllt und der A-Puffer 160 leer ist, wird der B-Pufferinhalt zu dem Multiplexer 30 übertragen und der A-Puffer von dem Disklaufwerk gefüllt und so weiter, bis der gesamte Lesevorgang beendet ist, welcher in der vorliegenden Ausführungsform eine Übertragung von 128 Datenblöcken umfaßt.
- Schreibvorgänge laufen in der gleichen Weise wie Lesevorgänge ab, nur beginnen sie mit dem Füllen des A-Puffers 160 mit Daten von dem Multiplexer 30. Unter normalen Umständen verläuft die Abgabe der Daten an den Multiplexer 30 mit einer Geschwindigkeit, die die Geschwindigkeit der von einem Disklaufwerk empfangenen Daten überschreitet und anders herum kann der Multiplexer 30 Daten mit einer Geschwindigkeit bereitstellen, die die Höchstgeschwindigkeit der Übertragung zu einem Disklaufwerk überschreitet. Deshalb fordert eine Steuerung (0-3) bei einem Schreibvorgang Daten bei Bedarf von dem Multiplexer 30 an, um mit der Übertragung der Daten zu einem Disklaufwerk Schritt zu halten. Bei einem Lesevorgang versucht eine Steuerung (0-3), Daten an den Multiplexer 30 zu senden, um mit dem Empfang von Daten von einem Disklaufwerk Schritt zu halten. Unter bestimmten Umständen kann eine Steuerung jedoch nicht Daten an den Multiplexer abgeben oder Daten von dem Multiplexer 30 holen, um mit der Übertragung der Daten von dem oder zu dem Disklaufwerk Schritt zu halten. Dementsprechend kann der Entzerrungspuffer des Disklaufwerkes verwendet werden, um eine zusätzliche Zeitspanne zum Ausführen des Leerens oder des Füllens des A- und B-Puffers 160 und 161 zu erhalten.
- Ein Diagnosemodus-Bitregister 208 ist vorgesehen, um unter Benutzereinfluß erzwungene Paritätsfehler des Disklaufwerkes und der Puffer 160 und 161 der Steuerung zu gestatten.
- In Fig. 9 ist ein vereinfachtes Blockschaltbild des Entzerrungspuffersystems von einem der Disklaufwerke 0-3 dargestellt, welches das in dem vorliegenden System implementierte Peripheriegerät bildet. Es ist jedoch zu berücksichtigen, daß die Erfindung nicht auf die Anwendung mit Disklaufwerken beschränkt ist. Der Entzerrungspuffer 250 ist in der Lage, 64 16-Bits-Pakete in einem Lese- oder Schreib-Zyklus des Laufwerkes (0-3) zu puffern. Bei einem Lesevorgang beispielsweise werden die Daten von den Platten 271-277 über Köpfe 270-276 in serieller Weise gelesen, wobei die ersten vier Bits (0-3) über den Kopf 270 gelesen werden, die nächsten vier Bits (4-7) über Kopf 272 und so weiter, so daß die Bits 0, 4, 8 und 12 von den Platten im wesentlichen auf einmal gelesen werden, dann die Bits 1, 5, 9, 13 und so weiter. Jede Gruppe von 4 Bits wird in parallelen 4-Bits-Worten auf jedem der Pfade 280-286 angeordnet und dadurch in den Puffer 250 an den Eingängen/Ausgängen 254-260 in parallel er Weise eingegeben, um ein 16-Bits-Paket (0-16) zu bilden. Die Pakete werden damit von den Platten 271-277 in den Puffer 250 übertragen, bis ein Lesevorgang abgeschlossen ist. Da jedoch ein Lese- (oder Schreib-)Zugriff die Übertragung von 2048 Paketen von den Platten in den Puffer 250 mit einer im wesentlichen gleichmäßigen Geschwindigkeit beinhaltet, gibt der Puffer 250 die Datenpakete zu den Steuerungen am Ausgang 253 auf einer "First-in, First-out"-Basis asynchron mit den an den Eingängen 254-260 eingebenen Daten aus. In der vorliegenden Ausführungsform wird die Datenausgabe aus dem Puffer 250 synchron mit einem durch eine Steuerlogik 260 erzeugten Taktsignal mit 16 Paketen gleichzeitig in einem Einzelübertragungsvorgang ausgeführt, der als Antwort auf ein Einzelanforderungs- oder Fortsetzungssignal von einer Steuerung ausgelöst wird. Somit sind 128 solcher Übertragungsvorgänge, d. h. Blockübertragungen, erforderlich, um eine 2048-Paket- oder "record"-Übertragung zu vervollständigen.
- Schreibvorgänge auf den Disklaufwerken werden in weitgehend gleicher Weise wie Lesevorgänge, lediglich in umgekehrter Reihenfolge, ausgeführt. Datenpakete von einer Steuerung (0-3) werden über einen Eingang 252 in den Puffer 250 übertragen, durch den Puffer getaktet und an den Eingängen/Ausgängen 254-260 ausgegeben und auf den Pfaden 280- 286 zum seriellen Schreiben auf die Platten 271-277 über die entsprechenden Köpfe 270-276 seriell-gewandelt. Im Gegensatz zu der Darstellung in Fig. 9 befinden sich die Datenbits jedoch in umgekehrter Reihenfolge. Die Steuerlogik 260 ist in jedem Disklaufwerk vorgesehen und empfängt Befehle und Parameter über einen Signalpfad 263 von einer Steuerungseinheit, um den Puffer 250 und die verschiedenen anderen Komponenten des Disklaufwerkes zu steuern. Zusätzlich überwacht die Steuerlogik 260 die Parität der eingehenden Daten mittels eines Paritäts- Detektors 261, durch welchen veränderte Daten verworfen werden können. Dementsprechend erzeugt der Paritätsgenerator 262 ein ungerades Paritätsbit für jedes vom Puffer 260 an das BUS-IN-Kabel übertragene Paket. Die Steuerlogik 260 überwacht ebenfalls den Laufwerksbetrieb und erzeugt Laufwerks-Statussignale, die über einen Signalpfad 264 und das BUS-IN-Kabel an die Steuerung abgegeben werden.
Claims (9)
1. Peripheres Interface-System für ein Datenverarbeitungssystem mit
einem Zentralprozessor mit einem zentralen Speicher und einer Mehrzahl
von peripheren Geräten (60-63), wobei das periphere Interface-System
enthält:
einen E/A-Prozessor (10), der einen lokalen Speicher mit mindestens
einem DMA-Anschluß (12) zum Senden und Empfangen von Daten und einen
Akkumulator (16) zum Senden und Empfangen von Steuerinformationen
enthält;
einen Kanal-Multiplexer (30), der mit dem DMA-Anschluß (12) und dem
Akkumulator (16) kommuniziert und eine Mehrzahl von Daten- und
Steuerinformations-Kanälen zum Datenfluß zwischen dem DMA-Anschluß (12) und
dem Akkumulator (16) und einer entsprechenden Anzahl peripherer Geräte
(60-63) bereitstellt,
dadurch gekennzeichnet, daß der Kanal-Multiplexer (30) beinhaltet:
(a) einen Adreßstatus-Puffer (125) mit einer Mehrzahl von Registern zum
Halten von Lokalspeicher-Adreßpaketen, Peripheriegeräte-Statuspaketen
und Statuspaketen der internen Steuerung, wobei die Register
funktionsweise in Kanalstatusregistergruppen unterteilt sind und jede
Kanalstatusregistergruppe einem der Kanäle entspricht;
(b) erste und zweite Multiplexer-Datenpuffer (100, 101), von denen
jeder eine Mehrzahl von Registern zum Halten von Datenpaketen beinhaltet,
wobei die Register des ersten und zweiten Multiplexer-Datenpuffers
funktionsweise in eine Mehrzahl von Kanalregistergruppen unterteilt
sind, so daß jeder der ersten und zweiten Multiplexer-Datenpuffer eine
Kanalregistergruppe für jeden der Kanäle hat;
(c) erste Multiplexer-Mittel (123, 124, 130, 131, 134), die mit dem
Akkumulator (16) und den peripheren Geräten (60-63) kommunizieren, um
Adreß- und Statuspakete in den und aus dem Adreßstatus-Puffer (125) und
Peripheriegeräte-Steuerinformation von dem Akkumulator (16) an die
peripheren Geräte (60-63) zu multiplexen;
(d) zweite Multiplexer-Mittel (107-110), die mit dem DMA-Anschluß
(12) und den peripheren Geräten (60-63) zum Multiplexen von
Datenpaketen in einen und aus einem der ersten und zweiten
Multiplexer-Datenpuffer (100-101) von oder zu dem DMA-Anschluß (12) oder den peripheren
Geräten (60-63) kommunizieren; und
(e) eine Kanal-Multiplexer-Steuerlogik, die funktional in eine Mehrzahl
von Kanalgruppen unterteilt ist, wobei jede der Kanalgruppen den
Datenfluß durch einen der Kanäle steuert und eine Kanalgruppe zur Zeit auf
einer umlaufenden Zeitmultiplexbasis funktional aktiv ist, um die
ersten und zweiten Multiplexmittel zu steuern und den ersten und zweiten
Multiplexer-Datenpuffer zu adressieren, um eine der
Kanalregistergruppen in einem der ersten oder zweiten Multiplexer-Datenpuffer zu füllen,
während sich die entsprechende Kanal-Registergruppe in dem anderen der
ersten oder zweiten Multiplexer-Datenpuffer während des aktiven
Zeitabschnittes des korrespondierenden Kanalsatzes leert, so daß alle
Pakete einer Kanalregistergruppe zwischen der Kanalregistergruppe und
dem lokalen Speicher des E/A-Prozessors in aufeinanderfolgenden
Taktperioden auf einer umlaufenden Zeitmultiplexbasis seriell übertragen
werden; und
(f) daß die Kanalmultiplexer-Steuerlogik bewirkt, daß ein Datenpaket
von einer der Kanalregistergruppen alle n Taktperioden an das
zugeordnete periphere Gerät übertragen wird, wobei n die Anzahl der
Kanalregistergruppen pro Datenpuffer ist, und daß in aufeinanderfolgenden
Taktperioden verschiedene Registergruppen Datenpakete übertragen.
2. Peripheres Interface-System nach Anspruch 1, mit:
einer Mehrzahl von Steuerungsmitteln (50-53), von denen jedes mit
einem der peripheren Geräte (60-63) und mit einer der
Kanalregistergruppen des Kanalmultiplexers (30) kommuniziert, wobei jedes
Steuerungsmittel (50-53) enthält:
(a) erste und zweite Steuerungs-Datenpuffer (160-161), von denen
jeder eine Mehrzahl von Registern zum Halten von Datenpaketen beinhaltet;
(b) Datenmultiplexer-Mittel (167, 171, 173), die mit dem
Kanalmultiplexer
(30) und dem einen peripheren Gerät (60-63) zum Multiplexen von
Datenpaketen in die und aus den ersten und zweiten
Steuerungsdatenpuffern (160 - 161) von oder zu dem einen peripheren Gerät (60-61) oder
dem Kanalmultiplexer (30) kommunizieren; und
(c) Steuerungslogikmittel (200-205), die mit dem Kanalmultiplexer
(30) und dem einen peripheren Gerät (60-63) kommunizieren, um die
Datenmultiplexer-Mittel zu steuern und die ersten und zweiten
Steuerungs-Datenpuffer zu adressieren, um eines der Pakete des ersten
oder zweiten Steuerungsdatenpuffers zu füllen, während das
korrespondierende Paket des anderen der ersten oder zweiten
Steuerungs-Datenpuffer geleert wird, so daß eine Übertragung eines Paketes von einem der
Steuerungs-Datenpuffer zwischen dem einen peripheren Gerät und der
einen Kanalgruppe des Kanalmultiplexers alle n Taktperioden vorkommt,
wobei n die Anzahl der Kanalregistergruppen ist, und daß in
aufeinanderfolgenden Taktperioden eine andere der Kanalregistergruppen
Datenpakete empfängt und sendet.
3. Peripheres Interface-System nach Anspruch 2, bei dem das
Steuerungsmittel (50-53) mit dem Kanalmultiplexer (30) periodisch auf
einer umlaufenden Zeitmultiplexbasis kommuniziert und bei dem der
Kanalmultiplexer (30) die aktive Kommunikationsperiode auslöst.
4. Peripheres Interface-System nach Anspruch 3, bei dem eine
vorbestimmte Mehrzahl von Datenpaketen zwischen dem Kanalmultiplexer (30)
und dem Steuerungsmittel (50-53) während jeder Kommunikationsperiode
übertragen werden, wobei die vorbestimmte Mehrzahl als Zahl ein
Bruchteil der Anzahl der Datenpakete ist, welche in den ersten oder
zweiten Steuerungs-Datenpuffern gehalten werden können.
5. Peripheres Interface-System nach Anspruch 4, bei dem die
Häufigkeit des Auftretens von Kommunikationsperioden zwischen dem
Kanalmultiplexer (30) und den Steuerungsmitteln (50-53) so festgelegt ist, daß
das Füllen oder Leeren von einem der ersten oder zweiten Steuerungs-
Datenpuffer von oder zu dem Kanalmultiplexer (30) normalerweise mit
einer Geschwindigkeit abläuft, die die Geschwindigkeit des Füllens oder
Leerens der anderen der Steuerungs-Datenpuffer zu oder von dem einen
peripheren Gerät überschreitet.
6. Periphers Interface-System nach Anspruch 5, bei dem das eine
periphere Gerät (60-63) Datenpakete in Strömen sendet und empfängt,
wobei jeder Strom eine vorbestimmte Mehrzahl von Datenpaketen
beinhaltet, einer der Ströme zwischen den Steuerungsmitteln (50-53) und dem
einen peripheren Gerät (60-63) als Reaktion auf ein einzelnes
Anforderungssignal, das durch die Steuerungslogik erzeugt wird, übertragen
wird, und wobei der erste und zweite Steuerungs-Datenpuffer zum Halten
einer vorbestimmten Mehrzahl von Strömen ausgelegt sind.
7. Peripheres Interface-System nach Anspruch 2, bei dem das
Steuerungslogikmittel erste und zweite Adreßsteuerungen (201-204) zum
Ansprechen der ersten und zweiten Steuerungs-Datenpuffer (160, 161)
beinhaltet, die ersten und zweiten Adreßsteuerungen zu einem der
Steuerungs-Datenpuffer über erste und zweite Adreßmultiplexer (202-
205) in Verbindung mit dem entsprechenden ersten und zweiten
Steuerungs-Datenpuffer gebündelt werden, eine der
Adressierungssteuerungen Bezugsadressen für an das eine periphere Gerät gesendete oder
von dem einen peripheren Gerät empfangene Datenpakete und die andere
der Adressierungssteuerungen Bezugsadressen für an den Kanalmultiplexer
(30) gesendete oder von dem Kanalmultiplexer (30) empfangene
Datenpakete aufweist.
8. Peripheres Interface-System nach Anspruch 2, bei dem Datenpakete
zwischen den Daten-Multiplex-Mitteln (167, 171, 173) und dem einen
peripheren Gerät (60-63) durch einen parallelen Buseingangs-Datenpfad,
der Datenpakete von dem einen peripheren Gerät zu den
Multiplexermitteln transportiert, und einem parallelen Busausgangs-Datenpfad, der
Datenpakete von den Multiplexer-Mitteln zu dem einen peripheren Gerät
transportiert, ausgetauscht werden.
9. Peripheres Interface-System nach Anspruch 8, bei dem Datenpakete
zwischen den Daten-Multiplex-Mitteln (167, 171, 173) und dem
Kanalmultiplexer (30) durch einen parallelen Ausgangs-Datenpfad, der
Datenpakete von den Datenmultiplex-Mitteln zu dem Kanalmultiplexer
transportiert, und einen parallelen Ausgangs-Datenpfad, der
Dateninformationseinheiten von dem Kanalmultiplexer zu den
Datenmultiplexer-Mitteln transportiert, ausgetauscht werden.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62278684A | 1984-06-21 | 1984-06-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3587910D1 DE3587910D1 (de) | 1994-09-29 |
DE3587910T2 true DE3587910T2 (de) | 1994-12-15 |
Family
ID=24495517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3587910T Expired - Fee Related DE3587910T2 (de) | 1984-06-21 | 1985-05-13 | Peripheres Interface-System. |
Country Status (6)
Country | Link |
---|---|
US (1) | US4807121A (de) |
EP (1) | EP0165915B1 (de) |
JP (1) | JPS6113359A (de) |
AT (1) | ATE110479T1 (de) |
CA (1) | CA1228677A (de) |
DE (1) | DE3587910T2 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19830625B4 (de) * | 1998-07-09 | 2008-04-03 | Robert Bosch Gmbh | Digitale Schnittstelleneinheit |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU1671688A (en) * | 1987-06-03 | 1988-12-08 | Honeywell Bull Inc. | Peripheral controller and adapter interface |
JPH01501661A (ja) * | 1987-07-01 | 1989-06-08 | ユニシス コーポレーシヨン | タグ高速転送の改良 |
JP2527458B2 (ja) * | 1988-03-04 | 1996-08-21 | 富士通株式会社 | デ―タ転送制御装置 |
US5283791A (en) * | 1988-08-02 | 1994-02-01 | Cray Research Systems, Inc. | Error recovery method and apparatus for high performance disk drives |
US5218689A (en) * | 1988-08-16 | 1993-06-08 | Cray Research, Inc. | Single disk emulation interface for an array of asynchronously operating disk drives |
WO1990003031A1 (fr) | 1988-09-05 | 1990-03-22 | Seiko Epson Corporation | Dispositif d'enregistrement/reproduction |
US5179667A (en) * | 1988-09-14 | 1993-01-12 | Silicon Graphics, Inc. | Synchronized DRAM control apparatus using two different clock rates |
US5193193A (en) * | 1988-09-14 | 1993-03-09 | Silicon Graphics, Inc. | Bus control system for arbitrating requests with predetermined on/off time limitations |
WO1990006550A1 (en) * | 1988-12-08 | 1990-06-14 | Cray Research, Inc. | Single disk emulation for asynchronous disk array |
EP0374764B1 (de) * | 1988-12-19 | 2001-04-04 | Nec Corporation | Datenübertragungsvorrichtung |
EP0394514B1 (de) * | 1989-04-25 | 1994-07-13 | Siemens Aktiengesellschaft | Verfahren zur Synchronisation von Datenverarbeitungsanlagen |
US5347637A (en) * | 1989-08-08 | 1994-09-13 | Cray Research, Inc. | Modular input/output system for supercomputers |
US5303349A (en) * | 1990-06-06 | 1994-04-12 | Valitek, Inc. | Interface for establishing a number of consecutive time frames of bidirectional command and data block communication between a Host's standard parallel port and a peripheral device |
US5255372A (en) * | 1990-08-31 | 1993-10-19 | International Business Machines Corporation | Apparatus for efficiently interconnecing channels of a multiprocessor system multiplexed via channel adapters |
US5206952A (en) * | 1990-09-12 | 1993-04-27 | Cray Research, Inc. | Fault tolerant networking architecture |
US5276900A (en) * | 1990-12-14 | 1994-01-04 | Stream Computers | Master connected to common bus providing synchronous, contiguous time periods having an instruction followed by data from different time period not immediately contiguous thereto |
US5276684A (en) * | 1991-07-22 | 1994-01-04 | International Business Machines Corporation | High performance I/O processor |
GB2261537A (en) * | 1991-11-14 | 1993-05-19 | Techful International Limited | Computer |
US5388217A (en) * | 1991-12-13 | 1995-02-07 | Cray Research, Inc. | Distributing system for multi-processor input and output using channel adapters |
JPH07122865B2 (ja) * | 1992-01-02 | 1995-12-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | バス動作の動作速度を制御するようにしたバス・インターフェースを有するコンピュータ・システム |
US5640596A (en) * | 1992-03-10 | 1997-06-17 | Hitachi, Ltd. | Input output control system for transferring control programs collectively as one transfer unit designated by plurality of input output requests to be executed |
JP2587190B2 (ja) * | 1992-09-04 | 1997-03-05 | インターナショナル・ビジネス・マシーンズ・コーポレイション | システム間チャネルページング機構 |
US5572691A (en) * | 1993-04-21 | 1996-11-05 | Gi Corporation | Apparatus and method for providing multiple data streams from stored data using dual memory buffers |
EP0641139B1 (de) * | 1993-07-13 | 2002-09-11 | Hewlett-Packard Company, A Delaware Corporation | Kombinieren von Ton- und Fernsprech-Daten für einem Rechner |
DE69300523T2 (de) * | 1993-11-26 | 1996-03-14 | Sgs Thomson Microelectronics | Prozessorschnittstellenschaltung zum Austausch von seriellen digitalen Daten mit einem Peripheriegerät. |
EP0685803B1 (de) | 1994-06-03 | 2001-04-18 | Hyundai Electronics America | Herstellungsverfahren für einen elektrischen Vorrichtungs-Adapter |
US5577213A (en) * | 1994-06-03 | 1996-11-19 | At&T Global Information Solutions Company | Multi-device adapter card for computer |
US5548791A (en) * | 1994-07-25 | 1996-08-20 | International Business Machines Corporation | Input/output control system with plural channel paths to I/O devices |
US5619731A (en) * | 1994-09-23 | 1997-04-08 | Ardent Teleproductions, Inc. | Interactive music CD and data |
US5495614A (en) * | 1994-12-14 | 1996-02-27 | International Business Machines Corporation | Interface control process between using programs and shared hardware facilities |
US5613162A (en) * | 1995-01-04 | 1997-03-18 | Ast Research, Inc. | Method and apparatus for performing efficient direct memory access data transfers |
US5864712A (en) * | 1995-03-17 | 1999-01-26 | Lsi Logic Corporation | Method and apparatus for controlling (N+I) I/O channels with (N) data managers in a homogenous software programmable environment |
DE69614291T2 (de) * | 1995-03-17 | 2001-12-06 | Lsi Logic Corp., Fort Collins | (n+i) Ein/Ausgabekanälesteuerung, mit (n) Datenverwaltern, in einer homogenen Software-Programmierbetriebsumgebung |
JP3518034B2 (ja) * | 1995-03-30 | 2004-04-12 | 三菱電機株式会社 | ソート方法並びにソート処理装置並びにデータ処理装置 |
WO1997006490A1 (en) * | 1995-08-09 | 1997-02-20 | Cirrus Logic, Inc. | Parasitic personal computer interface |
US5768624A (en) * | 1996-02-28 | 1998-06-16 | Opti Inc. | Method and apparatus for employing ping-pong buffering with one level deep buffers for fast DRAM access |
US6038621A (en) * | 1996-11-04 | 2000-03-14 | Hewlett-Packard Company | Dynamic peripheral control of I/O buffers in peripherals with modular I/O |
US6453394B2 (en) * | 1997-10-03 | 2002-09-17 | Matsushita Electric Industrial Co., Ltd. | Memory interface device and memory address generation device |
US6078968A (en) * | 1997-10-03 | 2000-06-20 | Vicom Systems, Inc. | Platform-independent communications protocol supporting communications between a processor and subsystem controller based on identifying information |
US6694381B1 (en) | 1997-12-17 | 2004-02-17 | Vicom Systems, Inc. | Platform-independent communications protocol supporting communications between a processor and subsystem controller |
GB2362777B (en) * | 2000-05-25 | 2002-05-08 | 3Com Corp | System for detection of asynchronous packet rates and maintenance of maximum theoretical packet rate |
US6874043B2 (en) * | 2000-10-17 | 2005-03-29 | Bridgeworks Ltd. | Data buffer |
GB2372115A (en) * | 2001-02-08 | 2002-08-14 | Mitel Semiconductor Ltd | Direct memory access controller |
US6779055B2 (en) * | 2001-06-20 | 2004-08-17 | Freescale Semiconductor, Inc. | First-in, first-out memory system having both simultaneous and alternating data access and method thereof |
JP2003338200A (ja) * | 2002-05-17 | 2003-11-28 | Mitsubishi Electric Corp | 半導体集積回路装置 |
US20050182863A1 (en) * | 2004-02-18 | 2005-08-18 | Arm Limited, | Direct memory access control |
US8165014B2 (en) * | 2007-06-19 | 2012-04-24 | Commscope, Inc. Of North Carolina | Methods and systems for using managed port circuitry to map connections among structured cabling apparatus and network devices |
CN103984659B (zh) * | 2014-05-15 | 2017-07-21 | 华为技术有限公司 | 分时使用串口的方法和装置 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3319230A (en) * | 1956-09-26 | 1967-05-09 | Ibm | Data processing machine including program interrupt feature |
US3812475A (en) * | 1957-12-26 | 1974-05-21 | Ibm | Data synchronizer |
US3336582A (en) * | 1964-09-01 | 1967-08-15 | Ibm | Interlocked communication system |
US3427592A (en) * | 1964-11-12 | 1969-02-11 | Ibm | Data processing system |
US3400372A (en) * | 1965-02-16 | 1968-09-03 | Ibm | Terminal for a multi-data processing system |
US3432813A (en) * | 1966-04-19 | 1969-03-11 | Ibm | Apparatus for control of a plurality of peripheral devices |
US3564502A (en) * | 1968-01-15 | 1971-02-16 | Ibm | Channel position signaling method and means |
US3582906A (en) * | 1969-06-27 | 1971-06-01 | Ibm | High-speed dc interlocked communication system interface |
US3623155A (en) * | 1969-12-24 | 1971-11-23 | Ibm | Optimum apparatus and method for check bit generation and error detection, location and correction |
US3688274A (en) * | 1970-12-23 | 1972-08-29 | Ibm | Command retry control by peripheral devices |
US3725864A (en) * | 1971-03-03 | 1973-04-03 | Ibm | Input/output control |
US3812473A (en) * | 1972-11-24 | 1974-05-21 | Ibm | Storage system with conflict-free multiple simultaneous access |
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 |
US4313160A (en) * | 1976-08-17 | 1982-01-26 | Computer Automation, Inc. | Distributed input/output controller system |
US4115854A (en) * | 1977-03-28 | 1978-09-19 | International Business Machines Corporation | Channel bus controller |
US4300193A (en) * | 1979-01-31 | 1981-11-10 | Honeywell Information Systems Inc. | Data processing system having data multiplex control apparatus |
US4442504A (en) * | 1981-03-09 | 1984-04-10 | Allen-Bradley Company | Modular programmable controller |
US4495564A (en) * | 1981-08-10 | 1985-01-22 | International Business Machines Corporation | Multi sub-channel adapter with single status/address register |
US4460959A (en) * | 1981-09-16 | 1984-07-17 | Honeywell Information Systems Inc. | Logic control system including cache memory for CPU-memory transfers |
US4571671A (en) * | 1983-05-13 | 1986-02-18 | International Business Machines Corporation | Data processor having multiple-buffer adapter between a system channel and an input/output bus |
-
1985
- 1985-04-30 CA CA000480353A patent/CA1228677A/en not_active Expired
- 1985-05-13 DE DE3587910T patent/DE3587910T2/de not_active Expired - Fee Related
- 1985-05-13 EP EP85850168A patent/EP0165915B1/de not_active Expired - Lifetime
- 1985-05-13 AT AT85850168T patent/ATE110479T1/de active
- 1985-06-19 JP JP60132120A patent/JPS6113359A/ja active Granted
-
1988
- 1988-06-10 US US07/205,533 patent/US4807121A/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19830625B4 (de) * | 1998-07-09 | 2008-04-03 | Robert Bosch Gmbh | Digitale Schnittstelleneinheit |
Also Published As
Publication number | Publication date |
---|---|
JPH0562382B2 (de) | 1993-09-08 |
CA1228677A (en) | 1987-10-27 |
JPS6113359A (ja) | 1986-01-21 |
DE3587910D1 (de) | 1994-09-29 |
EP0165915B1 (de) | 1994-08-24 |
US4807121A (en) | 1989-02-21 |
ATE110479T1 (de) | 1994-09-15 |
EP0165915A2 (de) | 1985-12-27 |
EP0165915A3 (en) | 1988-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3587910T2 (de) | Peripheres Interface-System. | |
DE3689087T2 (de) | Modularer Mehrfachportdatenknoten. | |
DE69032384T2 (de) | Datenpuffer | |
DE69735936T2 (de) | Seriendatenschnittstellenverfahren und vorrichtung # | |
DE60036777T2 (de) | Gerät zur Signalsynchronisierung zwischen zwei Taktbereichen | |
DE3789104T2 (de) | Netzwerkübertragungsadapter. | |
DE3751091T2 (de) | Übertragungsprotokoll zwischen Prozessoren. | |
DE2448212C2 (de) | Asynchrone Sammelleitung zur Kommunikation mit selbstbestimmter Priorität zwischen Mutterrechnergeräten und Tochterrechnergeräten | |
DE69323861T2 (de) | Multiprozessorsystem mit gemeinsamem Speicher | |
DE3586245T2 (de) | Bildverarbeitungsgeraet und interkommunikationsbus dafuer. | |
DE69217664T2 (de) | Multimedia-signalprozessor-rechnersystem | |
DE69124946T2 (de) | Bidirektionaler FIFO-Puffer zur Schnittstellenbildung zwischen zwei Bussen | |
DE69810132T2 (de) | Multiport drams mit internen cache-speichern | |
DE69727721T2 (de) | Rechnervorrichtung und Bussteuerungsschema | |
DE69031220T2 (de) | Hochgeschwindigkeitsmultiport-FIFO-Pufferschaltung | |
DE3838240A1 (de) | Datenprozessor | |
DE2162806A1 (de) | Digitales Eingabe-Ausgabe-Steuersystem mit Kanalpufferung | |
CH634940A5 (en) | Channel-adapter arrangement | |
DE102005048581B4 (de) | Teilnehmerschnittstelle zwischen einem FlexRay-Kommunikationsbaustein und einem FlexRay-Teilnehmer und Verfahren zur Übertragung von Botschaften über eine solche Schnittstelle | |
EP0184706B1 (de) | Schnittstelleneinrichtung | |
EP0185260B1 (de) | Schnittstelle für direkten Nachrichtenaustausch | |
DE602004008712T2 (de) | Speicherbandbreiten-Steuereinrichtung | |
DE3142504A1 (de) | Mehrfachplattenspeicher-uebertragungssystem | |
DE68914577T2 (de) | Pufferspeichereinrichtung. | |
DE69125815T2 (de) | Anordnung und Verfahren zu einer variablen Datenzuweisung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |