DE102016205536A1 - Speicherdirektzugriffssteuereinrichtung für eine einen Arbeitsspeicher aufweisende Recheneinheit - Google Patents

Speicherdirektzugriffssteuereinrichtung für eine einen Arbeitsspeicher aufweisende Recheneinheit Download PDF

Info

Publication number
DE102016205536A1
DE102016205536A1 DE102016205536.4A DE102016205536A DE102016205536A1 DE 102016205536 A1 DE102016205536 A1 DE 102016205536A1 DE 102016205536 A DE102016205536 A DE 102016205536A DE 102016205536 A1 DE102016205536 A1 DE 102016205536A1
Authority
DE
Germany
Prior art keywords
memory
direct access
module
access control
control device
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.)
Pending
Application number
DE102016205536.4A
Other languages
English (en)
Inventor
Eckart Schlottmann
Axel Aue
Eugen Becker
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102016205536.4A priority Critical patent/DE102016205536A1/de
Priority to CN201710218352.8A priority patent/CN107273312B/zh
Publication of DE102016205536A1 publication Critical patent/DE102016205536A1/de
Pending legal-status Critical Current

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

Die Erfindung betrifft eine Speicherdirektzugriffssteuereinrichtung (40) für eine einen Arbeitsspeicher (30) aufweisende Recheneinheit (20; 20_1, 20_2, 20_3, 20_4), wobei die Speicherdirektzugriffssteuereinrichtung (40) einen Anschluss zur Verbindung der Speicherdirektzugriffssteuereinrichtung (40) mit einem die Recheneinheit (20; 20_1, 20_2, 20_3, 20_4) mit dem Arbeitsspeicher (30) verbindenden Bussystem (12) aufweist. Dabei ist die Speicherdirektzugriffssteuereinrichtung (40) zur Ausführung der folgenden Schritte ausgebildet:
– Einlesen (100) von ersten Steuerinformationen von einem mit dem Bussystem (12) verbundenen Zielmodul (50);
– Ermitteln (106, 106a) mindestens einer ersten Zieladresse in dem Zielmodul (50) in Abhängigkeit der ersten Steuerinformationen;
– Übertragen (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).

Description

  • 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.

