DE602004012492T2 - DMA-Steuerung mit Busbesetzungszeit-Beschränkung sowie DMA-Parametersätze für mehrere logische Prozessoren - Google Patents

DMA-Steuerung mit Busbesetzungszeit-Beschränkung sowie DMA-Parametersätze für mehrere logische Prozessoren Download PDF

Info

Publication number
DE602004012492T2
DE602004012492T2 DE602004012492T DE602004012492T DE602004012492T2 DE 602004012492 T2 DE602004012492 T2 DE 602004012492T2 DE 602004012492 T DE602004012492 T DE 602004012492T DE 602004012492 T DE602004012492 T DE 602004012492T DE 602004012492 T2 DE602004012492 T2 DE 602004012492T2
Authority
DE
Germany
Prior art keywords
dma
dma transfer
transmission parameters
queue
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE602004012492T
Other languages
English (en)
Other versions
DE602004012492D1 (de
Inventor
Akihiro Furuta
Nobuo Higaki
Tetsuya Tanaka
Tsuneyuki Suzuki
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.)
Panasonic Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of DE602004012492D1 publication Critical patent/DE602004012492D1/de
Application granted granted Critical
Publication of DE602004012492T2 publication Critical patent/DE602004012492T2/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

Description

  • Hintergrund der Erfindung
  • Feld der Erfindung
  • Die vorliegende Erfindung bezieht sich auf einen DMA-Übertragungscontroller, der zu einer Zeitkontrolle einer DMA-Übertragung fähig ist.
  • Beschreibung des verwandten Standes der Technik
  • In den vergangenen Jahren wurden mit dem Voranschreiten der Multimedialität von Geräten Audiodaten oder bewegte Bilder (AV) gewöhnlich auf einem Prozessor kodiert oder dekodiert. Wenn die AV-Daten dekodiert werden, muss generell ein vorgeschriebener Umfang des Prozesses innerhalb einer vorgeschriebenen Zeit abgeschlossen sein. Es ist nämlich ein Echtzeitprozess notwendig. Des Weiteren erfordert ein Kodierungsprozess in der interaktiven Kommunikation der Audiodaten und der bewegten Bilder auch in einer Echtzeit ausgeführt zu werden.
  • Wenn eine Vielzahl von Prozessen, die solche Echtzeitprozesse beinhalten, auf einem einzigen Prozessor ausgeführt werden, ist ein Mechanismus zum Sicherstellen der Echtzeitcharakteristiken des Prozesses notwendig. Als eines der Verfahren zum Realisieren dieses Mechanismus gibt es ein System, dass die Zeitunterteilung bzw. Einteilung der Ressourcen auf dem Prozessor ausgeführt wird und die Inhalte der Prozesse für jede vorgeschriebene Zeit verändert bzw. gewechselt werden. Dieses System ist generell äquivalent zu einem System, dass eine Vielzahl von virtuellen logischen Prozessoren jeweils verschiedene Prozesse parallel ausführen. Dieses System wird im Folgenden als virtuelles vielfach verarbeiten (virtual multi-processing – VMP) bezeichnet.
  • In dem AV-Prozess ist es nötig, große Datenmengen über einen inneren Datenbus zwischen einem Ein- und einem Ausgabegerät, einem Pufferspeicher (ein Daten temporär speichernder Speicher) und ein Arbeitsspeicher (ein Datenverarbeitungsspeicher) zu übertragen. Üblicherweise werden die Ressourcen des Prozessors für die Übertragung der Daten nicht auf wünschenswerte Weise gebraucht. Folglich werden die Daten üblicherweise durch die Verwendung einer Steuereinrichtung für den direkten Speicherzugriff (direct memory access – DMA-controller) übertragen.
  • Mit dem jüngsten Anstieg des Durchsatzes von Informationen in einer System-LSI steigt die Menge der Daten, die in einer inneren Datenübertragungseinrichtung (bus) der LSI übertragen werden, auch kontinuierlich an. Um die Daten effizient zu übertragen, ist ebenso ein hochfunktioneller DMA-Controller erforderlich. Verschiedene Arten von DMA-Controllern wurden vorgeschlagen. Zum Beispiel wurden ein DMA-Controller, in dem einer Vielzahl von DMA-Übertragungen eine Priorität zugewiesen wird, um die Übertragungseffizienz zu verbessern (siehe Patentdokument 1: JP-A-9-223102 ), oder ein DMA-Controller, in dem eine Vielzahl von DMA-Übertragungen reserviert bzw. zurückgehalten und ausgeführt werden (siehe Patentdokument 2: JP-A-2002-41445 ), entwickelt.
  • 2 ist ein Blockdiagramm, das ein strukturelles Beispiel eines Systems zeigt, mit dem ein üblicher DMA-Controller geladen bzw. beschickt wird. In 2 beinhaltet eine Mikroprozessoreinheit (microprocessor unit – MPU) 1 einen Prozessor 11, einen inneren DMA-Controller 12, eine externe DMA-Datenübertragungsschnittstelle (external DMA bus interface) 13 und innere Speicher 14 und 15 und 16. Die Teile 11 bis 16 sind jeweils mit einem inneren Prozessorbus und einem inneren DMA-Bus verbunden, die auf der MPU angebracht sind. Des Weiteren sind die MPU 1 ein externer DMA-Controller 2, ein peripherer Schaltkreis 3, ein externer Speicher 4 und ein peripherer Schaltkreis 5 mit einem externen DMA-Bus der MPU verbunden.
  • Nun wird ein Fall betrachtet, in dem komprimierte Audiodaten von einem Speichergerät (zum Beispiel eine Halbleiterspeicherkarte) durch die Verwendung des in 2 gezeigten Systems gelesen und dekodiert werden und dann die dekodierten Daten von einem Audioschnittstellenschaltkreis ausgegeben werden. In diesem Fall dient der periphere Schaltkreis 3 als ein Schnittstellenschaltkreis zu der Halbleiterspeicherkarte (semiconductor memory card) und der periphere Schaltkreis 5 dient als der Audioschnittstellenschaltkreis.
  • Um die Audiodaten ununterbrochen wiederzugeben, benötigt ein Programm (auf das sich als ein Programm C bezogen wird) Echtzeitcharakteristiken, um einen Dekodierungsprozess für die Audiodaten durchzuführen. Des Weiteren werden zwei Programme A und B parallel zu dem Audiodekodierungsprogramm C ausgeführt, die nicht Echtzeitcharakteristiken ha ben. Die Betriebsschritte des Prozessors 11 und des inneren DMA-Controllers 12 sind in einem Zeitdiagramm in 3 gezeigt.
  • Der Fluss der Daten und der Prozesse in dem Audiodekodierungsprozess werden unten beschrieben.
  • (Prozess 1) Der externe DMA-Controller 2 überträgt immer die komprimierten Audiodaten von dem peripheren Schaltkreis 3 zu dem externen Speicher 4. Dieser Prozess benötigt nicht, dass ihm Aufmerksamkeit geschenkt wird, wenn der Betrieb des inneren DMA-Controllers 12 betrachtet wird.
  • (Prozess 2) Der innere DMA-Controller 12 überträgt die Ergebnisse eines vergangenen Dekodierungsprozesses an den peripheren Schaltkreis 5 von dem inneren Speicher 14. Diese DMA-Übertragung wird durch das Programm C gestartet.
  • (Prozess 3) Wenn die DMA-Übertragung des Prozesses 2 abgeschlossen ist, informiert der innere DMA-Controller 12 den Prozessor 11 über eine Unterbrechung (interrupt). Somit startet das Programm C eine nächste DMA-Übertragung und der innere DMA-Controller 12 überträgt neu komprimierte Daten zu dem inneren Speicher 14 von dem externen Speicher 4 anschließend bzw. in der Folge zu dem Prozess 2. In den Prozessen 2 und 3 wird der innere Speicher 14 als ein Pufferspeicher bzw. Zwischenspeicher verwendet.
  • (Prozess 4) In dem Prozessor 11 wird ein Dekodierungsprozess der in dem inneren Speicher 15 gehaltenen Daten parallel zu den oben beschriebenen Prozessen 2 und 3 ausgeführt. In diesem Prozess wird der innere Speicher 15 als ein Arbeitsspeicher verwendet.
  • Die Prozesse 2 bis 4 werden für jede vorgeschriebene Zeiteinheit zum Verarbeiten wiederholt und die Verwendungen der inneren Speicher 14 und 15 werden abwechselnd für jede Zeiteinheit bzw. Einheitszeit ausgetauscht. Das heißt, der innere Speicher 14 wird als der Pufferspeicher für eine vorgeschriebene Zeit verwendet und wird als der Arbeitsspeicher für eine andere Zeit verwendet. Dies kann auch auf den inneren Speicher 15 angewendet werden.
  • Um in diesem System die Echtzeitcharakteristiken des Programmes C sicherzustellen, werden die Programme A, B und C in einer Zeiteinteilung durchgeführt, wie in 3 gezeigt. Dieser Zustand kann als ein Zustand betrachtet werden, in dem die Programme A, B und C jeweils von individuellen virtuellen logischen Prozessoren ausgeführt werden. In dem Fall des Audiodaten-Dekodierungsprozesses wird die „Einheitszeit zur Verarbeitung" („unit time for processing"), die in 3 gezeigt ist, üblicherweise aus einem Kodierungssystem, einer Datenausgaberate (eine Menge ausgegebener Daten pro Einheitszeit) des peripheren Schaltkreises, der Kapazität eines Zwischenspeichers usw. bestimmt.
  • Des Weiteren brauchen in diesem System, da das virtuelle Vielfachverarbeiten (virtual multiprocessing) eingeführt wird, wenn die Programme (A, B, C) jeweils entwickelt werden, die Inhalte der Prozesse oder die Ausführungszeit von anderen Programmen nicht in die Betrachtungen mit einbezogen werden. Auf Basis der Annahme, dass die vorgeschriebenen Ressourcen des Prozessors jeweils für die Programme zugesichert sind, kann die Entwicklung der Programme unabhängig vorangetrieben werden. Das virtuelle Vielfachverarbeiten kann nämlich nicht nur einen Echtzeitprozess sicherstellen, sondern hat auch den Vorteil, dass die Programme einfach entwickelt werden können. Des Weiteren können aus den gleichen Gründen die Programme A und B einfach zu einem anderen System übertragen werden, das eine unterschiedliche Einheitszeit bzw. Systemzeit für die Verarbeitung hat.
  • Um nun die Probleme dieses Systems aufzuzeigen, wird nun ein Fall betrachtet, dass ein spezifisches Programm einen DMA-Bus für eine lange Zeit belegt. In einem Betriebsbeispiel, das in einem Zeitdiagramm von 4 gezeigt ist, führt das Programm B die DMA-Übertragung durch, die eine große Übertragungsmenge hat und den DMA-Bus für eine lange Zeit belegt. Wenn diese DMA-Übertragung abgeschlossen ist und der DMA-Bus geöffnet wird, führt das Programm C die DMA-Übertragung an den peripheren Schaltkreis 5 von dem inneren Speicher 15 durch. Nachdem die Übertragung abgeschlossen ist, informiert das Programm C den Prozessor 11 über eine Unterbrechung.
  • Allerdings ist in dem in 4 gezeigten Zeitdiagramm der Prozess des Programms C bereits abgeschlossen, wenn der Prozessor 11 über die Unterbrechung informiert wird, so dass eine nächste DMA-Übertragung nicht anschließend aktiviert werden kann. Wenn das Programm C den Datenprozess des inneren Speichers 15 startet, scheitert ein Echtzeitprozess, da die zu verarbeitenden Daten nicht übertragen wurden.
  • Einige Verfahren zum Vermeiden einer solchen Situation können in Betracht gezogen werden. Eines dieser Verfahren ist, dass eine Vielzahl von DMA-Übertragungen eingeschrieben bzw. angemeldet und ausgeführt werden. Das heißt, dass, wie in einem Zeitdiagramm von 5 gezeigt, eine DMA-Übertragungsanfrage für den inneren Speicher 15 zuvor von dem externern Speicher vorbestellt bzw. angemeldet werden kann. Nachdem die DMA-Übertragung von dem inneren Speicher 15 zu dem peripheren Schaltkreis 5 abgeschlossen ist, kann die angemeldete DMA-Übertragung automatisch ausgeführt werden. Dieser Prozess kann insbesondere durch die Verwendung des in dem Patentdokument 2 offenbarten DMA-Controllers realisiert werden.
  • Allerdings können, sogar wenn die Vielzahl von DMA-Übertragungen angemeldet und durchgeführt werden können, die Echtzeitcharakteristiken des Programms C möglicherweise nicht sichergestellt werden. Zum Beispiel in dem in einem Zeitdiagramm von 6 gezeigten Betriebsbeispiel wird die Fertigstellung der DMA-Übertragung nicht beendet, bis der Prozess des inneren Speichers 15 gestartet wird, da die DMA-Übertragungszeit des Programms B zu lang ist. Somit scheitert der Echtzeitprozess.
  • Um schließlich einen DMA-Buszugriff für eine vorgeschriebene Zeit für die DMA-Übertragung des Programms C sicherzustellen, gibt es kein anders sicheres Verfahren, als ein Verfahren, das eine Beschränkung auf die zeitliche Abstimmung des Startes und der Übertragungszeit (die Anzahl der übertragenen Worte) der DMA-Übertragungen, die durch die Programme A und B aktiviert werden, angewendet wird. Aus den oben beschriebenen Betrachtungen ist offensichtlich, dass nur die Zeiteinteilung (eine Einführung von VMP) der Ressourcen des Prozessors unzureichend ist und eine Zeitkontrolle (Zeitplanung – scheduling) der DMA-Übertragung zusammen betrachtet werden muss, wenn ein Echtzeitprozess ausgeführt wird.
  • Wie oben beschrieben, muss bei der Entwicklung der Programme A und B, wenn diese Programme eine DMA-Übertragungsanfrage ausführen, der Echtzeitprozess des Programms C so betrachtet werden, als würde er nicht fehlschlagen. Allerdings wird somit bei der Entwicklung der Programme A, B und C eine abhängige Beziehung zwischen ihnen erzeugt, so dass die Programme nicht unabhängig fortschreitend entwickelt werden können.
  • Auf solche eine Weise wird der Vorteil des VMP, dass die Programme einfach entwickelt werden, ernsthaft wegen der Zeiteinteilung bzw. -planung der DMA-Übertragungen verdorben.
  • Des Weiteren kann die Einheitszeit zum Verarbeiten verschiedene Werte haben, da die für den Prozess benötigte Zeit abhängig von dem Kodierungssystem oder der Ein- und Ausga bedatenrate verschieden ist. Folglich ist es in allen Fällen erforderlich, sicherzustellen, dass das System nicht fehlschlägt bzw. ausfällt.
  • Des Weiteren steigt die Entwicklung des Systems und die Anzahl von Inspektionsprozessen enorm an, wenn eine Vielzahl von Echtzeitprozessen zusammengedrängt werden. Zusätzlich dazu kann die Zeitplanung selber, wenn kein Fehler des Systems vorhanden ist, manchmal nur schwer ausgeführt werden.
  • Die EP-A-1 156 422 beschreibt einen high-performance DMA-Controller zum Steuern der Datenübertragung zwischen einem Hauptspeichermittel, das verschiedene Arten von Daten hält, und einer Vielzahl von lokalen Speichermitteln, der umfasst: eine Schnittstelle zum Generieren eines Steuersignals für das Hauptspeichermittel; eine Daten-Ein- und -Ausgabeeinheit (data I/O unit) zum Steuern der Ein- und Ausgabe von Daten; eine Parameterhalteeinheit zum Halten bzw. Fassen verschiedener Arten von Parametern, die für die Ausführung von Datenübertragung benötigt werden; einen Datenübertragungsanfragenempfänger zum Empfangen von Anfragen für Datenübertragung; und ein Startkommandoempfänger zum Empfangen eines Start-/Stoppkommandos des Datenübertragungscontrollers. Der Datenübertragungsanfragenempfänger empfängt von einer Datenübertragungsanfragenquelle Reservierungen von einer Vielzahl von Datenübertragungsanfragen, welche die Ausführung von Prioritätsinformationen und Informationen über den Speichermitteltyp beinhalten, wobei jede Information arbiträr durch die Übertragungsanfragenquelle gesetzt wird, und hält Informationen bezüglich des Speichermitteltyps in Verbindung mit jeder Ausführungsprioritätsinformation. Der Datenübertragungscontroller empfängt nur die Reservierungen von Datenübertragungsanfragen, bis ein Startbefehl von einem Systemcontroller ausgegeben wird, und, wenn der Startbefehl ausgegeben wird, dekodiert der Datenübertragungscontroller sequenziell die Informationen zum lokalen Speichermitteltyp der reservierten Datenübertragungsanfragen, die relativ hohe Ausführungsprioritäten haben, in chronologischer Reihenfolge der Datenübertragungsanfragen und nimmt dann sequenziell Parameter für die Datenübertragung von der Parameterhalteeinheit gemäß den Kodierungsergebnissen, um die Datenübertragung auszuführen.
  • Die US-B1-6 542 940 spezifiziert ein Verfahren zum Aufrechterhalten eines Ausführungsintervalls für einen Aufgabenanfrager an einer DMA. Ein Zeitgeber ist mit zwei Zählern ausgerüstet, einem, um das Ausführungsintervall zu pflegen bzw. aufrechtzuerhalten, und der zweite, um die Ausführungszeit einer Aufgabe in dem DMA zu verfolgen. Jede Aufgabe hat eine vorbestimmte Ausführungszeiterlaubnis. Ein Aufgabenbestätigungssignal (task acknowledge – TACK – signal) befähigt zu der Verfolgung. Ein Aufgabenanfragesignal (task request signal – TREQ) wird während jedes Ausführungsintervalls erzeugt, bis die Ausführungszeiterlaubnis beendet ist. Die Länge des zweiten Zählers ist weniger als die des ersten Zählers. In einer Ausführungsform wird ein Aufgabenfehlersignal (task error signal – TERR) dargestellt, wenn der erste Zähler abläuft, bevor die Ausführungszeiterlaubnis beendet ist.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung wird vorgeschlagen, indem die oben beschriebenen üblichen Probleme in Betracht gezogen werden. Es ist ein Ziel der vorliegenden Erfindung, einen DMA-Übertragungscontroller (ein DMA-Controller bzw. eine DMA-Steuereinrichtung) zur Verfügung zu stellen, in dem die Zeitplanung der DMA-Übertragungen nicht erdacht werden muss, in dem der Zeitablauf der DMA-Übertragungen in Echtzeitprozessen festgelegt wird, die Entwicklung oder der Transport der Programme einfach ist und ein System in den Echtzeitprozessen nicht scheitert.
  • Ein DMA-Übertragungscontroller gemäß der vorliegenden Erfindung umfasst: eine Übertragungsparameter-Speichereinheit zum Speichern eines Busbelegungs-Zeitwertes und von Übertragunsparametern eines Satzes oder einer Vielzahl von Sätzen von den DMA-Übertragungen für eine Vielzahl von logischen Prozessoren, die von einem Hauptprozessor durchgeführt werden; eine Datenübertragungs-Durchführeinheit zum Durchführen der DMA-Übertragungen auf der Basis der Übertragungsparameter; eine Steuereinheit zum Steuern des Empfangs und des Sendens der Übertragungsparameter sowie des Starts und der Unterbrechung der DMA-Datenübertragung; und eine Zeitmesseinheit, um damit zu beginnen, eine Busbelegungsablaufzeit zu messen, wenn eine erste DMA-Übertragung für jeden der logischen Prozessoren gestartet wird. Wenn die Busbelegungs-Ablaufzeit den Busbelegungs-Zeitwert erreicht, unterbricht die Steuereinheit die DMA-Übertragung, die ausgeführt wird, um die DMA-Übertragungen basierend auf den Übertragungsparametern zu starten, die auf die logischen Prozessoren einer vorgeschriebenen Sequenz bezogen sind.
  • Gemäß der oben beschriebenen Struktur kann, da die Busbelegungsablaufzeit für jeden der logischen Prozessoren auf den Busbelegungszeitwert begrenzt werden kann, die Abfolge der DMA-Übertragungen in Echtzeitprozessen ausgeführt werden, ein System kann davon abgehalten werden, außer Betrieb gesetzt zu werden, und die Echtzeitcharakteristiken der Prozesse können auf jeden Fall sichergestellt werden.
  • Des Weiteren müssen, wenn die Busbelegungs-Ablaufzeit den Busbelegungs-Ablaufzeitwert erreicht, um die derzeit ausgeführte DMA-Übertragung zu unterbrechen, da eine DMA-Übertragung, die anschließend bzw. in der Folge ausgeführt wird, automatisch ohne die Verwendung eines Programms gestartet wird, individuelle Programme sich nicht über die Abfolge der DMA-Übertragungen sorgen. Folglich kann die Entwicklung und die Wartung der Programme einfach durchgeführt werden.
  • Des Weiteren startet in dem DMA-Übertragungscontroller gemäß der vorliegenden Erfindung die Steuereinheit die DMA-Übertragung basierend auf den Transferparametern, die auf die logischen Prozessoren der vorgeschriebenen Sequenz bezogen sind, wenn alle DMA-Übertragungen, die auf einen bestimmten logischen Prozessor bezogen sind, abgeschlossen sind, bevor die Busbelegungs-Ablaufzeit den Busbelegungs-Ablaufzeitwert erreicht.
  • Gemäß der oben beschriebenen Struktur wird, sogar wenn es Raum in der Busbelegungszeit auf den Abschluss von allen DMA-Übertragungen hin gibt, die auf den bestimmten logischen Prozessor bezogen sind, eine Busbelegung abgeschlossen, um eine anschließend auszuführende DMA-Übertragung auszuführen. Somit kann eine verschwenderische Zeit für die Busbelegung eliminiert werden, um die Effizienz einer DMA-Übertragung zu verbessern.
  • Ein DMA-Übertragungscontroller gemäß der vorliegenden Erfindung umfasst: eine Übertragungsparameter-Speichereinheit zum Speichern der Anzahl von Übertragungsdaten, die dazu fähig sind, einen Bus zu belegen, und Übertragunsgparameter eines Satzes oder einer Vielzahl von Sätzen von den DMA-Übertragungen für eine Vielzahl von logischen Prozessoren, die durch einen Hauptprozessor ausgeführt werden; eine Datenübertragungs-Durchführeinheit, um die DMA-Übertragungen auf Basis der Transferparameter durchzuführen; eine Steuereinheit zum Steuern des Empfangens und Sendens der Übertragungsparameter und des Starts und der Unterbrechung der DMA-Übertragungen; und eine Anzahl Messeinheit zum Starten, so dass die Anzahl der Übertragungsdaten gemessen wird, wenn eine erste DMA-Übertragung für jeden der logischen Prozessoren gestartet wird. Wenn die Anzahl der Busübertragungsdaten die Anzahl der Übertragungsdaten erreicht, die dazu fähig sind, den Bus zu belegen, unterbricht die Steuereinheit die DMA-Übertragung, die der zeit ausgeführt wird, um die DMA-Übertragungen basierend auf den Transferparametern zu starten, die auf die logischen Prozessoren einer vorgeschriebene Sequenz bezogen sind.
  • Gemäß der oben beschriebenen Struktur kann, sogar wenn die Anzahl der Übertragungsdaten, die dazu fähig sind, den Bus zu belegen, anstatt des Busbelegungs-Zeitwertes verwendet wird, um die Anzahl der Busübertragungsdaten anstelle der Busbelegungs-Ablaufzeit zu messen, der Ablauf der DMA-Übertragungen äquivalent zu dem des DMA-Übertragungscontrollers zum Messen der Busbelegungs-Ablaufzeit ausgeführt werden. Dementsprechend können die gleichen Effekte, wie bei dem oben beschriebenen DMA-Übertragunscontroller, in Echtzeitprozessen erreicht werden.
  • Des Weiteren startet in dem DMA-Übertragungscontroller gemäß der vorliegenden Erfindung die Steuereinheit, die DMA-Übertragungen, basierend auf den Übertragungsparametern, die auf die logischen Prozessoren der vorgeschriebenen Sequenz bezogen sind, wenn alle DMA-Übertragungen, die auf einen bestimmten logischen Prozessor bezogen sind, abgeschlossen sind, bevor die Anzahl der Busübertragungsdaten die Anzahl der Übertragungsdaten erreicht, die dazu fähig sind, den Bus zu belegen.
  • Gemäß der oben beschriebenen Struktur können, sogar wenn die Anzahl der Übertragungsdaten, die dazu fähig sind, den Bus zu belegen, anstelle des Busbelegungs-Zeitwertes verwendet wird, um die Anzahl von Busübertragungsdaten anstelle der Busbelegungs-Ablaufzeit zu verwenden, Prozesse ausgeführt werden, die äquivalent zu denen des DMA-Übertragungscontrollers zum Messen der Busbelegungs-Ablaufzeit sind. Dementsprechend kann eine verschwenderische Zeit für eine Busbelegung eliminiert werden und eine Effizienz der DMA-Übertragung kann verbessert werden.
  • Des Weiteren ist in dem DMA-Übertragungscontroller gemäß der vorliegenden Erfindung die vorgeschriebenen Sequenz zyklisch und alle DMA-Übertragungsprozesse, die auf die logischen Prozessoren bezogen sind, für die eine Übertragungsanfrage nicht vorliegt, werden übersprungen.
  • Gemäß der oben beschriebenen Struktur kann, da nur die DMA-Übertragungen, die auf die logische Prozessoren bezogen sind, für welche DMA-Übertragungsanfragen vorliegen, zyklisch verarbeitet werden, eine verschwenderische Zeit für eine Busbelegung eliminiert werden und die Effizienz der DMA-Übertragung kann bis zu einem Maximum verbessert werden.
  • Des Weiteren reihen sich in dem DMA-Übertragungscontroller gemäß der vorliegenden Erfindung die Vielzahl von Sätzen von Übertragungsparametern für jeden aus der Vielzahl von Prozessoren zu einer FIFO-Struktur durch die Übertragunsparameter-Speichereinheit aneinander.
  • Gemäß der oben beschriebenen Struktur reihen sich die Übertragungsparameter zu der FIFO-Struktur aneinander, um die DMA-Übertragung zu steuern. Folglich ist ein Überschuss bzw. overhead, der für die Unterbrechung des Abschlusses der DMA-Übertragung bis zum Start der nächsten DMA-Übertragung notwendig ist, nicht erforderlich, so dass die Effizienz der DMA-Übertragung verbessert werden kann.
  • Des Weiteren informiert die Steuereinheit den Hauptprozessor über die Erzeugung eines Fehlers, wenn in dem DMA-Übertragungscontroller gemäß der vorliegenden Erfindung die Übertragungsparameter sich aneinanderreihen bzw. in einer Warteschlange befinden, indem sie die vorgeschriebenen maximale Anzahl der Übertragungsparameter übersteigen.
  • Gemäß der oben beschriebenen Struktur kann ein unerwarteter Betrieb, so wie die Beschädigung der sich schon aneinanderreihenden Übertragungsparameter, vermieden werden, da die Übertragungsparameter davon abgehalten werden, sich aneinanderzureihen, indem die vorgeschriebenen maximale Anzahl der Übertragungsparameter überschritten wird.
  • In dem DMA-Übertragungscontroller gemäß der vorliegenden Erfindung kann sich ein Satz von Übertragungsparametern vor der ersten Aneinanderreihung von Übertragungsparametern als eine neu gebildete Aneinanderreihung bzw. Warteschlange aneinanderreihen.
  • Gemäß der oben beschriebenen Struktur wird, da die Warteschlange von neuen Warteschlangen mit einer höheren Priorität ausgeführt wird als die der üblichen Übertragungsparameter, die DMA-Übertragung, die auf die Erzeugung eines Phänomens bezogen ist, das eine unverzügliche Beantwortung erfordert, als die neue Warteschlange behandelt und als allem anderen vorzuziehen ausgeführt.
  • In dem DMA-Übertragungscontroller gemäß der vorliegenden Erfindung informiert die Steuereinheit den Hauptprozessor über die Erzeugung eines Fehlers, während sich eine neu gebildete Warteschlange aneinanderreiht, wenn die Aneinanderreihungsfunktion der neu gebildeten Warteschlange weiter auszuführen ist.
  • Gemäß der oben beschriebenen Struktur kann, da die neu gebildete Warteschlange davon abgehalten werden kann, sich zweifach aneinanderzureihen, eine unerwartete Funktion, so wie die Beschädigung der schon aneinanderreihenden Übertragungsparameter, vermieden werden.
  • Der DMA-Übertragungscontroller gemäß der vorliegenden Erfindung umfasst des Weiteren einen Mechanismus zum Unterdrücken der Übertragungsparameter für jeden der logischen Prozessoren.
  • Gemäß der oben beschriebenen Struktur kann, da die Übertragungsparameter für jeden der logischen Prozessoren unterdrückt werden können, einem Fall entsprochen werden, in dem eine Anwendung während der Ausführung des Betriebs annulliert bzw. ungültig gemacht wird. Des Weiteren kann eine spekulative Durchführung einer DMA-Anfrage ausgeführt werden, um den Freiheitsgrad in der Vorbereitung der Anwendung zu erhöhen.
  • Des Weiteren umfasst der DMA-Übertragungscontroller gemäß der vorliegendne Erfindung einen Mechanismus zum individuellen Annullieren bzw. Aufheben oder Ungültigmachen der Übertragungsparameter.
  • Gemäß der oben beschriebenen Struktur kann, da die Übertragungsparameter individuell unterdrückt werden können, einem Fall entsprochen werden, in dem die Anzahl der Übertragungsdaten teilweise bzw. halbwegs oder auf halbem Wege verändert werden. Des Weiteren kann eine spekulative Ausführung einer DMA-Anfrage durchgeführt werden, um den Freiheitsgrad bei der Vorbereitung der Anwendung zu erhöhen.
  • Des Weiteren wird in dem DMA-Übertragungscontroller gemäß der vorliegenden Erfindung Aneinanderreihungssteuerungsinformation, die sich auf die sich aneinanderreihenden Übertragungsparameter bzw. Warteschlangen-Übertragungsparameter bezieht, in der Übertragungsparameter-Speichereinheit für jeden der logischen Prozessoren gespeichert, und die Aneinanderreihungs- bzw. Warteschlangen-Steuerungsinformation beinhaltet wenigstens die gültig/ungültig-Information der individuellen Übertragungsparameter.
  • Gemäß der oben beschriebenen Struktur kann, da die Übertragungsparameter individuell während der Ausführung der DMA-Übertragungen gelöscht werden können oder die Löschung von Warteschlangen durchgeführt werden kann, nur indem die Warteschlangen-Steuerungsinformation aktualisiert wird, die DMA-Übertragungsanfrage, die auf dem Weg der Warteschlangen angeordnet ist, gelöscht werden, ohne die Übertragungsparameter neu zu schreiben. Des Weiteren können eine Vielzahl von DMA-Übertragungsparametern einfach gelöscht werden.
  • Des Weiteren umfasst der DMA-Übertragungscontroller gemäß der vorliegenden Erfindung ferner einen Mechanismus zum Anhalten der Ausführung der DMA-Übertragungen, basierend auf den Übertragungsparametern für jeden der logischen Prozessoren.
  • Gemäß der oben beschriebenen Struktur werden, da die Ausführung der DMA-Übertragungen für jeden der logischen Prozessoren angehalten werden kann, wenn die Anwendung unterbrochen und dann wieder aufgenommen wird, Prozesse zum Zurückziehen, Löschen und Zurücksetzen der Übertragungsparameter während der DMA-Übertragungen jeweils nicht benötigt. Folglich können eine Haltefunktion und eine Zurücksetzungsfunktion auf hoher Geschwindigkeit umgeschaltet werden.
  • Des Weiteren umfasst der DMA-Übertragungscontroller gemäß der vorliegenden Erfindung ferner einen Mechanismus zum individuellen Anhalten der Ausführung der DMA-Übertragungen, basierend auf den Übertragungsparametern.
  • Gemäß der oben beschriebenen Struktur werden, da die Ausführung der DMA-Übertragungen individuell angehalten werden kann, wenn die Anwendung unterbrochen und dann wieder aufgenommen wird, Prozesse zum Zurückziehen, Löschen und Zurücksetzen der individuellen Übertragungsparameter während der DMA-Übertragungen jeweils nicht benötigt. Folglich können eine Haltefunktion und eine Zurücksetzungsfunktion bei hoher Geschwindigkeit umgeschaltet werden.
  • Des Weiteren umfasst der DMA-Übertragungscontroller gemäß der vorliegenden Erfindung einen Mechanismus zum Anhalten der Ausführung von allen DMA-Übertragungen, basierend auf den Übertragungsparametern.
  • Gemäß der oben beschriebenen Struktur kann, wenn die DMA-Übertragungen auf eine Fehlerbereinigung (debugging) oder Ähnliches unzufriedenstellend ausgeführt werden, diese Funktion dazu verwendet werden, die eigentliche Ausführung der DMA-Übertragungen zu überspringen.
  • Des Weiteren werden in dem DMA-Übertragungscontroller gemäß der vorliegenden Erfindung alle Prozesse übersprungen, die mit den DMA-Übertragungen in Verbindung stehen, deren Ausführung angehalten ist.
  • Gemäß der oben beschriebenen Struktur braucht die DMA-Übertragung, die mit den logischen Prozessoren in Verbindung steht, deren DMA-Übertragungsanfragen angehalten sind, nicht auf die Beendigung einer Busbelegungs-Zeit zu warten. Folglich kann die Effizienz der Verwendung des Busses verbessert werden.
  • Des Weiteren wird in dem DMA-Übertragungscontroller gemäß der vorliegenden Erfindung Warteschlangen-Steuerungsinformation, die auf die sich aneinanderreihenden Übertragungsparameter bezogen ist, in der Übertragungsparameter-Speichereinheit für jeden der logischen Prozessoren gespeichert und die Warteschlangen-Steuerungsinformation beinhaltet wenigstens die Anhalteinformation der individuellen Übertragungsparameter.
  • Gemäß der oben beschriebenen Struktur kann, da die Anhalteinformation der individuellen Übertragungsparameter in der Warteschlangen-Steuerungsinformation enthalten ist, die Ausführung der DMA-Übertragungen individuell einfach angehalten werden und eine Vielzahl von DMA-Übertragungsanfragen kann einfach angehalten werden.
  • Des Weiteren umfasst der DMA-Übertragungscontroller gemäß der vorliegenden Erfindung außerdem einen Mechanismus zum Wiederherstellen der Übertragungsparameter zu Werten auf das Starten der Ausführung der DMA-Übertragungen hin, wenn die Ausführung an einer Reihe von DMA-Übertragungen, die auf die logischen Prozessoren bezogen sind, abgeschlossen sind, und des Wiederholens der Ausführung der DMA-Übertragungen, basierend auf der Reihe von Übertragungsparametern.
  • Gemäß der oben beschriebenen Struktur werden die DMA-Übertragungen für jeden der logischen Prozessoren automatisch wiederholt ausgeführt, so dass ein Überschuss (overhead), der für die Unterbrechung des Abschlusses der DMA-Übertragung bis zum Start einer nächsten DMA-Übertragung erforderlich ist, eliminiert werden kann, und eine Übertragungseffizienz kann in der Reihe der wiederholt in der Anwendung ausgeführten DMA-Übertragungen verbessert werden.
  • Der DMA-Übertragungscontroller gemäß der vorliegenden Erfindung umfasst des Weiteren einen Mechanismus zum Wiederherstellen der Übertragungsparameter der DMA- Übertragungen zu Werten auf ein Starten der Ausführung der DMA-Übertragungen hin, wenn die Ausführung der individuellen DMA-Übertragungen abgeschlossen ist, und ein Wiederholen der Ausführung der DMA-Übertragungen, basierend auf den Übertragungsparametern.
  • Gemäß der oben beschriebenen Struktur werden die DMA-Übertragungen für jede der individuellen Übertragungsanfragen automatisch wiederholt ausgeführt, so dass ein Überschuss, der für die Unterbrechung des Abschlusses von der DMA-Übertragung bis zu dem Start einer nächsten DMA-Übertragung notwendig ist, eliminiert werden kann, und eine Effizienz der DMA-Übertragung kann für die individuellen DMA-Übertragungen verbessert werden, die wiederholt in der Anwendung ausgeführt werden.
  • Des Weiteren umfasst der DMA-Übertragungscontroller gemäß der vorliegenden Erfindung außerdem einen Mechanismus zum Unterdrücken der Unterbrechung der DMA-Übertragungen für jeden der logischen Prozessoren, ungeachtet des Busbelegungs-Zeitwertes oder der Anzahl von Übertragungsdaten, die dazu fähig sind, den Bus zu belegen.
  • Gemäß der oben beschriebenen Struktur kann, wenn eine hoch aufstrebende Anwendung unzufriedenstellend aktiviert wird, so dass die ihr zugeordneten DMA-Übertragungsanfragen einem Zeitunterteilungsprozess ausgesetzt werden, der Zeitunterteilungsprozess der DMA-Übertragungen temporär für jeden der logischen Prozessoren unterdrückt werden. Die hoch aufstrebenden DMA-Übertragungen können vorzugsweise verarbeitet und dann zu einer üblichen Funktion bzw. in einen üblichen Betrieb zurückgegeben werden.
  • Des Weiteren umfasst der DMA-Übertragungscontroller gemäß der vorliegenden Erfindung außerdem einen Mechanismus zum individuellen Unterdrücken der Unterbrechung der DMA-Übertragungen, ungeachtet des Busbelegungs-Zeitwertes oder der Anzahl von Übertragungsdaten, die dazu fähig sind, den Bus zu belegen.
  • Gemäß der oben beschriebenen Struktur wird, wenn eine hoch aufstrebende Anwendung unzufriedenstellend aktiviert ist, so dass die ihr zugeordneten DMA-Übertragungsanfragen einem Zeitunterteilungsprozess unterworfen werden, der Zeitunterteilungsprozess der DMA-Übertragungen temporär individuell unterdrückt. Folglich können die höchstaufstrebenden bzw. dringlichen DMA-Übertragungen vorzugsweise verarbeitet werden und dann an eine übliche Funktion bzw. in einen üblichen Betrieb zurückgegeben werden.
  • Des Weiteren beinhaltet in dem DMA-Übertragungscontroller gemäß der vorliegenden Erfindung die Datenübertragungs-Durchführeinheit eine Übertragungsparameter-Temporärspeichereinheit zum Halten eines Satzes von Übertragungsparametern und die Datenübertragungs-Durchführeinheit verwendet durch die Übertragungsparameter-Temporärspeichereinheit gehaltene Daten, um die DMA-Übertragung auszuführen.
  • Gemäß der oben beschriebenen Struktur kann, da auf die Übertragungsparameter-Speichereinheit während der Ausführung der DMA-Übertragung nicht zugegriffen zu werden braucht, die verbrauchte Leistung bzw. der verbrauchte Strom bezüglich eines Speicherzugriffes gespart werden. Des Weiteren wird, da die Aneinanderreihung der Übertragungsparameter von dem Prozessor nicht mit dem Zugriff wetteifert, eine Wartezeit auf der Seite des Prozessors verringert, um die Effizienz der CPU zu verbessern.
  • Des Weiteren beinhaltet der DMA-Übertragungscontroller gemäß der vorliegenden Erfindung eine Übertragungsparameter-Temporärladeeinheit, die als ein Puffer- bzw. Zwischenspeicher von einem Satz von Übertragungsparametern verwendet wird, wenn sich die Übertragungsparameter aneinanderreihen, und die Steuerungseinheit verwendet die in der Übertragungsparameter-Temporärladeeinheit gespeicherten Übertragungsparameter, um die Warteschlangen-Steuerungsinformation zu bilden, die auf die sich aneinanderreihenden Übertragungsparameter für jeden der logischen Prozessoren bezogen sind, und speichert die Übertragungsparameter und die Warteschlangen-Steuerungsinformation in der Übertragungsparameter-Speichereinheit.
  • Gemäß der oben beschriebenen Struktur braucht, da der Zwischenspeicher zum temporären Speichern eines Satzes von Übertragungsparametern zur Verfügung gestellt wird, wenn sich die Übertragungsparameter aneinanderreihen, auf die Übertragungsparameter-Speichereinheit nicht jedes Mal zugegriffen zu werden, wenn jeder Parameterwert gespeichert wird.
  • Des Weiteren wartet der Hauptprozessor auf einen Zugriff auf die Warteschlangen bzw. das Aneinanderreihen, wenn sich die Übertragungsparameter aneinanderreihen, während die Übertragungsparameter von der Übertragungsparameter-Temporärladeeinheit zu der Übertragungsparameter-Speichereinheit übertragen werden.
  • Gemäß der oben beschriebenen Struktur können die Werte der in der Übertragungsparameter-Temporärladeeinheit gespeicherten Übertragungsparameter davon abgehalten werden, sich zu ändern und somit eine unerwartete Funktion hervorzurufen, während die Übertragungsparameter in der Übertragungsparameter-Speichereinheit gespeichert sind.
  • Des Weiteren wird in dem DMA-Übertragungscontroller gemäß der vorliegenden Erfindung eine „Warteschlangen-Aktiv"-Markierung bzw. -Flag (queue active flag) für jeden der logischen Prozessoren zur Verfügung gestellt, die anzeigt, ob sich die Übertragungsparameter aneinanderreihen oder nicht, und die Steuerungseinheit überprüft zyklisch die „Warteschlange-Aktiv"-Flag, um zu entscheiden, ob es eine DMA-Übertragungsanfrage für jedem der logischen Prozessoren gibt oder nicht.
  • Gemäß der oben beschriebenen Struktur kann, nachdem die DMA-Übertragung, die auf jeden der Logischen Prozessoren bezogen ist, abgeschlossen wurde, entschieden werden, ob die auf einen nächsten logischen Prozessor bezogene DMA-Übertragungsanfrage existiert oder nicht. Wenn es keine DMA-Übertragungsanfrage gibt, muss auf die Übertragungsparameter-Speichereinheit nicht zugegriffen werden und ein Prozess kann bei hoher Geschwindigkeit durchgeführt und die verbrauchte Leistung bzw. der verbrauchte Strom können reduziert werden.
  • Des Weiteren wird in dem DMA-Übertragungscontroller gemäß der vorliegenden Erfindung, wenn einer der Übertragungsparameter, die auf die logischen Prozessoren bezogen sind, validiert wird, die „Warteschlange-Aktiv"-Flag für jeden der logischen Prozessoren gesetzt, und wenn all die DMA-Übertragungen betreffend den logischen Prozessor abgeschlossen sind, wird die „Warteschlangen-Aktiv-Flag" zurückgesetzt.
  • Gemäß der oben beschriebenen Struktur kann, da jede „Warteschlange-Aktiv"-Flag gesetzt wird, während all die DMA-Übertragungen von der ersten Erzeugung von DMA-Übertragungsanfragen, die auf jeden der logischen Prozessoren bezogen sind, abgeschlossen sind, fortwährend ordnungsgemäß angezeigt werden, ob die DMA-Übertragungsanfragen existieren oder nicht.
  • Des Weiteren wird in dem DMA-Übertragungscontroller gemäß der vorliegenden Erfindung die Setzungsanfrage für Zurücksetzen der „Warteschlange-Aktiv"-Flag gewartet, wenn eine der „Warteschlange-Aktiv"-Flags zurückgesetzt wird.
  • Gemäß der oben beschriebenen Struktur wird mit einer neuen Setzungsanfrage gewartet, wenn die „Warteschlange-Aktiv"-Flag gesetzt wird. Folglich kann das Auftreten einer uner warteten Funktion aufgrund eines unangemessenen Wechsels der „Warteschlange-Aktiv"-Flag vermieden werden.
  • Des Weiteren gibt es in dem DMA-Übertragungscontroller gemäß der vorliegenden Erfindung eine Pfad bzw. Weg, der dazu fähig ist, von außerhalb des DMA-Übertragungscontrollers direkt auf die „Warteschlange-Aktiv"-Flag zuzugreifen.
  • Gemäß der oben beschriebenen Struktur kann, wenn der Prozessor in eine Fehlerbeseitigungsbetriebsart (debug mode) eintritt, auf die „Warteschlange-Aktiv"-Flag direkt von außen zugegriffen werden. Folglich kann ein effektives Analysemittel bereitgestellt werden.
  • In dem DMA-Übertragungscontroller gemäß der vorliegenden Erfindung wird, wenn eine Inkonsistenz zwischen dem Zustand der „Warteschlange-Aktiv"-Flag und der Aneinanderreihungs-Steuerungsinformation erzeugt wird, der Zustand der „Warteschlange-Aktiv"-Flag in Übereinstimmung mit der Warteschlangen-Steuerungsinformation korrigiert.
  • Gemäß der oben beschriebenen Struktur wird, wenn die Inkonsistenz zwischen dem Zustand der „Warteschlange-Aktiv"-Flag und der Warteschlangen-Steuerungsinformation durch einen Betrieb in einer Fehlerbeseitigungsbetriebsart erzeugt wird, der Zustand der „Warteschlange-Aktiv"-Flag in Übereinstimmung mit der Warteschlangen-Steuerungsinformation korrigiert. Dementsprechend kann ein Prozessor davon abgehalten werden, in einen unangemessenen bzw. unvorschriftsmäßigen oder unzutreffenden Zustand gebracht zu werden.
  • Gemäß der vorliegenden Erfindung kann, da die Busbelegungs-Ablaufzeit für jeden der logischen Prozessoren auf den Busbelegungs-Zeitwert begrenzt ist, die Abfolge der DMA-Übertragungen in Echtzeitprozessen ausgeführt werden, ein System kann davon abgehalten werden, zusammenzubrechen, und die Echtzeitcharakteristiken der Prozesse können auf jeden Falls sichergestellt werden.
  • Des Weiteren brauchen, wenn die Busbelegungs-Ablaufzeit den Busbelegungs-Zeitwert erreicht, um die derzeit durchgeführte DMA-Übertragung zu unterbrechen, da eine anschließend auszuführende DMA-Übertragung automatisch ohne die Verwendung eines Programms gestartet wird, individuelle Programme sich nicht mit der Abfolge der DMA-Übertragungen zu befassen. Folglich kann die Entwicklung oder Wartung der Programme einfach durchgeführt werden.
  • Des Weiteren reihen sich gemäß der vorliegenden Erfindung die Übertragungsparameter der FIFO-Struktur an, um die DMA-Übertragung zu steuern. Somit ist ein Überschuss, der für die Unterbrechung des Abschlusses einer DMA-Übertragung bis zum Start einer nächsten DMA-Übertragung notwendig ist, nicht erforderlich, so dass die Effizienz der DMA-Übertragung verbessert werden kann.
  • Des Weiteren wird gemäß der vorliegenden Erfindung, da die Übertragungsparameter individuell oder für jeden der logischen Prozessoren annulliert werden können, einem Fall entsprochen, in welchem eine Anwendung auf halbem Wege ungültig gemacht wird. Des Weiteren kann eine spekulative Ausführung einer DMA-Anfrage ausgeführt werden, um den Freiheitsgrad in der Vorbereitung der Anwendung zu erhöhen.
  • Des Weiteren werden gemäß der vorliegenden Erfindung, da die Ausführung der DMA-Übertragungen individuell für jeden der logischen Prozessoren angehalten werden kann, wenn die Anwendung unterbrochen und wieder aufgenommen wird, Prozesse zum Zurückziehen, Löschen und Zurücksetzen der individuellen Übertragungsparameter während der DMA-Übertragungen jeweils nicht benötigt. Folglich können eine Haltefunktion und eine Zurücksetzungsfunktion auf hoher Geschwindigkeit umgeschaltet werden.
  • Des Weiteren werden gemäß der vorliegenden Erfindung die DMA-Übertragungen wiederholt für jeden der logischen Prozessoren oder individuell ausgeführt, so dass ein Überschuss, der für die Unterbrechung des Abschlusses der DMA-Übertragung bis zum Start einer nächsten DMA-Übertragung erforderlich ist, eliminiert werden kann und die Effizienz der DMA-Übertragung in der Reihe der DMA-Übertragungen, die in der Anwendung ausgeführt werden, verbessert werden kann.
  • Des Weiteren kann gemäß der vorliegenden Erfindung, wenn eine hoch aufstrebende Anwendung unzufriedenstellend aktiviert wird, so dass die sie begleitenden DMA-Übertragungsanfragen einem Zeitunterteilungsprozess ausgesetzt werden, der Zeitunterteilungsprozess der DMA-Übertragungen temporär individuell oder für jeden der logischen Prozessoren unterdrückt werden. Die hoch aufstrebenden DMA-Übertragungen können vorzugsweise verarbeitet und dann an eine übliche Funktion bzw. in den üblichen Betrieb zurückgegeben werden.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm, das die Struktur eines DMA-Übertragungscontrollers gemäß einer ersten Ausführungsform der vorliegenden Erfindung zeigt;
  • 2 ist ein Blockdiagramm, das ein strukturelles Beispiel eines Systems zeigt, auf dem ein üblicher DMA-Controller angebracht ist;
  • 3 ist ein Zeitdiagramm, das einen Betrieb des üblichen DMA-Übertragungscontrollers in einem Programm zeigt, das unter einer Zeitunterteilung ausgeführt wird;
  • 4 ist ein Zeitdiagramm, das einen Betrieb des üblichen DMA-Übertragungscontrollers zeigt, wenn ein spezifisches Programm einen DMA-Bus für eine lange Zeit belegt;
  • 5 ist ein Zeitdiagramm, das eine Betrieb des üblichen DMA-Übertragungscontrollers zeigt, der eine Funktion zum Anmelden und Ausführen einer Vielzahl von DMA-Übertragungen hat;
  • 6 ist ein Zeitdiagramm, das einen Betrieb des üblichen DMA-Übertragungscontrollers zeigt, wenn ein Echtzeitprozess abgebrochen wird, sogar wenn die Funktion zum Anmelden und Ausführen der Vielzahl von DMA-Übertragungen zur Verfügung gestellt wird;
  • 7 ist eine Speicherabbildung, die ein Beispiel einer Datenreihe von Übertragungsparametern zeigt, die in einer Übertragungsparameter-Speichereinheit in der ersten Ausführungsform der vorliegenden Erfindung gespeichert sind;
  • 8 ist ein Zeitdiagramm, das ein Funktionsbeispiel des DMA-Übertragungscontrollers gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt;
  • 9 ist ein Zeitdiagramm, das ein Funktionsbeispiel zeigt, in dem die DMA-Übertragungen in dem DMA-Übertragungscontroller gemäß der ersten Ausführungsform der vorliegenden Erfindung wiederholt unterbrochen und wiederaufgenommen werden;
  • 10 ist eine Speicherabbildung, die ein Beispiel eines Datenfeldes von Übertragungsparametern zeigt, die in einer Übertragungsparameter-Speichereinheit in einer zweiten Ausführungsform der vorliegenden Erfindung gespeichert sind;
  • 11 ist ein Zeitdiagramm, das ein Funktionsbeispiel des DMA-Übertragungscontrollers gemäß der zweiten Ausführungsform der vorliegenden Erfindung zeigt.
  • 12 ist eine Speicherabbildung, die ein Beispiel eines Datenfeldes von Übertragungsparametern zeigt, in dem eine aufstrebende Warteschlange sich in der zweiten Ausführungsform der vorliegenden Erfindung aneinanderreihen kann;
  • 13 ist ein Blockdiagramm, das die Struktur des DMA-Übertragungscontrollers gemäß der zweiten Ausführungsform der vorliegenden Erfindung zeigt;
  • 14 ist eine Speicherabbildung, die ein Beispiel eines Datenfeldes von Übertragungsparametern zeigt, die in einer Übertragungsparameter-Speichereinheit in einer dritten Ausführungsform der vorliegenden Erfindung gespeichert sind;
  • 15 ist eine Speicherabbildung, die ein Beispiel eines Datenfeldes von Übertragungsparametern zeigt, wenn aufstrebende Warteschlangen sich in einer dritten Ausführungsform der vorliegenden Erfindung aneinanderreihen;
  • 16 ist ein Diagramm, das ein strukturelles Beispiel einer Warteschlangen-Steuerungsinformation zeigt, die Haltemarkierungen für jede der DMA-Übertragungsanfragen in einer vierten Ausführungsform der vorliegenden Erfindung hat;
  • 17 ist eine Speicherabbildung, die ein Beispiel eines Datenfeldes von Übertragungsparametern zeigt, die in einer Übertragungsparameter-Speichereinheit in einer fünften Ausführungsform der vorliegenden Erfindung gespeichert sind;
  • 18 ist ein Blockdiagramm, das die Struktur eines DMA-Übertragungscontrollers gemäß einer siebten Ausführungsform der vorliegenden Erfindung zeigt;
  • 19 ist ein Blockdiagramm, das die Struktur eines DMA-Übertragungscontrollers gemäß einer achten Ausführungsform der vorliegenden Erfindung zeigt;
  • 20 ist ein Diagramm, das das strukturelle Beispiel einer Übertragungsparameter-Temporärladeeinheit 124 in der achten Ausführungsform der vorliegenden Erfindung zeigt,
  • 21 ist ein Blockdiagramm, das die Struktur des DMA-Übertragungscontrollers gemäß einer neunten Ausführungsform der vorliegenden Erfindung zeigt;
  • 22 ist ein Blockdiagramm, das ein strukturelles Beispiel zeigt, das einen Pfad hat, durch den auf eine „Warteschlange-Aktiv"-Flag in der neunten Ausführungsform der vorliegenden Erfindung von außerhalb direkt zugegriffen werden kann;
  • 23 ist ein Diagramm, das die Zustände der Übertragungsparameter in der dritten Ausführungsform der vorliegenden Erfindung zeigt; und
  • 24 ist ein Diagramm, das die Zustände der Übertragungsparameter in der dritten Ausführungsform der vorliegenden Erfindung zeigt.
  • In den Zeichnungen bezieht sich ein Bezugszeichen 1 auf eine Mikroprozessoreinheit; 2 auf einen externen DMA-Controller; 3 auf einen peripheren Schaltkreis; 4 auf einen externen Speicher; 5 auf einen peripheren Schaltkreis; 11 auf einen Prozessor; 12, 12a, 12b, 12c, 12e auf einen DMA-Übertragungscontroller; 13 auf eine externe DMA-Bus-Schnittstelle; 14, 15, 16 auf einen inneren Speicher; 121 auf eine Übertragungsparameter-Speichereinheit; 122 auf eine Datenübertragungs-Durchführeinheit; 123, 123a, 123b, 123c, 123e auf eine Steuereinheit; 124 auf eine Übertragungsparameter-Temporärladeeinheit; 125 auf eine Speicherunterstützungseinheit; 1221 auf eine Übertragungsparameter-Temporärspeichereinheit; und 1231 auf eine Zeitmesseinheit.
  • Detaillierte Beschreibung der bevorzugten Ausführungsformen
  • Nun werden unter Bezug auf die Zeichnungen Ausführungsformen der vorliegenden Erfindung beschrieben. Der folgenden Beschreibung der Zeichnungen werden gleiche oder ähnliche Teile mit den gleichen oder ähnlichen Bezugszeichen bezeichnet und die duplizierte Beschreibung der gleichen Teile wird weggelassen.
  • In jeder der Ausführungsformen der vorliegenden Erfindung wird 2 als eine Struktur eines Systems unterstellt. Es wird nämlich als ein Funktionsbeispiel in jeder der Ausführungsformen ein Fall angenommen, in dem komprimierten Audiodaten von einem Speichergerät (zum Beispiel einer Halbleiterspeicherkarte) durch die Verwendung des in 2 gezeigten Systems gelesen, dekodiert und dann die dekodierten Daten an einen Audioschnittstellenschaltkreis ausgegeben werden. Ein peripherer Schaltkreis 3 dient als ein Schnittstellenschaltkreis zu der Halbleiterspeicherkarte und ein peripherer Schaltkreis 5 dient als der Audioschnittstellenschaltkreis.
  • (Erste Ausführungsform)
  • 1 ist ein Blockdiagramm, das die Struktur eines DMA-Übertragungscontrollers gemäß einer ersten Ausführungsform zeigt. In 1 sind ein Prozessor 11 und ein DMA-Übertragungscontroller (DMA-Controller) 12 mit einem inneren Prozessorbus und einem DMA-Bus verbunden. Diese Teile sind verkörpert als ein Teil einer Mikroprozessoreinheit (microprocessor unit – MPU) 1, die in 2 gezeigt ist und durch die gleichen Bezugszeichen wie die in 2 bezeichnet ist.
  • Der DMA-Übertragungscontroller 12 beinhaltet eine Übertragungsparameter-Speichereinheit 121, eine Datenübertragungs-Durchführeinheit 122 und eine Steuereinheit 123. Des Weiteren ist die Steuereinheit 123 so gebildet, dass sie eine Zeitmesseinheit 1231 beinhaltet. Der innere Prozessorbus, die Datenübertragungs-Ausführeinheit 122 und die Zeitmesseinheit 1231 sind mit der Übertragungsparameter-Speichereinheit 121 in dem DMA-Übertragungscontroller 12 verbunden.
  • Die Übertragungsparameter-Speichereinheit 121 speichert die Übertragungsparameter der DMA-Übertragungen und Busbelegungszeit, die von dem Prozessor 11 für jeden der logischen Prozessoren übertragen werden. 7 ist eine Speicherabbildung bzw. Speicherkartierung, die das Beispiel eines Datenfeldes (array) der Übertragungsparameter zeigt, die in der Übertragungsparameter-Speichereinheit gespeichert sind.
  • Die Datenübertragungs-Durchführungseinheit 122 bildet Adressen oder Steuersignale, die zum Durchführen der DMA-Übertragungen in Übereinstimmung mit einer Steuerung von der Steuerungseinheit 123 notwendig sind. Die Steuereinheit 123 steuert die Ein- und Ausgabe von Daten, die in der Übertragungsparameter-Speichereinheit 121 gespeichert sind, sowie den Start und die Unterbrechung der DMA-Übertragungen, die von der Datenübertragungs-Durchführeinheit 122 ausgeführt werden. Des Weiteren hat der DMA-Übertragungscontroller gemäß dieser Ausführungsform eine Funktion zum Anmelden und Durchführen von dem DMA-Übertragungen, wie es in dem Patentdokument 2 offenbart ist.
  • 8 ist ein Zeitdiagramm, das ein Funktionsbeispiel des DMA-Übertragungscontrollers gemäß dieser Ausführungsform zeigt. In diesem Beispiel sind jeweils drei verschiedene Programme A, B und C zu den logischen Prozessoren 0, 1 und 2 zugeteilt. Die DMA-Busbelegungszeiten der Programme werden jeweils so festgelegt, dass sie eine Beziehung von A:B:C = 1:1:3 haben. Die Werte der Busbelegungszeit werden in der Übertra gungsparameter-Speichereinheit 121 durch den Prozessor 11 gespeichert, wie in 7 gezeigt ist.
  • Die Busbelegungszeit des logischen Prozessors 3 bis 15, dem keine Programme zugeteilt sind, ist 0. Die Zeitmesseinheit 1231 liest die Busbelegungszeit zyklisch in der Reihenfolge der Anzahl der logischen Prozessoren, um ununterbrochen die Busbelegungszeit für jeden der logischen Prozessoren zu messen. Die Belegungsrechte des DMA-Bus sind jeweils den Programmen zugeteilt, wie in dem alleruntersten Abschnitt von 8 gezeigt.
  • Zuerst fragt das Programm C beim DMA-Übertragungscontroller 12 nach, eine DMA-Übertragung von einem inneren Speicher 14 zu einem peripheren Schaltkreis 5 durchzuführen. Zu diesem Zeitpunkt überträgt der Prozessor 11 einen Satz von Übertragungsparametern, die dazu notwendig sind, die DMA-Übertragungen an dem DMA-Übertragungscontroller 12 durchzuführen, und diese Übertragungsparameter werden in der Übertragungsparameter-Speichereinheit 121 gespeichert. Der eine Satz von Übertragungsparametern beinhaltet solche Gegenstände, wie unten beschrieben.
    • (1) Startadresse einer tragenden Seite (ein innerer Speicher 14)
    • (2) Startadresse des Übertragungsziels (ein peripherer Schaltkreis 5)
    • (3) Übertragungssystem
    • (4) Die Anzahl der Übertragungsworte.
  • Wenn die Zuteilung des DMA-Busses zum Programm C umgeschaltet wird, liest die Steuereinheit 123, das die Anzahl der Übertragungsworte nicht 0 ist, um der Datenübertragungs-Durchführeinheit 122 zu erlauben, die DMA-Übertragung zu starten. Während die DMA-Übertragung fortschreitet, aktualisiert die Datenübertragungs-Durchführeinheit 122 die Adresse der übertragenen Seiten, die Adresse des Übertragungszieles und die Anzahl von Übertragungsworten, die in der Übertragungsparameter-Speichereinheit 122 gespeichert sind, zu jedem bzw. irgendeinem Zeitpunkt. Wenn die Anzahl der Übertragungsworte gleich 0 ist, informiert die Datenübertragungs-Durchführeinheit die Steuereinheit 123 über den Abschluss der DMA-Übertragung. Des Weiteren informiert die Steuereinheit 123 den Prozessor 11 über eine Unterbrechung (interrupt).
  • Das Programm C empfängt die Information über die Unterbrechung und verlangt dann nach einer DMA-Übertragung als eine nächste DMA-Übertragung von einem externen Speicher zu dem inneren Speicher 14. Die Prozedur dieser Anfrage ist die gleiche, wie die einer ersten DMA-Übertragung. Wenn der DMA-Bus wieder dem Programm C zugeteilt wird, wird die DMA-Übertragung durchgeführt.
  • Des Weiteren verlangt das Programm B, während die Zeit fortschreitet, nach der DMA-Übertragung und die DMA-Übertragung wird durchgeführt. Allerdings wird die DMA-Übertragung nicht zu einer Zeit abgeschlossen, da die Busbelegungszeit des Programms B relativ kurz ist. Wenn die Busbelegungsablaufzeit der DMA-Übertragung die Busbelegungszeit erreicht, steuert die Steuereinheit 123 die Datenübertragungs-Durchführeinheit 122 so, dass die DMA-Übertragung unterbrochen wird. Zu diesem Zeitpunkt verbleiben die Übertragungsworte wegen des zwischenzeitlichen Fortschrittes der Adresse der übertragenen Seite in der Übertragungsparameter-Speichereinheit 121, wenn der DMA-Bus wieder dem Programm B zugeteilt wird, kann die DMA-Übertragung ununterbrochen bzw. fortgesetzt durchgeführt werden.
  • Hier in dem in 8 gezeigten Zeitdiagramm wird, wie in dem untersten Abschnitt der Figur gezeigt, die Busbelegungszeit erzwungenermaßen als eine Zeitnische zum Durchführen der DMA-Übertragungen für jeden der logischen Prozessoren gegeben. Allerdings wird in diesem Verfahren, wenn all die DMA-Übertragungen, die auf einen bestimmten logischen Prozessor bezogen sind, abgeschlossen werden, bevor die Busbelegungs-Ablaufzeit einen Busbelegungs-Zeitwert erreicht, Zeitlücken in der für die DMA-Übertragung gegebenen Zeitnische erzeugt. Deswegen kann in dem System zum mechanischen Vergeben der Zeitnische für die DMA-Übertragungen an jeden der logischen Prozessoren die maximale Betriebs- bzw. Durchsatzrate des DMA-Busses nicht erreicht werden. Somit kann eine erreichbare Echtzeitleistung möglicherweise gemindert werden.
  • Folglich wird gemäß der vorliegenden Erfindung, wenn all die DMA-Übertragungen, die auf einen bestimmten logischen Prozessor bezogen sind, abgeschlossen werden, bevor die Busbelegungs-Ablaufzeit den Busbelegungs-Zeitwert erreicht, eine DMA-Übertragung, die auf einen nächsten logischen Prozessor bezogen ist, so gesteuert, dass sie unverzüglich startet. Die Sequenz der logischen Prozessoren ist in der Reihenfolge von Nummern und ist zyklisch. Des Weiteren werden alle DMA-Übertragungsprozesse, die auf den logischen Prozessor bezogen sind, in dem die DMA-Übertragungsparameter nicht gespeichert sind, so gesteuert, dass sie übersprungen werden. Auf solch eine Art und Weise kann die Betriebs- bzw. Funktionsrate des DMA-Busses bis zu einem Limit bzw. einer Höchstgrenze angehoben werden.
  • Wenn die DMA-Übertragungen des Programms B in Übereinstimmung mit den Steuerungsfunktionen unterbrochen oder abgeschlossen werden, falls erkannt wird, dass die Übertragungsparameter des Programms C in der Übertragungsparameter-Speichereinheit 121 gespeichert sind, steuert die Steuereinheit 123 die Datenübertragungs-Durchführeinheit 122 so, dass sie mit den DMA-Übertragungen des Programms C beginnt.
  • Wenn allerdings die DMA-Übertragungen des Programms B unterbrochen werden, falls die Übertragungsparameter des Programms C noch nicht in der Übertragungsparameter-Speichereinheit gespeichert sind, steuert die Steuereinheit 123 derart, dass die DMA-Übertragung auf Basis eines nächsten Übertragungsparameters gestartet wird. Allerdings steuert die Steuereinheit normal so, dass die DMA-Übertragungen des Programms B gestartet werden, weil andere Übertragungsparameter noch nicht gesetzt sind. 9 ist ein Zeitdiagramm, das ein Funktionsbeispiel zeigt, in welchem die DMA-Übertragungen in diesem Fall wiederholt unterbrochen und wieder aufgenommen werden.
  • Wie oben beschrieben, überprüft die Steuereinheit 123 zyklisch die Übertragungsparameter, die in der Übertragungsparameter-Speichereinheit 121 angemeldet und gespeichert sind. Dann steuert die Steuereinheit die Datenübertragungs-Durchführeinheit 122 so, dass sie mit einer nächsten DMA-Übertragung startet, in der die Anzahl der Übertragungsworte nicht 0 ist. Dementsprechend kann, wenn die Busbelegungs-Ablaufzeit die Busbelegungszeit erreicht, um die DMA-Übertragung zu unterbrechen, eine nächste DMA-Übertragung unverzüglich gestartet werden, ohne das Programm zu verwenden.
  • Des Weiteren kann in dem DMA-Übertragungscontroller gemäß dieser Ausführungsform als ein Zeitüberwachungsverfahren, das zu einem Verfahren zum Messen der Busbelegungs-Ablaufzeit durch die Verwendung der Zeitmesseinheit 1231 äquivalent ist, ein Verfahren zum Messen der Anzahl von Busübertragungsdaten eingesetzt werden. In diesem Fall wird die Anzahl von Übertragungsdaten, die dazu fähig sind, den Bus zu belegen, in der Übertragungsparameter-Speichereinheit 121 anstelle des Busbelegungs-Zeitwertes gespeichert. Die Zeitmesseinheit 1231 misst die Anzahl der Busübertragungsdaten in den DMA-Übertragungen. Wenn die Anzahl der Busübertragungsdaten die Anzahl von Übertragungs daten erreicht, die dazu fähig sind, den Bus zu belegen, wird eine derzeit durchgeführte DMA-Übertragung unterbrochen, um mit einer nächsten DMA-Übertragung zu beginnen.
  • In der obigen Beschreibung werden in den Übertragungsparametern, die in der Übertragungsparameter-Speichereinheit 121 angemeldet und gespeichert sind, die Anzahl der Worte überprüft, um zu entscheiden, ob es eine eigentliche DMA-Übertragungsanfrage bzw. -anforderung gibt oder nicht. Allerdings kann anstelle des oben beschriebenen Verfahrens ein Teil der Übertragungsparameter, zum Beispiel eine DMA-Übertragungsanfragen-Gültigkeitsmarkierung in dem Übertragungssystem zur Verfügung gestellt werden. Dies kann auf andere Ausführungsformen, wie unten beschrieben, angewendet werden.
  • Wie oben beschrieben, wird in dem DMA-Übertragungscontroller gemäß dieser Ausführungsform die DMA-Belegungszeit oder die Anzahl von Übertragungsdaten, die dazu fähig sind, den Bus äquivalent dazu zu belegen, jedem Programm zugeteilt und so gesteuert, dass eine Zeitplanung simultan ausgeführt wird. Folglich braucht in den individuellen Programmen (A, B, C) eine Zeitplanung der DMA-Übertragungen nicht in Betracht gezogen zu werden. Des Weiteren wird eine ausreichende Busbelegungszeit dem Programm (C) zugewiesen, das einen Echtzeitprozess erfordert, so dass eine Fehlfunktion des Systems in dem Echtzeitprozess vermieden werden kann.
  • (Zweite Ausführungsform)
  • In der oben beschriebenen ersten Ausführungsform kann der DMA-Übertragungscontroller zyklisch die DMA-Übertragungen auf Basis von Übertragungsparametern starten, die in der Übertragungsparameter-Speichereinheit angemeldet und gespeichert sind, ohne ein Programm zu benutzen. Allerdings verlieren die Übertragungsparameter, in denen die DMA-Übertragungen abgeschlossen werden und die Anzahl der Übertragungsworte gleich 0 ist ihre Effekte bzw. Auswirkungen. Folglich müssen durch ein Unterbrechen des Prozessors neue Übertragungsparameter empfangen werden.
  • Zum Beispiel in dem Zeitdiagramm, das in 8 gezeigt ist, benötigt der Prozessor, nachdem die DMA-Übertragung von einem inneren Speicher 15 an den peripheren Schaltkreis 5 abgeschlossen ist, dass er unterbrochen wird, um eine DMA-Übertragungsanfrage von dem inneren Speicher an den äußeren Speicher 15 anzumelden. In dieser Ausführungsform in dem in 1 gezeigten DMA-Übertragungscontroller meldet ein logischer Prozessor eine Vielzahl von DMA-Übertragungsanforderungen an. Folglich kann eine Reihe von darauf bezogenen DMA-Übertragungen durchgeführt werden, ohne den Prozessor zu unterbrechen.
  • 10 ist eine Speicherabbildung, die ein Beispiel eines Datenfeldes (array) von Übertragungsparametern zeigt, die in einer Übertragungsparameter-Speichereinheit in einem DMA-Übertragungscontroller gemäß einer zweiten Ausführungsform der vorliegenden Erfindung gespeichert sind. In diesem Beispiel können sich sechs Sätze von Übertragungsparametern bei einem logischen Prozessor 1 aneinanderreihen bzw. in einer Warteschlange aufreihen. Da eine DMA-Übertragung basierend auf der Warteschlange von Übertragungsparametern kontinuierlich als eine Reihe von DMA-Übertragungen ausgeführt wird, wird eine Busbelegungszeit den sechs Sätzen von Übertragungsparametern gegeben.
  • Die Warteschlange der Übertragungsparameter hat eine FIFO-Struktur. Zum Beispiel hat eine Steuereinheit 123 Zeiger von einer Warteschlangenoberseite bzw. einem Warteschlangenende und einer Warteschlangenunterseite bzw. einem Warteschlangenanfang für jeden der logischen Prozessoren und steuert derart, dass die Warteschlangenoberseite auf ein Laden der Übertragungsparameter hin aktualisiert wird und die Warteschlangenunterseite auf einen Abschuss der DMA-Übertragung hin aktualisiert wird.
  • 11 ist ein Zeitdiagramm, das ein Funktionsbeispiel des DMA-Übertragungscontrollers gemäß dieser Ausführungsform zeigt. In diesem Beispiel in dem System von einem in 2 gezeigten strukturellen Beispiel werden die drei verschiedenen Programme A, B und C jeweils den logischen Prozessoren 0, 1 und 2 zugewiesen und die Übertragungsparameter davon werden jeweils in der Übertragungsparameter-Speichereinheit 121 gespeichert.
  • Das Programm A führt nicht die DMA-Übertragungen aus. Eine relativ kurze Busbelegungszeit wird dem Programm B gegeben. In dem Programm C, das Echtzeitcharakteristiken erfordert, werden zwei Sätze von Übertragungsparametern zu dem logischen Prozessor 2 gesetzt, so dass die DMA-Übertragungen an den peripheren Schaltkreis 5 von den inneren Speichern 14 und 15 und die DMA-Übertragungen von dem externen Speicher an die inneren Speicher 14 und 15 kontinuierlich durchgeführt werden können und eine Busbelegungszeit, die für die beiden DMA-Übertragungen notwendig ist, gegeben wird.
  • Die Übertragungsparameter des logischen Prozessors 2 reihen sich in solch einer Art und Weise aneinander. Folglich wird ein Überschuss (overhead), der für eine Unterbrechung des Abschlusses der DMA-Übertragungen und den Start der DMA-Übertragungen notwendig ist, zwischen den DMA-Übertragungen von den inneren Speichern 14 und 15 zu dem peripheren Schaltkreis 5 und den DMA-Übertragungen von dem externen Speicher an die inneren Speicher 14 und 15 eliminiert. Dementsprechend kann die Effizienz der DMA-Übertragung verbessert werden.
  • Das oben beschriebene Programm C erfordert die Echtzeitcharakteristiken. Allerdings kann abhängig von der Anwendung eine unverzügliche Reaktion auf das Auftreten eines Phänomens vonnöten sein. In diesem Fall müssen die DMA-Übertragungen per Übertragungsparameter so vorbereitet werden, dass sie den Bedürfnissen des auftretenden Phänomens genügen, um auf eine bevorzugte Art und Weise ausgeführt zu werden. Dafür muss ein Mechanismus zur Verfügung gestellt werden, in dem die Übertragungsparameter, die eine höhere Priorität als die Warteschlange der üblichen Übertragungsparameter haben, sich in einer neuen Warteschlange als eine neu gebildete bzw. aufstrebende Warteschlange des logischen Prozessors aneinanderreihen können.
  • 12 ist eine Speicherabbildung, die ein Beispiel eines Datenfeldes von Übertragungsparametern zeigt, durch welche die oben beschriebene neu gebildete bzw. aufstrebende Warteschlange sich aneinanderreihen kann.
  • In 12 können sich die Übertragungsparameter der neu gebildeten Warteschlangen vor den ersten Übertragungsparametern der üblichen bzw. normalen Aneinanderreihung des logischen Prozessors aneinanderreihen. Auf solch eine Weise wird der Aneinanderreihungs- bzw. Warteschlangen-Mechanismus der neu gebildeten bzw. aufstrebenden Warteschlangen zur Verfügung gestellt, so dass die DMA-Übertragung, die zu dem auftretenden Phänomen gehört, auf die meist zu bevorzugende Art und Weise durchgeführt werden kann.
  • Auf der anderen Seite gibt es, wenn die Warteschlange bzw. Aneinanderreihung der Übertragungsparameter gemäß dieser Ausführungsform unbeschränkt durchgeführt wird, die Möglichkeit, dass die Anzahl der Übertragungsparameter die maximale Anzahl von Übertragungsparametern übersteigt. Wenn es festgestellt wird, dass die Warteschlange der Übertragungsparameter durch ein Übersteigen der maximalen Anzahl der Übertragungsparameter auszuführen ist, wird der Prozessor davon als ein Fehler informiert. Des Weiteren wird, während die neu gebildete Warteschlange sich aneinanderreiht, wenn eine neu gebildete bzw. aufstrebende Warteschlange aneinanderzureihen ist, dies festgestellt, um den Prozessor darüber als ein Fehler zu informieren.
  • 13 ist ein Blockdiagramm, das die Struktur des DMA-Übertragungscontrollers gemäß der zweiten Ausführungsform der vorliegenden Erfindung zeigt und eine Funktion zum Detektieren einer Abnormalität in der Warteschlange der Übertragungsparameter, wie oben beschrieben, und des Informierens des Prozessors darüber durch eine Unterbrechung hat.
  • In dem in 13 gezeigten DMA-Übertragungscontroller 12a werden während der Unterbrechung eines Prozessors 11 die oben beschriebene Information über die Abnormalität einer üblichen Warteschlange und die Information über die Abnormalität der neu gebildeten Warteschlange zugefügt und eine darauf bezogene Steuerungsfunktion wird einer Steuereinheit 123a hinzugefügt. Diese Funktionen werden zur Verfügung gestellt, um eine unerwartete Funktion, so wie die Beschädigung von schon aneinandergereihten Übertragungsparametern, zu verhindern.
  • (Dritte Ausführungsform)
  • In dieser Ausführungsform kann eine DMA-Übertragungsanfrage gelöscht werden. Folglich kann einem Fall entsprochen werden, in dem eine Anwendung auf halbem Wege ungültig gemacht wird oder ein Fall, in dem die Anzahl der Übertragungsparameter auf halbem Wege verändert wird. Des Weiteren kann eine spekulative Ausführung einer DMA-Anfrage durchgeführt werden, um einen Freiheitsgrad in der Vorbereitung bzw. Bearbeitung der Anwendung zu erhöhen. Nun wird diese Ausführungsform durch ein Bezugs auf den in 1 oder 13 gezeigten DMA-Übertragungscontroller beschrieben.
  • Wenn die Anwendung auf halbem Wege ungültig gemacht wird, kann ein Verfahren zum Löschen der DMA-Übertragungsanfrage für jeden der logischen Prozessoren eingesetzt werden. In diesem Fall schreibt ein Prozessor erneut, um Übertragungsparameter, die zu dem relevanten logischen Prozessor gehören, ungültig zu machen. Dies kann durch ein Setzen der Anzahl von Übertragungsworten zu 0 oder ein Setzen einer Gültigkeitsmarkierung (valid flag) zu einer Ungültigkeit erreicht werden, wenn eine Gültigkeitsmarkierung zur Verfügung gestellt ist.
  • Des Weiteren kann dies, wenn eine Vielzahl von DMA-Übertragungsanfragen sich an einen logischen Prozessor wie in der zweiten Ausführungsform aneinanderreihen komplett gelöscht werden, dadurch erreicht werden, indem die Zeiger auf den Warteschlangenanfang und das Warteschlangenende des relevanten Prozessors auf Anfangszustände in der Steuereinheit 123a zurückgesetzt werden. Allerdings ist, wenn alle aus der Vielzahl von DMA- Übertragungsanfragen nicht gelöscht und individuell gelöscht werden, ein Prozess zum Aufrechterhalten einer Warteschlangenstruktur notwendig.
  • 14 ist eine Speicherabbildung, die ein Beispiel eines Datenfeldes der Übertragungsparameter zeigt, die in einer Übertragungsparameter-Speichereinheit in dem DMA-Übertragungscontroller gemäß der dritten Ausführungsform der vorliegenden Erfindung gespeichert sind. In diesem Beispiel können sich sechs Sätze von Übertragungsparametern an einem logischen Prozessor 1 aneinanderreihen. Eine Busbelegungszeit und eine Warteschlangen-Steuerungsinformation werden allen sechs Sätzen von Übertragungsparametern gegeben.
  • Die Warteschlangen-Steuerungsinformation beinhaltet eine Speicherposition bzw. einen Speicherort von jedem Übertragungsparameter, der in einer Warteschlange ist, sowie eine Gültigkeitsmarkierung, die seine Gültigkeit zeigt. Die Warteschlangenstruktur wird durch die Warteschlangen-Steuerungsinformation gesteuert. Die Warteschlangen-Steuerungsinformation wird in sechs Teile unterteilt. Einem rechten Ende angeordneter Teile dient als der Warteschlangenanfang bzw. die Aneinanderreihungsoberseite. Die Speicherpositionen der Übertragungsparameter werden durch sequenzielle Nummern in einem Warteschlangenbereich bezeichnet. Die Übertragungsparameter können in arbiträren Positionen bzw. Orten gespeichert werden. Die Speicherpositionen bzw. -orte werden bestimmt, wenn die Übertragungsparameter registriert werden und die Gültigkeitsmarkierung zu einer Gültigkeit aktualisiert wird auf das Laden zum Validieren der Übertragungsparameter hin.
  • Wenn die DMA-Übertragungen abgeschlossen werden und wenn die DMA-Übertragungsanfragen individuell gelöscht werden, wird relevante Warteschlangeninformation aus der Warteschlangen-Steuerungsinformation entfernt und Warteschlangeninformation, die der Unterseite näher ist als die relevante Warteschlange, wird verschoben, um der oberen Seite der Warteschlange näher zu kommen. Folglich wird ein Raum bzw. Abstand in den Speicherpositionen der Übertragungsparameter gebildet. Ein neuer Übertragungsparameter kann sich individuell in diese Speicherposition bzw. den Speicherort von dem Prozessor einreihen. Das heißt, dass neue Übertragungsparameter registriert werden können, um die Gültigkeitsmarkierung der Warteschlangen-Steuerungsinformation zu einer Gültigkeit zu aktualisieren (laden).
  • Beispiele von der Warteschlangen-Steuerungsinformation und den Zuständen der Übertragungsparameter in dem Warteschiangenbereich auf eine DMA-Übertragung und einen Abschluss der DMA-Übertragungen hin sind in 23 gezeigt. Des Weiteren sind Beispiele der Warteschlangen-Steuerungsinformation und den Zuständen der Übertragungsparameter in dem Warteschlangenbereich vor und nach dem Löschen, wenn die DMA-Übertragungsanfragen individuell gelöscht werden, in 24 gezeigt.
  • Wie oben beschrieben ist die Warteschlangen-Steuerungsinformation jeweils zum Steuern bzw. Kontrollieren in Bezug auf die Übertragungsparameter zur Verfügung gestellt. Folglich wird die Warteschlangen-Steuerungsinformation lediglich aktualisiert, so dass die Übertragungsparameter individuell auf einen Abschluss der DMA-Übertragungen oder auf eine Löschung der Warteschlange hin ungültig gemacht werden können. Als ein Ergebnis können die DMA-Übertragungsanfragen, die auf dem Weg der Warteschlange angeordnet sind, ohne ein Neuschreiben der Übertragungsparameter selber gelöscht werden. Des Weiteren kann eine Vielzahl von DMA-Übertragungsanfragen einfach gelöscht werden.
  • 15 ist eine Speicherabbildung, die ein Beispiel eines Datenfeldes zeigt, wenn eine neu gebildete Warteschlange sich an die in einer Übertragungsparameter-Speichereinheit 121 in dieser Ausführungsform gespeicherten Übertragungsparameter anreiht. In diesem Fall beinhaltet die Warteschlangen-Steuerungsinformation genauso die Steuerungsinformation der neu gebildeten Warteschlange. Folglich können die gleichen Prozesse, wie die des oben beschriebenen Verfahrens, durchgeführt werden.
  • (Vierte Ausführungsform)
  • In dieser Ausführungsform können die DMA-Übertragungsanfragen gehalten bzw. angehalten werden. Dementsprechend sind, wenn eine Anwendung unterbrochen und dann wieder aufgenommen wird, Prozesse zum Zurückziehen, Löschen und Zurücksetzen der Übertragungsparameter während der DMA-Übertragungen nicht in Bezug darauf notwendig. Folglich können eine Festhalte- bzw. Anhaltefunktion und eine Zurücksetzungsfunktion bei hoher Geschwindigkeit umgeschaltet werden. Nun wird diese Ausführungsform unten unter Bezug auf den in 1 oder 13 gezeigten DMA-Übertragungscontroller beschrieben.
  • Wenn die Anwendung auf halbem Wege unterbrochen wird, wird ein Verfahren zum Halten bzw. Anhalten der DMA-Übertragungsanfragen für jeden der logischen Prozessoren eingesetzt. In diesem Fall setzt der logische Prozessor eine Halteinformation für jeden der logi schen Prozessoren zu der Steuereinheit 123 von dem Prozessor. Die Steuereinheit 123 steuert derart, dass die DMA-Übertragungsanfragen, die zu dem logischen Prozessor gehören, zu dem die Halteinformation gesetzt ist, nicht durchgeführt werden.
  • Wenn die Vielzahl von den DMA-Übertragungsanfragen, die sich an einen logischen Prozessor wie in der zweiten Ausführungsform aneinanderreihen, individuell angehalten werden, wird ein Verfahren zum Zurverfügungstellen einer Haltemarkierung (holding flag) für jede der DMA-Übertragungsanfragen in der Warteschlangen-Steuerungsinformation eingesetzt. 16 ist ein Diagramm, das ein strukturelles Beispiel der Warteschlangen-Steuerungsinformation zeigt, wenn eine Haltemarkierung für jede der DMA-Übertragungsanfragen in der Warteschlangen-Steuerungsinformation zur Verfügung gestellt wird.
  • Wenn die DMA-Übertragungsanfrage für jeden der logischen Prozessoren angehalten bzw. gehalten wird oder wenn all die DMA-Übertragungsanfragen des logischen Prozessors gehalten bzw. angehalten werden, wird eine Busbelegung ohne von der Busbelegungszeit abhängig zu sein, die dem relevanten Prozessor gegeben ist, übersprungen. Folglich muss auf den Abschluss bzw. die Vervollständigung der Busbelegungszeit der DMA-Übertragung, die auf den logischen Prozessor bezogen ist, für den die DMA-Übertragungsanfrage angehalten ist, nicht gewartet werden, so dass die Effizienz der Verwendung des Busses verbessert werden kann.
  • Des Weiteren kann eine Funktion zum Halten der Ausführung von all den sich aneinanderreihenden DMA-Übertragungsanfragen zur Verfügung gestellt werden. Der Prozessor steuert die Steuereinheit 123, so dass sie einen Befehl zum vollständigen Halt ausführt, um die DMA-Übertragungsanfragen in einen komplett angehaltenen bzw. vollständigen Haltezustand zu versetzen sowie um einen Abbruchbefehl auszuführen, um die DMA-Übertragungsanfragen von dem vollständigen Haltezustand abzuhalten. Wenn die DMA-Übertragungen auf eine Fehlerermittlung oder Ähnliches hin unzufriedenstellend ausgeführt werden, kann diese Funktion eingesetzt werden, um die Ausführung von allen DMA-Übertragungen anzuhalten.
  • (Fünfte Ausführungsform)
  • In dieser Ausführungsform wird eine Funktion zum wiederholten Durchführen spezifischer DMA-Übertragungen realisiert. Folglich kann ein Überschuss (overhead), der für die Unter brechung von dem Abschluss der DMA-Übertragung zu dem Start einer nächsten DMA-Übertragung notwendig ist, eliminiert werden und eine Effizienz der DMA-Übertragung kann für die wiederholt in der Anwendung ausgeführten DMA-Übertragungen verbessert werden. Nun wird diese Ausführungsform unten unter Bezug auf den in 1 oder 13 gezeigten DMA-Übertragungscontroller beschrieben.
  • Um diese Funktion zu realisieren, hält die Übertragungsparameter-Speichereinheit 121 die gesetzten Werte bzw. die Werte des Satzes der aneinandergereihten Übertragungsparameter, wenn die Übertragungsparameter für die wiederholt ausgeführten DMA-Übertragungen registriert werden. Die Steuereinheit 123 steuert die Übertragungsparameter so, dass sie wiederholt wiederhergestellt (aneinandergereiht) werden.
  • 17 ist eine Speicherabbildung, die ein Beispiel eines Datenfeldes der Übertragungsparameter zeigt, die in der Übertragungsparameter-Speichereinheit in dem DMA-Übertragungscontroller gemäß der fünften Ausführungsform der vorliegenden Erfindung gespeichert sind. In dieser Ausführungsform können sechs Sätze von Übertragungsparametern sich an einen logischen Prozessor 1 wie in der zweiten Ausführungsform aneinanderreihen. Die Busbelegungszeit wird all den sechs Sätzen von Übertragungsparametern gegeben.
  • Des Weiteren werden in jedem der Übertragungsparameter nicht nur die aktuellen Werte der Startadresse von einer übertragenen Seite, die Startadresse eines Übertragungsziels und die Anzahl der Übertragungsworte, die zu jeder oder irgendeiner Zeit während der Ausführung der DMA-Übertragungen aktualisiert werden, sondern auch die gesetzten Werte der Übertragungsparameter, wenn sie für ein Wiederherstellen der Übertragungsparameter zu Anfangswerten zurückgesetzt werden, angehalten. Des Weiteren wird als eine Steuerungsmarkierung (control flag) eine wiederholte Ausführungsmarkierung (repetitive execution flag) zur Verfügung gestellt.
  • Wenn die DMA-Übertragungen wiederholt für jeden der logischen Prozessoren durchgeführt werden, nachdem die aus einer Reihe von gesetzten Übertragungsparametern zusammengesetzten DMA-Übertragungen abgeschlossen sind, die Reihe von Übertragungsparametern wieder zu den ursprünglichen Werten zurückgesetzt. Des Weiteren werden die DMA-Übertragungsanfragen individuell wiederholt durchgeführt, nachdem die DMA-Übertragungen der Übertragungsparameter, zu welchen die wiederholte Ausführungsmar kierung gesetzt ist, abgeschlossen und die Übertragungsparameter werden zu den ursprünglichen Werten zurückgesetzt, um die DMA-Übertragungen erneut zu starten.
  • Wie oben beschrieben, werden die DMA-Übertragungen automatisch wiederholt für jeden der logischen Prozessoren oder jede der individuellen DMA-Übertragungsanfragen durchgeführt, so dass ein Überschuss, der von dem Unterbrechungsabschluss der DMA-Übertragungen zu dem Start einer nächsten DMA-Übertragung notwendig ist, eliminiert werden kann und eine Effizienz der DMA-Übertragung verbessert werden kann.
  • (Sechste Ausführungsform)
  • In dieser Ausführungsform wird ein Mechanismus realisiert, durch den der Zeitunterteilungsprozess der DMA-Übertragungen temporär unterdrückt werden kann. Folglich kann, wenn eine hoch aufstrebende Anwendung aktiviert wird, um die DMA-Übertragungsanfragen durchzuführen, DMA-Übertragungsanfragen auszuführen, der Zeitunterteilungsprozess der DMA-Übertragungen temporär unterdrückt werden. Die hoch aufstrebenden DMA-Übertragungen können bevorzugt durchgeführt werden und dann kann der Prozess in einen üblichen Betrieb bzw. eine ordentliche Funktion zurückgeführt werden. Nun wird diese Ausführungsform unten unter Bezug auf den in 1 oder 13 gezeigten DMA-Übertragungscontroller beschrieben.
  • Die Unterdrückung und ein Abbruch des Zeitunterteilungsprozesses der DMA-Übertragungen kann verarbeitet bzw. durchgeführt werden, indem ein vorgeschriebener Befehl an die Steuereinheit 123 von dem Prozessor ausgeführt wird. Als Verfahren zum Unterdrücken der Zeitunterteilung der DMA-Übertragungen für jeden der logischen Prozessoren gibt es ein Verfahren, das in einem Fall, in dem die Busbelegungszeit zu einem spezifischen Wert gesetzt ist, zum Beispiel einen Maximalwert oder 0, so betrachtet, dass es die Unterdrückung der Zeitunterteilung ist, oder ein Verfahren, das eine Zeitunterteilungsunterdrückungsmarkierung (time division inhibiting flag), welche die von der Busbelegungszeit begleitet ist, zur Verfügung stellt. Des Weiteren wird die Unterdrückung der Zeitunterteilung für jede der individuellen DMA-Übertragungsanfragen realisiert, indem in einem Teil der Übertragungsparameter, wie in 17 gezeigt, eine Zeitunterteilungsunterdrückungsmarkierung zur Verfügung gestellt wird.
  • In den DMA-Übertragungen, in welchen der Zeitunterteilungsprozess unterdrückt wird, wird eine Busbelegungszeitüberwachungsfunktion durch die Zeitmesseinheit 1231 unterdrückt, ungeachtet von einem Busbelegungs-Zeitwert oder der Anzahl von Übertragungsdaten, die dazu fähig sind, den Bus zu belegen, und die DMA-Übertragung, die derzeit ausgeführt wird, wird nicht unterbrochen und durchgeführt, bis sie abgeschlossen ist.
  • Wie oben beschrieben, wird der Mechanismus zum Unterdrücken und Abbrechen des Zeitunterteilungsprozesses der DMA-Übertragungen zur Verfügung gestellt. Folglich können, wenn die DMA-Übertragungsanfragen, die von der hoch aufstrebenden Anwendung begleitet werden, unzufriedenstellend dem Zeitunterteilungsprozess unterworfen werden, die DMA-Übertragungsanfragen bevorzugt zu einer Zeit verarbeitet werden.
  • (Siebente Ausführungsform)
  • 18 ist ein Blockdiagramm, das die Struktur eines DMA-Übertragungscontrollers gemäß einer siebten Ausführungsform der vorliegenden Erfindung zeigt. In dem DMA-Übertragungscontroller 12c, der in 18 gezeigt ist, wird eine Übertragungsparameter-Temporärspeichereinheit 1221 in der Datenübertragungs-Durchführeinheit 122 des in 1 gezeigten DMA-Übertragungscontrollers zur Verfügung gestellt und eine dazugehörende Steuerungsfunktion wird einer Steuerungseinheit 123c hinzugefügt.
  • In der Übertragungsparameter-Temporärspeichereinheit 1221 werden die Übertragungsparameter von der Übertragungsparameter-Speichereinheit 121 auf einen Start der Ausführung der DMA-Übertragungen hin durch die Steuereinheit 123c kopiert und zum Berechnen von Adressen auf eine Ausführung der DMA-Übertragungen in der Datenübertragungs-Durchführeinheit 122 verwendet. Folglich greift die Datenübertragungs-Durchführeinheit 122 nicht auf die Übertragungsparameter-Speichereinheit 121 zu, während die DMA-Übertragungen unterbrochen oder abgeschlossen bzw. vervollständigt werden.
  • Gemäß der oben beschriebenen Struktur benötigen die Übertragungsparameter, die in der Übertragungsparameter-Speichereinheit 121 gespeichert sind, es nicht, dass jedes Mal auf sie Bezug genommen wird, wenn die Adressen während der Ausführung der DMA-Übertragungen berechnet werden. Dementsprechend kann verbrauchte Leistung bzw. Strom, der für den Zugriff auf einen Speicher notwendig ist, gespart werden. Des Weiteren wetteifert die Aneinanderreihung der Übertragungsparameter von dem Prozessor nicht mit dem Zugriff. Insbesondere wenn die Übertragungsparameter-Speichereinheit 121 aus einem Speicher mit einem Anschluss (one-port memory) zusammengesetzt ist, wird eine Wartezeit auf Seiten des Prozessors verringert, um die effektive Effizienz des Prozessors zu verbessern.
  • (Achte Ausführungsform)
  • 19 ist ein Blockdiagramm, das die Struktur eines DMA-Übertragungscontrollers gemäß einer achten Ausführungsform der vorliegenden Erfindung zeigt. In dem DMA-Übertragungscontroller 12b, der in 19 gezeigt ist, wird eine Übertragungsparameter-Temporärladeeinheit 124 auf eine Warteschlange hin als ein Puffer- bzw. Zwischenspeicher verwendet und eine Steuerungsfunktion, die dazu gehört, wird einer Steuereinheit 123b hinzugefügt.
  • 20 ist ein Blockdiagramm, das ein strukturelles Beispiel der Übertragungsparameter-Temporärladeeinheit 124 zeigt. Die Übertragungsparameter-Temporärladeeinheit 124 kann temporär einen Satz von Übertragungsparametern speichern. Wenn sich die Übertragungsparameter aneinanderreihen, nachdem Parameterwerte, die jeweils die Übertragungsparameter bilden, zu der Übertragungsparameter-Temporärspeichereinheit 124 gesetzt werden, wird eine Startmarkierung (start flag) gesetzt, um die Warteschlangen-Steuerungsinformation zu aktualisieren und den einen Satz von Übertragungsparametern an die Übertragungsparameter-Speichereinheit 121 zu übertragen.
  • Während die Übertragungsparameter von der Übertragungsparameter-Temporärspeicherladeeinheit zu der Übertragungsparameter-Speichereinheit 121 übertragen werden, steuert der Prozessor den Zugriff der Warteschlange auf die Steuerungseinheit 123b, auf die gewartet wird. Auf solch einem Weg werden die in der Übertragungsparameter-Temporärspeichereinheit 124 zwischengespeicherten Parameterwerte davon abgehalten, sich zu verändern und somit eine unerwartete Funktion zu bewirken, während die Übertragungsparameter in der Übertragungsparameter-Speichereinheit 121 gespeichert sind.
  • (Neunte Ausführungsform)
  • 21 ist ein Blockdiagramm, das die Struktur des DMA-Übertragungscontrollers gemäß einer neunten Ausführungsform der vorliegenden Erfindung zeigt. In dem in 21 gezeigten DMA-Übertragungscontroller 12e werden die Übertragungsparameter-Temporärspeichereinheit 1221 in der siebten Ausführungsform und die Übertragungsparameter-Temporärladeeinheit 124 in der achten Ausführungsform in dem in 1 gezeigten DMA-Übertragungscontroller 12 zur Verfügung gestellt. Eine Speicherunterstützungseinheit 125 wird neu zur Verfügung gestellt und eine dazu gehörende Steuerungsfunktion wird einer Steuerungseinheit 123e hinzugefügt.
  • In der Speicherunterstützungseinheit bzw. Speicherhilfseinheit 125 ist eine „Warteschlange-Aktiv"-Flag gespeichert, die zeigt, ob sich die Übertragungsparameter für jeden der logischen Prozessoren aneinanderreihen oder nicht. Die Steuereinheit 123e überprüft zyklisch die „Warteschlange-Aktiv"-Flag, die zu jedem der logischen Prozessoren der Speicherunterstützungseinheit 125 gehört, um zu entscheiden, ob es die DMA-Übertragungsanfrage für jeden der logischen Prozessoren gibt oder nicht.
  • Die „Warteschlange-Aktiv"-Flag wird gesetzt, wenn einer der Warteschlangenübertragungsparameter für den relevanten logischen Prozessor validiert bzw. gültig gemacht wird, und wird zurückgesetzt, wenn all die DMA-Übertragungen abgeschlossen sind. Während die „Warteschlange-Aktiv"-Flag aktualisiert wird, steuert der Prozessor den Zugriff der Aneinanderreihung auf die Steuereinheit 123e, auf die gewartet werden muss.
  • Folglich kann, nachdem die DMA-Übertragungen für jeden der logischen Prozessoren abgeschlossen sind, entschieden werden, ob es eine DMA-Übertragungsanfrage in einem nächsten logischen Prozessor gibt oder nicht. Wenn es keine DMA-Übertragungsanfrage gibt, braucht auf die Übertragungsparameter-Speichereinheit 121 nicht zugegriffen zu werden und ein Prozess kann bei hoher Geschwindigkeit ausgeführt werden und die verbrauchte Leistung bzw. der verbrauchte Strom kann zur gleichen Zeit reduziert werden. Des Weiteren wird eine „Warteschlange-Aktiv"-Flag (queue active flag) zur Verfügung gestellt und wie oben beschrieben verwendet. Folglich braucht die Warteschlangen-Steuerungsinformation nicht initialisiert zu werden, wenn der DMA-Übertragungscontroller aktiviert ist. Deswegen ist die „Warteschlange-Aktiv"-Flag insbesondere nützlich, wenn die Übertragungsparameter-Speichereinheit aus einem Speicher zusammengesetzt ist.
  • 22 ist ein Blockdiagramm, das ein strukturelles Beispiel zeigt, das einen Pfad bzw. einen Weg zum Verbinden der Speicherunterstützungseinheit 125 mit einem inneren Prozessorbus hat. Somit kann auf die „Warteschlange-Aktiv"-Flag direkt von außerhalb des DMA-Übertragungscontrollers zugegriffen werden.
  • Zum Beispiel wenn ein Prozessor in einen unzulässigen bzw. unvorschriftsmäßigen Zustand gebracht wird, kann der Betrieb des Prozessors angehalten werden, um in eine Fehlerbesei tigungsbetriebsart (debugging mode) zu wechseln. In solch einem Fall kann auf die „Warteschlange-Aktiv"-Flag direkt von außerhalb zugegriffen werden. Folglich kann ein effektives Analysemittel zur Verfügung gestellt werden. Des Weiteren kann in Fehlerbeseitigungsbetriebsart, wenn die „Warteschlange-Aktiv"-Flag oder die Warteschlangen-Steuerungsinformation unzulässig ausgeführt werden und dann aus der Fehlerbeseitigungsbetriebsart wieder in eine übliche Betriebsart übergegangen wird, eine Inkonsistenz zwischen dem Zustand der „Warteschlange-Aktiv"-Flag und der Warteschlangen-Steuerungsinformation erzeugt werden, um den Prozessor in einen unzulässigen Zustand zu versetzen. Um für solch einen Fall Vorkehrungen zu treffen, wenn die Inkonsistenz zwischen der „Warteschlange-Aktiv"-Flag und der Warteschlangen-Steuerungsinformation erzeugt wird, wird eine Funktion zum Korrigieren des Zustandes der „Warteschlange-Aktiv"-Flag in Übereinstimmung mit der Warteschlangen-Steuerungsinformation effektiv zur Verfügung gestellt.
  • In dem DMA-Übertragungscontroller gemäß der vorliegenden Erfindung kann, da die Busbelegungs-Ablaufzeit für jeden der logischen Prozessoren auf den Busbelegungs-Zeitwert begrenzt ist, die Abfolge bzw. Zeitplanung der DMA-Übertragungen effektiv in einem Echtzeitprozess durchgeführt werden, ein System kann davon abgehalten werden, zusammenzubrechen, und die Echtzeitcharakteristiken der Prozesse können bestimmt sichergestellt werden. Folglich ist der DMA-Übertragungscontroller der vorliegenden Erfindung nützlich als ein DMA-Übertragungscontroller, der zu einer Zeitplanung von DMA-Übertragungen fähig ist.

