[go: up one dir, main page]

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

Speicherdirektzugriffssteuereinrichtung für mindestens eine einen Arbeitsspeicher aufweisende Recheneinheit Download PDF

Info

Publication number
DE102016206109A1
DE102016206109A1 DE102016206109.7A DE102016206109A DE102016206109A1 DE 102016206109 A1 DE102016206109 A1 DE 102016206109A1 DE 102016206109 A DE102016206109 A DE 102016206109A DE 102016206109 A1 DE102016206109 A1 DE 102016206109A1
Authority
DE
Germany
Prior art keywords
memory
direct access
control device
access control
information block
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
DE102016206109.7A
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 DE102016206109.7A priority Critical patent/DE102016206109A1/de
Priority to US15/479,915 priority patent/US10095643B2/en
Priority to KR1020170045930A priority patent/KR102303424B1/ko
Priority to CN201710236371.3A priority patent/CN107291641B/zh
Publication of DE102016206109A1 publication Critical patent/DE102016206109A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0022Multibus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/24Interrupt
    • G06F2213/2418Signal interruptions by means of a message
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/28DMA

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)
  • Storage Device Security (AREA)

Abstract

Die Erfindung betrifft eine Speicherdirektzugriffssteuereinrichtung (40) für mindestens eine einen Arbeitsspeicher (30; 30_1 bis 30_n) aufweisende Recheneinheit (20; 20_1 bis 20_n), wobei die Speicherdirektzugriffssteuereinrichtung (40) einen Anschluss zur Verbindung der Speicherdirektzugriffssteuereinrichtung (40) mit einem die Recheneinheit (20; 20_1 bis 20_n) mit dem Arbeitsspeicher (30; 30_1 bis 30_n) verbindenden Bussystem (12) aufweist. Dabei ist die Speicherdirektzugriffssteuereinrichtung (40) zur Ausführung der folgenden Schritte ausgebildet: – Auslesen (102) von ersten Daten aus einem mit dem Bussystem (12) verbundenen Quellmodul (50), wobei die ersten Daten wenigstens einem zumindest zeitweise in dem Quellmodul (50) gespeicherten Informationsblock (60) zugeordnet sind, – Ermitteln (104) einer Zieladresse (82') in dem Arbeitsspeicher (30; 30_1 bis 30_n) für den mindestens einen Informationsblock (60) in Abhängigkeit der ersten Daten und in Abhängigkeit von Konfigurationsinformationen (42), – Übertragen (108) des mindestens einen Informationsblocks (60) von dem Quellmodul (50) an die Zieladresse (82') unter Verwendung eines Speicherdirektzugriffs von dem Quellmodul (50) zu dem Arbeitsspeicher (30; 30_1 bis 30_n).