Claims (10)

  1. Speicherdirektzugriffssteuereinrichtung (40) für eine einen Arbeitsspeicher (30) aufweisende Recheneinheit (20; 20_1, 20_2, 20_3, 20_4), wobei die Speicherdirektzugriffssteuereinrichtung (40) einen Anschluss zur Verbindung der Speicherdirektzugriffssteuereinrichtung (40) mit einem die Recheneinheit (20; 20_1, 20_2, 20_3, 20_4) mit dem Arbeitsspeicher (30) verbindenden Bussystem (12) aufweist, dadurch gekennzeichnet, dass die Speicherdirektzugriffssteuereinrichtung (40) zur Ausführung der folgenden Schritte ausgebildet ist: – Einlesen (100) von ersten Steuerinformationen von einem mit dem Bussystem (12) verbundenen Zielmodul (50); – Ermitteln (106, 106a) mindestens einer ersten Zieladresse in dem Zielmodul (50) in Abhängigkeit der ersten Steuerinformationen; – Übertragen (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).
  2. Speicherdirektzugriffssteuereinrichtung (40) nach Anspruch 1, wobei die Speicherdirektzugriffssteuereinrichtung (40) dazu ausgebildet ist, zweite Steuerinformationen in eine zweite Zieladresse des Zielmoduls (50) zu schreiben, wobei insbesondere die zweiten Steuerinformationen einen Betrieb des Zielmoduls (50) steuern.
  3. Speicherdirektzugriffssteuereinrichtung (40) nach einem der vorstehenden Ansprüche, wobei die Speicherdirektzugriffssteuereinrichtung (40) dazu ausgebildet ist, die erste Zieladresse und/oder die zweite Zieladresse unter Verwendung von arithmetischen und/oder logischen Operationen zu ermitteln.
  4. Speicherdirektzugriffssteuereinrichtung (40) nach Anspruch 3, wobei die arithmetischen und/oder logischen Operationen in der Speicherdirektzugriffssteuereinrichtung (40) mittels erster Konfigurationsinformationen (72) vorgebbar sind.
  5. Speicherdirektzugriffssteuereinrichtung (40) nach einem der vorstehenden Ansprüche, wobei die Speicherdirektzugriffssteuereinrichtung (40) dazu ausgebildet ist, die erste Zieladresse zusätzlich in Abhängigkeit von zweiten Konfigurationsinformationen (82) zu ermitteln.
  6. Speicherdirektzugriffssteuereinrichtung (40) nach Anspruch 4 oder 5, wobei die ersten und/oder zweiten Konfigurationsinformationen (72, 82) lokal in der Speicherdirektzugriffssteuereinrichtung (40) und/oder in einer externen Einheit gespeichert sind.
  7. Speicherdirektzugriffssteuereinrichtung (40) nach wenigstens einem der vorstehenden Ansprüche, wobei das Zielmodul (50) ein Kommunikationsmodul (50), insbesondere ein CAN-Modul, ein MCAN-Modul, ein FlexRay-Modul und/oder ein Ethernet-Modul umfasst.
  8. Verfahren zum Betreiben einer Speicherdirektzugriffssteuereinrichtung (40) für eine einen Arbeitsspeicher (30) aufweisende Recheneinheit (20; 20_1, 20_2, 20_3, 20_4), wobei die Speicherdirektzugriffssteuereinrichtung (40) einen Anschluss zur Verbindung der Speicherdirektzugriffssteuereinrichtung (40) mit einem die Recheneinheit (20; 20_1, 20_2, 20_3, 20_4) mit dem Arbeitsspeicher (30) verbindenden Bussystem (12) aufweist, dadurch gekennzeichnet, dass das Verfahren die folgenden Schritte umfasst: – Einlesen (100) von ersten Steuerinformationen von einem mit dem Bussystem (12) verbundenen Zielmodul (50); – Ermitteln (106, 106a) mindestens einer ersten Zieladresse in dem Zielmodul (50) in Abhängigkeit der ersten Steuerinformationen; – Übertragen (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).
  9. Verfahren nach Anspruch 8, wobei das Verfahren mindestens einen der folgenden weiteren Schritte umfasst: – Schreiben (108) von zweiten Steuerinformationen in eine zweite Zieladresse des Zielmoduls (50), wobei insbesondere die zweiten Steuerinformationen einen Betrieb des Zielmoduls (50) steuern; – Ermitteln (106b) der ersten Zieladresse und/oder der zweiten Zieladresse unter Verwendung von arithmetischen und/oder logischen Operationen; – Vorgeben (104) der arithmetischen und/oder logischen Operationen in der Speicherdirektzugriffssteuereinrichtung (40) mittels erster Konfigurationsinformationen (72); – Ermitteln (106c) der ersten Zieladresse zusätzlich in Abhängigkeit von zweiten Konfigurationsinformationen (82); – Lesen (102) der ersten und/oder zweiten Konfigurationsinformationen (72, 82) aus einem lokalen Speicher in der Speicherdirektzugriffssteuereinrichtung (40) und/oder aus einem Speicher in einer externen Einheit.
  10. Verfahren nach wenigstens einem der Ansprüche 8 oder 9, wobei das Zielmodul (50) ein Kommunikationsmodul (50), insbesondere ein CAN-Modul, ein MCAN-Modul, ein FlexRay-Modul und/oder ein Ethernet-Modul umfasst.
DE102016205536.4A 2016-04-04 2016-04-04 Speicherdirektzugriffssteuereinrichtung für eine einen Arbeitsspeicher aufweisende Recheneinheit Pending DE102016205536A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102016205536.4A DE102016205536A1 (de) 2016-04-04 2016-04-04 Speicherdirektzugriffssteuereinrichtung für eine einen Arbeitsspeicher aufweisende Recheneinheit
CN201710218352.8A CN107273312B (zh) 2016-04-04 2017-04-05 具有工作存储器的计算单元用的存储器直接访问控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016205536.4A DE102016205536A1 (de) 2016-04-04 2016-04-04 Speicherdirektzugriffssteuereinrichtung für eine einen Arbeitsspeicher aufweisende Recheneinheit