Claims (27)

  1. DMA-Controller, der umfasst: eine Übertragungsparameter-Speichereinheit (121), die einen Busbelegungs-Zeitwert und Übertragungsparameter eines Satzes oder einer Vielzahl von Sätzen von DMA-Übertragungen für eine Vielzahl logischer Prozessoren speichert, die von einem Hauptprozessor (11) durchgeführt werden; eine Datenübertragungs-Durchführeinheit (122), die DMA-Übertragung auf Basis der Übertragungsparameter durchführt; eine Steuereinheit (123), die den Empfang und das Senden der Übertragungsparameter sowie den Start und die Unterbrechung der DMA-Datenübertragung steuert; und eine Zeitmesseinheit (1231), die beginnt, eine Busbelegungs-Ablaufzeit zu messen, wenn eine erste DMA-Übertragung für jeden der logischen Prozessoren gestartet wird, dadurch gekennzeichnet, dass wenn die Busbelegungs-Ablaufzeit den Busbelegungs-Zeitwert erreicht, oder wenn die Anzahl von Bus-Übertragungsdaten die Anzahl von Übertragungsdaten erreicht, die den Bus belegen können, die Steuereinheit (123) die DMA-Übertragung unterbricht, die durchgeführt wird, um die DMA-Übertragungen zu starten, die auf den Übertragungsparametern basieren, die sich auf die logischen Prozessoren einer vorgeschriebenen Abfolge beziehen, und ein Mechanismus vorhanden ist, der die Unterbrechung der DMA-Übertragungen unabhängig von dem Busbelegungs-Zeitwert oder der Anzahl von Übertragungsdaten unterdrückt, die den Bus belegen können, in dem ein Zeitteil-Unterdrückungs-Flag, das von der Busbelegungszeit begleitet wird, vorhanden ist.
  2. DMA-Übertragungscontroller nach Anspruch 1, dadurch gekennzeichnet, dass der Mechanismus zum Unterdrücken der Unterbrechung der DMA-Übertragungen auf die DMA-Übertragungen von auswählbaren logischen Prozessoren angewendet wird.
  3. DMA-Übertragungscontroller nach Anspruch 1, dadurch gekennzeichnet, dass der Mechanismus zum Unterdrücken der Unterbrechung der DMA-Übertragungen individuell auf die DMA-Übertragungen angewendet wird.
  4. DMA-Übertragungscontroller nach Anspruch 1, wobei, wenn alle DMA-Übertragungen, die sich auf einen bestimmten logischen Prozessor beziehen, abgeschlossen werden, bevor die Anzahl von Busübertragungsdaten die Anzahl von Übertragungsdaten erreicht, die den Bus belegen können, die Steuereinheit (123) die DMA-Übertragung auf Basis der Übertragungsparameter startet, die sich auf die logischen Prozessoren der vorgeschriebenen Sequenz beziehen.
  5. DMA-Übertragungscontroller nach Anspruch 1, wobei die vorgeschriebene Sequenz zyklisch ist und alle DMA-Übertragungsprozesse, die sich auf die logischen Prozessoren beziehen, für die keine DMA-Übertragungsanforderung vorhanden ist, ausgelassen werden.
  6. DMA-Übertragungscontroller nach Anspruch 1, wobei in der Übertragungsparameter-Speichereinheit die Vielzahl von Sätzen von Übertragungsparametern für die Vielzahl von Prozessoren in eine FIFO-Struktur eingereiht werden.
  7. DMA-Übertragungscontroller nach Anspruch 6, wobei, wenn die Übertragungsparameter-Warteschlange die vorgegebene maximale Anzahl der Übertragungsparameter übersteigt, die Steuereinheit (123) den Hauptprozessor (11) über die Erzeugung eines Fehlers informiert.
  8. DMA-Übertragungscontroller nach Anspruch 6, wobei sich ein Satz von Übertragungsparametern vor der ersten Warteschlange der Übertragungsparameter als eine dringende Warteschlange einreihen kann.
  9. DMA-Übertragungscontroller nach Anspruch 8, wobei, während sich die dringende Warteschlange einreiht, wenn der Einreihungsvorgang der dringenden Warteschlange weiter ausgeführt werden soll, die Steuereinheit (123) den Hauptprozessor (11) über die Erzeugung eines Fehlers informiert.
  10. DMA-Übertragungscontroller nach Anspruch 1, der des weiteren umfasst: einen Mechanismus, der die Übertragungsparameter für jeden der logischen Prozessoren annulliert.
  11. DMA-Übertragungscontroller nach Anspruch 1, der des weiteren umfasst: einen Mechanismus, der die Übertragungsparameter individuell annulliert.
  12. DMA-Übertragungscontroller nach Anspruch 6, wobei Warteschlangen-Steuerinformationen, die sich auf die sich einreihenden Übertragungsparameter beziehen, in der Übertragungsparameter-Speichereinheit (121) für jeden der logischen Prozessoren gespeichert sind und die Warteschlangen-Steuerinformationen wenigstens die Gültigkeits/Ungültigkeits-Informationen einzelner Übertragungsparameter enthalten.
  13. DMA-Übertragungscontroller nach Anspruch 1, der des weiteren umfasst: einen Mechanismus, der die Ausführung der DMA-Übertragungen auf Basis der Übertragungsparameter für jeden der logischen Prozessoren aufhält.
  14. DMA-Übertragungscontroller nach Anspruch 1, der des weiteren umfasst: einen Mechanismus, der die Ausführung der DMA-Übertragungen auf Basis der Übertragungsparameter individuell aufhält.
  15. DMA-Übertragungscontroller nach Anspruch 1, der des weiteren umfasst: einen Mechanismus, der die Ausführung aller DMA-Übertragungen auf Basis der Übertragungsparameter aufhält.
  16. DMA-Übertragungscontroller nach Anspruch 13, wobei alle Prozesse, die sich auf die DMA-Übertragungen beziehen, für die DMA-Übertragung ausgelassen werden, deren Ausführung aufgehalten wird.
  17. DMA-Übertragungscontroller nach Anspruch 6, wobei Warteschlangen-Steuerinformationen, die sich auf die eingereichten Übertragungsparameter beziehen, in der Übertragungsparameter-Speichereinheit für jeden der logischen Prozesse gespeichert sind, und die Warteschlangen-Steuerinformationen wenigstens die Aufhalte-Informationen individueller Übertragungsparameter enthalten.
  18. DMA-Übertragungscontroller nach Anspruch 1, der des weiteren umfasst: einen Mechanismus zum Wiederherstellen der Übertragungsparameter auf Werte beim Starten der Ausführung der DMA-Übertragungen, wenn die Ausführung einer Reihe von DMA-Übertragung, die sich auf die logischen Prozessoren bezieht, abgeschlossen ist, und zum Wiederholen der Ausführung der DMA-Übertragung auf Basis der Übertragungsparameter.
  19. DMA-Übertragungscontroller nach Anspruch 1, der des weiteren umfasst: einen Mechanismus zum Wiederherstellen der Übertragungsparameter der DMA-Übertragung auf Werfe beim Starten der Ausführung der DMA-Übertragungen, wenn die Ausführung der einzelnen DMA-Übertragungen abgeschlossen ist, und zum Wiederholen der DMA-Übertragungen auf Basis der Übertragungsparameter.
  20. DMA-Übertragungscontroller nach Anspruch 1, wobei die Datenübertragungs-Durchführeinheit eine Einheit (1221) zum temporären Speichern von Übertragungsparametern enthält, die einen Satz von Übertragungsparametern hält, und die Datenübertragungs-Durchführeinheit (122) die von der Einheit (1221) zum temporären Speichern der Übertragungsparametern gehaltene Übertragungsparameter verwendet, um die DMA-Übertragung durchzuführen.
  21. DMA-Übertragungscontroller nach Anspruch 6, wobei eine Einheit (124) zum temporären Laden von Übertragungsparametern als ein Puffer für einen Satz von Übertragungsparametern verwendet wird, wenn die Übertra gungsparameter-Warteschlange und die Steuereinheit (123b) die in der Einheit (124) zum temporären Laden von Übertragungsparametern gespeicherten Übertragungsparameter verwendet, um die Warteschlangen-Steuerinformationen zu erzeugen, die sich auf die Warteschlangen-Übertragungsparameter für jeden der logischen Prozessoren beziehen, und die Übertragungsparameter sowie die Warteschlangen-Steuerinformationen in der Übertragungsparameter-Speichereinheit (121) speichert.
  22. DMA-Übertragungscontroller nach Anspruch 21, wobei, wenn sich die Übertragungsparameter einreihen, während die Übertragungsparameter zu der Übertragungsparameter-Speichereinheit (121) von der Einheit (124) zum temporären Laden von Übertragungsparametern übertragen werden, der Hauptprozessor (11) auf den Zugriff zum Einreihen wartet.
  23. DMA-Übertragungscontroller nach Anspruch 6, wobei eine "Warteschlange-Aktiv"-Flag, das zeigt, ob sich die Übertragungsparameter einreihen oder nicht, für jeden der logischen Prozessoren vorhanden ist und die Steuereinheit zyklisch das "Warteschlange-Aktiv"-Flag prüft, um festzustellen, ob eine DMA-Übertragungs-Anforderung für jeden der logischen Prozessoren vorliegt.
  24. DMA-Übertragungscontroller nach Anspruch 23, wobei, wenn einer der Übertragungsparameter, die sich auf die logischen Prozessoren beziehen, validiert wird, das "Warteschlange-Aktiv"-Flag gesetzt wird, und wenn alle DMA-Übertragungen, die die logischen Prozessoren betreffen, abgeschlossen sind, das "Warteschlange-Aktiv"-Flag zurückgesetzt wird.
  25. DMA-Übertragungscontroller nach Anspruch 24, wobei, wenn eines der "Warteschlange-Aktiv"-Flags zurückgesetzt wird, auf die Setz-Anforderung für das zurückgesetzte 'Warteschlange-Aktiv"-Flag gewartet wird.
  26. DMA-Übertragungscontroller nach Anspruch 23, wobei ein Pfad, über den direkt auf das "Warteschlange-Aktiv"-Flag zugegriffen werden kann, außerhalb des DMA-Übertragungscontrollers vorhanden ist.
  27. DMA-Übertragungscontroller nach Anspruch 23, wobei, wenn eine Inkonsistenz zwischen dem Status des "Warteschlange-Aktiv"-Flag und den Warteschlangen-Steuerinformationen erzeugt wird, der Status des "Warteschlange-Aktiv"-Flag entsprechend den Warteschlangen-Steuerinformationen korrigiert wird.
