-
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, wobei die Speicherdirektzugriffssteuereinrichtung einen Anschluss zur Verbindung der Speicherdirektzugriffssteuereinrichtung mit einem mehrere Busteilnehmer verbindenden Bussystem aufweist. Dabei ist die Speicherdirektzugriffssteuereinrichtung zur Ausführung der folgenden Schritte ausgebildet:
- – Empfangen von wenigstens zwei Anfragesignalen verschiedener Busteilnehmer zur Durchführung einer Datenübertragung von dem betreffenden Busteilnehmer zu mindestens einem weiteren Busteilnehmer,
- – Ermitteln einer Reihenfolge für die Datenübertragungen von den verschiedenen Busteilnehmern zu dem mindestens einen weiteren Busteilnehmer in Abhängigkeit von eine Priorität für die jeweilige Datenübertragung charakterisierenden Konfigurationsdaten,
- – Ausführen der Datenübertragungen von den verschiedenen Busteilnehmern zu dem mindestens einen weiteren Busteilnehmer in der ermittelten Reihenfolge unter Verwendung jeweils mindestens eines Speicherdirektzugriffs über das Bussystem.
-
Beispiele für die "Busteilnehmer" sind Recheneinheiten, insbesondere Prozessoren oder Prozessorkerne, Arbeitsspeicher, Eingabe-Ausgabe-Einheiten, Kommunikationsmodule, Speichermedien und dergleichen, welche also lesend und/oder schreibend über das Bussystem Daten austauschen können. Der Ausdruck "verschiedene Busteilnehmer" bedeutet, dass die wenigstens zwei Anfragesignale im Allgemeinen nicht von demselben Busteilnehmer stammen. Dabei können die "verschiedenen" Busteilnehmer technisch gleichartig oder technisch verschiedenartig ausgeführt sein.
-
Die besagten "Anfragesignale" sind beispielsweise Triggersignale, Anfragebits oder dergleichen, welche über individuelle oder über gemeinsame Steuerleitungen, Datenleitungen oder dergleichen an die Speicherdirektzugriffssteuereinrichtung übermittelt werden können.
-
Die besagten "Konfigurationsdaten" sind in einer Ausgestaltung innerhalb der Speicherdirektzugriffssteuereinrichtung lokalisiert. Beispielsweise sind die Konfigurationsdaten in einem die Speicherdirektzugriffssteuereinrichtung umfassenden elektronischen Bauelement flüchtig oder nicht-flüchtig gespeichert. Ergänzend oder alternativ sind die Konfigurationsdaten in einem Bereich eines Arbeitsspeichers oder in einem dazu vergleichbaren Speicher außerhalb von der Speicherdirektzugriffssteuereinrichtung lokalisiert. Dadurch können die Konfigurationsdaten beispielsweise mittels einer mit dem Bussystem verbundenen Recheneinheit (Prozessor, Prozessorkern) bei Bedarf auf einfache Weise vorgegeben und/oder geändert und/oder aktualisiert werden. Dies kann – zu einem jeweils geeigneten Zeitpunkt – sogar während eines Betriebs der Speicherdirektzugriffssteuereinrichtung erfolgen.
-
Die Erfindung weist unter anderem den Vorteil auf, dass die Speicherdirektzugriffssteuereinrichtung die Leistung von solchen Busteilnehmern erhöhen kann, 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. Dies betrifft beispielsweise das weiter unten genannte "MCAN-Modul".
-
Ein Betrieb der Speicherdirektzugriffssteuereinrichtung kann vorteilhaft mit nur einem einzigen so genannten "DMA-Kanal" erfolgen, wobei insbesondere auch Anfragesignale verschiedener Busteilnehmer berücksichtigbar sind, wodurch Aufwand und Kosten gespart werden können. Die Abkürzung "DMA" bedeutet englisch "direkt memory access".
-
Weiterhin weist die Erfindung den Vorteil auf, dass eine Datenübertragung von verschiedenen Busteilnehmern auf eine gleiche Zieladresse z.B. eines weiteren Busteilnehmers ohne ein unerwünschtes Überschreiben von Daten ermöglicht wird, indem die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet ist, bei einem absehbaren Zieladress-"Konflikt" eine jeweilige zweite Zieladresse in geeigneter Weise zu inkrementieren oder zu verschieben. Die dazu erforderliche "Intelligenz" ist in der Speicherdirektzugriffssteuereinrichtung selbst enthalten, so dass eine diesbezügliche Mitwirkung beispielsweise durch eine an das Bussystem angeschlossene Recheneinheit im Wesentlichen entbehrlich ist.
-
Beispielsweise kann der beschriebene Zieladress-Konflikt entstehen, falls zwei oder mehrere zu übertragende Daten an denselben weiteren Busteilnehmer übertragen werden sollen, wobei die Daten jeweils eine gleiche Priorität beanspruchen bzw. aufweisen. Siehe dazu weiter unten die Erläuterungen zur so genannten "CAN-ID".
-
Durch das beschriebene fallweise Inkrementieren der Zieladresse ist es im Allgemeinen nicht erforderlich, für die Datenübertragung eine Mehrzahl von getrennten Speicherbereichen, insbesondere in einem selben Busteilnehmer, zu reservieren, so dass ein vorhandener Datenspeicher besonders effizient genutzt werden kann. Es versteht sich, dass bei mehr als zwei an dieselbe Zieladresse zu übertragenden Daten der Vorgang des Inkrementierens entsprechend fortgesetzt werden kann.
-
Sofern nicht anders angegeben, wird vorliegend unter dem Begriff "Zieladresse" eine einzelne Adresse oder ein Adressbereich oder eine erste Adresse in einem Adressbereich in einem Datenspeicher verstanden. Der Datenspeicher ist beispielsweise ein mit dem Bussystem verbundener zentraler Arbeitsspeicher und/oder eine Arbeitsspeicher-Einheit, welche einer jeweiligen mit dem Bussystem verbundenen Recheneinheit bzw. generell einem Busteilnehmer zugeordnet ist.
-
In einer Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, in Abhängigkeit von den Konfigurationsdaten zumindest zeitweise eine feste Priorität für die verschiedenen Busteilnehmer zum Ermitteln der Reihenfolge vorzugeben. Dadurch kann ein Betrieb der Speicherdirektzugriffssteuereinrichtung vorteilhaft besonders einfach durchgeführt werden.
-
In einer weiteren Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, in Abhängigkeit von den Konfigurationsdaten zumindest zeitweise die Reihenfolge für die Datenübertragungen entsprechend einer zeitlichen Reihenfolge des Empfangs der Anfragesignale zu ermitteln. Dadurch kann im Betrieb der Speicherdirektzugriffssteuereinrichtung vorteilhaft vermieden werden, dass einzelne Anfragen unerwünscht lange auf eine zugehörige Datenübertragung warten müssen.
-
In einer weiteren Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, in Abhängigkeit von den Konfigurationsdaten zumindest zeitweise eventuell vorliegende Anfragesignale zyklisch in Bezug auf eine Menge der Busteilnehmer zur Ermittlung der Reihenfolge zu berücksichtigen. Dadurch wird vorteilhaft eine besonders gleichmäßige Berücksichtigung der Busteilnehmer ermöglicht.
-
In einer ersten Variante dazu werden in dem Zyklus nur solche Busteilnehmer berücksichtigt, welche aktuell ein Anfragesignal an die Speicherdirektzugriffssteuereinrichtung gesendet haben, wobei die entsprechende Datenübertragung jedoch noch unerledigt ist. Mittels der Konfigurationsdaten kann optional vorgegeben werden, wie das Ermitteln der Reihenfolge gegebenenfalls zu ändern ist, wenn währenddessen in der Speicherdirektzugriffssteuereinrichtung weitere Anfragesignale von übrigen Busteilnehmern empfangen werden.
-
In einer zweiten Variante dazu werden in dem Zyklus sämtliche für das Verfahren in Frage kommenden Busteilnehmer nacheinander abgefragt, ob diese aktuell gegebenenfalls ein Anfragesignal an die Speicherdirektzugriffssteuereinrichtung senden bzw. gesendet haben.
-
In einer Ausgestaltung können die Konfigurationsdaten sogar während des Betriebs geändert werden. Dadurch kann auch ein Algorithmus für das Ermitteln der Reihenfolge in entsprechender Weise geändert und somit der Betrieb der Speicherdirektzugriffssteuereinrichtung vorteilhaft verbessert werden.
-
In einer weiteren Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, die zu übertragenden Daten an eine Zieladresse des weiteren Busteilnehmers zu übertragen, wobei die Speicherdirektzugriffssteuereinrichtung ferner dazu ausgebildet ist, dann, wenn mehrere Daten, insbesondere von verschiedenen Busteilnehmern, an denselben weiteren Busteilnehmer übertragen werden sollen, die Zieladresse zu inkrementieren. Dies wurde weiter oben zusammen mit den Vorteilen der Speicherdirektzugriffssteuereinrichtung bereits näher erläutert.
-
In einer weiteren Ausgestaltung erfolgt das Ermitteln der Reihenfolge für die Datenübertragungen und/oder das Inkrementieren der Zieladresse in Abhängigkeit von den Konfigurationsdaten und/oder in Abhängigkeit von den zu übertragenden Daten. Somit kann die Speicherdirektzugriffssteuereinrichtung vorteilhaft die (vorgebbaren) Konfigurationsdaten und ergänzend oder alternativ auch die Dateninhalte der zu übertragenden Daten nutzen bzw. auswerten, um eine optimale Priorisierung einerseits und eine optimale Verwendung der Zieladressen bzw. eine optimale Nutzung eines Speicherbereichs in einem jeweiligen Datenspeicher zu ermöglichen.
-
Beispielsweise können die zu übertragenden Daten eine so genannte "CAN-ID" umfassen, sofern ein betreffender Busteilnehmer als CAN-Modul ausgeführt ist. Dabei kann die jeweilige CAN-ID allein oder ergänzend vorteilhaft dazu verwendet werden, um eine Priorität und daraus folgend eine Reihenfolge für die Datenübertragungen zu ermitteln. Die Abkürzung "CAN" bedeutet "Controller Area Network". Insbesondere kann das besagte CAN-Modul auch ein so genanntes "MCAN-Modul" sein, wobei der Buchstabe "M" einen herstellerspezifischen Namenszusatz charakterisiert.
-
Weiterhin betrifft die Erfindung ein Verfahren zum Betreiben einer Speicherdirektzugriffssteuereinrichtung, wobei die Speicherdirektzugriffssteuereinrichtung einen Anschluss zur Verbindung der Speicherdirektzugriffssteuereinrichtung mit einem mehrere Busteilnehmer verbindenden Bussystem aufweist. Dabei umfasst das Verfahren die folgenden Schritte:
- – Empfangen von wenigstens zwei Anfragesignalen verschiedener Busteilnehmer zur Durchführung einer Datenübertragung von dem betreffenden Busteilnehmer zu mindestens einem weiteren Busteilnehmer,
- – Ermitteln einer Reihenfolge für die Datenübertragungen von den verschiedenen Busteilnehmern zu dem mindestens einen weiteren Busteilnehmer in Abhängigkeit von eine Priorität für die jeweilige Datenübertragung charakterisierenden Konfigurationsdaten,
- – Ausführen der Datenübertragungen von den verschiedenen Busteilnehmern zu dem mindestens einen weiteren Busteilnehmer in der ermittelten Reihenfolge unter Verwendung jeweils mindestens eines Speicherdirektzugriffs über das Bussystem.
-
Es ergeben sich vergleichbare Vorteile, wie weiter oben für die Speicherdirektzugriffssteuereinrichtung bereits beschrieben.
-
In einer Ausgestaltung umfasst das Verfahren die folgenden Schritte:
- – Empfangen eines Anfragesignals eines ersten Busteilnehmers zur Durchführung einer ersten Datenübertragung von dem ersten Busteilnehmer zu einem ersten weiteren Busteilnehmer,
- – Empfangen eines Anfragesignals eines zweiten Busteilnehmers zur Durchführung einer zweiten Datenübertragung von dem zweiten Busteilnehmer zu einem zweiten weiteren Busteilnehmer,
- – Ermitteln der Reihenfolge für die erste und zweite Datenübertragung in Abhängigkeit von den eine Priorität für die jeweilige Datenübertragung charakterisierenden Konfigurationsdaten,
- – Ausführen der ersten und zweiten Datenübertragung in der ermittelten Reihenfolge unter Verwendung jeweils mindestens eines Speicherdirektzugriffs über das Bussystem.
-
Dabei kann das Verfahren sogar für nur zwei Busteilnehmer vorteilhaft die Datenübertragung verbessern. Es versteht sich, das fallweise der erste weitere Busteilnehmer auch identisch zum zweiten weiteren Busteilnehmer sein kann. Weiterhin versteht es sich, dass die beschriebenen Verfahrensschritte entsprechend "skaliert" werden können, so dass auch eine beliebige Mehrzahl von Anfragesignalen bzw. Busteilnehmern durch das Verfahren vorteilhaft berücksichtigt werden können.
-
In einer weiteren Ausgestaltung des Verfahrens wird in Abhängigkeit von den Konfigurationsdaten zumindest zeitweise eine feste Priorität für die verschiedenen Busteilnehmer zum Ermitteln der Reihenfolge vorgegeben.
-
In einer weiteren Ausgestaltung des Verfahrens wird in Abhängigkeit von den Konfigurationsdaten zumindest zeitweise die Reihenfolge für die Datenübertragungen entsprechend einer zeitlichen Reihenfolge des Empfangs der Anfragesignale ermittelt.
-
In einer weiteren Ausgestaltung des Verfahrens werden in Abhängigkeit von den Konfigurationsdaten zumindest zeitweise eventuell vorliegende Anfragesignale zyklisch in Bezug auf eine Menge der Busteilnehmer berücksichtigt.
-
In einer weiteren Ausgestaltung des Verfahrens werden die zu übertragenden Daten an eine Zieladresse des weiteren Busteilnehmers übertragen, und es wird dann, wenn mehrere Daten, insbesondere von verschiedenen Busteilnehmern, an denselben weiteren Busteilnehmer übertragen werden sollen, die Zieladresse inkrementiert.
-
In einer weiteren Ausgestaltung des Verfahrens erfolgt das Ermitteln der Reihenfolge für die Datenübertragungen und/oder das Inkrementieren der Zieladresse in Abhängigkeit von den Konfigurationsdaten und/oder in Abhängigkeit von den zu übertragenden Daten.
-
Die beschriebenen Ausgestaltungen des Verfahrens entsprechen den weiter oben beschriebenen Ausgestaltungen der Speicherdirektzugriffssteuereinrichtung und brauchen daher vorliegend nicht weiter erläutert zu werden. Es ergeben sich auch entsprechende Vorteile.
-
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 Bussystem;
-
2 eine Ausführungsform des Rechnersystems von 1 mit einer Mehrzahl von Recheneinheiten und den Recheneinheiten jeweils zugeordneten Arbeitsspeicher-Einheiten, mit einer Speicherdirektzugriffssteuereinrichtung, sowie mit einer Mehrzahl von Kommunikationsmodulen;
-
3A ein erstes Schema für einen Speicherbereich eines Busteilnehmers mit einer Zieladresse;
-
3B ein zweites Schema für den Speicherbereich des Busteilnehmers von 3A mit zwei Zieladressen; und
-
4 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 schematisch ein stark vereinfachtes Blockschaltbild für ein Rechnersystem 10 mit einer Recheneinheit 20, einem Arbeitsspeicher 30, einer Speicherdirektzugriffssteuereinrichtung 40, und einem Kommunikationsmodul 50, welche jeweils mit einem Bussystem 12 verbunden sind. Das Bussystem 12 kann beispielsweise – ebenso wie eine oder mehrere der Komponenten 20, 30, 40, 50 – auf einem Halbleiterbauelement ("Chip" bzw. "Network on Chip") angeordnet sein. Ergänzend umfasst die Speicherdirektzugriffssteuereinrichtung 40 Konfigurationsdaten 42, welche weiter unten bei der 2 noch näher erläutert werden.
-
Die 2 zeigt ein Rechnersystem 10 ähnlich zu der 1, 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. Weiterhin zeigt die 1 mehrere mit dem Bussystem 12 verbundene Kommunikationsmodule 50_1 bis 50_n. An die Kommunikationsmodule 50_1 bis 50_n sind beispielsweise jeweils ein CAN-Bus oder dergleichen angeschlossen. Außerdem ist ein zentraler Arbeitsspeicher 30 mit dem Bussystem 12 verbunden.
-
Jede der mit dem Bussystem 12 verbundenen Komponenten 20_1, 20_2 bis 20_n, 30_1, 30_2 bis 30_n, 30, 40, und 50_1, 50_2 bis 50_n charakterisiert einen jeweiligen "Busteilnehmer" des Bussystems 12, wobei die Busteilnehmer verallgemeinernd durch das Bezugszeichen 60 repräsentiert sind. Weiterhin werden die Prozessorkerne 20_1 bis 20_n gleichbedeutend auch als Recheneinheiten 20_1 bis 20_n bezeichnet.
-
In einem in 2 unteren Bereich sind mehrere Anfragesignale 14 jeweils mittels eines gebogenen Pfeils symbolisch gezeichnet. Die Anfragesignale 14 können von den jeweiligen Busteilnehmern 60 an die Speicherdirektzugriffssteuereinrichtung 40 übermittelt werden, um eine Datenübertragung von dem betreffenden Busteilnehmer 60 zu mindestens einem weiteren Busteilnehmer 60 mittels eines Speicherdirektzugriffs, gesteuert durch die Speicherdirektzugriffssteuereinrichtung 40, bei dieser anzufordern.
-
Weiterhin sind Steuerleitungen 16 symbolisch gezeichnet, über welche beispielsweise Anforderungssignale und/oder Quittungssignale und dergleichen von der Speicherdirektzugriffssteuereinrichtung 40 an die jeweiligen Busteilnehmer 60 übermittelt werden können. In vergleichbarer Weise können auch die in 2 oberen Busteilnehmer 60 optional mittels Anfragesignalen 14 und Steuerleitungen 16 mit der Speicherdirektzugriffssteuereinrichtung 40 verbunden sein, was in 2 der Übersichtlichkeit halber nicht gezeigt ist. Alternativ oder ergänzend zu den Steuerleitungen 16 können auch entsprechende Signale vorgeshen sein, welche z.B. über das Bussystem 12 übertragbar sind.
-
Weiterhin ist in 2 beispielhaft ein Pfeil 18 gezeichnet, um ein Ausführen einer Datenübertragung mittels der Speicherdirektzugriffssteuereinrichtung 40 beispielsweise hin zu der Recheneinheit 20_1 bzw. hin zu der Arbeitsspeicher-Einheit 30_1 symbolisch anzudeuten.
-
Insgesamt zeigt die 2 also ein Rechnersystem 10 mit einer Speicherdirektzugriffssteuereinrichtung 40, wobei die Speicherdirektzugriffssteuereinrichtung 40 einen Anschluss zur Verbindung der Speicherdirektzugriffssteuereinrichtung 40 mit einem mehrere Busteilnehmer 60 verbindenden Bussystem 12 aufweist, und wobei die Speicherdirektzugriffssteuereinrichtung 40 zur Ausführung der folgenden Schritte ausgebildet ist:
- – Empfangen 102 (siehe 4) von wenigstens zwei Anfragesignalen 14 verschiedener Busteilnehmer 60 zur Durchführung einer Datenübertragung von dem betreffenden Busteilnehmer 60 zu mindestens einem weiteren Busteilnehmer 60,
- – Ermitteln 104 (siehe 4) einer Reihenfolge für die Datenübertragungen von den verschiedenen Busteilnehmern 60 zu dem mindestens einen weiteren Busteilnehmer 60 in Abhängigkeit von eine Priorität für die jeweilige Datenübertragung charakterisierenden Konfigurationsdaten 42,
- – Ausführen 106 (siehe 4) der Datenübertragungen von den verschiedenen Busteilnehmern 60 zu dem mindestens einen weiteren Busteilnehmer 60 in der ermittelten Reihenfolge unter Verwendung jeweils mindestens eines Speicherdirektzugriffs über das Bussystem 12. Die Speicherdirektzugriffssteuereinrichtung 40 ist vorzugsweise als Hardware-Schaltung ausgebildet.
-
In einer Ausführungsform ist die Speicherdirektzugriffssteuereinrichtung 40 dazu ausgebildet, in Abhängigkeit von den Konfigurationsdaten 42 eine feste Priorität für die verschiedenen Busteilnehmer 60 zum Ermitteln der Reihenfolge vorzugeben. In einer weiteren Ausführungsform ist die Speicherdirektzugriffssteuereinrichtung 40 dazu ausgebildet, in Abhängigkeit von den Konfigurationsdaten 42 die Reihenfolge für die Datenübertragungen entsprechend einer zeitlichen Reihenfolge des Empfangs der Anfragesignale 14 zu ermitteln. In einer weiteren Ausführungsform ist die Speicherdirektzugriffssteuereinrichtung 40 dazu ausgebildet, in Abhängigkeit von den Konfigurationsdaten 42 eventuell vorliegende Anfragesignale 14 zyklisch in Bezug auf eine Menge der Busteilnehmer 60 zur Ermittlung der Reihenfolge zu berücksichtigen.
-
In einer weiteren Ausführungsform können die Konfigurationsdaten 42 während eines Betriebs des Rechnersystems 10 geändert werden, so dass das Ermitteln 104 der Reihenfolge fallweise mit wechselnden Algorithmen erfolgen kann, wie es weiter oben bereits beschrieben wurde.
-
In einer weiteren Ausführungsform sind die Konfigurationsdaten 42 innerhalb der Speicherdirektzugriffssteuereinrichtung 40 lokalisiert. Beispielsweise sind die Konfigurationsdaten 42 in einem die Speicherdirektzugriffssteuereinrichtung 40 umfassenden elektronischen Bauelement flüchtig oder nicht-flüchtig gespeichert.
-
In einer weiteren Ausführungsform sind die Konfigurationsdaten 42 in einem Bereich des Arbeitsspeichers 30 oder in einem dazu vergleichbaren Speicher außerhalb der Speicherdirektzugriffssteuereinrichtung 40 lokalisiert. Dadurch können die Konfigurationsdaten 42 beispielsweise mittels einer der Recheneinheiten 20_1 bis 20_n bei Bedarf auf einfache Weise geändert und/oder aktualisiert werden.
-
Die 3A zeigt ein erstes allgemeines Schema für einen Datenspeicher 70 eines Busteilnehmers 60 mit einer ersten Zieladresse 72_1. Sofern nicht anders angegeben, wird nachfolgend unter dem Begriff "Zieladresse" eine einzelne Adresse oder ein Adressbereich oder eine erste Adresse in einem Adressbereich in dem Datenspeicher 70 verstanden. In der 3A ist dargestellt, dass erste Daten 74 und zweite Daten 76 an dieselbe erste Zieladresse 72_1 übertragen werden sollen. Wie zu erkennen, ergibt sich dabei ein Konflikt.
-
Die 3B zeigt denselben Datenspeicher 70 von 3A, wobei im Unterschied dazu außer der ersten Zieladresse 72_1 auch eine zweite Zieladresse 72_2 verwendet wird. Entsprechend können die ersten Daten 74 an die erste Zieladresse 72_1 und die zweiten Daten 76 an die zweite Zieladresse 72_2 übertragen werden.
-
Dabei ist die Speicherdirektzugriffssteuereinrichtung 40 dazu ausgebildet, die zu übertragenden Daten 74 und 76 an eine Zieladresse 72 des Busteilnehmers 60 zu übertragen, wobei die Speicherdirektzugriffssteuereinrichtung 40 ferner dazu ausgebildet ist, dann, wenn mehrere Daten (vorliegend also die ersten Daten 74 und die zweiten Daten 76), insbesondere von verschiedenen Busteilnehmern 60, an denselben Busteilnehmer 60 übertragen werden sollen, die Zieladresse 72 zu inkrementieren. Das Inkrementieren ist in 3B durch einen Pfeil 80 symbolisch dargestellt.
-
Beispielsweise werden dazu entsprechende Adressen der ersten Zieladresse 72_1 um ein einer Menge der ersten Daten 74 entsprechendes Maß erhöht, so dass sich daraus die zweite Zieladresse 72_2 ergibt. In einer Ausführungsform erfolgt dies derart, dass die Zieladressen 72_1 und 72_2 in dem Adressbereich in dem Datenspeicher 70 aneinander grenzen. Somit kann ein gegenseitiges Überschreiben der ersten und zweiten Daten 74 und 76 vermieden werden. Es versteht sich, dass das in den 3A und 3B gezeigte Verfahren zur Inkrementierung der Zieladresse 72 auch bei mehr als zwei Daten 74 und 76 entsprechend angewendet werden kann.
-
In Abhängigkeit von weiteren Ausführungsformen ist die Speicherdirektzugriffssteuereinrichtung 40 derart ausgebildet, dass das Ermitteln 104 der Reihenfolge für die Datenübertragungen und/oder das Inkrementieren der Zieladresse 72_1 in Abhängigkeit von den Konfigurationsdaten 42 und/oder in Abhängigkeit von den zu übertragenden Daten 74 bzw. 76 erfolgt. Beispielsweise können die ersten bzw. zweiten Daten 74 bzw. 76 fallweise eine so genannte "CAN-ID" umfassen, sofern ein jeweiliges Kommunikationsmodul 50 als CAN-Modul ausgeführt ist. Dabei kann die jeweilige CAN-ID allein oder ergänzend dazu verwendet werden, um eine Priorität und daraus folgend eine Reihenfolge für die Datenübertragungen zu ermitteln.
-
Die 4 zeigt ein Flussdiagramm für ein Verfahren zum Betreiben der Speicherdirektzugriffssteuereinrichtung 40, insbesondere gemäß einer oder mehreren der 1 bis 3. In einem Startblock 100 beginnt die in der 4 dargestellte Prozedur.
-
Dabei weist die Speicherdirektzugriffssteuereinrichtung 40 einen Anschluss zur Verbindung der Speicherdirektzugriffssteuereinrichtung 40 mit dem mehrere Busteilnehmer 60 verbindenden Bussystem 12 auf, wobei das Verfahren die folgenden Schritte umfasst:
- – Empfangen (Block 102) von wenigstens zwei Anfragesignalen 14 verschiedener Busteilnehmer 60 zur Durchführung einer Datenübertragung von dem betreffenden Busteilnehmer 60 zu mindestens einem weiteren Busteilnehmer 60,
- – Ermitteln (Block 104) einer Reihenfolge für die Datenübertragungen von den verschiedenen Busteilnehmern 60 zu dem mindestens einen weiteren Busteilnehmer 60 in Abhängigkeit von eine Priorität für die jeweilige Datenübertragung charakterisierenden Konfigurationsdaten 42,
- – Ausführen (Block 106) der Datenübertragungen von den verschiedenen Busteilnehmern 60 zu dem mindestens einen weiteren Busteilnehmer 60 in der ermittelten Reihenfolge unter Verwendung jeweils mindestens eines Speicherdirektzugriffs über das Bussystem 12.
-
Beispielsweise umfasst das zumindest teilweise in der Speicherdirektzugriffssteuereinrichtung 40 durchführbare Verfahren die folgenden Schritte:
- – Empfangen (Block 102) eines Anfragesignals 14 eines ersten Busteilnehmers 60 zur Durchführung einer ersten Datenübertragung von dem ersten Busteilnehmer 60 zu einem ersten weiteren Busteilnehmer 60,
- – Empfangen (ebenfalls Block 102) eines Anfragesignals 14 eines zweiten Busteilnehmers 60 zur Durchführung einer zweiten Datenübertragung von dem zweiten Busteilnehmer 60 zu einem zweiten weiteren Busteilnehmer 60,
- – Ermitteln (Block 104) der Reihenfolge für die erste und zweite Datenübertragung in Abhängigkeit von den eine Priorität für die jeweilige Datenübertragung charakterisierenden Konfigurationsdaten 42,
- – Ausführen (Block 106) der ersten und zweiten Datenübertragung in der ermittelten Reihenfolge unter Verwendung jeweils mindestens eines Speicherdirektzugriffs über das Bussystem 12. Es versteht sich, dass das erfindungsgemäße Prinzip auch auf das Empfangen von mehr als zwei Anfragesignalen 14 bei der Speicherdirektzugriffssteuereinrichtung 40 anwendbar ist.
-
In einer Ausführungsform wird im Block 104 in Abhängigkeit von den Konfigurationsdaten 42 eine feste Priorität für die verschiedenen Busteilnehmer 60 zum Ermitteln der Reihenfolge vorgegeben.
-
In einer weiteren Ausführungsform wird im Block 104 in Abhängigkeit von den Konfigurationsdaten 42 die Reihenfolge für die Datenübertragungen entsprechend einer zeitlichen Reihenfolge des Empfangs der Anfragesignale 14 ermittelt.
-
In einer weiteren Ausführungsform werden im Block 104 in Abhängigkeit von den Konfigurationsdaten 42 eventuell vorliegende Anfragesignale 14 zyklisch in Bezug auf eine Menge der Busteilnehmer 60 berücksichtigt, um daraus die Reihenfolge für die Datenübertragungen zu ermitteln. Die zyklische Berücksichtigung wird im englischen Sprachgebrauch als "round robin" bezeichnet.
-
In einer ersten Variante dazu werden in dem Zyklus nur solche Busteilnehmer 60 berücksichtigt, welche aktuell ein Anfragesignal 14 an die Speicherdirektzugriffssteuereinrichtung 40 gesendet haben, wobei die entsprechende Datenübertragung jedoch noch unerledigt ist. Mittels der Konfigurationsdaten 42 kann optional vorgegeben werden, wie das Ermitteln 104 der Reihenfolge gegebenenfalls zu ändern ist, wenn währenddessen in der Speicherdirektzugriffssteuereinrichtung 40 weitere Anfragesignale 14 von übrigen Busteilnehmern 60 empfangen werden.
-
In einer zweiten Variante dazu werden in dem Zyklus sämtliche für das Verfahren in Frage kommenden Busteilnehmer 60 nacheinander abgefragt, ob diese aktuell gegebenenfalls ein Anfragesignal 14 an die Speicherdirektzugriffssteuereinrichtung 40 senden.
-
Vergleichbar zu den Beschreibungen der 3A und 3B werden die zu übertragenden Daten (beispielsweise die Daten 74 und 76) an eine Zieladresse 72_1 des weiteren Busteilnehmers 60 übertragen, und es wird gemäß einer weiteren Ausführungsform dann, wenn mehrere Daten 74 und 76, insbesondere von verschiedenen Busteilnehmern 60, an denselben weiteren Busteilnehmer 60 übertragen werden sollen, die zweite Zieladresse 72_2 in Bezug auf die erste Zieladresse 72_1 inkrementiert.
-
In einer weiteren Ausführungsform des Verfahrens ist vorgesehen, dass das Ermitteln 104 der Reihenfolge für die Datenübertragungen und/oder das Inkrementieren der Zieladresse 72_2 in Abhängigkeit von den Konfigurationsdaten 42 und/oder in Abhängigkeit von den zu übertragenden Daten 74 bzw. 76 erfolgt, wie dies weiter oben schon beschrieben wurde.