Publications (1)

Publication Number Publication Date
DE102016205536A1 true DE102016205536A1 (de) 2017-10-05

Family

ID=59885644

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016205536.4A Pending DE102016205536A1 (de) 2016-04-04 2016-04-04 Speicherdirektzugriffssteuereinrichtung für eine einen Arbeitsspeicher aufweisende Recheneinheit

Country Status (2)

Country Link
CN (1) CN107273312B (de)
DE (1) DE102016205536A1 (de)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6874039B2 (en) * 2000-09-08 2005-03-29 Intel Corporation Method and apparatus for distributed direct memory access for systems on chip
JP4563829B2 (ja) * 2005-01-27 2010-10-13 富士通株式会社 ダイレクトメモリアクセス制御方法、ダイレクトメモリアクセス制御装置、情報処理システム、プログラム
US9141572B2 (en) * 2006-12-15 2015-09-22 Microchip Technology Incorporated Direct memory access controller
JP2011070372A (ja) * 2009-09-25 2011-04-07 Toppan Printing Co Ltd Dma転送制御装置

Also Published As

Publication number Publication date
CN107273312A (zh) 2017-10-20
CN107273312B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
DE69610157T2 (de) Ein Ein-/Ausgabeprozessor der gemeinsame Betriebsmittel einem Ein-/Ausgabebus in einem Rechner zur Verfügung stellt
DE2847216C2 (de) Datenverarbeitungsanlage mit Mehrprogrammbetrieb
DE102008055892A1 (de) Abspeichern von Abschnitten eines Datenübertragungsdeskriptors in einem gecachten und einem nicht gecachten Adressbereich
DE4018481C2 (de)
DE69030678T2 (de) Datenübertragungsbetrieb zwischen zwei asynchronen Bussen
DE112015000526B4 (de) Kommunikationsvorrichtung und Kommunikationsverfahren
DE69119149T2 (de) Struktur zur direkten Speicher-zu-Speicher-Übertragung
DE10214067B4 (de) Integrierter Schaltkreischip mit Hochgeschwindigkeitsdatenschnittstelle sowie zugehöriges Southbridgebauelement und Verfahren
DE102018202446A1 (de) Verfahren zum Modularisieren einer Softwarearchitektur
EP3015992B1 (de) Verfahren zur verwaltung priorisierter eingangsdaten
DE102006009034B3 (de) Verfahren zum Betreiben eines Bussystems sowie Halbleiter-Bauelement, insbesondere Mikroprozessor- bzw. Mikrocontroller
DE102016206109A1 (de) Speicherdirektzugriffssteuereinrichtung für mindestens eine einen Arbeitsspeicher aufweisende Recheneinheit
WO2011134762A1 (de) Coprozessor mit aufgabenablaufsteuerung
WO2016162144A1 (de) Verwaltung von schnittstellen in einem verteilten system
DE60211874T2 (de) Anordnung von zwei Geräten, verbunden durch einen Kreuzvermittlungsschalter
DE102016205536A1 (de) Speicherdirektzugriffssteuereinrichtung für eine einen Arbeitsspeicher aufweisende Recheneinheit
DE102005010931A1 (de) Mehrtordirektzugriffsspeicher
DE10306285A1 (de) Mikrocomputersystem
DE102007037064B4 (de) Einchipsystem
EP1118924B1 (de) Verfahren zum betrieb einer mikroprozessoranordnung und mikroprozessoranordnung
DE102018123563B4 (de) Verfahren zur Zwischenkernkommunikation in einem Mehrkernprozessor
EP3900275A1 (de) Recheneinrichtung und verfahren zum betreiben einer recheneinrichtung
EP3423949B1 (de) Speicherdirektzugriffssteuereinrichtung für eine einen arbeitsspeicher aufweisende recheneinheit
DE102018214015A1 (de) SPI-Vorrichtungen mit Multi-Master-Fähigkeiten
DE112013003924T5 (de) Virtualisierte Kommunikationsbuchse für Multiflow-Zugriff auf eine Nachrichtenkanal-Infrastruktur innerhalb einer CPU

Legal Events

Date Code Title Description
R012 Request for examination validly filed