DE602004012492T 2003-08-01 2004-07-29 DMA-Steuerung mit Busbesetzungszeit-Beschränkung sowie DMA-Parametersätze für mehrere logische Prozessoren Expired - Fee Related DE602004012492T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003285080A JP2005056067A (ja) 2003-08-01 2003-08-01 Dma転送制御装置
JP2003285080 2003-08-01

Publications (2)

Publication Number Publication Date
DE602004012492D1 DE602004012492D1 (de) 2008-04-30
DE602004012492T2 true DE602004012492T2 (de) 2009-04-09

Family

ID=33535731

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004012492T Expired - Fee Related DE602004012492T2 (de) 2003-08-01 2004-07-29 DMA-Steuerung mit Busbesetzungszeit-Beschränkung sowie DMA-Parametersätze für mehrere logische Prozessoren

Country Status (5)

Country Link
US (1) US7305499B2 (de)
EP (1) EP1503292B1 (de)
JP (1) JP2005056067A (de)
CN (1) CN100388253C (de)
DE (1) DE602004012492T2 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7734832B2 (en) * 2004-11-10 2010-06-08 Microsoft Corporation Method and system for structured programmed input/output transactions
US8079036B2 (en) * 2004-11-10 2011-12-13 Microsoft Corporation Method and system for structured DMA transactions
JP2006157580A (ja) * 2004-11-30 2006-06-15 Ricoh Co Ltd 画像処理装置、画像形成装置、画像処理方法、コンピュータプログラム及び記録媒体
JP2006178787A (ja) * 2004-12-22 2006-07-06 Toshiba Corp 半導体装置とそのデータ転送方法
CN100369024C (zh) * 2005-01-17 2008-02-13 北京中星微电子有限公司 直接存储访问控制装置和图像处理系统以及传输方法
US7555577B2 (en) * 2005-05-13 2009-06-30 Texas Instruments Incorporated Data transfer apparatus with channel controller and transfer controller capable of slave and standalone operation
US7546391B2 (en) * 2005-05-13 2009-06-09 Texas Instruments Incorporated Direct memory access channel controller with quick channels, event queue and active channel memory protection
JP2006338353A (ja) * 2005-06-02 2006-12-14 Sony Corp 情報処理装置および情報処理方法、並びにプログラム
EP1899826B1 (de) 2005-06-30 2011-03-16 Freescale Semiconductor, Inc. Einrichtung und verfahren zur steuerung einer ausführung einer dma-task
DE602005017948D1 (de) 2005-06-30 2010-01-07 Freescale Semiconductor Inc Einrichtung und verfahren zum arbitrieren zwischen direktspeicherzugriffs-task-anforderungen
EP1899825B1 (de) * 2005-06-30 2009-07-22 Freescale Semiconductor, Inc. Einrichtung und verfahren zur steuerung mehrerer dma-tasks
JP2008216472A (ja) * 2007-03-01 2008-09-18 Matsushita Electric Ind Co Ltd 音声復号化装置及び音声復号化システム
US20110196994A1 (en) * 2007-08-30 2011-08-11 Panasonic Corporation Dma control device and data transfer method
US20090063725A1 (en) * 2007-08-31 2009-03-05 O2Micro Inc. Direct memory access system
US8266337B2 (en) * 2007-12-06 2012-09-11 International Business Machines Corporation Dynamic logical data channel assignment using channel bitmap
JP2011060066A (ja) 2009-09-11 2011-03-24 Renesas Electronics Corp データ処理回路
WO2012014400A1 (ja) * 2010-07-27 2012-02-02 パナソニック株式会社 データ転送制御装置及びデータ転送制御方法
JP5644531B2 (ja) * 2011-01-19 2014-12-24 富士通セミコンダクター株式会社 データ転送装置及びデータ転送方法
WO2012176244A1 (en) * 2011-06-24 2012-12-27 Hitachi, Ltd. Storage system
US8447897B2 (en) * 2011-06-24 2013-05-21 Freescale Semiconductor, Inc. Bandwidth control for a direct memory access unit within a data processing system
JP5803689B2 (ja) * 2012-01-17 2015-11-04 トヨタ自動車株式会社 情報処理装置およびdmaコントローラの動作確認方法
US9128925B2 (en) 2012-04-24 2015-09-08 Freescale Semiconductor, Inc. System and method for direct memory access buffer utilization by setting DMA controller with plurality of arbitration weights associated with different DMA engines
JP2014010759A (ja) 2012-07-02 2014-01-20 Toshiba Corp ブリッジ装置およびその方法、ストレージ装置、ならびにプログラム
JP6004057B2 (ja) * 2015-07-09 2016-10-05 トヨタ自動車株式会社 情報処理装置およびdmaコントローラの動作確認方法
FR3057969B1 (fr) * 2016-10-25 2019-11-01 Thales Systeme de pilotage deterministe du fonctionnement de moyens de transfert de donnees par acces direct a des moyens de memorisation
CN114661644B (zh) * 2022-02-17 2024-04-09 之江实验室 辅助3d架构近存计算加速器系统的预存储dma装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05250305A (ja) 1992-03-06 1993-09-28 Mitsubishi Electric Corp データ転送制御方式
US5680556A (en) * 1993-11-12 1997-10-21 International Business Machines Corporation Computer system and method of operation thereof wherein a BIOS ROM can be selectively locatable on diffeent buses
JPH0830549A (ja) 1994-07-18 1996-02-02 Fuji Xerox Co Ltd バス制御装置
US5603050A (en) * 1995-03-03 1997-02-11 Compaq Computer Corporation Direct memory access controller having programmable timing
JPH09223102A (ja) * 1995-12-14 1997-08-26 Ricoh Co Ltd ダイレクトメモリアクセスコントローラ
JP3712842B2 (ja) * 1997-08-05 2005-11-02 株式会社リコー データ転送制御方法、データ転送制御装置及び情報記録媒体
US6363445B1 (en) * 1998-10-15 2002-03-26 Micron Technology, Inc. Method of bus arbitration using requesting device bandwidth and priority ranking
JP2000132505A (ja) 1998-10-27 2000-05-12 Matsushita Electric Ind Co Ltd バスアクセス方法および装置とその利用装置およびシステム
JP3258300B2 (ja) 1999-09-03 2002-02-18 松下電器産業株式会社 Dma転送装置および画像復号装置
US6542940B1 (en) 1999-10-25 2003-04-01 Motorola, Inc. Method and apparatus for controlling task execution in a direct memory access controller
JP2002041445A (ja) 2000-05-19 2002-02-08 Matsushita Electric Ind Co Ltd 高性能dmaコントローラ
DE60124484T2 (de) * 2000-09-29 2007-09-06 Ricoh Company, Ltd. Datenverarbeitungsvorrichtung und DMA-Datenübertragungsverfahren
JP2002163239A (ja) * 2000-11-22 2002-06-07 Toshiba Corp マルチプロセッサシステムおよびその制御方法
KR100367084B1 (ko) * 2000-12-22 2003-01-09 한국전자통신연구원 실시간 고속의 데이터 처리용 디엠에이 제어기 및 제어방법
KR100456696B1 (ko) * 2002-05-21 2004-11-10 삼성전자주식회사 집적회로장치의 버스중재기

