-
Stand der Technik
-
Die Erfindung betrifft eine Speicherdirektzugriffssteuereinrichtung nach dem Oberbegriff des Anspruchs 1, sowie ein Verfahren zum Betreiben der Speicherdirektzugriffssteuereinrichtung nach dem nebengeordneten Patentanspruch.
-
Vom Markt her bekannt sind Recheneinheiten, beispielsweise Prozessoren, welche einen oder mehrere Prozessorkerne aufweisen, und welche auf einen Arbeitsspeicher zugreifen können. Weiterhin umfassen Rechnersysteme, welche eine oder mehrere solcher Recheneinheiten aufweisen, üblicherweise eine Mehrzahl von weiteren mit der Recheneinheit zusammenwirkenden Einheiten, beispielsweise Eingabe- und Ausgabebausteine ("IO") und dergleichen. Zumindest einige der besagten Elemente des Rechnersystems können über einen gemeinsamen, bevorzugt parallelen, Bus miteinander Daten austauschen. Weiterhin sind Verfahren für einen so genannten Speicherdirektzugriff, DMA, englisch "direct memory access" bekannt, wodurch der Datenaustausch über den gemeinsamen Bus verbessert werden kann.
-
Offenbarung der Erfindung
-
Das der Erfindung zugrunde liegende Problem wird durch eine Speicherdirektzugriffssteuereinrichtung nach Anspruch 1, sowie durch ein Verfahren nach dem nebengeordneten Anspruch gelöst. Vorteilhafte Weiterbildungen sind in den Unteransprüchen angegeben. Für die Erfindung wichtige Merkmale finden sich ferner in der nachfolgenden Beschreibung und in den Zeichnungen, wobei die Merkmale sowohl in Alleinstellung als auch in unterschiedlichen Kombinationen für die Erfindung wichtig sein können, ohne dass hierauf nochmals explizit hingewiesen wird.
-
Die Erfindung betrifft eine Speicherdirektzugriffssteuereinrichtung für eine einen Arbeitsspeicher aufweisende Recheneinheit, wobei die Speicherdirektzugriffssteuereinrichtung einen Anschluss zur Verbindung der Speicherdirektzugriffssteuereinrichtung mit einem die Recheneinheit mit dem Arbeitsspeicher verbindenden Bussystem aufweist. Dabei ist die Speicherdirektzugriffssteuereinrichtung zur Ausführung der folgenden Schritte ausgebildet:
- – Einlesen von ersten Steuerinformationen von einem mit dem Bussystem verbundenen Zielmodul;
- – Ermitteln mindestens einer ersten Zieladresse in dem Zielmodul in Abhängigkeit der ersten Steuerinformationen,
- – Übertragen von Daten von dem Arbeitsspeicher zu der mindestens einen ersten Zieladresse des Zielmoduls unter Verwendung eines Speicherdirektzugriffs von dem Arbeitsspeicher zu dem Zielmodul.
-
Vorzugsweise umfassen die Steuerinformationen mindestens eine Information, welche mindestens eine Zieladresse in dem Zielmodul charakterisiert. Das Zielmodul ist beispielsweise ein Kommunikationsmodul, wie weiter unten noch näher erläutert werden wird, kann jedoch auch z.B. ein Arbeitsspeicher oder eine andere an das Bussystem anbindbare Einheit sein.
-
Die Erfindung weist den Vorteil auf, dass in einem Rechnersystem, welches mindestens eine Recheneinheit bzw. mindestens einen Prozessorkern, sowie einen oder mehrere Arbeitsspeicher und mindestens ein Zielmodul aufweist, eine mittels eines Speicherdirektzugriffs durchgeführte Übertragung von Daten zusätzlich verbessert werden kann.
-
Ein weiterer Vorteil ist, dass die Speicherdirektzugriffssteuereinrichtung die Leistung von solchen Zielmodulen, insbesondere von Kommunikationsmodulen, erhöht, die nicht explizit zum Betrieb mit einem so genannten "Multicore-System" (also eine Recheneinheit mit mehreren Prozessorkernen) ausgelegt worden sind, sondern nur mit dem Designziel der Kommunikation mit einem einzelnen Prozessorkern entwickelt wurden. Vergleiche beispielsweise das weiter unten beschriebene "MCAN-Modul". Auf diese Weise ermöglicht das erfindungsgemäße Prinzip eine einfache, auf Speicherdirektzugriffen basierende, Anbindung eines MCAN Moduls auch an Recheneinheiten mit mehreren Prozessorkernen. Somit werden die Anwendungsmöglichkeiten vorteilhaft erweitert.
-
Vereinfacht ausgedrückt ermöglicht die erfindungsgemäße Speicherdirektzugriffssteuereinrichtung eine Übertragung von Daten aus dem Arbeitsspeicher des Rechnersystems und/oder aus einem einem jeweiligen Prozessorkern zugeordneten Arbeitsspeicher hin zu dem Zielmodul, wobei eine Beteiligung der Recheneinheit bzw. des jeweiligen Prozessorkerns im Wesentlichen nicht erforderlich ist. Die Speicherdirektzugriffssteuereinrichtung kann die zur Übertragung der Daten erforderlichen Informationen im Wesentlichen eigenständig ermitteln, also beispielsweise eigenständig sammeln bzw. berechnen. Dadurch kann die Leistung des Rechnersystems verbessert werden, und es werden insbesondere Zugriffe von der Recheneinheit selbst auf das Zielmodul vermieden, welche im Gegensatz zu Speicherdirektzugriffen vergleichsweise langsamer sind.
-
In einer Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, nach dem Übertragen der Daten von dem Arbeitsspeicher zu der mindestens einen ersten Zieladresse des Zielmoduls mindestens eine weitere Aktion durchzuführen.
-
In einer weiteren Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, die weitere Aktion in Abhängigkeit von den gleichen ersten Steuerinformationen oder in Abhängigkeit von weiteren Steuerinformationen durchzuführen, welche ebenfalls in dem Zielmodul vorhanden sind.
-
In einer weiteren Ausgestaltung umfasst die besagte weitere Aktion eine Übermittlung von weiteren Daten, vergleichbar, wie es zuvor mit den ersten Daten erfolgt ist. Dies kann an dieselbe erste Zieladresse und/oder an eine weitere Zieladresse in dem Zielmodul erfolgen.
-
In einer Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, zweite Steuerinformationen in eine zweite Zieladresse des Zielmoduls zu schreiben, wobei insbesondere die zweiten Steuerinformationen einen Betrieb des Zielmoduls steuern. Beispielsweise ermöglichen die zweiten Steuerinformationen eine Ermittlung einer Zielposition für ein so genanntes "Request-Bit", welches an das Zielmodul übermittelt bzw. in dem Zielmodul an der Zielposition bzw. Bitposition gesetzt wird, und welches dazu verwendet wird, um einen Speicherbereich (Pufferspeicher) für die Daten in dem Zielmodul bzw. Kommunikationsmodul anzufordern bzw. zu reservieren. Dadurch kann die Übertragung der Daten im Wesentlichen ohne eine Beteiligung der Recheneinheit erfolgen, wodurch diese vorteilhaft entlastet wird.
-
Bei einer bevorzugten Ausführungsform ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, eine Bitposition zu ermitteln und das mit der ermittelten Bitposition korrespondierende Bit zu setzen bzw. zu löschen, so dass vorteilhaft die anderen Dateninhalte auf derselben Zieladresse, jedoch an anderen als der vorgenannten Bitposition, nicht verändert werden. Es versteht sich, dass alternativ auch mehrere individuelle Bitpositionen an einer zweiten Zieladresse im vorstehend genannten Sinne ermittelt und die damit jeweilig korrespondierenden Bits gesetzt bzw. gelöscht werden können, ohne die anderen Dateninhalte auf derselben zweiten Zieladresse, jedoch an anderen als den vorgenannten Bitpositionen, zu verändern
-
In einer weiteren Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, die erste Zieladresse und/oder die zweite Zieladresse unter Verwendung von arithmetischen und/oder logischen Operationen zu ermitteln. Beispielsweise umfassen diese Operationen eine oder mehrere Additionen, Multiplikationen und dergleichen. Dadurch können die besagten Steuerinformationen vergleichsweise einfach (und kurz) ausgeführt sein, und eine erforderliche "Intelligenz" zur Ermittlung der ersten und/oder zweiten Zieladresse ergibt sich durch Anwendung der arithmetischen und/oder logischen Operationen auf die Steuerinformationen. Dadurch kann die Speicherdirektzugriffssteuereinrichtung bzw. die Recheneinheit bzw. ein die Speicherdirektzugriffssteuereinrichtung und die Recheneinheit aufweisendes Rechnersystem vorteilhaft verbessert werden.
-
Bei einer bevorzugten Ausführungsform kann insbesondere die zweite Zieladresse sich dadurch auszeichnen, dass sie eine Bitposition eines einzelnen Bits innerhalb eines an der zweiten Zieladresse gespeicherten Datenworts charakterisiert, so dass unter Verwendung der zweiten Zieladresse gezielt ein einzelnes Bit an der bezeichneten Bitposition änderbar ist. Alternativ kann die zweite Zieladresse auch mehr als ein individuelles Bit eines an der zweiten Zieladresse gespeicherten Datenworts charakterisieren, z.B. zwei oder drei individuelle Bits.
-
In einer weiteren Ausgestaltung ist vorgesehen, dass die arithmetischen und/oder logischen Operationen in der Speicherdirektzugriffssteuereinrichtung mittels erster Konfigurationsinformationen vorgebbar sind. Dadurch können die besagten Operationen vorteilhaft vorgegeben und gegebenenfalls sogar im Betrieb der Speicherdirektzugriffssteuereinrichtung geändert werden. Die ersten Konfigurationsinformationen sind beispielsweise in einer die Speicherdirektzugriffssteuereinrichtung umfassenden integrierten Halbleiterschaltung gespeichert.
-
In einer weiteren Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, die erste Zieladresse zusätzlich in Abhängigkeit von zweiten Konfigurationsinformationen zu ermitteln. Dadurch können die Möglichkeiten zur Ermittlung der ersten Zieladresse vorteilhaft erweitert werden.
-
Ergänzend kann vorgesehen sein, dass die ersten und/oder zweiten Konfigurationsinformationen lokal in der Speicherdirektzugriffssteuereinrichtung und/oder in einer externen Einheit gespeichert sind. Dadurch kann die Speicherdirektzugriffssteuereinrichtung flexibel an jeweilige Erfordernisse angepasst werden.
-
Beispielsweise sind die ersten Konfigurationsinformationen in einer die Speicherdirektzugriffssteuereinrichtung aufweisenden integrierten Halbleiterschaltung gespeichert, und die zweiten Konfigurationsinformationen sind beispielsweise in einem speziellen Speicherbereich des Arbeitsspeichers (System-RAM, englisch: "random access memory", Speicher mit wahlfreiem Zugriff) gespeichert. Vorzugsweise ist die Recheneinheit dazu ausgebildet, auf die zweiten Konfigurationsinformationen zuzugreifen, insbesondere schreibend zuzugreifen, so dass die Recheneinheit die zweiten Konfigurationsinformationen vorgeben bzw. modifizieren kann. Vergleichbares kann auch für die ersten Konfigurationsinformationen gelten.
-
In einer weiteren Ausgestaltung umfasst das Zielmodul ein Kommunikationsmodul, insbesondere ein CAN-Modul, ein MCAN-Modul, ein FlexRay-Modul und/oder ein Ethernet-Modul. Die Abkürzung "CAN" bedeutet "Controller Area Network". Der Buchstabe "M" charakterisiert einen herstellerspezifischen Namenszusatz. Das MCAN-Modul entspricht beispielsweise einem von dem Halbleiterhersteller Freescale Semiconductor hergestellten Baustein vom Typ "MPC5777M MCA". Die Speicherdirektzugriffssteuereinrichtung kann vorteilhaft zusammen mit einem MCAN-Modul betrieben werden.
-
In einer weiteren Ausgestaltung kann das Zielmodul auch ein Arbeitsspeicher oder eine andere an das Bussystem anbindbare Einheit sein, wobei dem erfindungsgemäßen Prinzip folgende Datentransfers z.B. zwischen verschiedenen Speichern stattfinden, z.B. als Vorbereitung für eine Ethernet-Kommunikation.
-
In einer weiteren Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung als separate (Hardware-)Einheit ausgeführt, welche anstelle eines bzw. ergänzend zu einem handelsüblichen so genannten "DMA-Controller" (DMA, englisch: "direct memory access", Speicherdirektzugriff) in dem Rechnersystem vorhanden ist. Dadurch können die Verwendungsmöglichkeiten gegebenenfalls vorteilhaft erweitert werden. Vorzugsweise ist die erfindungsgemäße Speicherdirektzugriffssteuereinrichtung als Erweiterung eines handelsüblichen DMA-Controllers mit diesem in einer gemeinsamen integrierten Umgebung bzw. einer gemeinsamen Einheit bzw. einem gemeinsamen Bauelement angeordnet.
-
Weiterhin umfasst die Erfindung ein Verfahren zum Betreiben einer Speicherdirektzugriffssteuereinrichtung für eine einen Arbeitsspeicher aufweisende Recheneinheit, wobei die Speicherdirektzugriffssteuereinrichtung einen Anschluss zur Verbindung der Speicherdirektzugriffssteuereinrichtung mit einem die Recheneinheit mit dem Arbeitsspeicher verbindenden Bussystem aufweist. Dabei umfasst das Verfahren die folgenden Schritte:
- – Einlesen von ersten Steuerinformationen von einem mit dem Bussystem verbundenen Zielmodul;
- – Ermitteln mindestens einer ersten Zieladresse in dem Zielmodul in Abhängigkeit der ersten Steuerinformationen;
- – Übertragen von Daten von dem Arbeitsspeicher zu der mindestens einen ersten Zieladresse des Zielmoduls unter Verwendung eines Speicherdirektzugriffs von dem Arbeitsspeicher zu dem Zielmodul.
-
Es ergeben sich dabei vergleichbare Vorteile, wie es weiter oben für die Speicherdirektzugriffssteuereinrichtung bereits beschrieben wurde.
-
In einer Ausgestaltung umfasst das Verfahren mindestens einen der folgenden weiteren Schritte:
- – Schreiben von zweiten Steuerinformationen in eine zweite Zieladresse des Zielmoduls, wobei insbesondere die zweiten Steuerinformationen einen Betrieb des Zielmoduls steuern;
- – Ermitteln der ersten Zieladresse und/oder der zweiten Zieladresse unter Verwendung von arithmetischen und/oder logischen Operationen;
- – Vorgeben der arithmetischen und/oder logischen Operationen in der Speicherdirektzugriffssteuereinrichtung mittels erster Konfigurationsinformationen;
- – Ermitteln der ersten Zieladresse zusätzlich in Abhängigkeit von zweiten Konfigurationsinformationen;
- – Lesen der ersten und/oder zweiten Konfigurationsinformationen aus einem lokalen Speicher in der Speicherdirektzugriffssteuereinrichtung und/oder aus einem Speicher in einer externen Einheit.
Die vorstehend genannten Schritte können ggf. wiederholt und/oder in beliebiger Reihenfolge zueinander ausgeführt werden.
-
Es ergeben sich dabei vergleichbare Vorteile, wie es weiter oben für die verschiedenen Ausgestaltungen der Speicherdirektzugriffssteuereinrichtung bereits beschrieben wurde.
-
In einer Ausgestaltung des Verfahrens umfasst das Zielmodul ein Kommunikationsmodul, insbesondere ein CAN-Modul, ein MCAN-Modul, ein FlexRay-Modul und/oder ein Ethernet-Modul. Dabei kann das Verfahren besonders vorteilhaft angewendet werden.
-
Nachfolgend werden beispielhafte Ausführungsformen der Erfindung unter Bezugnahme auf die Zeichnung erläutert. In der Zeichnung zeigen:
-
1 ein Blockschaltbild für ein Rechnersystem mit einem Bus;
-
2 eine vereinfachte Darstellung des Rechnersystems von 1 mit einer Speicherdirektzugriffssteuereinrichtung und einem Kommunikationsmodul; und
-
3 ein Flussdiagramm für ein Verfahren zum Betreiben der Speicherdirektzugriffssteuereinrichtung von 2.
-
Es werden für funktionsäquivalente Elemente und Größen in allen Figuren auch bei unterschiedlichen Ausführungsformen die gleichen Bezugszeichen verwendet.
-
Die 1 zeigt ein stark vereinfachtes Blockschaltbild für ein Rechnersystem 10 mit einer Recheneinheit 20, einem Arbeitsspeicher 30 und einer Speicherdirektzugriffssteuereinrichtung 40, welche jeweils mit einem die Recheneinheit 20 mit dem Arbeitsspeicher 30 verbindenden Bussystem 12 verbunden sind. Weiterhin zeigt die 1 ein mit dem Bussystem 12 verbundenes Zielmodul 50.
-
Beispielsweise umfasst die Recheneinheit 20 eine Mehrzahl von Prozessorkernen 20_1, 20_2, 20_3, 20_4, und den Prozessorkernen 20_1 bis 20_4 jeweils zugeordneten Arbeitsspeicher-Einheiten (nicht dargestellt), welche alternativ oder in Ergänzung zu dem Arbeitsspeicher 30 verwendbar sind.
-
In einer Ausführungsform ist das Zielmodul 50 bzw. Kommunikationsmodul 50 zum Betrieb mit einer Recheneinheit 20 ausgebildet, welche lediglich einen Prozessorkern 20_1, 20_2, 20_3, oder 20_4 umfasst. In einer weiteren Ausführungsform ist das Zielmodul 50 bzw. Kommunikationsmodul 50 zum Betrieb mit mehreren Prozessorkernen 20_1, 20_2, 20_3, 20_4 ausgebildet.
-
Beispielsweise weist das Kommunikationsmodul 50 dazu eine jeweils entsprechende "Hardware"-Struktur oder "Software"-Struktur auf.
-
Das Bussystem 12 kann beispielsweise als paralleles Bussystem 12 mit einem eine erste Anzahl von Adressleitungen aufweisenden Adressbus und eine zweite Anzahl von Datenleitungen aufweisenden Datenbus ausgebildet sein. Der Arbeitsspeicher 30 bzw. die Arbeitsspeicher-Einheiten können beispielsweise ein "externes" RAM, Speicher mit wahlfreiem Zugriff, englisch "random access memory", oder ein der Recheneinheit 20 bzw. den jeweiligen Prozessorkernen 20_1, 20_2, 20_3, 20_4 zugehöriges "internes" RAM sein, oder Mischformen hieraus.
-
Die 2 zeigt eine vereinfachte Darstellung des Rechnersystems 10 von 1, wobei vorliegend im Wesentlichen die Speicherdirektzugriffssteuereinrichtung 40 und das Zielmodul 50 sowie das Bussystem 12 dargestellt sind. Weiterhin sind in der 2 ein Block 70 sowie ein Block 80 dargestellt, welche nicht näher dargestellte Elemente für eine Konfiguration der Speicherdirektzugriffssteuereinrichtung 40 charakterisieren.
-
Von dem Block 70 können erste Konfigurationsinformationen 72 und von dem Block 80 können zweite Konfigurationsinformationen 82 an die Speicherdirektzugriffssteuereinrichtung 40 übermittelt werden. In einer Ausführungsform sind die ersten Konfigurationsinformationen 72 lokal in der Speicherdirektzugriffssteuereinrichtung 40 gespeichert und die zweiten Konfigurationsinformationen 82 sind in einer externen Einheit gespeichert.
-
Beispielsweise sind die ersten Konfigurationsinformationen 72 in einer die Speicherdirektzugriffssteuereinrichtung 40 aufweisenden integrierten Halbleiterschaltung gespeichert, und die zweiten Konfigurationsinformationen 82 sind beispielsweise in einem speziellen Speicherbereich des Arbeitsspeichers 30 (System-RAM, englisch: "random access memory", Speicher mit wahlfreiem Zugriff) gespeichert. Andere Speicherorte für die Informationen 72, 82 sind ebenfalls denkbar. Insbesondere können die Informationen 72, 82 in einem gemeinsamen Speicher abgelegt sein, oder auch in voneinander verschiedenen Speichern. Vorzugsweise ist die Recheneinheit 20 bzw. ein jeweiliger Prozessorkern 20_1 bis 20_4 dazu ausgebildet, auf die zweiten Konfigurationsinformationen 82 zuzugreifen, insbesondere schreibend zuzugreifen.
-
Über das gemeinsame Bussystem 12 können Daten 60 zwischen an sich beliebigen Einheiten des Rechnersystems 10 (1) ausgetauscht werden. Diese Daten 60 können "Nutzdaten" und/oder Steuerinformationen oder dergleichen umfassen.
-
Vorliegend werden nur solche Daten 60 betrachtet, welche zwischen dem Arbeitsspeicher 30 und dem Zielmodul 50 ausgetauscht werden bzw. werden sollen. Insbesondere werden solche Daten 60 betrachtet, welche von dem Arbeitsspeicher 30 hin zu dem Zielmodul 50 übertragen werden bzw. werden sollen.
-
In einer Ausführungsform ist vorgesehen, dass das Zielmodul 50 ein Kommunikationsmodul 50, insbesondere ein CAN-Modul, ein MCAN-Modul, ein FlexRay-Modul und/oder ein Ethernet-Modul umfasst. Entsprechend wird das Zielmodul 50 vorliegend auch als Kommunikationsmodul 50 bezeichnet, welches also das gleiche Bezugszeichen aufweist.
-
In der Ausführungsform gemäß 2 umfasst das Kommunikationsmodul 50 ein so genanntes "MCAN-Modul", welches mit einem nicht dargestellten CAN-Bus kommunizieren kann, an welchem eine Mehrzahl von vorliegend als "logische Einheiten" bezeichnete CAN-Bus-Teilnehmer angeschlossen sind. Die Abkürzung "CAN" bedeutet "Controller Area Network".
-
Beispielsweise umfasst das MCAN-Modul bzw. das Kommunikationsmodul 50 unter anderem folgende Teilschaltungen bzw. Komponenten:
- – eine Schnittstellen-Verwaltung (engl. "interface management logic") für das Bussystem 12,
- – einen Sendepuffer (engl. "transmit buffer"),
- – einen oder mehrere Empfangspuffer (engl. "receive buffer"),
- – einen Daten-Prozessor (engl. "bit stream processor"),
- – eine Fehlerbehandlungseinrichtung (engl. "error management logic"),
- – eine Übertragungs-Logik (engl. "transceive logic"),
- – eine Zeitsteuerung (engl. "bit timing logic"), und/oder
- – eine Schnittstellen-Logik (engl. "line interface logic") für ein angeschlossenes CAN-Bussystem.
-
Beispielsweise kann das MCAN Modul auch eine Sendeliste enthalten, in die zu sendende Daten an die richtige Position (also z.B. die nächste freie Position) einzutragen sind, und anschliessend kann eine zu der ermittelten Position passende Übertragungsanforderung ("Transmit request") in einer korrespondierenden Bitmaske gesetzt werden.
-
In der 2 sind verallgemeinernd und stellvertretend für die Gesamtheit der in dem Kommunikationsmodul 50 vorhandenen Teilschaltungen bzw. Komponenten eine Anzahl von n vielen Registern 52_1, 52_2 bis 52_n sowie eine Anzahl von n vielen Pufferspeichern 54_1, 54_2 bis 54_n durch jeweils einen rechteckförmigen Block dargestellt. Alternativ oder ergänzend können auch ein oder mehrere Pufferspeicher vorgesehen sein, um die o.g. Sendeliste aufzunehmen, also mehrere Positionen für zu sendende Daten bereitzustellen. Mit diesen Positionen korrespondierende Steuerbits, z.B. zur Repräsentation der Übertragungsanforderung, können ebenfalls vorgesehen sein.
-
Die 1 und 2 zeigen also eine Speicherdirektzugriffssteuereinrichtung 40 für eine einen Arbeitsspeicher 30 aufweisende Recheneinheit 20, wobei die Speicherdirektzugriffssteuereinrichtung 40 einen Anschluss zur Verbindung der Speicherdirektzugriffssteuereinrichtung 40 mit einem die Recheneinheit 20 mit dem Arbeitsspeicher 30 verbindenden Bussystem 12 aufweist. Die Speicherdirektzugriffssteuereinrichtung 40 ist zur Ausführung der folgenden Schritte ausgebildet:
- – Einlesen von ersten Steuerinformationen von dem mit dem Bussystem 12 verbundenen Zielmodul 50;
- – Ermitteln mindestens einer ersten Zieladresse in dem Zielmodul 50 in Abhängigkeit der ersten Steuerinformationen;
- – Übertragen von Daten 60 von dem Arbeitsspeicher 30 zu der mindestens einen ersten Zieladresse des Zielmoduls 50 unter Verwendung eines Speicherdirektzugriffs von dem Arbeitsspeicher 30 zu dem Zielmodul 50.
-
Vorzugsweise umfassen die ersten Steuerinformationen mindestens eine Information, welche mindestens eine Zieladresse in dem Zielmodul 50 charakterisiert. Beispielsweise umfasst das Zielmodul 50 ein MCAN-Modul, und die mindestens eine Information ist durch eine so genannte "CAN-ID" und/oder einen Betriebszustand des Zielmoduls 50 (z.B. Informationen aus den Registern 52_1, .. bzw. Pufferspeichern 54_1, .. usw., und/oder Füllzustand der Pufferspeicher 54_1, ..) charakterisiert.
-
In einer Ausführungsform ist die Speicherdirektzugriffssteuereinrichtung 40 dazu ausgebildet, zweite Steuerinformationen in eine zweite Zieladresse des Zielmoduls 50 zu schreiben, wobei insbesondere die zweiten Steuerinformationen einen Betrieb des Zielmoduls 50 steuern. Beispielsweise entsprechen die zweiten Steuerinformationen einem so genannten "Request-Bit", welches an das Kommunikationsmodul 50 übermittelt bzw. in einem entsprechenden Register darin gesetzt wird, und welches dazu verwendet wird, um einen Speicherbereich (Pufferspeicher) für die Daten 60 in dem Kommunikationsmodul 50 anzufordern bzw. zu reservieren. Beispielsweise ist das Zielmodul 50 bzw. das Kommunikationsmodul 50 ein MCAN-Modul vom Typ "MPC5777M MCA", in welchem das Request-Bit einem "TXBAR, Transmit Buffer Add Request Register", zugeordnet ist.
-
Aus dem besagten Speicherbereich können die Daten 60, von dem Kommunikationsmodul 50 gesteuert, anschließend über ein an das Kommunikationsmodul 50 angeschlossenes Netzwerk weiter übertragen werden. Beispielsweise ist das Netzwerk ein CAN-Bussystem, ein FlexRay-System oder ein Ethernet-System. "FlexRay" ist die Bezeichnung für ein serielles, deterministisches und fehlertolerantes Feldbussystem für den Einsatz in Kraftfahrzeugen.
-
In einer Ausführungsform ist die Speicherdirektzugriffssteuereinrichtung 40 dazu ausgebildet, die erste Zieladresse und/oder die zweite Zieladresse unter Verwendung von arithmetischen und/oder logischen Operationen zu ermitteln.
-
In einer Ausführungsform sind die arithmetischen und/oder logischen Operationen in der Speicherdirektzugriffssteuereinrichtung 40 mittels der ersten Konfigurationsinformationen 72 vorgebbar.
-
In einer Ausführungsform ist die Speicherdirektzugriffssteuereinrichtung 40 dazu ausgebildet, die erste Zieladresse zusätzlich in Abhängigkeit von den zweiten Konfigurationsinformationen 82 zu ermitteln.
-
Die 3 zeigt ein Flussdiagramm für ein Verfahren zum Betreiben der Speicherdirektzugriffssteuereinrichtung 40 für eine einen Arbeitsspeicher 30 aufweisende Recheneinheit 20, wobei die Speicherdirektzugriffssteuereinrichtung 40 einen Anschluss zur Verbindung der Speicherdirektzugriffssteuereinrichtung 40 mit einem die Recheneinheit 20 mit dem Arbeitsspeicher 30 verbindenden Bussystem 12 aufweist, wobei das Verfahren die folgenden Schritte umfasst:
- – Einlesen (Block 100) von ersten Steuerinformationen von einem mit dem Bussystem 12 verbundenen Zielmodul 50;
- – Ermitteln (Block 106 bzw. 106a) mindestens einer ersten Zieladresse in dem Zielmodul 50 in Abhängigkeit der ersten Steuerinformationen;
- – Übertragen (Block 110) von Daten 60 von dem Arbeitsspeicher 30 zu der mindestens einen ersten Zieladresse des Zielmoduls 50 unter Verwendung eines Speicherdirektzugriffs von dem Arbeitsspeicher 30 zu dem Zielmodul 50.
-
Die durch die Blöcke 100, 106 bzw. 106a, und 110 beschriebenen Verfahrensschritte werden vorliegend vorzugsweise in jedem Fall durchgeführt und sind in der 3 mittels einer durchgehenden Linie gezeichnet.
-
In einer oder mehreren Ausführungsformen umfasst das Verfahren mindestens einen der folgenden weiteren Schritte:
- – Schreiben (Block 108) von zweiten Steuerinformationen in eine zweite Zieladresse des Zielmoduls 50 (z.B. zum Setzen von Steuerbits), wobei insbesondere die zweiten Steuerinformationen einen Betrieb des Zielmoduls 50 steuern;
- – Ermitteln (Block 106b) der ersten Zieladresse und/oder der zweiten Zieladresse unter Verwendung von arithmetischen und/oder logischen Operationen;
- – Vorgeben (Block 104) der arithmetischen und/oder logischen Operationen in der Speicherdirektzugriffssteuereinrichtung 40 mittels erster Konfigurationsinformationen 72;
- – Ermitteln (Block 106c) der ersten Zieladresse zusätzlich in Abhängigkeit von zweiten Konfigurationsinformationen 82;
- – Lesen (Block 102) der ersten und/oder zweiten Konfigurationsinformationen 72 bzw. 82 aus einem lokalen Speicher in der Speicherdirektzugriffssteuereinrichtung 40 und/oder aus einem Speicher in einer externen Einheit.
-
Die durch die Blöcke 102, 104, 106b, 106c, und 108 beschriebenen Verfahrensschritte sind zumindest teilweise optional und sind in der 3 mittels einer gestrichelten Linie gezeichnet. Vorzugsweise, aber nicht zwingend, werden die beschriebenen Verfahrensschritte in der in 3 gezeigten Reihenfolge entsprechend den aufsteigenden Nummern der Bezugszeichen durchgeführt.
-
Die erfindungsgemäße Speicherdirektzugriffssteuereinrichtung kann vorteilhaft auch bei sog. "Network on Chip" (deutsch: Netzwerk auf einem Halbleiterbauelement)-Architekturen, wie sie beispielsweise von Multiprozessorsystemen bekannt sind, eingesetzt werden.