DE3936339C2 - DMA-Controller - Google Patents

DMA-Controller

Info

Publication number
DE3936339C2
DE3936339C2 DE3936339A DE3936339A DE3936339C2 DE 3936339 C2 DE3936339 C2 DE 3936339C2 DE 3936339 A DE3936339 A DE 3936339A DE 3936339 A DE3936339 A DE 3936339A DE 3936339 C2 DE3936339 C2 DE 3936339C2
Authority
DE
Germany
Prior art keywords
dma
transfer
channel
channel change
request
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
Application number
DE3936339A
Other languages
English (en)
Other versions
DE3936339A1 (de
Inventor
Naoichi Kitakami
Yuichi Nakao
Hiroyuki Kondo
Koji Tsuchihashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE3936339A1 publication Critical patent/DE3936339A1/de
Application granted granted Critical
Publication of DE3936339C2 publication Critical patent/DE3936339C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

Die Erfindung betrifft einen DMA-Controller.
Der Controller für direkten Speicherzugriff (DMA), be­ sitzt nicht nur eine Datenerfassungs- (oder Trichter-) Funktion hat, sondern er ist auch dazu fähig, Wechsel zwischen Kanälen gemäß Prioritätsstufen durchzuführen.
Das DMA-Übertragungssystem beinhaltet ein doppeltes Adressierungsmodus-System, das erst die Adresse des Quellgerätes ausgibt, um Daten von dem Quellgerät zum DMA-Übertragungsdaten-Zwischenspeicher-Register (tempo­ räres Register) eines DMA-Controllers zu übertragen, und danach die Adresse des Zielgerätes, um Daten vom tempo­ rären Register zum Ziel zu übertragen. Einige der DMA- Controller mit doppeltem Adressierungsmodus haben Daten­ erfassungsfunktion. Zum Beispiel werden dort, wo ein 32-bit-DMA-Controller Daten von einer Input/Output- Einheit mit einem 8-bit-Ausgang zu einem Speicher mit einer 32-bit-Datenbusbreite überträgt, vier Bytes Daten zu einem temporären Register als Antwort auf DMA- Anforderungen übertragen, und dann all die 32-bit Daten auf einmal zu vorbestimmten Regionen des Speichers über­ tragen. Dort, wo Daten von dem 32-bit-Speicher zu der 8-bit-Ausgang-I/O-Einheit übertragen werden, werden zu dem einen notwendigen Byte Daten als Antwort auf die er­ ste DMA-Anforderung noch 3 Bytes Daten zusätzlich vom Speicher zum temporären Register übertragen, und Über­ tragungen von dem temporären Register zur I/O-Einheit in den folgenden DMA-Anforderungen ausgeführt.
Der DMA-Controller, der eine solche Datenerfassungsfunk­ tion hat, ist mit temporären Registern ausgestattet, die je einem Kanal dienen, so daß ein Kanalwechsel während der Datenübertragung sofort durchgeführt wird. Dieses wird durch die Tatsache ermöglicht, daß die verbleiben­ den Daten beim Kanalwechsel während der Datenerfassung in dem temporären Register zwischengespeichert werden.
Ein konventioneller 2-Kanal-DMA-Controller wird in Bezug auf Fig. 8-13 beschrieben werden.
Fig. 8 zeigt ein System mit einem konventionellen DMA- Controller. Dieses System beinhaltet einen 32-bit-DMA- Controller 1, eine 32-bit-zentrale-Verarbeitungseinheit (CPU) 2, die erste 8-bit-Input/Output-Einheit (I/O) 3, die zweite 8-bit-Input/Output-Einheit (I/O) 4, einen Speicher 5 mit einer 32-bit-Datenbusbreite, einen 32- bit-Datenbus, um den DMA-Controller 1, die CPU 2 und den Speicher 5 zu verbinden, den ersten 8-bit-Datenbus 7, um die erste 8-bit-I/O-Einheit 3 und den 32-bit-Datenbus 6 zu verbinden, den zweiten 8-bit-Datenbus 8, um die zwei­ te 8-bit-I/O-Einheit 4 und den 32-bit-Datenbus, die er­ sten und zweiten 32-bit (vier Byte) langen temporären Register 11 und 12, die in dem DMA-Controller 1 bereit­ gestellt werden, und die erste und zweite Speicherregion 51 und 52 in dem Speicher 5 zu verbinden.
Der DMA-Controller 1 ist programmiert, DMA-Übertragungen zwischen der I/O-Einheit 3 und der Speicherregion 51 (der Anfangsadresse 1a) und zwischen der I/O-Einheit 4 und der Speicherregion 52 mit der Hilfe jedes der tempo­ rären Register 11 und 12 vorzunehmen, und den DMA- Übertragungen auf der Seite der I/O-Einheit 4 eine höhe­ re Priorität als auf der Seite der I/O-Einheit 3 zuzu­ ordnen. Zum Zweck der Vereinfachung wird der Weg von der I/O-Einheit 3 zu dem temporären Register 11 zur Spei­ cherregion 51 im folgenden "Kanal 1" genannt, und wird der Weg von der I/O-Einheit 4 zum temporären Register 12 zur Speicherregion 52 im folgenden "Kanal 2" genannt.
Fig. 9 zeigt in einem Blockdiagramm den essentiellen Teil des konventionellen DMA-Controllers 1, der eine Übertragungsanforderungskontrolle, um DMA-Übertragungs­ anforderungen sowohl von der I/O-Einheit 3, der I/O- Einheit 4 oder auch von der Software (Speicher-zu- Speicher-DMA-Übertragung) entsprechend vorbestimmter Prioritätsstufen für die Ausführung der DMA- Anforderungen oder Kanalbezeichnungen zu kontrollieren; Register 14 und 15, in die DMA-Kontrollinformation, wie eine Quelladresse, eine Zieladresse, und ein I/O-zu- Speicher-, Speicher-zu-I/O-, oder Speicher-zu-Speicher- Übertragungsmodus durch die CPU 2 für jeden Kanal vor der DMA-Übertragung gespeichert wird, und einen Selektor 16 beinhaltet, der auf ein Kanalbezeichnungssignal von der Übertragungsanforderungskontrolle 13 antwortet, um die gewünschte Kontrollinformation auszuwählen.
Weiterhin beinhaltet es eine DMA-Übertragungskontrol­ logik 17, die ein DMA-Anforderungssignal von der Über­ tragungsanforderungskontrolle 13 empfängt und die DMA- Übertragungen, wie Ausgabe von Quell- und Zieladressen und temporären Registern, als Antwort zu DMA- Kontrollinformationen aus Registern 14 und 15, durch den Selektor 16 kontrolliert, und einen Selektor 18, der auf ein Kanalbezeichnungssignal von der Übertragungsanforde­ rungskontrolle 13 antwortet, um die Ausgabe der DMA- Übertragungslogik 17 zu entweder dem temporären Register 11 oder 12 schalten.
Fig. 10-13 illustrieren das Zeitverhalten von ver­ schiedenen DMA-Übertragungen in dem obigen konventionel­ len System, wobei RQ1-1, RQ1-2, . . . die DMA-Anfor­ derungen in dem Kanal 1 repräsentieren, RQ2-1, RQ2-2, . . . die DMA-Anforderungen in dem Kanal 2, 1-R, 2-R, . . . Übertragungszyklen von der 1/O-Einheit 3 oder der Spei­ cherregion 51 zum temporären Register 11, 1-W, 2-W, . . . Übertragungszyklen von dem temporären Register 11 zur Speicherregion 51 oder zur I/O-Einheit 3 repräsentieren.
Während der Operation wird vor allem die Erklärung in bezug zu Fig. 10-11 gemacht, in denen keine Kanal­ wechselanforderungen auftauchen; z. B. treten keine DMA-Anforderungen im dem Kanal 2 während der DMA- Übertragung in dem Kanal 1 auf.
Fig. 10 illustriert den Fall, wo DMA-Übertragungen von der I/O-Einheit 3 zur Speicherregion 51 durchgeführt werden. Die Übertragungsanforderungskontrolle 13 antwor­ tet zur DMA-Anforderung RQ1-1, jeden Kanalselektor 16, 18 auf Kanal 1 zu setzen, und die DMA-Übertragungs­ kontrollogik 17 überträgt über Datenbusse 7, 6 8-Bit- Daten zu dem 8-bit-Register 1A des temporären Registers 11. Danach antwortet es sequentiell auf die DMA- Anforderungen RQ1-2, RQ1-3 und RQ1-4, die Daten sequen­ tiell zu entsprechenden 8-bit-Registern 1B, 1C, und 1D (2-R, 3-R, und 4-R) zu übertragen. Sobald die Daten zum 8-bit-Register 1D übertragen sind, werden die 32 Bit an Daten, mit denen das temporäre Register 11 jetzt gefüllt ist, alle auf einmal zum Speicher 51 an den Adressen 1a, 1b, 1c und 1d (1W) übertragen. Anschließend wird dieser Zyklus wiederholt. Der Kanalwechsel wegen einer Kanal­ wechselanforderung, die während einer Periode zwischen den Übertragungszyklen 1-R und 3-R stattfindet, wird "Kanalwechsel während der Datenerfassung" genannt.
Fig. 11 zeigt den Fall, in dem DMA-Übertragungen von der Speicherregion 51 zur I/O-Einheit 3 durchgeführt werden. Als Antwort zur ersten DMA-Anforderung RQ1-1, werden 32 Bit an Daten auf einmal von der Speicherregion 51 an den Adressen 1a, 1b, 1c und 1d zu dem temporären Register 11 (1-R) übertragen. Nur 8 Bit der Daten, die zu dem 8-bit-Register 1A des temporären Registers 11 übertragen wurden, werden zur I/O-Einheit 3 (1-W) über­ tragen. Dann werden 8 Bit Daten sequentiell zur I/O- Einheit 3 aus den entsprechenden 8-bit-Registern 1B, 1C und 1D des temporären Registers 11, entsprechend den DMA-Anforderungen RQ1-2, RQ1-3 und RQ1-4 (2-W, 3-W und 4W) übertragen. Der Kanalwechsel infolge einer Kanal­ wechselanforderung, die während einer Periode zwischen den Übertragungszyklen 1-W und 3-W gemacht wird, wird "Kanalwechsel während der Datenerfassung" genannt.
Die Fig. 12-13 illustrieren die Fälle, bei denen eine Kanalwechselanforderung während der Datenerfassung für einen Kanalwechsel auftritt; z. B. findet eine DMA- Anforderung in Kanal 2 zum Wechsel zu Kanal 2 während der Datenerfassung in der DMA-Übertragung im Kanal 1 statt.
Fig. 12 illustriert den Fall in dem eine Kanalwechsel­ anforderung RQ2-1 während des zweiten Datentransfers (2-R) von der I/O-Einheit 3 zum temporären Register 11 in der DMA-Übertragung von der I/O-Einheit 3 zur Spei­ cherregion 51 stattfindet. Sobald der 2-R Zyklus beendet ist, schaltet die Übertragungsanforderungskontrolle 13 die entsprechenden Selektoren 16 und 18 auf Kanal 2, um die DMA-Übertragung 10 durchzuführen. An diesem Punkt benutzt der Kanal 2 das ihm dienende temporäre Register 12. Falls die Kanal-1-DMA-Anforderung RQ1-3 immer noch besteht, wenn alle Kanal-2-DMA-Anforderungen RQ2 enden, wird ein Wechsel zu Kanal 1 durchgeführt, um die DMA- Übertragung (3-R und folgende Übertragungen) durchzufüh­ ren.
Fig. 13 illustriert den Fall, in dem eine Kanalwech­ selanforderung RQ2-1 während einer zweiten Datenübertra­ gung (2-W) vom temporären Register 11 zur I/O-Einheit 3 in der DMA-Übertragung von der Speicherregion 51 zur I/O-Einheit 3 stattfindet. Der Kanalwechsel wird in der gleichen Weise, wie in Fig. 12 durchgeführt.
Wie oben beschrieben wurde, muß die Anzahl der temporä­ ren Register in den konventionellen DMA-Controllern gleich der der Kanäle sein, was in einer angewachsenen Chipgröße resultiert.
Als Stand der Technik ist dabei die DE 31 29 296 A1 und die US-Firmenschrift INTEL: 'Mikroprocessor and Periphe­ ral Handbook'; Vol. 1, 1987, S. 2-205-2-222 zu nennen.
Während letztere Schrift zwar einen DMA-Controller mit einem temporären Register beschreibt, ist dieser jedoch nicht zu einem Kanalwechsel eingerichtet.
In der genannten deutschen Schrift hingegen sind die Zellen des temporären Registers eindeutig einer der Schnittstellen zugeordnet, so daß für den Fall das Daten von der I/O-Einheit an den Speicher übertragen werden und kein Kanalwechsel stattfindet, die Daten an das tem­ poräre Register 8 Bit-Weise übertragen und dann, wenn sich die Daten zu 32 Bit addieren, diese Daten auf ein­ mal an die Zieleinrichtung übertragen. Weiter werden so­ gar für den Fall, daß ein Kanalwechsel stattfindet, be­ vor die Daten erfaßt wurden, Daten aus dem vorherigen Kanal in dem temporären Register belassen, da ein tempo­ räres Register für jeden der Kanäle vorgesehen ist. Da­ her werden die erfindungsgemäßen Probleme nicht auftre­ ten und keine Ansätze zu einer Lösung geboten.
Demzufolge ist es Aufgabe der Erfindung, einen DMA- Controller mit Datenerfassungsfunktion zu schaffen, der bei einer Datenübertragung von einer I/O-Einheit zum Speicher, oder bei einer Übertragung in umgekehrter Richtung zum Kanalwechsel mit einem einzelnen temporären Register, unabhängig von der Anzahl der Kanäle, fähig ist.
Dabei wird ein DMA-Controller geschaffen, der ein ein­ zelnes temporäres Register, das für jeden Kanal benutzt wird, und eine Kanalwechselkontrolleinheit beinhaltet, um Kanalwechsel während der Datenerfassung in der Über­ tragung von der I/O-Einheit zum Speicher, nachdem all die Daten, die von der I/O-Einheit zum temporären Regi­ ster übertragen wurden, zu einer bestimmten Region eines Speichers übertragen wurden, durchzuführen, aber sofort einen Kanalwechsel während der Datenerfassung in der Übertragung vom Speicher zur I/O-Einheit durchzuführen, so daß DMA-Übertragungen, in denen Kanalwechsel während der Datenerfassung durchgeführt werden, ohne Schwierig­ keiten durchgeführt werden können, und so ein Anwachsen der Chipgröße verhindert wird.
Zudem wird ein DMA-Controller geschaffen, der eine Ka­ nalwechselkontrolleinheit beinhaltet, die keinen Kanal­ wechsel durchführt, bis die Datenerfassung und ihre Übertragung abgeschlossen sind, wenn es Kanalwechselan­ forderungen während der Datenerfassung und eine DMA- Anforderung in dem gleichen Kanal, wie während der Da­ tenerfassung gibt, die aber den gleichen Kanalwechsel wie oben beschrieben durchführt, wenn es keine DMA- Anforderungen in dem gleichen Kanal gibt, und so nicht nur ein Anwachsen in der Chipgröße verhindert, sondern auch die Übertragungseffizienz steigert.
Weitere Merkmale und Vorteile der Erfindung ergeben sich aus den Ansprüchen und der Beschreibung, in der ein Aus­ führungsbeispiel der Erfindung anhand einer Zeichnung erläutert wird. Dabei zeigt bzw. zeigen:
Fig. 1 ein Blockdiagramm eines Systems, das einen DMA-Controller beinhaltet;
Fig. 2a ein Blockdiagramm des essentiellen Teils eines DMA-Controllers;
Fig. 2b eine Tabelle, die den Zusammenhang zwischen Input- und Outputbedingungen des DMA-Controllers aus Fig. 2a zeigt;
Fig. 3 und 4 Diagramme des Zeitverhaltens, die die Operationen des DMA-Controllers aus Fig. 2a zeigen;
Fig. 5a ein Blockdiagramm des essentiellen Teils eines DMA-Controllers;
Fig. 5b eine Tabelle, die den Zusammenhang zwischen Input- und Outputbedingungen des DMA-Controllers aus Fig. 5a zeigt;
Fig. 6 und 7 Diagramme des Zeitverhaltens, die die Operationen des DMA-Controllers aus Fig. 5a zeigen;
Fig. 8 ein Blockdiagramm eines Systems, das einen konventionellen DMA-Controller enthält;
Fig. 9 ein Blockdiagramm des essentiellen Teils eines konventionellen DMA- Controllers; und
Fig. 10-13 Diagramme des Zeitverhaltens, die die Operationen des konventionellen DMA- Controllers zeigen.
In Fig. 1 sind die Komponenten 1-8, 11, 51 und 52 identisch mit oder gleichwertig zu denen der Fig. 8. Es sollte jedoch beachtet werden, daß das temporäre Regi­ ster 12 aus Fig. 8 entfernt wurde, und daß das einzelne temporäre Register 11 für beide Kanäle 1 und 2 benutzt wird.
In Fig. 2a sind die Komponenten 11 und 13-17 identisch mit oder gleichwertig zu denen der Fig. 9. Es sollte je­ doch beachtet werden, daß das temporäre Register 11 und der Selektor 18 der Fig. 9 durch eine Kanalwechselkon­ trolleinheit 19 ersetzt werden. Die Übertragungsanforde­ rungskontrolle 13 gibt eine gleicher-Kanal-DMA-Anfor­ derung und eine Kanalwechselanforderung anstelle der konventionellen DMA-Anforderung aus, und erzeugt eine Kanalbezeichnung als Antwort zu einer Kanalwechselauto­ risierung von der Kanalwechselkontrolleinheit 19. Der Selektor 16 hat einen Kontakt 16a, um DMA-Kontrollin­ formation zur DMA-Übertragungskontrollogik 17 in der gleichen Weise, wie bei dem Konventionellen zu schalten, und einen Kontakt 16b, um Übertragungsmodusinformation zu schalten, die für die Kanalwechselkontrolleinheit 19 notwendig ist. Die DMA-Übertragungskontrollogik 17 ver­ sorgt die Kanalwechselkontrolleinheit 19 mit einem Sig­ nal, das anzeigt, daß Datenerfassung sich noch in der Durchführung befindet, und einem Signal, daß die Beendi­ gung des Kanalwechsels anzeigt, und erhält eine Kanal­ wechseldurchführungsanforderung und eine DMA-Anforderung von der Kanalwechselkontrolleinheit 19. Das zeigt an, daß als Antwort zu einem Kanalwechselautorisierungssig­ nal die Übertragungsanforderungskontrolle 13 Kanäle wechselt und die gleicher-Kanal-Anforderung bestätigt, wenn dies noch nicht geschehen ist, und Kanalwechselan­ forderungen verneint. Dann erhält die DMA-Übertragungs­ kontrollogik 17 die gewechselte DMA-Kontrollinformation und DMA-Anforderung und führt DMA-Übertragungen zu einem neuen Kanal mit der Hilfe desselben temporären Registers 11 aus.
Die Kanalwechselkontrolleinheit 19 beinhaltet ein AND- Gatter 19a, das von dem Kontakt 16b ein Signal mit "H"- Pegel im I/O-zu-Speicher-Übertragungsmodus und von der DMA-Übertragungskontrollogik ein Signal mit "H"-Pegel während der Datenaufnahme empfängt; ein AND-Gatter 19b, das ein Signal von dem AND-Gatter 19a und einen "H"- Pegel, der eine Kanalwechselanforderung von der Übertra­ gungsanforderungskontrolle 13 anzeigt, erhält und die DMA-Übertragungskontrollogik 17 mit einem "H"-Pegel ver­ sorgt, der eine Kanalwechseldurchführungsanforderung an­ zeigt; ein AND-Gatter 19c, das ein invertiertes Signal der Kanalwechselanforderung und einen "H"-Pegel, der ei­ ne gleicher-Kanal-DMA-Anforderung anzeigt, erhält, und die DMA-Übertragungskontrollogik 17 mit einem "H"-Pegel versorgt, der eine DMA-Anforderung anzeigt; ein AND- Gatter 19d, das ein invertiertes Signal von dem AND- Gatter 19a und eine Kanalwechselanforderung empfängt; und ein OR-Gatter 19e, das ein Signal vom AND-Gatter 19d und einen "H"-Pegel, der ein Kanalwechseldurchführungs­ beendigungssignal anzeigt, empfängt und die Übertra­ gungsanforderungskontrolle 13 mit einem "H"-Pegel ver­ sorgt, der ein Kanalwechselautorisierungssignal anzeigt.
Die entsprechenden Eingabebedingungen und die zugehöri­ gen Ausgangszustände werden in Fig. 2b gezeigt.
Das Zeitverhalten von verschiedenen DMA-Übertragungen wird in den Fig. 3 und 4 gezeigt, worin RQ1-1, RQ1-2, . . . .; RQ2-1, RQ2-2, . . .; und 1-R, 2-R, . . .; und 1-W, 2-W, . . . gleichwertig denen der Fig. 10-13 sind, und 1-T und 2-T Transferzyklen, die für diese Realisation nötig sind, sind.
Fig. 3 illustriert die DMA-Übertragungen von der I/O- Einheit 3 zu der Speicherregion 51, bei der eine Kanal­ wechselanforderung RQ2-1 zur Zeit der zweiten Datenüber­ tragung 2-R von der I/O-Einheit 3 zum temporären Regi­ ster 11 stattfindet. Sobald der 2-R Zyklus vollendet ist, werden die Daten, die zu den 8-bit-Registern 1A und 1B des temporären Registers 11 von der I/O-Einheit 3 übertragen wurden, zur Speicherregion 51 zu den Adressen 1a und 1b (1-T) übertragen und anschließend zum Kanal 2 um eine DMA-Übertragung 10 durchzuführen. Dadurch wird der Gebrauch des allgemeinen temporären Registers 11 in dem Kanal 2 die DMA-übertragenen Daten im Kanal 1 nicht beeinflußen. Falls die DMA-Anforderung RQ1-3 im Kanal 1 weiterhin existiert, wenn die DMA-Anforderungen RQ2 im Kanal 2 enden, wird ein Wechsel zum Kanal 1 ausgeführt, um die dritte DMA-Übertragung (3-R) und folgende DMA- Übertragungen durchzuführen. Beim Übertragungszyklus 1-W zum Speicher 5 jedoch werden nur 16 Bit an Daten, die zu den 8-bit-Registern 1C und 1D des temporären Registers 11 übertragen wurden, zur Speicherregion 51 an den Adressen 1c und 1d als Antwort zu der dritten und vier­ ten DMA-Anforderung übertragen.
Fig. 4 illustriert die DMA-Übertragung von dem Speicher 51 zu der I/O-Einheit 3 bei der eine Kanalwechselanfor­ derung RQ2-1 während der zweiten Datenübertragung (2-W) vom temporären Register 11 zur I/O-Einheit 3 stattfin­ det. Sobald Zyklus 2-W beendet ist, wird ein Wechsel zum Kanal 2 durchgeführt, um eine DMA-Übertragung 10 durch­ zuführen. Diese DMA-Übertragung 10 löscht die Daten, die in dem 8-bit-Register 10 und 1D des Kanals 1 verbleiben. Dieses bereitet jedoch keine Probleme, weil die Daten nicht Antwort auf die entsprechende DMA-Anforderung sind. Wenn immer noch die DMA-Anforderung RQ1-3 im Kanal 1 besteht, wenn alle DMA-Anforderungen RQ2 des Kanal 2 enden, wird ein Wechsel zu Kanal 1 vorgenommen. Da an diesen Punkt keine Daten des Kanals 1 im temporären Re­ gister 11 verblieben sind, werden Daten von der Spei­ cherregion 51 an den Adressen 1c und 1d zu den 8-bit- Registern 1C und 1D des temporären Registers 11 (2-T) transferiert, und anschließend zur I/O-Einheit 3 (3-W, 4-W). Obwohl eine kontinuierliche DMA-Anforderung im gleichen Kanal zusammen mit einer Kanalwechselanforde­ rung in den verschiedenen DMA-Übertragungen beschrieben wurde, wird der gleiche Kanalwechsel auch während der Datenerfassung für unterbrechende DMA-Anforderungen zu­ sammen mit Kanalwechselanforderungen zwischen den unter­ brechenden DMA-Anforderungen durchgeführt.
Die Übertragungseffizienz konnte in einigen Fällen ge­ steigert werden, indem man die Bedingungen, unter denen Kanalwechsel während der Datenerfassung akzeptiert und durchgeführt werden, so festsetzt, daß kein Kanalwechsel durchgeführt wird, wenn es eine DMA-Anforderung in dem gleichen Kanal, wie während der Datenerfassung zusammen mit einer Kanalwechselanforderung gibt, aber ein Kanal­ wechsel in der gleichen Weise wie in der obigen Realisa­ tion durchgeführt wird, wenn es keine DMA-Anforderung in dem gleichen Kanal gibt.
Fig. 5a zeigt in einem Blockdiagramm den essentiellen Teil des DMA-Controllers 1 um eine solche Funktion ent­ sprechend zu einer anderen Realisation durchzuführen. Dieser DMA-Controller ist identisch mit dem von Fig. 2a, außer daß eine Kanalwechselkontrolleinheit 20 sich von der Kanalwechselkontrolleinheit 19 in der inneren Struk­ tur unterscheidet. Die Kanalwechselkontrolleinheit 20 beinhaltet ein AND-Gatter 20a, das vom Kontakt 16b ein Signal mit "H"-Pegel in dem I/O-zu-Speicher- Übertragungsmodus und von der DMA-Übertragungs­ kontrollogik 17 ein Signal mit "H"-Pegel während der Da­ tenerfassung erhält; ein AND-Gatter 20b, daß von der Übertragungsanforderungkontrolle 13 einen "H"-Pegel er­ hält, der eine gleicher-Kanal-DMA-Anforderung anzeigt; ein AND-Gatter 20c, das Signale von den Gattern 20b und 20a erhält; ein AND-Gatter 20d das ein Signal, das an­ zeigt, daß sich Datenerfassung in der Durchführung be­ findet, und gleicher-Kanal-DMA-Anforderungen empfängt; ein AND-Gatter 20e, das ein invertiertes Signal der Ka­ nalwechselanforderung und der gleichen-Kanal-DMA-Anfor­ derung erhält; ein OR-Gatter 20f, das Signale von den AND-Gattern 20d und 20e erhält und die DMA-Über­ tragungskontrollogik 17 mit einem "H"-Pegel, der eine DMA-Anforderung anzeigt, versorgt; ein AND-Gatter 20g, das ein invertiertes Signal vom AND-Gatter 20a und ein Signal vom AND-Gatter 20b erhält; ein AND-Gatter 20h, das ein invertiertes Signal des Signals, das anzeigt, daß die Datenerfassung in der Durchführung ist und der Kanalwechsel- und gleicher-Kanal-DMA-Anforderungen, emp­ fängt; ein OR-Gatter 20i, das Signale von den AND- Gattern 20g und 20h empfängt und einen "H"-Pegel, der ein Kanalwechseldurchführungsabschlußsignal von der DMA-Übertragungskontrollogik 17 anzeigt, erhält, und die Übertragungsanforderungskontrolle 13 mit einem "H"-Pegel versorgt, der ein Kanalwechselautorisierungssignal an­ zeigt. Das heißt, daß um zu bestimmen, ob es eine glei­ cher-Kanal-DMA-Anforderung zusammen mit einer Kanalwech­ selanforderung gibt, die AND-Gatter 20b, 20d und 20h und das OR-Gatter 20f zur Kanalwechselkontrolleinheit 19 der ersten Realisation hinzugefügt werden und die Ausgabe des AND-Gatters 20h mit der Eingabe des OR-Gatters 20i verbunden ist.
Die entsprechenden Eingabebedingungen und die dazugehö­ rigen Ausgabezustände sind in Fig. 5b gezeigt.
Das Zeitverhalten von verschiedenen DMA-Übertragungen in der Realisation wird in Fig. 6 für Übertragungen von der I/O-Einheit 3 zur Speicherregion 51 und Fig. 7 für Über­ tragungen von der Speicherregion 51 zur I/O-Einheit 3 gezeigt.
In Fig. 3 und 6, und 4 und 7 zeigt ein Vergleich der Übertragungszyklen in dem Kanal 1, daß der Zyklus 1-T in Fig. 3 und der Zyklus 2-T in Fig. 4 in den Fig. 6 und 7 eliminiert sind, und damit die Übertragungseffizienz vergrößert wird. Aus Fig. 5b ist ersichtlich, daß wenn es keine gleicher-Kanal-Anforderungen gibt, die Kanal­ wechsel in der gleichen Weise wie in der ersten Realisa­ tion ausgeführt werden.
Obwohl die DMA-Controller, die nur zwei Kanäle haben, oben beschrieben wurden, ist die Erfindung auf DMA- Controller mit mehr Kanälen anwendbar, und diese benöti­ gen nur ein temporäres Register 11 und eine Kanalwech­ selkontrolleinheit 19 oder 20 unabhängig von der Anzahl der Kanäle. Obwohl die Kanalwechselkontrolleinheiten 19 und 20 beschrieben wurden, indem spezifische Ausdrücke benutzt wurden, können viele Änderungen und Modifikatio­ nen vorgenommen werden, um die gleiche Funktion zu er­ reichen. Das 32-bit (vier Byte) temporäre Register 11 kann entsprechend der Systemkonfiguration verändert wer­ den.
Wie oben beschrieben, ist der DMA-Controller mit einem einzelnen temporären Register versehen, das für jeden Kanal benutzt wird, und einer Kanalwechselkontrollein­ heit, um Kanalwechsel während der Datenerfassung in der Übertragung von der I/O-Einheit zum Speicher durchzufüh­ ren, nachdem all die Daten, die von der I/O-Einheit zum temporären Register übertragen wurden, zu der vorbe­ stimmten Region eines Speichers übertragen wurden, aber sofort einen Kanalwechsel während der Datenerfassung in der Übertragung vom Speicher zu der I/O-Einheit durchzu­ führen, so daß die DMA-Übertragung in der der Kanalwech­ sel während der Datenerfassung stattfindet, ohne Schwie­ rigkeiten durchgeführt werden kann, und so ein Anwachsen der Chipgröße verhindert wird.
Einer anderen Realisation zufolge, wird eine Kanalwech­ selkontrolleinheit bereitgestellt, die den Kanalwechsel nicht durchführt, bis die Datenerfassung und ihre Über­ tragung beendet sind, wenn es eine Kanalwechselanforde­ rung während der Datenerfassung und eine DMA-Anforderung in dem gleichen Kanal wie während der Datenerfassung gibt, aber den gleichen Kanalwechsel wie in der obigen Realisation durchführt, wenn es keine DMA-Anforderungen im gleichen Kanal gibt, und so nicht nur ein Anwachsen der Chipgröße verhindert, sondern auch die Übertragungs­ effizienz vergrößert.

Claims (2)

1. DMA-Controller, verbunden mit einem Datenbus (6), der mit einer Prozessoreinheit (CPU 2) und einer Mehr­ zahl von Peripherieeinheiten (z. B. I/O-Einheit 3, 4 und Speicher 5) verbunden ist, von denen eine beliebige Ursprungseinheit oder Zieleinheit werden kann,
wobei der DMA-Controller eine Vielzahl von Kanal- Registern für jeden der Kanäle besitzt, in denen durch die Prozessoreinheit (CPU 2) vorbestimmte DMA-Steuerinformation für jeden der zuvor definier­ ten Kanäle enthalten ist, wie z. B. die Ursprungs- Adreßinformation, die Ziel-Adreßinformation und ei­ ne Übertragungs/Richtungs-Modus-Information, die anzeigt, aus welchem Ursprung zu welchem Ziel ein Transfer ausgeführt werden soll, und
der DMA-Controller Daten aus der Ursprungseinheit an eine Zieleinheit entsprechend der DMA- Steuerinformation aus den Kanal-Registern, die durch eine DMA-Anforderung (DMARQ1, DMARQ2, . . .) für jeden der Kanäle bestimmt wurden, überträgt,
wobei der DMA-Controller umfaßt:
  • - nur ein einzelnes dediziertes Register (ein tempo­ räres Register (11)) mit einer Bit-Kapazität, die mit der maximalen Bit-Anzahl aus den Daten-Bit- Anzahlen übereinstimmt, die mit einem Mal mit jeder der peripheren Einheiten übertragen werden können, wobei eine Übertragungsanforderungsteuerung (13), die die DMA-Anforderung für jeden der Kanäle (DMA RQ1, DMA RQ2) aufnimmt,
    • - ein Kanal-Register auswählt,
    • - DMA-Kontrollinformation, die in dem ausge­ wählten Kanal-Register gespeichert ist, in einen Ausgabezustand versetzt und
    • - weiter eine Kanalwechsel-Durchführungsan­ forderung zur Anforderung eines Kanalwech­ sels als Antwort auf einen von der empfan­ genen DMA-Anforderung ausgewählten Kanal­ wechsel ausgibt,
  • - einer DMA-Übertragungssteuerung (17), die eine DMA-Übertragung durch Steuern des dedizierten Regi­ sters (des temporären Registers (11)) auf der Basis der DMA-Steuerinformation aus einem ausgewählten Kanal-Register (14, 15) und einer Kanalwechsel­ steuerung (19) durchführt,wobei für den Fall, daß
    • 1. die Übertragungs/Richtungs-Modusinformation aus den DMA-Steuerinformationen aus einem be­ stimmten Kanal-Register einen besonderen Modus anzeigt (I/O-Einheit→Speicher Übertragungs­ modus), der eine Übertragung aus einer peri­ pheren Einheit an eine andere periphere Ein­ heit anzeigt, die dazu in der Lage ist, größe­ re Anzahlen an Bit-Kapazität mit einem Mal zu übertragen als im Fall der vorigen peripheren Einheit, und
    • 2. die Kanalwechsel-Steuerung (19) erfaßt, daß die DMA-Übertragungssteuereung (17) sich bei dem Durchführen der DMA-Übertragung in dem be­ stimmten Modus befindet und weiter die DMA- Kanalwechsel-Steuerung (19) die Kanalwechsel­ durchführungsanforderung aus der Übertragungs­ anforderungssteuerung (13) aufnimmt,
    • 3. die Kanalwechselsteuerung (19) das Kanalwech­ seldurchführungsanforderungssignal ausgibt, um die DMA-Übertragungssteuerung (17) zu veran­ lassen, den Kanalwechsel für die Übertragung aller Daten vorzunehmen, die schon an das de­ dizierte Register (das temporäre Register (11)), an die Zieleinheit und weiter übertagen wurden,
    und für den Fall, daß
    • 1. die Kanalwechselsteuerung (19) ein Kanal­ wechselbeendigungssignal empfängt, das an­ zeigt, daß der Kanalwechselvorgang von der DMA-Übertragungssteuerung (17) beendet wurde, oder
    • 2. für den Fall, daß die Übertragungsrichtungs- Modus-Information aus der DMA-Steuerungsin­ formation aus einem bestimmten Kanal-Register nicht den spezifischen Modus anzeigt und
      auch die Kanalwechselsteuerung (19) das Kanal­ wechseldurchführungsanforderungssignal aus der Übertragungsanforderungsteuerung (13) emp­ fängt,
    • 3. wird die Kanalwechselsteuerung (19) ein Kanal­ wechselautorisierungssignal an die Übertra­ gungsanforderungssteuerung (13) ausgeben, um die Übertragungsanforderungssteuerung (13) zu veranlassen, das Kanal-Register zu schalten,
      um dadurch den Kanalwechsel zu autorisieren, und die DMA-Übertragungssteuerung (17) zu ver­ anlassen, die DMA-Übertragung entsprechend der DMA-Steuerungsinformation aus dem geschalteten Kanal-Register durchzuführen.
2. DMA-Controller nach Anspruch 1, dadurch gekenn­ zeichnet, daß die Übertragungsanforderungssteuerung (13),
weiter die gleichen DMA-Anforderungssignale ausgibt, wenn die Übertragungsanforderungssteuerung kontinuier­ lich die gleiche DMA-Anforderung empfängt, wobei für den Fall, daß
  • 1. die Kanalwechselsteuerung (19) erfaßt, daß die DMA-Übertragungssteuerung (17) sich bei der Durchführung der DMA-Übertragung befindet und
    auch ein Gleicher-Kanal-DMA-Anforderungssignal aus der Übertragungsanforderungssteuerung (13) empfängt,
  • 2. die Kanalwechselsteuerung (19), die DMA- Übertragungssteuerung (17) dazu veranlaßt, ei­ ne DMA-Übertragung, der zur Zeit durchgeführt wird, ohne Ausgabe eines Kanalwechselanforde­ rungssignals an die DMA-Übertragungssteuerung (17) weiter durchzuführen.
DE3936339A 1989-03-30 1989-10-28 DMA-Controller Expired - Fee Related DE3936339C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1083186A JP2550496B2 (ja) 1989-03-30 1989-03-30 Dmaコントローラ

Publications (2)

Publication Number Publication Date
DE3936339A1 DE3936339A1 (de) 1990-10-04
DE3936339C2 true DE3936339C2 (de) 2000-08-31

Family

ID=13795293

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3936339A Expired - Fee Related DE3936339C2 (de) 1989-03-30 1989-10-28 DMA-Controller

Country Status (5)

Country Link
US (1) US5031097A (de)
JP (1) JP2550496B2 (de)
KR (1) KR920008460B1 (de)
DE (1) DE3936339C2 (de)
FR (1) FR2645298B1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04363745A (ja) * 1991-05-17 1992-12-16 Toshiba Corp Dmaコントローラ
JPH0567039A (ja) * 1991-09-06 1993-03-19 Toshiba Corp Dmaチヤネル制御装置
US5721954A (en) * 1992-04-13 1998-02-24 At&T Global Information Solutions Company Intelligent SCSI-2/DMA processor
US5598579A (en) * 1994-04-25 1997-01-28 Compaq Computer Corporation System fpr transferring data between two buses using control registers writable by host processor connected to system bus and local processor coupled to local bus
US5864712A (en) * 1995-03-17 1999-01-26 Lsi Logic Corporation Method and apparatus for controlling (N+I) I/O channels with (N) data managers in a homogenous software programmable environment
DE69614291T2 (de) * 1995-03-17 2001-12-06 Lsi Logic Corp., Fort Collins (n+i) Ein/Ausgabekanälesteuerung, mit (n) Datenverwaltern, in einer homogenen Software-Programmierbetriebsumgebung
US5826106A (en) * 1995-05-26 1998-10-20 National Semiconductor Corporation High performance multifunction direct memory access (DMA) controller
JP2002041445A (ja) * 2000-05-19 2002-02-08 Matsushita Electric Ind Co Ltd 高性能dmaコントローラ
KR20020021739A (ko) * 2000-09-16 2002-03-22 박종섭 디엠에이 제어기
US7380069B2 (en) * 2004-11-19 2008-05-27 Marvell International Technology Ltd. Method and apparatus for DMA-generated memory write-back
US7383363B2 (en) * 2004-11-20 2008-06-03 Marvell International Technology Ltd. Method and apparatus for interval DMA transfer access
KR100703406B1 (ko) * 2005-02-04 2007-04-03 삼성전자주식회사 Dma 제어 장치 및 방법
JP2007219641A (ja) * 2006-02-14 2007-08-30 Oki Electric Ind Co Ltd ダイレクトメモリアクセスコントローラ

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3129296A1 (de) * 1980-07-24 1982-03-04 ITALTEL Società Italiana Telecomunicazioni S.p.A., 20149 Milano "schaltungsanordnung zur schnelluebertragung von daten"

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1132265A (en) * 1978-12-26 1982-09-21 Minoru Inoshita Direct memory access revolving priority apparatus
US4750107A (en) * 1985-01-07 1988-06-07 Unisys Corporation Printer-tape data link processor with DMA slave controller which automatically switches between dual output control data chomels
US4847750A (en) * 1986-02-13 1989-07-11 Intelligent Instrumentation, Inc. Peripheral DMA controller for data acquisition system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3129296A1 (de) * 1980-07-24 1982-03-04 ITALTEL Società Italiana Telecomunicazioni S.p.A., 20149 Milano "schaltungsanordnung zur schnelluebertragung von daten"

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
US-Firmenschrift: INTEL, Microprocessor and Pheripheral Handbook 1987, Vol. I, S. 2-205 bis 2-222 *

Also Published As

Publication number Publication date
US5031097A (en) 1991-07-09
KR920008460B1 (ko) 1992-09-30
KR900015009A (ko) 1990-10-25
JPH02259861A (ja) 1990-10-22
DE3936339A1 (de) 1990-10-04
FR2645298B1 (fr) 1993-05-07
JP2550496B2 (ja) 1996-11-06
FR2645298A1 (fr) 1990-10-05

Similar Documents

Publication Publication Date Title
DE69032384T2 (de) Datenpuffer
DE2702090C3 (de) Datenverarbeitungssystem mit einem zentralen Prozessor
DE2641741C2 (de) Rechenanlage aus mehreren miteinander über ein Sammelleitungssystem verbundenen und zusammenwirkenden Einzelrechnern und einem Steuerrechner
DE2251876C3 (de) Elektronische Datenverarbeitungsanlage
DE3011552C2 (de)
DE2760322C2 (de)
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
DE3936339C2 (de) DMA-Controller
DE3131341A1 (de) "pufferspeicherorganisation"
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE3300263A1 (de) Schaltungsanordnung zur zuteilung des zugriffs zu einer auf anforderungsbasis gemeinsam benutzten sammelleitung
DE3502147C2 (de)
DE1524166B1 (de) Schaltungsanordnung zur Herstellung von Verbindungen zwischen mehreren unabhaengigen Teilen und einem gemeinsamen Teil einer Datenverarbeitungsanlage
DE2054830C3 (de) Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE2422732C2 (de) Hierarchische Speicheranordnung
DE2454613C2 (de) Kanaleinheit für die Steuerung der Datenübertragung auf einer Vielzahl von Kanälen zwischen den peripheren Einrichtungen und dem Hauptspeicher einer digitalen Datenverarbeitungsanlage
EP0185260B1 (de) Schnittstelle für direkten Nachrichtenaustausch
CH634938A5 (de) Einrichtung fuer die weiterleitung von speicherzugriffsanforderungen.
DE3787235T2 (de) Übertragungssysteme mit Paketbildung.
DE102005040109B4 (de) Halbleiterspeicherchip
DE69807738T2 (de) Verfahren und vorrichtung zur byteausrichtung
EP0215276B1 (de) Verfahren und Schaltungsanordnung zum Übertragen von Datensignalen an eine Gruppe von zu einem Ringleitungssystem gehörenden Steuereinrichtungen
EP0010135A1 (de) Mikroprogrammgesteuerte Ein-/Ausgabeeinrichtung und Verfahren zum Durchführen von Ein-/Ausgabeoperationen
DE2606295C3 (de) Anordnung zur Übertragung von Zeichen zwischen über einen Multiplexkanal ansteuerbaren peripheren Einheiten und einem Arbeitsspeicher eines Zentralprozessors

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee