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 PDF

Info

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
Application number
DE2002104038
Other languages
English (en)
Other versions
DE10204038A1 (de
Inventor
Gerd Dirscherl
Michael Smola
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE2002104038 priority Critical patent/DE10204038B4/de
Priority to TW91138042A priority patent/TW200302978A/zh
Priority to PCT/DE2003/000218 priority patent/WO2003065203A2/de
Publication of DE10204038A1 publication Critical patent/DE10204038A1/de
Application granted granted Critical
Publication of DE10204038B4 publication Critical patent/DE10204038B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction 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öffentlichten DE 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)

  1. 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.
  2. Verfahren nach Anspruch 1, bei dem am Beginn eines langen Befehlswortes nach einem ersten Startbit (a) ein zweites Startbit (b) folgt.
  3. 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.
  4. Verfahren nach Anspruch 3, bei dem dem dritten Startbit (a') ein viertes Starbit (b') folgt, das zum zweiten Startbit einen komplementären Wert aufweist.
DE2002104038 2002-02-01 2002-02-01 Verfahren zum Erkennen einer korrekten Befehls-Einsprung-Adresse bei Verwendung unterschiedlich langer Befehlsworte Expired - Fee Related DE10204038B4 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 株式会社ルネサステクノロジ データ処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
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