-
Hintergrund der Erfindung
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf eine Datenübertragungs-Verarbeitungsvorrichtung
und ein Datenübertragungs-Verarbeitungsverfahren.
Insbesondere bezieht sich die vorliegende Erfindung auf eine Datenübertragungs-Verarbeitungsvorrichtung
(zum Beispiel eine Bus-Brücke)
und ein Datenübertragungs-Verarbeitungsverfahren
zum Durchführen
der Datenübertragung
zwischen einer Vielzahl von System-Bussen, die mit verschiedenen
Protokollen und Frequenzen arbeiten, durch die Übertragung mit direktem Speicherzugriff
(DMA).
-
Beschreibung des Hintergrunds
der Technik
-
12 zeigt
ein Beispiel eines Aufbaus einer konventionellen Datenübertragungs-Verarbeitungsvorrichtung
auf der Grundlage der DMA-Übertragung.
In 12 ist eine konventionelle Datenübertragungs-Verarbeitungsvorrichtung 101 mit
einem Übertragungsanforderungs-Verarbeitungsabschnitt 110, einem
ersten Controller für
den direkten Speicherzugriff (DMAC) 112, einem zweiten
DMAC 113, einer ersten Arbitrierungsvorrichtung 114,
einer zweiten Arbitrierungsvorrichtung 115, einem ersten
Daten-Puffer 116, einem zweiten Daten-Puffer 117,
einem ersten Selektor 118 und einem zweiten Selektor 119 ausgestattet.
Die Datenübertragungs-Verarbeitungsvorrichtung 101 ist
zwischen einem ersten System-Bus 106 und einem zweiten
System-Bus 107 eingebunden und führt den Datenübertragungsprozess
zwischen den beiden System-Bussen durch.
-
Wenn
eine interne oder eine externe Datenübertragung erforderlich wird,
gibt der Übertragungsanforderungs-Verarbeitungsabschnitt 110 eine DMA-Übertragungsanforderung
an den ersten DMAC 112 und/oder an den zweiten DMAC 113.
Der erste DMAC 112 steuert entsprechend der DMA-Übertragungsanforderung
den ersten Daten-Puffer 116 und
die erste Arbitrierungsvorrichtung 114. Der zweite DMAC 113 steuert
entsprechend der DMA-Übertragungsanforderung
den zweiten Daten-Puffer 117 und die zweite Arbitrierungsvorrichtung 115.
Die erste Arbitrierungsvorrichtung 114 entscheidet über einen
Auswahlvorgang des ersten Selektors 118 auf der Grundlage
der Steuerung durch den ersten DMAC 112 und den zweiten
DMAC 113. Die Arbitrierungsvorrichtung 115 entscheidet über einen
Auswahlvorgang des zweiten Selektors 119 auf der Grundlage
der Steuerung durch den ersten DMAC 112 und den zweiten
DMAC 113. Der erste Selektor 118 greift auf den
ersten System-Bus 106 zu und wählt zwischen dem ersten Daten-Puffer 116 und dem
zweiten Daten-Puffer 117 entsprechend der Entscheidung
der ersten Arbitrierungsvorrichtung 114. Der zweite Selektor 119 greift
auf den zweiten System-Bus 107 zu und wählt zwischen dem ersten Daten-Puffer 116 und
dem zweiten Daten-Puffer 117 entsprechend der Entscheidung
der zweiten Arbitrierungsvorrichtung 115. Der erste Daten-Puffer 116 und
der zweite Daten-Puffer 117 sind Speicherbereiche, in die
die Daten, die übertragen
werden, vorübergehend
geschrieben werden.
-
In
einer Datenübertragungs-Verarbeitungsvorrichtung,
die eine Vielzahl von DMACs besitzt, werden die Daten-Puffer 116 und 117 zum
Puffern des Unterschieds zwischen den Frequenzen und den Protokollen
der System-Busse im Allgemeinen ausschließlich den DMACs 112 bzw. 113 zugewiesen, wie
es in 12 gezeigt ist. Das Folgende
stellt ein Beispiel dar, in dem mit einer in dieser Weise aufgebauten
Datenübertragungs-Verarbeitungsvorrichtung 101 Daten
aus dem ersten System-Bus 106 in den zweiten System-Bus 107 unter
Verwendung des ersten DMAC 112 übertragen werden. In diesem
Fall sind die folgenden beiden Verfahren zur Datenübertragung
denkbar.
-
Im
ersten Verfahren zur Datenübertragung erhält der erste
DMAC 112 das Recht, auf den ersten System-Bus 106 zuzugreifen
und er speichert einen festgelegten Umfang von Daten, der aus dem
ersten System-Bus 106 eingeht, im ersten Daten-Puffer 116. Nachdem
die Daten gespeichert sind, erhält
der erste DMAC 112 dann das Recht, auf den zweiten System-Bus 107 zuzugreifen,
und es werden die Daten, die im ersten Daten-Puffer 116 gespeichert sind,
an den zweiten System-Bus 107 ausgegeben.
-
Im
zweiten Verfahren zur Datenübertragung erhält der erste
DMAC 112 das Recht, auf den ersten System-Bus 106 zuzugreifen
und er speichert einen festgelegten Umfang von Daten, der aus dem
ersten System-Bus 106 eingeht, der Reihe nach im ersten Daten-Puffer 116.
Hierbei erhält
der erste DMAC 112 dann das Recht, auf den zweiten System-Bus 107 zuzugreifen,
während
die Daten im ersten Daten-Puffer 116 gespeichert werden,
und es werden die Daten, die im ersten Daten-Puffer 116 gespeichert
sind, der Reihe nach an den zweiten System-Bus 107 ausgegeben.
-
Jedoch
können
im Fall des ersten Verfahrens zur Datenübertragung die Daten nicht
erneut im ersten Daten-Puffer 116 gespeichert werden, bis
alle im ersten Daten-Puffer 116 gespeicherten Daten vollständig an
den zweiten System-Bus 107 ausgegeben worden sind. Somit
können
die System-Busse nicht wirksam eingesetzt werden, und deshalb mangelt
es diesem Verfahren an Umsetzbarkeit, wenn zum Beispiel große Datenmengen übertragen
werden.
-
Darüber hinaus
behält
der einzelne DMAC 112 im Fall des zweiten Verfahrens zur
Datenübertragung
fortgesetzt das Recht sowohl auf den ersten System-Bus 106 als
auch auf den zweiten System-Bus 107 über eine lange Zeitdauer zuzugreifen, und
es wird selbst in einem Zeitraum, in dem tatsächlich keine Datenübertragung
durchgeführt
wird, keiner der beiden System-Busse freigegeben, so dass andere
Prozesse beeinträchtigt
werden. Es ist notwendig, das Zugriffsrecht jedes Mal zwischen einer Phase,
während
der eine Datenübertragung
durchgeführt
wird, und einer Phase, während
der keine Datenübertragung
durchgeführt
wird, neu zu bekommen oder freizugeben, um somit diesen Effekt zu
vermeiden, es besteht jedoch auch das Problem, dass eine Vorrichtung,
wenn sie ein Zugriffsrecht bekommen will, warten muss, bis der System-Bus
freigegeben ist, wenn eine andere Vorrichtung ihn gerade verwendet.
Siehe dazu zum Beispiel bei „Hitachi
SuperHTM RISC engine SH7751 series hardware
manual" von Hitachi,
Ltd. (http://www.renesas.com/avs/resource/japan/jpn/pdf/mpumcu/j602215_sh7751.pdf).
-
Wie
oben beschrieben, wird in einer konventionellen Datenübertragungs-Verarbeitungsvorrichtung
auf der Grundlage der DMA-Übertragung
die Datenübertragung
zwischen System-Bussen, die unterschiedliche Frequenzen oder unterschiedlich
Protokolle aufweisen, nicht effektiv durchgeführt, und die System-Busse werden
zum Beispiel nicht effektiv eingesetzt, wenn zum Beispiel eine große Datenmenge übertragen
werden.
-
US-A-5 781 799 beschreibt
ein Verfahren und einen Aufbau zum Durchführen von direktem Speicherzugriff
in einem Computersystem mit einem mehrkanaligen direkten Speicherzugriff
(DMA), der mit einem Host-Computer, der einen Hauptspeicher und
einen Prozessor, der Software ablaufen lässt, besitzt, mit einem System-Schnittstellen-Bus,
der den Host-Computer und den Hauptspeicher verbindet, und mit zahlreichen
DMA-Controllern
auf getrennten Chips, die mit dem Schnittstellen-Bus des Systems
verbunden sind, ausgestattet ist. Diese zahlreichen DMA-Controller
versorgen das System mit mehrfachen Eingangs-/Ausgangs-Kanälen (I/O), Ein
gemeinsamer Pool an Puffer mit einer Vielzahl von Puffern zum Puffern
von Daten, die vom oder zum Host-Computer übertragen werden, ist für jeden der
zahlreichen Kanäle
ansprechbar. Eine Status-Warteschlange
ist ebenso vorgesehen, wobei jeder Eintrag in der Status-Warteschlange
kennzeichnet, ob ein dazugehöriger
Puffer aus dem gemeinsamen Pool an Puffern ein freier Puffer ist,
der für
die Verwendung durch einen der DMA-Kanäle in einer DMA-Transaktion zur Verfügung steht.
Die Status-Warteschlange wird nach einem Eintrag in der Status-Warteschlange
durchsucht, der kennzeichnet, ob sein dazugehöriger Puffer ein freier Puffer
ist, wenn eine DMA-Transaktion über
einen der DMA-Kanäle
erfolgen soll. Wird ein freier Puffer gefunden, werden der Eintrag
in der Status-Warteschlange und der freie Puffer vom DMA-Kanal angefordert.
Die Startadresse des freien Puffers wird dann ermittelt und die
Daten werden in dem freien Puffer gepuffert.
-
US-A-6 067 595 beschreibt
eine intelligente Datenbus-Schnittstelle, die einen Speicher mit
Triple-Port nutzt, der drei unabhängige Daten-Ports besitzt,
die einen gleichzeitigen Zugriff auf die im Speicher abgelegten
Daten durch zwei bidirektionale Daten-Busse und durch einen Datenprozessor
bieten. Die zwei Daten-Busse und der Prozessor sind an getrennte
Daten-Ports angeschlossen und jeder ist in der Lage, mit der jeweils
maximalen Datenrate unabhängig
voneinander auf die Daten in dem Speicher mit Triple-Port zuzugreifen.
Durch den Einsatz des Speichers mit Triple-Port ist es nicht nötig, Daten
zu kopieren oder zu verschieben, um für einen Zugriff auf die Daten
durch den Prozessor oder durch die Datenbusse zu sorgen. Die intelligente
Datenbus-Schnittstelle ist besonders geeignet für die Behandlung der Verschlüsselung/Entschlüsselung,
des Netzwerkprotokolls und der Überbrückung von PCI/SCI
bei voller Geschwindigkeit auf jedem der Ports, ohne dadurch einen
Host-Prozessor zu belasten.
-
Übersicht über die Erfindung
-
Deshalb
ist es ein Ziel der vorliegenden Erfindung, eine Datenübertragungs-Verarbeitungsvorrichtung
und ein Datenübertragungs-Verarbeitungsverfahren
vorzulegen, in der in der Datenübertragung mit
einer DMA-Übertragung
die Effizienz der Datenübertragung
und die Effizienz beim Einsatz der System-Busse verbessert sind.
-
Nach
der vorliegenden Erfindung werden die voranstehenden Ziele erreicht,
so wie sie in den Hauptansprüchen
definiert sind. Die bevorzugten Ausführungsformen sind in den Unteransprüchen definiert.
-
Die
Ausführungsformen
1, 2 und 5 (1 bis 5 und 9 bis 10)
werden für
die Erklärung
des Hintergrunds verwendet, um das Verstehen der Erfindung zu erleichtern.
-
Wie
oben beschrieben, kann nach der vorliegenden Erfindung die Anzahl
der Daten-Puffer,
die durch die DMACs zum Übertragen
von Daten verwendet werden, aus einem oder mehreren Daten-Puffern
entsprechend der Art von Daten, die übertragen werden sollen, gewählt werden.
Auf diese Weise wird die Wirkung erzielt, dass die Effizienz der Datenübertragung
und die Effizienz beim Einsatz der System-Busse verbessert werden.
Insbesondere ist es möglich,
die Betriebslast des Übertragungsanforderungs-Verarbeitungsabschnitts
zu verringern, wenn ein Status-Festlegeabschnitt zum Anzeigen des
Betriebszustands der DMACs eingesetzt wird. Wenn ein Daten-Puffer-Arbitrierungs-Steuerabschnitt zum
Entscheiden über
das Recht, die ungenutzten Daten-Puffer zu verwenden, eingesetzt
wird, ist es darüber
hinaus möglich,
die Datenübertragung sofort
zu starten, indem ein freigegebener Puffer verwendet wird, ohne
zu warten, bis die Datenübertragung
durch den anderen DMAC, der die Daten-Puffer verwendet, abgeschlossen
ist. Da das Recht, die Daten-Puffer zu verwenden, geregelt wird
für den
Fall, dass von der Vorrichtung, mit der die Datenübertragung
durchgeführt
wird, bestimmte Antworten (Trennungsantwort) häufiger als eine festgelegte
Anzahl von Häufigkeiten
empfangen werden, wenn die Effizienz der Datenübertragung mittendrin schlecht
wird, ist es darüber
hinaus möglich,
die Puffer-Einrichtung dynamisch zu verändern und eine andere Datenübertragung
parallel durchzuführen.
Hinsichtlich des Mehrfach-Port-Daten-Puffers wird darüber hinaus
die Bereichsaufteilung entsprechend der Datenmenge geändert, deren Übertragung
angefordert wird. Ungeachtet des Zustands, in dem die Daten-Puffer
von dem anderen DMAC verwendet werden, ist es auf diese Weise möglich, die
Datenübertragung
mit einem optimalen Aufbau der Daten-Puffer für die angeforderte Datenübertragung
durchzuführen.
-
Diese
und andere Ziele, Eigenschaften, Aspekte und Vorzüge der vorliegenden
Erfindung werden aus der folgenden detaillierten Beschreibung klarer
ersichtlich, wenn sie in Verbindung mit den begleitenden Zeichnungen
vorgenommen wird.
-
Kurze Beschreibung der Zeichnungen
-
1 ist
ein Blockdiagramm, das den Aufbau einer Datenübertragungs-Verarbeitungsvorrichtung nach einer
ersten Ausführungsform
darstellt.
-
2 ist
ein Flussdiagramm, das den Ablauf eines Datenübertragungs-Verarbeitungsverfahrens nach einer ersten
Ausführungsform
darstellt.
-
3 ist
ein Schaubild, das ein Beispiel einer Datenübertragung zeigt, die durch
einen DMAC in einem Mehrfach-Puffer-Modus ausgeführt wird.
-
4 ist
ein Blockdiagramm, das den Aufbau einer Datenübertragungs-Verarbeitungsvorrichtung nach einer
zweiten Ausführungsform
darstellt.
-
5 ist
ein Flussdiagramm, das den Ablauf eines Datenübertragungs-Verarbeitungsverfahrens nach einer zweiten
Ausführungsform
darstellt.
-
6 ist
ein Blockdiagramm, das den Aufbau einer Datenübertragungs-Verarbeitungsvorrichtung nach einer
dritten Ausführungsform
der vorliegenden Erfindung darstellt.
-
7 ist
ein Flussdiagramm, das den Ablauf eines Datenübertragungs-Verarbeitungsverfahrens nach einer dritten
Ausführungsform
der vorliegenden Erfindung darstellt.
-
8 ist
ein Blockdiagramm, das den Aufbau einer Datenübertragungs-Verarbeitungsvorrichtung nach einer
vierten Ausführungsform
der vorliegenden Erfindung darstellt.
-
9 ist
ein Blockdiagramm, das den Aufbau einer Datenübertragungs-Verarbeitungsvorrichtung nach einer
fünften
Ausführungsform
darstellt.
-
10 ist
ein Flussdiagramm, das den Ablauf eines Datenübertragungs-Verarbeitungsverfahrens nach einer fünften Ausführungsform
darstellt.
-
11A ist ein Schaubild, das ein Beispiel für die Daten
in einer Verweistabelle eines Pufferbereichs zeigt.
-
11B ist ein Schaubild, das ein Beispiel für die Zuweisung
eines Daten-Puffers zeigt.
-
12 ist
ein Blockdiagramm, das den Aufbau einer konventionellen Datenübertragungs-Verarbeitungsvorrichtung
darstellt.
-
Beschreibung der bevorzugten
Ausführungsformen
-
Die
Datenübertragungs-Verarbeitungsvorrichtung
der vorliegenden Erfindung kann eine Datenübertragung zwischen einer Vielzahl
von System-Bussen unter verschiedenen Protokollen oder Frequenzen
durchführen.
In den folgenden Ausführungsformen
wird die Datenübertragungs-Verarbeitungsvorrichtung
der vorliegenden Erfindung als Beispiel beschrieben unter der Annahme
des Falls, in dem die Datenübertragung
zwischen zwei System-Bussen durchgeführt wird. In den Ausführungsformen
wird ein Beispiel beschrieben, in dem beide System-Busse außerhalb
der Datenübertragungs-Verarbeitungsvorrichtung
eingerichtet sind. Wenn die Datenübertragungs-Verarbeitungsvorrichtung jedoch ein
Abschlussgerät
ist, ist einer der beiden System-Busse
innerhalb der Datenübertragungs-Verarbeitungsvorrichtung
eingerichtet.
-
Erste Ausführungsform
-
1 ist
ein Blockdiagramm, das den Aufbau einer Datenübertragungs-Verarbeitungsvorrichtung 1 nach
einer ersten Ausführungsform
darstellt. In 1 ist die Datenübertragungs-Verarbeitungsvorrichtung 1 nach
der ersten Ausführungsform
mit einem Übertragungsanforderungs-Verarbeitungsabschnitt 10,
einem Übertragungsmodus-Einstellungsabschnitt 11,
einem ersten DMAC 12, einem zweiten DMAC 13, einer
ersten Arbitrierungsvorrichtung 14, einer zweiten Arbitrierungsvorrichtung 15,
einem ersten Daten-Puffer 16, einem zweiten Daten-Puffer 17, einem
ersten Selektor 18 und einem zweiten Selektor 19 ausgestattet.
Der Übertragungs-Verarbeitungsabschnitt 10 ist
mit einem ersten System-Bus 6 und einem zweiten System-Bus 7 verbunden
und führt
einen Datenübertragungsprozess
zwischen den beiden System-Bussen durch. Der Übertragungsanforderungs-Verarbeitungsabschnitt 10 ist üblicherweise aus
zum Beispiel einem Digitalsignalprozessor (DSP), einer zentralen
Prozessoreinheit (CPU) und einem Programmspeicher (ROM) zusammengesetzt, die
Datenübertragungs-Verarbeitungsvorrichtung
der vorliegenden Ausführungsform
(und jene der folgenden Ausführungsformen)
ist jedoch nicht auf diesen Aufbau beschränkt. So kann zum Beispiel lediglich die
CPU außerhalb
der Datenübertragungs-Verarbeitungsvorrichtung
angeordnet werden, oder der Übertragungsanforderungs-Verarbeitungsabschnitt 10 kann
außerhalb
der Datenübertragungs-Verarbeitungsvorrichtung
angeordnet werden.
-
Zuerst
wird jede Komponente der Datenübertragungs-Verarbeitungsvorrichtung 1 umrissen.
-
Wenn
eine interne oder externe Datenübertragung
erforderlich wird, übergibt
der Übertragungsanforderungs-Verarbeitungsabschnitt 10 eine DMA-Übertragungsanforderung an den
ersten DMAC 12 und/oder den zweiten DMAC 13 und
stellt einen festgelegten Übertragungsmodus
für den Übertragungsmodus-Einstellungsabschnitt 11 ein. Entsprechend
der Anweisung aus dem Übertragungsanforderungs-Verarbeitungsabschnitt 10 stellt der Übertragungsmodus-Einstellungsabschnitt 11 einen Übertragungsmodus
ein, der kennzeichnet, ob sowohl der erste Daten-Puffer 16 als
auch der zweite Daten-Puffer 17 oder nur einer von ihnen
eingesetzt wird. Genauer gesagt, fungiert der Übertragungsmodus-Einstellungsabschnitt 11 als
ein Puffer-Zuweisungsabschnitt.
Für diesen Übertragungsmodus-Einstellungsabschnitt 11 wird
zum Beispiel ein Register verwendet. Der erste DMAC 12 steuert
in Übereinstimmung
mit der DMA-Übertragungsanforderung und
dem vom Übertragungsmodus-Einstellungsabschnitt 11 eingestellten Übertragungsmodus
die erste Arbitrierungsvorrichtung 14, den ersten Daten-Puffer 16 und
den zweiten Daten-Puffer 17. Der zweite DMAC 13 steuert
in Übereinstimmung
mit der DMA-Übertragungsanforderung
und dem vom Übertragungsmodus-Einstellungsabschnitt 11 eingestellten Übertragungsmodus
die zweite Arbitrierungsvorrichtung 15, den ersten Daten-Puffer 16 und
den zweiten Daten-Puffer 17. Die erste Arbitrierungsvorrichtung 14 entscheidet
auf der Grundlage der Steuerung durch den ersten DMAC 12 und
den zweiten DMAC 13 über
einen Auswahlvorgang des ersten Selektors 18. Die zweite
Arbitrierungsvorrichtung 15 entscheidet auf der Grundlage
der Steuerung durch den ersten DMAC 12 und den zweiten
DMAC 13 über einen
Auswahlvorgang des zweiten Selektors 19. Der erste Selektor 18 greift
auf den ersten System-Bus 6 zu und wählt entsprechend der Entscheidung
der ersten Arbitrierungsvorrichtung 14 zwischen dem ersten
Daten-Puffer 16 und dem zweiten Daten-Puffer 17.
Der zweite Selektor 19 greift auf den zweiten System-Bus 7 zu
und wählt
entsprechend der Entscheidung der zweiten Arbitrierungsvorrichtung 15 zwischen
dem ersten Daten-Puffer 16 und dem zweiten Daten-Puffer 17.
Der erste Daten-Puffer 16 und der zweite Daten-Puffer 17 sind
Speicherbereiche, in die Daten, die übertragen wenden, vorübergehend
eingeschrieben werden.
-
Als
Nächstes
wird ein Verarbeitungsvorgang der in dieser Weise aufgebauten Datenübertragungs-Verarbeitungsvorrichtung 1 mit
einem weiterführenden
Bezug auf die 2 und 3 beschrieben. 2 ist
ein Flussdiagramm, das den Ablauf eines Datenübertragungs-Verarbeitungsverfahrens darstellt,
das mit der Datenübertragungs-Verarbeitungsvorrichtung 1 nach
der ersten Ausführungsform ausgeführt wird.
Der Pro zess in 2 wird gestartet, wenn eine
Datenübertragung
im Übertragungsanforderungs-Verarbeitungsabschnitt 10 erneut
erforderlich wird.
-
Zuerst
ermittelt der Übertragungsanforderungs-Verarbeitungsabschnitt 10,
ob es einen ungenutzten DMAC gibt, der keine Datenübertragung durchführt, oder
nicht, das heißt,
ob es einen DMAC gibt, der nicht gestartet ist (Schritt S201). Wenn
es einen ungenutzten DMAC gibt, bestätigt der Übertragungsanforderungs-Verarbeitungsabschnitt 10 die Art
der Daten, die erneut übertragen
werden sollen oder die bereits übertragen
werden (Schritt S202). Auf der Grundlage dieser Bestätigung ermittelt
dann der Übertragungsanforderungs-Verarbeitungsabschnitt 10,
ob eine parallele Datenübertragung
erforderlich ist oder nicht (Schritt S203). Wenn die Daten, die übertragen
werden sollen, zwei Arten von Daten wie etwa Bildschirmanzeigedaten
für die
Anzeige eines Standbildes und Daten für Berechnungsprozesse enthalten,
wird zum Beispiel festgelegt, dass eine parallele Datenübertragung
erforderlich ist. Wenn auf der anderen Seite die Daten, die übertragen
werden sollen, eine Art von Daten wie etwa schnelle und großvolumige
Daten für
die Anzeige bewegter Bilder enthalten, wird festgelegt, dass keine
parallele Datenübertragung
erforderlich ist.
-
Wenn
festgestellt wird, dass eine parallele Datenübertragung erforderlich ist,
startet der Übertragungsanforderungs-Verarbeitungsabschnitt 10 den
unbenützten
DMAC, der in Schritt S201 ermittelt worden ist, und stellt den Übertragungsmodus
zum jeweiligen Zuweisen des ersten Daten-Puffers 16 zum
ersten DMAC 12 und des zweiten Daten-Puffers 17 zum zweiten DMAC 13 (Einzel-Puffer-Modus)
im Übertragungsmodus-Einstellungsabschnitt 11 ein (Schritt
S204). Wenn auf der anderen Seite festgestellt wird, dass keine
parallele Datenübertragung
erforderlich ist, stellt der Übertragungsanforderungs-Verarbeitungsabschnitt 10 den Übertragungsmodus
zum Zuweisen sowohl des ersten Daten-Puffers 16 als auch
des zweiten Daten-Puffers 17 zum ersten DMAC 12 oder
zum zweiten DMAC 13, was zu diesem Zeitpunkt gestartet
worden ist, (Mehrfach-Puffer-Modus)
im Übertragungsmodus-Einstellungsabschnitt 11 ein
(Schritt S205). Danach übergibt der Übertragungsanforderungs-Verarbeitungsabschnitt 10 eine
DMA-Übertragungsanforderung
an den DMAC, der gestartet worden ist (Schritt S206).
-
Der
erste DMAC 12 und/oder der zweite DMAC 13, der
die DMA-Übertragungsanforderung empfangen
hat, führt
die Datenübertragung
entsprechend dem Übertragungsmodus,
der durch den Übertragungsmodus-Einstellungsabschnitt 11 eingestellt
worden ist, unter Verwendung des über den Übertragungsmodus angewiese nen
Daten-Puffers durch (Schritt S207). Es sollte beachtet werden, dass dieser
Prozess beendet wird, wenn es in Schritt S201 keinen ungenutzten
DMAC gibt, da die Datenübertragungsanforderung
nicht erfüllt
werden kann.
-
3 ist
ein Schaubild, das ein Beispiel einer Datenübertragung zeigt, die durch
den ersten DMAC 12 in einem Mehrfach-Puffer-Modus ausgeführt wird.
Wie in 3 gezeigt wird, können in diesem Mehrfach-Puffer-Modus
vom selben Moment an, in dem die Übertragung von Daten, die im
ersten Daten-Puffer 16 gespeichert sind, gestartet wird,
die nachfolgenden Daten unter Verwendung des zweiten Daten-Puffers 17 gespeichert
werden. Die Übertragung
von Daten im zweiten Daten-Puffer 17 wird gestartet, wenn
die Übertragung
von Daten im ersten Daten-Puffer 16 abgeschlossen ist.
Umgekehrt können
dann vom selben Moment an, in dem die Übertragung von Daten im zweiten
Daten-Puffer 17 gestartet
wird, die nachfolgenden Daten unter Verwendung des ersten Daten-Puffers 16 gespeichert
werden. In der Folge wird dieser Prozess wiederholt durchgeführt, bis
die Übertragung
aller Daten abgeschlossen ist. In diesem Mehrfach-Puffer-Modus kann die Datenübertragung
mit einer höheren
Geschwindigkeit als im Einzel-Puffer-Modus
durchgeführt
werden.
-
Wie
oben beschrieben, kann in der Datenübertragungs-Verarbeitungsvorrichtung
und dem Verfahren nach der ersten Ausführungsform die Zahl der Daten-Puffer,
die von den DMACs zur Übertragung von
Daten verwendet werden, entsprechend der Art der Daten, die zu übertragen
sind, zwischen einem einzelnen und mehreren Daten-Puffern hin und
her geschaltet werden. Daher kann die Datenübertragung, die vom System
angefordert wird, wie etwa eine parallele Übertragung von zwei unterschiedlichen
Datenarten oder eine Übertragung
bei hoher Geschwindigkeit für
große
Datenvolumina, in geeigneter Weise durchgeführt werden. Auf diese Weise kann
die Effizienz der Datenübertragung
und die Effizienz der Nutzung von System-Bussen verbessert werden.
-
Zweite Ausführungsform
-
4 ist
ein Blockdiagramm, das den Aufbau einer Datenübertragungs-Verarbeitungsvorrichtung 2 nach
einer zweiten Ausführungsform
darstellt. In 4 ist die einer Datenübertragungs-Verarbeitungsvorrichtung 2 nach
der zweiten Ausführungsform
mit einem Übertragungsanforderungs-Verarbeitungsabschnitt 20,
einem Zustands-Einstellungsabschnitt 21,
einem ersten DMAC 22, einem zweiten DMAC 23, einer
ersten Arbitrierungsvorrichtung 14, einer zweiten Arbitrierungsvorrichtung 15,
einem ersten Da ten-Puffer 16, einem zweiten Daten-Puffer 17, einem
ersten Selektor 18 und einem zweiten Selektor 19 ausgestattet.
Wie in 4 gezeigt wird, unterscheidet sich die Datenübertragungs-Verarbeitungsvorrichtung 2 nach
der zweiten Ausführungsform vom
Aufbau der Datenübertragungs
Verarbeitungsvorrichtung 1 nach der ersten Ausführungsform
hinsichtlich des Übertragungsanforderungs-Verarbeitungsabschnitts 20,
dem Zustands-Einstellungsabschnitt 21, des DMAC 22 und
des zweiten DMAC 23. Im Folgenden wird die Datenübertragungs-Verarbeitungsvorrichtung 2 nach
der zweiten Ausführungsform
mit dem Schwerpunkt auf diesen abweichenden Komponenten beschrieben.
-
Wenn
eine interne oder externe Datenübertragung
erforderlich wird, übergibt
der Übertragungsanforderungs-Verarbeitungsabschnitt 20 eine DMA-Übertragungsanforderung an den
ersten DMAC 22 und/oder den zweiten DMAC 23. Der
Zustands-Einstellungsabschnitt 21 stellt einen Betriebszustand
für den
ersten DMAC 22 und den zweiten DMAC 23 je nachdem,
ob eine Datenübertragung durchgeführt wird
oder nicht, und je nachdem, welcher Daten-Puffer bei der Durchführung der
Datenübertragung
verwendet wird, ein. Genauer gesagt, fungiert der Zustands-Einstellungsabschnitt 21 als ein
Puffer-Zuweisungsabschnitt. Für
diesen Zustands-Einstellungsabschnitt 21 wird
zum Beispiel ein Register verwendet. Der erste DMAC 22 steuert in Übereinstimmung
mit der DMA-Übertragungsanforderung
und dem vom Zustands-Einstellungsabschnitt 21 eingestellten
Betriebszustand die erste Arbitrierungsvorrichtung 14,
den ersten Daten-Puffer 16 und den zweiten Daten-Puffer 17.
Der zweite DMAC 23 steuert in Übereinstimmung mit der DMA-Übertragungsanforderung
und dem vom Zustands-Einstellungsabschnitt 21 eingestellten
Betriebszustand die zweite Arbitrierungsvorrichtung 15,
den ersten Daten-Puffer 16 und den zweiten Daten-Puffer 17.
-
5 ist
ein Flussdiagramm, das den Ablauf eines Datenübertragungs-Verarbeitungsverfahrens darstellt,
das von der Datenübertragungs-Verarbeitungsvorrichtung 2 nach
der zweiten Ausführungsform
ausgeführt
wird. Der Prozess in 5 wird gestartet, wenn am Übertragungsanforderungs-Verarbeitungsabschnitt 20 eine
Datenübertragung
neu erforderlich wird.
-
Zuerst
stellt der Übertragungsanforderungs-Verarbeitungsabschnitt 20 den
Schwellenwert der Datenmenge ein, die im ersten DMAC 22 und
im zweiten DMAC 23 zu übertragen
ist (Schritt S501). Dieser Schwellenwert wird verwendet, um zu ermitteln,
ob jeder der DMACs eine parallele Datenübertragung unter Einsatz von
zwei Daten-Puffern (Mehrfach-Puffer) oder eine normale Datenübertragung
unter Einsatz eines einzelnen Daten-Puffers (Einzel-Puffer) durchführt. Dann
ermittelt der Übertragungsanforderungs-Verarbeitungsabschnitt 20,
ob es einen unbenutzten DMAC gibt, der keine Datenübertragung
durchführt,
d. h. einen DMAC, der nicht gestartet worden ist (Schritt S502).
Wenn es einen unbenutzten DMAC gibt, dann übergibt der Übertragungsanforderungs-Verarbeitungsabschnitt 20 eine DMA-Übertragungsanforderung
an einen unbenutzten DMAC (Schritt S503). Diese Ausführungsform wird
für den
Fall erläutert,
dass der unbenutzte DMAC der erste DMAC 22 ist. Der erste
DMAC 22, der die DMA-Übertragungsanforderung
empfangen hat, bestätigt
den Betriebszustand, der vom Zustands-Einstellungsabschnitt 21 eingestellt
wurde, und überprüft, ob der
zweite DMAC 23, der den anderen DMAC darstellt, eine Datenübertragung
durchführt
oder nicht und ob die Datenübertragung
im Mehrfach-Puffer- oder im Einzel-Puffer-Modus ausgeführt wird
(Schritt S504).
-
Wenn
als ein Ergebnis der Überprüfung der zweite
DMAC 23 keine Datenübertragung
durchführt, setzt
der erste DMAC 22 im Zustands-Einstellungsabschnitt 21 den Übertragungsmodus
zur Zuweisung sowohl des ersten Daten-Puffers 16 als auch
des zweiten Daten-Puffers 17 an sich selbst (Mehrfach-Puffer),
wenn die Menge der Datenübertragung, die
mit der DMA-Übertragungsanforderung
gefordert werden, mindestens dem festgelegten Schwellenwert entspricht,
oder er setzt den Übertragungsmodus
zur Zuweisung lediglich des ersten Daten-Puffers 16 an
sich selbst (Einzel-Puffer), wenn die Menge kleiner als der festgelegte
Schwellenwert ist (Schritte S505 bis S507 und S510). Wenn der zweite
DMAC 23 auf der anderen Seite eine Datenübertragung durchführt, setzt
der erste DMAC 22 im Zustands-Einstellungsabschnitt 21 den Übertragungsmodus
zur Zuweisung lediglich des ersten Daten-Puffers 16 an
sich selbst (Einzel-Puffer), wenn die Datenübertragung im Einzel-Puffer-Modus
durchgeführt
wird und die Menge der Datenübertragung, die
mit der DMA-Übertragungsanforderung
gefordert werden, kleiner als der festgelegte Schwellenwert ist (Schritte
S508 bis S510). In allen anderen Fällen wartet der erste DMAC 22,
bis die Datenübertragung durch
den zweiten DMAC 23 beendet ist, das heißt, bis
der zweite Daten-Puffer 17 freigegeben wird.
-
Der
erste DMAC 22 und/oder der zweite DMAC 23 führen eine
Datenübertragung
entsprechend dem Betriebszustand, der vom Zustands-Einstellungsabschnitt 21 eingestellt
wurde, und unter Verwendung des zugewiesenen Daten-Puffers durch (Schritt
S511). Nachdem die Datenübertragung
beendet ist, setzt der erste DMAC 22 oder der zweite DMAC 23 den
Betriebszustand im Zustands-Einstellungsabschnitt 21 zurück (Schritt
S512). Es sollte beachtet werden, dass dieser Prozess beendet wird, wenn
es in Schritt S502 keinen ungenutzten DMAC gibt, da die Datenübertragungsanforderung
nicht erfüllt
werden kann.
-
Wie
oben beschrieben, wird in der Datenübertragungs-Verarbeitungsvorrichtung
und in dem Verfahren nach der zweiten Ausführungsform ein Zustands-Einstellungsabschnitt
eingesetzt, der den Betriebszustand der DMACs kennzeichnet, und
auf diese Weise kann ein DMAC den Betriebszustand des anderen DMAC
ermitteln und zwischen einem einzelnen und mehrfachen Daten-Puffern
wählen,
die in der Datenübertragung
verwendet werden sollen. Auf diese Weise ist es zusätzlich zum
Effekt der ersten Ausführungsform
möglich,
die Betriebslast des Übertragungsanforderungs-Verarbeitungsabschnitts
zu verringern.
-
Dritte Ausführungsform
-
6 ist
ein Blockdiagramm, das den Aufbau einer Datenübertragungs-Verarbeitungsvorrichtung 3 nach
einer dritten Ausführungsform
der vorliegenden Erfindung darstellt. In 6 ist die
Datenübertragungs-Verarbeitungsvorrichtung 3 nach
der dritten Ausführungsform
mit einem Übertragungsanforderungs-Verarbeitungsabschnitt 20,
einem Zustands-Einstellungsabschnitt 21, einem ersten DMAC 32,
einem zweiten DMAC 33, einer ersten Arbitrierungsvorrichtung 14,
einer zweiten Arbitrierungsvorrichtung 15, einem ersten
Daten-Puffer 16, einem zweiten Daten-Puffer 17,
einem ersten Selektor 18, einem zweiten Selektor 19,
einem Daten-Puffer-Arbitrierungs-Steuerabschnitt 30,
einem Zustandskennzeichen für
den ersten Daten-Puffer 34 und einem Zustandskennzeichen
für den
zweiten Daten-Puffer 35 ausgestattet. Wie in 6 gezeigt
wird, unterscheidet sich die Datenübertragungs-Verarbeitungsvorrichtung 3 nach
der dritten Ausführungsform vom
Aufbau der Datenübertragungs-Verarbeitungsvorrichtung 2 nach
der zweiten Ausführungsform
hinsichtlich des ersten DMAC 32, des zweiten DMAC 33,
des Daten-Puffer-Arbitrierungs-Steuerabschnitts 30, des
Zustandskennzeichens für
den ersten Daten-Puffer 34 und des Zustandskennzeichens
für den zweiten
Daten-Puffer 35. Im Folgenden wird die Datenübertragungs-Verarbeitungsvorrichtung 3 nach der
dritten Ausführungsform
mit dem Schwerpunkt auf diesen abweichenden Komponenten beschrieben.
-
Der
erste DMAC 32 steuert die erste Arbitrierungsvorrichtung 14,
den ersten Daten-Puffer 16 und den
zweiten Daten-Puffer 17 entsprechend der DMA-Übertragungsanforderung
und dem durch den Zustands-Einstellungsabschnitt 21 gesetzten
Betriebs zustand. Der zweite DMAC 33 steuert die zweite
Arbitrierungsvorrichtung 15, den ersten Daten-Puffer 16 und
den zweiten Daten-Puffer 17 entsprechend der DMA-Übertragungsanforderung
und dem durch den Zustands-Einstellungsabschnitt 21 gesetzten
Betriebszustand. Wenn der erste Daten-Puffer 16 gerade
verwendet wird, wird das Zustandskennzeichen für den ersten Daten-Puffer 34 gesetzt.
Wenn der zweite Daten-Puffer 17 gerade verwendet wird, wird
das Zustandskennzeichen für
den zweiten Daten-Puffer 35 gesetzt. Der Daten-Puffer-Arbitrierungs-Steuerabschnitt 30 entscheidet über den
Einsatz des ersten Daten-Puffers 16 und des zweiten Daten-Puffers 17 unter
Verwendung des Zustandskennzeichens für den ersten Daten-Puffer 34 und
des Zustandskennzeichens für
den zweiten Daten-Puffer 35. Dieser Daten-Puffer-Arbitrierungs-Steuerabschnitt 30 fungiert
gemeinsam mit dem Zustands-Einstellungsabschnitt 21 als
ein Puffer-Zuweisungsabschnitt.
-
7 ist
ein Flussdiagramm, das den Ablauf eines Datenübertragungs-Verarbeitungsverfahrens darstellt,
das von der Datenübertragungs-Verarbeitungsvorrichtung 3 nach
der dritten Ausführungsform ausgeführt wird.
In 7 tragen die Schritte, die die gleichen Prozesse
wie in 5 ausführen,
die gleichen Schrittnummern und es unterbleibt ihre weitere Erläuterung.
-
Wenn
eine DMA-Übertragungsanforderung vom Übertragungsanforderungs-Verarbeitungsabschnitt 20 übergeben
wird, bestätigt
der erste DMAC 32, der ein ungenutzter DMAC ist, einen
Betriebszustand, der vom Zustands-Einstellungsabschnitt 21 eingestellt
wird, und überprüft, ob der
zweite DMAC 33, der der andere DMAC ist, eine Datenübertragung durchführt oder
nicht und ob die Datenübertragung im
Mehrfach-Puffer-
oder im Einzel-Puffer-Modus durchgeführt wird (Schritt S704). Gleichzeitig
sendet der erste DMAC 32 eine Anforderung bezüglich der Nutzung
von Daten-Puffern an den Daten-Puffer-Arbitrierungs-Steuerabschnitt 30 ab
(Schritt S704).
-
Wenn
der zweite DMAC 33 eine Datenübertragung durchführt und
die Datenübertragung
im Mehrfach-Puffer-Modus ausgeführt
wird oder wenn die Menge für
die Datenübertragung,
die von der DMA-Übertragungsanforderung
erfordert wird, mindestens dem festgelegten Schwellenwert entspricht, stellt
der Daten-Puffer-Arbitrierungs-Steuerabschnitt 30, der
die Anforderung des Einsatzes der Daten-Puffer empfangen hat, im
Zustands-Einstellungsabschnitt 21 den Übertragungsmodus
zur Zuweisung lediglich des ersten Daten-Puffers 16 an
sich selbst (Einzel-Puffer) ein (Schritt S710) und entscheidet über das
Recht zur Verwendung der verfügbaren
Daten-Puffer (Schritt S711). Genauer ge sagt, der Daten-Puffer-Arbitrierungs-Steuerabschnitt 30 ermittelt, dass
die Datenübertragung
entweder in dem ersten Daten-Puffer 16 oder in dem zweiten
Daten-Puffer 17 beendet ist (der Daten-Puffer wird freigegeben) (Schritt
S712) und entscheidet darüber
hinaus über den
freigegebenen Daten-Puffer (Schritt S713). Wenn zum Beispiel der
erste Daten-Puffer 16 freigegeben wird, löscht der
Daten-Puffer-Arbitrierungs-Steuerabschnitt 30 das Recht
des zweiten DMAC 33 zur Verwendung des ersten Daten-Puffers 16.
Als Folge davon führt
der zweite DMAC 33 die nachfolgende Datenübertragung
im Einzel-Puffer-Modus
aus. Dann gewährt
der Daten-Puffer-Arbitrierungs-Steuerabschnitt 30 dem ersten
DMAC 32 das Recht zur Verwendung des ersten Daten-Puffers 16,
der vom zweiten DMAC 33 freigegeben wurde. Nachfolgend
kann der erste DMAC 32 erneut die Datenübertragung beginnen. Es ist
zu beachten, dass die Einstellungen im Zustands-Einstellungsabschnitt 21 gemäß diesem
Entscheidungsprozess aktualisiert werden (Schritt S713).
-
Wie
oben beschrieben, wird in der Datenübertragungs-Verarbeitungsvorrichtung
und dem Verfahren nach der dritten Ausführungsform der vorliegenden
Erfindung ein Daten-Puffer-Arbitrierungs-Steuerabschnitt
zum Entscheiden über
das Recht zur Verwendung ungenutzter Daten-Puffer eingesetzt. Selbst
wenn ein DMAC gerade eine Datenübertragung
ausführt,
während
der er eine Vielzahl von Daten-Puffern belegt, ist es daher möglich, vorübergehend
zufällig
entstehende Perioden, in denen ein Daten-Puffer nicht vom anderen
DMAC verwendet wird, abzuzweigen. Auf diese Weise ist es möglich, die
Datenübertragung
unter Verwendung des freigegebenen Daten-Puffers sofort zu starten,
ohne zu warten, bis die Datenübertragung
vom anderen DMAC beendet ist.
-
Es
ist zu beachten, dass es möglich
ist, die Priorität
der Datenübertragung
zusammen mit der Anforderung zu melden, wenn die DMACs eine Anforderung
zur Verwendung von Daten-Puffern an den Daten-Puffer-Arbitrierungs-Steuerabschnitt 30 übermitteln,
um die Freigabe eines Daten-Puffers nicht zu gestatten.
-
Vierte Ausführungsform
-
8 ist
ein Blockdiagramm, das den Aufbau einer Datenübertragungs-Verarbeitungsvorrichtung 4 nach
einer vierten Ausführungsform
der vorliegenden Erfindung darstellt. In 8 ist die
Datenübertragungs-Verarbeitungsvorrichtung 4 nach
einer vierten Ausführungsform
mit einem Übertragungsanforderungs-Verarbeitungsabschnitt 20,
einem Zustands-Einstellungsabschnitt 21, einem ersten DMAC 42,
einem zweiten DMAC 43, einer ersten Arbitrierungsvorrichtung 14,
einer zweiten Arbitrierungsvorrichtung 15, einem ersten
Daten-Puffer 16, einem zweiten Daten-Puffer 17,
einem ersten Selektor 18, einem zweiten Selektor 19,
einem Daten-Puffer-Arbitrierungs-Steuerabschnitt 30,
einem Zustandskennzeichen für
den ersten Daten-Puffer 34 und einem Zustandskennzeichen
für den
zweiten Daten-Puffer 35 ausgestattet. Wie in 8 gezeigt
wird, unterscheidet sich die Datenübertragungs-Verarbeitungsvorrichtung 4 nach
der vierten Ausführungsform vom
Aufbau der Datenübertragungs-Verarbeitungsvorrichtung 3 nach
der dritten Ausführungsform
hinsichtlich des ersten DMAC 42 und des zweiten DMAC 43.
Im Folgenden wird die Datenübertragungs-Verarbeitungsvorrichtung 4 nach
der vierten Ausführungsform
mit dem Schwerpunkt auf diesen abweichenden Komponenten beschrieben.
-
Der
erste DMAC 42 ist derart aufgebaut, dass in dem oben beschriebenen
ersten DMAC 32 ein Unterbrechungs-Zählabschnitt 421 enthalten
ist. Der zweite DMAC 43 ist derart aufgebaut, dass in dem
oben beschriebenen zweiten DMAC 33 ein Unterbrechungs-Zählabschnitt 431 enthalten
ist. Wenn der erste DMAC 42 und der zweite DMAC 43 eine Datenübertragung
zum System-Bus 6 oder 7 durchführen, zählen und speichern die Unterbrechungs-Zählabschnitte 421 und 431 die
Häufigkeit von
Unterbrechungen in Einheiten der Daten-Puffer durch die Vorrichtung,
an die die Daten übertragen werden.
Für diese
Unterbrechungs-Zählabschnitte 421 und 431 wird
zum Beispiel ein Register verwendet.
-
Der Übertragungsanforderungs-Verarbeitungsabschnitt 20 übergibt
eine DMA-Übertragungsanforderung
an den ersten DMAC 42 und an den zweiten DMAC 43 wenn
nötig,
und der erste DMAC 42 und der zweite DMAC 43,
die die Anforderung empfangen haben, starten die Datenübertragung. Hierbei
wird der Fall beschrieben, in dem der erste DMAC 42 eine
Datenübertragung
vom System-Bus 6 zum System-Bus 7 startet, wobei
er sowohl den ersten Daten-Puffer 16 als auch den zweiten
Daten-Puffer 17 belegt. Wenn der System-Bus 6 ein
Bus wie etwa der Art PCI-Bus ist, in dem eine kontinuierliche Übertragung
und Übertragungsunterbrechung
entstehen, kann die Vorrichtung, an die die Daten übertragen
werden, die Übertragung
vorübergehend
unterbrechen, während
die Daten vom System-Bus 6 in den ersten Daten-Puffer 16 gespeichert
werden. Dies ist abhängig
von der Anzahl der Stufen eines vorab lesenden Daten-Puffers (zum
Beispiel ein Prefetch FIFO) der Vorrichtung, an die die Daten übertragen werden,
oder von einem Status des dortigen internen Prozesses. Der erste
DMAC 42 lässt
den Unterbrechungs-Zählabschnitt 421 die
Häufigkeit
der Unterbrechungen während
der Da tenübertragung
zählen und
speichern und vergleicht diese Anzahl mit einer festgelegten Anzahl.
Falls die Unterbrechungen während
der Übertragung
häufiger
auftreten als diese festgelegte Anzahl, gibt der erste DMAC 42,
wenn der erste Daten-Puffer 16 und der zweite Daten-Puffer 17 parallel
eingesetzt werden, einen der Daten-Puffer frei. Wenn zu diesem Zeitpunkt
der zweite DMAC 43 eine neue Übertragungsanforderung empfangt,
wird die Datenübertragung
sofort unter Verwendung des freigegebenen Daten-Puffers gestartet.
-
Wie
oben beschrieben, wird in der Datenübertragungs-Verarbeitungsvorrichtung
und dem Verfahren nach der vierten Ausführungsform der vorliegenden
Erfindung ein Unterbrechungs-Zählabschnitt eingesetzt,
und auf diese Weise wird das Recht zur Verwendung von Daten-Puffern
in dem Fall geregelt, dass bestimmte Antworten von einer Vorrichtung,
an die die Daten übertragen
werden, häufiger
als eine festgelegte Anzahl empfangen werden. Deshalb ist es möglich, wenn
die Effizienz der Datenübertragung mittendrin
schlecht wird, die Pufferkonfiguration dynamisch zu ändern und
eine andere Datenübertragung
parallel auszuführen,
selbst wenn eine Datenübertragung
mit hoher Priorität
durchgeführt
wird. Auf diese Weise ist es möglich,
die Effizienz der Datenübertragung
im gesamten System zu verbessern.
-
In
der vierten Ausführungsform
ist ein Fall beschrieben worden, in dem ein Unterbrechungs-Zählabschnitt
in der Konfiguration der Datenübertragungs-Verarbeitungsvorrichtung 3 nach
der dritten Ausführungsform
eingesetzt wird, er kann jedoch auch in der Konfiguration der Datenübertragungs-Verarbeitungsvorrichtung 2 nach
der zweiten Ausführungsform
eingesetzt werden.
-
Fünfte Ausführungsform
-
9 ist
ein Blockdiagramm, das den Aufbau einer Datenübertragungs-Verarbeitungsvorrichtung 5 nach
einer fünften
Ausführungsform
darstellt. In der 9 ist die Datenübertragungs-Verarbeitungsvorrichtung 5 nach
der fünften
Ausführungsform
mit einem Übertragungsanforderungs-Verarbeitungsabschnitt 20,
einem ersten DMAC 52, einem zweiten DMAC 53, eine
Pufferbereichs-Entsprechungstabelle 54, einem Pufferbereichs-Steuerabschnitt 55,
einer ersten Arbitrierungsvorrichtung 14, einer zweiten
Arbitrierungsvorrichtung 15, einem Daten-Puffer 56,
einem ersten Selektor 58 und einem zweiten Selektor 59 ausgestattet.
Wie in 9 gezeigt wird, unterscheidet sich die Datenübertragungs-Verarbeitungsvorrichtung 5 nach
der fünften Ausführungsform
vom Aufbau der Datenübertragungs-Verarbeitungsvorrichtung 2 nach
der zweiten Ausführungsform
hinsichtlich des ersten DMAC 52, des zweiten DMAC 53,
der Pufferbereichs-Entsprechungstabelle 54, des Pufferbereichs-Steuerabschnitts 55,
des Daten-Puffers 56, des ersten Selektors 58 und
des zweiten Selektors 59. Im Folgenden wird die Datenübertragungs-Verarbeitungsvorrichtung 5 nach
der fünften
Ausführungsform
mit dem Schwerpunkt auf diesen abweichenden Komponenten beschrieben.
-
Der
erste DMAC 52 steuert die erste Arbitrierungsvorrichtung 14 und
den Daten-Puffer 56 entsprechend der Pufferbereichs-Entsprechungstabelle 54.
Der zweite DMAC 53 steuert die zweite Arbitrierungsvorrichtung 15 und
den Daten-Puffer 56 entsprechend der Pufferbereichs-Entsprechungstabelle 54.
Die Pufferbereichs-Entsprechungstabelle 54 speichert Daten
bezogen auf die Datenquellen-Einrichtung in der Datenübertragung,
die die Datenübertragung
angefordert hat, wie etwa Basis-Adressen und eine optimale Daten-Puffer-Einrichtung
für die Datenquellen-Einrichtung
in der Datenübertragung. Der
Pufferbereichs-Steuerabschnitt 55 steuert die Adressen
im Daten-Puffer 56, um die Pufferbereiche zu steuern, die
vom ersten DMAC 52 und dem zweiten DMAC 53 verwendet
werden. Genauer gesagt, fungieren die Pufferbereichs-Entsprechungstabelle 54 und
der Pufferbereichs-Steuerabschnitt 55 als Puffer-Zuweisungsabschnitte.
Der erste Selektor 58 greift auf den System-Bus 6 zu
und wählt
entsprechend der Entscheidung der ersten Arbitrierungsvorrichtung 14 am
Daten-Puffer 56 zwischen einem Port für den ersten DMAC 52 und
einen Port für
den zweiten DMAC 53. Der zweite Selektor 59 greift
auf den System-Bus 6 zu und wählt entsprechend der Entscheidung
der zweiten Arbitrierungsvorrichtung 15 am Daten-Puffer 56 zwischen
einem Port für
den ersten DMAC 52 und einen Port für den zweiten DMAC 53.
Der Daten-Puffer 56 ist ein Mehr-Port-Daten-Puffer, dessen Speicherbereiche
frei aufgeteilt und verwendet werden können.
-
10 ist
ein Flussdiagramm, das den Ablauf eines Datenübertragungs-Verarbeitungsverfahrens
darstellt, das durch die Datenübertragungs-Verarbeitungsvorrichtung 5 nach
der fünften
Ausführungsform
durchgeführt
wird. Der Prozess in 10 wird gestartet, wenn eine
Datenübertragung
im Übertragungsanforderungs-Verarbeitungsabschnitt 20 erneut
erforderlich wird.
-
Zuerst
ermittelt der Übertragungsanforderungs-Verarbeitungsabschnitt 20,
ob es einen ungenutzten DMAC gibt, der keine Datenübertragung durchführt, d.
h. einen DMAC, der nicht gestartet worden ist (Schritt S1001). Wenn
es einen ungenutzten DMAC gibt, startet der Übertragungsanforderungs-Verarbeitungsabschnitt 20 den
ungenutzten DMAC und übergibt
diesem dazu eine DMA-Übertragungsanforderung
(Schritt S1002). Diese Ausführungsform
wird für
den Fall erläutert,
dass der ungenutzte DMAC der erste DMAC 52 ist. Der erste DMAC 52,
der die DMA-Übertragungsanforderung empfangen
hat, bestimmt einen optimalen Daten-Puffer-Aufbau im Daten-Puffer 56 mit
Bezug auf die Pufferbereichs-Entsprechungstabelle 54 und meldet
dies an den Pufferbereichs-Steuerabschnitt 55 (Schritt
S1003). Der optimale Daten-Puffer-Aufbau wird auf der Grundlage
der Basis-Adressen der Datenquellen-Einrichtung in der Datenübertragung bestimmt.
Der Pufferbereichs-Steuerabschnitt 55 empfangt die Meldung
vom ersten DMAC 52, weist dem ersten DMAC 52 nicht
genutzte Bereiche im Daten-Puffer 56 entsprechend dem Inhalt
der Meldung zu und gibt dem ersten DMAC 52 eine Antwort
mit dem Ergebnis, dass die Zuweisung erfolgt ist (Schritt S1004).
-
11A und 11B zeigen
ein Beispiel für die
Daten in der Pufferbereichs-Entsprechungstabelle 54 und
einer Zuweisung des Daten-Puffers 56. Wenn die Speicherbereiche
des Daten-Puffers 56 aus den Puffer [0] bis [15] aufgebaut
sind, wie es in 11B dargestellt ist, dann sind
der DMAC und der Bereich, der jedem der Puffer [0] bis [15] zugewiesen ist,
in der Pufferbereichs-Entsprechungstabelle 54 aufgelistet,
wie es in 11A dargestellt ist. Im Daten-Puffer 56 sind
die Bereiche entsprechend dem Inhalt, der in der Pufferbereichs-Entsprechungstabelle 54 gelistet
ist, aufgeteilt.
-
Der Übertragungsanforderungs-Verarbeitungsabschnitt 20 bestätigt die
Art der Daten, für
die eine Übertragung
angefordert wird (Schritt S1005). Auf der Grundlage dieser Bestätigung ermittelt
der Übertragungsanforderungs-Verarbeitungsabschnitt 20 dann,
ob eine parallele Datenübertragung
erforderlich ist oder nicht (Schritt S1006). Gemäß dieser Festlegung führt der
erste DMAC 52 eine parallele Datenübertragung unter Einsatz von
zwei Pufferbereichen oder eine normale Datenübertragung unter Einsatz von
einem Pufferbereich durch (Schritte S1007 und S1008).
-
Wie
oben beschrieben, wird in der Datenübertragungs-Verarbeitungsvorrichtung
und dem Verfahren nach der fünften
Ausführungsform
ein großer Mehrfach-Port-Daten-Puffer eingesetzt,
dessen Speicherbereiche frei aufgeteilt werden können, und auf diese Weise wird
die Bereichsaufteilung entsprechend der Datenmenge, die zur Übertragung
ansteht, verändert.
Deshalb wird ein großer
Bereich im Daten-Puffer dann garantiert, wenn zum Beispiel die Datenmenge,
die fortlaufend übertragen
werden kann, groß ist,
und ein kleiner Bereich genügt
dann, wenn die Menge klein ist. Ungeachtet des Zustands, in dem
Daten-Puffer für
den anderen DMAC verwendet werden, ist es auf diese Weise möglich, die
Datenübertragung
mit einer optimalen Konfiguration der Daten-Puffer für die angeforderte
Datenübertragung durchzuführen.
-
Die
Funktionsblöcke
wie etwa der Übertragungsmodus-Einstellungsabschnitt,
der Zustands-Einstellungsabschnitt, der DMAC, die Arbitrierungsvorrichtung,
der Daten-Puffer, der Daten-Puffer-Arbitrierungs-Steuerabschnitt,
der Selektor, das Zustandskennzeichen für den Daten-Puffer, der Unterbrechungs-Zählabschnitt,
die Pufferbereichs-Entsprechungstabelle
und der Pufferbereichs-Steuerabschnitt, die eine Datenübertragungs-Verarbeitungsvorrichtung
der vorliegenden Erfindung bilden, werden üblicherweise mit einem LSI
umgesetzt, das einen integrierten Schaltkreis darstellt (bezeichnet
in Abhängigkeit
von den Unterschieden im Integrationsgrad zum Beispiel als IC, System-LSI, Super-LSI oder
Ultra-LSI). Sie können jeder
für sich
auf einem einzelnen Chip ausgebildet sein, oder sie können auf
einem Chip in der Weise zusammengestellt sein, dass alle oder ein
Teil von ihnen darauf enthalten sind.
-
Das
Verfahren zur Umsetzung eines integrierten Schaltkreises ist nicht
auf ein LSI beschränkt,
der integrierte Schaltkreis kann auch unter Verwendung eines fest
zugeordneten Schaltkreises oder eines normalen Prozessors realisiert
werden. Alternativ ist es auch möglich,
ein FPGA (Field Programmable Gate Array, programmierbarer integrierter
Schaltkreis) zu verwenden, der nach der Herstellung des LSI programmiert
werden kann, oder einen wieder konfigurierbaren Prozessor, der die
Neukonfiguration der Verbindungen oder der Einstellung der Zellen
des Schaltkreises im LSI ermöglicht.
-
Wenn
darüber
hinaus mit dem Fortschritt der Halbleitertechnik oder anderen daraus
abgeleiteten Techniken neue Techniken für integrierte Schaltkreise
aufkommen, die den LSI ersetzen, können die Funktionsblöcke selbstverständlich unter
Anwendung derartiger Techniken eingebunden werden. Die Anwendungen
in der Biotechnologie usw. sind mögliche Einsatzfälle.
-
Obwohl
die Erfindung detailliert beschrieben worden ist, ist die voranstehende
Beschreibung in jeglicher Hinsicht veranschaulichend und nicht einschränkend. Es
ist selbstverständlich,
dass zahlreiche andere Modifikationen und Variationen erdacht werden
können,
ohne den Rahmen der Erfindung zu verlassen.