DE10204038B4 - Verfahren zum Erkennen einer korrekten Befehls-Einsprung-Adresse bei Verwendung unterschiedlich langer Befehlsworte - Google Patents
Verfahren zum Erkennen einer korrekten Befehls-Einsprung-Adresse bei Verwendung unterschiedlich langer Befehlsworte Download PDFInfo
- Publication number
- DE10204038B4 DE10204038B4 DE2002104038 DE10204038A DE10204038B4 DE 10204038 B4 DE10204038 B4 DE 10204038B4 DE 2002104038 DE2002104038 DE 2002104038 DE 10204038 A DE10204038 A DE 10204038A DE 10204038 B4 DE10204038 B4 DE 10204038B4
- Authority
- DE
- Germany
- Prior art keywords
- command
- command word
- start bit
- word
- words
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Executing Machine-Instructions (AREA)
- Storage Device Security (AREA)
- Communication Control (AREA)
Abstract
Verfahren
zum Überprüfen einer
korrekten Befehls-Einsprungadresse,
bei Verwendung unterschiedlich langer Befehlsworte, die aus einer
oder mehreren Befehlsworthälften
bestehen, wobei mindestens ein Startbit jeder Befehlsworthälfte die
Länge jedes
Befehlswortes codiert und wobei beim Einsprung an eine Adresse anhand
des Startbits der zugeordneten Befehlsworthälfte überprüft wird, ob es sich um ein
halblanges oder längeres Befehlswort
handelt, und wenn es sich um ein längeres Befehlswort handelt,
wird überprüft, ob ein
korrekter Einsprung an einen Befehlswortbeginn erfolgt ist.
Description
- Die Erfindung betrifft ein Verfahren zum Unterscheiden einer korrekten Befehls-Einsprung-Adresse bei Verwendung unterschiedlich langer Befehlsworte gemäß Patentanspruch 1. Werden für den Befehlscode eines Prozessors unterschiedlich lange Befehlsworte verwendet, so ist es möglich, daß der Programmzähler nicht auf die Einsprungsadresse eines Befehlswortes zeigt. Werden beispielsweise Befehlsworte normaler Länge und solche mit halber Länge der normallangen Befehlsworte verwendet, so ist es möglich, daß der Adreßzähler auf die Mitte, das heißt auf die zweite Worthälfte eines normallangen Befehlswortes den Adreßzeiger richtet. Somit kann das Befehlswort nicht korrekt ausgelesen werden. Ein solches unkorrektes Einspringen in die Mitte eines Befehlswortes wurde gemäß dem intern vorliegenden Stand der Technik bisher geduldet. Dabei wird eine Folge von fehlerhaften Befehlen ausgeführt bis sich der Befehlszähler wieder mit dem Befehlsstrom synchronisiert.
- Aus der
US 5,881,260 ist bekannt, am Anfang eines jeden Befehls die Befehlsgrenze mit einer "1" zu kennzeichnen und weitere innerhalb des Befehls vorkommende Worte jeweils mit einer "0" zu kennzeichnen. Mit diesem Verfahren ist zu ermitteln, ob ein Einsprung an einen Befehlsanfang erfolgt ist. Soll die Befehlslänge ermittelt werden, das heißt aus wie vielen Worten ein Befehl zusammengesetzt ist, müssen die Wortanfänge bis zur nächsten Befehlsgrenze gezählt werden. Aus der nachveröffentlichtenDE 101 20 522 A1 ist bekannt, lange Befehlsworte von kurzen Befehlsworten dahingehend zu unterscheiden, dass bei langen Befehlsworten der Beginn der zweiten Befehlsworthälfte invers zum Beginn der ersten Befehlworthälfte kodiert ist. - Der Erfindung liegt somit die Aufgabe zugrunde ein Verfahren zur Erkennung korrekter Befehls-Einsprung-Adressen vorzusehen, auch wenn unterschiedliche lange Befehlsworte verwendet sind.
- Diese Aufgabe wird erfindungsgemäß mit den in Patentanspruch 1 angegebenen Maßnahmen gelöst. Dadurch, daß bei Verwendung unterschiedlich langer Befehlsworte, jedes Befehlswort eine für die Länge des Befehlswortes entsprechende vorbestimmte Startbitcodierung (A) aufweist, sind unterschiedlich lange Befehlsworte leicht unterscheidbar. Diese Codierung weist zusätzlich den Vorteil auf, daß jeder Befehl implizit die Befehlslänge enthält. Gesonderte Befehle, um diese Information bereitzustellen erübrigen sich damit.
- Weitere vorteilhafte Ausgestaltungen sind in den Unteransprüchen angegeben, wodurch ein Einspringen in die Mitte eines langen Befehlswortes leicht erkennbar wird.
- Nachfolgend wird die Erfindung unter Erläuterung eines Ausführungsbeispiels unter Bezugnahme auf die Zeichnung näher erläutert.
- In der Figur ist als ein Ausführungsbeispiel ein normal langes, d.h. 32 Bit langes Befehlswort (B) symbolisch dargestellt. Dabei steht an der Stelle des niedrigsten Bits, das mit „a" gekennzeichnet ist und dem ersten Bit erspricht, ein Startbit, das in diesem Fall als "0" ausgebildet ist. Beim 17. Bit handelt es sich um das Startbit der zweiten Befehlsworthälfte, das mit „a'" gekennzeichnet ist. Mit (A) ist ein halblanges Befehlswort dargestellt. Dieses weist an der ersten Stelle ebenfalls ein Startbit auf, das ebenfalls mit „a" gekennzeichnet ist und den Wert "1" aufweist.
- Zu Beginn eines jeden Befehlswortes kann somit leicht beim Einsprung auf dieser Adresse überprüft werden, welchen Wert das Startbit hat und ob es sich um ein halblanges oder normal langes Befehlswort handelt.
- Wird nach dem „Einsprung" zu einem langen Befehlswort durch Überprüfung des ersten Bits (a, a') erkannt, daß es sich um ein normal langes Befehlswort handelt, wird das zweite Startbit (b) überprüft. Weist dieses den Wert „0" auf ist der Einsprung korrekt erfolgt.
- Wird unerlaubter Weise in die Befehlswortmitte des normal langen Befehlswortes eingesprungen, nämlich zum 17. Bit, so wird das zweite Startbit (a'), entsprechend mit dem Wert "0" gelesen. Bei der Überprüfung des zweiten Startbits (b') wird am Wert „1" somit sofort erkannt, daß es sich hierbei um keine korrekte Einsprungsadresse handelt und ein Lesen der zweiten Befehlsworthälfte ist unterbindbar.
- Auf die angegebene Weise sind lange von halblangen Befehlen leicht unterscheidbar und es ist mit einfachen Mitteln verhindert, daß in unerlaubter Weise in die Mitte eines langen Befehlswortes eingesprungen wird und ein nicht zugelassener Befehl, nämlich die zweite Befehlsworthälfte, gelesen wird. Für den Befehlscode bedeutet das beschriebene Verfahren, daß bei 16 Bit Befehlsworten nur 15 Bit und bei 32 Bit Befehlsworten nur 30 zur Verfügung stehen.
- Entsprechend der zuvor beschriebenen Codierung der „Startbits" für zwei unterschiedliche Befehlswortlängen, können mehr als zwei unterschiedliche Befehlswortlängen vorgesehen sein. Die Anzahl der „Startbits" in denen die Länge kodiert ist ist dann ggf. anzupassen.
Claims (4)
- Verfahren zum Überprüfen einer korrekten Befehls-Einsprungadresse, bei Verwendung unterschiedlich langer Befehlsworte, die aus einer oder mehreren Befehlsworthälften bestehen, wobei mindestens ein Startbit jeder Befehlsworthälfte die Länge jedes Befehlswortes codiert und wobei beim Einsprung an eine Adresse anhand des Startbits der zugeordneten Befehlsworthälfte überprüft wird, ob es sich um ein halblanges oder längeres Befehlswort handelt, und wenn es sich um ein längeres Befehlswort handelt, wird überprüft, ob ein korrekter Einsprung an einen Befehlswortbeginn erfolgt ist.
- Verfahren nach Anspruch 1, bei dem am Beginn eines langen Befehlswortes nach einem ersten Startbit (a) ein zweites Startbit (b) folgt.
- Verfahren nach Anspruch 2, bei dem eine zweite Hälfte des langen Befehlswortes mit einem dritten Startbit (a') beginnt, das mit dem ersten Startbit (a) übereinstimmt.
- Verfahren nach Anspruch 3, bei dem dem dritten Startbit (a') ein viertes Starbit (b') folgt, das zum zweiten Startbit einen komplementären Wert aufweist.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2002104038 DE10204038B4 (de) | 2002-02-01 | 2002-02-01 | Verfahren zum Erkennen einer korrekten Befehls-Einsprung-Adresse bei Verwendung unterschiedlich langer Befehlsworte |
TW91138042A TW200302978A (en) | 2002-02-01 | 2002-12-31 | Method for recognizing a correct instruction entry address when using instruction words of different length |
PCT/DE2003/000218 WO2003065203A2 (de) | 2002-02-01 | 2003-01-27 | Verfahren zum erkennen einer korrekten befehls-einsprung-adresse bei verwendung unterschiedlich langer befehlsworte |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2002104038 DE10204038B4 (de) | 2002-02-01 | 2002-02-01 | Verfahren zum Erkennen einer korrekten Befehls-Einsprung-Adresse bei Verwendung unterschiedlich langer Befehlsworte |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10204038A1 DE10204038A1 (de) | 2003-08-14 |
DE10204038B4 true DE10204038B4 (de) | 2005-03-03 |
Family
ID=27588225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2002104038 Expired - Fee Related DE10204038B4 (de) | 2002-02-01 | 2002-02-01 | Verfahren zum Erkennen einer korrekten Befehls-Einsprung-Adresse bei Verwendung unterschiedlich langer Befehlsworte |
Country Status (3)
Country | Link |
---|---|
DE (1) | DE10204038B4 (de) |
TW (1) | TW200302978A (de) |
WO (1) | WO2003065203A2 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200910195A (en) * | 2007-08-20 | 2009-03-01 | Sunplus Technology Co Ltd | A device of using serial bits to determine instruction length at a multi-mode processor and the method thereof |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5881260A (en) * | 1998-02-09 | 1999-03-09 | Hewlett-Packard Company | Method and apparatus for sequencing and decoding variable length instructions with an instruction boundary marker within each instruction |
DE10120522A1 (de) * | 2001-04-26 | 2002-11-07 | Infineon Technologies Ag | Verfahren zum Erkennen einer korrekten Befehls-Einsprung-Adresse bei Verwendung unterschiedlich langer Befehlsworte |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US588260A (en) * | 1897-08-17 | Adding-machine | ||
US6049863A (en) * | 1996-07-24 | 2000-04-11 | Advanced Micro Devices, Inc. | Predecoding technique for indicating locations of opcode bytes in variable byte-length instructions within a superscalar microprocessor |
JP3658101B2 (ja) * | 1996-09-13 | 2005-06-08 | 株式会社ルネサステクノロジ | データ処理装置 |
-
2002
- 2002-02-01 DE DE2002104038 patent/DE10204038B4/de not_active Expired - Fee Related
- 2002-12-31 TW TW91138042A patent/TW200302978A/zh unknown
-
2003
- 2003-01-27 WO PCT/DE2003/000218 patent/WO2003065203A2/de not_active Application Discontinuation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5881260A (en) * | 1998-02-09 | 1999-03-09 | Hewlett-Packard Company | Method and apparatus for sequencing and decoding variable length instructions with an instruction boundary marker within each instruction |
DE10120522A1 (de) * | 2001-04-26 | 2002-11-07 | Infineon Technologies Ag | Verfahren zum Erkennen einer korrekten Befehls-Einsprung-Adresse bei Verwendung unterschiedlich langer Befehlsworte |
Also Published As
Publication number | Publication date |
---|---|
WO2003065203A2 (de) | 2003-08-07 |
WO2003065203A3 (de) | 2006-01-19 |
DE10204038A1 (de) | 2003-08-14 |
TW200302978A (en) | 2003-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1821073B1 (de) | Positionsmesseinrichtung | |
EP1403623B2 (de) | Verfahren zur Bestimmung einer absoluten Position | |
DE19921232B4 (de) | Verfahren zum gesicherten Schreiben eines Zeigers für einen Ringspeicher, zugehöriger Ringspeicher, Verwendung des Ringspeichers und Chipkarte mit Ringspeicher | |
EP0011685A1 (de) | Programmierbare Speicherschutzeinrichtung für Mikroprozessorsysteme und Schaltungsanordnung mit einer derartigen Einrichtung | |
DE19944991A1 (de) | Verfahren zur Sicherung eines Programmablaufs | |
DE19506019C2 (de) | Verfahren zum Betrieb eines optischen Lenkwinkelsensors | |
DE102017130000B4 (de) | Sicherer Multiturn-Drehgeber mit einer Multiturn-Einheit | |
EP2943748A1 (de) | Verfahren und vorrichtung zum verwalten von kartendaten einer digitalen karte einer navigationseinrichtung | |
DE102015121571A1 (de) | Optischer Sensor, insbesondere für Zylinder, sowie Verwendung | |
DE10204038B4 (de) | Verfahren zum Erkennen einer korrekten Befehls-Einsprung-Adresse bei Verwendung unterschiedlich langer Befehlsworte | |
EP2725325A1 (de) | Positionsmesssystem | |
WO2007033923A1 (de) | Datenverarbeitungsanlage und verfahren zum betrieb | |
EP1384144B1 (de) | Verfahren zum erkennen einer korrekten befehls-einsprung-adresse bei verwendung unterschiedlich langer befehlsworte | |
DE3623449C2 (de) | ||
EP2342539B1 (de) | Absolute positionsmessvorrichtung | |
DE10347608B4 (de) | Winkelcodierte Messmarken | |
EP1892639B1 (de) | Sichere Programmcodeausführung | |
DE102017002704A1 (de) | Verfahren und Vorrichtung zum Prüfen von Filterzigaretten in einem Verpackungsprozess | |
DE3505342A1 (de) | Verfahren zum automatischen eichen eines elektrischen messgeraetes mit potentiometrischen messketten, insbesondree ph-elektroden | |
WO1998032261A1 (de) | Verfahren zum erfassen einer an einer digitalen information ausgeübten manipulation | |
WO2021110284A1 (de) | Vorrichtung und verfahren zur bearbeitung von wertdokumenten, insbesondere banknoten, sowie wertdokumentbearbeitungssystem | |
DE1267888B (de) | Einrichtung zur UEberwachung des Programmablaufs in datenverarbeitenden Maschinen | |
DE102015003480A1 (de) | Vorrichtung und Verfahren zum Prüfen von Wertdokumenten, insbesondere Banknoten, sowie Wertdokumentbearbeitungssystem | |
DE4125050C2 (de) | Verfahren zum Erkennen von Übertragungsfehlern eines digitalisierten, bitsparend codierten Tonsignals | |
DE10240834A1 (de) | Verfahren zur logischen Plausibilisierung eines Inkrementrades eines Winkel- und/oder Phasensensors und Winkel- und/oder Phasensensor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |