-
Stand der Technik
-
Die vorliegende Erfindung betrifft das Gebiet der Speicherarchitekturen in Datenverarbeitungsanlagen.
-
In modernen Datenverarbeitungsanlagen werden oft Pufferspeicher, so genannte Cache-Speicher, zur temporären Speicherung eingesetzt, um höhere Datenverarbeitungsraten zu erreichen. Dies ist insbesondere in Datenverarbeitungssystemen, beispielsweise in Steuergeräten von Fahrzeugen oder in PCs (PC: Personal Computer) von Vorteil, wo beispielsweise einem Befehlsprozessor Daten und Befehle aus einem Hauptspeicher mit einer sehr kurzen Zugriffszeit bereitgestellt werden sollen. In Abhängigkeit von der Art der in dem Hauptspeicher gespeicherten Daten kann dieser als ein RAM-Speicher zur Datenspeicherung (RAM: Random Access Memory) oder als ein ROM-Speicher zur Programmbefehlsspeicherung (ROM: Read Only Memory) ausgeführt sein. Aufgrund der notwendigerweise benötigten, hohen Speicherkapazität können kurze Zugriffszeiten jedoch nur mit einem enormen technischen Aufwand realisiert werden, was nicht wirtschaftlich und technisch schwierig ist. Daraus folgt, dass die Datenflussgeschwindigkeiten in Abhängigkeit von der Ausführungsform des Hauptspeichers unterschiedlich sein können. Aus diesem Grund werden die vorgenannten Pufferspeicher mit einer kleineren Speicherkapazität und der dadurch bedingten kürzeren Zugriffszeit beispielsweise zwischen miteinander kommunizierende Funktionseinheiten, wie beispielsweise zwischen einen Hauptspeicher und einen Befehlsprozessor, geschaltet.
-
Ein Betrieb des Pufferspeichers wird üblicherweise derart organisiert, dass die während des Programmablaufs von einem Befehlsprozessor angeforderten Daten und Befehle sich mit großer Wahrscheinlichkeit bereits in dem Pufferspeicher befinden, wenn diese benötigt werden, was eine Reduktion der Zugriffszeiten aufgrund der Verringerung von Pausen in der Abarbeitung eines Computerprogramms und einer damit einhergehenden Erhöhung der Abarbeitungsgeschwindigkeit ermöglicht.
-
Sollte ein Hauptspeicher sowohl zur Daten- als auch zur Befehlsspeicherung verwendet werden, was beispielsweise in Diagnosesystemen, welche beispielsweise in Motorsteuerungen zur Diagnose von Antrieben eingesetzt werden, gefordert wird, so ist es jedoch oft notwendig, für die Ablage der Daten einen Bereich im Hauptspeicher zu reservieren, wodurch sich die benötigte Kapazität jedoch weiter erhöht. Des Weiteren kann der Datenspeicher als Programmspeicher eingesetzt werden, wozu eine Programmbefehlssequenz aus einem permanenten Programmspeicher in einen nicht-permanenten Datenspeicher kopiert wird. In der Druckschrift
US 7,0096,385 B1 wird beispielsweise zur temporären Speicherung von diagnostischen Programminstruktionen in einem System zum Überprüfen eines Mikroprozessors ein Cache-Speicher eingesetzt. Diese Lösung ist jedoch nicht ressourcen-effizient, weil sie das Vorsehen eines ausschließlich zur Zwischenspeicherung von Instruktionen bestimmten Cache-Speichers erfordert.
-
Offenbarung der Erfindung
-
Die Erfindung basiert auf der Kenntnis, dass eine effiziente Speicheranordnung durch eine dynamische Konfigurierung eines Speichers als Datenspeicher zur Datenspeicherung oder als Pufferspeicher, d. h. Cache-Speicher, zur temporären Programmbefehlsspeicherung, realisiert werden kann.
-
Gemäß einem Aspekt betrifft die Erfindung eine Speicheranordnung mit einem Speicher, wobei zumindest ein Speicherbereich des Speichers in Abhängigkeit von einer benötigten Speicherarbeitsgeschwindigkeit als Datenspeicher oder als Pufferspeicher konfigurierbar ist. Ist der zumindest eine Speicherbereich des Speichers als Datenspeicher konfiguriert, so kann dieser zur beispielsweise dauerhaften Datenspeicherung herangezogen werden. Ist der zumindest eine Speicherbereich hingegen als temporärer Pufferspeicher konfiguriert, so wird dieser beispielsweise zur Speicherung von Programmbefehlen verwendet.
-
Gemäß einer vorteilhaften Ausführungsform ist ein weiterer Speicherbereich des Speicherbereichs als Datenspeicher oder als temporärer Pufferspeicher konfigurierbar. Beide Speicherbereiche des Speichers können jedoch als Datenspeicher oder auch als permanente Pufferspeicher konfiguriert werden, so dass der gesamte Speicher als Datenspeicher oder als temporärer Pufferspeicher konfiguriert werden kann.
-
Gemäß einer vorteilhaften Ausführungsform ist zur Konfigurierung des Speichers eine Steuerungseinrichtung oder ein Prozessor vorgesehen, sodass die Konfigurierung des Speichers in vorteilhafter Weise durch eine übergeordnete Entität durchgeführt werden kann.
-
Gemäß einer vorteilhaften Ausführungsform umfasst die Speicheranordnung einen weiteren Speicher, welcher dem vorstehend erwähnten Speicher vorgeschaltet ist, wobei eine Speicherarbeitsgeschwindigkeit des Speichers nicht höher, bevorzugt geringer, als eine Speicherarbeitsgeschwindigkeit des weiteren Speichers ist. Dies kann beispielsweise dadurch erreicht werden, dass die Speicherkapazität des Speichers geringer als die Speicherkapazität des weiteren Speichers ist, so dass eine vorteilhafte Arbeitsgeschwindigkeitserhöhung erreicht werden kann.
-
Gemäß einer Ausführungsform umfasst die Speicheranordnung einen weiteren Speicher, beispielsweise den vorgenannten Speicher, welcher dem Speicher vorgeschaltet ist, wobei der weitere Speicher über den Speicher, beispielsweise ausschließlich über den Speicher, erreichbar ist, wodurch in vorteilhafter Weise eine Erhöhung der Speicherarbeitsgeschwindigkeit erreicht werden kann, insbesondere wenn der Speicher als ein Cache-Speicher konfiguriert ist.
-
Gemäß einer Ausführungsform umfasst die Speicheranordnung einen weiteren Speicher, welcher mit dem Speicher gekoppelt, beispielsweise diesem vorgeschaltet, ist, wobei der weitere Speicher einen Datenspeicherbereich zur Datenspeicherung und/oder einen Programmspeicherbereich zur Programmbefehlsspeicherung aufweist, wobei der zumindest eine Speicherbereich des Speichers als temporärer Pufferspeicher, welcher dem Datenspeicherbereich und/oder dem Programmspeicherbereich zugeordnet ist, konfigurierbar ist, und/oder wobei ein weiterer Speicherbereich des Speichers als Datenspeicher, welcher dem Datenspeicherbereich und/oder dem Programmspeicherbereich zugeordnet ist, konfigurierbar ist. Somit kann der Speicher beispielsweise einen Datenspeicherbereich zur längerfristigen Datenspeicherung und einen temporären Pufferspeicherbereich zur Cache-Speicherung aufweisen, wodurch eine vorteilhafte Flexibilität der Speicheranordnung erreicht wird.
-
Gemäß einer vorteilhaften Ausführungsform umfasst die benötigte Speicherarbeitsgeschwindigkeit eine Zugriffsgeschwindigkeit, welche beispielsweise zum Abarbeiten von bestimmten Daten benötigt wird, oder eine Speicherungsgeschwindigkeit. Die benötigte Speicherarbeitsgeschwindigkeit kann ferner von einer benötigten Datenverarbeitungsgeschwindigkeit oder von einer benötigten Befehlslesegeschwindigkeit abhängen, so dass die erfindungsgemäße Speicheranordnung in einer Vielzahl von unterschiedlichen Datenverarbeitungsszenarien eingesetzt werden kann.
-
Gemäß einer vorteilhaften Ausführungsform ist die benötigte Speicherarbeitsgeschwindigkeit anhand einer benötigten Datenverarbeitungsgeschwindigkeit oder einer benötigten Befehlslesegeschwindigkeit bestimmbar, wodurch der Speicher in vorteilhafter Weise bedarfsgerecht konfiguriert werden kann.
-
Gemäß einer vorteilhaften Ausführungsform ist der zumindest eine Speicherbereich des Speichers beim Initialisieren der Speicheranordnung konfigurierbar. Die Speicheranordnung kann beispielsweise durch einen auf diese zugreifenden Prozessor initialisiert oder beim Initialisieren des Prozessors mitinitialisiert werden, wodurch in vorteilhafter Weise sichergestellt wird, dass die Speicherkonfigurierung anwendungsspezifisch, beispielsweise für Diagnosezwecke, durchgeführt werden kann.
-
Gemäß einem weiteren Aspekt betrifft die Erfindung eine Datenverarbeitungsvorrichtung, beispielsweise ein Motorsteuergerät, das programmierbar sein kann, mit der erfindungsgemäßen Speicheranordnung und einer Prozessoreinrichtung, beispielsweise einem Prozessor, welcher ausgebildet ist, auf die Speicheranordnung zuzugreifen.
-
Gemäß einem weiteren Aspekt betrifft die Erfindung ein Antriebssteuergerät zur Steuerung eines Fahrzeugantriebs, das die erfindungsgemäße Speicheranordnung, welche zur Speicherung von Antriebsdiagnosedaten oder Programmbefehlen zur Durchführung einer Diagnose des Fahrzeugantriebs aufweist.
-
Gemäß einem weiteren Aspekt betrifft die Erfindung ein Speicherkonfigurierungsverfahren zum Konfigurieren einer Betriebsart eines Speichers, mit dem Schritt des Konfigurierens zumindest eines Speicherbereichs des Speichers in Abhängigkeit von einer benötigten Speicherarbeitsgeschwindigkeit als Datenspeicher oder als temporären Pufferspeicher.
-
Weitere Verfahrensschritte ergeben sich unmittelbar aus der Funktionalität der erfindungsgemäßen Speicheranordnung.
-
Weitere Ausführungsbeispiele werden Bezug nehmend auf die beiliegenden Zeichnungen erläutert. Es zeigen:
-
1 eine Datenverarbeitungsvorrichtung; und
-
2 eine Datenverarbeitungsvorrichtung.
-
2 zeigt eine Datenverarbeitungsvorrichtung mit einer Speicheranordnung umfassend einen Speicher 101 sowie einen diesem vorgeschalteten weiteren Speicher 103. Die Datenverarbeitungsanordnung umfasst ferner einen dem Speicher 101 nachgeschalteten Befehlsprozessor 105.
-
Der Speicher 101 ist bevorzugt konfigurierbar und kann beispielsweise als temporärer Pufferspeicher oder als primärer Datenspeicher verwendet werden. Der weitere Speicher 103 umfasst beispielsweise einen Datenspeicherbereich 107 sowie einen Programmspeicherbereich 109, wobei beide Speicherbereiche mit dem Speicher 101 kommunizieren. Der Datenspeicherbereich 107 kann beispielsweise durch ein RAM (RAM: Random Access Memory) realisiert werden. Der Programmspeicherbereich 109 kann hingegen mittels eines ROM (ROM: Read Only Memory) realisiert werden.
-
Zum Konfigurieren des Speichers 101 kann dieser beispielsweise insgesamt als Pufferspeicher oder als Datenspeicher konfiguriert werden. Darüber hinaus können ein oder mehrere Speicherbereiche des Speichers 101 als Pufferspeicher und/oder als Datenspeicher konfiguriert werden.
-
2 zeigt die Datenverarbeitungsvorrichtung aus 1 gemäß einem weiteren Ausführungsbeispiel, bei dem der Speicher 101 einen Speicherbereich 201 aufweist, welcher beispielsweise als ein Pufferspeicherbereich konfiguriert ist, und einen weiteren Speicherbereich 203 aufweist, welcher beispielsweise als ein Daten- und/oder Programmspeicher konfiguriert ist. Wie in 2 dargestellt, kommunizieren der Datenspeicherbereich 107 sowie der Programmspeicherbereich 109 mit dem Pufferspeicherbereich 201 des Speichers 101. Der weitere Speicherbereich 203 wird hingegen als primärer Datenspeicher benutzt, auf welchem der Befehlsprozessor 105 beispielsweise gesondert zugreifen kann. Gemäß einer Ausführungsform können diese Zugriffe busorientiert erfolgen. Gemäß einer weiteren Ausführungsform können hierzu gesonderte Leitungen 205 und 207 vorgesehen sein, wobei der Befehlsprozessor 105 mit dem Pufferspeicherbereich 201 mittels der Leitungen 205 und mit dem Daten- und/oder Programmspeicherbereich 203 mittels der Leitungen 207 kommuniziert. Die Leitungen 205 und 207 können temporär bereitstellbar oder fest verdrahtet sein.
-
Die vorstehend genannten RAMs können als Datenspeicher bzw. als Hauptspeicher der Datenverarbeitungsvorrichtung eingesetzt werden. Diese können auch als Schreib-/Lesespeicher eingesetzt werden. Da die Zugriffszeit für alle Speicherzellen sowohl beim Lesen als auch beim Schreiben in etwa gleich lang ist, werden die RAMs daher vorliegend als Speicher mit wahlfreiem Zugriff, also ”Random Access”, bezeichnet. In der Regel können die RAMs als nicht-permanente Speicher eingesetzt werden, d. h., dass die Daten bevorzugt nur so lange gespeichert werden, bis die Stromzufuhr unterbrochen wird. Ein derartiger Pufferspeicher kann jedoch auch als ein Programmspeicher eingesetzt werden, wozu eine Befehlssequenz aus einem permanenten Programmspeicher in den nicht-permanenten Datenspeicher kopiert werden kann.
-
Durch die erfindungsgemäße Anordnung des in den 1 und 2 dargestellten Speichers 101, welcher als Pufferspeicher bzw. Cache eingesetzt werden kann, wird erreicht, dass dieser vollständig oder teilweise als Daten- und/oder Programmspeicher genutzt werden kann, so dass eine flexible Speicherkapazitätsbereitstellung möglich ist. Wird der Speicher 101 nicht als Cache- sondern als Datenspeicher temporär genutzt, so wird er dann temporär nicht als Pufferspeicher genutzt.
-
Der Speicher 101 kann primär als Pufferspeicher, was seine primäre Funktion sein kann, und zusätzlich als Daten- und/oder Programmspeicher genutzt werden, was seine sekundäre Funktion sein kann. Die Umschaltung zwischen der Primär- und der Sekundärfunktion kann beispielsweise bedarfsgerecht und dynamisch erfolgen.
-
Da der als Pufferspeicher genutzte Cache der Datenverarbeitungsvorrichtung als Daten- und/oder Programmspeicher eingesetzt werden kann, kann die Abarbeitungsgeschwindigkeit der Speicheranordnung der benötigten Datenverarbeitungsgeschwindigkeit angepasst werden. Ist der Speicher 101 beispielsweise als Daten- und/oder Programmspeicher konfiguriert, so ist die maximal mögliche Abarbeitungsgeschwindigkeit, d. h. die Speicherarbeitsgeschwindigkeit, geringer im Vergleich zu der temporären Cache-Betriebsart. Ist die reduzierte Abarbeitungsgeschwindigkeit für die jeweilige Anwendung jedoch ausreichend, so kann der Speicher 101 als Programm- und/oder Datenspeicher vorteilhaft konfiguriert werden.
-
Die Datenverarbeitungsvorrichtung kann anhand der Daten bestimmen, wann es möglich ist, den Speicher 101 in die jeweilige Betriebsart zu konfigurieren. Soll der Speicher 101 als Programm- und/oder Datenspeicher genutzt werden, so kann dies beispielsweise bei einer Initialisierung desselben festgelegt werden. Hierbei kann der Speicher 101, welcher sonst als Cache-Speicher eingesetzt wird, von der primären Funktion auf die Sekundärfunktion umkonfiguriert werden. Soll der Speicher 101 jedoch als Pufferspeicher genutzt werden, so kann eine Rekonfigurierung auf die primäre Funktion erfolgen. Durch diese dynamische Umschaltung der Betriebsarten besteht die Möglichkeit einer bedarfsabhängigen Nutzung des Speichers 101, so dass je nach Bedarf eine Optimierung bezüglich der Laufzeit oder bezüglich der vorhandenen Ressourcen im Hinblick auf den Programm- und/oder Datenspeicher erfolgen kann.
-
Bevorzugt kann die erfindungsgemäße Speicheranordnung oder die Datenverarbeitungsvorrichtung in einem Motorsteuergerät eingesetzt werden, welches eine Diagnose eines Antriebs durchführen kann.
-
Zur Diagnose eines Fehlers des Antriebs wird in dem Motorsteuergerät vorteilhaft eine Diagnosefunktion gestartet, zu deren Abarbeitung jedoch eine maximale Abarbeitungsgeschwindigkeit nicht notwendig ist. Hierzu kann beispielsweise ein Signal über die Zeit aufgezeichnet werden, wobei die Auswertung der erfassten Daten anschließend mittels eines Algorithmus erfolgen kann. Diese Signaldaten können beispielsweise in dem dynamisch konfigurierbaren Speicher 101, welcher als Datenspeicher konfiguriert werden kann, abgelegt und dem Algorithmus zur Auswertung bereitgestellt werden.
-
Bekannte Diagnosefunktionen lassen sich hierbei beispielsweise in zwei Gruppen aufteilen: In der ersten Gruppe befinden sich beispielsweise Funktionen, die während eines Fahrbetriebs ausgeführt werden. In der zweiten Gruppe können sich jedoch spezielle Diagnosefunktionen befinden, die ausschließlich während eines Aufenthalts beispielsweise in einer Werkstatt aktiv sein können. Üblicherweise wird dabei der Hauptspeicher als Programmspeicher belegt, obwohl diese Funktionalität nur sehr selten und niemals während eines eigentlichen Fahrbetriebs benötigt wird. Durch die erfindungsgemäß mögliche, temporäre Bereitstellung des Datenspeicherbereichs können die Systemressourcen daher besser genutzt werden.
-
Über einen Software-Upload in einer Werkstatt kann die Diagnosefunktion ferner in einen Upload-Speicherbereich geladen werden, welcher nicht statisch, sondern dynamisch in dem Speicher 101 bereitgestellt werden kann.
-
Zur Umkonfigurierung des Cache in die Primär- oder in die Sekundärfunktion kann beispielsweise eine hardwaremäßige Steuerung in einem Steuergerät eingesetzt werden, welche beispielsweise in Abhängigkeit von einer jeweiligen Anwendung, beispielsweise Diagnosefunktion, den Speicher 101 konfiguriert. Die Umkonfigurierung des Caches muss jedoch nicht zwingender Weise über eine hardwaremäßige Steuerung erfolgen. Sie kann auch softwaretechnisch als ein Softwareprogramm implementiert sein, das in der Steuergeräte-Initialisierung – ausgelöst von einem Diagnosetester – die Umkonfigurierung des Caches durchführt.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-