Also Published As

Publication number Publication date
US7305499B2 (en) 2007-12-04
US20050050241A1 (en) 2005-03-03
EP1503292A2 (de) 2005-02-02
CN100388253C (zh) 2008-05-14
DE602004012492D1 (de) 2008-04-30
CN1591374A (zh) 2005-03-09
EP1503292B1 (de) 2008-03-19
EP1503292A3 (de) 2005-03-23
JP2005056067A (ja) 2005-03-03

Similar Documents

Publication Publication Date Title
DE602004012492T2 (de) DMA-Steuerung mit Busbesetzungszeit-Beschränkung sowie DMA-Parametersätze für mehrere logische Prozessoren
DE4208924B4 (de) Verfahren zur Kommunikation zwischen Prozessoren und Parallelverarbeitungscomputer hierfür
DE60204687T2 (de) Speicherkopierbefehl mit Angabe von Quelle und Ziel, der in der Speichersteuerung ausgeführt wird
DE69535187T2 (de) Speichersteuergerät und Bussteuerungsverfahren dafür
DE69233655T2 (de) Mikroprozessorarchitektur mit der Möglichkeit zur Unterstützung mehrerer verschiedenartiger Prozessoren
DE60035774T2 (de) Arbitrierungsverfahren und systeme zur zugriffsarbitrierung auf einen speicher einer plattensteuerung
DE69727856T2 (de) Multiprozessorsystem mit Konsistenzfehler-Registrierung mit entsprechendem Verfahren
DE60037174T2 (de) Puffersystem für externen speicherzugriff
DE60036465T2 (de) Rechneradapterkarte für die kombinierung von eingang-/ausgangfertigstellungsberichten und verwendung derselben
DE4227345C2 (de) Verfahren zur Ablaufsteuerung von Prozessen in einem Mehrprozessor-Computersystem
DE69724354T2 (de) Ein Mehrprozessorrechnersystem mit lokalen und globalen Adressräumen und mehreren Zugriffsmoden
DE69722512T2 (de) Mehrrechnersystem mit einem die Anzahl der Antworten enthaltenden Kohärenzprotokoll
DE69722079T2 (de) Ein Mehrrechnersystem mit Anordnung zum Durchführen von Blockkopieroperationen
DE69822534T2 (de) Gemeinsame Speicherbenutzung mit variablen Blockgrössen für symmetrische Multiporzessor-Gruppen
DE69727465T2 (de) Rechnersystem mit Speichersteuerung für Stossbetrieb-Übertragung
DE4216871C2 (de) Ausführungsordnen zum Sicherstellen der Serialisierbarkeit verteilter Transaktionen
DE4003759C2 (de) Verfahren und Anordnung zur Übertragung von Daten über einen Bus zwischen selektiv ankoppelbaren Stationen
DE4423559A1 (de) Datenverbindungsverfahren und Vorrichtung für Multiprozessor-Computersysteme mit gemeinsamem Speicher
DE102015007709A1 (de) Invalidationsdatenbereich für einen Cache
DE2912738A1 (de) System mit direkter uebertragung zwischen subsystemen
DE112010003554T5 (de) Symmetrische Direktmigration von Virtuellen Maschinen
DE2657848A1 (de) Steuereinheit fuer ein datenverarbeitungssystem
DE3390323T1 (de) Ermittlung eines sequentiellen Datenstroms
DE19506734A1 (de) Computersystem und Verfahren zum Aufrechterhalten der Speicherkonsistenz in einer Busanforderungswarteschlange
DE112019000629B4 (de) Koordination von cacheoperationen

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP

8339 Ceased/non-payment of the annual fee