DE102016209535A1 - Verfahren und Vorrichtung zum Prüfen eines Befehlscache - Google Patents
Verfahren und Vorrichtung zum Prüfen eines Befehlscache Download PDFInfo
- Publication number
- DE102016209535A1 DE102016209535A1 DE102016209535.8A DE102016209535A DE102016209535A1 DE 102016209535 A1 DE102016209535 A1 DE 102016209535A1 DE 102016209535 A DE102016209535 A DE 102016209535A DE 102016209535 A1 DE102016209535 A1 DE 102016209535A1
- Authority
- DE
- Germany
- Prior art keywords
- instruction
- processor
- procedure
- machine
- instruction sequence
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1064—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Verfahren (10) zum Prüfen eines Befehlscache, gekennzeichnet durch folgende Merkmale: – der Prozessor wird in einen vorgegebenen Anfangszustand versetzt (11), – ein durch ein erstes Befehlswort kodierter erster Maschinenbefehl wird durch den Prozessor verarbeitet (12), – ein durch ein zweites Befehlswort kodierter zweiter Maschinenbefehl wird durch den Prozessor verarbeitet (13), wobei das zweite Befehlswort ein Einer-Komplement des ersten Befehlswortes ist, und – der Prozessor wird auf einen vorgegebenen Endzustand geprüft (14).
Description
- Die vorliegende Erfindung betrifft ein Verfahren zum Prüfen eines Befehlscache. Die vorliegende Erfindung betrifft darüber hinaus eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium.
- Stand der Technik
- Als Cache wird in der Rechnerarchitektur jedweder Puffer-Speicher bezeichnet, der zur Vermeidung teils wiederholter Zugriffe auf ein langsames Hintergrundmedium oder aufwändiger Neuberechnungen dient. Daten oder Befehle, die einmal geladen oder erzeugt werden, verbleiben hierzu zeitweise im Cache, sodass sie bei künftigem Bedarf schneller abgerufen werden können. Mitunter werden auch Daten, deren Bedarf absehbar scheint, vorauseilend vom Hintergrundmedium abgerufen und im Cache bereitgestellt (read ahead).
- Superskalare Prozessoren mit moderner Pipelinetechnik verfügen in der Regel über getrennte Caches für Programme und Daten. Eine derartige Rechnerarchitektur ist dem Fachmann als Harvard-Cachearchitektur geläufig und wird nach dem Stand der Technik bereits in eingebetteten Steuergeräten (electronic control units) eingesetzt.
-
EP1639466 (A1) offenbart ein Verfahren zur Fehlererkennung bei einem Cachespeicher zur Speicherung von Daten, wobei der Zugriff auf die im Cachespeicher abgelegten Daten durch diesen zugeordnete Adressen erfolgt und zu den abgelegten Daten zugeordneten Adressen wenigstens eine erste Prüfsignatur bestehend aus wenigstens einem ersten Signaturbit erzeugt und ebenfalls im Cachespeicher abgelegt wird. - Offenbarung der Erfindung
- Die Erfindung stellt ein Verfahren zum Prüfen eines Befehlscache, eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium, insbesondere einen Festwertspeicher, gemäß den unabhängigen Ansprüchen bereit.
- Der erfindungsgemäße Ansatz gründet auf der Erkenntnis, dass bekannte Verfahren, durch welche unterschiedliche Funktionen von Programmcaches geprüft werden können, sehr umfangreich und laufzeitintensiv sind. Bestimmte Testprogramme und -sequenzen müssen zwingend aus dem Direktzugriffsspeicher (random-access memory, RAM) ausgeführt werde. Der Anspruch derartiger Tests ist zudem mitunter höher, als es unter funktionalen Sicherheitsaspekten zweckmäßig erscheint.
- Ein Vorzug der vorgeschlagenen Lösung liegt demgegenüber in der Schaffung eines Softwaretestverfahrens, mit dem die korrekte Arbeitsweise des Programmcache effizient nachgewiesen werden kann. Das besagte Testverfahren ist dabei geeignet, sowohl einmalig bei In- oder Außerbetriebnahme als auch zyklisch ausgeführt zu werden. Hierzu wird erfindungsgemäß der Anspruch des Tests auf eine korrekte Ausführung von Maschinencode reduziert, während auf einen Nachweis der Verkürzung der Ladezeit des Codes zugunsten einer laufzeiteffizienten Implementierung verzichtet wird. Der Selbsttest ist zu diesem Zweck derart aufgebaut, dass es einen Startzustand gibt, der nur bei korrekter Durchführung aller Selbsttestoperationen zum richtigen Ergebnis führt.
- Durch die in den abhängigen Ansprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im unabhängigen Anspruch angegebenen Grundgedankens möglich. So kann vorgesehen sein, einen erfindungsgemäßen Selbsttest ausschließlich aus dem Festwertspeicher (read-only memory, ROM) auszuführen. Der Begriff „Festwertspeicher“ wird hierbei in einem weiten Wortsinn verwendet und umfasst insbesondere elektrisch löschbare programmierbare Nur-Lese-Speicher (electrically erasable programmable read-only memory, EEPROM) und sogenannte Flash-EEPROMs neuerer Bauart.
- Kurze Beschreibung der Zeichnungen
- Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:
-
1 das Flussdiagramm eines Verfahrens gemäß einer ersten Ausführungsform. -
2 schematisch ein Steuergerät gemäß einer zweiten Ausführungsform. - Ausführungsformen der Erfindung
-
1 illustriert die grundlegenden Schritte eines Verfahrens (10 ) zum Prüfen des Programm- oder Befehlscache eines Prozessors gemäß einer Ausführungsform der Erfindung. - Der Prozessor wird demnach zunächst in einen vorgegebenen Anfangszustand versetzt (Prozess
11 ), welcher im Wesentlichen durch eine vorgegebene Wertebelegung zweier oder mehrerer Register Rx, Ry des Prozessors definiert ist. Sodann verarbeitet (Prozess12 ) der Prozessor die auf einem Festwertspeicher gespeicherte, n ∊ Maschinenbefehle umfassende Befehlsfolge P, wobei die Maschinenbefehle vorliegend durch Befehlsworte Di, i ∊ {1, ..., n} einer festen Wortbreite kodiert werden. Jeder von P umfasste Maschinenbefehl verändert hierbei das oder die Register Rx auf bekannte Art und Weise, sodass nach Verarbeitung von P der Wert des Registers oder der Register Rx gleichsam eine Signatur S1 dieser Befehlsfolge darstellt. - Unmittelbar darauf verarbeitet (Prozess
13 ) der Prozessor eine ebenfalls im Festwertspeicher abgelegte zweite Befehlsfolge P* der Länge n. Als erfindungswesentlich erweist sich hierbei die Wahl der Befehlsworte j ∊ {1, ..., n}, welche die von P* umfassten Maschinenbefehle kodieren: Insofern findet jedes in P enthaltene Befehlswort Di in P* eine Entsprechung die dem Einer-Komplement seiner Binärdarstellung entspricht. Entsprechend obiger Ausführungen stellt nach Verarbeitung von P* der Wert des Registers oder der Register Ry auf diese Weise gleichsam eine Signatur S2 dieser zweiten Befehlsfolge dar. - Wenn die resultierende, aus den Befehlsfolgen P und P* bestehende Gesamtsequenz Q ohne Unterbrechung ausgeführt wird, kann anhand der Signaturen S1 und S2 somit die korrekte Funktionalität des Programmcache nachgewiesen werden. Die Maschinenbefehle der ersten Befehlsfolge P und somit auch jene der zweiten Befehlsfolge P* sind hierbei vorzugsweise wiederholungsfrei gewählt.
- Dieses Verfahren (
10 ) kann beispielsweise in Software oder Hardware oder in einer Mischform aus Software und Hardware beispielsweise in einem Steuergerät (20 ) implementiert sein, wie die schematische Darstellung der2 verdeutlicht. - 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
-
- EP 1639466 A1 [0004]
Claims (10)
- Verfahren (
10 ) zum Prüfen eines Befehlscache eines Prozessors, gekennzeichnet durch folgende Merkmale: – der Prozessor wird in einen vorgegebenen Anfangszustand versetzt (11 ), – ein durch ein erstes Befehlswort kodierter erster Maschinenbefehl wird durch den Prozessor verarbeitet (12 ), – ein durch ein zweites Befehlswort kodierter zweiter Maschinenbefehl wird durch den Prozessor verarbeitet (13 ), wobei das zweite Befehlswort ein Einer-Komplement des ersten Befehlswortes ist, und – der Prozessor wird auf einen vorgegebenen Endzustand geprüft (14 ). - Verfahren (
10 ) nach Anspruch 1, gekennzeichnet durch folgendes Merkmal: – der Anfangszustand und der Endzustand sind durch vorgegebene Wertebelegungen mindestens eines Registers des Prozessors definiert. - Verfahren (
10 ) nach Anspruch 1 oder 2, gekennzeichnet durch folgende Merkmale: – eine erste Befehlsfolge, welche den ersten Maschinenbefehl umfasst, wird durch den Prozessor verarbeitet, – eine zweite Befehlsfolge, welche den zweiten Maschinenbefehl umfasst, wird durch den Prozessor verarbeitet und – jeder von der zweiten Befehlsfolge umfasste Maschinenbefehl ist das Einer-Komplement eines von der ersten Befehlsfolge umfassten Maschinenbefehles. - Verfahren (
10 ) nach Anspruch 3, gekennzeichnet durch folgendes Merkmal: – die erste Befehlsfolge und die zweite Befehlsfolge weisen eine übereinstimmende Länge auf. - Verfahren (
10 ) nach Anspruch 4, gekennzeichnet durch folgendes Merkmal: – die erste Befehlsfolge und die zweite Befehlsfolge sind wiederholungsfrei. - Verfahren (
10 ) nach Anspruch 4 oder 5, gekennzeichnet durch folgendes Merkmal: – für jeden Maschinenbefehl mit einem bestimmten Index in der ersten Befehlsfolge trägt das Einer-Komplement in der zweiten Befehlsfolge denselben Index. - Verfahren (
10 ) nach einem der Ansprüche 3 bis 6, gekennzeichnet durch folgendes Merkmal: – das Verarbeiten (13 ) der zweiten Befehlsfolge folgt unmittelbar auf das Verarbeiten (12 ) der ersten Befehlsfolge. - Computerprogramm, welches eingerichtet ist, das Verfahren (
10 ) nach einem der Ansprüche 1 bis 7 auszuführen. - Maschinenlesbares Speichermedium, insbesondere Festwertspeicher, auf dem das Computerprogramm nach Anspruch 8 gespeichert ist.
- Vorrichtung (
20 ), die eingerichtet ist, das Verfahren (10 ) nach einem der Ansprüche 1 bis 7 auszuführen.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016209535.8A DE102016209535A1 (de) | 2016-06-01 | 2016-06-01 | Verfahren und Vorrichtung zum Prüfen eines Befehlscache |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016209535.8A DE102016209535A1 (de) | 2016-06-01 | 2016-06-01 | Verfahren und Vorrichtung zum Prüfen eines Befehlscache |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102016209535A1 true DE102016209535A1 (de) | 2017-12-21 |
Family
ID=60480981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102016209535.8A Pending DE102016209535A1 (de) | 2016-06-01 | 2016-06-01 | Verfahren und Vorrichtung zum Prüfen eines Befehlscache |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102016209535A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118427030A (zh) * | 2024-07-05 | 2024-08-02 | 长沙麟卓信息科技有限公司 | 一种基于随机指令集的哈佛架构多级指令缓存测算方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1639466A1 (de) | 2003-06-18 | 2006-03-29 | Robert Bosch Gmbh | Verfahren und vorrichtung zur fehlererkennung für einen cachespeicher und entsprechender cachespeicher |
-
2016
- 2016-06-01 DE DE102016209535.8A patent/DE102016209535A1/de active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1639466A1 (de) | 2003-06-18 | 2006-03-29 | Robert Bosch Gmbh | Verfahren und vorrichtung zur fehlererkennung für einen cachespeicher und entsprechender cachespeicher |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118427030A (zh) * | 2024-07-05 | 2024-08-02 | 长沙麟卓信息科技有限公司 | 一种基于随机指令集的哈佛架构多级指令缓存测算方法 |
CN118427030B (zh) * | 2024-07-05 | 2024-09-13 | 长沙麟卓信息科技有限公司 | 一种基于随机指令集的哈佛架构多级指令缓存测算方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112013005882B4 (de) | Ausführung eines Gegenverzweigungspfades auf Grundlage eines Zuverlässigkeitsschwellenwertes für eine Verzweigungsvorhersage | |
DE3242502A1 (de) | Tracing-system | |
EP2943748B1 (de) | Verfahren und vorrichtung zum verwalten von kartendaten einer digitalen karte einer navigationseinrichtung | |
DE102015210651B4 (de) | Schaltung und Verfahren zum Testen einer Fehlerkorrektur-Fähigkeit | |
DE102006054169B4 (de) | Verfahren und System für eine Zentralisierung einer Prozessabfolgeüberprüfung | |
DE102016209535A1 (de) | Verfahren und Vorrichtung zum Prüfen eines Befehlscache | |
DE102004046611A1 (de) | Verfahren zur Abarbeitung eines Computerprogramms auf einem Computersystem | |
DE102005053847B4 (de) | Speicheranordnungsverfahren und System | |
DE102004037713A1 (de) | Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms | |
DE102014115411A1 (de) | Datenverarbeitungsanordnung und -verfahren zur sicherstellung der integrität der ausführung eines computerprogramms | |
DE602005005289T2 (de) | Verfahren, System und Computerprogrammprodukt zur Korrektur von Fehlern in einem Festwertspeicher | |
DE10064025A1 (de) | Verfahren mit einem bedingten deterministischen Rücksetzvektor für einen Mikroprozessor | |
EP1892639B1 (de) | Sichere Programmcodeausführung | |
DE102013202961A1 (de) | Verfahren zum Überwachen eines Stackspeichers in einem Betriebssystem eines Steuergeräts eines Kraftfahrzeuges | |
DE102010027287A1 (de) | Verfahren und Vorrichtung zum prüfen eines Hauptspeichers eines Prozessors | |
DE102015211458A1 (de) | Verfahren und Vorrichtung zum Absichern einer Programmzählerstruktur eines Prozessorsystems und zum Überwachen der Behandlung einer Unterbrechungsanfrage | |
DE102020206321A1 (de) | Verfahren und Vorrichtung zum Prüfen eines technischen Systems | |
DE102016013669A1 (de) | Verfahren zum Betrieb eines Datenkommunikationssystems | |
DE102015215525A1 (de) | Verfahren zur Vermeidung des Betriebs eines ersten Computerprogramms und eines zweiten Computerprogramms auf einem Computer | |
DE102023004185A1 (de) | Verfahren zum Betreiben einer elektronischen Rechenvorrichtung zum Erzeugen einer Steuertabelle für einen Elektromotor, eines Computerprogrammcodes, eines computerlesbaren Speichermediums sowie einer Elektronischen Recheneinrichtung | |
DE102019217416A1 (de) | Verfahren zum Erstellen eines Zugriffsrechteschemas für einen elektronischen Speicher | |
DE102010014720A1 (de) | Verfahren zum Verifizieren eines aus einem Quellmodell generierten Zielprogramms | |
DE112008000991T5 (de) | Verfahren und Vorrichtung zum Testen eines Seitendecoders | |
DE10110050A1 (de) | Verfahren zur Absicherung sicherheitskritischer Programmteile vor versehentlicher Ausführung und eine Speichereinrichtung zur Durchführung dieses Verfahrens | |
DE102006013762A1 (de) | Verfahren zum Betreiben einer Speichereinrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed |