DE19652290A1 - Mikrocomputer - Google Patents
MikrocomputerInfo
- Publication number
- DE19652290A1 DE19652290A1 DE19652290A DE19652290A DE19652290A1 DE 19652290 A1 DE19652290 A1 DE 19652290A1 DE 19652290 A DE19652290 A DE 19652290A DE 19652290 A DE19652290 A DE 19652290A DE 19652290 A1 DE19652290 A1 DE 19652290A1
- Authority
- DE
- Germany
- Prior art keywords
- rom
- signal
- data
- address
- rom device
- 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
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000012545 processing Methods 0.000 claims description 43
- 230000000903 blocking effect Effects 0.000 claims description 12
- 230000015572 biosynthetic process Effects 0.000 claims 1
- 238000005755 formation reaction Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000008054 signal transmission Effects 0.000 description 5
- 241000270295 Serpentes Species 0.000 description 3
- 230000036651 mood Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 235000010678 Paulownia tomentosa Nutrition 0.000 description 1
- 240000002834 Paulownia tomentosa Species 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/66—Updates of program code stored in read-only memory [ROM]
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/268—Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
-
- 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
- G06F9/328—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
- Advance Control (AREA)
- Microcomputers (AREA)
- Stored Programmes (AREA)
Description
Die Erfindung betrifft einen Mikrocomputer mit einer
Nur-Lese-Speichereinrichtung zur Speicherung eines Programms, der
eine Verarbeitung zum vorab Auslesen von Daten aus der
Nur-Lese-Speichereinrichtung ausführt. Die Erfindung betrifft
insbesondere einen Mikrocomputer, der durch einen in dem in
der Nur-Lese-Speichereinrichtung gespeicherten Programm ge
fundenen Fehler verursachte Probleme lösen kann.
Fig. 8 zeigt eine Darstellung eines bekannten Ein-Chip-Mikrocomputers,
der zusammen mit externen Einrichtungen ein
Problem lösen kann, das in einem in einer zugehörigen
Nur-Lese-Speichereinrichtung bzw. ROM-Einrichtung gespeicherten
Programm auftritt. Das in der Figur gezeigte Bezugszeichen
100 bezeichnet den Ein-Chip-Mikrocomputer, der nachstehend
vereinfacht als Mikrocomputer bezeichnet wird. Bezugszeichen
200 bezeichnet eine elektrisch veränderbare, programmierbare
Festwertspeichereinrichtung bzw. EEPROM-Einrichtung zur Spei
cherung eines korrigierten Programms. In dem Mikrocomputer
100 bezeichnet Bezugszeichen 40 eine ROM-Einrichtung zur
Speicherung eines festen Programms, und Bezugszeichen 42 be
zeichnet eine Schreib-Lese-Speichereinrichtung bzw. RAM-Einrichtung,
einen beschreibbaren Speicher. Bezugszeichen 44
bezeichnet ein Register zur Speicherung bestimmter Adreßda
ten, und Bezugszeichen 46 bezeichnet eine Vergleicherschal
tung zum Vergleich von Daten auf einem durch Bezugszeichen 48
bezeichneten Adreßbus mit einem Inhalt des Registers 44. Be
zugszeichen 50 bezeichnet einen Datenbus und Bezugszeichen 52
einen seriellen Ausgangsanschluß zur Ausgabe serieller Daten.
Bezugszeichen 54 bezeichnet einen seriellen Eingangsanschluß
zur Eingabe serieller Daten, und Bezugszeichen 110 bezeichnet
eine Zentraleinheit bzw. Zentraleinheit CPU. Bezugszeichen
120 bezeichnet eine JMP-Befehlscode-ROM-Einrichtung zur Spei
cherung eines Verzweigungs- bzw. Sprungbefehls (JMP-Befehls).
Anzumerken ist, daß eine in der Figur nicht gezeigte Schal
tungsanordnung zur seriellen Eingabe/Ausgabe zwischen dem se
riellen Ausgangsanschluß 52 und dem seriellen Eingangsan
schluß 54 vorgesehen ist.
Nachstehend wird die Arbeitsweise des Mikrocomputers 100 be
schrieben.
Die ROM-Einrichtung 40 in dem Mikrocomputer 100 ist eine so
genannte maskierte Nur-Lese-Speichereinrichtung bzw. ROM-Einrichtung,
in die während der Herstellung normalerweise ein
danach nicht mehr veränderbares Programm geschrieben wird.
Manchmal wird jedoch nach der Herstellung der ROM-Einrichtung
40 ein Fehler in dem in der ROM-Einrichtung 40 gespeicherten
Programm festgestellt.
Eine Vorgehensweise zum Bewältigen einer Situation, in der
ein Fehler in einem in der ROM-Einrichtung 40 gespeicherten
Programm nach der Herstellung des Mikrocomputers 100 gefunden
wird, ist beispielsweise in der JP-A-63/156231 oder der
JP-A-1/232447 offenbart. Fig. 9 zeigt eine Darstellung zur Be
schreibung der Vorgehensweise. Das heißt, Fig. 9(a) zeigt ei
ne Darstellung eines Programms mit einem Fehler, und Fig.
9(b) zeigt eine Darstellung des Ablaufs des korrigierten Pro
gramms, aus dem der Fehler entfernt ist. Gemäß der Vorgehens
weise wird das in dem Mikrocomputer vorgesehene Register 44
üblicherweise zur Speicherung von über den seriellen Ein
gangsanschluß 54 zugeführten Daten verwendet. Codes von
JMP-Befehlen jmp1 bis jmp4 sind in der JMP-Befehlscode-ROM-Einrichtung
120 gespeichert. Dabei sind die Codes der JMP-Befehle
jmp1 bis jmp4 als Daten von vier Byte gespeichert.
Der Operand des JMP-Befehls zeigt einen eine Zieladresse in
der RAM-Einrichtung 42 darstellenden Wert an.
Wenn ein Fehler des in der ROM-Einrichtung 40 gespeicherten
Programms gefunden wird, wird die Startadresse eines den Feh
ler beinhaltenden Abschnitts in dem Register 44 gespeichert.
Im Fall des in Fig. 9(a) gezeigten Programms sind die Codes
eines an der Startadresse eines Abschnitts mit dem Fehler ge
speicherten Befehls op1 bis op4. Ein in der EEPROM-Einrichtung
200 gespeichertes korrektes Programm wird über
den seriellen Eingangsanschluß 54 unter Verwendung einer
Adressierungstechnik, die auf über den seriellen Ausgangsan
schluß 52 ausgegebenen Daten beruht, seriell in den Mikrocom
puter 100 eingelesen. Das korrekte Programm wird dann in ei
nem vorbestimmten Bereich der RAM-Einrichtung 42 gespeichert.
Die Startadresse dieses vorbestimmten Bereichs wird durch den
Operanden des in der JMP-Befehlscode-ROM-Einrichtung 120 ge
speicherten JMP-Befehls bestimmt.
Auf diese Weise kann das korrekte Programm in den Mikrocompu
ter 100 selbst dann eingelesen werden, wenn der Mikrocomputer
100 keinen externen Bus aufweist. Anzumerken ist, daß der
Aufzeichnungsträger zur ursprünglichen. Speicherung des kor
rekten Programms keine EEPROM-Einrichtung 200 sein muß. Es
kann auch ein Aufzeichnungsträger einer anderen Bauart ver
wendet werden.
Somit kann der Mikrocomputer 100 korrekt arbeiten. Während
des Betriebs des Mikrocomputers 100 vergleicht die Verglei
cherschaltung 46 auf dem Adreßbus 48 ankommende Adreßdaten
mit einem Inhalt des Registers 44. Falls eine Übereinstimmung
zwischen beiden festgestellt wird, gibt die Vergleicherschal
tung 46 ein Übereinstimmungssignal an die JMP-Befehlscode-ROM-Einrichtung
120 aus. Beruhend auf dem Übereinstimmungs
signal gibt die JMP-Befehlscode-ROM-Einrichtung 120 den Code
eines in ihr gespeicherten JMP-Befehls an den Datenbus 50
aus. Zu diesem Zeitpunkt wird ein Vorgang zur Ausgabe von Da
ten aus der ROM-Einrichtung 40 an den Datenbus 50 gesperrt.
Die Zentraleinheit CPU 110 übernimmt den Code des JMP-Befehls
von dem Datenbus 50 und stellt einen durch den Operanden des
JMP-Befehls angezeigten Wert in einem in der Zentraleinheit
CPU 110 verwendeten Programmzähler ein. Auf diese Weise wird
durch die Ausführung des JMP-Befehls das in der RAM-Einrichtung
42 gespeicherte korrekte Programm ausgeführt. Zur
Rückkehr zu dem in der ROM-Einrichtung 40 gespeicherten Pro
gramm nach Beendigung der Ausführung des in der RAM-Einrichtung
42 gespeicherten korrekten Programms ist ein
Sprungbefehl, der den Inhalt des Programmzählers verändert,
als letzter Befehl am Ende des in der RAM-Einrichtung 42 ge
speicherten korrekten Programms enthalten.
Durch Anwendung der vorstehend beschriebenen Korrekturtechnik
in einem Schritt, in dem ein Befehl eines Abschnitts mit ei
nem Fehler in dem in Fig. 9(a) gezeigten, in der ROM-Einrichtung
40 gespeicherten Programm im Begriff ist, ausge
führt zu werden, wird das in Fig. 9(b) gezeigte, in der RAM-Einrichtung
42 gespeicherte korrekte Programm anstelle des
einen Fehler beinhaltenden Abschnitts ausgeführt.
In manchen Mikrocomputern 100 ist ein Warteschlangenpuffer
zur vorübergehenden Speicherung vorab ausgelesener Befehle
vorgesehen, die dann der Zentraleinheit CPU 110 zugeführt
werden. Bei einem derartigen Mikrocomputer 100 empfängt der
Warteschlangenpuffer Daten mit Codes eines Befehls von der
ROM-Einrichtung 40. Wenn die Anzahl von vorab ausgelesenen,
in dem Warteschlangenpuffer vorübergehend gespeicherten Be
fehlen einen vorbestimmten Wert überschreitet, wird der Vor
gang zum vorab Auslesen eines Befehls angehalten.
Wenn die Vergleicherschaltung 46 das Übereinstimmungssignal
ausgibt, gibt der Warteschlangenpuffer den Code eines JMP-Befehls
von der JMP-Befehlscode-ROM-Einrichtung 120 ein. Zu
diesem Zeitpunkt wird jedoch der Vorgang zur Ausgabe von Da
ten aus der ROM-Einrichtung 40 an den Datenbus 50 gesperrt.
Das heißt, die Verbindung zwischen der ROM-Einrichtung 40 und
dem Datenbus 50 wird unterbrochen. Der Code des JMP-Befehls
kann eine Vielzahl von Datenbyte umfassen. Im Fall eines der
artigen JMP-Befehlscodes kann der Vorgang zum vorab Auslesen
des Codes des JMP-Befehls ausgesetzt sein, bevor alle Byte
des Codes in den Warteschlangenpuffer eingelesen werden kön
nen. In diesem Fall wird eine Anforderung zum Aufrechterhal
ten der Verbindung zwischen der JMP-Befehlscode-ROM-Einrichtung
120 und dem Datenbus 50 ausgegeben, so daß die
verbliebenen Bytes des Codes des JMP-Befehls in den Warte
schlangenpuffer eingelesen werden können. Zu diesem Zeitpunkt
kann jedoch die Zentraleinheit CPU 110 auch eine Anforderung
zur Verbindung der ROM-Einrichtung 40 mit dem Datenbus 50
ausgeben, da die Zentraleinheit CPU 110 einen anderen Sprung
befehl ausführt. Es kann beispielsweise eine Situation auf
treten, in der der Mikrocomputer 100 vor dem Lesen aller Byte
des Codes des JMP-Befehls aus der JMP-Befehlscode-ROM-Einrichtung
120 in den Warteschlangenpuffer ein Interruptbe
handlungsprogramm (Unterbrechungsbehandlungsprogramm) ausfüh
ren muß. Im Fall eines Software-Interrupts wurde der Inter
ruptbefehl in den Warteschlangenpuffer eingelesen, bevor der
Code eines JMP-Befehls aus der JMP-Befehlscode-ROM-Einrichtung
120 ausgelesen wird. Außerdem wird im Fall eines
Hardware-Interrupts, der jederzeit willkürlich auftreten
kann, wenn die Zentraleinheit CPU 110 im Begriff ist, einen
Befehl auszuführen, das Interruptbehandlungsprogramm anstelle
der Ausführung des Befehls ausgeführt.
Wie es vorstehend beschrieben ist, wird bei einem Mikrocompu
ter 100 mit einem Warteschlangenpuffer die Steuerung durch
den Konflikt zwischen einer Anforderung, zum Lesen des Codes
eines JNP-Befehls aus der JMP-Befehlscode-ROM-Einrichtung 120
in den Warteschlangenpuffer und einem Vorgang, wie einer In
terruptbehandlung, ausgesetzt.
Bei einem bekannten Mikrocomputer mit dem vorstehend be
schriebenen Aufbau besteht demzufolge ein Problem darin, daß
die Steuerung einer Einrichtung zur Lösung eines durch einen
Fehler in einem in einer ROM-Einrichtung gespeicherten Pro
gramm verursachtes Problems schwierig ist, da ein Warte
schlangenpuffer zum vorab Auslesen von Befehlen vorgesehen
ist.
Der Erfindung liegt daher die Aufgabe zugrunde, einen Mikro
computer derart auszugestalten, daß mit großer Zuverlässig
keit Probleme gelöst werden können, die durch einen Programm
fehler eines in einer ROM-Einrichtung des Mikrocomputers ge
speicherten Programms entstehen können, auch wenn der Mikro
computer einen Warteschlangenpuffer aufweist.
Diese Aufgabe wird erfindungsgemäß durch einen Mikrocomputer
mit den in den Patentansprüchen 1 und 4 angegebenen Mitteln
gelöst.
Gemäß einem ersten Merkmal weist der Mikrocomputer eine
ROM-Ausgangs-Schalteinrichtung auf, die verwendet wird zum Frei
geben eines Vorgangs zur Ausgabe von Daten aus einer zweiten
ROM-Einrichtung zur Speicherung von Befehlen zum Sprung zu
einem Adreßraum außerhalb des Adreßraums einer ersten ROM-Einrichtung
und zum Sperren eines Vorgangs zur Ausgabe von
Daten aus der ersten ROM-Einrichtung zur Speicherung eines
Programms, wenn in einer Adreßinformations-Speichereinrichtung
gespeicherte Adreßinformationen mit einem
Inhalt eines Programmzählers eines Warteschlangenpuffers
übereinstimmen, und zum Freigeben eines Vorgangs zur Ausgabe
von Daten aus der ersten ROM-Einrichtung und zum Sperren ei
nes Vorgangs zur Ausgabe von Daten aus der zweiten ROM-Einrichtung,
wenn ein Sprungerzeugungssignal oder ein die
Ausgabe eines Befehls durch die zweite ROM-Einrichtung anzei
gendes Befehlscode-Endesignal empfangen wird.
Gemäß einem zweiten Merkmal umfaßt die in dem Mikrocomputer
verwendete ROM-Ausgangs-Schalteinrichtung eine Vergleicher
schaltung zum Vergleich von in der Adreßinformations-Speichereinrichtung
gespeicherten Adreßinformationen mit
Adreßdaten auf einem Adreßbus und zur Ausgabe eines Überein
stimmungssignals, wenn die Adreßdaten mit den Adreßinforma
tionen übereinstimmen, und eine Signalspeicherschaltung, die
durch das Übereinstimmungssignal in einen Setzzustand und
durch das Befehlscode-Endesignal in einen Rücksetzzustand ge
setzt wird.
Gemäß einem dritten Merkmal umfaßt die in dem Mikrocomputer
verwendete ROM-Ausgangs-Schalteinrichtung ferner eine erste
Logikschaltung zur Weitergabe eines ROM-Lesesignals, wenn die
Signalspeicherschaltung in einen Rücksetzzustand versetzt
ist, eine zweite Logikschaltung zum Empfang von aus der er
sten ROM-Einrichtung aus gegebenen Daten und entweder zur Wei
tergabe oder zur Blockierung deren Eingabe entsprechend einem
durch die erste Logikschaltung ausgegebenen Signal, eine
dritte Logikschaltung zur Weitergabe eines ROM-Lesesignals,
wenn die Signalspeicherschaltung in einen Setzzustand ver
setzt ist, und eine vierte Logikschaltung zum Empfang von aus
der zweiten ROM-Einrichtung aus gegebenen Daten und entweder
zur Weitergabe oder zur Blockierung der Eingabe dieser Daten
entsprechend einem durch die dritte Logikschaltung ausgegebe
nen Signal.
Gemäß einem vierten Merkmal umfaßt der Mikrocomputer eine Sig
nalspeicherschaltung (Latch-Schaltung), die in einen Setzzu
stand versetzt wird, wenn eine Vergleicherschaltung ein Über
einstimmungssignal ausgibt, das die Übereinstimmung von in
der Adreßinformations-Speichereinrichtung gespeicherten
Adreßinformationen mit einem Inhalt eines in einer Zen
traleinheit CPU verwendeten Programmzählers anzeigt, und die
durch ein Befehlscode-Endesignal, das die Ausgabe eines Be
fehls aus einer zweiten ROM-Einrichtung anzeigt, in einen
Rücksetzzustand versetzt wird, und eine Schalteinrichtung
(Umschaltungs-Schaltungsanordnung), die einen Vorgang zur
Eingabe eines Befehls aus einem Warteschlangenpuffer in die
Zentraleinheit CPU sperrt und einen Vorgang zur Eingabe eines
Befehls aus der zweiten ROM-Einrichtung in die Zentraleinheit
CPU freigibt, wenn sich die Signalspeicherschaltung in dem
Setzzustand befindet.
In den Unteransprüchen sind vorteilhafte Ausgestaltungen der
Erfindung gekennzeichnet.
Die Erfindung wird nachstehend anhand von Ausführungsbeispie
len unter Bezugnahme auf die Zeichnung näher beschrieben. Es
zeigen:
Fig. 1 eine Darstellung des Aufbaus eines Mikrocomputers ge
mäß einem ersten Ausführungsbeispiel,
Fig. 2(a) bis 2(k) Zeitablaufdiagramme zur Beschreibung von
Verarbeitungen durch den Mikrocomputer gemäß dem ersten Aus
führungsbeispiel,
Fig. 3(a) bis 3(m) Zeitablaufdiagramme zur Beschreibung von
weiteren Verarbeitungen durch den Mikrocomputer des ersten
Ausführungsbeispiels,
Fig. 4 eine Darstellung des Aufbaus eines Mikrocomputers ge
mäß einem zweiten Ausführungsbeispiel,
Fig. 5 eine Darstellung des Aufbaus eines Mikrocomputers ge
mäß einem dritten Ausführungsbeispiel,
Fig. 6(a) bis 6(k) Zeitablaufdiagramme zur Beschreibung von
Verarbeitungen durch den Mikrocomputer gemäß dem dritten Aus
führungsbeispiel,
Fig. 7(a) bis 7(m) Zeitablaufdiagramme zur Beschreibung wei
terer Verarbeitungen durch den Mikrocomputer gemäß dem drit
ten Ausführungsbeispiel,
Fig. 8 ein Blockschaltbild des Aufbaus eines bekannten Ein-
Chip-Mikrocomputers, und
Fig. 9 eine Darstellung einer Vorgehensweise in einer Situa
tion, in der ein Fehler in einem in einer ROM-Einrichtung ge
speicherten Programm gefunden wird.
Fig. 1 zeigt eine Darstellung des Aufbaus eines Mikrocompu
ters gemäß einem ersten Ausführungsbeispiel. Die Figur zeigt
einen typischen Ein-Chip-Mikrocomputer. Bezugszeichen 2 in
der Figur bezeichnet einen Warteschlangenpuffer zur vorüber
gehenden Speicherung vorab ausgelesener Befehle. Bezugszei
chen 4 bezeichnet eine Adreßdekodiereinrichtung zur Dekodie
rung von Daten auf einem durch Bezugszeichen 48 bezeichneten
Adreßbus und zur Ausgabe von in einer Nur-Lese-Speichereinrichtung
bzw. ROM-Einrichtung 40 (einer ersten
ROM-Einrichtung) gespeicherten Daten an einer Adresse, die
sich aus der Dekodierung der Daten auf dem Adreßbus 48 er
gibt. Bezugszeichen 6 bezeichnet einen Puffer mit drei Zu
ständen bzw. einen Drei-Zustands-Puffer (zweite Logikschal
tung) zur Weitergabe von durch die ROM-Einrichtung 40 an ei
nen Datenbus 50 aus gegebenen Daten, wenn er durch ein auf ei
nen L-Pegel gesetztes Steuersignal in einen Signalweitergabe
zustand versetzt ist. Bezugszeichen 7 bezeichnet einen
Drei-Zustands-Puffer (vierte Logikschaltung) zur Weitergabe von
durch eine JMP-Befehlscode-ROM-Einrichtung 120 (eine zweite
ROM-Einrichtung) an den Datenbus 50 ausgegebenen Daten, wenn
er durch ein auf einen H-Pegel gesetztes Steuersignal in ei
nen Signalweitergabezustand versetzt ist. Bezugszeichen 8 be
zeichnet eine Steuerschaltung zur Steuerung einer Reihenfol
ge, in der Codes eines Befehls aus der JNP-Befehlscode-ROM-Einrichtung
120, auszugeben sind. Bezugszeichen 13 bezeichnet
eine nachstehend als ODER-Schaltung bezeichnete Logik-Summen-Schaltung
zum Bilden der logischen Summe eines durch eine
Zentraleinheit bzw. Zentraleinheit CPU 110 ausgegebenen
Sprungerzeugungssignals 68 und eines durch die Steuerschal
tung 8 ausgegebenen JMP-Befehlscode-Endesignals. Bezugszei
chen 14 bezeichnet eine Signalspeicherschaltung (Latch-Schaltung),
die durch ein Übereinstimmungssignal aus einer
Vergleicherschaltung 46 in einen Setzzustand versetzt wird,
und durch ein durch die ODER-Schaltung 13 ausgegebenes Signal
in einen Rücksetzzustand versetzt wird. Bezugszeichen 15 be
zeichnet ebenfalls eine Logik-Summen-Schaltung bzw. eine
ODER-Schaltung (erste Logikschaltung) zum Bilden der logi
schen Summe eines durch eine Invertiererschaltung 17 ausgege
benen Signals und eines durch die Signalspeicherschaltung 14
ausgegebenen Signals. Das durch die Invertiererschaltung 17
ausgegebene Signal ist das invertierte Signal eines durch den
Warteschlangenpuffer 2 ausgegebenen ROM-Lesesignals 66. Be
zugszeichen 16 bezeichnet eine nachstehend als UND-Schaltung
bezeichnete Logik-Produkt-Schaltung (dritte Logikschaltung)
zum Bilden des logischen Produkts eines durch die Signalspei
cherschaltung 14 ausgegebenen Signals und des ROM-Lesesignals
66 und zur Ausgabe des Logik-Produkt-Signals an die Steuer
schaltung 8 und den Drei-Zustands-Puffer 7. Bezugszeichen 44
bezeichnet ein Register zur Speicherung bestimmter Adreßda
ten. Bezugszeichen 62 bezeichnet eine durch die Zentralein
heit CPU 110 an den Warteschlangenpuffer 2 ausgegebene Adres
se, und Bezugszeichen 64 bezeichnet durch den Warteschlangen
puffer an die Zentraleinheit CPU 110 ausgegebene Daten.
Anzumerken ist, daß im Fall des vorstehend beschriebenen Mi
krocomputers gemäß dem ersten Ausführungsbeispiel eine
ROM-Ausgangs-Schalteinrichtung von der Vergleicherschaltung 46,
der Signalspeicherschaltung 14, der ODER-Schaltung 15, der
UND-Schaltung 16, dem Drei-Zustands-Puffer 6 und dem
Drei-Zustands-Puffer 7 gebildet wird. Andererseits ist eine Adreß
informations-Speichereinrichtung als Register 44 ausgeführt.
Außerdem sind die erste bis vierte Logikschaltung jeweils
durch die ODER-Schaltung 15, den Drei-Zustands-Puffer 6, die
UND-Schaltung 16 und den Drei-Zustands-Puffer 7 ausgeführt.
Fig. 2 zeigt Zeitablaufdiagramme zur Beschreibung von Verar
beitungen durch den Mikrocomputer gemäß dem ersten Ausfüh
rungsbeispiel. Fig. 2(a) zeigt ein Taktsignal, Fig. 2(b)
zeigt die Anzahl von in dem Warteschlangenpuffer 2 gespei
cherten Daten, Fig. 2(c) zeigt Verarbeitungen durch die Zen
traleinheit CPU 110, wobei ein in Klammern eingeschlossenes
Element Daten anzeigt, die von dem Warteschlangenpuffer 2 in
die Zentraleinheit CPU 110 eingegeben werden, Fig. 2(d) zeigt
eine Folge von durch die Zentraleinheit CPU 110 an den Warte
schlangenpuffer 2 ausgegebenen Adressen, wobei die Adressen
jeweils einen Inhalt des Programmzählers in der Zentralein
heit CPU 110 darstellen, Fig. 2(e) zeigt in den Warteschlan
genpuffer 2 von dem Datenbus 50 eingegebene Daten, Fig. 2(f)
zeigt das ROM-Lesesignal 66, Fig. 2(g) zeigt eine Folge von
durch den Warteschlangenpuffer 2 an den Adreßbus 48 ausgege
benen Adressen, wobei die Adressen jeweils einen Inhalt des
Programmzählers in dem Warteschlangenpuffer 2 darstellen,
Fig. 2(h) zeigt das durch die Vergleicherschaltung 46 ausge
gebene Übereinstimmungssignal, Fig. 2(i) zeigt das
JMP-Befehlscode-Endesignal 70, Fig. 2(j) zeigt das durch die Si
gnalspeicherschaltung 14 ausgegebene Signal, und Fig. 2(k)
zeigt das Sprungerzeugungssignal 68.
Nachstehend werden die Verarbeitungen durch den Mikrocomputer
beschrieben.
Durch den Warteschlangenpuffer 2 wird eine Adresse an den
Adreßbus 48 ausgegeben. Wenn die Anzahl der in dem Warte
schlangenpuffer 2 gespeicherten Daten 1 oder 0 wird, liest
der Warteschlangenpuffer 2 Codes eines Befehls aus der
ROM-Einrichtung 40 aus. Codes eines Befehls werden aus der
ROM-Einrichtung 40 in Einheiten von zwei Byte ausgelesen. Die
Zentraleinheit CPU 110 führt beim Erfordernis eines Speicher
zugriffs während der Ausführung eines Befehls einen Zugriff
auf eine Adresse in dem Speicher direkt aus.
Bei der Herstellung des Mikrocomputers wird ein vorbestimmtes
Programm in die ROM-Einrichtung 40 geschrieben. Außerdem wird
ein JMP-Befehl zum Sprung zu der Startadresse eines bestimm
ten Bereichs in einer nicht gezeigten Schreib-Lese-Speichereinrichtung
bzw. RAM-Einrichtung in die
JMP-Befehlscode-ROM-Einrichtung 120 geschrieben. Anzumerken ist,
daß der JMP-Befehl aus Daten von vier Byte besteht. Der be
stimmte Bereich ist ein Bereich in der RAM-Einrichtung, der
für den Benutzer zum Schreiben eines korrekten Programms ver
fügbar ist, das als Ersatz für einen Abschnitt des vorbe
stimmten Programms mit einem Fehler dient. Wenn in dem in der
ROM-Einrichtung 40 gespeicherten Programm ein Fehler gefunden
wird, stellt der Benutzer die Startadresse eines Abschnitts
des Programms mit dem Fehler in dem Register 44 ein und
schreibt das korrekte Programm in den bestimmten Bereich der
RAM-Einrichtung unter Verwendung einer Einrichtung, wobei ty
pischerweise die in Fig. 8 gezeigte EEPROM-Einrichtung 200
verwendet wird. Das heißt, die Adresse PC1 + 2 ist die Star
tadresse des Abschnitts des Programms mit dem Fehler.
Nachstehend wird die Arbeitsweise des Mikrocomputers unter
der Bedingung, daß die Startadresse eines Abschnitts des Pro
gramms mit dem Fehler in dem Register 44 eingestellt ist und
das korrekte Programm in den bestimmten Bereich der
RAM-Einrichtung geschrieben ist, beschrieben.
Der Warteschlangenpuffer 2 befindet sich in einem Anfangszu
stand, bevor ein in Fig. 2 gezeigter Zyklus #1 eintritt. Das
heißt, die Anzahl von in dem Warteschlangenpuffer 2 gespei
cherten Daten ist Null, und die Adreßdaten 62 sind in dem
Programmzähler des Warteschlangenpuffers 2 eingestellt. Im
Fall, daß die Zentraleinheit CPU 110 den Warteschlangenpuffer
2 zur Zufuhr von Daten an einer Adresse PC1 auffordert,
stellt der Warteschlangenpuffer 2 die Adresse PC1 in seinem
Programmzähler ein. Die Adresse PC1 wird sodann an den Adreß
bus 48 ausgegeben, und das ROM-Lesesignal 66 wird gleichzei
tig auf den H-Pegel gesetzt, der den Aktivpegel darstellt. Es
wird angenommen, daß der Anfangsausgangssignalzustand der Sig
nalspeicherschaltung 14 der Rücksetzzustand ist. Das heißt,
das Ausgangssignal der Signalspeicherschaltung 14 ist zu An
fang auf den L-Pegel eingestellt. Da in diesem Fall die Ein
gangssignale der ODER-Schaltung 15 beide auf den L-Pegel ein
gestellt sind, wird der Drei-Zustands-Puffer 6 in einen
Signalweitergabezustand versetzt. Die Adreßdekodiereinrich
tung 4 dekodiert die Adresse PC1 auf dem Adreßbus 48, und die
ROM-Einrichtung 40 wird zur Ausgabe des Codes eines an der
Adresse PC1 gespeicherten Befehls aufgefordert. Da der
Drei-Zustands-Puffer 6 in einen Signalweitergabezustand versetzt
ist, wird der Code des Befehls an den Datenbus 50 ausgegeben.
Der Warteschlangenpuffer 2 liest den Code des Befehls von dem
Datenbus 50 ein. Da der Code eines Befehls in Einheiten von
zwei Byte ausgelesen wird, gibt die ROM-Einrichtung 40 zwei
jeweils in den Adressen PC1 und PC1 + 1 gespeicherte Daten
byte op1 und op2 aus. Der Warteschlangenpuffer 2 liest die
zwei Datenbyte op1 und op2 über den Datenbus 50 ein. Somit
ergibt sich die Anzahl von in dem Warteschlangenpuffer 2 ge
speicherten Daten im Zyklus #1 zu 2, wie es in Fig. 2(b) ge
zeigt ist.
Da die Zentraleinheit CPU 110 einen an der Adresse PC1 ge
speicherten Befehl angefordert hat, gibt der Warteschlangen
puffer 2 die Daten op1 an die Zentraleinheit CPU 110 aus.
Wenn die Daten op1 an die Zentraleinheit CPU 110 ausgegeben
werden, wird die Anzahl von in dem Warteschlangenpuffer 2 ge
speicherten Daten im Zyklus #2 zu 1, wie es in Fig. 2(b) ge
zeigt ist, wodurch der Warteschlangenpuffer 2 zum vorab Aus
lesen eines weiteren Befehls aus der ROM-Einrichtung 40 ver
anlaßt wird. Das heißt, zum vorab Auslesen des weiteren Be
fehls aus der ROM-Einrichtung 40 wird eine Adresse PC1 + 2 an
den Adreßbus 48 ausgegeben, und das ROM-Lesesignal 66 wird
auf den aktiven H-Pegel gesetzt. Auf das Erkennen im Zyklus
#2 hin, daß die Daten op1 den Operationscode ("opcode") eines
Befehls darstellen, fordert andererseits die Zentraleinheit
CPU 110 den Warteschlangenpuffer 2 auf, an der Adresse PC1 + 1
gespeicherte Daten (d. h. den Operanden des Befehls) zuzu
führen, während der Warteschlangenpuffer 2 den weiteren Be
fehl aus der ROM-Einrichtung vorab ausliest (Zyklen #2 bis #4
in Fig. 2 (d)). Beruhend auf der Anforderung der Zentralein
heit CPU 110 gibt der Warteschlangenpuffer 2 die gehaltenen
Daten op2 an die Zentraleinheit CPU 110 aus. Somit wird die
Anzahl von in dem Warteschlangenpuffer 2 gespeicherten Daten
im Zyklus #3 zu Null, wie es in Fig. 2(b) gezeigt ist.
In den Zyklen #5 bis #8 führt die Zentraleinheit CPU 110 eine
Verarbeitung entsprechend dem die Daten op1 und op2 umfassen
den Befehl aus. Bei einer typischen Verarbeitung, wie sie in
Fig. 2(c) gezeigt ist, werden Daten aus einer Adresse PC2
ausgelesen, durch die Zentraleinheit CPU 110 verarbeitet, und
ein Ergebnis der Verarbeitung wird an die Adresse PC2 ge
schrieben. Während des Verarbeitungsablaufs greift die Zen
traleinheit CPU 110 in den Zyklen #4 bis #8 auf die Adresse
PC2 zu, wie es in Fig. 2(d) gezeigt ist. Anzumerken ist, daß
in Fig. 2(e) gezeigte schraffierte Zeitsegmente Zeitabschnit
te darstellen, in denen der Datenbus 50 zur Übertragung von
Daten verwendet wird, die von dem Code eine Befehls verschie
den sind.
Bei diesem Beispiel wird die Adresse PC1 + 2 in dem Register
44 als Startadresse des Abschnitts mit einem Fehler einge
stellt. Wenn daher der Warteschlangenpuffer 2 die Adresse PC1 + 2
an den Adreßbus 48 ausgibt, setzt die Vergleicherschal
tung 46 das Übereinstimmungssignal auf den H-Pegel, wie es in
Fig. 2(h) gezeigt ist. Infolgedessen wird ein durch die Sig
nalspeicherschaltung 14 ausgegebenes Signal auf den H-Pegel
gesetzt, wie es in Fig. 2(j) gezeigt ist. Das durch die Si
gnalspeicherschaltung 14 ausgegebene Signal mit dem H-Pegel
hebt wiederum ein durch die ODER-Schaltung 15 ausgegebene Sig
nal auf den H-Pegel an, wodurch der Drei-Zustands-Puffer 6
in einen Blockierungszustand versetzt wird. Infolgedessen
werden aus der ROM-Einrichtung 40 ausgegebene Daten nicht an
den Datenbus 50 weitergegeben. Da das durch die Signalspei
cherschaltung 14 ausgegebene Signal der UND-Schaltung 16 als
ein Eingangssignal zugeführt wird, wird die UND-Schaltung 16
in einen Zustand zur Weitergabe des ROM-Lesesignals 66 ver
setzt. Da der Warteschlangenpuffer 2 das ROM-Lesesignal 66
auf den H-Pegel setzt, gibt die UND-Schaltung 16 auch ein Sig
nal mit dem H-Pegel aus. Infolgedessen wird der
Drei-Zustands-Puffer 7 in einen Signalweitergabezustand versetzt.
Wenn das durch die UND-Schaltung 16 ausgegebene Signal auf
den H-Pegel eingestellt ist, wird die Steuerschaltung 8 ak
tiv, wodurch die JMP-Befehlscode-ROM-Einrichtung 120 zur Aus
gabe eines in einer korrekten Reihenfolge aufgebauten
JMP-Befehls aufgefordert wird.
Als erstes werden die ersten zwei Datenbyte jmp1 und jmp2 des
JMP-Befehlscodes aufeinanderfolgend eines nach dem anderen
synchron mit einem Taktsignal aus der JMP-Befehlscode-ROM-Einrichtung
120 ausgegeben. Die Daten jmp1 und jmp2 werden
dem Warteschlangenpuffer 2 in den Zyklen #3 und #4 über den
Datenbus 50 zugeführt, wie es in Fig. 2(e) gezeigt ist. Da
die Anzahl von in dem Warteschlangenpuffer 2 gespeicherten
Daten im Zyklus #4 zwei wird, wie es in Fig. 2(b) gezeigt
ist, setzt der Warteschlangenpuffer 2 den Vorgang zum vorab
Auslesen eines Befehls aus der ROM-Einrichtung 40 aus.
Wenn die Ausführung des aus den Daten op1 und op2 bestehenden
Befehlscodes beendet ist, fordert die Zentraleinheit CPU 110
den Warteschlangenpuffer 2 zur Zufuhr des Codes eines Befehls
an der nächsten Adresse PC1 + 2 auf, die PC1 + 1 folgt. Der
Warteschlangenpuffer 2 gibt beruhend auf der Anforderung von
der Zentraleinheit CPU 110 die gespeicherten Daten jmp1 an
die Zentraleinheit CPU 110 aus. Da infolgedessen die Anzahl
der in dem Warteschlangenpuffer 2 gespeicherten Daten eins
wird, nimmt der Warteschlangenpuffer 2 den Vorgang zum vorab
Auslesen eines Befehls aus der ROM-Einrichtung 40 wieder auf.
Das heißt, der Warteschlangenpuffer 2 gibt in den Zyklen #9
bis #11 eine Adresse PC1 + 4 an den Adreßbus 48 aus und setzt
gleichzeitig das ROM-Lesesignal 66 auf den H-Pegel, wie es in
den Fig. 2(f) und 2(g) gezeigt ist. Wenn das ROM-Lesesignal
66 auf den H-Pegel eingestellt ist, werden die folgenden zwei
Datenbyte jmp3 und jmp4 des JMP-Befehlscodes durch die
JMP-Befehlscode-ROM-Einrichtung 120 ausgegeben. Die zwei Daten
byte jmp3 und jmp4 werden dem Warteschlangenpuffer 2 über den
Datenbus 50 in den Zyklen #10 und #11 zugeführt, wie es in
Fig. 2(e) gezeigt ist.
Andererseits erkennt die Zentraleinheit Zentraleinheit CPU
110, daß die Daten jmp1 den Operationscode des JMP-Befehls
darstellen, und die Zentraleinheit Zentraleinheit CPU 110
fordert den Warteschlangenpuffer 2 zur Zufuhr von Daten an
der Adresse PC1 + 3 in den Zyklen #9 bis #11 auf, wie es in
Fig. 2(d) gezeigt ist, um den Operanden des JMP-Befehls zu
erhalten. Auf die Anforderung von der Zentraleinheit Zen
traleinheit CPU 110 hin überträgt der Warteschlangenpuffer 2
die gespeicherten Daten jmp2 und jmp3 in den Zyklen #10 und
#11 zu der Zentraleinheit Zentraleinheit CPU 110, wie es in
Fig. 2(c) gezeigt ist. Infolgedessen ergibt sich die Anzahl
der Daten in dem Warteschlangenpuffer 2 zu 1. Anzumerken ist,
daß die Anzahl der in dem Warteschlangenpuffer 2 gespeicher
ten Daten zuvor von 1 auf drei, d. h. um 2, erhöht wurde, als
die zwei Datenbyte jmp3 und jmp4 dem Warteschlangenpuffer 2
im Zyklus #10 zugeführt wurden, wie es in Fig. 2(b) gezeigt
ist. Da der JMP-Befehl vier Byte umfaßt, gibt die Zentralein
heit Zentraleinheit CPU 110 eine Adresse PC1 + 5 als Adreßda
ten 62 zum Erhalt des restlichen Bytes aus. Auf diese Anfor
derung von der Zentraleinheit Zentraleinheit CPU 110 hin
überträgt der Warteschlangenpuffer 2 die gespeicherten Daten
jmp4. Infolgedessen wird die Anzahl der in dem Warteschlan
genpuffer 2 gespeicherten Daten Null.
Zu einem Zeitpunkt, an dem der Vorgang zur Ausgabe des
JMP-Befehls aus der JMP-Befehlscode-ROM-Einrichtung 120 beendet
ist, hebt die Steuerschaltung 8 das JMP-Befehlscode-Endesignal
70 auf den H-Pegel an, wie es in Fig. 2(i) gezeigt
ist. Die Signalspeicherschaltung 14 wird durch den Anstieg
des der Signalspeicherschaltung 14 über die ODER-Schaltung 13
zugeführten JMP-Befehlscode-Endesignals 70 in einen Rücksetz
zustand versetzt, wie es in Fig. 2(j) gezeigt ist. Das heißt,
die Signalspeicherschaltung 14 gibt ein Signal mit dem
L-Pegel aus, und die ODER-Schaltung 15 wird in einen Zustand
zur Weitergabe des ROM-Lesesignals 66 versetzt. Somit werden
später, wenn das ROM-Lesesignal 66 auf den H-Pegel gesetzt
ist, dem Warteschlangenpuffer 2 über den Datenbus 50 durch
die ROM-Einrichtung 40 ausgegebene Daten zugeführt. Da einer
der Eingänge der UND-Schaltung 16, dem das durch die Signal
speicherschaltung 14 ausgegebene Signal zugeführt wird, auf
den L-Pegel gesetzt ist, wird ein durch die UND-Schaltung 16
ausgegebenes Signal auf den L-Pegel gesetzt. Infolgedessen
wird der Drei-Zustands-Puffer 7 in einen Signalblockierungs
zustand versetzt. Das heißt, es werden keine Daten aus der
JMP-Befehlscode-ROM-Einrichtung 120 an den Datenbus 50 ausge
geben.
Zum vorab Auslesen eines nächsten Befehls gibt der Warte
schlangenpuffer 2 im Zyklus #11 eine Adresse PC1 + 6 an den
Adreßbus 48 aus und setzt das ROM-Lesesignal 66 auf den
H-Pegel (Zyklen #11 bis #13 in den Fig. 2(f) und 2(g)). Da der
Drei-Zustands-Puffer 6 zu diesem Zeitpunkt in einen Signal
weitergabezustand versetzt wurde, werden an den Adressen PC1 + 6
und PC1 + 7 gespeicherte Daten op7 und op8 auf das auf
den H-Pegel gesetzte ROM-Lesesignal 66 hin aus der
ROM-Einrichtung 40 an den Datenbus 50 ausgegeben. Der Warte
schlangenpuffer 2 empfängt sodann die Daten op7 und op8 von
dem Datenbus 50.
Auf die Beendigung der Ausführung des JMP-Befehls hin wird
jedoch ein Sprungerzeugungssignal 68 aus der Zentraleinheit
Zentraleinheit CPU 110 ausgegeben, wie es in Fig. 2(k) ge
zeigt ist, und der Inhalt des Warteschlangenpuffers 2 wird
durch das Sprungerzeugungssignal 68 gelöscht. Infolgedessen
werden die Daten op7 und op8 aus dem Warteschlangenpuffer 2
gelöscht, wodurch die Anzahl der in dem Warteschlangenpuffer
2 gespeicherten Daten Null wird. Wenn die Zentraleinheit CPU
110 desweiteren später einen Befehl anfordert, wird der Wert
der Adreßdaten 62 in dem Programmzähler des Warteschlangen
puffers 2 eingestellt. Es ist anzumerken, daß der Programm
zähler in der Zentraleinheit Zentraleinheit CPU 110 auf einen
Wert aktualisiert wird, der durch den Operanden des Codes des
JMP-Befehls angezeigt wird.
Wie es vorstehend beschrieben ist, wird nur dann, wenn die
JMP-Befehlscode-ROM-Einrichtung 120 zur Ausgabe des Codes ei
nes JMP-Befehls zum Sprung zu dem korrekten Programm an den
Datenbus 50 aufgefordert wird, der Drei-Zustands-Puffer 7,
der Daten aus der JMP-Befehlscode-ROM-Einrichtung 120 als
Eingangssignal entgegennimmt, in einen Signalweitergabezu
stand versetzt, wobei der Drei-Zustands-Puffer 6 in einen Sig
nalblockierungszustand versetzt wird. Führt die Zentralein
heit Zentraleinheit CPU 110 den JMP-Befehl (jmp1 bis jmp4)
zum Sprung zu dem korrekten Programm aus, wird somit der
Drei-Zustands-Puffer 6, der Daten aus der ROM-Einrichtung 40
als Eingangsdaten entgegennimmt, in einen Signalweitergabezu
stand zurückversetzt, während der Drei-Zustands-Puffer 7 in
einen Signalblockierungszustand versetzt wird. Danach wird
das in der RAM-Einrichtung gespeicherte korrekte Programm
ausgeführt. Ein am Ende des korrekten Programms vorhandener
Sprungbefehl veranlaßt die Zentraleinheit Zentraleinheit CPU
110 zur Rückkehr zur Ausführung des in der ROM-Einrichtung 40
gespeicherten Programms. Da der Drei-Zustands-Puffer 6, der
Daten aus der ROM-Einrichtung als Eingangsdaten entgegen
nimmt, zu diesem Zeitpunkt in einen Signalweitergabezustand
versetzt wurde, wird die Ausführung des in der ROM-Einrichtung
40 gespeicherten Programms sofort wiederaufgenom
men.
Nachstehend ist ein Hardware-Interrupt bezugnehmend auf die
in Fig. 3 gezeigten Zeitablaufdiagramme beschrieben, der auf
tritt, bevor der Vorgang zur Ausgabe des Codes des JMP-Befehls
aus der JMP-Befehlscode-ROM-Einrichtung 120 beendet
ist. Es wird angenommen, daß eine Adresse PC1 + 2 in dem Re
gister 44 als Startadresse eines bestimmten Bereichs in der
RAM-Einrichtung gespeichert ist. Wie es in Fig. 3(m) gezeigt
ist, tritt im Zyklus #1 eine Interruptanforderung auf. Da die
Zentraleinheit Zentraleinheit CPU 110 zu diesem Zeitpunkt ei
nen Befehl ausführt, wird die Interruptanforderung nach der
Ausführung des Befehls entgegengenommen. Daher führt der Mi
krocomputer in den in Fig. 3 gezeigten Zyklen #1 bis #8 eine
Verarbeitung derart aus, als ob keine Interruptanforderung
aufgetreten wäre. Das heißt, die in den in Fig. 3 gezeigten
Zyklen #1 bis #8 von dem Mikrocomputer ausgeführte Verarbei
tung ist die gleiche wie die in den in Fig. 2 gezeigten Zyklen
#1 bis #8 ausgeführte Verarbeitung. Es ist anzumerken,
daß die in den Fig. 3(a) bis 3(k) gezeigten Zeitablaufdia
gramme jeweils den in den Fig. 2(a) bis 2(k) gezeigten
Zeitablaufdiagrammen entsprechen. Am Ende des Zyklus #8 er
gibt sich der Inhalt des Programmzählers in der Zentralein
heit Zentraleinheit CPU 110 zu PC +2, wie es in Fig. 3(d) ge
zeigt ist.
Zum vorab Auslesen eines Befehls gibt der Warteschlangenpuf
fer 2 die Adresse PC1 + 2 an den Adreßbus 48 in den Zyklen #2
bis #4 aus, wie es in Fig. 3(g) gezeigt ist. Infolgedessen
setzt die Vergleicherschaltung 46 das Übereinstimmungssignal
auf den H-Pegel, wodurch die Signalspeicherschaltung 14 in
einen Setzzustand versetzt wird. In diesem Zustand wird das
durch die Signalspeicherschaltung 14 ausgegebene Signal auf
den H-Pegel gesetzt, wodurch die ODER-Schaltung 15 in einen
Zustand zur Blockierung des ROM-Lesesignals 66 versetzt wird.
Das heißt, der Vorgang zur Ausgabe von Daten aus der ROM-Einrichtung
40 an den Datenbus 50 wird gesperrt. Andererseits
wird die UND-Schaltung 16 in einen Zustand zur Weitergabe des
ROM-Lesesignals 66 versetzt. In diesem Zustand werden die Da
ten jmp1 und jmp2 entsprechend dem auf den H-Pegel gesetzten
ROM-Lesesignal 66 aus der JMP-Befehlscode-ROM-Einrichtung 120
an den Datenbus 50 ausgegeben. Der Warteschlangenpuffer 2
nimmt die Daten jmp1 und jmp2 von dem Datenbus 50 in den Zy
klen #3 und #4 entgegen, wie es in Fig. 3(e) gezeigt ist, wo
durch sich die Anzahl von in dem Warteschlangenpuffer 2 ge
speicherten Daten auf 2 erhöht. Somit setzt der Warteschlan
genpuffer 2 den Vorgang zum vorab Auslesen des Befehls aus.
Infolgedessen werden die einen Abschnitt des JMP-Befehlscodes
bildenden Daten jmp1 und jmp2 im Zyklus #8 in dem Warte
schlangenpuffer 2 gespeichert. Außerdem wird die Signalspei
cherschaltung 14 zu diesem Zeitpunkt in einen Setzzustand
versetzt.
Da ein Interrupt angefordert wurde, startet die Zentralein
heit Zentraleinheit CPU 110 am Ende des Zyklus #8, bei dem
die Ausführung des Befehls beendet ist, einen Sprung zur Un
terbrechung bzw. zum Interrupt. Die Ausführung des Sprungs
dauert mehrere Zyklen. Im letzten Zyklus des Sprungs setzt
die Zentraleinheit CPU 110 das Sprungerzeugungssignal 68 auf
den H-Pegel, wie es in Fig. 3(k) gezeigt ist. Das Sprunger
zeugungssignal 68 wird der Signalspeicherschaltung 14 über
die ODER-Schaltung 13 zugeführt, wodurch die Signalspeicher
schaltung 14 in einen Rücksetzzustand versetzt wird. Infolge
dessen wird die ODER-Schaltung 15 in einen Zustand zur Wei
tergabe des ROM-Lesesignals 66 versetzt. Das heißt, der Vor
gang zur Ausgabe von Daten aus der ROM-Einrichtung 40 an den
Datenbus 50 wird frei gegeben. Andererseits wird die
UND-Schaltung 16 in einen Zustand zur Blockierung des ROM-Lesesignals
66 versetzt. Desweiteren löscht das Sprungerzeu
gungssignal 68 den Inhalt des Warteschlangenpuffers 2.
In der ROM-Einrichtung 40 ist auch ein Interruptbehandlungs
programm gespeichert, das nach dem Sprung zum Interrupt aus
zuführen ist. Durch die vorstehend beschriebene Verarbeitung
wurde der Vorgang zur Ausgabe von Daten aus der ROM-Einrichtung
40 an den Datenbus 50 vor dem Start der Ausfüh
rung des Interruptbehandlungsprogramms wieder freigegeben. Da
außerdem der Inhalt des Warteschlangenpuffers 2 gelöscht wur
de, stellt der Warteschlangenpuffer 2 die Startadresse des
Interruptbehandlungsprogramms in seinem Programmzähler ein,
wenn die Zentraleinheit CPU 110 den Warteschlangenpuffer 2
zur Zufuhr von Daten der Startadresse des Interruptbehand
lungsprogramms auffordert.
Falls die vorstehend beschriebene Verarbeitung zum Versetzen
der Signalspeicherschaltung 14 in einen Rücksetzzustand unter
Verwendung des Sprungerzeugungssignals 68 nicht ausgeführt
wird, wird der Vorgang zur Ausgabe von Daten aus der ROM-Einrichtung
40 an den Datenbus 50 gesperrt, während der Vor
gang zur Ausgabe von Daten aus der JMP-Befehlscode-ROM-Einrichtung
120 an den Datenbus 50 freigegeben wird. In die
sem Fall werden die Befehlsdaten jmp3 und jmp4, die aus der
JMP-Befehlscode-ROM-Einrichtung 120 ausgegeben werden, zu Be
ginn des Interruptbehandlungsprogramms der Zentraleinheit CPU
110 über den Warteschlangenpuffer 2 zugeführt, um nach dem
Interruptsprung ausgeführt zu werden. Infolgedessen wird das
Interruptbehandlungsprogramm nicht auf normalem Weg ausge
führt. Im Fall des ersten Ausführungsbeispiels wird diese Si
tuation jedoch nie auftreten.
Ist die Ausführung des Interruptbehandlungsprogramms beendet,
dann wird der Inhalt des Programmzählers in der Zentralein
heit CPU 110 wieder auf seinen Originalzustand eingestellt,
d. h. auf die Adresse PC1 + 2. Somit fordert die Zentralein
heit CPU 110 die Adresse PC1 + 2 als Adreßdaten 62 an. Da im
allgemeinen am Ende des Interruptbehandlungsprogramms ein
Sprungbefehl ausgeführt wird, wurde der Inhalt des Warte
schlangenpuffers 2 gelöscht. Daher stellt der Warteschlangen
puffer 2 auf eine Anforderung von der Zentraleinheit CPU 110
zur Zufuhr eines an der Adresse PC1 + 2 gespeicherten Befehls
hin die Adresse PC1 + 2 in seinem Programmzähler ein, wodurch
die Adresse PC1 + 2 an den Adreßbus ausgegeben wird. Wenn die
Adresse PC1 + 2 den Adreßbus erreicht, setzt die Vergleicher
schaltung 46 das Übereinstimmungssignal auf den H-Pegel, wo
durch die JMP-Befehlscode-ROM-Einrichtung 120 wiederum zur
Ausgabe des Codes eines JMP-Befehls an den Datenbus 50 veran
laßt wird. Auf diese Weise kann das korrekte Programm ausge
führt werden.
Wie es vorstehend beschrieben ist, kann bei einem Mikrocompu
ter mit einem Warteschlangenpuffer 2 zum vorab Auslesen von
Befehlen gemäß dem ersten Ausführungsbeispiel ein Interrupt
behandlungsprogramm selbst dann auf normalem Weg ausgeführt
werden, wenn der Interrupt angefordert wird, während der War
teschlangenpuffer 2 den Code eines JMP-Befehls aus der
JMP-Befehlscode-ROM-Einrichtung 120 ausliest. Das heißt, in die
sem Fall wird der Vorgang zum Auslesen des Codes eines JMP-Befehls
aus der JMP-Befehlscode-ROM-Einrichtung 120 ausge
setzt. Statt dessen werden Codes von Befehlen aufeinanderfol
gend, einer nach dem anderen, beginnend mit der Startadresse
des Interruptbehandlungsprogramms aus der ROM-Einrichtung 40
ausgelesen und dem Warteschlangenpuffer 2 zugeführt.
Anzumerken ist, daß der Warteschlangenpuffer 2 die Adresse
PC1 + 2 an den Adreßbus 48 ausgeben kann, während die Zen
traleinheit CPU 110 einen Sprungbefehls des Programms aus
führt. In diesem Fall gibt die Vergleicherschaltung 46 das
Übereinstimmungssignal mit dem H-Pegel aus, wodurch die Si
gnalspeicherschaltung 14 in den Setzzustand versetzt wird.
Infolgedessen wird der Vorgang zur Ausgabe von Daten aus der
ROM-Einrichtung 40 an den Datenbus 50 gesperrt. Unter dieser
Bedingung wird der Zustand zum Sperren des Vorgangs zur Aus
gabe von Daten aus der ROM-Einrichtung 40 an den Datenbus 50
aufrechterhalten, so daß die Übertragung der Steuerung an ein
Zielprogramm entsprechend dem Sprungbefehl nicht ausführbar
ist. Gemäß dem ersten Ausführungsbeispiel wird jedoch am Ende
der Ausführung des Sprungbefehls die Signalspeicherschaltung
14 durch das Sprungerzeugungssignal 68 rückgesetzt. Infolge
dessen tritt kein Fall auf, bei dem eine Übertragung der
Steuerung an ein Zielprogramm entsprechend dem Sprungbefehl
nicht ausführbar ist.
Fig. 4 zeigt ein Blockschaltbild des Aufbaus eines Mikrocom
puters gemäß einem zweiten Ausführungsbeispiel. Das in der
Figur gezeigte Bezugszeichen 122 bezeichnet eine
Software-Interruptbefehlscode-ROM-Einrichtung (eine zweite
ROM-Einrichtung), die in dem Mikrocomputer anstelle der in Fig. 1
gezeigten JMP-Befehlscode-ROM-Einrichtung 120 vorgesehen ist.
Die übrigen Komponenten in dem Aufbau sind die gleichen wie
jene in Fig. 1.
Nachstehend werden durch den Mikrocomputer ausgeführte Verar
beitungsvorgänge beschrieben.
In der Software-Interruptbefehlscode-ROM-Einrichtung 122 wird
vorab ein Software-Interruptbefehl, d. h. ein Befehl zum
Sprung an eine Startadresse eines bestimmten Bereichs in der
RAM-Einrichtung, gespeichert. Der Software-Interruptbefehl
umfaßt eine Vielzahl von Byte. Wenn die Vergleicherschaltung
46 das Übereinstimmungssignal mit dem H-Pegel ausgibt, wird
in gleicher Weise wie bei dem ersten Ausführungsbeispiel der
Vorgang zur Ausgabe von Daten aus der ROM-Einrichtung 40 an
den Datenbus 50 gesperrt, während der Vorgang zur Ausgabe von
Daten aus der Software-Interruptbefehlscode-ROM-Einrichtung
122 an den Datenbus 50 freigegeben wird. Infolgedessen wird
der Code des Software-Interruptbefehls aus der Software-
Interruptbefehlscode-ROM-Einrichtung 122 an den Datenbus 50
ausgegeben, wenn das ROM-Lesesignal 66 auf den H-Pegel ge
setzt wird. Wenn der Vorgang zur Ausgabe des Codes des Soft
ware-Interruptbefehls beendet ist, setzt die Steuerschaltung
8 das JMP-Befehlscode-Endesignal 70 auf den H-Pegel. Die wei
teren Vorgänge sind die gleichen wie jene des ersten Ausfüh
rungsbeispiels.
Wie es vorstehend beschrieben ist, führt die Zentraleinheit
CPU 110 im Fall des zweiten Ausführungsbeispiels einen Soft
ware-Interruptbefehl anstelle des in der JMP-Befehlscode-ROM-Einrichtung
120 gespeicherten JMP-Befehls aus, wobei die
gleiche Wirkung wie bei dem ersten Ausführungsbeispiel erhal
ten wird. Das heißt, nur wenn die
Software-Interruptbefehlscode-ROM-Einrichtung 122 zur Ausgabe des
Codes des Software-Interruptbefehls zum Sprung zu dem korrek
ten Programm an den Datenbus 50 aufgefordert wird, wird der
Drei-Zustands-Puffer 7, der Daten aus der
Software-Interruptbefehlscode-ROM-Einrichtung 122 als Eingangssignal
entgegennimmt, in einen Signalweitergabezustand versetzt,
während der Drei-Zustands-Puffer 6 in einen Signalblockie
rungszustand versetzt wird. Führt die Zentraleinheit CPU 110
einen Software-Interruptbefehl zum Sprung zu dem korrekten
Programm aus, dann wird der Drei-Zustands-Puffer 6, der Daten
aus der ROM-Einrichtung 40 als Eingangssignal entgegennimmt,
in den Signalweitergabezustand zurückversetzt, während der
Drei-Zustands-Puffer 7 wiederum in einen Signalblockierungs
zustand versetzt wird.
Desweiteren kann ein Interruptbehandlungsprogramm selbst dann
auf normalem Weg ausgeführt werden, wenn der Interrupt ange
fordert wird, während der Warteschlangenpuffer 2 den Code des
Software-Interruptbefehls aus der Software-Interruptbefehls
code-ROM-Einrichtung 122 ausliest. Dies folgt daraus, daß im
Fall einer derartigen Interruptanforderung der Vorgang zum
Auslesen des Codes des Software-Interruptbefehls aus der
Software-Interruptbefehlscode-ROM-Einrichtung 122 ausgesetzt
wird. Statt dessen werden Codes von Befehlen aufeinanderfol
gend einer nach dem anderen, beginnend mit der Startadresse
des Interruptbehandlungsprogramms aus der ROM-Einrichtung 40
ausgelesen und dem Warteschlangenpuffer 2 zugeführt.
Fig. 5 zeigt ein Blockschaltbild des Aufbaus eines Mikrocom
puters gemäß einem dritten Ausführungsbeispiel. Auch in die
sem Fall wird ein Ein-Chip-Mikrocomputer als Beispiel verwen
det. Das in der Figur gezeigte Bezugszeichen 18 bezeichnet
eine Schalteinrichtung zur Auswahl entweder des Warteschlan
genpuffers 2 oder der JMP-Befehlscode-ROM-Einrichtung 120 als
Quelle, aus der Daten der Zentraleinheit CPU 110 zuzuführen
sind. Bezugszeichen 61 bezeichnet einen Drei-Zustands-Puffer,
der in einen Signalweitergabezustand eintritt, wenn das ROM-Lesesignal
66 auf den H-Pegel gesetzt wird, wodurch aus der
ROM-Einrichtung 40 ausgegebene Daten an den Datenbus 50 wei
tergegeben werden. Die übrigen Komponenten in dem Aufbau sind
die gleichen wie jene in Fig. 1. Im Fall des dritten Ausfüh
rungsbeispiel vergleicht jedoch die Vergleicherschaltung 46
den Inhalt des Registers 44 mit den durch die Zentraleinheit
CPU 110 ausgegebenen Adreßdaten. Außerdem wird die Signal
speicherschaltung 14 nur durch das JMP-Befehlscode-Endesignal
70 in einen Rücksetzzustand versetzt. Das durch die Signal
speicherschaltung 14 ausgegebene Signal wird dem
Drei-Zustands-Puffer 7 und der Steuerschaltung 8 direkt zugeführt.
Die Schalteinrichtung 18 wird in einen Zustand zur Zufuhr des
Ausgangssignals des Warteschlangenpuffers 2 zu der Zen
traleinheit CPU 110 umgeschaltet, wenn das durch die Signal
speicherschaltung 14 ausgegebene Signal auf den L-Pegel rück
gesetzt wird.
Fig. 6 zeigt Zeitablaufdiagramme zur Beschreibung von Verar
beitungen durch den Mikrocomputer gemäß dem dritten Ausfüh
rungsbeispiel. Die Fig. 6(a) bis 6(k), die Verarbeitungen
durch die den Mikrocomputer bildenden Komponenten zeigen,
entsprechen jeweils den Fig. 2(a) bis 2(k). Anzumerken ist,
daß ein in Klammern eingeschlossenes Element in Fig. 6(c) Da
ten darstellt, die in die Zentraleinheit CPU 110 entweder aus
dem Warteschlangenpuffer 2 oder der JMP-Befehlscode-ROM-Einrichtung
120 eingegebenen werden.
Nachstehend wird die Arbeitsweise des Mikrocomputers be
schrieben.
Es wird angenommen, daß eine Adresse PC1 + 2 in dem Register
44 eingestellt ist. Ferner wird angenommen, daß sich der War
teschlangenpuffer 2 vor dem Eintreten des in Fig. 6 gezeigten
Zyklus #1 im Anfangszustand befindet. Ferner ist das durch
die Signalspeicherschaltung, 14 ausgegebene Signal auf den
L-Pegel rückgesetzt, und die Zentraleinheit CPU 110 befindet
sich in einem Zustand zur Eingabe von Daten aus dem Warte
schlangenpuffer 2. Im Zyklus #1 fordert die Zentraleinheit
CPU 110 dann den Warteschlangenpuffer 2 zur Zufuhr von an der
Adresse PC1 gespeicherten Daten auf, wie es in Fig. 6(d) ge
zeigt ist. Auf die Anforderung von der Zentraleinheit CPU 110
hin gibt der Warteschlangenpuffer 2 die Adresse PC1 an den
Adreßbus 48 aus und setzt gleichzeitig das ROM-Lesesignal 66
auf den H-Pegel, der den Aktivpegel darstellt. Da das durch
die Signalspeicherschaltung 14 ausgegebene Signal auf den
L-Pegel rückgesetzt ist, befindet sich der Drei-Zustands-Puffer
7 in einem Signalblockierungszustand. Die Adreßdekodierein
richtung 4 dekodiert die Adresse PC1 auf dem Adreßbus 48, wo
bei die ROM-Einrichtung 40 zur Ausgabe des Codes eines an der
dekodierten Adresse gespeicherten Befehls veranlaßt. Da der
Drei-Zustands-Puffer 61 durch das auf den H-Pegel gesetzte
ROM-Lesesignal 66 in einen Signalweitergabezustand versetzt
ist, wird der Code des Befehls an den Datenbus 50 ausgegeben.
Der Warteschlangenpuffer 2 nimmt dann den Code des Befehls
von dem Datenbus 50 entgegen. Der Code eines Befehls wird in
Einheiten von zwei Byte gelesen. Daher gibt die ROM-Einrichtung
40 zwei Datenbyte op1 und op2 aus, die dann durch
den Warteschlangenpuffer 2 in den Zyklen #1 und #2 empfangen
werden, wie es in Fig. 6(e) gezeigt ist. Wenn die zwei Daten
byte op1 und op2 dem Warteschlangenpuffer 2 zugeführt sind,
ergibt sich die Anzahl von in dem Warteschlangenpuffer 2 ge
speicherten Datenbyte in den Zyklen #1 und #2 zu zwei, wie es
in Fig. 6(b) gezeigt ist.
Da die Zentraleinheit CPU 110 eine Anforderung bezüglich der
Adresse PC1 ausgegeben hat, gibt der Warteschlangenpuffer 2
die Daten op1 an die Zentraleinheit CPU 110 aus. Somit ergibt
sich die Anzahl der in dem Warteschlangenpuffer 2 gespeicher
ten Daten im Zyklus 2 zu eins, wie es in Fig. 6(b) gezeigt
ist. Da die Anzahl der in dem Warteschlangenpuffer 2 gespei
cherten Daten eins ist, führt der Warteschlangenpuffer 2 ei
nen Vorgang zum vorab Auslesen eines Befehls aus. Das heißt,
der Warteschlangenpuffer 2 gibt eine Adresse PC1 + 2 an den
Adreßbus 48 aus und setzt gleichzeitig das ROM-Lesesignal 66
auf den H-Pegel. Wenn andererseits im Zyklus #2 erkannt wird,
daß die Daten op1 den Operationscode eines Befehls darstel
len, wie es in Fig. 6(c) gezeigt ist, fordert die Zentralein
heit CPU 110 in den Zyklen #2 bis #4 den Warteschlangenpuffer
2 zur Zufuhr von Daten an der Adresse PC1 + 1 auf, an der der
Operand gespeichert ist, wie es in Fig. 6(d) gezeigt ist,
während der Warteschlangenpuffer 2 den nächsten Befehl vorab
ausliest. Auf die Anforderung von der Zentraleinheit CPU 110
hin gibt der Warteschlangenpuffer 2 die gespeicherten Daten
op2 an die Zentraleinheit CPU 110 aus. Infolgedessen wird die
Anzahl der in dem Warteschlangenpuffer 2 gespeicherten Daten
im Zyklus #3 Null, wie es in Fig. 6(b) gezeigt ist. Danach
führt die Zentraleinheit CPU 110 in den Zyklen #5 bis #8 eine
auf dem die Daten op1 und op2 umfassenden Befehl beruhende
Verarbeitung aus.
Da, wie es vorstehend beschrieben ist, der Warteschlangenpuf
fer 2 eine Adresse PC1 + 2 an den Adreßbus 48 ausgibt und
gleichzeitig das ROM-Lesesignal 66 auf den H-Pegel setzt,
werden die an der entsprechenden Adresse gespeicherten Daten
op3 und op4 durch die ROM-Einrichtung 40 an den Datenbus 50
ausgegeben. Der Warteschlangenpuffer 2 nimmt dann in den Zy
klen #3 und #4 die Daten op3 und op4 von dem Datenbus 50 ent
gegen, wie es in Fig. 6(e) gezeigt ist. Da die Anzahl der in
dem Warteschlangenpuffer 2 gespeicherte somit zwei geworden
ist, setzt der Warteschlangenpuffer 2 den Vorgang zum vorab
Auslesen eines Befehls aus. Anzumerken ist, daß obwohl die
Adresse PC1 + 2 im dem Adreßregister 44 eingestellt ist, das
Übereinstimmungssignal zu diesem Zeitpunkt nicht auf den
H-Pegel gesetzt wird, da der Vergleicherschaltung 46 keine Da
ten auf dem Adreßbus 48 zugeführt werden.
Nach Beendigung der Ausführung des die Daten op1 und op2 um
fassenden Befehls fordert die Zentraleinheit CPU 110 den War
teschlangenpuffer 2 in den Zyklen #8 und #9 zur Zufuhr des
Codes eines an der der Adresse PC1 + 1 folgenden Adresse PC1 + 2
gespeicherten Befehls auf, wie es in Fig. 6(d) gezeigt
ist. Da die Adresse PC1 + 2 auch der Vergleicherschaltung 46
als eines ihrer Eingangssignale zugeführt wird, gibt die Ver
gleicherschaltung 46 das auf den H-Pegel gesetzte Überein
stimmungssignal aus, wie es in Fig. 6(h) gezeigt ist. Infol
gedessen wird die Signalspeicherschaltung 14 im Zyklus #9 in
einen Setzzustand versetzt, wie es in Fig. 6(j) gezeigt ist.
Da die Signalspeicherschaltung 14 das ausgegebene Signal so
mit auf den H-Pegel setzt, wird der Drei-Zustands-Puffer 7 in
einen Signalweitergabezustand versetzt. Zur gleichen Zeit
verbindet die Schalteinrichtung 18 die Zentraleinheit CPU 110
mit dem Drei-Zustands-Puffer 7.
Wenn das durch die Signalspeicherschaltung 14 ausgegebene Si
gnal auf den H-Pegel gesetzt wird, wird die Steuerschaltung 8
aktiviert, wobei die JMP-Befehlscode-ROM-Einrichtung 120 zur
Ausgabe eines in einer korrekten Reihenfolge aufgebauten JMP-Befehls
aufgefordert wird. Auf die Anforderung von der Steu
erschaltung 8 hin gibt zuerst die JMP-Befehlscode-ROM-Einrichtung
120 die Daten jmp1 aus, die das erste Byte des
Befehlscodes darstellen. Die Daten jmp1 werden der Zen
traleinheit CPU 110 im Zyklus #9 über den Drei-Zustands-Puffer
7 und die Schalteinrichtung 18 zugeführt, wie es in
Fig. 6(c) gezeigt ist.
Andererseits gibt der Warteschlangenpuffer 2 auf den Empfang
der von der Zentraleinheit CPU 110 ausgegebene Anforderung
des Codes des an der Adresse PC1 + 2 gespeicherten Befehls
ein die gespeicherten Daten op3 an die Zentraleinheit CPU 110
aus. Da die Schalteinrichtung 18 die Verbindung zwischen der
Zentraleinheit CPU 110 und dem Warteschlangenpuffer 2 unter
bricht, können die Daten op3 der Zentraleinheit CPU 110 je
doch nicht zugeführt werden. Da der Warteschlangenpuffer 2
ein Datenbyte an die Zentraleinheit CPU 110 ausgegeben hat,
wird die Anzahl der in dem Warteschlangenpuffer 2 gespeicher
ten Daten im Zyklus #9 auf eins verringert, wie es in Fig.
6(b) gezeigt ist. Daher setzt der Warteschlangenpuffer 2 den
Vorgang zum vorab Auslesen eines Befehls fort. Dementspre
chend werden jeweils an den Adressen PC1 + 4 und PC1 + 5 ge
speicherte Daten op5 und op6 aus der ROM-Einrichtung 40 über
den Datenbus 50 an den Warteschlangenpuffer 2 ausgegeben
(Zyklen #9 bis #11 in Fig. 6(g) und Zyklen #10 und #11 in
Fig. 6(e)). Infolgedessen wird die Anzahl der in dem Warte
schlangenpuffer 2 gespeicherten Daten im Zyklus #10 auf drei
erhöht, wie es in Fig. 6(b) gezeigt ist.
Wenn erkannt wird, daß die Daten jmp1 den Operationscode des
JMP-Befehls darstellen, fordert die Zentraleinheit CPU 110
den Warteschlangenpuffer 2 in den Zyklen #9 bis #101 zur Zu
fuhr von Daten an der Adresse PC1 + 3 auf, wie es in Fig. 6d
gezeigt ist, um den Operanden des JMP-Befehls zu erhal
ten. Auf die Anforderung von der Zentraleinheit CPU 110 hin
gibt der Warteschlangenpuffer 2 die gespeicherten Daten op4
und op5 an die Zentraleinheit CPU 110 aus. Da die Schaltein
richtung 18 die Verbindung zwischen der Zentraleinheit CPU
110 und dem Warteschlangenpuffer 2 unterbricht, können die
Daten op4 und op5 jedoch der Zentraleinheit CPU 110 nicht zu
geführt werden. Die Anzahl der in dem Warteschlangenpuffer 2
gespeicherten Daten werden aber dennoch im Zyklus #11 auf
eins verringert, wie es in Fig. 6(b) gezeigt ist. Zur Anfor
derung des verbleibenden einen Bytes des Codes des JMP-Befehls
gibt die Zentraleinheit CPU 110 eine Adresse PC1 + 5
als Adreßdaten 62 aus. Auf die Anforderung von der Zen
traleinheit CPU 110 hin überträgt der Warteschlangenpuffer 2
die gespeicherten Daten op6 zu der Zentraleinheit CPU 110. Da
die Schalteinrichtung 18 die Verbindung zwischen der Zen
traleinheit CPU 110 und dem Warteschlangenpuffer 2 unter
bricht, können die Daten op6 der Zentraleinheit CPU 110 je
doch auch nicht zugeführt werden. Die Anzahl der in dem War
teschlangenpuffer 2 gespeicherten Daten wird aber dennoch im
Zyklus #12 auf Null verringert, wie es in Fig. 6(b) gezeigt
ist.
Während dessen werden die Daten jmp2 bis jmp4 über den Drei-
Zustands-Puffer 7 und die Schalteinrichtung 18 in die Zen
traleinheit CPU 110 eingegeben. Somit wird der Inhalt des
Programmzählers in der Zentraleinheit CPU 110 auf einen durch
den Operanden des JMP-Befehls bestimmten Wert eingestellt.
Außerdem gibt die Zentraleinheit CPU 110 das Sprungerzeu
gungssignal 68 aus, wie es in Fig. 6(k) gezeigt ist. Zu die
sem Zeitpunkt ist der Vorgang zur Ausgabe des Codes des
JMP-Befehls aus der JMP-Befehlscode-ROM-Einrichtung 120 beendet,
und die Steuerschaltung 8 setzt das JMP-Befehlscode-Endesignal
70 auf den H-Pegel, wie es in Fig. 6(i) gezeigt
ist. Die Signalspeicherschaltung 14 wird bei der ansteigenden
Flanke des JMP-Befehlscode-Endesignals 70 in den Rücksetzzu
stand versetzt. Das heißt, das durch die Signalspeicherschal
tung 14 ausgegebene Signal wird im Zyklus #4 auf den L-Pegel
gesetzt, wie es in Fig. 6(j) gezeigt ist. Infolgedessen wird
der Drei-Zustands-Puffer 7 in einen Signalblockierungszustand
versetzt, und gleichzeitig unterbricht die Schalteinrichtung
18 die Verbindung zwischen der JMP-Befehlscode-ROM-Einrichtung
120 und der Zentraleinheit CPU 110, verbindet je
doch statt dessen den Warteschlangenpuffer 2 mit der Zen
traleinheit CPU 110.
Der Warteschlangenpuffer 2 gibt zum vorab Auslesen des Codes
eines Befehls im Zyklus #11 eine Adresse PC1 + 6 an den
Adreßbus 48 aus und setzt gleichzeitig das ROM-Lesesignal 66
auf den H-Pegel (Zyklen #11 bis #13, wie in den Fig. 6(f) und
6(g) gezeigt ist) . Wenn das ROM-Lesesignal 66 auf den H-Pegel
gesetzt wird, gibt die ROM-Einrichtung 40 jeweils an den
Adressen PC1 + 6 und PC1 + 7 gespeicherte Daten op7 und op8
an den Datenbus 50 aus. Der Warteschlangenpuffer 2 nimmt dann
die Daten op7 und op8 von dem Datenbus 50 entgegen.
Da der Inhalt des Warteschlangenpuffers 2 durch das Sprunger
zeugungssignal 68 gelöscht wird, befindet sich der Mikrocom
puter jedoch in einem Zustand, in dem er zur Ausführung eines
Programms am Ziel des JMP-Befehls bereit ist, wie es auch im
ersten Ausführungsbeispiel der Fall ist.
Nachstehend wird bezugnehmend auf die in Fig. 7 gezeigten Ab
laufdiagramme ein Interrupt beschrieben, der auftritt, bevor
der Vorgang zur Ausgabe des Codes des JMP-Befehls aus der
JMP-Befehlscode-ROM-Einrichtung 120 beendet ist. Es wird an
genommen, daß eine Adresse PC1 + 2 in dem Register 44 als
Startadresse eines bestimmten Bereichs in der RAM-Einrichtung
gespeichert ist. Wie es in Fig. 7(m) gezeigt ist, wird im Zy
klus #1 ein Interrupt angefordert. Da die Zentraleinheit CPU
110 zu diesem Zeitpunkt einen Befehl ausführt, wird die In
terruptanforderung nach Beendigung der Ausführung des Befehls
angenommen. Infolgedessen führt der Mikrocomputer in den in
Fig. 7 gezeigten Zyklen #1 bis #8 Verarbeitungen derart aus,
als wäre kein Interrupt angefordert worden. Das heißt, die in
den in Fig. 7 gezeigten Zyklen #1 bis #8 durch den Mikrocom
puter ausgeführten Verarbeitungen sind die gleichen wie die
in den in Fig. 6 gezeigten Zyklen #1 bis #8 ausgeführten Ver
arbeitungen. Anzumerken ist, daß die in den Fig. 7(a) bis
7(k) gezeigten Zeitablaufdiagramme jeweils den in den Fig.
6(a) bis 6(k) gezeigten Zeitablaufdiagrammen entsprechen. Am
Ende von Zyklus #8 ergibt sich der Inhalt des Programmzählers
in der Zentraleinheit CPU 110 zu PC1 + 2, wie es in Fig. 7(d)
gezeigt ist, was auch im in Fig. 6 gezeigten Fall zutrifft.
Da ein Interrupt angefordert wurde, startet die Zentralein
heit CPU 110 entsprechend der Interruptanforderung einen
Sprung am Ende von Zyklus #8, bei dem die Ausführung des ge
genwärtigen Befehls beendet ist. Der Inhalt des Programmzäh
lers in der Zentraleinheit CPU 110, d. h. die Adresse PC1 + 2,
wird gespeichert bzw. gesichert und die Startadresse eines
Interruptbehandlungsprogramms in dem Programmzähler einge
stellt. Daher wird tatsächlich die Adresse PC1 + 2 nicht als
Adreßdaten 62 ausgegeben. Außerdem wird der Inhalt des Warte
schlangenpuffers 2 durch das Sprungerzeugungssignal 68 ge
löscht. Das Interruptbehandlungsprogramm ist ebenfalls in der
ROM-Einrichtung 40 gespeichert. Danach nimmt die Zentralein
heit CPU 110 Codes von das Interruptbehandlungsprogramm bil
denden, durch die Zentraleinheit CPU 110 angeforderten Befeh
len von der ROM-Einrichtung 40 entgegen.
Da im Fall des dritten Ausführungsbeispiels die durch die
Zentraleinheit CPU 110 ausgegebenen Adreßdaten 62 direkt in
die Vergleicherschaltung 46 eingegeben werden, steigt das
durch die Vergleichereinrichtung 46 ausgegebene Übereinstim
mungssignal selbst dann nicht auf den H-Pegel an, wenn der
Interrupt während der Ausführung eines an einer Adresse ge
speicherten Befehls auftritt, die der Adresse PC1 + 2 unmit
telbar vorhergeht. Daher wird das durch die Signalspeicher
schaltung 14 ausgegebene Signal nicht auf den H-Pegel ge
setzt. Somit wird die Zentraleinheit CPU 110 nicht mit der
JMP-Befehlscode-ROM-Einrichtung 120 verbunden. Daher kann die
Zentraleinheit CPU 110 das in der ROM-Einrichtung 40 gespei
cherte Interruptbehandlungsprogramm ohne Probleme ausführen.
Wenn die Ausführung des Interruptbehandlungsprogramms beendet
ist, wird der Inhalt des Programmzählers in der Zentralein
heit CPU 110 wieder auf seinen Originalzustand eingestellt,
d. h. auf die Adresse PC1 + 2. Somit gibt die Zentraleinheit
CPU 110 die Adresse PC1 + 2 als Adreßdaten 62 aus. Da infol
gedessen die Vergleichereinrichtung 46 das Übereinstimmungs
signal auf den H-Pegel setzt, beginnt der Vorgang zur Ausgabe
des Codes eines JMP-Befehls aus der JMP-Befehlscode-ROM-Einrichtung
120 an die Zentraleinheit CPU 110.
Bei einem vorstehend beschriebenen Mikrocomputer mit einem
Warteschlangenpuffer 2 zum vorab Auslesen von Befehlen gemäß
dem dritten Ausführungsbeispiel kann ein Interruptbehand
lungsprogramm selbst dann auf normalem Weg ausgeführt werden,
wenn der Interrupt angefordert wird, während der Code eines
JMP-Befehls aus der JMP-Befehlscode-ROM-Einrichtung 120 aus
gelesen wird. Im Fall einer derartigen Interruptanforderung
wird der Vorgang zum Auslesen des Codes eines JMP-Befehls aus
der JMP-Befehlscode-ROM-Einrichtung 120 ausgesetzt. Statt
dessen werden Codes von Befehlen nacheinander, einer nach dem
anderen, beginnend mit der Startadresse des Interruptbehand
lungsprogramms aus der ROM-Einrichtung 40 ausgelesen und dem
Warteschlangenpuffer 2 zugeführt.
Bei den vorstehend beschriebenen Ausführungsbeispielen wird
die JMP-Befehlscode-ROM-Einrichtung 120 oder die
Software-Interruptbefehlscode-ROM-Einrichtung 122 nur zur Speicherung
eines Sprungbefehls verwendet. Es ist jedoch anzumerken, daß
sie auch genauso zur Speicherung weiterer Befehle verwendet
werden können, falls dies erforderlich ist. Außerdem kann das
Register 44 auch zur Speicherung einer Vielzahl von Adreßin
formationen verwendet werden. Auf diese Weise kann eine Viel
zahl von JMP-Befehlscode-ROM-Einrichtungen 120 oder
Software-Interruptbefehlscode-ROM-Einrichtungen 122 vorgesehen sein.
Es ist auch anzumerken, daß die in Bit ausgedrückte Länge des
Registers 44 nicht unbedingt mit der Länge des Adreßbusses 48
übereinstimmen muß. Wenn auf den gesamten Adreßraum der ROM-Einrichtung
40 mittels einer Adresse mit weniger Bit gegen
über dem Adreßbus 48 zugegriffen werden kann, kann das Register
44 eine kürzere in Bit ausgedrückte Länge als der Adreß
bus 48 aufweisen.
Bei den bisher beschriebenen Ausführungsbeispielen ist die
ROM-Einrichtung 40 in dem Mikrocomputer enthalten. Die ROM-Einrichtung
40 kann jedoch auch außerhalb des Mikrocomputers
mit der gleichen Wirkung vorgesehen sein. Außerdem kann die
EEPROM-Einrichtung zur Einstellung einer Startadresse eines
Programms mit einem Fehler in dem Register 44 und zur Spei
cherung eines korrekten Programms in einem bestimmten Bereich
der RAM-Einrichtung auch in dem Mikrocomputer enthalten sein.
Da, wie vorstehend beschrieben ist, der Mikrocomputer gemäß
dem ersten Merkmal der Erfindung eine ROM-Ausgangs-Schalteinrichtung
zur Freigabe des Vorgangs zur Ausgabe von
Daten aus einer ersten ROM-Einrichtung und zum Sperren des
Vorgangs zur Ausgabe von Daten aus einer zweiten ROM-Einrichtung
mittels eines Sprungerzeugungssignals oder eines
Befehlscode-Endesignals enthält, zeigt der Mikrocomputer eine
Wirkung dahingehend, daß eine Einrichtung zur Lösung eines
durch einen Fehler in einem in der ersten ROM-Einrichtung ge
speicherten Programm verursachten Problems selbst dann mit
hohem Zuverlässigkeitsgrad arbeitet, wenn in dem Mikrocompu
ter ein Warteschlangenpuffer vorgesehen ist.
Da der Mikrocomputer gemäß einem zweiten Merkmal der Erfin
dung eine Signalspeicherschaltung enthält, die durch ein
Übereinstimmungssignal einer Vergleicherschaltung zum Ver
gleich von in einer Adreßinformations-Speichereinrichtung ge
speicherten Adreßinformationen mit Adreßdaten auf einem
Adreßbus in einen Setzzustand versetzt wird, und durch das
Sprungerzeugungssignal oder das Befehlscode-Endesignal in ei
nen Rücksetzzustand versetzt wird, zeigt der Mikrocomputer
eine Wirkung dahingehend, daß die Zustände der Vorgänge zur
Ausgabe von Daten aus der ersten ROM-Einrichtung und der
zweiten ROM-Einrichtung durch ein Signal, das durch die von
dem Übereinstimmungssignal angesteuerte Signalspeicherschal
tung erzeugt wird, das Sprungerzeugungssignal und das Befehls
code-Endesignal gesteuert werden, wodurch die Einrichtung
zur Lösung eines durch einen Fehler in einem in der ersten
ROM-Einrichtung gespeicherten Programm verursachten Problems
selbst dann mit hoher Zuverlässigkeit arbeiten kann, wenn in
dem Mikrocomputer ein Warteschlangenpuffer vorgesehen ist.
Da der Mikrocomputer gemäß dem dritten Merkmal der Erfindung
ferner eine zweite Logikschaltung zur Steuerung von aus der
ersten ROM-Einrichtung ausgegebenen Daten durch das Ausgangs
signal der in einen Rücksetzzustand versetzten Signalspei
cherschaltung und eine vierte Logikschaltung zur Steuerung
von aus der zweiten ROM-Einrichtung aus gegebenen Daten durch
das Ausgangssignal der in einen Setzzustand versetzten
Signalspeicherschaltung enthält, zeigt der Mikrocomputer eine
Wirkung dahingehend, daß die Zustände der Vorgänge zur Ausga
be von Daten aus der ersten und der zweiten ROM-Einrichtung
durch die zweite und die vierte Logikschaltung gesteuert wer
den, wobei das Übereinstimmungssignal, das Sprungerzeugungs
signal und das Befehlscode-Endesignal in Betracht gezogen
werden, wodurch die Einrichtung zur Lösung eines durch einen
Fehler in einem in der ersten ROM-Einrichtung gespeicherten
Programms verursachten Problems selbst dann mit hoher Zuver
lässigkeit arbeiten kann, wenn in dem Mikrocomputer ein War
teschlangenpuffer vorgesehen ist.
Da der Mikrocomputer gemäß dem vierten Merkmal der Erfindung
eine Signalspeicherschaltung, die in einen Setzzustand ver
setzt wird, wenn eine Vergleicherschaltung ein die Überein
stimmung der in einer Adreßinformations-Speichereinrichtung
gespeicherten Adreßinformationen mit einem Inhalt eines Pro
grammzählers in einer Zentraleinheit CPU anzeigendes Überein
stimmungssignal ausgibt, und die durch ein die Beendigung ei
nes Vorgangs zur Ausgabe eines Befehls aus einer zweiten ROM-Einrichtung
anzeigendes Befehlscode-Endesignal in einen Rück
setzzustand versetzt wird, und eine Schalteinrichtung zum
Sperren eines Vorgangs zur Zufuhr eines Befehls von einem
Warteschlangenpuffer zu der Zentraleinheit CPU und zur Frei
gabe eines Vorgangs zur Zufuhr eines Befehls von der zweiten
ROM-Einrichtung zu der Zentraleinheit CPU, wenn sich die
Signalspeicherschaltung in einem Setzzustand befindet, enthält,
zeigt der Mikrocomputer eine Wirkung dahingehend, daß ein In
terruptbehandlungsprogramm selbst dann auf normalem Weg aus
geführt werden kann, wenn beispielsweise ein Interrupt auf
tritt, während Daten aus der zweiten ROM-Einrichtung ausgele
sen werden, wodurch eine Einrichtung zur Lösung eines durch
einen Fehler in einem in der ersten ROM-Einrichtung gespei
cherten Programm verursachten Problems selbst dann mit hoher
Zuverlässigkeit arbeiten kann, wenn in dem Mikrocomputer ein
Warteschlangenpuffer vorgesehen ist.
Bei dem bekannten Mikrocomputer kann somit ein Problem dahin
gehend auftreten, daß eine Einrichtung zur Korrektur eines
Fehlers in einem in einer ROM-Einrichtung gespeicherten Pro
gramm nicht korrekt arbeitet, wenn ein Warteschlangenpuffer
zum vorab Auslesen eines Befehls vorgesehen ist.
Bei einem Mikrocomputer gemäß den vorstehend beschriebenen
Ausführungsbeispielen vergleicht eine Vergleicherschaltung in
einem Register gespeicherte Adreßinformationen mit Adreßdaten
auf einem Adreßbus, und eine Signalspeicherschaltung wird
durch ein durch die Vergleicherschaltung aktiviertes Überein
stimmungssignal in einen Setzzustand versetzt, und durch ein
Sprungerzeugungssignal oder ein JMP-Befehlscode-Endesignal in
einen Rücksetzzustand versetzt. In den Rücksetzzustand wird
ein Vorgang zur Ausgabe von Daten aus einer
JMP-Befehlscode-ROM-Einrichtung an einen Datenbus gesperrt.
Claims (4)
1. Mikrocomputer mit
einem Warteschlangenpuffer (2) zum vorab Auslesen jedes Befehls eines in einer ersten ROM-Einrichtung (40) gespei cherten Programms vor der Ausführung des Befehls durch eine Zentraleinheit CPU (110), wobei ein Inhalt des Warteschlan genpuffers (2) durch ein Sprungerzeugungssignal (68) zur An zeige der Beendigung der Ausführung eines Sprungbefehls durch die Zentraleinheit CPU (110) gelöscht wird,
einer zweiten ROM-Einrichtung (120, 122) zur Speicherung eines Befehls zum Sprung zu einem Adreßraum außerhalb eines Adreßraums der ersten ROM-Einrichtung (40) und
einer Adreßinformations-Speichereinrichtung (44) zur Speicherung von Adreßinformationen,
gekennzeichnet durch
eine ROM-Ausgangs-Schalteinrichtung (6, 7, 14, 15, 16, 46) zum Vergleich von in der Adreßinformations-Speichereinrichtung (44) gespeicherten Adreßinformationen mit einem Inhalt eines Programmzählers des Warteschlangenpuffers (2), um einen Vorgang zur Ausgabe von Daten aus der zweiten ROM-Einrichtung (120, 122) freizugeben und einen Vorgang zur Ausgabe von Daten aus der ersten ROM-Einrichtung (40) zu sperren, wenn die Adreßinformationen mit dem Inhalt überein stimmen, und um einen Vorgang zur Ausgabe von Daten aus der ersten ROM-Einrichtung (40) freizugeben und einen Vorgang zur Ausgabe von Daten aus der zweiten ROM-Einrichtung (120, 122) zu sperren, wenn das Sprungerzeugungssignal (68) oder ein Be fehlscode-Endesignal (70) eingegeben wird, das anzeigt, daß ein Befehl aus der zweiten ROM-Einrichtung (120, 122) ausge geben wurde.
einem Warteschlangenpuffer (2) zum vorab Auslesen jedes Befehls eines in einer ersten ROM-Einrichtung (40) gespei cherten Programms vor der Ausführung des Befehls durch eine Zentraleinheit CPU (110), wobei ein Inhalt des Warteschlan genpuffers (2) durch ein Sprungerzeugungssignal (68) zur An zeige der Beendigung der Ausführung eines Sprungbefehls durch die Zentraleinheit CPU (110) gelöscht wird,
einer zweiten ROM-Einrichtung (120, 122) zur Speicherung eines Befehls zum Sprung zu einem Adreßraum außerhalb eines Adreßraums der ersten ROM-Einrichtung (40) und
einer Adreßinformations-Speichereinrichtung (44) zur Speicherung von Adreßinformationen,
gekennzeichnet durch
eine ROM-Ausgangs-Schalteinrichtung (6, 7, 14, 15, 16, 46) zum Vergleich von in der Adreßinformations-Speichereinrichtung (44) gespeicherten Adreßinformationen mit einem Inhalt eines Programmzählers des Warteschlangenpuffers (2), um einen Vorgang zur Ausgabe von Daten aus der zweiten ROM-Einrichtung (120, 122) freizugeben und einen Vorgang zur Ausgabe von Daten aus der ersten ROM-Einrichtung (40) zu sperren, wenn die Adreßinformationen mit dem Inhalt überein stimmen, und um einen Vorgang zur Ausgabe von Daten aus der ersten ROM-Einrichtung (40) freizugeben und einen Vorgang zur Ausgabe von Daten aus der zweiten ROM-Einrichtung (120, 122) zu sperren, wenn das Sprungerzeugungssignal (68) oder ein Be fehlscode-Endesignal (70) eingegeben wird, das anzeigt, daß ein Befehl aus der zweiten ROM-Einrichtung (120, 122) ausge geben wurde.
2. Mikrocomputer nach Anspruch 1,
dadurch gekennzeichnet, daß
die ROM-Ausgangs-Schalteinrichtung (6, 7, 14, 15, 16, 46) ei
ne Vergleicherschaltung (46) zum Vergleich von in der Adreß
informations-Speichereinrichtung (44) gespeicherten Adreßin
formationen mit Adreßdaten auf einem Adreßbus (48) und eine
Signalspeicherschaltung (14) aufweist, die durch ein Überein
stimmungssignal aus der Vergleicherschaltung (46) in einen
Setzzustand versetzt wird, und die durch das Sprungerzeu
gungssignal (68) oder das Befehlscode-Endesignal (70) in ei
nen Rücksetzzustand versetzt wird.
3. Mikrocomputer nach Anspruch 2,
dadurch gekennzeichnet, daß
die ROM-Ausgangs-Schalteinrichtung (6, 7, 14, 15, 16, 46)
ferner
eine erste Logikschaltung (15) zur Weitergabe eines ROM-Lesesignals (66) aus dem Warteschlangenpuffer (2), wenn die Signalspeicherschaltung (14) in einen Rücksetzzustand ver setzt ist,
eine zweite Logikschaltung (6) zum Empfang von aus der ersten ROM-Einrichtung (40) ausgegebenen Daten und zur Wei tergabe oder Blockierung der Daten entsprechend einem durch die erste Logikschaltung (15) ausgegebenen Signal,
eine dritte Logikschaltung (16) zur Weitergabe des ROM-Lesesignals (66) aus dem Warteschlangenpuffer (2), wenn die Signalspeicherschaltung (14) in einen Setzzustand versetzt ist, und
eine vierte Logikschaltung (7) zum Empfang von durch die zweite ROM-Einrichtung (120, 122) ausgegebenen Daten und zur Weitergabe oder Blockierung der Daten entsprechend einem durch die dritte Logikschaltung (16) ausgegebenen Signal auf weist.
eine erste Logikschaltung (15) zur Weitergabe eines ROM-Lesesignals (66) aus dem Warteschlangenpuffer (2), wenn die Signalspeicherschaltung (14) in einen Rücksetzzustand ver setzt ist,
eine zweite Logikschaltung (6) zum Empfang von aus der ersten ROM-Einrichtung (40) ausgegebenen Daten und zur Wei tergabe oder Blockierung der Daten entsprechend einem durch die erste Logikschaltung (15) ausgegebenen Signal,
eine dritte Logikschaltung (16) zur Weitergabe des ROM-Lesesignals (66) aus dem Warteschlangenpuffer (2), wenn die Signalspeicherschaltung (14) in einen Setzzustand versetzt ist, und
eine vierte Logikschaltung (7) zum Empfang von durch die zweite ROM-Einrichtung (120, 122) ausgegebenen Daten und zur Weitergabe oder Blockierung der Daten entsprechend einem durch die dritte Logikschaltung (16) ausgegebenen Signal auf weist.
4. Mikrocomputer mit
einem Warteschlangenpuffer (2) zum vorab Auslesen jedes Befehls eines in einer ersten ROM-Einrichtung (40) gespei cherten Programms vor der Ausführung des Befehls durch eine Zentraleinheit CPU (110), wobei ein Inhalt des Warteschlan genpuffers (2) durch ein Sprungerzeugungssignal zur Anzeige der Beendigung der Ausführung eines Sprungbefehls durch die Zentraleinheit CPU (110) gelöscht wird,
einer zweiten ROM-Einrichtung (120) zur Speicherung ei nes Befehls zum Sprung zu einem Adreßraum außerhalb eines Adreßraums der ersten ROM-Einrichtung (40),
einer Adreßinformations-Speichereinrichtung (44) zur Speicherung von Adreßinformationen und
einer Vergleicherschaltung (46) zum Vergleich von in der Adreßinformations-Speichereinrichtung (44) gespeicherten Adreßinformationen mit einem Inhalt eines Programmzählers in der Zentraleinheit CPU (110), gekennzeichnet durch
eine Signalspeicherschaltung (14), die durch ein Über einstimmungssignal aus der Vergleicherschaltung (46) in einen Setzzustand versetzt wird, wobei das Übereinstimmungssignal die Übereinstimmung von in der Adreßinformations-Speichereinrichtung (44) gespeicherten Adreßinformationen mit einem Inhalt des Programmzählers in der Zentraleinheit CPU (110) anzeigt, und die durch ein Befehlscode-Endesignal, das anzeigt, daß die zweite ROM-Einrichtung (120) einen Befehl ausgegeben hat, in einen Rücksetzzustand versetzt wird, und
eine Schalteinrichtung (18) zum Sperren eines Vorgangs zur Bereitstellung eines Befehls von dem Warteschlangenpuffer (2) für die Zentraleinheit CPU (110) und zur Freigabe eines Vorgangs zur Bereitstellung eines Befehls von der zweiten ROM-Einrichtung (120) für die Zentraleinheit CPU (110), wenn die Signalspeicherschaltung (14) in einen Setzzustand ver setzt ist.
einem Warteschlangenpuffer (2) zum vorab Auslesen jedes Befehls eines in einer ersten ROM-Einrichtung (40) gespei cherten Programms vor der Ausführung des Befehls durch eine Zentraleinheit CPU (110), wobei ein Inhalt des Warteschlan genpuffers (2) durch ein Sprungerzeugungssignal zur Anzeige der Beendigung der Ausführung eines Sprungbefehls durch die Zentraleinheit CPU (110) gelöscht wird,
einer zweiten ROM-Einrichtung (120) zur Speicherung ei nes Befehls zum Sprung zu einem Adreßraum außerhalb eines Adreßraums der ersten ROM-Einrichtung (40),
einer Adreßinformations-Speichereinrichtung (44) zur Speicherung von Adreßinformationen und
einer Vergleicherschaltung (46) zum Vergleich von in der Adreßinformations-Speichereinrichtung (44) gespeicherten Adreßinformationen mit einem Inhalt eines Programmzählers in der Zentraleinheit CPU (110), gekennzeichnet durch
eine Signalspeicherschaltung (14), die durch ein Über einstimmungssignal aus der Vergleicherschaltung (46) in einen Setzzustand versetzt wird, wobei das Übereinstimmungssignal die Übereinstimmung von in der Adreßinformations-Speichereinrichtung (44) gespeicherten Adreßinformationen mit einem Inhalt des Programmzählers in der Zentraleinheit CPU (110) anzeigt, und die durch ein Befehlscode-Endesignal, das anzeigt, daß die zweite ROM-Einrichtung (120) einen Befehl ausgegeben hat, in einen Rücksetzzustand versetzt wird, und
eine Schalteinrichtung (18) zum Sperren eines Vorgangs zur Bereitstellung eines Befehls von dem Warteschlangenpuffer (2) für die Zentraleinheit CPU (110) und zur Freigabe eines Vorgangs zur Bereitstellung eines Befehls von der zweiten ROM-Einrichtung (120) für die Zentraleinheit CPU (110), wenn die Signalspeicherschaltung (14) in einen Setzzustand ver setzt ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8139138A JPH09319569A (ja) | 1996-05-31 | 1996-05-31 | マイクロコンピュータ |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19652290A1 true DE19652290A1 (de) | 1997-12-04 |
DE19652290C2 DE19652290C2 (de) | 2000-08-17 |
Family
ID=15238437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19652290A Expired - Fee Related DE19652290C2 (de) | 1996-05-31 | 1996-12-16 | Mikrocomputer |
Country Status (4)
Country | Link |
---|---|
US (1) | US5799144A (de) |
JP (1) | JPH09319569A (de) |
KR (1) | KR100252432B1 (de) |
DE (1) | DE19652290C2 (de) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6049672A (en) * | 1996-03-08 | 2000-04-11 | Texas Instruments Incorporated | Microprocessor with circuits, systems, and methods for operating with patch micro-operation codes and patch microinstruction codes stored in multi-purpose memory structure |
US6141740A (en) * | 1997-03-03 | 2000-10-31 | Advanced Micro Devices, Inc. | Apparatus and method for microcode patching for generating a next address |
US5983337A (en) * | 1997-06-12 | 1999-11-09 | Advanced Micro Devices, Inc. | Apparatus and method for patching an instruction by providing a substitute instruction or instructions from an external memory responsive to detecting an opcode of the instruction |
US6158018A (en) * | 1997-11-25 | 2000-12-05 | Philips Semiconductor, Inc. | Integrated circuit including patching circuitry to bypass portions of an internally flawed read only memory and a method therefore |
US6412081B1 (en) | 1999-01-15 | 2002-06-25 | Conexant Systems, Inc. | System and method for providing a trap and patch function to low power, cost conscious, and space constrained applications |
JP2000347862A (ja) * | 1999-06-08 | 2000-12-15 | Nec Corp | 命令入換え回路 |
US6438664B1 (en) | 1999-10-27 | 2002-08-20 | Advanced Micro Devices, Inc. | Microcode patch device and method for patching microcode using match registers and patch routines |
AU2000264226A1 (en) * | 2000-08-17 | 2002-02-25 | Xemics Sa | Control module comprising a read-only memory with reduced power consumption |
KR100410557B1 (ko) * | 2001-11-19 | 2003-12-18 | 주식회사 하이닉스반도체 | 프로그램 수정 가능한 마이크로컨트롤러 및 구동방법 |
US7197358B2 (en) * | 2002-06-18 | 2007-03-27 | Cambridge Heart, Inc. | Identifying infants at risk for sudden infant death syndrome |
US7464248B2 (en) | 2005-04-25 | 2008-12-09 | Mediatek Incorporation | Microprocessor systems and bus address translation methods |
US8156486B2 (en) * | 2008-10-29 | 2012-04-10 | Mediatek Inc. | Patching devices and methods thereof for patching firmware functions |
US8438558B1 (en) | 2009-03-27 | 2013-05-07 | Google Inc. | System and method of updating programs and data |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3900187A1 (de) * | 1988-03-11 | 1989-09-28 | Mitsubishi Electric Corp | Ein-chip-mikrocomputer |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4542453A (en) * | 1982-02-19 | 1985-09-17 | Texas Instruments Incorporated | Program patching in microcomputer |
US4769767A (en) * | 1984-01-03 | 1988-09-06 | Ncr Corporation | Memory patching system |
US4751703A (en) * | 1986-09-16 | 1988-06-14 | International Business Machines Corp. | Method for storing the control code of a processor allowing effective code modification and addressing circuit therefor |
JPS6393038A (ja) * | 1986-10-07 | 1988-04-23 | Mitsubishi Electric Corp | 計算機 |
JPS63156231A (ja) * | 1986-12-19 | 1988-06-29 | Fujitsu Ltd | リ−ドオンリ−メモリ内命令の変更方法 |
JPS63304563A (ja) * | 1987-06-03 | 1988-12-12 | Hitachi Ltd | イオン注入装置 |
JPH0769812B2 (ja) * | 1987-12-29 | 1995-07-31 | 富士通株式会社 | データ処理装置 |
US5072364A (en) * | 1989-05-24 | 1991-12-10 | Tandem Computers Incorporated | Method and apparatus for recovering from an incorrect branch prediction in a processor that executes a family of instructions in parallel |
JPH05143476A (ja) * | 1991-11-20 | 1993-06-11 | Fujitsu Ltd | 命令キユーの診断方式 |
US5623665A (en) * | 1992-01-13 | 1997-04-22 | Sony Corporation | Electronic apparatus for patching a read-only memory |
US5251174A (en) * | 1992-06-12 | 1993-10-05 | Acer Incorporated | Memory system |
JPH06318261A (ja) * | 1992-09-18 | 1994-11-15 | Sony Corp | 電子装置 |
EP0675436B1 (de) * | 1994-03-31 | 1999-10-27 | STMicroelectronics, Inc. | Wiederverwendbarer Mehrwegsatz assoziativer Cache-Speicher |
US5652858A (en) * | 1994-06-06 | 1997-07-29 | Hitachi, Ltd. | Method for prefetching pointer-type data structure and information processing apparatus therefor |
US5664135A (en) * | 1994-09-28 | 1997-09-02 | Hewlett-Packard Company | Apparatus and method for reducing delays due to branches |
-
1996
- 1996-05-31 JP JP8139138A patent/JPH09319569A/ja active Pending
- 1996-11-26 US US08/757,751 patent/US5799144A/en not_active Expired - Fee Related
- 1996-12-16 DE DE19652290A patent/DE19652290C2/de not_active Expired - Fee Related
-
1997
- 1997-01-06 KR KR1019970000104A patent/KR100252432B1/ko not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3900187A1 (de) * | 1988-03-11 | 1989-09-28 | Mitsubishi Electric Corp | Ein-chip-mikrocomputer |
Non-Patent Citations (1)
Title |
---|
COLE, C. Bernard: Intel's Radical Redesign Doubles 8096 Throughput. In: Electronics, 1. Oktober 1987, S. 59/60 * |
Also Published As
Publication number | Publication date |
---|---|
DE19652290C2 (de) | 2000-08-17 |
JPH09319569A (ja) | 1997-12-12 |
US5799144A (en) | 1998-08-25 |
KR100252432B1 (ko) | 2000-04-15 |
KR970076274A (ko) | 1997-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3751297T2 (de) | Schaltung zur Programmsteuerung. | |
DE3856175T2 (de) | Digitales Signalverarbeitungssystem in dem ein Prozessor unter Kontrolle eines Hosts auf zwei Befehlsspeicher zugreift | |
DE69226606T2 (de) | Speicherschaltung mit zwei Betriebsarten | |
DE2718051C3 (de) | Datenverarbeitungsanlage mit Einrichtungen zur wechselnden Bearbeitung mehrerer Aufgaben | |
DE2714805C2 (de) | ||
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE69032342T2 (de) | Mikroprozessor und Verfahren zur Aufstellung seiner Peripheriefunktionen | |
DE69503064T2 (de) | Mikroprozessorprogrammierung mit hilfe einer zustandsmaschine | |
DE69331292T2 (de) | Elektronisches Gerät und Verfahren zur festen Informationsmodifikation | |
DE4331703C2 (de) | Elektronische Einrichtung | |
DE19652290C2 (de) | Mikrocomputer | |
DE60224774T2 (de) | Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE3732808A1 (de) | Verfahren und vorrichtung zum erzeugen und bearbeiten von unterbrechungspunkten in einem monitorprogramm | |
DE2533403A1 (de) | Datenverarbeitungssystem | |
DE3751108T2 (de) | Mikroprozessor mit der Fähigkeit, an einen Koprozessor geschaltet zu werden. | |
DE3687893T2 (de) | Steuersystem fuer programmsprungoperation. | |
DE2658864A1 (de) | Pruefsystem fuer eine mikroprogrammierte verarbeitungseinheit | |
DE2721623A1 (de) | System zur bearbeitung eines zielsystemprogrammes | |
DE3856139T2 (de) | Mikroprozessor | |
DE3043653A1 (de) | Datenverarbeitungsanlage | |
DE3854853T2 (de) | Datenprozessor mit erweiterten Operationsfunktionen | |
DE69230238T2 (de) | Informationsverarbeitungsvorrichtung mit Verzweigungsziel-Befehlspufferspeicher | |
DE4434529A1 (de) | Verfahren zum Verarbeiten eines Befehls mit Einsatzbedingung und Vorrichtung dazu | |
DE3751287T2 (de) | Während einer Instruktionsausführung eine Unterbrechungsanforderung empfangender Mikroprogrammkontrolleur. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |