DE19524863A1 - Mikroprozessor mit eingebautem Abschnitt zur zyklischen Redundanzprüfung und Verfahren zum Ausführen von Operationen zur zyklischen Redundanzprüfung unter Verwendung von diesem - Google Patents
Mikroprozessor mit eingebautem Abschnitt zur zyklischen Redundanzprüfung und Verfahren zum Ausführen von Operationen zur zyklischen Redundanzprüfung unter Verwendung von diesemInfo
- Publication number
- DE19524863A1 DE19524863A1 DE19524863A DE19524863A DE19524863A1 DE 19524863 A1 DE19524863 A1 DE 19524863A1 DE 19524863 A DE19524863 A DE 19524863A DE 19524863 A DE19524863 A DE 19524863A DE 19524863 A1 DE19524863 A1 DE 19524863A1
- Authority
- DE
- Germany
- Prior art keywords
- circuit
- data
- bit
- input
- crc
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- 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
Description
Diese Anmeldung basiert auf der prioritätsbegründenden
japanischen Patentanmeldung Nr. Hei 6-156201, deren Offenba
rungsgehalt hiermit in vollem Umfang in den Offenbarungsge
halt vorliegender Anmeldung übernommen wird.
Diese Erfindung bezieht sich auf einen Mikrocomputer, der
CRC-Operationen (Operationen zur zyklischen Redundanzprüfung)
ausführen kann, der bei der Fehlerprüfung von Übertragungsda
ten und ähnlichem verwendet wird und der CRC-Kodes für solche
CRC-Operationen erzeugen kann.
Herkömmliche Mikroprozessoren erzeugen CRC-Kodes von
Übertragungsdaten und prüfen diese unter Verwendung von Hard
ware zum Erzeugen und Prüfen von CRC-Kodes für spezielle
Zwecke oder unter Verwendung einer vorhandenen arithmetischen
Schaltung innerhalb einer Recheneinheit (im folgenden "ALU"
genannt) in Verbindung mit Software zur Erzeugung und Prüfung
von CRC-Kodes, die ausgebildet wurde, indem vorhandene Be
fehle kombiniert wurden, die den jeweiligen arithmetischen
Schaltungen entsprechen.
Da jedoch wie im früheren Fall, in dem Hardware zur Er
zeugung und Prüfung von CRC-Kodes für spezielle Zwecke ver
wendet wurde, ein Funktionsschaltblock zum Erzeugen und Prü
fen von CRC-Kodes getrennt vom Funktionsblock des Mikropro
zessors hinzugefügt werden muß, treten durch das Hinzufügen
des Funktionsblocks für die CRC bedingt Probleme wie eine
komplizierte Zusammenbauarbeit und erhöhte Kosten auf; ein
solcher Fall ist zum Beispiel der, in dem ein an einem Fahr
zeug montiertes lokales Netzwerk (im folgenden "LAN" bezeich
net) aufgebaut wird, indem zahlreiche Steuervorrichtungen
durch Verbindungsleitungen verbunden werden, wobei jeder
Funktionsblock mit jeder der Steuervorrichtungen verbunden
werden muß.
Andererseits besteht im letzteren Fall, bei dem die Er
zeugung und Prüfung des CRC-Kodes auf Software basiert, nicht
die Notwendigkeit des Vorsehens eines speziellen CRC-Funk
tionsblocks; somit ergibt sich für die Vorrichtung ein einfa
cherer Aufbau. Zum Beispiel wird der Zusammenbau des vorste
hend beschriebenen, an einem Fahrzeug montierten lokalen
Netzwerkes einfacher; da jedoch komplizierte Berechnungspro
zesse ausgeführt werden müssen, um CRC-Kodes unter Verwendung
von Software zu erzeugen und zu prüfen, wird zur Erzeugung
und Prüfung von CRC-Kodes Zeit in Anspruch genommen; somit
treten Probleme, wie zum Beispiel ein Abfall bei der Übertra
gungs- und Empfangsgeschwindigkeit, auf.
Anders ausgedrückt würde beim Ausführen der Erzeugung und
der Prüfung von CRC-Kodes, da die Verarbeitung der Übertra
gungsdaten unter Verwendung eines komplizierten Polynoms aus
zuführen ist, die Ausführung der Erzeugung und Prüfung von
CRC-Kodes unter Verwendung der auf Software basierenden Her
angehensweise eine Menge Zeit in Anspruch nehmen; somit kann
diese Herangehensweise in den Fällen nicht verwendet werden,
in denen ein schnelles Ansprechen der Steuerungen erforder
lich ist, wie im Fall des vorstehend beschriebenen Fahrzeug
steuersystems.
Unter Berücksichtigung dieser Probleme besteht die Auf
gabe der vorliegenden Erfindung darin, die Erzeugung und Prü
fung von CRC-Kodes mit hoher Geschwindigkeit durch das Hinzu
fügen eines Abschnitts zum Prüfen und Erzeugen von CRC-Kodes
zum Mikroprozessor vorzunehmen. Ferner soll ein Mikroprozes
sor vorgesehen werden, der mit einer einfachen Struktur und
niedrigen Kosten implementiert werden kann.
In einer ersten Ausführungsform löst die vorliegende Er
findung diese Aufgabe, indem ein Mikroprozessor vorgesehen
wird, der eine Recheneinheit mit einer arithmetischen CRC-
Schaltung zum Erzeugen eines CRC-Kodes aufweist, die eine Ex
klusiv-Oder-Schaltung hat, die die Exklusiv-Oder Operationen
bei Daten ausführt, die in diese eingegeben wurden, wobei die
Exklusiv-Oder-Schaltung entlang eines Teils eines Pfades aus
gebildet ist, über den Bitdaten oder jeweilige Bitdaten der
Wort- oder Bytedaten in eine Schiebeschaltung eingegeben wer
den, die Wort- oder Bytedaten einschließlich Bitdaten ver
schiebt und deren Eingänge ein Bit von Daten, die dem Pfad
entsprechen, Bitdaten, die nach außen abgegeben werden, indem
die Wort- oder Bytedaten verschoben werden, und Bitdaten auf
weist.
Indem an einem Teil eines Pfades, über den jeweilige Bit
daten der Wort- oder Bytedaten, die zu verschieben sind, und
jeweilige Wort- oder Bytedaten, die jeweilige Bitdaten ver
schieben, einer Schiebeschaltung einer Recheneinheit (ALU)
zugeführt werden, eine Exklusiv-Oder-Schaltung vorgesehen
wird, die das Exklusiv-Oder des einen Bits der Daten, die dem
Pfad entsprechen, der Bitdaten von den Wort- oder Bytedaten,
die die Schiebeschaltung durch ihre Schiebeoperation abgibt,
und der Bitdaten berechnet, wird gemäß Vorbeschreibung eine
arithmetische CRC-Schaltung, die CRC-Kodes erzeugt und prüft,
in der ALU ausgebildet.
Kurz gesagt wird durch die Kombination der Schiebeschal
tung, die gewöhnlich in der ALU vorgesehen ist und zum Aus
führen von Schiebebefehlen, einem der Grundbefehle des Mikro
prozessors, verwendet wird, und der Exklusiv-Oder-Schaltung,
die ebenfalls gewöhnlich in der ALU vorgesehen ist, in der
ALU eine arithmetische CRC-Schaltung zum Berechnen der CRC-
Kodes ausgebildet.
Auf diese Weise führt die arithmetische CRC-Schaltung in
der ALU die Berechnungsfunktionen für die Berechnung der CRC-
Kodes unter Verwendung der arithmetischen CRC-Schaltung im
Ansprechen auf einen CRC-Berechnungsbefehl aus; das Erzeugen
und Prüfen der CRC-Kodes mit hoher Geschwindigkeit kann vor
genommen werden.
Da die arithmetische CRC-Schaltung gemäß Vorbeschreibung
ausgebildet wird, indem die Schiebe- und die Exklusiv-Oder-
Schaltungen kombiniert werden, die durch Festlegung gewöhn
lich in der ALU vorgesehen sind, kann die arithmetische CRC-
Schaltung einfach implementiert werden, indem nur ein Teil
der ALU des herkömmlichen Mikroprozessors ausgewechselt wird,
ohne daß die ALU vergrößert oder ihre Herstellungskosten er
höht werden.
Entsprechend einem weiteren Aspekt der Erfindung ist eine
Wahlschaltung entlang eines Eingabepfades vorgesehen, auf dem
sich die Exklusiv-Oder-Schaltung befindet; sie wählt zwischen
den Daten, die durch die Exklusiv-Oder-Schaltung ausgegeben
werden, und den Einbitdaten, die dem Pfad entsprechen, ent
sprechend dem Wahlbefehl aus und sieht die ausgewählten Daten
an der Schiebeschaltung vor.
Vorzugsweise sind alle Dateneingabepfade in die Schiebe
schaltung mit den Exklusiv-Oder- und den Wahlschaltungen ver
bunden.
Somit befindet sich eine Wahlschaltung, die die Daten in
die Schiebeschaltung eingibt, indem zwischen den Daten, die
durch die Exklusiv-Oder-Schaltung ausgegeben werden, und den
Einbitdaten, die dem Eingabepfad entsprechen, entsprechend
dem Wahlsignal ausgewählt wird, am Eingabepfad für die Daten
zur Schiebeschaltung, in dem die Exklusiv-Oder-Schaltung aus
gebildet ist.
Auf diese Weise arbeitet, wenn die Wahlschaltung die Da
ten, die dem Pfad entsprechen, unter Verwendung eines Wahlbe
fehls auswählt, die Schiebeschaltung als reguläre Schiebe
schaltung, die die Daten entsprechend dem Schiebebefehl ver
schiebt. Andererseits arbeitet, wenn die Wahlschaltung die
Daten, die aus der Exklusiv-Oder-Schaltung ausgegeben wurden,
auswählt, die Schiebeschaltung als arithmetische CRC-Schal
tung zum Berechnen der CRC-Kodes.
Kurz gesagt kann entsprechend dieser Erfindung die arith
metische CRC-Schaltung derart gestaltet werden, daß diese
durch auf Software basierendes Schalten entweder als arithme
tische CRC-Schaltung oder als reguläre Schiebeschaltung ar
beitet. Dementsprechend besteht nicht die Notwendigkeit, mit
Ausnahme der regulären Schiebeschaltung in der ALU, eine ge
trennte Schiebeschaltung zum Berechnen der CRC-Kodes vorzuse
hen; somit kann der Aufbau der ALU einfacher werden.
Da die Exklusiv-Oder-Schaltung und die Wahlschaltung für
die jeweiligen Dateneingabepfade zur Schiebeschaltung vorge
sehen sind, kann nicht nur die Funktion der Schiebeschaltung
entweder als arithmetische CRC-Schaltung oder als reguläre
Schiebeschaltung vorgesehen werden, sondern kann zusätzlich,
wenn die Schiebeschaltung als arithmetische CRC-Schaltung ar
beitet, der Typ des CRC-Kodes, der durch die CRC-Erzeugungs
schaltung zu erzeugen ist, durch das willkürliche Einstellen
der Werte, die durch die jeweilige Wahlschaltung auszuwählen
sind, willkürlich eingestellt werden.
Anders ausgedrückt kann, wenn die arithmetische CRC-
Schaltung am Dateneingabepfad zur Schiebeschaltung eine Ex
klusiv-Oder-Schaltung aufweist, da das Erzeugungspolynom für
die CRC-Kode-Erzeugung durch den Pfad bestimmt wird, der mit
der Exklusiv-Oder-Schaltung versehen ist, die Exklusiv-Oder-
Schaltung und die Wahlschaltung für die jeweiligen aller Ein
gabepfade vorgesehen sind und das Einstellen der jeweiligen
Daten, die durch die jeweilige Wahlschaltung durch den Wahl
befehl auszuwählen sind, möglich ist, die CRC-Kode-Erzeu
gungs-Polynomgleichung durch Software eingestellt werden; so
mit ist es möglich, den Typ des CRC-Kodes, der durch den Be
rechnungsbefehl erhalten wird, willkürlich einzustellen.
Somit kann in einem bevorzugten Ausführungsbeispiel der
vorliegenden Erfindung das Erzeugungspolynom, das zum Erzeu
gen und Prüfen der CRC-Kodes verwendet wird, entsprechend der
Mikroprozessoranwendung, dem Übertragungsformat des LAN, das
mit dem Mikroprozessor verbunden ist, und ähnlichem geändert
oder verändert werden; somit ist der Geltungsbereich der An
wendung des Mikroprozessors vergrößert.
Zusätzliche Vorteile der vorliegenden Erfindung werden
aus der folgenden detaillierten Beschreibung ihrer bevorzug
ten Ausführungsbeispiele schneller deutlich, wenn diese im
Zusammenhang mit den beiliegenden Zeichnungen betrachtet
wird, in denen:
Fig. 1 den Aufbau und die Operation einer arithmetischen
CRC-Schaltung entsprechend einem bevorzugten Ausführungsbei
spiel der vorliegenden Erfindung zeigt,
Fig. 2 ein Blockschaltbild ist, das den Aufbau eines ge
samten Mikroprozessors entsprechend diesem Ausführungsbei
spiel zeigt,
Fig. 3 den Aufbau und die Operation einer herkömmlichen
Schiebeschaltung zeigt,
Fig. 4 ein Flußbild der Verarbeitungsprozedur zeigt,
wenn ein CRC-Kode unter Verwendung der CRC-Berechnungsschal
tung dieses Ausführungsbeispiels erzeugt wird,
die Fig. 5A und 5B ein Beispiel eines CRC-Kodes zei
gen, der entsprechend dem Flußbild von Fig. 4 erzeugt wird,
Fig. 6 ein Flußbild der Verarbeitungsprozedur zeigt,
wenn ein CRC-Kode unter Verwendung der CRC-Berechnungsschal
tung dieses Ausführungsbeispiels geprüft wird, und
Fig. 7 ein Beispiel eines CRC-Kodes zeigt, der zur Prü
fung verwendet wird, die entsprechend dem Flußbild von Fig.
6 vorgenommen wird.
Ein zur Zeit bevorzugtes Ausführungsbeispiel dieser Er
findung ist nachstehend im Zusammenhang mit den beiliegenden
Zeichnungen beschrieben.
Fig. 2 ist ein Blockschaltbild, das einen Einchipmikro
prozessor entsprechend einem Ausführungsbeispiel der Erfin
dung zeigt.
Wie es in Fig. 2 gezeigt ist, ist der Mikroprozessor
eines bevorzugten Ausführungsbeispiels dieser Erfindung ein
8-Bit-Mikroprozessor, der eine CPU 10, einen Programmspeicher
12, der sich aus einem ROM zusammensetzt, einen Datenspeicher
14, der sich aus einem RAM zusammensetzt, einen Ein
gabe/Ausgabe- oder E/A-Abschnitt 16, einen Taktgeber (nicht
gezeigt), der ein nachstehend erläutertes CPU-Schaltsignal
erzeugt, einen 8-Bit-Datenbus 18, der Daten sendet und emp
fängt, einen Adreßbus 20, der ein Adreßsignal sendet und emp
fängt, und Steuerbusse 22, 24 aufweist, die Lese- bzw.
Schreibsignale senden und empfangen.
Außerdem ist zum Ausführen der parallelen Zeitmultiplex-
Fließbandverarbeitung von zwei Typen von Aufgaben (die im
folgenden als L-Aufgabe und A-Aufgabe bezeichnet werden) die
CPU mit zwei Adreßregistern 26, 28 und zwei arithmetischen
Registern 30, 32 versehen; durch das alternative Schalten
dieser Adreßregister 26, 28 und der arithmetischen Register
30, 32 unter Verwendung des CPU-Schaltsignals, das durch den
Taktgeber erzeugt wird, arbeitet die CPU effektiv, als ob
diese aus zwei CPUs, CPU0 und CPU1, besteht, während alter
nierend zwischen diesen geschaltet wird.
Ferner sind in diesem Ausführungsbeispiel der Adreßregi
ster 26 und der arithmetische Register 30 die Register für
die CPU0 (für die L-Aufgabe), während der andere Adreßregi
ster 28 und arithmetische Register 32 die Register für die
CPU1 (für die A-Aufgabe) sind. Der Wert des Programmzählers
34 (das heißt die Adresse des nächsten abzurufenden Befehls)
wird entsprechend dem Schalten der Adreßregister 26, 28 ak
tualisiert; die Adreßsignale der CPU0 (für die L-Aufgabe) und
der CPU1 (für die A-Aufgabe) werden vom Programmzähler 34 zum
Programmspeicher 12 alternierend ausgegeben.
Darüber hinaus sind eine Fehlererfassungsschaltung 36,
die den Typ der Aufgabe identifiziert, zu der der Befehl, der
vom Programmspeicher 12 gelesen wurde, gehört, und die die
Fehler darin erfaßt, und ein Befehlsdekodie
rer/Befehlssequenzer 38, der den Befehl dekodiert, der durch
die Fehlererfassungsschaltung 36 gegangen ist, in der CPU 10
vorgesehen. Auf dem Inhalt des Befehls, der durch den Be
fehlsdekodierer/Befehlssequenzer 38 dekodiert wurde, basie
rend werden unter Verwendung der arithmetischen Register 30,
32 der arithmetischen Einheit 40, die als Recheneinheit ar
beitet, Berechnungen ausgeführt; Lese- oder Schreibsignale
werden zum Steuerbus 22, 24 ausgegeben.
Andererseits sind ein Programmbereich 42 für die CPU0
(für die L-Aufgabe), ein Programmbereich 44 für die CPU1 (für
die A-Aufgabe) und ein Sofortadreßbuchdatenbereich 46 im Pro
grammspeicher 12 vorgesehen. Für diesen Fall besteht die L-
Aufgabe, die im Programmbereich 42 für die CPU0 gespeichert
ist, aus einem Festschleifenprogramm, das Sprungbefehle ver
hindert, die zu weglaufenden Programmen führen. Dementspre
chend startet bei der Ausführung der Programme der L-Aufgabe
die Ausführung bei der 0-Adresse und setzt sich über die auf
einanderfolgende Ausführung der Befehle in der 1-Adresse, der
2-Adresse, der 3-Adresse, . . . fort, bis daß diese eine vorbe
stimmte Adresse erreicht, in der der Programmzähler 34 über
läuft und zur 0-Adresse zurückkehrt; wobei die Befehle wie
derholt in der gleichen Abfolge wie vorstehend beschrieben
ausgeführt werden. Es ist festzuhalten, daß für die L-Aufgabe
die Befehle auf Einwortbefehle beschränkt sind. Der Grund da
für besteht darin, daß in einem Befehlssystem, in dem die An
zahl der Wörter für den Befehl nicht festgelegt ist (zum Bei
spiel ein Befehlssystem, in dem sowohl Einwortbefehle als
auch Zweiwortbefehle vorliegen), wenn ein Zweiwortbefehl un
genau gelesen und als Einwortbefehl interpretiert wird, da
das nächste Wort nicht notwendigerweise einen sinnvollen Be
fehl darstellt, keine Anzeige dafür vorliegt, was als näch
stes auszuführen ist.
Das Programm der L-Aufgabe, die zum Ausführen von aufein
anderfolgend gesteuerten Prozessen geeignet ist, enthält ein
Programm zum Überwachen des Weglaufens der anderen Aufgabe,
die die A-Aufgabe ist, und ein Sicherungssequenzprogramm, um
im System Fail-Safe-Funktionen zu implementieren. Ferner ist
die L-Aufgabe ebenso mit einer Timer-Funktion versehen, die
unter Verwendung einer festen Schleife, zum Beispiel der Er
zeugung eines Timerinterrupts, wenn der Zählerwert nach dem
Ausführen der Inkrementier- oder Dekrementierbefehle einen
vorbestimmten Wert erreicht, implementiert ist; somit ist
eine Festzeitverarbeitung, die einem Timerinterrupt ent
spricht, möglich.
Die A-Aufgabe gestattet andererseits Sprungbefehle, die
in der L-Aufgabe nicht gestattet sind, und ist für komplexe
analytische und mathematische Verarbeitung geeignet. In der
gleichen Weise wie für die L-Aufgabe ist die Länge der Be
fehle für die A-Aufgabe ebenfalls auf jeweils ein Wort be
grenzt. Für die A- und L-Aufgabe befinden sich der Opera
tionskode und der Operand (die Adresse) beide jeweils in
einem Wort.
Auch ist ein Aufgabenidentifikationsbit zum Identifizie
ren des Typs der Aufgabe für jeden der Befehle der CPU0 und
der CPU1, die im Programmspeicher 12 vorhanden sind, vorgese
hen, zum Beispiel als signifikantestes Bit ("MSB"). In diesem
Ausführungsbeispiel ist das Aufgabenidentifikationsbit als
Paritätsbit eingestellt, bei dem die L-Aufgabe ungerade Pari
tät hat, während die A-Aufgabe gerade Parität hat. Für diesen
Fall wird nicht nur die Aufgabenidentifikation, sondern auch
das Befehlskodeprüfen, umgesetzt. Entsprechend diesem Ziel
identifiziert die Fehlererfassungsschaltung 36 durch die Pa
ritätsprüfung den Typ der Aufgabe, zu der der Befehl, der vom
Programmspeicher 12 gelesen wurde, gehört, erfaßt die Fehler
darin und bestimmt, ob ein unvorhergesehener Fehler verur
sacht hat, daß die Ausführung einer anderen Aufgabe irrtümli
cherweise gestartet wurde.
Das heißt, daß die Fehlererfassungsschaltung 36, die aus
einer Aufgabenidentifikationsschaltung, einer Fehlerflag
schaltung, einer Nicht-Operation ("NOP")-Kodeschaltung, einem
Paar von Übertragungsgattern vom High-aktiv-Typ und Low-ak
tiv-Typ und ähnlichem (nicht gezeigt) besteht, durch die Pa
ritätsprüfung den Typ der Aufgabe identifiziert, zu dem der
Befehl, der vom Programmspeicher 12 gelesen wurde, gehört
(und zwar wird die Aufgabe als L-Aufgabe identifiziert, wenn
die Parität ungerade ist, und als A-Aufgabe identifiziert,
wenn die Parität gerade ist). Das Identifikationsergebnis
wird mit dem CPU-Schaltsignal verglichen, um zu bestimmen, ob
ein Fehler aufgetreten ist oder nicht; wenn ein Fehler aufge
treten ist, wird zusammen mit dem Rücksetzen des Adreßregi
sters der Aufgabe, wo der Fehler aufgetreten ist, ein Fehler
signal (zum Beispiel ein hochpegliges Signal) zur Fehlerflag
schaltung ausgegeben; gleichzeitig wird das Fehlersignal
ebenfalls an den Steueranschluß des Paares von Übertragungs
gattern angelegt, während das High-aktive Übertragungsgatter
eingeschaltet ist und das NOP-Kodesignal von der NOP-Schal
tung zum Befehlsdekoder/Befehlssequenzer 38 ausgegeben wird,
während das Low-aktive Übertragungsgatter ausgeschaltet wird;
somit wird der Übergang des Befehls zum Befehlsdeko
der/Befehlssequenzer 38 verhindert. Als Ergebnis wird für den
Fall, in dem ein unvorhergesehener Fehler aufgetreten ist,
wie zum Beispiel eine Störung usw., die durch einen Fehler
zum Springen zu der Adresse einer anderen Aufgabe und zum Be
ginnen der Ausführung des Befehls darin führt, die NOP sofort
in nur einem Befehlszyklus ausgeführt; somit wird die Zerstö
rung des Speichers und der Anschlußdaten vor dem Auftreten
verhindert. Darüber hinaus hält, wenn kein Fehler aufgetreten
ist, die Fehlererfassungsschaltung 36 den Ausgang der Aufga
benidentifikationsschaltung auf niedrigem Pegel, schaltet das
High-aktive Übertragungsgatter aus und verhindert die Über
tragung des NOP-Kodes, während das Low-aktive Übertragungs
gatter eingeschaltet wird und die Übertragung der Befehle zum
Befehlsdekoder/Befehlssequenzer 38 gestattet wird.
Auf diese Weise scheint entsprechend diesem Ausführungs
beispiel die CPU zu arbeiten, als ob diese zwei CPUs schaltet
und bewegt; somit wird die Ausführung von Fließbandverarbei
tung möglich; darüber hinaus können, wenn die Länge aller Be
fehle auf ein Wort festgelegt ist, indem sowohl der Opera
tionskode als auch der Operand einem Wort zugewiesen werden,
Probleme, die auftreten, wenn der Befehl eine Mehrwortstruk
tur hat, (zum Beispiel ein Weglaufen der Programme, die Zer
störung von entscheidenden Informationen in dem Datenspeicher
durch Fehler bei der Erkennung des Operationskodes und des
Operators, oder Probleme, die durch Adreßfehler und ähnliches
verursacht werden, die mit Beginn der Ausführung des Pro
gramms den Sprung der Programmadresse zur Adresse des tabel
larisch angrenzenden Datenbereiches 46 veranlassen, wobei der
angrenzende Wert 46 der Tabelle als Operationskode behandelt
wird) im voraus verhindert werden. Die Struktur der Rechen
einheit 40, die Hauptteil dieser Erfindung ist, wird nachste
hend erläutert.
Der Mikroprozessor kann über den E/A-Abschnitt 16 Daten
mit anderen Mikroprozessoren austauschen; beim Ausführen die
ses Datenaustausches wird die Recheneinheit 40 mit der arith
metischen CRC-Schaltung versehen, die den CRC-Kode erzeugt,
der an die zu übertragenden Daten anzufügen ist, um zu prü
fen, ob die Daten korrekt sind oder nicht, und die den CRC-
Kode prüft, der an die empfangenen Daten angefügt ist.
Diese arithmetische CRC-Schaltung, wie diese in Fig. 1
gezeigt ist, wird ausgebildet, indem die Schiebeschaltung
SFT, die Bytedaten einschließlich Bitdaten entsprechend einem
Schiebebefehl verschiebt und herkömmlicherweise in der Re
cheneinheit 40 installiert ist, um die Befehle des Mikropro
zessors aus zuführen, die Exklusiv-Oder-Schaltung EXOR zum
Ausführen der Exklusiv-Oder-Berechnungen an den Eingangsdaten
entsprechend Exklusiv-Oder-Befehlen, und die Wahlschaltung
SL, die ein oder zwei Dateneingänge entsprechend einem Wahl
befehl auswählt, kombiniert werden.
Während die Schiebeschaltung die Bytedaten [0]-[7] zur
Seite des höchsten Bits [7] (oder niedrigsten Bits [0]) ver
schiebt, und zwar ein Bit zu einem Zeitpunkt, der sich an den
Schiebebefehl anschließt, und das höchste Bit [7] (oder nied
rigste Bit [0]), das durch die Verschiebung verschoben wurde,
als Bitdaten nach der Berechnung [RR] setzt, indem die Bitda
ten, die im Bitdatenspeicherbereich im arithmetischen Regi
ster [RR] gespeichert sind, in das niedrigste Bit [0] (oder
höchste Bit [7]) der Bytedaten eingegeben werden, die im
Bytedatenspeicherbereich des arithmetischen Registers gespei
chert sind, verwendet die arithmetische CRC-Schaltung dieses
Ausführungsbeispiels als ihre Schiebeschaltung, wie es in
Fig. 3 gezeigt ist, die Schiebeschaltung (kurz gesagt, die
Schiebeschaltung, die in Fig. 3 gezeigt ist), die die Daten
zur Seite des höchsten Bits verschiebt.
Die arithmetische CRC-Schaltung wird ausgebildet, indem
entlang jedes Datenpfades zur Schiebeschaltung SFT
(insbesondere entlang jedes der Pfade, die die Bitdaten [RR],
die zweiten Bitdaten von der unteren Seite der Bytedaten [1],
die dritten Daten von dieser [2] und die vierten Daten [3]
eingeben), Exklusiv-Oder-Schaltungen EXORa-EXORd, die das Ex
klusiv-Oder der Daten berechnen, die jedem Pfad [RR], [1],
[2] und [3] entsprechen, wobei die Bitdaten [RR] und die Da
ten des höchsten Bits [7] nach außen verschoben werden, wenn
die Schiebeschaltung SFT die Schiebeoperationen ausführt,
Wahlschaltungen SLa-SLd, die entweder die Ausgänge jeder Ex
klusiv-Oder-Schaltung EXORa-EXORd oder die Daten [RR], [1],
[2] oder [3] wählen, die dem jeweils entsprechenden Pfad zur
Eingabe von Daten in die Schiebeschaltung SFT entsprechen,
und ferner die Wahleinrichtung SLe positioniert wird, die
zwischen dem höchsten Bit [7], das verschoben wird, wenn die
Schiebeschaltung SFT ihre Berechnungen durchführt, und den
Bitdaten [RR] wählt und die ihre Wahl in die Schiebeschaltung
SFT eingibt.
Für die arithmetische CRC-Schaltung dieses Ausführungs
beispiels, die auf diese Weise aufgebaut ist, werden, wenn
der Schiebebefehl eingegeben wird, alle Wahlschaltungen SLa-
SLe zu der Seite geschaltet, wo diese die Eingangsdaten aus
wählen, die an der rechten Seite (und zwar die Daten [RR],
[1], [2], [3] und [7], die dem jeweiligen Pfad entsprechen)
der entsprechenden Wahlschaltungen von Fig. 1 anliegen; die
Schiebeschaltung führt die Schiebeoperation aus. Als Ergebnis
arbeitet die arithmetische CRC-Schaltung als reguläre Schie
beschaltung, die in Fig. 3 gezeigt ist, wo die Bytedaten
[0]-[7] unter Verwendung der Bitdaten [RR] einzeln zur Seite
des höchsten Bits verschoben werden.
Für die arithmetische CRC-Schaltung werden andererseits,
wenn der arithmetische CRC-Befehl eingegeben wird, alle Wahl
schaltungen SLa-SLe zu der Seite geschaltet, wo diese die
Eingangsdaten auswählen, die an der linken Seite (und zwar
die Ausgangsdaten der Exklusiv-Oder-Schaltungen EXORa-EXORd
und die Bitdaten [RR]) der Wahlschaltungen von Fig. 1 vor
liegen; bei der Ausführung der Schiebeoperationen durch die
Schiebeschaltung SFT werden die Bytedaten [0]-[7] nach dem
Ausführen der arithmetischen Operation durch die Gleichungen
(1)-(8) gesetzt. Es ist festzuhalten, daß die Gleichungen
(1)-(8) den Inhalt der Operationen bei den Daten [0]-[7] und
den Bitdaten [RR] unter Verwendung der arithmetischen CRC-Be
fehle der arithmetischen CRC-Schaltung zeigen und daß das
Symbol ⊕ die Exklusiv-Oder-Operation anzeigt.
Daten [0] ← Daten [7] ⊕ Bitdaten [RR] (1)
Daten [1] ← Daten [0] (2)
Daten [2] ← Daten [7] ⊕ Bitdaten [RR] ⊕ Bitdaten [1] (3)
Daten [3] ← Daten [7] ⊕ Bitdaten [RR] ⊕ Bitdaten [2] (4)
Daten [4] ← Daten [7] ⊕ Bitdaten [RR] ⊕ Bitdaten [3] (5)
Daten [5] ← Daten [4] (6)
Daten [6] ← Daten [5] (7)
Daten [7] ← Daten [6] (8).
Daten [1] ← Daten [0] (2)
Daten [2] ← Daten [7] ⊕ Bitdaten [RR] ⊕ Bitdaten [1] (3)
Daten [3] ← Daten [7] ⊕ Bitdaten [RR] ⊕ Bitdaten [2] (4)
Daten [4] ← Daten [7] ⊕ Bitdaten [RR] ⊕ Bitdaten [3] (5)
Daten [5] ← Daten [4] (6)
Daten [6] ← Daten [5] (7)
Daten [7] ← Daten [6] (8).
Diese Datenoperationen entsprechen dem Polynom
[X⁸+X⁴+X³+X²+1] zum Erzeugen eines CRC-Kodes; die Bytedaten
nach der Berechnung unter Verwendung dieser arithmetischen
CRC-Schaltung [0]-[7] werden die CRC-Erzeugungsdaten. Kurz
gesagt wird, wenn die arithmetische CRC-Schaltung wie vorste
hend im Ansprechen auf den CRC-Berechnungsbefehl betrieben
wird, die arithmetische CRC-Schaltung entsprechend der Bitpo
sition (in diesem Ausführungsbeispiel [1], [2], [3], [4]) der
Bytedaten während der Schiebeoperation nach dem Addieren von
[Daten [7] ⊕ Bitdaten [RR]] durch die Verwendung der Exklu
siv-Oder-Schaltungen EXORa-EXORb eine Schaltung, die ein Er
zeugungspolynom umsetzt; entsprechend diesem Erzeugungspo
lynom können die CRC-Erzeugungsdaten erzeugt werden. Für das
Erzeugungspolynom [X⁸+X⁴+X³+X²+1], das durch die arithme
tische CRC-Schaltung umgesetzt wird, drückt der Term [X⁸] ein
Erzeugungspolynom vom achten Grad aus, das sich mit der Posi
tion der Exklusiv-Oder-Schaltung EXOR nicht überdeckt.
Als nächstes werden unter Verwendung der arithmetischen
CRC-Schaltung dieses Ausführungsbeispiels die CRC-Kodeerzeu
gungsprozedur zum Anfügen der CRC-Kodes an die Übertragungs
daten und die CRC-Prüfungsprozedur erläutert, die den an die
aufgenommenen Daten angefügten CRC-Kode nutzt, um zu bestim
men, ob in den aufgenommenen Daten eine Unregelmäßigkeit
durch Störungen und ähnliches während der Datenübertragung
auftritt.
Fig. 4 ist ein Flußbild, das die Schritte zum Erzeugen
des CRC-Kodes zeigt.
Wie es in Fig. 4 gezeigt ist, wird während der Erzeugung
des CRC-Kodes als erstes in Schritt 110 die Adresse des Da
tenspeichers 14 zum Speichern des CRC-Kodes als zum Beispiel
[$CRC.G] gesetzt; als nächstes wird in Schritt 120 der An
fangswert des Speicherbereiches der Adresse [$CRC.G] [FF] ge
setzt. [FF] ist ein Hexadezimalausdruck, während der äquiva
lente Binärausdruck [11111111] sein würde.
Als nächstes wird in Schritt 130 ein Bit der Daten der
Übertragungsdaten bei Beginn mit dem höchsten Bit zum Spei
cherbereich der Bitdaten [RR] des arithmetischen Registers 30
oder 32 übertragen. Zum Beispiel werden unmittelbar nach Be
ginn der CRC-Kodeerzeugung die Daten des signifikantesten
Bits zum arithmetischen Register 30 oder zum arithmetischen
Register 32 als Bitdaten [RR] übertragen.
Auf diese Weise wird nach der Übertragung eines Bits der
Übertragungsdaten zu einem der arithmetischen Register 30 und
als Bitdaten [RR] Schritt 140 ausgeführt, indem die Daten
innerhalb [$CRC.G], der in Schritt 110 vorstehend als Spei
cherbereich für den CRC-Kode gesetzt wurde, als Bytedaten ge
setzt werden; es wird der CRC-Befehl zum Ausführen der arith
metischen Operation der arithmetischen CRC-Schaltung, zum
Beispiel [CRC $CRC.G], erzeugt.
Dann werden im folgenden Schritt 150 die Daten, die als
die Bitdaten [RR] zum arithmetischen Register 30 oder zum
arithmetischen Register 32 in Schritt 130 übertragen wurden,
geprüft, um zu bestimmen, ob diese die niedrigsten Daten
sind; anders ausgedrückt wird geprüft, ob diese das letzte
Bit der CRC-Kode-Erzeugung sind; wenn diese es nicht sind,
wird $CRC.G auf den CRC-Kode, der in Schritt 140 berechnet
wurde, gesetzt; der Schritt 130 wird erneut ausgeführt, wobei
ein Bit, das eine Position niedriger als die vorhergehenden
Daten, die zum Register 30 oder 32 als Bitdaten [RR] übertra
gen wurden, ist, zum Register 30 oder 32 als neue Bitdaten
[RR] übertragen wird; dann wird in Schritt 140 ein arithmeti
scher CRC-Befehl erzeugt.
Als Ergebnis wird für die arithmetische CRC-Schaltung,
wobei der Wert [FF] (Hexadezimalausdruck) als Anfangswert
(Bytedaten) verwendet wird, der CRC-Kode aufeinanderfolgend,
wobei mit dem höchsten Bit der Übertragungsdaten begonnen
wird, unter Verwendung des vorstehend erzeugten Polynoms be
rechnet.
Wenn andererseits in Schritt 150 bestimmt wird, daß die
Einbitdaten, die zum Register 30 oder 32 als Bitdaten [RR]
übertragen werden, während der CRC-Kodeerzeugung das ab
schließende Bit sind, schließt sich Schritt 160 an. In diesem
Schritt wird jedes der Bits des erzeugten Wertes des CRC-
Kodes, der durch die CRC-Kode-Berechnungsoperation abgeleitet
wurde, invertiert; dieser invertierte Wert wird als CRC-Kode
eingestellt, um an die Übertragungsdaten angefügt zu werden.
Auf diese Weise wird die Erzeugung des CRC-Kodes durch
die folgende Prozedur ausgeführt, in der als erstes [FF] als
Anfangswert des CRC-Kodes (kurz gesagt die Bytedaten) und als
die Bitdaten [RR] gesetzt wird; Übertragungsdaten werden auf
einanderfolgend als ein Bit zu einem Zeitpunkt übertragen,
wobei mit dem höchsten Bit der Übertragungsdaten begonnen
wird, wobei die CRC-Berechnung durch die arithmetische CRC-
Schaltung aufeinanderfolgend durchgeführt wird, bis daß die
Berechnung für alle Bits der Daten der Übertragungsdaten be
endet ist. Wenn die Berechnung beendet ist, wird der erzeugte
Wert des CRC-Kodes invertiert. Aus diesem Grund kann der CRC
für jede Anzahl an Bytes der Übertragungsdaten unter Verwen
dung des Erzeugungspolynoms berechnet werden.
Zum Beispiel zeigt Fig. 5 die Übertragungsdaten und den
CRC-Kode, der durch die Berechnungsschaltung dieses Ausfüh
rungsbeispiels erzeugt wird; diesem kann entnommen werden,
daß, selbst wenn die Bytedaten drei Bytes von Daten, von den
Bytedaten Daten0 zu den Bytedaten Daten2, oder selbst vier
Bytes von Daten, von den Bytedaten Daten0 zu den Bytedaten
Daten3, haben, der CRC-Kode erzeugt werden kann, indem die
CRC-Berechnung für die einzelnen Bytedaten ausgeführt wird,
wobei vom höchsten Bit begonnen wird.
Fig. 5A zeigt die Datenstruktur der Übertragungsdaten
während der Datenübertragung. Die Übertragungsdaten von den
Bytedaten Daten0 zu den Bytedaten Daten n, die dem CRC-Kode
(CRC.G) beigefügt sind, der durch den vorstehend beschriebe
nen CRC-Kode-Erzeugungsprozeß erzeugt wird, werden zu den an
deren Einheiten als Übertragungsdaten übertragen. Außerdem
zeigt Fig. 5B das Berechnungsergebnis des CRC-Kodes; zum
Beispiel wird, wenn die Übertragungsdaten aus drei Bytes von
Daten Daten0-Daten3 bestehen, die hexadezimal ausgedrückt
[F2], [01] und [83] sind, der Hexadezimalausdruck [37] als
CRC-Kode gesetzt.
Fig. 6 ist ein Flußdiagramm, das den CRC-Prüfprozeß
zeigt, um die CRC-Prüfungen an den aufgenommenen Daten auszu
führen.
Wie es in Fig. 4 gezeigt ist, wird, wenn die CRC-Prüfun
gen ausgeführt werden, als erstes in Schritt 210 die Adresse
des Datenspeichers 14 zum Speichern des CRC-Kodes zum CRC-
Prüfen (auf den sich nachfolgend einfach als Prüfkode bezogen
wird) auf zum Beispiel [$CRC.C] gesetzt; im folgenden Schritt
220 wird ein Anfangswert [FF] an die [$CRC.C] Adresse ge
setzt.
Dann wird im folgenden Schritt 230 ein Bit von Daten der
aufgenommenen Daten, wobei mit dem höchsten Bit begonnen
wird, zum Speicherbereich der Bitdaten [RR] des Registers 30
oder 32 übertragen; im nächsten Schritt, dem Schritt 240,
wird mit den Daten, die in [$CRC.C] gespeichert sind, der im
vorstehenden Schritt 210 als Speicherbereich des Prüfkodes
des Datenspeichers 14, der als Bytedaten gesetzt wurde, ge
setzt wurde, der CRC-Berechnungsbefehl erzeugt, damit die
arithmetische CRC-Schaltung die arithmetische Operation des
CRC-Kodes ausführt, zum Beispiel [CRC, $CRC.C].
Dann werden in Schritt 250 die Daten, die in Schritt 230
als Bitdaten [RR] des Registers 30 oder 32 gesendet wurden,
geprüft, um zu sehen, ob es das abschließende Bit der aufge
nommenen Daten ist; anders ausgedrückt werden die Daten ge
prüft, um zu sehen, ob diese das niedrigste Bit des CRC-
Kodes, der den aufgenommenen Daten beigefügt ist, sind; wenn
dem nicht so ist, wird $CRC.G auf den Wert des berechneten
CRC-Kodes gesetzt; die Steuerung geht erneut zu Schritt 230;
ein Bit der Daten, das eine Position niedriger als das Bit
der Daten ist, das zuvor zum arithmetischen Register 30 oder
32 als Bitdaten [RR] gesendet wurde, wird als neue Bitdaten
[RR] zum arithmetischen Register 30 oder 32 gesendet; in
nächsten Schritt, dem Schritt 240, wird der CRC-Berechnungs
befehl erzeugt.
Als Ergebnis wird in der arithmetischen CRC-Schaltung,
wobei der Wert [FF] (Hexadezimalausdruck) als Anfangswert
(Bytedaten) verwendet wird, der Prüfkode unter Verwendung des
vorstehenden Erzeugungspolynoms berechnet, wobei aufeinander
folgend vom höchsten Bit der aufgenommenen Daten begonnen
wird.
Andererseits geht in Schritt 250, wenn ein Bit der Daten,
die zum arithmetischen Register 30 oder 32 als Bitdaten [RR]
gesendet werden, als das letzte Bit der aufgenommenen Daten
bestimmt wird, die Steuerung zu Schritt 260. Dann wird in
Schritt 260 der Prüfkode, der aus den vorstehenden arithme
tischen Operationen abgeleitet wurde, geprüft, um zu sehen,
ob dieser gleich einem vorbestimmten Wert ist (der der Hexa
dezimalausdruck [C4] in diesem Ausführungsbeispiel ist); wenn
der Prüfkode gleich einem vorbestimmten Wert ist [C4], werden
in Schritt 270 die aufgenommenen Daten als normal bestimmt;
wenn der Prüfkode ungleich dem vorbestimmten Wert [C4] ist,
werden in Schritt 280 die aufgenommenen Daten als abnorm be
stimmt. Nach diesen Operationen wird der CRC-Prüfprozeß been
det.
Kurz gesagt ist, wie es in Fig. 5A und Fig. 5B gezeigt
ist, wenn die Übertragungsdaten, denen ein CRC-Kode beigefügt
ist, aufgenommen werden, bei normaler Ausführung der Daten
übertragung der Prüfkode (CRC.C), der wie im vorstehend be
schriebenen Prozeß erzeugt wird, gleich dem vorbestimmten Be
trag, wie es in Fig. 7 gezeigt ist; somit wird für den CRC-
Prüfprozeß die Korrektheit der aufgenommenen Daten bestimmt,
indem geprüft wird, um zu sehen, ob der Prüfkode, der in der
vorstehenden Weise aus den aufgenommenen Daten erzeugt wurde,
den vorbestimmten Wert [C4] hat.
Es ist festzuhalten, daß der Prüfkode [C4] ist, da das
Erzeugungspolynom des CRC-Kode [X⁸+X⁴+X³+X²+1] gesetzt wurde;
somit muß bei Verwendung eines unterschiedlichen Erzeugungs
polynoms ein Prüfkode, der diesem Polynom entspricht, auf den
vorbestimmten Wert gesetzt werden.
Gemäß Vorbeschreibung ist für den Mikroprozessor dieses
Ausführungsbeispiels die arithmetische CRC-Schaltung, die den
CRC-Berechnungsbefehlen bei der Ausführung der Erzeugung und
des Prüfens des CRC-Kodes folgt, im Berechnungselement 40 in
stalliert, das als Recheneinheit (ALU) wirkt.
Dementsprechend besteht bei einem Mikroprozessor entspre
chend dieser Erfindung, wenn dieser die Erzeugung und die
Prüfung des CRC-Kodes ausführt, nicht die Notwendigkeit,
einen getrennten, für einen speziellen Zweck geschaffenen
Block für die CRC vorzusehen; somit kann die Erzeugung und
Prüfung des CRC-Kodes mit einem Einchipmikroprozessor vorge
nommen werden.
Da die Berechnung unter Verwendung des Erzeugungspolynoms
zum Erzeugen und Prüfen des CRC-Kodes im Unterschied zur her
kömmlichen Vorrichtung, bei der dieses durch ein auf Software
basierendes Verfahren zum Kombinieren von Grundbefehlen aus
geführt wird, einfach ausgeführt werden kann, indem die
arithmetische CRC-Schaltung, die sich in der Recheneinheit 40
befindet, unter Verwendung von CRC-Berechnungsbefehlen be
trieben wird, außerdem in einem Mikroprozessor entsprechend
dieser Erfindung die Erzeugung und Prüfung des CRC-Kodes
nicht nur mit nur einem Einchipmikroprozessor ausgeführt wer
den, sondern kann auch die Berechnung der Erzeugung und Prü
fung des CRC-Kodes mit hoher Geschwindigkeit ausgeführt wer
den.
Daher kann ein Mikroprozessor entsprechend der vorliegen
den Erfindung in den Fällen angewendet werden, in denen die
Datenübertragung mit hoher Geschwindigkeit notwendig ist, zum
Beispiel in einer Steuervorrichtung, die einen Knoten eines
an einem Fahrzeug montierten lokalen Netzwerkes bildet.
Ferner führt die arithmetische CRC-Schaltung dieses Aus
führungsbeispiels durch die CRC-Berechnungsbefehle nicht nur
die Operationen zur Erzeugung und Prüfung von CRC-Kodes aus,
sondern arbeitet ebenfalls, wenn ein Schiebebefehl eingegeben
wird und der Datenpfad zur Schiebeschaltung SFT durch die
Wahleinrichtungen SLa-SLe in eine Richtung geschaltet wird,
die sich von der bei der CRC-Berechnung unterscheidet, durch
die Schiebeschaltung SFT als reguläre Schiebeschaltung, die
Bytedaten einschließlich Bitdaten verschiebt. Aus diesem
Grund ist es nicht notwendig, in der Recheneinheit 40 ge
trennt von der arithmetischen CRC-Schaltung eine reguläre
Schiebeschaltung vorzusehen.
Da ferner die arithmetische CRC-Schaltung realisiert
wird, indem die Schiebeschaltung, die Exklusiv-Oder-Schaltung
und die Wahlschaltungen, die alle Grundbefehlen entsprechen,
die in der Recheneinheit vorgesehen sind, kombiniert werden,
kann diese ausgebildet werden, indem nur ein Teil der ALU in
herkömmlichen Mikroprozessoren geändert wird; somit kann die
arithmetische CRC-Schaltung einfach implementiert werden,
ohne daß die ALU vergrößert wird oder sich die Herstellungs
kosten erhöhen.
Während die arithmetische CRC-Schaltung entsprechend der
vorliegenden Erfindung aufgebaut wurde, so daß diese die Be
rechnung des CRC-Kodes unter Verwendung des Erzeugungspo
lynoms [X⁸+X⁴+X³+X²+1] ausführt, sollte, da dieses Erzeu
gungspolynom auf der Grundlage des Installationsortes der Ex
klusiv-Oder-Schaltung am Eingabepfad der Schiebeschaltung SFT
bestimmt wurde und da sich dieses ändert, wenn sich der Ort
ändert, das Erzeugungspolynom, das beim Erzeugen und Prüfen
von CRC-Kodes verwendet wird, entsprechend dem Ort und der
Anzahl der Exklusiv-Oder-Schaltungen eingestellt werden.
Wenn zum Beispiel Exklusiv-Oder-Schaltungen EXOR und
Wahlschaltungen SL an allen Eingabedatenpfaden zur Schiebe
schaltung angebracht sind, und wenn die Wahlschaltung SL, die
den Ausgang der Exklusiv-Oder-Schaltung EXOR auswählt, unter
Verwendung von Software zum Vornehmen der CRC-Berechnungen
unter Verwendung der arithmetischen CRC-Schaltung eingestellt
wird, kann außerdem das Erzeugungspolynom, das zur Berechnung
des CRC-Kodes verwendet wird, durch Software eingestellt wer
den.
Auch in diesem Fall, in dem Exklusiv-Oder-Schaltungen
EXOR und Wahlschaltungen SL für alle Eingabedatenpfade zur
Wahlschaltung SL vorgesehen werden, zum Beispiel, indem im
voraus mehrere CRC-Berechnungsbefehle zusammen mit dem Spei
chern der Wahlschaltungen SL, die den Ausgang der Exklusiv
Oder-Schaltung in den Registern und ähnlichem auswählen wür
den, eingestellt werden, kann die Wahlschaltung SL, die dem
Befehlskode entspricht, ebenfalls so gestaltet werden, daß
diese den Daten im Register folgt, so daß diese bei Erzeugung
eines CRC-Berechnungsbefehls automatisch schaltet.
Obwohl die vorliegende Erfindung in Verbindung mit ihrem
bevorzugten Ausführungsbeispiel vollständig beschrieben
wurde, sind zahlreiche Abänderungen und Abwandlungen für den
Fachmann offensichtlich. Solche Abänderungen und Abwandlungen
sind als im Geltungsbereich der vorliegenden Erfindung, wie
dieser in den beiliegenden Patentansprüchen definiert ist,
liegend aufzufassen.
Um einen Mikroprozessor vorzusehen, der die Erzeugung ei
nes CRC-Kodes mit hoher Geschwindigkeit ausführen kann und
einfach und mit niedrigen Kosten implementiert werden kann,
weist ein Mikroprozessor an einem Teil eines Dateneingabepfa
des in eine Schiebeschaltung, die in einer ALU des Mikropro
zessors zum Ausführen von Schiebebefehlen in herkömmlicher
Weise installiert ist, ein Bit von Daten (RR) auf, das dem
Pfad entspricht; eine Exklusiv-Oder-Schaltung, die das Exklu
siv-Oder eines höchsten Bits der Bytedaten und von Bitdaten
(RR) berechnet, ist vorgesehen. Für diese Schaltung ist ein
Ergebnis entsprechend eines Erzeugungspolynoms, wie zum Bei
spiel [X⁸+X⁴+X³+X²+1], auf der Grundlage des Anbringortes der
Exklusiv-Oder-Schaltung entlang des Pfades bestimmt; durch
das Setzen eines Anfangswertes auf die Bytedaten, das aufein
anderfolgende Eingeben eines Bits der Übertragungsdaten in
die Bitdaten (RR) und das Betätigen der Schiebeschaltung wird
ein Berechnungsergebnis für den CRC-Kode abgeleitet. Folglich
kann der CRC-Kode für den Mikroprozessor mit hoher Geschwin
digkeit unter Verwendung der Berechnungsbefehle des CRC-
Kode-Abschnitts erzeugt werden. Entsprechende Verfahren zur
Fehlerprüfung der aufgenommenen Daten sind ebenfalls offen
bart.
Claims (17)
1. Berechnungsschaltung für einen Mikroprozessor, wobei die
Schaltung aufweist:
eine Vielzahl von Eingabeleitungen (7-0, RR), die in der Lage sind, an diesen anliegende Eingabedaten aufzunehmen,
eine Funktionserzeugungseinrichtung (EXOR), die mit den Eingabeleitungen (7-0, RR) verbunden ist, um an einer Viel zahl ihrer Ausgänge einen Wert zu erzeugen, der auf den Ein gabedaten basiert,
einen Wahlabschnitt (SL), der mit den Eingabeleitungen (7-0, RR) und den Ausgängen des Funktionserzeugungsabschnitts (EXOR) verbunden ist, um im Ansprechen auf einen Wahlbefehl Signale von den Eingabeleitungen (7-0, RR) und Signale von den Ausgängen des Funktionserzeugungsabschnitts (EXOR) an seinen Ausgängen auswählend vorzusehen, und
eine Vielzahl von Ausgabeleitungen (7-0, RR), die mit den Ausgängen des Wahlabschnitts (SL) verbunden sind.
eine Vielzahl von Eingabeleitungen (7-0, RR), die in der Lage sind, an diesen anliegende Eingabedaten aufzunehmen,
eine Funktionserzeugungseinrichtung (EXOR), die mit den Eingabeleitungen (7-0, RR) verbunden ist, um an einer Viel zahl ihrer Ausgänge einen Wert zu erzeugen, der auf den Ein gabedaten basiert,
einen Wahlabschnitt (SL), der mit den Eingabeleitungen (7-0, RR) und den Ausgängen des Funktionserzeugungsabschnitts (EXOR) verbunden ist, um im Ansprechen auf einen Wahlbefehl Signale von den Eingabeleitungen (7-0, RR) und Signale von den Ausgängen des Funktionserzeugungsabschnitts (EXOR) an seinen Ausgängen auswählend vorzusehen, und
eine Vielzahl von Ausgabeleitungen (7-0, RR), die mit den Ausgängen des Wahlabschnitts (SL) verbunden sind.
2. Schaltung nach Anspruch 1, bei der die Funktionserzeu
gungseinrichtung (EXOR) ein Exklusiv-Oder-Gatter (d-a) auf
weist.
3. Berechnungsschaltung für einen Mikroprozessor, wobei die
Schaltung aufweist:
eine Vielzahl von Eingabeleitungen (7-0, RR), die in der Lage sind, an diesen anliegende Eingabedaten aufzunehmen,
ein Exklusiv-Oder-Gatter (EXORd-a), das zumindest einen Eingang hat, der mit einer entsprechenden Eingabeleitung (7-0, RR) verbunden ist,
eine erste Wahlschaltung (SLe-a), die einen ersten Ein gang, der mit einem Ausgang des Exklusiv-Oder-Gatters (EXORd-a) verbunden ist, und einen zweiten Eingang aufweist, der mit einer entsprechenden der Vielzahl von Eingabeleitungen (7-0, RR) verbunden ist, wobei die erste Wahlschaltung (SLe-a) im Ansprechen auf einen Wahlbefehl den ersten oder den zweiten Eingang (EXORd-a, 7-0, RR) an seinem Ausgang vorsieht, und
eine Vielzahl von Ausgabeleitungen (7-0, RR), die eine Ausgabeleitung aufweisen, die mit einem entsprechenden Aus gang der ersten Wahlschaltung verbunden ist.
eine Vielzahl von Eingabeleitungen (7-0, RR), die in der Lage sind, an diesen anliegende Eingabedaten aufzunehmen,
ein Exklusiv-Oder-Gatter (EXORd-a), das zumindest einen Eingang hat, der mit einer entsprechenden Eingabeleitung (7-0, RR) verbunden ist,
eine erste Wahlschaltung (SLe-a), die einen ersten Ein gang, der mit einem Ausgang des Exklusiv-Oder-Gatters (EXORd-a) verbunden ist, und einen zweiten Eingang aufweist, der mit einer entsprechenden der Vielzahl von Eingabeleitungen (7-0, RR) verbunden ist, wobei die erste Wahlschaltung (SLe-a) im Ansprechen auf einen Wahlbefehl den ersten oder den zweiten Eingang (EXORd-a, 7-0, RR) an seinem Ausgang vorsieht, und
eine Vielzahl von Ausgabeleitungen (7-0, RR), die eine Ausgabeleitung aufweisen, die mit einem entsprechenden Aus gang der ersten Wahlschaltung verbunden ist.
4. Schaltung nach Anspruch 3, die ferner aufweist:
eine zweite Wahlschaltung (SLe-a), die einen ersten und zweiten Eingang, die mit entsprechenden der Vielzahl von Ein gabeleitungen (7-0, RR) verbunden sind, und einen Ausgang hat, der mit einer entsprechenden der Ausgangsleitungen (7-0, RR) verbunden ist.
eine zweite Wahlschaltung (SLe-a), die einen ersten und zweiten Eingang, die mit entsprechenden der Vielzahl von Ein gabeleitungen (7-0, RR) verbunden sind, und einen Ausgang hat, der mit einer entsprechenden der Ausgangsleitungen (7-0, RR) verbunden ist.
5. Schaltung nach Anspruch 3, bei der zumindest eine der
Vielzahl von Eingabeleitungen (7-0, RR) mit einer entspre
chenden der Vielzahl von Ausgabeleitungen (7-0, RR) verbunden
ist.
6. Schaltung nach Anspruch 3, die ferner aufweist:
eine zweite Wahlschaltung (SLe-a), die einen ersten und zweiten Eingang, die mit entsprechenden der Vielzahl von Ein gabeleitungen (7-0, RR) verbunden sind, und einen Ausgang aufweist, der mit einer entsprechenden der Ausgabeleitungen (7-0, RR) verbunden ist,
wobei zumindest eine der Vielzahl von Eingabeleitungen (7-0, RR) mit einer entsprechenden der Vielzahl von Ausgabe leitungen (7-0, RR) verbunden ist.
eine zweite Wahlschaltung (SLe-a), die einen ersten und zweiten Eingang, die mit entsprechenden der Vielzahl von Ein gabeleitungen (7-0, RR) verbunden sind, und einen Ausgang aufweist, der mit einer entsprechenden der Ausgabeleitungen (7-0, RR) verbunden ist,
wobei zumindest eine der Vielzahl von Eingabeleitungen (7-0, RR) mit einer entsprechenden der Vielzahl von Ausgabe leitungen (7-0, RR) verbunden ist.
7. Schaltung nach Anspruch 6, bei der die erste und die
zweite Wahlschaltung (SLe-a) und die zumindest eine Eingabe
leitung (7-0, RR), die mit einer entsprechenden der Ausgabe
leitungen (7-0, RR) verbunden ist, entsprechend einem Erzeu
gungspolynom für den CRC-Kode angeordnet sind.
8. Schaltung nach Anspruch 3, wobei die Schaltung im Anspre
chen auf den Wahlbefehl auswählend als Schieberegister und
als Erzeugungsschaltung des CRC-Kodes wirkt.
9. Schaltung nach Anspruch 3, bei der:
die Vielzahl von Eingabeleitungen (7-0, RR) eine Vielzahl von Eingabeleitungen, die Bytedaten (7-0) entsprechen, und eine Eingabeleitung aufweist, die Bitdaten (RR) entspricht, und
die Vielzahl von Ausgabeleitungen (7-0, RR) eine Vielzahl von Ausgabeleitungen, die Bytedaten (7-0) entsprechen, und eine Ausgabeleitung aufweist, die Bitdaten (RR) entspricht.
die Vielzahl von Eingabeleitungen (7-0, RR) eine Vielzahl von Eingabeleitungen, die Bytedaten (7-0) entsprechen, und eine Eingabeleitung aufweist, die Bitdaten (RR) entspricht, und
die Vielzahl von Ausgabeleitungen (7-0, RR) eine Vielzahl von Ausgabeleitungen, die Bytedaten (7-0) entsprechen, und eine Ausgabeleitung aufweist, die Bitdaten (RR) entspricht.
10. Schaltung nach Anspruch 3, wobei die Schaltung ein Exklu
siv-Oder-Gatter (EXORd-a) aufweist, das zumindest zwei Ein
gänge hat, die mit verschiedenen Eingabeleitungen verbunden
sind.
11. Verfahren zum Erzeugen von Daten der zyklischen Redun
danzprüfung, wobei das Verfahren die Schritte aufweist:
das Setzen (120) des Anfangsbinärwertes als Basiswert,
das Vorsehen (120) des Basiswertes an einer Kodeerzeu gungsschaltung,
das Berechnen (140) eines Wertes der zyklischen Redun danzprüfung unter Verwendung einer Kodeerzeugungsschaltung auf dem Basiswert und einem Bit der Übertragungsdaten basierend, wobei mit ihrem signifikantesten Bit begonnen wird (130),
das Zuweisen (150) des berechneten Wertes der zyklischen Redundanzprüfung an den Basiswert und das Vornehmen des Vor sehschritts (120) und Berechnungsschritts (140) unter Verwen dung des nächsten signifikantesten Bits der Übertragungsda ten, wenn das Bit der Übertragungsdaten nicht ihr am wenig sten signifikanteste Bit ist, und
das Ausgeben (160) eines Wertes, der den berechneten Wert der zyklischen Redundanzprüfung darstellt, wenn das Bit der Übertragungsdaten ihr am wenigsten signifikanteste Bit ist.
das Setzen (120) des Anfangsbinärwertes als Basiswert,
das Vorsehen (120) des Basiswertes an einer Kodeerzeu gungsschaltung,
das Berechnen (140) eines Wertes der zyklischen Redun danzprüfung unter Verwendung einer Kodeerzeugungsschaltung auf dem Basiswert und einem Bit der Übertragungsdaten basierend, wobei mit ihrem signifikantesten Bit begonnen wird (130),
das Zuweisen (150) des berechneten Wertes der zyklischen Redundanzprüfung an den Basiswert und das Vornehmen des Vor sehschritts (120) und Berechnungsschritts (140) unter Verwen dung des nächsten signifikantesten Bits der Übertragungsda ten, wenn das Bit der Übertragungsdaten nicht ihr am wenig sten signifikanteste Bit ist, und
das Ausgeben (160) eines Wertes, der den berechneten Wert der zyklischen Redundanzprüfung darstellt, wenn das Bit der Übertragungsdaten ihr am wenigsten signifikanteste Bit ist.
12. Verfahren nach Anspruch 11, bei der der Vorsehschritt
einen Schritt des Anlegens (120) des Basiswertes an eine
Kodeerzeugungsschaltung beinhaltet, die eine Vielzahl von
Eingabeleitungen, eine Vielzahl von Exklusiv-Oder-Gattern,
die mit den Eingabeleitungen verbunden sind, eine Vielzahl
von Wahlschaltungen, die mit den Exklusiv-Oder-Gattern und
den Eingabeleitungen verbunden sind, und eine Vielzahl von
Ausgabeleitungen, die mit den Wahlschaltungen verbunden sind,
aufweist, wobei die Vielzahl von Exklusiv-Oder-Gattern und
die Vielzahl von Wahlschaltungen angeordnet sind, so daß
diese einem Erzeugungspolynom des Kodes der zyklischen Redun
danzprüfung entsprechen.
13. Verfahren nach Anspruch 11, das ferner den Schritt des
aufeinanderfolgenden Wiederholens des Vorsehschritts (120),
des Berechnungsschritts (140) und des Zuweisschritts (150)
unter Verwendung jeden Bits der Übertragungsdaten beinhaltet.
14. Verfahren nach Anspruch 11, das ferner den Schritt des
Invertierens (160) des berechneten Wertes der zyklischen
Redundanzprüfung aufweist, um den charakteristischen Wert zu
erhalten.
15. Verfahren zum Prüfen von Aufnahmedaten, die Daten der zy
klischen Redundanzprüfung aufweisen, wobei das Verfahren die
Schritte aufweist:
das Setzen (220) eines Anfangsbinärwertes als Basiswert,
das Vorsehen (220) des Basiswertes an einer Kodeerzeu gungsschaltung,
das Berechnen (240) eines Wertes der zyklischen Redun danzprüfung unter Verwendung der Kodeerzeugungsschaltung auf dem Basiswert und einem Bit der Aufnahmedaten basierend, wo bei mit ihrem signifikantesten Bit begonnen wird (230),
das Zuweisen (250) des berechneten Wertes der zyklischen Redundanzprüfung an den Basiswert und das Ausführen des Vor sehschritts (220) und des Berechnungsschritts (240) unter Verwendung des nächsten signifikantesten Bits der Aufnahmeda ten, wenn das Bit der Aufnahmedaten nicht ihr am wenigsten signifikanteste Bit ist,
das Prüfen (260), ob der berechnete Wert der zyklischen Redundanzprüfung gleich einem vorbestimmten Wert ist, wenn das Bit der Aufnahmedaten ihr am wenigsten signifikanteste Bit ist,
das Bestimmen (270), daß die Aufnahmedaten normal sind, wenn der berechnete Wert der zyklischen Redundanzprüfung gleich dem vorbestimmten Wert ist, und
das Bestimmen (280), daß die Aufnahmedaten fehlerhaft sind, wenn der berechnete Wert der zyklischen Redundanzprü fung nicht gleich dem vorbestimmten Wert ist.
das Setzen (220) eines Anfangsbinärwertes als Basiswert,
das Vorsehen (220) des Basiswertes an einer Kodeerzeu gungsschaltung,
das Berechnen (240) eines Wertes der zyklischen Redun danzprüfung unter Verwendung der Kodeerzeugungsschaltung auf dem Basiswert und einem Bit der Aufnahmedaten basierend, wo bei mit ihrem signifikantesten Bit begonnen wird (230),
das Zuweisen (250) des berechneten Wertes der zyklischen Redundanzprüfung an den Basiswert und das Ausführen des Vor sehschritts (220) und des Berechnungsschritts (240) unter Verwendung des nächsten signifikantesten Bits der Aufnahmeda ten, wenn das Bit der Aufnahmedaten nicht ihr am wenigsten signifikanteste Bit ist,
das Prüfen (260), ob der berechnete Wert der zyklischen Redundanzprüfung gleich einem vorbestimmten Wert ist, wenn das Bit der Aufnahmedaten ihr am wenigsten signifikanteste Bit ist,
das Bestimmen (270), daß die Aufnahmedaten normal sind, wenn der berechnete Wert der zyklischen Redundanzprüfung gleich dem vorbestimmten Wert ist, und
das Bestimmen (280), daß die Aufnahmedaten fehlerhaft sind, wenn der berechnete Wert der zyklischen Redundanzprü fung nicht gleich dem vorbestimmten Wert ist.
16. Verfahren nach Anspruch 15, bei dem der Vorsehschritt
(220) einen Schritt zum Anlegen des Basiswertes an eine Kode
erzeugungsschaltung vorsieht, die eine Vielzahl von Eingabe
leitungen, eine Vielzahl von Exklusiv-Oder-Gattern, die mit
den Eingabeleitungen verbunden sind, eine Vielzahl von Wahl
schaltungen, die mit den Exklusiv-Oder-Gattern und den Einga
beleitungen verbunden sind, und eine Vielzahl von Ausgabelei
tungen, die mit den Wahlschaltungen verbunden sind, aufweist,
wobei die Vielzahl von Exklusiv-Oder-Gattern und die Vielzahl
von Wahlschaltungen angeordnet sind, daß diese einem Erzeu
gungspolynom des Kodes der zyklischen Redundanzprüfung ent
sprechen.
17. Verfahren nach Anspruch 15, das ferner den Schritt des
aufeinanderfolgenden Wiederholens des Vorsehschritts (220),
des Berechnungsschritts (240) und des Zuweisschritts (250)
unter Verwendung jeden Bits als Aufnahmedaten beinhaltet.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6156201A JP2814918B2 (ja) | 1994-07-07 | 1994-07-07 | マイクロコンピュータ |
JP6-156201 | 1994-07-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19524863A1 true DE19524863A1 (de) | 1996-01-11 |
DE19524863B4 DE19524863B4 (de) | 2005-12-15 |
Family
ID=15622583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19524863A Expired - Lifetime DE19524863B4 (de) | 1994-07-07 | 1995-07-07 | Mikroprozessor mit eingebautem Abschnitt zur zyklischen Redundanzprüfung und Verfahren zum Ausführen von Operationen zur zyklischen Redundanzprüfung unter Verwendung von diesem |
Country Status (4)
Country | Link |
---|---|
US (1) | US6195779B1 (de) |
JP (1) | JP2814918B2 (de) |
DE (1) | DE19524863B4 (de) |
FR (1) | FR2722897B1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999014665A2 (en) * | 1997-09-17 | 1999-03-25 | Sony Electronics Inc. | Digital signal processor particularly suited for decoding digital audio |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7120858B2 (en) * | 2002-08-21 | 2006-10-10 | Sun Microsystems, Inc. | Method and device for off-loading message digest calculations |
US7958436B2 (en) | 2005-12-23 | 2011-06-07 | Intel Corporation | Performing a cyclic redundancy checksum operation responsive to a user-level instruction |
US7925957B2 (en) | 2006-03-20 | 2011-04-12 | Intel Corporation | Validating data using processor instructions |
JP5708210B2 (ja) * | 2010-06-17 | 2015-04-30 | 富士通株式会社 | プロセッサ |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3873971A (en) * | 1973-10-31 | 1975-03-25 | Motorola Inc | Random error correcting system |
US4312068A (en) * | 1976-08-12 | 1982-01-19 | Honeywell Information Systems Inc. | Parallel generation of serial cyclic redundancy check |
US4119945A (en) * | 1977-07-01 | 1978-10-10 | Rca Corporation | Error detection and correction |
US4404674A (en) * | 1981-07-10 | 1983-09-13 | Communications Satellite Corporation | Method and apparatus for weighted majority decoding of FEC codes using soft detection |
US4742520A (en) * | 1984-09-26 | 1988-05-03 | Texas Instruments Incorporated | ALU operation: modulo two sum |
US4712215A (en) * | 1985-12-02 | 1987-12-08 | Advanced Micro Devices, Inc. | CRC calculation machine for separate calculation of checkbits for the header packet and data packet |
US4750176A (en) * | 1986-06-30 | 1988-06-07 | U.S. Philips Corporation | Single-channel communication bus system and station for use in such system |
JP2544385B2 (ja) * | 1987-05-27 | 1996-10-16 | 株式会社日立製作所 | 通信制御装置 |
DE3719404A1 (de) * | 1987-06-11 | 1988-12-22 | Bosch Gmbh Robert | Verfahren und anordnung zur korrektur von fehlern in digitalen signalen |
JPH01150940A (ja) * | 1987-12-08 | 1989-06-13 | Hitachi Ltd | Crc演算方式 |
US5245346A (en) * | 1989-12-28 | 1993-09-14 | Kabushiki Kaisha Toyota Chuo Kenyusho | Interrogator/transponder system and mobile transponder device |
US5321704A (en) * | 1991-01-16 | 1994-06-14 | Xilinx, Inc. | Error detection structure and method using partial polynomial check |
US5251215A (en) * | 1992-01-13 | 1993-10-05 | At&T Bell Laboratories | Modifying check codes in data packet transmission |
-
1994
- 1994-07-07 JP JP6156201A patent/JP2814918B2/ja not_active Expired - Lifetime
-
1995
- 1995-07-04 FR FR9508052A patent/FR2722897B1/fr not_active Expired - Lifetime
- 1995-07-06 US US08/499,009 patent/US6195779B1/en not_active Expired - Lifetime
- 1995-07-07 DE DE19524863A patent/DE19524863B4/de not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999014665A2 (en) * | 1997-09-17 | 1999-03-25 | Sony Electronics Inc. | Digital signal processor particularly suited for decoding digital audio |
WO1999014665A3 (en) * | 1997-09-17 | 1999-08-12 | Sony Electronics Inc | Digital signal processor particularly suited for decoding digital audio |
US6263420B1 (en) | 1997-09-17 | 2001-07-17 | Sony Corporation | Digital signal processor particularly suited for decoding digital audio |
Also Published As
Publication number | Publication date |
---|---|
FR2722897A1 (fr) | 1996-01-26 |
FR2722897B1 (fr) | 1997-09-12 |
JPH0822448A (ja) | 1996-01-23 |
JP2814918B2 (ja) | 1998-10-27 |
DE19524863B4 (de) | 2005-12-15 |
US6195779B1 (en) | 2001-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2714805C2 (de) | ||
DE2753062C2 (de) | Einrichtung zur wiederholten Durchführung von Programmschleifen | |
DE2704842C2 (de) | Im Pipeline-Betrieb arbeitende Datenverarbeitungseinrichtung | |
DE2328869C2 (de) | Verfahren und Schaltungsanordnung zum Betreiben eines digitalen Speichersystems | |
DE2614000A1 (de) | Einrichtung zur diagnose von funktionseinheiten | |
DE2806024A1 (de) | Speichersystem mit fehlerfeststell- und korrekturmoeglichkeit | |
DE2910839A1 (de) | Einrichtung zur ausfuehrung einer speziellen verzweigungsinstruktion | |
DE3116100A1 (de) | Sprungabschaetz-zentraleinheit | |
DE10349581A1 (de) | Verfahren und Vorrichtung zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit | |
DE2524046A1 (de) | Elektronische datenverarbeitungsanlage | |
DE69632655T2 (de) | Pipeline-Datenverarbeitungsanordnung zur Durchführung einer Mehrzahl von untereinander datenabhängigen Datenprozessen | |
DE102006005817B4 (de) | Fehlererkennungsvorrichtung für einen Adressdecoder und Vorrichtung zur Fehlererkennung für einen Adressdecoder | |
EP0282877B1 (de) | Verfahren und Einrichtung zur Steuerung der Fehlerkorrektur innerhalb einer Datenübertragungssteuerung bei von bewegten peripheren Speichern, insbesondere Plattenspeichern, eines Datenverarbeitungssystems gelesenen Daten | |
DE3507584C2 (de) | ||
DE4327660C2 (de) | Vorrichtung zum Herstellen einer und Herstellungsverfahren für eine integrierte Halbleiterschaltungsvorrichtung und elektronische Schaltungsvorrichtung | |
DE3814875A1 (de) | Logische verknuepfungseinrichtung und logisches verknuepfungsverfahren | |
DE19524863A1 (de) | Mikroprozessor mit eingebautem Abschnitt zur zyklischen Redundanzprüfung und Verfahren zum Ausführen von Operationen zur zyklischen Redundanzprüfung unter Verwendung von diesem | |
EP0347970B1 (de) | Verfahren zum Prüfen eines Festwertspeichers und Anordnung zur Durchführung des Verfahrens | |
DE69817852T2 (de) | Speicherschutzsystem für ein multitaskingsystem | |
DE2714681A1 (de) | Mikroprogrammierter lsi-mikroprozessor | |
DE3138989A1 (de) | Zusaetzliche funktionseinheit in einem mikroprozessor, mikroprozessorsystem und verfahren zu seinem betrieb | |
DE2242009C2 (de) | Verfahren und Anordnung zum Erkennen, ob im Mikroprogramm einer Datenverarbeitungsanlage vorgesehene Verzweigungsoperationen ausgeführt werden | |
DE2622140C3 (de) | Einrichtung zur Steuerung manueller Operationen | |
DE2725504C2 (de) | ||
DE102004001651B4 (de) | Verfahren und Prozessor zur automatischen Befehls-Betriebsartumschaltung zwischen N-Bit und 2N-Bit Befehlen unter Verwendung einer Paritätsüberprüfung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8127 | New person/name/address of the applicant |
Owner name: DENSO CORP., KARIYA, AICHI, JP |
|
8110 | Request for examination paragraph 44 | ||
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licences declared (paragraph 23) | ||
R071 | Expiry of right |