DE3855284T2 - Direktspeicherzugriffssteuerung - Google Patents
DirektspeicherzugriffssteuerungInfo
- Publication number
- DE3855284T2 DE3855284T2 DE3855284T DE3855284T DE3855284T2 DE 3855284 T2 DE3855284 T2 DE 3855284T2 DE 3855284 T DE3855284 T DE 3855284T DE 3855284 T DE3855284 T DE 3855284T DE 3855284 T2 DE3855284 T2 DE 3855284T2
- Authority
- DE
- Germany
- Prior art keywords
- bus
- data
- microcomputer
- dma controller
- microcomputer system
- 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
- 230000015654 memory Effects 0.000 title claims description 77
- 238000012546 transfer Methods 0.000 claims description 110
- 230000002457 bidirectional effect Effects 0.000 claims description 56
- 238000000034 method Methods 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 4
- 101150047356 dec-1 gene Proteins 0.000 claims 2
- 230000004044 response Effects 0.000 claims 1
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 101
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013480 data collection Methods 0.000 description 2
- 102100026191 Class E basic helix-loop-helix protein 40 Human genes 0.000 description 1
- 101710130550 Class E basic helix-loop-helix protein 40 Proteins 0.000 description 1
- 102100026190 Class E basic helix-loop-helix protein 41 Human genes 0.000 description 1
- 101000765033 Homo sapiens Class E basic helix-loop-helix protein 41 Proteins 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000008054 signal transmission 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/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/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
- G06F13/285—Halt processor DMA
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
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)
- Software Systems (AREA)
- Bus Control (AREA)
- Microcomputers (AREA)
- Multi Processors (AREA)
Description
- Die Erfindung betrifft einen DMA-Controller (Steuerung für direkte Speicherzugriffe). Genauer gesagt, betrifft sie eine Technik, die dann wirkungsvoll ist, wenn sie auf einen DMA- Controller angewendet wird, der z. B. für zwei Mikrocomputersysteme verwendet wird.
- Ein DMA-Controller überträgt mit hoher Geschwindigkeit ohne Zwischenschaltung eines Mikrocomputers große Datenmengen zwischen einer Peripherievorrichtung wie einer Diskettenvorrichtung und einem RAM (Direktzugriffsspeicher)-Bauteil oder dergleichen. Derartige DMA-Controller sind z. B. in "HITACHI MICROCOMPUTER DATA BOOK 8/16-BIT MICROCOMPUTER PERIPHERAL LSI's", herausgegeben im September 1985 von Hitachi, Ltd., S. 168 - S. 180 (für 8 Bits) und S. 389 (für 16 Bits) beschrieben.
- In z. B. einem Mehrmikrocomputer-System, bei dem ein E/A- Untersystem (Mikrocomputersystem) wie eine Graphikprozessorplatine zu einem Hauptmikrocomputer-System hinzugefügt ist, um das Systemleistungsvermögen zu verbessern, wird es erforderlich, Daten zwischen einem RAM und einer Peripherievorrichtung über die zwei Systeme zu übertragen. Der bekannte DMA-Controller, wie er oben genannt ist, hat jedoch nur die Funktion einer Datenübertragung zwischen einer Peripherievorrichtung und einem RAM innerhalb eines Einzelmikrocomputer-Systems. Das hat zur Schwierigkeit geführt, daß die Datenübertragung zwischen dem RAM und der Peripherievorrichtung nicht über zwei Systeme ausgeführt werden kann.
- Ferner offenbart EP-A-0 095 363 ein DMA-Steuerungssystem, bei dem ein DMA-Controller die Datenübertragung von einem Hauptprozessor an einen Nebenprozessor ohne Zwischenschalten der Prozessoren erleichtert.
- Aus WO-A-8 100 925 ist ein System mit zwei Mikroprozessoren bekannt, von denen jeder über einen DMA-Controller verfügt, wobei Datenübertragung in einem Anforderungszyklus und einem Bestätigungszyklus zwischen den zwei DMA-Controllern ausgeführt wird.
- IBM Technical Disclosure Bulletin, Vol. 26, No. 11, April 1984, Seiten 5917 - 5918 beschreibt Datenübertragung zwischen den Speichern zweier Mikroprozessorsysteme über einen DMA-Controller.
- Der Erfindung liegt die Aufgabe zugrunde, eine DMA-Steuerungsvorrichtung zu schaffen, die schnelle Datenübertragung zwischen Mikrocomputersystemen eines Mehrmikrocomputer-Systems erlaubt.
- Diese Aufgabe ist durch die DMA-Steuerungsvorrichtung gemäß Anspruch 1 gelöst. Bevorzugte Ausführungsbeispiele sind in den Unteransprüchen offenbart.
- Die erfindungsgemäße DMA-Steuerungsvorrichtung ist mit der Funktion versehen, daß Steuersignale für eine Datenübertragung zwischen ihren letzten beiden Bussen entsprechend Informationsbits erstellt werden, die das Buslayout und den Übertragungsmodus eines Mehrmikrocomputer-Systems spezifizieren.
- Gemäß den oben angegebenen Hilfsmitteln wird die Datenübertragung zwischen den Bussen in einem Mehrmikrocomputer-System lediglich dadurch erzielt, daß bidirektionale Bustreiber angeordnet werden, die durch Datenübertragungs-Steuersignale gesteuert werden, die entsprechend der Spezifizierung für das Buslayout und den Übertragungsmodus erstellt werden.
- Fig. 1 ist ein Blockdiagramm, das ein Ausführungsbeispiel eines Mehrmikrocomputer-Systems zeigt, das einen erfindungsgemäßen DMA-Controller verwendet;
- Fig. 2 ist ein Blockdiagramm, das ein anderes Ausführungsbeispiel eines Mehrmikrocomputer-Systems zeigt, das einen erfindungsgemäßen DMA-Controller verwendet;
- Fig. 3 ist ein Schaltbild eines bidirektionalen Bustreibers zur Verwendung im Mehrmikrocomputer-System, auf das die Erfindung angewandt ist;
- Fig. 4 ist ein Diagramm zum Informationsbitformat eines Registers, das den Betriebsmodus des in den Fig. 1 und 2 dargestellten DMA-Controllers spezifiziert; und
- Fig. 5 ist ein Blockdiagramm, das ein Ausführungsbeispiel eines Einzelmikrocomputer-Systems zeigt, das einen erfindungsgemäßen DMA-Controller verwendet.
- Fig. 1 zeigt ein Blockdiagramm eines Ausführungsbeispiels eines Mehrmikrocomputer-Systems, das einen erfindungsgemäßen DMA-Controller verwendet. Das Mehrmikrocomputer-System dieses Ausführungsbeispiels verwendet ein sogenanntes vereinfachtes 2-Bus-Schema, bei dem Mikrocomputersysteme auf einer Systemseite und einer allgemeinen Seite jeweils so aufgebaut sind, daß sie um zwei Mikroprozessoren CPU1 und CPU2 herum liegen, die in der Beziehung einer Überordnung und einer Unterordnung stehen.
- Der Mikrocomputer auf der Systemseite besteht grundsätzlich aus dem Systemmikroprozessor CPU1, einer Hauptspeichereinheit MEM1 und einer Eingabe/Ausgabe-Einheit E/A1. Diese Bestandteile sind über einen Adreßbus SAB, einen Datenbus SDB und einen Steuerbus SCB miteinander verbunden.
- Der Mikrocomputer auf der allgemeinen Seite besteht grundsätzlich aus dem allgemeinen Mikroprozessor CPU1, einer Hauptspeichereinheit MEM2 und einer Eingabe/Ausgabe-Einheit E/A2. Diese Bestandteile sind über einen Adreßbus CAB, einen Datenbus CDB und einen Steuerbus CCB miteinander verbunden.
- Ein DMA-Controller DMAC ist mit der Funktion der Übertragung von Daten zwischen der Hauptspeichereinheit MEM1 oder MEM2 und der Eingabe/Ausgabe-Einheit E/A1 oder E/A2 jedes der Mikrocomputersysteme auf der Systemseite und der allgemeinen Seite und auch mit der Funktion des Übertragens von Daten zwischen den zwei Systemen versehen.
- In einem Mehrmikrocomputer-System, in dem die übergeordnete Position (Systemseite) und die untergeordnete Position (allgemeine Seite) so wie oben beschrieben eingestuft sind, sind der Datenanschluß DAT und der Adressenanschluß ADD des DMA- Controllers DMAC über bidirektionale Bustreiber (Sender/Empfänger) T/R1 bzw. T/R2 mit dem Datenbus SDB bzw. dem Adressenbus SAB verbunden, um dem Betrieb des Mikrocomputersystems auf der Systemseite Priorität zu verschaffen. Demgegenüber sind der Datenbus CDB und der Adreßbus CAB auf der allgemeinen Seite mit der untergeordneten Position mit dem Datenanschluß DAT bzw. dem Adressenanschluß ADD des DMA- Controllers DMAC verbunden.
- Der DMA-Controller DMAC verfügt über Eingabe/Ausgabe-Anschlüsse, die über Steuerleitungen mit den Eingabe/Ausgabe- Einheiten E/A1 und E/A2 in den beiden Mikrocomputersystemen verbunden sind, mit einem Anschluß an die beiden Steuerbusse STB und CCB.
- Der DMA-Controller DMAC dieses Ausführungsbeispiels enthält ein Register REG, durch das der Betriebsmodus dieses Controllers spezifiziert wird, um ihn, wie oben angegeben, sowohl für das Mehrmikrocomputer-System als auch ein Einzelmikrocomputer-System verwendbar zu machen. Entsprechend dem gemäß im Register REG abgespeicherten Informationsbits spezifizierten System werden mehrere Steuersignale zum Ausführen eines Datenübertragungsvorgangs unter mehreren Arten von Datenübertragungsmodi erstellt. Auf Grundlage dieser Steuersignale werden Steuersignale C1 und C2 zum Steuern der jeweiligen bidirektionalen Bustreiber T/R1 und T/R2 erstellt. Jedes der Steuersignale C1 und C2 besteht aus einem Freigabesignal EN für eine Vorgangssteuerung und einem Richtungssignal DIR zum Angeben der Übertragungsrichtung.
- Fig. 3 ist ein Schaltbild, das ein Beispiel für den bidirektionalen Bustreiber T/R1 zeigt. Dieser bidirektionale Bustreiber T/R1 enthält mehrere bidirektionale Schaltstufeneinheiten TU1, TU2, ... und TUn, die identische Anordnung haben. Das Steuersignal C1 vom DMA-Controller DMAC besteht aus dem Freigabesignal EN und dem Richtungssignal DIR. Das Freigabesignal EN wird einem Eingangsanschluß jeder von UND- Schaltungen 2 und 3 mit zwei Eingängen zugeführt. Das Richtungssignal DIR wird dem anderen Eingangsanschluß der UND- Schaltung 2 mit zwei Eingängen direkt zugeführt, und es wird dem anderen Eingangsanschluß der UND-Schaltung 3 mit zwei Eingängen über eine Inverterschaltung 1 zugeführt. Das Ausgangssignal der UND-Schaltung 2 mit zwei Eingängen wird einer Pufferschaltung 4 mit drei Zuständen zugeführt, und dasjenige der UND-Schaltung 3 mit zwei Eingängen wird einer Pufferschaltung 5 mit drei Zuständen zugeführt. Wenn die Pufferschaltung 4 mit drei Zuständen durch das Ausgangssignal der UND-Schaltung 2 mit zwei Eingängen in den Betriebszustand versetzt wird, werden Daten auf einem mit dem Systemdatenbus SDB verbundenen Datenbus D1 an einen mit dem allgemeinen Datenbus CDB verbundenen Datenbus D2 übertragen. Außerdem werden dann, wenn die Pufferschaltung 5 mit drei Zuständen durch das Ausgangssignal der UND-Schaltung 3 mit zwei Eingängen in den Betriebszustand versetzt wird, Daten auf dem mit dem Systemdatenbus SDB verbundenen Datenbus D1 an den mit dem allgemeinen Datenbus CDB verbundenen Datenbus D2 übertragen.
- Wenn die Pufferschaltungen 4 und 5 mit drei Zuständen in funktionslose Zustände versetzt sind, verfallen die Datenbusse D1 und D2 in nicht-angeschlossene Zustände.
- Es wurde zwar der Bit direkt zu einem Bustreiber T/R1 veranschaulicht, jedoch ist der bidirektionale Bustreiber T/R2 ähnlich aufgebaut. Jeder der in Fig. 2 dargestellten bidirektionalen Bustreiber T/R3 und T/R4, die später beschrieben werden, ist ähnlich aufgebaut.
- Wie es in Fig. 4 dargestellt ist, besteht das grundsätzliche Informationsbitformat für das Register REG aus einem Informationsbit BO, das die Übertragungsart spezifiziert, Informationsbits B1 und B2, die die Übertragungsrichtung spezifizieren und Informationsbits B3 und B4, die die Art des Buslayouts des Systems spezifizieren.
- Das die Art der Übertragung spezifizierende Informationsbit BO spezifiziert die Datenübertragung zwischen den Speichern MEM durch beispielsweise den logischen Wert "0", und es spezifiziert die Datenübertragung zwischen einem Speicher MEM und der Eingabe/Ausgabe-Einheit E/A durch den logischen Wert "1". Außerdem spezifizieren die Informationsbits B2 und B1, die die Übertragungsrichtung spezifizieren, die Übertragung von der allgemeinen (örtlichen) Seite zur allgemeinen (örtlichen) Seite, wenn sie die logischen Werte "0" und "0" aufweisen, sie spezifizieren eine Übertragung von der allgemeinen (örtlichen) Seite zur Systemseite, wenn sie die logischen Werte "0" und "1" aufweisen, sie spezifizieren eine Übertragung von der Systemseite zur allgemeinen (örtlichen) Seite, wenn sie die logischen Werte "1" und "0" aufweisen, und sie spezifizieren eine Übertragung von der Systemseite zur Systemseite, wenn sie die logischen Werte "1" und "1" aufweisen. Was die Informationsbits B4 und B3 betrifft, die die Art des Buslayouts spezifizieren, spezifizieren die logischen Werte "0" und "0" die Art "nicht genutzt" (oder als Reservecode für zukünftige Verwendung zurückbehalten), die logischen Werte "0" und "1" spezifizieren ein Einzelmikrocomputer-System, das nur aus einer allgemeinen (örtlichen) Seite besteht, die logischen Werte "1" und "0" spezifizieren ein Mehrmikrocomputer-System, das aus einer allgemeinen und einer Systemseite besteht, wie in Fig. 1 dargestellt, und die logischen Werte "1" und "1" spezifizieren ein Mehrmikrocomputer-System, das aus einer örtlichen und einer Systemseite besteht, wie es später unter Bezugnahme auf Fig. 2 beschrieben wird.
- Die Informationsbits B0, B1 und B2 sowie B3 und B4 werden jeweils an Decodierschaltungen DEC1, DEC2 und DEC3 geliefert und sie werden dazu verwendet, die mehreren Steuersignale CS zu erstellen, die die oben angegebenen Bedeutungen haben. Die Steuersignale C1, C2 usw. werden auf Grundlage der mehreren Steuersignale CS erstellt.
- Beispielsweise greift im in Fig. 1 dargestellten Mehrmikrocomputer-System der Systemmikroprozessor CPU1 vorab mit einem später beschriebenen Verfahren über den Steuerbus SCB auf das Register REG zu, um die logischen Werte "1" und "0" in die das Buslayout spezifizierenden Informationsbits B4 und B3 einzuspeichern. Wenn z. B. Daten zwischen dem Hauptspeicher MEM1 und der Eingabe/Ausgabe-Einheit E/A1 innerhalb des Mikrocomputersystems auf der Systemseite übertragen werden, greift der Systemmikroprozessor CPU1 über den Steuerbus SCB auf das eingebaute Register REG des DMA-Controllers DMAC zu. Für diesen Zugriff kann ein gewöhnliches Chipauswahlsignal verwendet werden. Wenn vom Systemmikroprozessor CPU1 ein Zugriff auf dem DMA-Controller DMAC erfolgt, gibt dieser ein nicht dargestelltes Busanforderungssignal über den Steuerbus CCB an den allgemeinen Mikroprozessor CPU2 aus, um die Busse der allgemeinen Seite freizugeben. Infolgedessen wird der Betriebszustand des allgemeinen Mikrocomputersystems in einen Stopzustand gebracht. Danach versetzt der DMA-Controller DMAC die bidirektionalen Bustreiber T/R1 und T/R2 in ihre Betriebszustände und er spezifiziert die Signalübertragungsrichtungen derselben, woraufhin er mit dem Datenbus SDB und dem Adreßbus SAB auf der Systemseite verbunden wird. Der Systemmikrocomputer CPU1 greift über den Adreßbus SAB, den Datenbus SDB und die bidirektionalen Bustreiber T/R1, T/R2 auf das Register REG zu, um die Bits B2 und B1 auf die logischen Werte "1" und "1" zu setzen und um das Bit B0 auf den logischen Wert "1" zu setzen, ohne die Information der Bits B4 und B3 zu ändern, und um die Adresse des Übertragungsziels, die Anzahl zu übertragender Einzeldaten und die Richtung der Datenübertragung zwischen dem Speicher MEM1 und der Einheit E/A1 in einem nicht dargestellten Register innerhalb des DMA-Controllers DMAC zu spezifizieren, woraufhin er den DMA-Controller DMAC in den Startzustand bringt. Der Start des DMA-Controllers DMAC erfolgt durch Einschreiben des logischen Werts "1" in ein Startbit im nicht dargestellten Register. Der DMA-Controller DMAC gibt im Startzustand ein nicht dargestelltes Busanforderungssignal über den Steuerbus SCD an den Systemmikroprozessor CPU1 aus und er erlangt auf der Systemseite die Busherrschaft. Demgemäß führt der DMA-Controller DMAC einen Datenübertragungsvorgang zwischen der Eingabe/Ausgabe-Einheit E/A1 und dem Hauptspeicher MEM1 aus, wie spezifiziert. Da eine derartige Datenübertragung zwischen der Hauptspeichereinheit MEM1 oder MEM2 und der Eingabe/Ausgabe-Einheit E/A1 oder E/A2 ähnlich der bei einem bekannten DMA-Controller ist, werden Erläuterungen zu detaillierten zeitlichen Vorgängen weggelassen. Dies gilt für später beschriebene Datenübertragungsvorgänge. Wenn die Datenübertragung endet, übergibt der DMA-Controller DMAC dem Systemmikroprozessor CPU1 die Busherrschaft und liefert ferner einen Interrupt an diesen, um ihn über das Ende des Vorgangs zu informieren.
- Indessen ist ein Ablauf für eine Datenübertragung zwischen dem Hauptspeicher MEM2 und der Eingabe/Ausgabe-Einheit E/A2 auf der Systemseite des allgemeinen Mikrocomputers dergestalt, wie es unten angegeben wird. Unter Verwendung eines Hilfsmittels wie eines Interrupts liefert der allgemeine Mikroprozessor CPU2 an den Systemmikroprozessor CPU1 eine Meldung, daß er beabsichtigt, Daten zu übertragen. Die Meldung soll Information, die die Datenübertragung zwischen dem Hauptspeicher MEM2 und der Eingabe/Ausgabe-Einheit E/A2 anzeigt, die Übertragungsadresse des Hauptspeichers MEM2 und die Anzahl zu übertragender Wörter enthalten. Als Verfahren zum Übertragen der Meldung sollte ein herkömmliches Verfahren verwendet werden, das einen gemeinsam genutzten Speicher verwendet. Beim Empfangen der Meldung greift der Systemmikroprozessor CPU1 über den Steuerbus SCB auf den DMA-Controller DMAC zu. Wenn vom Systemmikroprozessor CPU1 ein Zugriff auf den DMA-Controller DMAC erfolgt, gibt dieser ein nicht dargestelltes Busanforderungssignal über den Steuerbus CCB an den allgemeinen Mikroprozessor CPU2 aus, um die Busse auf der allgemeinen Seite freizugeben. Ferner bringt er, wie oben angegeben, die bidirektionalen Bustreiber T/R1 und T/R2 in die Betriebszustände, um die Busse SDB, SAB auf der Systemseite und die Busse CDB, CAB auf der allgemeinen Seite zu verbinden. Der Systemmikroprozessor CPU1 greift über den Adreßbus SAB und den Datenbus SDB auf das Register REG zu, um die Informationsbits B2 und B1 auf die logischen Werte "0" und "0" zu setzen und um das Informationsbit B0 auf den logischen Wert "1" zu setzen, ohne die Information der Bits B4 und B3 zu ändern, und um die Adresse des Übertragungsziels, die Anzahl zu übertragender Einzeldaten und die Richtung der Datenübertragung zwischen dem Speicher MEM2 und der Einheit E/A2 im nicht dargestellten Register innerhalb des DMA-Controllers DMAC zu spezifizieren, woraufhin er den DMA- Controller DMAC in den Startzustand bringt. Im Startzustand gibt der DMA-Controller DMAC unmittelbar ein nicht dargestelltes Anforderungssignal über den Steuerbus SCB an den Systemmikroprozessor CPU1 aus, um diesen Mikroprozessor in den Stopzustand zu bringen. Danach bringt er, wenn er auf Grund der logischen Werte "0" und "0" der Bits B1 und B2 auf Datenübertragung im allgemeinen Mikrocomputersystem, die bidirektionalen Bustreiber T/R1 und T/R2 in die Nicht-Betriebszustände, während er die Erzeugung des an den Systemmikroprozessor CPU1 ausgegebenen Busanforderungssignals stoppt, um dadurch diesen Mikroprozessor in den Betriebszustand zu bringen. Demgemäß kann der Mikrocomputer auf der Systemseite mit der Informationsverarbeitung fortfahren, mit Ausnahme von Datenübertragungsvorgängen, die den DMA-Controller DMAC verwenden. Der DMA-Controller DMAC behält die Busherrschaft auf der gemeinsamen Busseite, und er führt den Datenübertragungsvorgang zwischen der Eingabe/Ausgabe-Einheit E/A2 und der Hauptspeichereinheit MEM2 aus, wie spezifiziert. Wenn die Datenübertragung endet, liefert der DMA- Controller DMAC einen Interrupt an den allgemeinen Mikroprozessor CPU2, und er informiert diesen Mikroprozessor über das Ende des Datenübertragungsvorgangs.
- Außerdem greift dieser Systemmikroprozessor CPU1 über den Steuerbus SCB auf den DMA-Controller DMAC zu, wenn Daten von der Eingabe/Ausgabe-Einheit E/A1 der Systemseite entsprechend dem Programm des Systemmikroprozessors CPU1 an den Hauptspeicher MEM2 der allgemeinen Seite zu übertragen sind. Wenn vom Systemmikroprozessor CPU1 ein Zugriff auf den DMA- Controller DMAC erfolgt, gibt dieser ein nicht dargestelltes Busanforderungssignal über den Steuerbus CCB an den gemeinsamen Mikroprozessor CPU2 aus, um die Busse auf der allgemeinen Seite freizugeben. Infolgedessen ist der Betrieb des allgemeinen Mikrocomputersystems in den Stopzustand gebracht, wie im vorstehenden Fall. Der DMA-Controller DMAC bringt die bidirektionalen Bustreiber T/R1 und T/R2 in ihre Betriebszustände und er spezifiziert die Signalübertragungsrichtungen derselben. So werden der Datenbus SDB und der Adreßbus SAB der Systemseite mit dem Datenbus CDB bzw. dem Adreßbus CAB der allgemeinen Seite verbunden. Der Systemmikroprozessor CPU1 greift über den Adreßbus SAB, den Datenbus SDB und die bidirektionalen Bustreiber T/R1, T/R2 auf das Register REG zu, um die Informationsbits B2 und B1 auf die logischen Werte "1" und "0" zu setzen und um das Informationsbit B0 auf den logischen Wert "1" zu setzen, ohne die Information der Bits B4 und B3 zu ändern, und um die Adresse des Übertragungsziels und die Anzahl zu übertragender Einzeldaten im nicht dargestellten Register innerhalb des DMA- Controllers DMAC zu spezifizieren, woraufhin er den DMA-Controller DMAC in den Startzustand bringt. Im Startzustand gibt der DMA-Controller DMAC über den Steuerbus SCB ein nicht dargestelltes Busanforderungssignal an den Systemmikroprozessor CPU1 aus. Nachdem der DMA-Controller DMAC die Busherrschaft über den Systembus und den allgemeinen (örtlichen) Bus erlangt hat, wie oben angegeben, liefert er Adreßinformation an den Hauptspeicher MEM2. Die Adreßinformation spezifiziert die Datenspeicheradresse im Hauptspeicher MEM2. Diese Adreßinformation wird vom Adressenanschluß ADD über den Adreßbus CAB an den Hauptspeicher MEM2 geliefert. Im Ergebnis wird die Datenspeicherungsadresse des Hauptspeichers MEM2 spezifiziert. Danach wird vom DMA-Controller DMAC eine Datenübertragungsanweisung an die Eingabe/Ausgabe-Einheit E/A1 ausgegeben. Zusätzlich wird der bidirektionale Bustreiber T/R1 durch das Steuersignal C1 in den Betriebszustand gebracht. Demgemäß werden die Ausgangsdaten von der Eingabe/Ausgabe-Einheit E/A1 über den Datenbus SDB, den bidirektionalen Bustreiber T/R1 und den Datenbus CDB an den Hauptspeicher MEM2 geliefert. Wenn der Datenübertragungsvorgang endet, liefert der DMA-Controller DMAC Interrupts an die Mikroprozessoren CPU1 und CPU2 und informiert sie über das Ende des Vorgangs.
- Ferner greift der Systemmikroprozessor CPU1 über den Steuerbus SCB auf den DMA-Controller DMAC zu, wenn Daten vom Hauptspeicher MEM1 auf der Systemseite entsprechend dem Programm des Systemmikroprozessors CPU1 an den Hauptspeicher MEM2 der allgemeinen Seite zu übertragen sind. Wenn vom Systemmikroprozessor CPU1 ein Zugriff auf den DMA-Controller DMAC erfolgt, gibt dieser über den Steuerbus CCB ein nicht dargestelltes Busanforderungssignal an den allgemeinen Mikroprozessor CPU2, um die Busse auf der allgemeinen Seite freizugeben. Infolgedessen wird der Betrieb des allgemeinen Mikrocomputersystems in den Stopzustand gebracht, wie im vorstehenden Fall. Der DMA-Controller DMAC bringt die bidirektionalen Bustreiber T/R1 und T/R2 in ihre Betriebszustände und er spezifiziert die Signalübertragungsrichtungen derselben. So werden der Datenbus SDB und der Adreßbus SAB auf der Systemseite mit dem Datenbus CDB bzw. dem Adreßbus CAB auf der allgemeinen Seite verbunden. Der Systemmikroprozessor CPU1 greift über den Adreßbus SAB, den Datenbus SDB und die bidirektionalen Bustreiber T/R1, T/R2 auf das Register REG zu, um die Informationsbits B1 und B2 auf die logischen Werte "1" und "0" zu setzen und um das Informationsbit B0 auf den logischen Wert "0" zu setzen, ohne die Information der Bits B4 und B3 zu ändern, und um die Adresse des Übertragungsziels und die Anzahl zu übertragender Einzeldaten im nicht dargestellten Register innerhalb des DMA-Controllers DMAC zu spezifizieren, woraufhin er den DMA-Controller DMAC in den Startzustand bringt. Im Startzustand gibt der DMA- Controller DMAC über den Steuerbus SCB ein nicht dargestelltes Busanforderungssignal an den Systemmikroprozessor CPU1 aus und er erlangt die Busherrschaft auf der Systemseite. Wie oben angegeben, erlangt der DMA-Controller DMAC die Busherrschaft über den Systembus und den allgemeinen (örtlichen) Bus. Danach wird der bidirektionale Bustreiber T/R2 durch das Steuersignal C2 in den Betriebszustand gebracht. Im Ergebnis kann Adreßinformation, die den Ort der vom Hauptspeicher MEM1 zu übertragenden Daten spezifiziert, über den Adressenanschluß ADD des DMA-Controllers DMAC, den bidirektionalen Bustreiber T/R2 und den Adreßbus SAB an diesen Hauptspeicher MEM1 geliefert werden. Anschließend wird der bidirektionale Bustreiber T/R1 auf Grundlage des vom DMA- Controller DMAC erzeugten Steuersignals C1 in den Betriebszustand gebracht. Die vom Hauptspeicher MEM1 ausgegebenen Daten werden über den Datenbus SDB, den bidirektionalen Bustreiber T/R1, der sich im Betriebszustand befindet, und den Datenanschluß DAT des DMA-Controllers DMAC in diesem gesammelt. Wenn die Datensammlung endet, liefert der DMA-Controller DMAC Adresseninformation zum Spezifizieren der Datenspeicheradresse des Hauptspeichers MEM2 über den Adressenanschluß ADD und den Adreßbus CAB an diesen Hauptspeicher MEM2. Nach dem Liefern der Adreßinformation überträgt der DMA-Controller DMAC die in ihm gesammelten Daten über den Datenbus CDB an den Hauptspeicher MEM2. Wenn der Datenübertragungsvorgang endet, liefert der DMA-Controller DMAC Interrupts an die Mikroprozessoren CPU1 und CPU2 und er informiert sie über das Ende des Vorgangs.
- Wie insoweit beschrieben, werden im Fall der Übertragung von Daten von der Eingabe/Ausgabe-Einheit E/A1 an den Hauptspeicher MEM2 die zu übertragenden Daten nicht im DMA-Controller DMAC gesammelt. Im Gegensatz hierzu werden im Fall der Übertragung von Daten vom Hauptspeicher MEM1 an den Hauptspeicher MEM2 die zu übertragenden Daten einmal im DMA-Controller DMAC gesammelt und sie werden danach mit einer vorgegebenen zeitlichen Lage an den Hauptspeicher MEM2 übertragen. Die Tatsache, daß die Daten auf diese Weise einmal im DMA- Controller DMAC gesammelt werden, dient dazu, die zeitliche Lage zum Liefern der Übertragungsdaten an den Hauptspeicher MEM2 einzustellen. Genauer gesagt, erfordert der Hauptspeicher MEM1, abweichend von der Eingabe/Ausgabe-Einheit E/A1, als Lieferungsquelle für Übertragungsdaten Adreßinformation, die diejenige Adresse spezifiziert, die die zu übertragenden Daten speichert. Diese Adreßinformation wird vom DMA-Controller DMAC ähnlich wie Adreßinformation für den Hauptspeicher MEM2 geliefert. Da in diesem Fall beide Einzeladreßinformationen in zeitlicher Folge vom Adressenanschluß ADD ausgegeben werden, weisen die Lieferungsguelle (Hauptspeicher MEM1) und das Lieferungsziel (Hauptspeicher MEM2) für die Übertragungsdaten verschiedene Betriebszeitpunkte auf. Daher wird im Fall der Übertragung von Daten vom Hauptspeicher MEM1 zum Hauptspeicher MEM2 ein anderer Pfad für die Datenübertragung eingestellt, um den Lieferungszeitpunkt für die Adreßinformation und denjenigen der Übertragungsdaten für den Hauptspeicher MEM2 einzustellen.
- Bei diesem Ausführungsbeispiel ist der DMA-Controller DMAC zusätzlich mit dem Register REG; wie oben beschrieben, und der Funktion des Decodierens der Informationsbits des Registers und des Erstellens von Steuersignalen für die externe Datenübertragungsschaltung einschließlich der Bustreiber versehen, wodurch die Datenübertragung zwischen den Mikrocomputersystemen im Mehrmikrocomputer-System, wie oben angegeben, erzielt werden kann.
- Fig. 2 zeigt ein Blockdiagramm eines anderen Ausführungsbeispiels eines Mehrmikrocomputer-Systems, das einen erfindungsgemäßen DMA-Controller verwendet. Das Mehrmikrocomputer-System dieses Ausführungsbeispiels verwendet ein sogenanntes Hochfunktions-2-Bus-Schema, bei dem zwei Mikrocomputersysteme auf einer Systemseite und einer örtlichen Seite eine solche Beziehung einhalten, daß sie gleichberechtigt sind.
- Bei diesem Ausführungsbeispiel besteht der Mikrocomputer auf der Systemseite grundsätzlich aus einem Systemmikroprozessor CPU1, einer Hauptspeichereinheit MEM1 und einer Eingabe/Ausgabe-Einheit E/A1, wie in Fig. 2. Diese Bestandteile sind über einen Adreßbus SAB, einen Datenbus SDB und einen Steuerbus SCB miteinander verbunden.
- Der Mikrocomputer auf der örtlichen Seite besteht grundsätzlich aus einem örtlichen Mikroprozessor CPU2, einer Hauptspeichereinheit MEM2 und einer Eingabe/Ausgabe-Einheit E/A2. Diese Bestandteile sind über einen Adreßbus LAB, einen Datenbus LDB und einen Steuerbus LCB miteinander verbunden.
- Ein DMA-Controller DMAC ist mit der Funktion der Übertragung von Daten zwischen der Hauptspeichereinheit MEM1 oder MEM2 und der Eingabe/Ausgabe-Einheit E/A1 oder E/A2 jedes der Mikrocomputersysteme auf der Systemseite und der örtlichen Seite wie auch der Funktion der Übertragung von Daten zwischen diesen zwei Systemen versehen.
- Um die zwei Mikrocomputersysteme in gleichberechtigter Beziehung zu halten, wie oben beschrieben, sind der Datenanschluß DAT und der Adressenanschluß ADD des DMA-Controllers DMAC mit dem Datenbus SDB bzw. dem Adreßbus SAB der Systemseite sowie dem Datenbus LDB bzw. dem Adreßbus LAB der örtlichen Seite über bidirektionale Bustreiber T/R1, T/R2 und bidirektionale Bustreiber T/R3, T/R4 verbunden.
- Der DMA-Controller DMAC verfügt über Eingabe/Ausgabe-Anschlüsse, die in beiden Mikrocomputersystemen über Steuerleitungen mit den Eingabe/Ausgabe-Einheiten E/A1 und E/A2 verbunden sind, und die mit den beiden Steuerbussen SCB und LCB verbunden sind.
- Da der DMA-Controller DMAC bei diesem Ausführungsbeispiel über die bidirektionalen Bustreiber T/R1, T/R2 sowie T/R3, T/R4 verfügt, die für die Systemseite bzw. die örtliche Seite vorhanden sind, wie oben angegeben, werden diesen entsprechende Steuersignale C1, C2 sowie C3, C4 erstellt. Übrigens ist zu beachten, daß im Fall der Anwendung des DMA-Controllers DMAC dieses Ausführungsbeispiels auf das Mehrmikrocomputer-System mit vereinfachtem 2-Bus-Schema, wie in Fig. 1 dargestellt, die Signale C3 und C4 nicht verwendet werden.
- Auch bei diesem Ausführungsbeispiel werden das Buslayout und der Übertragungsbetriebsmodus durch das Register REG spezifiziert, das die in Fig. 4 dargestellten Informationsbits B0 bis B4 enthält.
- Beispielsweise sind im Mehrmikrocomputer-System, wie es in Fig. 2 dargestellt ist, logische Werte "1" und "1" in den Informationsbits B4 und B3 gespeichert, die das Buslayout spezifizieren. Demgemäß werden die Steuersignale C3 und C4, die an die jeweiligen bidirektionalen Bustreiber T/R3 und T/R4 zu liefern sind, die für den Datenbus LDB und den Adreßbus LAB der örtlichen Seite vorhanden sind, selektiv entsprechend den Übertragungsmodi ausgegeben, die später beschrieben werden. Zum Beispiel startet der Systemmikrocomputer CPU1 beim Übertragen von Daten zwischen dem Hauptspeicher MEM1 und der Eingabe/Ausgabe-Einheit E/A1 innerhalb des Mikrocomputersystems der Systemseite den DMA-Controller DMAC über den Steuerbus SCB. Wenn der DMA-Controller DMAC in den Betriebszustand gebracht ist, bringt er die bidirektionalen Bustreiber T/R1 und T/T2 in ihre Betriebszustände und er spezifiziert deren Signalübertragungsrichtungen, woraufhin er mit dem Datenbus SDB und dem Adreßbus SAB der Systemseite verbunden wird. Indessen werden die bidirektionalen Bustreiber T/R3 und T/R4 auf der örtlichen Seite in Nicht-Betriebszuständen gehalten, so daß das Mikrocomputersystem der örtlichen Seite seinen Betrieb fortführen kann, mit Ausnahme irgendwelcher Datenübertragungsvorgänge, die den DMA-Controller DMAC verwenden. Demgemäß fährt das Mikrocomputersystem auf der örtlichen Seite während der Datenübertragung zwischen der Eingabe/Ausgabe-Einheit E/A1 und dem Hauptspeicher MEM1 auf der Systemseite, was unten erläutert wird, mit seinem Betrieb fort, und demgemäß kann die Leistungsfähigkeit des Gesamtsystems verbessert werden.
- Der Systemmikroprozessor CPU1 greift über den Adreßbus SAB, den Datenbus SDB und die bidirektionalen Bustreiber T/R1, T/R2 auf das Register REG zu, um die Informationsbits B2 und B1 auf die logischen Werte "1" und "1" zu setzen und um das Informationsbit B0 auf den logischen Wert "1" zu setzen, und um die Adresse des Übertragungsziels, die Anzahl zu übertragender Einzeldaten usw. zu spezifizieren, woraufhin er den DMA-Controller DMAC startet. Gemäß einer Beurteilung auf Grundlage der Informationsbits erlangt der DMA-Controller DMAC nur die Busherrschaft auf der Systemseite, und er führt einen Datenübertragungsvorgang zwischen der Eingabe/Ausgabe- Einheit E/A1 und der Hauptspeichereinheit MEM1 aus, wie spezifiziert. Wenn die Datenübertragung endet, liefert der DMA- Controller DMAC einen Interrupt an den Systemmikroprozessor CPU1 und er informiert ihn über das Ende des Vorgangs.
- Indessen greift der örtliche Mikroprozessor CPU2 über den Steuerbus LCB auf den DMA-Controller DMAC zu, wenn Daten zwischen den Hauptspeicher MEM2 und der Eingabe/Ausgabe-Einheit E/A2 auf der Seite des örtlichen Mikroprozessorsystems zu übertragen sind. Wenn vom örtlichen Mikroprozessor CPU2 ein Zugriff auf den DMA-Controller DMAC erfolgt, bringt dieser die bidirektionalen Bustreiber T/R2 und T/R4 in ihre Betriebszustände und er spezifiziert deren Signalübertragungsrichtungen, woraufhin er mit dem Datenbus LDB und dem Adreßbus LAB der örtlichen Seite verbunden wird. Indessen werden die bidirektionalen Bustreiber T/R1 und T/R2 der Systemseite in den Nicht-Betriebszuständen gehalten, so daß das Mikrocomputersystem auf der Systemseite mit seinem Betrieb fortfahren kann, mit Ausnahme irgendwelcher Datenübertragungsvorgänge, die den DMA-Controller DMAC verwenden. Demgemäß kann das Mikrocomputersystem auf der Systemseite mit seinem Betrieb fortfahren, während eine Datenübertragung zwischen der Eingabe/Ausgabe-Einheit E/A2 und dem Hauptspeicher MEM2 auf der örtlichen Seite erfolgt, wie unten erläutert.
- Der örtliche Mikroprozessor CPU2 greift über den Adreßbus LAB, den Datenbus LDB und die bidirektionalen Bustreiber T/R3, T/R4 auf das Register REG zu, um die Informationsbits B2 und B1 auf die logischen Werte "0" und "0" zu setzen und das Informationsbit B0 auf den logischen Wert "1" zu setzen, und um die Adresse des Übertragungsziels, die Anzahl zu übertragender Einzeldaten usw. zu spezifizieren, woraufhin er den DMA-Controller DMAC in den Startzustand versetzt. Der DMA-Controller DMAC erlangt nur die Busherrschaft auf der örtlichen Seite, und er führt einen Datenübertragungsvorgang zwischen der Eingabe/Ausgabe-Einheit E/A2 und der Hauptspeichereinheit MEM2 aus, wie spezifiziert. Wenn die Datenübertragung endet, liefert der DMA-Controller DMAC einen Interrupt an den örtlichen Mikroprozessor CPU2 und er informiert ihn über das Ende des Vorgangs.
- Außerdem greift der Systemmikroprozessor CPU1 über den Steuerbus SCB auf den DMA-Controller DMAC zu, wenn Daten von der Eingabe/Ausgabe-Einheit E/A1 der Systemseite entsprechend dem Programm des Systemmikroprozessors CPU1 an den Hauptspeicher MEM2 der örtlichen Seite zu übertragen sind. Der DMA-Controller DMAC bringt die bidirektionalen Bustreiber T/R1 und T/R2 in ihre Betriebszustände und er spezifiziert ihre Signalübertragungsrichtungen. Der Mikroprozessor CPU1 auf der Systemseite greift über den Datenbus SDB, den Adreßbus SAB und die bidirektionalen Bustreiber T/R1, T/R2 auf das Register REG zu, um die Informationsbits B2 und B1 auf die logischen Werte "1" und "0" zu setzen und das Informationsbit B0 auf den logischen Wert "1" zu setzen, und um die Adresse des Übertragungsziels und die Anzahl zu übertragender Einzeldaten zu spezifizieren, woraufhin er den DMA-Controller DMAC startet. Der DMA-Controller DMAC entscheidet auf Grundlage der logischen Werte "1" und "0" der Informationsbits B2 und B1, daß die Übertragungsquelle die Systemseite ist, und er liefert über den Steuerbus SCB ein nicht dargestelltes Busanforderungssignal an den Mikroprozessor CPU1 der Systemseite, um den Systembus freizugeben. Auf ähnliche Weise entscheidet der DMA-Controller DMAC, daß das Übertragungsziel die örtliche Seite ist, und er liefert über den Steuerbus LCB ein nicht dargestelltes Busanforderungssignal an den Mikroprozessor CPU2 auf der örtlichen Seite, um den örtlichen Bus freizugeben. Nachdem der DMA-Controller DMAC die Busherrschaft über den Systembus und den örtlichen Bus erlangt hat, wie oben angegeben, bringt er den bidirektionalen Bustreiber T/R4 unter Verwendung des Steuersignals C4 in den Betriebszustand. Der DMA-Controller DMAC liefert Adreßinformation, die an den Hauptspeicher MEM2 gegeben wird. Diese Adreßinformation wird über den Adressenanschluß ADD, den bidirektionalen Bustreiber T/R4 und den Adreßbus LAB an den Hauptspeicher MEM2 geliefert. Im Ergebnis wird der Ort der an den Hauptspeicher MEM2 zu übertragenden Daten spezifiziert. Danach wird vom DMA-Controller DMAC eine Datenübertragungsanweisung an die Eingabe/Ausgabe-Einheit E/A1 ausgegeben. Außerdem werden die bidirektionalen Bustreiber T/R1 und T/R2 durch die Steuersignale C1 bzw. C3 in ihre Betriebszustände gesteuert. Demgemäß werden die von der Eingabe/Ausgabe-Einheit E/A1 ausgegebenen Daten über den Datenbus SDB, die bidirektionale Bustreiber T/R1 und T/R3 sowie den Datenbus LDB an den Hauptspeicher MEM2 übertragen. Wenn der Datenübertragungsvorgang endet, liefert der DMA-Controller DMAC Interrupts an die Mikroprozessoren CPU1 und CPU2 und er informiert sie über das Ende des Vorgangs.
- Noch zusätzlich greift der Systemmikroprozessor CPU1 über den Steuerbus SCB auf den DMA-Controller DMAC zu, wenn Daten vom Hauptspeicher MEM1 der Systemseite entsprechend dem Programm des Systemmikroprozessors CPU1 an den Hauptspeicher MEM2 der örtlichen Seite zu übertragen sind. Der DMA-Controller DMAC bringt die bidirektionalen Bustreiber T/R1 und T/R2 in ihre Betriebszustände und er spezifiziert ihre Signalübertragungsrichtungen. Der Mikroprozessor CPU1 der Systemseite greift über den Datenbus SDB, den Adreßbus SAB und die bidirektionalen Bustreiber T/R1, T/R2 auf das Register REG zu, um die Informationsbits B2 und B1 auf die logischen Werte "1" und "0" zu setzen und das Informationsbit B0 auf den logischen Wert "0" zu setzen, und er spezifiziert die Adresse des Übertragungsziels und die Anzahl zu übertragender Einzeldaten, woraufhin er den DMA-Controller DMAC startet. Der DMA-Controller DMAC entscheidet auf Grundlage der logischen Werte "1" und "0" der Informationsbits B2 und B1, daß die Übertragungsquelle die Systemseite ist. Danach überträgt der DMA-Controller DMAC über den Steuerbus SCB ein nicht dargestelltes Busanforderungssignal an den Mikroprozessor CPU1 der Systemseite. Wenn der Mikroprozessor CPU1 dieses Busanforderungssignal empfängt, gibt er den Systembus frei. Außerdem entscheidet der DMA-Controller DMAC, daß das Übertragungsziel für die Daten die örtliche Seite ist. Auf Grundlage dieser Entscheidung überträgt er über den Steuerbus LCD ein nicht dargestelltes Busanforderungssignal an den Mikroprozessor CPU2 der örtlichen Seite. Wenn der Mikroprozessor CPU2 dieses Busanforderungssignal empfängt, gibt er den örtlichen Bus frei. Wie oben angegeben, erlangt der DMA- Controller DMAC die Busherrschaft über den Systembus und den örtlichen Bus. Außerdem empfängt der bidirektionale Bustreiber T/R2 das Steuersignal C2 und er wird in seinen Betriebszustand gebracht. Dann wird Adreßinformation, die den Speicherungsort für die vom Hauptspeicher MEM1 zu übertragenden Daten spezifiziert, über den Adressenanschluß ADD, den bidirektionalen Bustreiber T/R2, der sich im Betriebszustand befindet, und den Adreßbus SAB an diesen Hauptspeicher MEM1 geliefert. Anschließend wird der bidirektionale Bustreiber T/R1 auf Grundlage des vom DMA-Controller DMAC erzeugten Steuersignals C1 in den Betriebszustand gebracht. Die vom Hauptspeicher MEM1 ausgegebenen Daten werden über den Datenbus SDB, den bidirektionalen Bustreiber T/R1, der sich im Betriebszustand befindet, und den Datenanschluß DAT im DMA- Controller gesammelt. Wenn der Datensammelvorgang endet, wird der bidirektionale Bustreiber T/R4 auf Grundlage des Steuersignals C4 in den Betriebszustand gebracht. Im Ergebnis wird Adreßinformation für den Hauptspeicher MEM2 über den Adreßanschluß ADD, den sich im Betriebszustand befindlichen bidirektionalen Bustreiber T/R4 und den Adreßbus LAB an diesen Hauptspeicher MEM2 geliefert. So wird die Adresse des Hauptspeichers MEM2 spezifiziert, in der die übertragenen Daten zu speichern sind. Danach wird der bidirektionale Bustreiber T/R3 auf Grundlage des Steuersignals C3 in seinen Betriebszustand gebracht. So werden die Daten, die vorübergehend im DMA-Controller DMAC angesammelt wurden, über den Datenanschluß DAT, den sich im Betriebszustand befindlichen bidirektionalen Bustreiber T/R3 und den Datenbus LDB an den Hauptspeicher MEM2 übertragen. Wenn der Datenübertragungsvorgang endet, liefert der DMA-Controller DMAC Interrupts an die Mikroprozessoren CPU1 und CPU2 und er informiert sie über das Ende des Vorgangs.
- Ferner greift der Mikroprozessor CPU2 der örtlichen Seite über den Steuerbus LCB auf den DMA-Controller DMAC zu, wenn Daten von der Eingabe/Ausgabe-Einheit E/A2 der örtlichen Seite an die Hauptspeichereinheit MEM1 der Systemseite oder von der Hauptspeichereinheit MEM2 der örtlichen Seite an die Hauptspeichereinheit MEM1 der Systemseite entsprechend dem Programm des örtlichen Mikroprozessors CPU2 zu übertragen sind. Der DMA-Controller DMAC bringt die bidirektionalen Bustreiber T/R3 und T/R4 in ihre Betriebszustände und er spezifiziert ihre Signalübertragungsrichtungen, woraufhin er mit dem Datenbus LDB und dem Adreßbus LAB der örtlichen Seite verbunden wird. Der Mikroprozessor CPU2 der örtlichen Seite greift über den Datenbus LDB, den Adreßbus LAB und die bidirektionalen Bustreiber T/R3, T/R4 auf das Register REG zu, um die Informationsbits B2 und B1 auf die logischen Werte "0" und "1" zu setzen und das Informationsbit B0 auf den logischen Wert "1" (oder "0") zu setzen und um die Adresse des Übertragungsziels und die Anzahl zu übertragender Einzeldaten zu spezifizieren, woraufhin er den DMA-Controller DMAC startet. Wenn der DMA-Controller DMAC auf Grundlage der logischen Werte "0" und "1" der Informationsbits B2 und B1 entschieden hat, daß die Übertragungsquelle die örtliche Seite ist, während das Übertragungsziel die Systemseite ist, liefert er über den Steuerbus SCB ein nicht dargestelltes Busanforderungssignal an den Mikroprozessor CPU1 der Systemseite, um den Systembus freizugeben. Entsprechend wird der örtliche Bus freigegeben. Der DMA-Controller DMAC bringt die bidirektionalen Bustreiber T/R1 und T/R2, die mit den Bussen der Systemseite verbunden sind, in ihre Betriebszustände, und er bringt die mit den Bussen auf der örtlichen Seite verbundenen Treiber T/R3 und T/R4 in ihre Betriebszustände, und er spezifiziert ihre Übertragungsrichtungen, um den Vorgang einer Datenübertragung von der Eingabe/Ausgabe-Einheit E/A2 auf der örtlichen Seite zur Hauptspeichereinheit MEM1 auf der Systemseite oder von der Hauptspeichereinheit MEM2 auf der örtlichen Seite zur Hauptspeichereinheit MEM1 auf der Systemseite auszuführen. Wenn der Datenübertragungsvorgang endet, liefert der DMA-Controller DMAC Interrupts an die Mikroprozessoren CPU1 und CPU2 und er informiert sie über das Ende des Vorgangs.
- Bei diesem Ausführungsbeispiel ist der DMA-Controller DMAC zusätzlich mit dem oben angegebenen Register REG und der Funktion einer Decodierung der Informationsbits des Registers und einer Erstellung der Steuersignale für die externe Datenübertragungsschaltung einschließlich der Bustreiber versehen, wodurch eine Datenübertragung zwischen Mikrocomputersystemen im Mehrmikrocomputer-System, wie oben angegeben, erzielt werden kann.
- Fig. 5 zeigt ein Blockdiagramm eines Ausführungsbeispiels eines Einzelmikrocomputer-Systems, das den erfindungsgemäßen DMA-Controller verwendet. Der Mikrocomputer dieses Ausführungsbeispiels besteht grundsätzlich aus einem Mikroprozessor CPU, einer Hauptspeichereinheit MEM und einer Eingabe/Ausgabe-Einheit E/A. Diese Bestandteile sind über gemeinsame Busse wie einen Adreßbus CAB, einen Datenbus CDB und einen Steuerbus CCB miteinander verbunden.
- Bei einem derartigen Einzelmikrocomputer gemäß diesem Ausführungsbeispiel sind die Informationsbits B4 und B3 des in den DMA-Controller DMAC eingebauten Registers REG auf die logischen Werte "0" und "1" gesetzt. In diesem Fall ist kein Bustreiber zwischen dem gemeinsamen Bus und dem DMA-Controller DMAC erforderlich. Im allgemeinen sind jedoch Bustreiber manchmal aus demjenigen Grund erforderlich, daß der DMA-Controller DMAC und die Einheit E/A auf getrennten Platinen angebracht sind. In diesem Fall werden die Signale C1 und C2 als Bustreiber-Steuersignale verwendet. Bei einem Datenübertragungsvorgang spezifiziert der Mikroprozessor CPU nur das Informationsbit B0, das als gültige Information die Art der Übertragung anzeigt. So führt der DMA-Controller DMAC einen Datenübertragungsvorgang zwischen dem Hauptspeicher MEM und der Eingabe/Ausgabe-Einheit E/A aus, ähnlich der Datenübertragung zwischen dem Hauptspeicher MEM2 und der Eingabe/Ausgabe-Einheit E/A2 innerhalb des allgemeinen Mikrocomputersystems in Fig. 1.
- Funktionelle Wirkungen, wie sie durch die vorstehenden Ausführungsbeispiele erzielt werden, sind die folgenden:
- (1) Ein DMA-Controller ist zusätzlich mit der Funktion versehen, daß er Steuersignale für die Datenübertragung zwischen mindestens zwei Bussen entsprechend Informationsbits erstellen kann, die das Buslayout und den Übertragungsmodus eines Systems spezifizieren. Dadurch wird die Wirkung erzielt, daß dann, wenn dieser DMA-Controller für ein Mehrmikrocomputer-System verwendet wird, die Datenübertragung zwischen den Bussen, die dem spezifizierten Buslayout entsprechen, lediglich dadurch erzielt, daß bidirektionale Bustreiber angebracht werden, die durch die Datenübertragungs-Steuersignale gesteuert werden, die abhängig von der Spezifizierung des Buslayouts und des Übertragungsmodus erstellt werden.
- (2) Steuersignale für zwei Sätze bidirektionale Bustreiber werden als Datenübertragungs-Steuersignale erstellt. Dies führt zur Wirkung, daß ein DMA-Controller geschaffen werden kann, der dem Hochfunktions-2-Bus-Schema genügt und der durch Ändern seiner Informationsbits auch direkt auf ein vereinfachtes 2-Bus-Schema und ein Einzelbusschema angewendet werden kann.
- Vorstehend wurde die von den Erfindern getätigte Erfindung konkret in Verbindung mit Ausführungsbeispielen beschrieben. Selbstverständlich ist jedoch die Erfindung nicht auf die vorstehenden Ausführungsbeispiele beschränkt, sondern sie kann innerhalb des Schutzumfangs der Ansprüche auf verschiedene Weise modifiziert werden. Beispielsweise können von den Informationsbits, die das Buslayout und den Datenübertragungsmodus spezifizieren, diejenigen, die das Buslayout spezifizieren, gut mittels eines ROMs oder durch Ändern der Verdrahtung spezifiziert werden. Ferner kann eine Hilfsfunktion gut dadurch vergeben werden, daß Informationsbits hinzugefügt werden, die die Protokolle oder Breiten der Busse spezifizieren, wobei die Datenübertragung zwischen zwei Arten verschiedener Systeme mittels der Spezifizierung durch die Informationsbits erzielt wird. Die Erfindung kann in großem Umfang für Datenübertragungsvorrichtungen zwischen mehreren Mikrocomputersystemen verwendet werden.
Claims (6)
1. Direktspeicher-Zugriffssteuerung (DMAC) zum Steuern der
Datenübertragungsvorgänge innerhalb eines
Multi-Mikrocomputersystems mit wenigstens einem ersten (CPU 1, I/O 1, MEM 1,
SAB, SDB, SCB) und einem zweiten (CPU 2, I/O 2, MEM 2, CCB,
CDB, SCB) Mikrocomputersystem,
gekennzeichnet durch
ein Register (REG) zum Speichern von vom ersten (CPU 1,
I/O 1, MEM 1, SAB, SDB, SCB) oder zweiten (CPU 2, I/O 2, MEM
2, CCB, CDB, SCB) Mikrocomputersystem gelieferten
Steuerdaten, wobei die Steuerdaten die Datenübertragungsvorgänge
innerhalb des ersten oder zweiten Mikrocomputersystems und
zwischen dem ersten und zweiten Mikrocomputersystem bestimmen;
und
Generatormittel (DEC 1, DEC 2, DEC 3) zum Liefern von
auf den im Register gespeicherten Kontrolldaten basierenden
Kontrollsignalen an in dem Multi-Mikrocomputersystem
enthaltene Verbindungsmittel (T/R 1, T/R 2, T/R 3, T/R 4) zum
selektiven Verbinden des ersten und zweiten
Mikrocomputersystems in Reaktion auf die von den Generatormitteln
gelieferten Steuersignale,
wobei, wenn die Steuersignale die Datenübertragung
innerhalb des ersten oder zweiten Mikrocomputersystems
bestimmen, die Verbindungsmittel das erste und zweite
Mikrocomputersystem nicht verbinden, und
wobei, wenn die Steuersignale die Datenübertragung
zwischen dem ersten und zweiten Mikrocomputersystem bestimmen,
die Verbindungsmittel das erste und zweite
Mikrocomputersystem verbinden.
2. Direktspeicher-Zugriffssteuerung (DMAC) gemäß Anspruch
1, wobei die Verbindungsmittel (T/R 1, T/R 2, T/R 3, T/R 4)
erste Verbindungsmittel zum Verbinden eines Datenbusses des
ersten Mikrocomputersystems und eines Datenbusses des zweiten
Microcmputersystems und zweite Verbindungsmittel zum
Verbinden
eines Adreßbusses des ersten Mikrocomputersystems und
eines Adreßbusses des zweiten Mikrocomputersystems aufweisen,
wenn die Steuersignale die Datenübertragung zwischen den
ersten und zweiten Mikrocomputersystem bestimmen.
3. Direktspeicher-Zugriffssteuerung (DMAC) gemäß Anspruch
2, die weiter ein Daten-Eingabe/Ausgabe-Terminal, das mit dem
Datenbus des ersten Mikrocomputersystems über die ersten
Verbindungsmittel verbunden ist, und ein Adreß-Eingabe/Ausgabe-
Terminal, das mit dem Adreßbus des ersten
Mikrocomputersystems über die zweiten Verbindungsmittel verbunden ist,
aufweist.
4. Direktspeicher-Zugriffssteuerung gemäß Anspruch 2 oder
3, dadurch gekennzeichnet, daß die Verbindungsmittel (T/R 1,
T/R 2, T/R 3, T/R 4) weiter dritte Verbindungsmittel, die
zwischen den ersten Verbindungsmitteln und dem Datenbus des
zweiten Mikrocomputersystems angeordnet sind und vierte
Verbindungsmittel, die zwischen den zweiten Verbindungsmitteln
und dem Adreßbus des zweiten Mikrocomputersystems angeordnet
sind, aufweisen.
5. Direktspeicher-Zugriffssteuerung gemäß einem der
Ansprüche 1 bis 4, wobei die Verbindungsmittel (T/R 1, T/R 2, T/R
3, T/R 4) bidirektionale Bustreiber enthalten.
6. Direktspeicher-Zugriffssteuerung gemäß einem der
Ansprüche 1 bis 5, wobei die von den Generatormitteln (DEC 1, DEC
2, DEC 3) gelieferten Steuersignale aus einem Betriebssignal
zum Steuern des Betriebs der Verbindungsmittel (T/R 1, T/R 2,
T/R 3, T/R 4) und einen Richtungssignal zum Anzeigen der
Datenübertragungsrichtung zwischen dem ersten und zweiten
Mikrocomputersystem bestehen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62005977A JP2530829B2 (ja) | 1987-01-16 | 1987-01-16 | 直接メモリアクセス制御装置とマルチマイクロコンピュ―タシステム内におけるデ―タ転送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3855284D1 DE3855284D1 (de) | 1996-06-20 |
DE3855284T2 true DE3855284T2 (de) | 1996-12-05 |
Family
ID=11625898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3855284T Expired - Fee Related DE3855284T2 (de) | 1987-01-16 | 1988-01-08 | Direktspeicherzugriffssteuerung |
Country Status (5)
Country | Link |
---|---|
US (1) | US5019962A (de) |
EP (1) | EP0275048B1 (de) |
JP (1) | JP2530829B2 (de) |
KR (1) | KR950014184B1 (de) |
DE (1) | DE3855284T2 (de) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6478351A (en) * | 1987-09-19 | 1989-03-23 | Fujitsu Ltd | Dma controller |
JPH01229353A (ja) * | 1988-03-09 | 1989-09-13 | Fujitsu Ltd | Dmaコントローラ |
JP2504512B2 (ja) * | 1988-03-09 | 1996-06-05 | 富士通株式会社 | Dmaコントロ―ラ |
JP2628079B2 (ja) * | 1988-11-25 | 1997-07-09 | 三菱電機株式会社 | マルチプロセサシステムにおけるダイレクト・メモリ・アクセス制御装置 |
EP0454605A3 (en) * | 1990-04-25 | 1992-04-22 | International Business Machines Corporation | Bus request device in a direct memory access (dma) system |
US5359715A (en) * | 1991-09-16 | 1994-10-25 | Ncr Corporation | Architectures for computer systems having multiple processors, multiple system buses and multiple I/O buses interfaced via multiple ported interfaces |
US5283883A (en) * | 1991-10-17 | 1994-02-01 | Sun Microsystems, Inc. | Method and direct memory access controller for asynchronously reading/writing data from/to a memory with improved throughput |
US6487626B2 (en) * | 1992-09-29 | 2002-11-26 | Intel Corporaiton | Method and apparatus of bus interface for a processor |
US6378008B1 (en) * | 1998-11-25 | 2002-04-23 | Cypress Semiconductor Corporation | Output data path scheme in a memory device |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2546202A1 (de) * | 1975-10-15 | 1977-04-28 | Siemens Ag | Rechnersystem aus mehreren miteinander verbundenen und zusammenwirkenden einzelrechnern und verfahren zum betrieb des rechnersystems |
US4228496A (en) * | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
US4296466A (en) * | 1978-01-23 | 1981-10-20 | Data General Corporation | Data processing system including a separate input/output processor with micro-interrupt request apparatus |
JPS5578324A (en) * | 1978-12-11 | 1980-06-12 | Toshiba Corp | Direct memory access system |
JPS5840214B2 (ja) * | 1979-06-26 | 1983-09-03 | 株式会社東芝 | 計算機システム |
US4479179A (en) * | 1979-07-30 | 1984-10-23 | International Business Machines Corporation | Synchronous cycle steal mechanism for transferring data between a processor storage unit and a separate data handling unit |
US4428044A (en) * | 1979-09-20 | 1984-01-24 | Bell Telephone Laboratories, Incorporated | Peripheral unit controller |
FR2477809B1 (fr) * | 1980-03-10 | 1987-08-21 | Jeumont Schneider | Systeme de transmission rapide de messages entre calculateurs |
EP0057756B1 (de) * | 1981-02-11 | 1985-02-20 | Siemens Aktiengesellschaft | Anordnung zum Datenaustausch in parallel arbeitenden Multi-Mikrorechnersystemen |
US4412285A (en) * | 1981-04-01 | 1983-10-25 | Teradata Corporation | Multiprocessor intercommunication system and method |
US4543627A (en) * | 1981-12-14 | 1985-09-24 | At&T Bell Laboratories | Internal communication arrangement for a multiprocessor system |
US4639860A (en) * | 1982-05-12 | 1987-01-27 | Honeywell Information Systems Inc. | Wrap-around logic for interprocessor communications |
US4481578A (en) * | 1982-05-21 | 1984-11-06 | Pitney Bowes Inc. | Direct memory access data transfer system for use with plural processors |
US4485438A (en) * | 1982-06-28 | 1984-11-27 | Myrmo Erik R | High transfer rate between multi-processor units |
US4608631A (en) * | 1982-09-03 | 1986-08-26 | Sequoia Systems, Inc. | Modular computer system |
US4577273A (en) * | 1983-06-06 | 1986-03-18 | Sperry Corporation | Multiple microcomputer system for digital computers |
JPS60123958A (ja) * | 1983-12-07 | 1985-07-02 | Yaskawa Electric Mfg Co Ltd | 乗り込みメモリシステム |
JPS60136853A (ja) * | 1983-12-26 | 1985-07-20 | Fujitsu Ltd | デ−タ転送方式 |
US4787041A (en) * | 1985-08-01 | 1988-11-22 | Honeywell | Data control system for digital automatic flight control system channel with plural dissimilar data processing |
US4831523A (en) * | 1986-10-31 | 1989-05-16 | Bull Hn Information Systems Inc. | Multiple DMA controller chip sequencer |
US4866664A (en) * | 1987-03-09 | 1989-09-12 | Unisys Corporation | Intercomputer communication control apparatus & method |
-
1987
- 1987-01-16 JP JP62005977A patent/JP2530829B2/ja not_active Expired - Fee Related
-
1988
- 1988-01-04 KR KR1019880000002A patent/KR950014184B1/ko not_active IP Right Cessation
- 1988-01-08 DE DE3855284T patent/DE3855284T2/de not_active Expired - Fee Related
- 1988-01-08 EP EP88100190A patent/EP0275048B1/de not_active Expired - Lifetime
- 1988-01-15 US US07/144,523 patent/US5019962A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR880009306A (ko) | 1988-09-14 |
EP0275048A2 (de) | 1988-07-20 |
JPS63175962A (ja) | 1988-07-20 |
DE3855284D1 (de) | 1996-06-20 |
US5019962A (en) | 1991-05-28 |
EP0275048B1 (de) | 1996-05-15 |
KR950014184B1 (ko) | 1995-11-22 |
EP0275048A3 (en) | 1990-12-05 |
JP2530829B2 (ja) | 1996-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68927626T2 (de) | Hierarchisches Mehrfachbus-Computersystem | |
DE69519816T2 (de) | Anordnung mit Duplikat des Cache-Etikettenspeichers | |
DE3852433T2 (de) | Funktionsverteiltes Steuergerät. | |
DE3689226T2 (de) | Multiprozessorsystem mit multihierarchischen Ebenen. | |
DE69837377T2 (de) | Datenübertragungssystem und verfahren | |
DE2760322C2 (de) | ||
DE69209538T2 (de) | Automatische Konfiguration einer Einheit für koppelbare Rechner | |
DE3586260T2 (de) | Mikroprozessorsystem. | |
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
EP0108969B1 (de) | DMA-Steuereinrichtung zur Übertragung von Daten zwischen einem Datensender und einem Datenempfänger | |
EP0006164B1 (de) | Multiprozessorsystem mit gemeinsam benutzbaren Speichern | |
DE4035837A1 (de) | Bus-hauptschnittstellenschaltung mit transparenter unterbrechung einer datenuebertragungsoperation | |
DE69433130T2 (de) | Rechnersystem mit verändertem lokalen Datenbus | |
DE3146356A1 (de) | Datenverarbeitungssystem | |
DE2744531A1 (de) | Elektronische datenverarbeitungsanlage | |
DE69726302T2 (de) | Busschnittstellensteuerungsschaltung | |
DE69423077T2 (de) | Steuerungsvorrichtungen für nichtflüchtige Speicheranordnungen | |
DE69122142T2 (de) | Steuerungsanlage für ein Mehrprozessorsystem | |
DE3855284T2 (de) | Direktspeicherzugriffssteuerung | |
DE19614237C1 (de) | Kommunikationssystem mit einer Meisterstation und mindestens einer Sklavenstation | |
DE19614238C1 (de) | Kommunikationssystem mit einer Meisterstation und mindestens einer Sklavenstation | |
DE2533737A1 (de) | Datenprozessor | |
DE102006009034B3 (de) | Verfahren zum Betreiben eines Bussystems sowie Halbleiter-Bauelement, insbesondere Mikroprozessor- bzw. Mikrocontroller | |
DE69119188T2 (de) | Arbeitsplatzschnittstelle geeignet für Stossbetrieb | |
DE68919638T2 (de) | Rechner mit unterbrechungsgesteuerter Taktgeschwindigkeit und Verfahren für seinen Betrieb. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |