DE19652290A1 - Mikrocomputer - Google Patents

Mikrocomputer

Info

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
Application number
DE19652290A
Other languages
English (en)
Other versions
DE19652290C2 (de
Inventor
Masao Mio
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE19652290A1 publication Critical patent/DE19652290A1/de
Application granted granted Critical
Publication of DE19652290C2 publication Critical patent/DE19652290C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/328Address 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.
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.
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.
DE19652290A 1996-05-31 1996-12-16 Mikrocomputer Expired - Fee Related DE19652290C2 (de)

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)

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

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

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

Patent Citations (1)

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

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