Description

  • Stand der Technik
  • Die Erfindung betrifft eine Speicherdirektzugriffssteuereinrichtung nach dem Oberbegriff des Anspruchs 1, sowie ein Verfahren 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 mindestens 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:
    • – Auslesen von ersten Daten aus einem mit dem Bussystem verbundenen Quellmodul, wobei die ersten Daten wenigstens einem zumindest zeitweise in dem Quellmodul gespeicherten Informationsblock zugeordnet sind,
    • – Ermitteln einer Zieladresse in dem Arbeitsspeicher für den mindestens einen Informationsblock in Abhängigkeit der ersten Daten und in Abhängigkeit von Konfigurationsinformationen,
    • – Übertragen des mindestens einen Informationsblocks von dem Quellmodul an die Zieladresse unter Verwendung eines Speicherdirektzugriffs von dem Quellmodul zu dem Arbeitsspeicher.
  • Der besagte wenigstens eine Informationsblock kann "Nutzdaten" und/oder Steuerinformationen umfassen und beispielsweise auch ganze Datenpakete bilden, wie sie durch das Quellmodul über ein (von dem oben beschriebenen Bussystem verschiedenes) Bussystem und/oder über ein Datennetzwerk von anderen Einheiten empfangen werden können.
  • Die Recheneinheit (beispielsweise eine CPU, englisch: "central processing unit") kann einen oder mehrere Prozessorkerne (Rechenkerne) umfassen, wobei die Prozessorkerne nachfolgend auch als Recheneinheiten bezeichnet werden. Die Prozessorkerne bzw. die Recheneinheiten können in einem gemeinsamen Bauelement (integrierte Schaltung) oder in jeweils getrennten Bauelementen angeordnet sein.
  • Der Arbeitsspeicher kann als zentraler Arbeitsspeicher ausgeführt sein, welcher von den Prozessorkernen gemeinsam nutzbar ist, und/oder es kann für jeden der Prozessorkerne ein jeweils separater Arbeitsspeicher vorgesehen sein. Dieser Arbeitsspeicher kann zusammen mit dem jeweiligen Prozessorkern in einem gemeinsamen Bauelement angeordnet sein ("intern") oder physisch davon getrennt sein ("extern").
  • Die Zieladresse ist beispielsweise eine einzelne Adresse in dem Arbeitsspeicher, wobei die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet ist, in Abhängigkeit von dem zu übertragenden Informationsblock die Zieladresse gegebenenfalls in geeigneter und an sich bekannter Weise fortlaufend schrittweise zu erhöhen.
  • In einer Ausgestaltung sind die Konfigurationsinformationen mittels einer Tabelle ("Konfigurationstabelle"), einer Matrix oder dergleichen vorgegeben. In einer weiteren Ausgestaltung wird mittels der besagten Konfigurationsinformationen vorgegeben, auf welche Weise die ersten Daten für das Ermitteln der Zieladresse zu interpretieren sind. Die Konfigurationsinformationen können auch Filterkriterien aufweisen, welche auf die ersten Daten angewendet werden können, z.B. zur Selektion von Daten.
  • Das Quellmodul kann eine an sich beliebige Einheit sein, welche mindestens einen Informationsblock aufweist, der an die Zieladresse in dem Arbeitsspeicher übertragen werden kann.
  • Vorzugsweise, aber nicht zwingend, ist die Speicherdirektzugriffssteuereinrichtung mittels Hardware ausgeführt, also mittels eines oder mehrerer diskreter und/oder integrierter elektronischer Bauelemente. Bei einer vorteilhaften Ausführungsform kann eine konventionelle Speicherdirektzugriffssteuereinrichtung um die erfindungsgemäße Funktionalität ergänzt sein.
  • In einer Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung eine separate Einheit, welche ergänzend zu einer nach dem Stand der Technik vorbekannten Speicherdirektzugriffssteuereinrichtung verwendet wird.
  • In einer weiteren Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, ein Triggersignal, ein Steuerbit, oder ein sonstiges Signal von dem Quellmodul zu empfangen, wodurch die Speicherdirektzugriffssteuereinrichtung veranlasst werden kann, die ersten Daten aus dem mit dem Bussystem verbundenen Quellmodul auszulesen. Dadurch ist ein periodisches Abfragen ("Pollen") des Quellmoduls durch die Speicherdirektzugriffssteuereinrichtung entbehrlich, wodurch der Betrieb der Speicherdirektzugriffssteuereinrichtung vorteilhaft beschleunigt und/oder vereinfacht werden kann.
  • Die Erfindung weist den Vorteil auf, dass eine Datenübertragung, insbesondere das Übertragen des mindestens einen Informationsblocks von dem Quellmodul an die Zieladresse, ohne eine Mitwirkung durch die Recheneinheit bzw. einen jeweiligen Prozessorkern möglich ist. Dies kann Rechenzeit sparen, weil Zugriffe der Recheneinheit auf ihre Peripherie im Allgemeinen vergleichsweise langsam sind. Dadurch kann der Betrieb der Recheneinheit bzw. eines die Recheneinheit aufweisenden Rechnersystems insgesamt verbessert werden.
  • Ein weiterer Vorteil ist, dass die Speicherdirektzugriffssteuereinrichtung die Leistung von solchen Quellmodulen 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.
  • In einer weiteren Ausgestaltung umfasst das Quellmodul ein Kommunikationsmodul, insbesondere ein CAN-Modul, ein MCAN-Modul, ein FlexRay-Modul und/oder ein Ethernet-Modul. Diese Module sind besonders vorteilhaft zusammen mit der Speicherdirektzugriffssteuereinrichtung verwendbar. Die Abkürzung "CAN" bedeutet "Controller Area Network". Der Buchstabe "M" charakterisiert dabei einen optionalen herstellerspezifischen Namenszusatz. Der Begriff "FlexRay" charakterisiert ein serielles, deterministisches und fehlertolerantes Feldbussystem, insbesondere für den Einsatz in Kraftfahrzeugen. Bei anderen Ausführungsformen kann das Quellmodul auch eine Speichereinheit aufweisen bzw. darstellen. Bei einer weiteren Ausführungsform kann das Quellmodul auch einen Speicher, z.B. einen Arbeitsspeicher (RAM, random access memory), umfassen bzw. darstellen.
  • Weiterhin kann vorgesehen sein, dass die ersten Daten Nutzdaten und/oder Metadaten des Informationsblocks sind. Die Metadaten können beispielsweise eine so genannte "CAN-ID" umfassen, falls das Quellmodul ein CAN-Modul umfasst, oder die Metadaten können beispielsweise eine so genannte "Minislot-Nummer" umfassen, falls das Quellmodul ein FlexRay-Modul umfasst. Somit kann die Speicherdirektzugriffssteuereinrichtung in Abhängigkeit von einer jeweiligen Konfiguration vorteilhaft mehrere Möglichkeiten nutzen, um die Zieladresse in dem Arbeitsspeicher zu ermitteln.
  • Weiterhin kann vorgesehen sein, dass der Informationsblock in dem Quellmodul eine von dem Quellmodul empfangene Nachricht charakterisiert. Beispielsweise wird die Nachricht von dem Quellmodul über ein von der Recheneinheit und der Speicherdirektzugriffssteuereinrichtung getrenntes Bussystem (z.B. CAN-Bus) von einem anderen Busteilnehmer dieses Bussystems empfangen. Diese Nachricht kann mittels der Speicherdirektzugriffssteuereinrichtung vorteilhaft an die Zieladresse des Arbeitsspeichers übertragen werden.
  • In einer weiteren Ausgestaltung sind die Konfigurationsinformationen innerhalb und/oder außerhalb der Speicherdirektzugriffssteuereinrichtung lokalisiert. Beispielsweise sind die Konfigurationsinformationen in einem die Speicherdirektzugriffssteuereinrichtung umfassenden elektronischen Bauelement flüchtig oder nicht-flüchtig gespeichert. Ergänzend oder alternativ können die Konfigurationsinformationen beispielsweise in einem Bereich des Arbeitsspeichers oder in einem dazu vergleichbaren Speicher lokalisiert sein. Dadurch können die Konfigurationsinformationen vorteilhaft auf vielseitige Weise vorgegeben werden, beispielsweise durch die Recheneinheit.
  • Weiterhin kann vorgesehen sein, dass die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet ist, ergänzend zu dem Ermitteln der Zieladresse eine für die Übertragung des mindestens einen Informationsblocks bestimmte Recheneinheit und/oder einen für die Übertragung des mindestens einen Informationsblocks bestimmten Arbeitsspeicher (bzw. Arbeitsspeicherbereich bzw. Arbeitsspeicher-Einheit) zu ermitteln. Dies erfolgt vorzugsweise in Abhängigkeit von den ersten Daten und/oder in Abhängigkeit von den Konfigurationsinformationen. Dies ist besonders vorteilhaft, wenn die Recheneinheit mehrere Prozessorkerne umfasst, wodurch der Betrieb der Recheneinheit bzw. des die mindestens eine Recheneinheit umfassenden Rechnersystems verbessert werden kann.
  • In einer weiteren Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, die Zieladresse in Abhängigkeit wenigstens einer absoluten ersten Speicheradresse in dem Arbeitsspeicher und/oder wenigstens einer relativen zweiten Speicheradresse in dem Arbeitsspeicher zu ermitteln. Die Auswahl, ob jeweils die absolute erste Speicheradresse und/oder die relative zweite Speicheradresse verwendet wird, erfolgt vorzugsweise in Abhängigkeit von den weiter oben beschriebenen Konfigurationsinformationen und/oder in Abhängigkeit von den ersten Daten. Dadurch werden die Möglichkeiten der Speicherdirektzugriffssteuereinrichtung vorteilhaft erweitert.
  • Dabei ist die absolute erste Speicheradresse beispielsweise eine vorgegebene Adresse in dem Arbeitsspeicher, wobei die erste Speicheradresse z.B. mittels der Speicherdirektzugriffssteuereinrichtung schrittweise erhöht werden kann, bis der gesamte Informationsblock in den Arbeitsspeicher übertragen wurde.
  • Dabei ist die relative zweite Speicheradresse beispielsweise durch einen Schreibzeiger zur Speicherung des Informationsblocks in einem Ringpuffer (Ringspeicher) charakterisiert. Beispielsweise umfasst der Ringpuffer einen in dem Arbeitsspeicher vorgegebenen Speicherbereich von fester Länge, wobei der Schreibzeiger den Speicherbereich zyklisch durchlaufen kann. Ein beispielsweise von einem Prozessorkern gesteuerter Lesezeiger kann dem Schreibzeiger zeitlich beabstandet folgen und somit den Informationsblock schrittweise einer durch den Prozessorkern gesteuerten weiteren Verarbeitung zuführen.
  • Weiterhin kann vorgesehen sein, dass die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet ist, wenigstens ein Steuerbit in dem mindestens einen Informationsblock zu setzen, und/oder eine Unterbrechungsanforderung (englisch: "interrupt") bei der Recheneinheit und/oder bei einem Prozessorkern der Recheneinheit auszulösen. Vorzugsweise, aber nicht zwingend, betrifft die Unterbrechungsanforderung nur denjenigen Prozessorkern, welcher als Empfänger für den jeweiligen Informationsblock vorgesehen ist. Dadurch kann die Recheneinheit bzw. das die mindestens eine Recheneinheit umfassende Rechnersystem besonders schnell auf die Übertragung des Informationsblocks in den Arbeitsspeicher reagieren. Das besagte Steuerbit ist beispielsweise ein so genanntes "New-Flag".
  • In einer weiteren Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, ein Steuerbit, englisch: "acknowledge", an das Quellmodul zu übertragen, nachdem ein jeweiliger Informationsblock mittels der Speicherdirektzugriffssteuereinrichtung erfolgreich von dem Quellmodul an den Arbeitsspeicher übertragen wurde. Dadurch kann ein in dem Quellmodul zeitweise für den Informationsblock reservierter Speicherbereich vorteilhaft schnell wieder freigegeben werden und steht somit für eventuelle weitere Übertragungen zur Verfügung.
  • Weiterhin betrifft die Erfindung ein Verfahren zum Betreiben der Speicherdirektzugriffssteuereinrichtung für mindestens 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:
    • – Auslesen von ersten Daten aus einem mit dem Bussystem verbundenen Quellmodul, wobei die ersten Daten wenigstens einem zumindest zeitweise in dem Quellmodul gespeicherten Informationsblock zugeordnet sind,
    • – Ermitteln einer Zieladresse in dem Arbeitsspeicher für den mindestens einen Informationsblock in Abhängigkeit der ersten Daten und in Abhängigkeit von Konfigurationsinformationen,
    • – Übertragen des mindestens einen Informationsblocks von dem Quellmodul an die Zieladresse unter Verwendung eines Speicherdirektzugriffs von dem Quellmodul zu dem Arbeitsspeicher.
  • Es ergeben sich vergleichbare Vorteile, wie es weiter oben für die Speicherdirektzugriffssteuereinrichtung bereits beschrieben wurde.
  • In einer Ausgestaltung des Verfahrens umfasst das Quellmodul ein Kommunikationsmodul, insbesondere ein CAN-Modul, ein MCAN-Modul, ein FlexRay-Modul und/oder ein Ethernet-Modul. Bei einer weiteren Ausführungsform kann das Quellmodul auch einen Speicher, z.B. einen Arbeitsspeicher (RAM, random access memory), umfassen bzw. darstellen.
  • In einer weiteren Ausgestaltung des Verfahrens sind die ersten Daten Nutzdaten und/oder Metadaten des Informationsblocks.
  • In einer weiteren Ausgestaltung des Verfahrens charakterisiert der Informationsblock in dem Quellmodul eine von dem Quellmodul empfangene Nachricht.
  • In einer weiteren Ausgestaltung des Verfahrens wird ergänzend zu dem Ermitteln der Zieladresse eine für die Übertragung des mindestens einen Informationsblocks bestimmte Recheneinheit und/oder ein für die Übertragung des mindestens einen Informationsblocks bestimmter Arbeitsspeicher ermittelt.
  • In einer weiteren Ausgestaltung des Verfahrens wird die Zieladresse in Abhängigkeit wenigstens einer absoluten ersten Speicheradresse in dem Arbeitsspeicher und/oder wenigstens einer relativen zweiten Speicheradresse in dem Arbeitsspeicher ermittelt.
  • In einer weiteren Ausgestaltung des Verfahrens wird wenigstens ein Steuerbit in dem mindestens einen Informationsblock gesetzt und/oder eine Unterbrechungsanforderung (englisch: "interrupt") bei der Recheneinheit und/oder bei einem Prozessorkern der Recheneinheit ausgelöst.
  • Für die beschriebenen Ausgestaltungen des Verfahrens ergeben sich ebenfalls vergleichbare Vorteile, wie es weiter oben für die entsprechenden Ausgestaltungen der Speicherdirektzugriffssteuereinrichtung bereits beschrieben wurde.
  • Nachfolgend werden beispielhafte Ausführungsformen der Erfindung unter Bezugnahme auf die Zeichnung erläutert. In der Zeichnung zeigen:
  • 1 ein stark vereinfachtes Blockschaltbild für ein Rechnersystem mit einem Bus;
  • 2 eine Ausführungsform des Rechnersystems von 1 mit einer Mehrzahl von Recheneinheiten und den Recheneinheiten jeweils zugeordneten Arbeitsspeicher-Einheiten;
  • 3 ein Schema für einen Ringpufferspeicher; und
  • 4 ein Flussdiagramm für eine Ausführungsform eines Verfahrens zum Betreiben einer Speicherdirektzugriffssteuereinrichtung des Rechnersystems nach 2 zur Durchführung eines Speicherdirektzugriffs.
  • 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 schematisch 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. Das Bussystem 12 kann beispielsweise – ebenso wie eine oder mehrere der Komponenten 20, 30, 40, 50 – auf einem Halbleiterbauelement (Chip) ("Network on Chip") angeordnet sein. Ergänzend umfasst die Speicherdirektzugriffssteuereinrichtung 40 Konfigurationsinformationen 42, welche weiter unten bei der 2 noch näher erläutert werden. Weiterhin zeigt die 1 ein mit dem Bussystem 12 verbundenes Quellmodul 50. An das Quellmodul 50 ist vorliegend ein CAN-Bus 52 angeschlossen.
  • Die 2 zeigt das Rechnersystem 10, welches vorliegend eine Recheneinheit 20 mit einer Mehrzahl von Prozessorkernen 20_1 bis 20_n und den Prozessorkernen 20_1 bis 20_n jeweils zugeordneten Arbeitsspeicher-Einheiten 30_1, 30_2 bis 30_n umfasst.
  • Nachfolgend werden die Prozessorkerne 20_1 bis 20_n gleichbedeutend auch als Recheneinheiten 20_1 bis 20_n bezeichnet. Nachfolgend werden die Arbeitsspeicher-Einheiten 30_1, 30_2 bis 30_n zusammenfassend auch als Arbeitsspeicher 30 bezeichnet. In Abhängigkeit von einer Ausführungsform kann der Arbeitsspeicher 30 jedoch auch als ein zentrales Element des Rechnersystems 10 ausgebildet sein, wobei alle Recheneinheiten 20_1 bis 20_n auf diesen Arbeitsspeicher 30 lesend und schreibend zugreifen können.
  • In einer Ausführungsform ist das Quellmodul 50 zum Betrieb mit einer Recheneinheit 20 ausgebildet, welche nur einen einzelnen Prozessorkern 20_1 bis 20_n umfasst. In einer weiteren Ausführungsform ist das Quellmodul 50 zum Betrieb mit mehreren Prozessorkernen 20_1 bis 20_n ausgebildet. Beide Ausführungsformen des Quellmoduls 50 können in dem Rechnersystem 10 der 1 oder 2 alternativ verwendet werden.
  • Der Arbeitsspeicher 30 bzw. die Arbeitsspeicher-Einheiten 30_1, 30_2 bis 30_n können beispielsweise ein "externes" RAM, Speicher mit wahlfreiem Zugriff, englisch "random access memory", oder ein der Recheneinheit 20 bzw. den Recheneinheiten 20_1, 20_2, 20_n zugehöriges "internes" RAM sein.
  • Die Recheneinheit 20, die Arbeitsspeicher-Einheiten 30_1 bis 30_n, die Speicherdirektzugriffssteuereinrichtung 40 und das Quellmodul 50 sind über das gemeinsame Bussystem 12 (siehe 1) miteinander verbunden, über welches Informationsblöcke 60 ausgetauscht werden können. Die Informationsblöcke 60 können "Nutzdaten" und/oder Steuerinformationen umfassen.
  • Vorliegend werden nur solche Informationsblöcke 60 betrachtet, welche von dem Quellmodul 50 hin zu dem Arbeitsspeicher 30 bzw. den Arbeitsspeicher-Einheiten 30_1 bis 30_n übertragen werden bzw. übertragen werden sollen (so genannter "Rx-Betrieb"). Dennoch kann das Quellmodul 50 bzw. das Kommunikationsmodul 50 selbstverständlich auch dazu ausgebildet sein, Informationsblöcke 60 von dem Arbeitsspeicher 30 über das Bussystem 12 zur Übertragung über den CAN-Bus 52 zu empfangen (so genannter "Tx-Betrieb").
  • 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.
  • Die in der 2 gezeichneten Doppelpfeile zwischen den Arbeitsspeicher-Einheiten 30_1, 30_2 bis 30_n und der Speicherdirektzugriffssteuereinrichtung 40, sowie zwischen der Speicherdirektzugriffssteuereinrichtung 40 und dem Quellmodul 50, charakterisieren vorliegend eine jeweilige funktionale Zuordnung und nur bedingt eine jeweilige physikalische Verbindung.
  • Vorliegend umfasst das Quellmodul 50 ein Kommunikationsmodul 50, insbesondere ein CAN-Modul bzw. MCAN-Modul. Entsprechend werden nachfolgend die Begriffe "Quellmodul" und "Kommunikationsmodul" gleichbedeutend verwendet. Das Quellmodul 50 bzw. das Kommunikationsmodul 50 bzw. das MCAN-Modul kann mit dem an das Kommunikationsmodul 50 angeschlossenen CAN-Bus 52 kommunizieren, an welchem eine (nicht dargestellte) Mehrzahl von vorliegend als "logische Einheiten" bezeichnete CAN-Bus-Teilnehmer angeschlossen sein kann. Die Abkürzung "CAN" bedeutet "Controller Area Network". Der Buchstabe "M" charakterisiert einen optionalen herstellerspezifischen Namenszusatz. In einer Ausführungsform ist das Quellmodul 50 bzw. das Kommunikationsmodul 50 ein FlexRay-Modul und/oder ein Ethernet-Modul. Bei einer weiteren Ausführungsform kann das Quellmodul auch einen Speicher, z.B. einen Arbeitsspeicher (RAM, random access memory), umfassen bzw. darstellen.
  • Beispielsweise umfasst das MCAN-Modul bzw. das Kommunikationsmodul 50 unter anderem folgende Teilschaltungen:
    • – 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 einen angeschlossenes CAN-Bussystem.
  • Unter anderem zeigt die 2 also die Speicherdirektzugriffssteuereinrichtung 40 für mindestens eine einen Arbeitsspeicher 30 aufweisende Recheneinheit 20, wobei die Speicherdirektzugriffssteuereinrichtung 40 einen Anschluss zur Verbindung der Speicherdirektzugriffssteuereinrichtung 40 mit dem die Recheneinheit 20 mit dem Arbeitsspeicher 30 verbindenden Bussystem 12 aufweist. Dabei ist die Speicherdirektzugriffssteuereinrichtung 40 zur Ausführung der folgenden Schritte ausgebildet:
    • – Auslesen 102 (siehe 4) von ersten Daten aus dem mit dem Bussystem 12 verbundenen Quellmodul 50, wobei die ersten Daten wenigstens einem zumindest zeitweise in dem Quellmodul 50 gespeicherten Informationsblock 60 zugeordnet sind,
    • – Ermitteln 104 (siehe 4) einer Zieladresse 82' (siehe die 3) in dem Arbeitsspeicher 30 bzw. in den Arbeitsspeicher-Einheiten 30_1 bis 30_n für den mindestens einen Informationsblock 60 in Abhängigkeit der ersten Daten und in Abhängigkeit von den Konfigurationsinformationen 42,
    • – Übertragen 108 (siehe 4) des mindestens einen Informationsblocks 60 von dem Quellmodul 50 an die Zieladresse 82' unter Verwendung eines Speicherdirektzugriffs von dem Quellmodul 50 zu dem Arbeitsspeicher 30.
  • In einer Ausführungsform sind die ersten Daten Nutzdaten und/oder Metadaten des Informationsblocks 60. Vorliegend charakterisiert der Informationsblock 60 in dem Quellmodul 50 eine von dem Quellmodul 50 empfangene Nachricht, welche also beispielsweise über den an dem Kommunikationsmodul 50 angeschlossenen CAN-Bus 52 empfangen werden kann.
  • In einer weiteren Ausführungsform sind die Konfigurationsinformationen 42 innerhalb und/oder außerhalb der Speicherdirektzugriffssteuereinrichtung 40 lokalisiert. Die Konfigurationsinformationen 42 charakterisieren vorliegend, auf welche Weise die ersten Daten für das Ermitteln 104 der Zieladresse 82' zu interpretieren sind. Beispielsweise sind die Konfigurationsinformationen 42 in einem die Speicherdirektzugriffssteuereinrichtung 40 umfassenden elektronischen Bauelement flüchtig oder nicht-flüchtig gespeichert. In einer Ausführungsform sind die Konfigurationsinformationen 42 in einem Bereich des Arbeitsspeichers 30 bzw. 30_1 bis 30_n oder in einem dazu vergleichbaren Speicher lokalisiert.
  • Vorliegend ist die Speicherdirektzugriffssteuereinrichtung 40 dazu ausgebildet, ergänzend zu dem Ermitteln 104 der Zieladresse 82' eine für die Übertragung des mindestens einen Informationsblocks 60 bestimmte Recheneinheit 20_1 bis 20_n und/oder einen für die Übertragung des mindestens einen Informationsblocks 60 bestimmten Arbeitsspeicher 30 bzw. 30_1 bis 30_n zu ermitteln. Dies erfolgt bevorzugt ebenfalls in Abhängigkeit von den ersten Daten und/oder den Konfigurationsinformationen 42.
  • In einer Ausführungsform ist die Speicherdirektzugriffssteuereinrichtung 40 dazu ausgebildet, wenigstens ein Steuerbit in dem mindestens einen Informationsblock 60 zu setzen, und/oder eine Unterbrechungsanforderung (englisch: "interrupt") bei der Recheneinheit 20 und/oder bei einem Prozessorkern 20_1 bis 20_n der Recheneinheit 20 auszulösen. Vorzugsweise, aber nicht zwingend, betrifft die Unterbrechungsanforderung nur denjenigen Prozessorkern 20_1 bis 20_n, welcher als Empfänger für den jeweiligen Informationsblock 60 vorgesehen ist.
  • In einer weiteren Ausführungsform ist die Speicherdirektzugriffssteuereinrichtung 40 dazu ausgebildet, ein Steuerbit, englisch: "acknowledge", an das Quellmodul 50 zu übertragen, nachdem ein jeweiliger Informationsblock 60 mittels der Speicherdirektzugriffssteuereinrichtung 40 erfolgreich von dem Quellmodul 50 an den Arbeitsspeicher 30 bzw. 30_1 bis 30_n übertragen wurde. Dadurch kann ein in dem Quellmodul 50 zeitweise für den Informationsblock 60 reservierter Speicherbereich schnell wieder freigegeben werden und steht somit für eventuelle weitere Übertragungen zur Verfügung.
  • In einer weiteren Ausführungsform ist die Speicherdirektzugriffssteuereinrichtung 40 dazu ausgebildet, die Zieladresse 82' in Abhängigkeit wenigstens einer absoluten ersten Speicheradresse in dem Arbeitsspeicher 30 bzw. 30_1 bis 30_n und/oder wenigstens einer relativen zweiten Speicheradresse in dem Arbeitsspeicher 30 bzw. 30_1 bis 30_n zu ermitteln. Dies erfolgt bevorzugt ebenfalls in Abhängigkeit von den ersten Daten und/oder den Konfigurationsinformationen 42.
  • Dabei ist die absolute erste Speicheradresse beispielsweise eine vorgegebene Adresse in dem Arbeitsspeicher 30 bzw. 30_1 bis 30_n, wobei die erste Speicheradresse schrittweise erhöht werden kann, bis der gesamte Informationsblock 60 übertragen wurde. Dabei ist die relative zweite Speicheradresse beispielsweise ein Schreibzeiger 82 zur Speicherung des Informationsblocks 60 in einem Ringpufferspeicher 80.
  • Mittels der besagten absoluten ersten Speicheradresse kann der Informationsblock 60 vollständig in einem vorgegebenen Speicherbereich des Arbeitsspeichers 30 bzw. 30_1 bis 30_n (gegebenenfalls dauerhaft) abgespeichert werden. Mittels der relativen zweiten Speicheradresse kann der Informationsblock 60 beispielsweise in einem Ringpufferspeicher 80 (3) zwischengespeichert werden. Andere Speicherformen wie z.B. ein Queue-speicher ("Warteschlange") bzw. ein Stack(Stapel)-Speicher sind ebenfalls denkbar.
  • In einer Ausführungsform ist die Recheneinheit 20 und/oder der Arbeitsspeicher 30 und/oder ein jeweiliger Informationsblock 60 unter anderem durch folgende im Wesentlichen selbst erklärende Größen, Steuerinformationen, und/oder Konfigurationsinformationen 42 charakterisiert:
    CAN_ID(1...n); Data NEW.
  • Hierbei bedeutet:
  • CAN_ID(1...n)
    – ID einer von DMA übertagenen Nachricht
    Data
    – Daten der zugehörigen ID
    NEW
    – bedeutet, dass neue Daten empfangen wurden – wird z.B. von DMA (Speicherdirektzugriffssteuereinrichtung) gesetzt und durch CPU zurückgesetzt;
  • In einer Ausführungsform ist die Speicherdirektzugriffssteuereinrichtung 40 und/oder ein jeweiliger Informationsblock 60 unter anderem durch folgende im Wesentlichen selbst erklärende Größen, Steuerinformationen, und/oder Konfigurationsinformationen 42 charakterisiert:
    SrcAddr; Len; CriteriaDefinition(1...N); TargetAddr; CPUx; Intr.
  • Hierbei bedeutet:
  • SrcAddr
    – Quelladresse;
    Len
    – Länge, wie viele Bytes zu übertragen sind;
    TargetAddr
    – Zieladresse (beispielsweise in dem Arbeitsspeicher 30);
    CriteriaDefinition
    – z.B. CAN_ID einer Nachricht – verwendbar als Kriterium für Entscheidung, an welche CPU (Zieladresse) die Daten übertragen werden sollen. Weitere mögliche Kriterien – MiniSlot ID, Protokoll Identifikation etc.
    CPUx
    – Nachdem die Nachricht empfangen wurde, wird an die CPUx der Interrupt ausgelöst – Konfigurationsbit;
    Intr
    – Interrupt – Konfigurationsbit, bedeutet: Interrupt auslösen, nachdem eine Nachricht empfangen wurde.
  • Die 3 zeigt schematisch einen Ringpufferspeicher 80, welcher beispielsweise einen in dem Arbeitsspeicher 30 bzw. 30_1 bis 30_n vorgegebenen Speicherbereich von fester Länge umfasst. Der Ringpufferspeicher 80 weist einen Schreibzeiger 82 auf, welcher eine aktuelle Adresse charakterisiert, an welcher ein aktuell übertragenes Element des Informationsblocks 60 in den Ringpufferspeicher 80 geschrieben werden kann. Dabei charakterisiert der Schreibzeiger 82 zugleich eine Zieladresse 82' für den mindestens einen Informationsblock 60.
  • Ein beispielsweise von der Recheneinheit 20 bzw. 20_1 bis 20_n gesteuerter Lesezeiger 84 kann dem Schreibzeiger 82 zeitlich beabstandet folgen und somit den Informationsblock 60 schrittweise einer durch die Recheneinheit 20 bzw. 20_1 bis 20_n gesteuerten weiteren Verarbeitung zuführen. Der Schreibzeiger 82 und der Lesezeiger 84 können zyklisch den dem Ringpufferspeicher 80 zugeordneten Speicherbereich durchlaufen.
  • Die 4 zeigt ein Flussdiagramm für ein Verfahren zum Betreiben der Speicherdirektzugriffssteuereinrichtung 40 für mindestens eine den Arbeitsspeicher 30 bzw. 30_1 bis 30_n aufweisende Recheneinheit 20 bzw. 20_1 bis 20_n, wobei die Speicherdirektzugriffssteuereinrichtung 40 einen Anschluss zur Verbindung der Speicherdirektzugriffssteuereinrichtung 40 mit dem die Recheneinheit 20 bzw. 20_1 bis 20_n mit dem Arbeitsspeicher 30 bzw. 30_1 bis 30_n verbindenden Bussystem 12 aufweist. Dabei umfasst das Verfahren die folgenden Schritte:
    • – Auslesen 102 von ersten Daten aus dem mit dem Bussystem 12 verbundenen Quellmodul 50, wobei die ersten Daten wenigstens einem zumindest zeitweise in dem Quellmodul 50 gespeicherten Informationsblock 60 zugeordnet sind,
    • – Ermitteln 104 einer Zieladresse 82' in dem Arbeitsspeicher 30 bzw. 30_1 bis 30_n für den mindestens einen Informationsblock 60 in Abhängigkeit der ersten Daten und in Abhängigkeit von den Konfigurationsinformationen 42,
    • – Übertragen 108 des mindestens einen Informationsblocks 60 von dem Quellmodul 50 an die Zieladresse 82' unter Verwendung eines Speicherdirektzugriffs von dem Quellmodul 50 zu dem Arbeitsspeicher 30 bzw. 30_1 bis 30_n. Die jeweils zugehörigen Blöcke sind in der 4 mittels einer durchgehenden Linie gezeichnet.
  • In einer Ausführungsform wird im Block 104 die Zieladresse 82' in Abhängigkeit wenigstens einer absoluten ersten Speicheradresse in dem Arbeitsspeicher 30 bzw. 30_1 bis 30_n und/oder wenigstens einer relativen zweiten Speicheradresse in dem Arbeitsspeicher 30 bzw. 30_1 bis 30_n ermittelt.
  • In einer Ausführungsform des Verfahrens umfasst das Quellmodul 50 ein Kommunikationsmodul 50, insbesondere ein CAN-Modul, ein MCAN-Modul, ein FlexRay-Modul und/oder ein Ethernet-Modul. Bei einer weiteren Ausführungsform kann das Quellmodul auch einen Speicher, z.B. einen Arbeitsspeicher (RAM, random access memory), umfassen bzw. darstellen.
  • In einer Ausführungsform sind die ersten Daten Nutzdaten und/oder Metadaten des Informationsblocks 60.
  • In einer Ausführungsform charakterisiert der Informationsblock 60 in dem Quellmodul 50 eine von dem Quellmodul 50 empfangene Nachricht.
  • In einer Ausführungsform erhält die Speicherdirektzugriffssteuereinrichtung 40 ein Triggersignal, ein Steuerbit, oder ein sonstiges Signal von dem Quellmodul 50, wodurch die Speicherdirektzugriffssteuereinrichtung 40 veranlasst wird, das Auslesen 102 der ersten Daten aus dem mit dem Bussystem 12 verbundenen Quellmodul 50 durchzuführen. Dies ist durch einen gestrichelt gezeichneten Block 100 charakterisiert.
  • In einer Ausführungsform des Verfahrens wird ergänzend zu dem Ermitteln 104 der Zieladresse 82' eine für die Übertragung des mindestens einen Informationsblocks 60 bestimmte Recheneinheit 20_1 bis 20_n und/oder ein für die Übertragung des mindestens einen Informationsblocks 60 bestimmter Arbeitsspeicher 30_1 bis 30_n ermittelt. Dies ist durch einen gestrichelt gezeichneten Block 106 charakterisiert.
  • In einer Ausführungsform wird wenigstens ein Steuerbit in dem mindestens einen Informationsblock 60 gesetzt und/oder eine Unterbrechungsanforderung (englisch: "interrupt") bei der Recheneinheit 20 und/oder bei einem Prozessorkern 20_1 bis 20_n der Recheneinheit 20 ausgelöst. Dies ist durch einen gestrichelt gezeichneten Block 110 charakterisiert.
  • In einer Ausführungsform ist die Speicherdirektzugriffssteuereinrichtung 40 dazu ausgebildet, ein Steuerbit, englisch: "acknowledge", an das Quellmodul 50 zu übertragen, nachdem ein jeweiliger Informationsblock 60 mittels der Speicherdirektzugriffssteuereinrichtung 40 erfolgreich von dem Quellmodul 50 an den Arbeitsspeicher 30 übertragen wurde. Dadurch kann ein in dem Quellmodul 50 zeitweise für den Informationsblock 60 reservierter Speicherbereich vorteilhaft schnell wieder freigegeben werden und steht somit für eventuelle weitere Übertragungen zur Verfügung. Dies ist durch einen gestrichelt gezeichneten Block 112 charakterisiert.

Claims (15)

  1. Speicherdirektzugriffssteuereinrichtung (40) für mindestens eine einen Arbeitsspeicher (30; 30_1 bis 30_n) aufweisende Recheneinheit (20; 20_1 bis 20_n), wobei die Speicherdirektzugriffssteuereinrichtung (40) einen Anschluss zur Verbindung der Speicherdirektzugriffssteuereinrichtung (40) mit einem die Recheneinheit (20; 20_1 bis 20_n) mit dem Arbeitsspeicher (30; 30_1 bis 30_n) verbindenden Bussystem (12) aufweist, dadurch gekennzeichnet, dass die Speicherdirektzugriffssteuereinrichtung (40) zur Ausführung der folgenden Schritte ausgebildet ist: – Auslesen (102) von ersten Daten aus einem mit dem Bussystem (12) verbundenen Quellmodul (50), wobei die ersten Daten wenigstens einem zumindest zeitweise in dem Quellmodul (50) gespeicherten Informationsblock (60) zugeordnet sind, – Ermitteln (104) einer Zieladresse (82') in dem Arbeitsspeicher (30; 30_1 bis 30_n) für den mindestens einen Informationsblock (60) in Abhängigkeit der ersten Daten und in Abhängigkeit von Konfigurationsinformationen (42), – Übertragen (108) des mindestens einen Informationsblocks (60) von dem Quellmodul (50) an die Zieladresse (82') unter Verwendung eines Speicherdirektzugriffs von dem Quellmodul (50) zu dem Arbeitsspeicher (30; 30_1 bis 30_n).
  2. Speicherdirektzugriffssteuereinrichtung (40) nach Anspruch 1, wobei das Quellmodul (50) ein Kommunikationsmodul (50), insbesondere ein CAN-Modul und/oder ein MCAN-Modul und/oder ein FlexRay-Modul und/oder ein Ethernet-Modul umfasst.
  3. Speicherdirektzugriffssteuereinrichtung (40) nach Anspruch 1 oder 2, wobei die ersten Daten Nutzdaten und/oder Metadaten des Informationsblocks (60) sind.
  4. Speicherdirektzugriffssteuereinrichtung (40) nach wenigstens einem der vorstehenden Ansprüche, wobei der Informationsblock (60) in dem Quellmodul (50) eine von dem Quellmodul (50) empfangene Nachricht charakterisiert.
  5. Speicherdirektzugriffssteuereinrichtung (40) nach wenigstens einem der vorstehenden Ansprüche, wobei die Konfigurationsinformationen (42) innerhalb und/oder außerhalb der Speicherdirektzugriffssteuereinrichtung (40) lokalisiert sind.
  6. Speicherdirektzugriffssteuereinrichtung (40) nach wenigstens einem der vorstehenden Ansprüche, wobei die Speicherdirektzugriffssteuereinrichtung (40) dazu ausgebildet ist, ergänzend zu dem Ermitteln (104) der Zieladresse (82') eine für die Übertragung des mindestens einen Informationsblocks (60) bestimmte Recheneinheit (20; 20_1 bis 20_n) und/oder einen für die Übertragung des mindestens einen Informationsblocks (60) bestimmten Arbeitsspeicher (30; 30_1 bis 30_n) zu ermitteln.
  7. Speicherdirektzugriffssteuereinrichtung (40) nach wenigstens einem der vorstehenden Ansprüche, wobei die Speicherdirektzugriffssteuereinrichtung (40) dazu ausgebildet ist, die Zieladresse (82') in Abhängigkeit wenigstens einer absoluten ersten Speicheradresse in dem Arbeitsspeicher (30; 30_1 bis 30_n) und/oder wenigstens einer relativen zweiten Speicheradresse in dem Arbeitsspeicher (30; 30_1 bis 30_n) zu ermitteln.
  8. Speicherdirektzugriffssteuereinrichtung (40) nach wenigstens einem der vorstehenden Ansprüche, wobei die Speicherdirektzugriffssteuereinrichtung (40) dazu ausgebildet ist, wenigstens ein Steuerbit in dem mindestens einen Informationsblock (60) zu setzen, und/oder eine Unterbrechungsanforderung bei der Recheneinheit (20) und/oder bei einem Prozessorkern (20_1 bis 20_n) der Recheneinheit (20) auszulösen.
  9. Verfahren zum Betreiben einer Speicherdirektzugriffssteuereinrichtung (40) für mindestens eine einen Arbeitsspeicher (30; 30_1 bis 30_n) aufweisende Recheneinheit (20; 20_1 bis 20_n), wobei die Speicherdirektzugriffssteuereinrichtung (40) einen Anschluss zur Verbindung der Speicherdirektzugriffssteuereinrichtung (40) mit einem die Recheneinheit (20; 20_1 bis 20_n) mit dem Arbeitsspeicher (30; 30_1 bis 30_n) verbindenden Bussystem (12) aufweist, dadurch gekennzeichnet, dass das Verfahren die folgenden Schritte umfasst: – Auslesen (102) von ersten Daten aus einem mit dem Bussystem (12) verbundenen Quellmodul (50), wobei die ersten Daten wenigstens einem zumindest zeitweise in dem Quellmodul (50) gespeicherten Informationsblock (60) zugeordnet sind, – Ermitteln (104) einer Zieladresse (82') in dem Arbeitsspeicher (30; 30_1 bis 30_n) für den mindestens einen Informationsblock (60) in Abhängigkeit der ersten Daten und in Abhängigkeit von Konfigurationsinformationen (42), – Übertragen (108) des mindestens einen Informationsblocks (60) von dem Quellmodul (50) an die Zieladresse (82') unter Verwendung eines Speicherdirektzugriffs von dem Quellmodul (50) zu dem Arbeitsspeicher (30; 30_1 bis 30_n).
  10. Verfahren nach Anspruch 9, wobei das Quellmodul (50) ein Kommunikationsmodul (50), insbesondere ein CAN-Modul, ein MCAN-Modul, ein FlexRay-Modul und/oder ein Ethernet-Modul umfasst.
  11. Verfahren nach Anspruch 9 oder 10, wobei die ersten Daten Nutzdaten und/oder Metadaten des Informationsblocks (60) sind.
  12. Verfahren nach wenigstens einem der Ansprüche 9 bis 11, wobei der Informationsblock (60) in dem Quellmodul (50) eine von dem Quellmodul (50) empfangene Nachricht charakterisiert.
  13. Verfahren nach wenigstens einem der Ansprüche 9 bis 12, wobei ergänzend zu dem Ermitteln (104) der Zieladresse (82') eine für die Übertragung des mindestens einen Informationsblocks (60) bestimmte Recheneinheit (20; 20_1 bis 20_n) und/oder ein für die Übertragung des mindestens einen Informationsblocks (60) bestimmter Arbeitsspeicher (30; 30_1 bis 30_n) ermittelt wird.
  14. Verfahren nach wenigstens einem der Ansprüche 9 bis 13, wobei die Zieladresse (82') in Abhängigkeit wenigstens einer absoluten ersten Speicheradresse in dem Arbeitsspeicher (30; 30_1 bis 30_n) und/oder wenigstens einer relativen zweiten Speicheradresse in dem Arbeitsspeicher (30; 30_1 bis 30_n) ermittelt wird.
  15. Verfahren nach wenigstens einem der Ansprüche 9 bis 14, wobei wenigstens ein Steuerbit in dem mindestens einen Informationsblock (60) gesetzt wird und/oder eine Unterbrechungsanforderung bei der Recheneinheit (20) und/oder bei einem Prozessorkern (20_1 bis 20_n) der Recheneinheit (20) ausgelöst wird.
DE102016206109.7A 2016-04-13 2016-04-13 Speicherdirektzugriffssteuereinrichtung für mindestens eine einen Arbeitsspeicher aufweisende Recheneinheit Pending DE102016206109A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102016206109.7A DE102016206109A1 (de) 2016-04-13 2016-04-13 Speicherdirektzugriffssteuereinrichtung für mindestens eine einen Arbeitsspeicher aufweisende Recheneinheit
US15/479,915 US10095643B2 (en) 2016-04-13 2017-04-05 Direct memory access control device for at least one computing unit having a working memory
KR1020170045930A KR102303424B1 (ko) 2016-04-13 2017-04-10 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
CN201710236371.3A CN107291641B (zh) 2016-04-13 2017-04-12 用于计算单元的存储器直接访问控制装置及其运行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016206109.7A DE102016206109A1 (de) 2016-04-13 2016-04-13 Speicherdirektzugriffssteuereinrichtung für mindestens eine einen Arbeitsspeicher aufweisende Recheneinheit

Publications (1)

Publication Number Publication Date
DE102016206109A1 true DE102016206109A1 (de) 2017-10-19

Family

ID=59980411

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016206109.7A Pending DE102016206109A1 (de) 2016-04-13 2016-04-13 Speicherdirektzugriffssteuereinrichtung für mindestens eine einen Arbeitsspeicher aufweisende Recheneinheit

Country Status (4)

Country Link
US (1) US10095643B2 (de)
KR (1) KR102303424B1 (de)
CN (1) CN107291641B (de)
DE (1) DE102016206109A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017208827A1 (de) * 2017-05-24 2018-11-29 Wago Verwaltungsgesellschaft Mbh Verteilte Verarbeitung von Prozessdaten
CN109257439B (zh) * 2018-10-26 2021-11-23 京信网络系统股份有限公司 分布式文件保存系统、文件上传方法和装置
CN111240581B (zh) * 2018-11-29 2023-08-08 北京地平线机器人技术研发有限公司 存储器访问控制方法、装置和电子设备

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4067059A (en) * 1976-01-29 1978-01-03 Sperry Rand Corporation Shared direct memory access controller
US5018098A (en) * 1987-05-07 1991-05-21 Fujitsu Limited Data transfer controlling apparatus for direct memory access
JP3697831B2 (ja) * 1997-04-18 2005-09-21 株式会社日立製作所 コンピュータシステム
US5970069A (en) * 1997-04-21 1999-10-19 Lsi Logic Corporation Single chip remote access processor
US6757746B2 (en) * 1997-10-14 2004-06-29 Alacritech, Inc. Obtaining a destination address so that a network interface device can write network data without headers directly into host memory
US6728892B1 (en) * 1999-09-15 2004-04-27 Koninklijke Philips Electronics N.V. Method for conserving power in a can microcontroller and a can microcontroller that implements this method
JP2001202345A (ja) * 2000-01-21 2001-07-27 Hitachi Ltd 並列プロセッサ
JP3897994B2 (ja) * 2001-05-31 2007-03-28 富士通株式会社 スイッチ装置およびデータ転送システム
GB2383440A (en) * 2001-12-21 2003-06-25 Sun Microsystems Inc DMA memory system with further DMA unit
DE10213839B4 (de) * 2002-03-27 2016-11-03 Advanced Micro Devices, Inc. DMA-Mechanismus für einen Hochgeschwindigkeitspaketbus
KR100633742B1 (ko) * 2003-12-23 2006-10-13 한국전자통신연구원 주변 장치로부터 데이터 전송 크기를 자동으로 갱신하는직접 메모리 액세스 제어 장치 및 방법
US7836220B2 (en) * 2006-08-17 2010-11-16 Apple Inc. Network direct memory access
US9141572B2 (en) * 2006-12-15 2015-09-22 Microchip Technology Incorporated Direct memory access controller
JP2009211248A (ja) * 2008-03-03 2009-09-17 Panasonic Corp Dma転送装置
US20100005199A1 (en) * 2008-07-07 2010-01-07 Texas Instruments Incorporated Direct memory access (dma) data transfers with reduced overhead
JP2012022586A (ja) * 2010-07-16 2012-02-02 Sony Corp 情報処理装置、情報処理方法、及びプログラム
CN101901200B (zh) * 2010-08-11 2012-01-11 烽火通信科技股份有限公司 一种基于双AHB Master接口的片上DMA控制器实现方法
JP5762878B2 (ja) * 2011-08-08 2015-08-12 株式会社東芝 key−valueストアを有するメモリシステム
EP2816478B1 (de) * 2012-02-15 2017-06-14 Toyota Jidosha Kabushiki Kaisha Elektronische fahrzeugsteuerungsvorrichtung und datenempfangsverfahren
CN103793342B (zh) * 2012-11-02 2017-02-08 中兴通讯股份有限公司 一种多通道直接内存存取dma控制器

Also Published As

Publication number Publication date
CN107291641B (zh) 2022-11-01
KR20170117326A (ko) 2017-10-23
US10095643B2 (en) 2018-10-09
CN107291641A (zh) 2017-10-24
US20170300435A1 (en) 2017-10-19
KR102303424B1 (ko) 2021-09-23

Similar Documents

Publication Publication Date Title
EP2030116B1 (de) Kommunikationsbaustein
DE69519926T2 (de) Verfahren und vorrichtung zum einhalten der transaktionssteuerung und zur unterstützung von verzögerten antworten in einer busbrücke
EP2030118B1 (de) Mehrprozessor-gateway
DE102008055892A1 (de) Abspeichern von Abschnitten eines Datenübertragungsdeskriptors in einem gecachten und einem nicht gecachten Adressbereich
DE112010002178T5 (de) Verfahren und vorrichtung für id-basierte ströme über pci-express
DE112012004551T5 (de) Mehrkernverknüpfung in einem Netzprozessor
DE112017004907T5 (de) System, Vorrichtung und Verfahren zur Durchführung einer verteilten Arbitration
DE102016206109A1 (de) Speicherdirektzugriffssteuereinrichtung für mindestens eine einen Arbeitsspeicher aufweisende Recheneinheit
EP2411921B1 (de) Schaltungsanordnungen und verfahren zur steuerung eines datenaustauschs in einer schaltungsanordnung
DE102016003679A1 (de) Paketspeichersystem, -verfahren und -vorrichtung zur Verhinderung eines Unterlaufs
DE69529250T2 (de) Rechnersystem mit einem multiplexierten Adressenbus und Pipeline-Schreiboperationen
DE102024120411A1 (de) Nachrichtenbasierter empfangspuffer mit konstanter schrittweite
DE3247083A1 (de) Mehrprozessorsystem
DE102006009034B3 (de) Verfahren zum Betreiben eines Bussystems sowie Halbleiter-Bauelement, insbesondere Mikroprozessor- bzw. Mikrocontroller
DE112022005200T5 (de) System und Verfahren zum flexiblen Überwechseln von Datenpaketen unterschiedlicher Protokolle
DE102014207417A1 (de) Schnittstelleneinheit
DE102023113196A1 (de) Kommunikation zwischen Prozessoren unter Verwendung eines Ereignisbusses in Mehrkernsystemen-auf-Chip
DE102012010558A1 (de) Hardwarevorrichtung für ein system,system und speicherzugriffsverfahren
DE60007553T2 (de) Registeranordnung für optimalen zugriff
EP3423949B1 (de) Speicherdirektzugriffssteuereinrichtung für eine einen arbeitsspeicher aufweisende recheneinheit
DE102014110945B4 (de) PCI Express Datenübertragung
DE102023101544B3 (de) Serielle buskommunikation ohne leseanzeige
DE112018002505T5 (de) Recheneinheit, Logaufzeichnungsvorrichtung, Logaufzeichnungssystem
DE102019210552A1 (de) Fahrzeugelektronikeinheit mit einer physikalischen Netzwerkschnittstelle und mehreren, virtuelle Netzwerkschnittstellen aufweisenden virtuellen Maschinen sowie Datenkommunikationsverfahren
DE102016205536A1 (de) Speicherdirektzugriffssteuereinrichtung für eine einen Arbeitsspeicher aufweisende Recheneinheit

Legal Events

Date Code Title Description
R012 Request for examination validly filed