DE10236011A1 - Mikrocomputer - Google Patents

Mikrocomputer

Info

Publication number
DE10236011A1
DE10236011A1 DE10236011A DE10236011A DE10236011A1 DE 10236011 A1 DE10236011 A1 DE 10236011A1 DE 10236011 A DE10236011 A DE 10236011A DE 10236011 A DE10236011 A DE 10236011A DE 10236011 A1 DE10236011 A1 DE 10236011A1
Authority
DE
Germany
Prior art keywords
flash memory
signal
command
control circuit
cpu
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.)
Ceased
Application number
DE10236011A
Other languages
English (en)
Inventor
Naoki Ootani
Yoshio Kasai
Toshihiro Abe
Mitsuru Sugita
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 DE10236011A1 publication Critical patent/DE10236011A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Microcomputers (AREA)
  • Memory System (AREA)

Abstract

Es wird ein Mikrocomputer mit einem eingebauten Flash-Speicher erhalten, bei dem der Flash-Speicher mit einem in dem Flash-Speicher plaziert gehaltenen Neuschreibprogramm und ohne zusätzliche komplizierte Steuerungsschaltungen zu erfordern, richtig neu geschrieben werden kann. Bei der Annahme eines Lösch-/Schreibbefehls, der einen Neuschreibbefehl bildet, gibt ein Flash-Speicher-Modul (2) ein einen Belegtzustand während der Ausführung der Verarbeitungsfolge angebendes Bereitstatussignal RYIBY zu einer Flash-Speicher-Steuerungsschaltung (3) aus. Wenn das Bereitstatussignal RYIBI den Belegtzustand angibt, gibt die Flash-Speicher-Steuerungsschaltung (3) ein Haltesignal HOLD auf aktiv "H" aus, um eine CPU (1) an einem Zugriff auf das Flash-Speicher-Modul (2) zu hindern. Wenn das Bereitsstatussignal RYIBY den Bereitzustand wiedererlangt hat, gibt die Flash-Speicher-Steuerungsschaltung (3) das Haltesignal HOLD auf "L" aus, um der CPU (1) einen Zugriff auf das Flash-Speicher-Modul (2) zu ermöglichen.

Description

  • Die vorliegende Erfindung bezieht sich auf einen Mikrocomputer wie beispielsweise einen Mikrocontroller, der einen Flash-Speicher umfaßt.
  • Herkömmlich werden bei einem Mikrocontroller (Mikrocomputer) mit einem eingebauten Flash-Speicher die in dem Flash-Speicher gespeicherten Inhalte im allgemeinen in den zwei nachstehend beschriebenen Situationen durch eine CPU gelöscht und geschrieben.
  • In einer ersten Situation wird das Wiederbeschreiben bzw. Neuschreiben ausgeführt, während kein Benutzerprogramm in dem Mikrocontroller läuft. Der Mikrocontroller selbst wird in den angehaltenen Zustand versetzt, und die in dem Flash- Speicher gespeicherten Inhalte werden durch externe Neuschreibausrüstung wie beispielsweise eine Flash- Schreibeinrichtung über eine Schnittstelle zur Flash- Neuschreibsteuerung neu geschrieben. Alternativ wird ein spezialisiertes Programm zum Neuschreiben des Flash- Speichers ausgeführt, und die in dem Flash-Speicher gespeicherten Inhalte werden unter Verwendung einer Schnittstelle einer seriellen Kommunikationsfunktion neu geschrieben.
  • In einer zweiten Situation wird das Neuschreiben unter Verwendung einer Funktion bei dem Mikrocontroller ausgeführt. Während der Mikrocontroller arbeitet, werden die in dem Flash-Speicher gespeicherten Inhalte mit einem in dem Flash-Speicher in dem Mikrocontroller gespeicherten Neuschreibprogramm im Hintergrund neu geschrieben.
  • Das Neuschreiben in der zweiten Situation umfaßt ein erstes Verfahren, bei dem das in dem Flash-Speicher gespeicherte Flash-Neuschreibprogramm zu einem in dem Mikrocontroller bereitgestellten zusätzlichen RAM übertragen wird und daraufhin in dem RAM ausgeführt wird.
  • Das Neuschreiben in der zweiten Situation umfaßt auch ein zweites Verfahren, bei dem eine zur Hintergrundverarbeitung fähige Steuerungsschaltung in Hardware bereitgestellt ist.
  • Das zweite Verfahren ist nachstehend mit einem Beispiel beschrieben. Das zweite Verfahren erfordert Schaltungen zur Steuerung des Flash-Speichers. D. h., während ein bestimmter Black in einem Flash-Speicher, der in Blöcke aufgeteilt ist, einer Lösch-/Schreibverarbeitung unterzogen wird, ermöglichen es die Flash-Speicher-Steuerungsschaltungen der CPU, ein in dem Flash-Speicher gespeichertes Programm in einem anderen Block oder anderen Blöcken als dem Block, der neu geschrieben wird, zu lesen und dort auszuführen.
  • Genauer erfordern es ein paralleles Neuschreiben (Schreiben/Löschen) und Lesen, daß die Potentialerzeugungsschaltungen in dem Flash-Speicher- Schaltungsblock zwei Systeme zum Schreiben/Löschen und normalen Lesen umfassen. Dies verlangt einen vergrößerten Bereich und verursacht es, daß die Steuerungsschaltungen wie beispielsweise eine Ablaufsteuerung kompliziert konfiguriert sind.
  • In der ersten Situation ist ein Problem dahingehend vorhanden, daß der Flash-Speicher nicht neu geschrieben werden kann, während der Mikrocontroller tatsächlich verwendet wird, nachdem er durch ein Löten usw. in dem Benutzersystem montiert ist. Anwendungen des Mikrocontrollers mit eingebautem Flash-Speicher auf einigen Gebieten können es erwarten, daß Daten neu geschrieben werden, während der Mikrocontroller verwendet wird. Dieses Verfahren, das unter derartigen Bedingungen nicht verwendet werden kann, ist daher nachteilig.
  • Das erste und zweite Verfahren, die zu einem Neuschreiben in der zweiten Situation in der Lage sind, sollen dieses Problem lösen.
  • Das erste Verfahren erfordert jedoch eine vorherige Übertragung des Programms aus dem Flash-Speicher zu dem RAM, die nachteilig ist, da sie der CPU eine Übertragungsarbeitslast auferlegt und RAM-Kapazität für das Flash-Neuschreibprogramm erfordert.
  • Ferner erfordert bei dem zweiten Verfahren, das zur Hintergrundverarbeitung fähige Steuerungsschaltungen verwendet, ein Neuschreiben des Speichers im Hintergrund ohne Unterbrechung des Betriebs des Mikrocontrollers komplizierte Steuerungsschaltungen, wie es vorstehend angegeben ist.
  • Dies erfordert im Vergleich zu einem Chip ohne eine Hintergrundneuschreibfunktion größere Steuerungsschaltungen für die gleiche Speicherkapazität. Komplizierte Steuerungsschaltungen in einer integrierten Halbleiterschaltung verlangen einen vergrößerten Bereich, was zu erhöhten Kosten führt.
  • Ein Ziel der vorliegenden Erfindung besteht darin, einen Mikrocomputer mit einem eingebauten Flash-Speicher zu erhalten, der den Flash-Speicher mit einem in dem Flash- Speicher plaziert gehaltenen Neuschreibprogramm richtig neu schreiben kann und keine zusätzlichen komplizierten Steuerungsschaltungen erfordert.
  • Gemäß der vorliegenden Erfindung umfaßt ein Mikrocomputer eine CPU, einen Flash-Speicher-Abschnitt und eine Flash- Speicher-Steuerungsschaltung.
  • Die CPU führt eine bestimmte Anweisung aus. Der Flash- Speicher-Abschnitt ist in eine Vielzahl von Blöcken aufgeteilt. Die Flash-Speicher-Steuerungsschaltung steuert die Neuschreiboperation für den Flash-Speicher-Abschnitt. Die CPU ist dazu in der Lage, ein vorbestimmtes Programm auszuführen, das in zumindest einen Block der Vielzahl von Blöcken geschrieben wird. Bei dem vorbestimmten Programm handelt es sich um ein Programm zum Neuschreiben eines anderen Blocks als des zumindest einen Blocks der Vielzahl von Blöcken in dem Flash-Speicher-Abschnitt. Der Flash- Speicher-Abschnitt führt die Neuschreiboperation bei dem anderen Block als dem zumindest einen Block der Vielzahl von Blöcken auf der Grundlage eines Neuschreibbefehls aus. Ferner gibt der Flash-Speicher-Abschnitt ein Bereitstatussignal aus, das es angibt, ob die Neuschreiboperation ausgeführt wird oder nicht. Die Flash- Speicher-Steuerungsschaltung empfängt das Bereitstatussignal, wodurch die Flash-Speicher- Steuerungsschaltung dann, wenn es das Bereitstatussignal angibt, daß die Neuschreiboperation auszuführen ist, ein Haltesignal für die CPU bereitstellt, das es angibt, daß ein für die CPU zum Zugriff auf den Flash-Speicher- Abschnitt erforderliches Signal konstant festgelegt werden soll.
  • Bei dem Mikrocomputer gemäß der Erfindung stellt die Flash- Speicher-Steuerungsschaltung dann, wenn es das Bereitstatussignal angibt, daß die Neuschreiboperation auszuführen ist, ein Haltesignal für die CPU bereit, das es angibt, daß ein für die CPU zum Zugriff auf den Flash- Speicher-Abschnitt erforderliches Signal konstant festgelegt werden soll.
  • Es ist somit möglich, die Neuschreiboperation für den Flash-Speicher-Abschnitt auszuführen, während die CPU das vorbestimmte Programm ausführt, ohne daß komplizierte Steuerungsschaltungen und dergleichen erforderlich sind und wobei das vorbestimmte Programm in dem Flash-Speicher- Abschnitt plaziert gehalten wird, ohne daß eine Übertragung des in den Flash-Speicher-Abschnitt geschriebenen vorbestimmten Programms zu einem anderen Speicher als dem Flash-Speicher-Abschnitt erforderlich ist.
  • Diese und andere Ziele, Merkmale, Ausgestaltungen und Vorteile der vorliegenden Erfindung sind aus der nachstehenden ausführlichen Beschreibung der vorliegenden Erfindung in Verbindung mit den beigefügten Zeichnungen ersichtlich.
  • Fig. 1 zeigt ein Blockschaltbild, das die grundlegende Struktur eines Mikrocontrollers mit einem eingebauten Flash-Speicher gemäß einem ersten bevorzugten Ausführungsbeispiel der Erfindung darstellt;
  • Fig. 2 zeigt ein Blockschaltbild, das die grundlegende Struktur des in Fig. 1 gezeigten Flash-Speicher-Moduls darstellt;
  • Fig. 3 zeigt eine erläuternde grafische Darstellung, die ein Beispiel für eine Speicheradreßbelegung des Flash- Speicher-Moduls darstellt;
  • Fig. 4 zeigt eine erläuternde grafische Darstellung, die eine Liste von Benutzerbefehlen bei dem Flash-Speicher- Modul in der Form einer Tabelle darstellt;
  • Fig. 5 zeigt Signalverläufe, die den grundlegenden Zeitverlauf der Erteilung eines Befehls darstellen;
  • Fig. 6 und 7 veranschaulichen Signalverläufe, die die Variationen von Signalen während der Ausführung eines Befehls des Blocklöschens bei dem den Flash-Speicher umfassenden Mikrocontroller gemäß dem ersten bevorzugten Ausführungsbeispiel darstellen;
  • Fig. 8 zeigt ein Blockschaltbild, das die grundlegende Struktur eines Mikrocontrollers mit einem eingebauten Flash-Speicher gemäß einem zweiten bevorzugten Ausführungsbeispiel der Erfindung darstellt;
  • Fig. 9 und 10 veranschaulichen Signalverläufe, die die Variationen von Signalen während der Ausführung des Befehls des Blocklöschens bei dem den Flash-Speicher umfassenden Mikrocontroller gemäß dem zweiten bevorzugten Ausführungsbeispiel darstellen;
  • Fig. 11 zeigt ein Blockschaltbild, das die grundlegende Struktur eines Mikrocontrollers mit einem eingebauten Flash-Speicher gemäß einem dritten bevorzugten Ausführungsbeispiel der Erfindung darstellt;
  • Fig. 12 und 13 veranschaulichen Signalverläufe, die die Variationen von Signalen während der Ausführung des Befehls des Blocklöschens bei dem den Flash-Speicher umfassenden Mikrocontroller gemäß dem dritten bevorzugten Ausführungsbeispiel darstellen;
  • Fig. 14 zeigt ein Blockschaltbild, das die grundlegende Struktur eines Mikrocontrollers mit einem eingebauten Flash-Speicher gemäß einem vierten bevorzugten Ausführungsbeispiel der Erfindung darstellt;
  • Fig. 15 zeigt ein Blockschaltbild, das die grundlegende Struktur eines Mikrocontrollers mit einem eingebauten Flash-Speicher gemäß einem fünften bevorzugten Ausführungsbeispiel der Erfindung darstellt; und
  • Fig. 16 und 17 veranschaulichen Signalverläufe, die die Variationen von Signalen während der Ausführung des Befehls des Blocklöschens bei dem den Flash-Speicher umfassenden Mikrocontroller gemäß dem fünften bevorzugten Ausführungsbeispiel darstellen.
  • Erstes bevorzugtes Ausführungsbeispiel
  • Fig. 1 zeigt ein Blockschaltbild, das die grundlegende Struktur eines Mikrocontrollers mit einem eingebauten Flash-Speicher gemäß einem ersten bevorzugten Ausführungsbeispiel der Erfindung darstellt.
  • Wie es in dieser grafischen Darstellung gezeigt ist, ist eine Flash-Speicher-Steuerungsschaltung 3 zwischen einer CPU 1 und einem Flash-Speicher-Modul 2 bereitgestellt; die Flash-Speicher-Steuerungsschaltung 3 steuert die Schnittstelle zwischen der CPU 1 und dem Flash-Speicher- Modul 2. Die CPU 1, das Flash-Speicher-Modul 2 und die Flash-Speicher-Steuerungsschaltung 3 sind mit einem Adreßbus 4 und einem Datenbus 5 verbunden.
  • Die CPU 1 gibt ein Adreßsignal AD (20 : 0) zu dem Adreßbus 4 aus und empfängt/sendet über den Datenbus 5 ein Datensignal DB (15 : 0). Die CPU 1 gibt auch ein Lese- /Schreibsteuerungssignal RWB und ein Anweisungsausführungssignal EB zur Steuerung der Flash- Speicher-Steuerungsschaltung 3 aus. Die CPU 1 empfängt ein Haltesignal HOLD von der Flash-Speicher-Steuerungsschaltung 3.
  • Die Flash-Speicher-Steuerungsschaltung 3 empfängt das Adreßsignal AD (20 : 0) über den Adreßbus 4 und empfängt/sendet das Datensignal DB (15 : 0) über den Datenbus 5. Die Flash-Speicher-Steuerungsschaltung 3 gibt auch ein Lesebetriebsartsignal RDMODE und Steuerungssignale (ICE, IWE, IOE) zur Steuerung des Neuschreibens, z. B. Löschen/Schreiben, und des Lesens des Flash-Speicher-Moduls 2 aus. Die Flash-Speicher-Steuerungsschaltung 3 empfängt ein Bereitstatussignal RYIBY von dem Flash-Speicher-Modul 2.
  • Das Flash-Speicher-Modul 2 empfängt das Adreßsignal AD (20 : 0) über den Adreßbus 4 und empfängt/sendet das Datensignal DB (15 : 0) über den Datenbus 5.
  • Bei dem Bereitstatussignal RYIBY handelt es sich um ein Signal, das eine externe Erfassung eines Belegtzustands ermöglicht, wenn ein Lösch-/Schreibbefehl oder ein Neuschreibbefehl bei dem Flash-Speicher-Modul 2 angenommen worden ist und eine Verarbeitungsfolge ausgeführt wird. Die Flash-Speicher-Steuerungsschaltung 3 kann es somit über das Bereitstatussignal RYIBY erfassen, ob bei dem Flash- Speicher-Modul 2 ein Neuschreibbefehl automatisch ausgeführt wird.
  • Bei dem Haltesignal HOLD handelt es sich um ein Buswertfestlegungssignal zur Aufforderung der CPU 1 zur konstanten Festlegung der Buswerte; das Haltesignal HOLD wird in der Flash-Speicher-Steuerungsschaltung 3 erzeugt. Wenn das Haltesignal HOLD aktiv "H" ist, was es angibt, daß die Buswerte festgelegt werden sollen, legt die CPU 1 die Werte von zum Zugriff auf das Flash-Speicher-Modul 2 notwendigen Signalen einschließlich des Lese- /Schreibsteuerungssignals RWB, des Anweisungsausführungssignals EB, des Adreßsignals AD (20 : 0) und des Datensignals DB (15 : 0) konstant fest. D. h., der Zugriff von der CPU 1 auf das Flash-Speicher-Modul 2 wird verhindert.
  • Flash-Speicher-Modul
  • Fig. 2 geigt ein Blockschaltbild, das die grundlegende Struktur des Flash-Speicher-Moduls darstellt. Wie es in dieser grafischen Darstellung gezeigt ist, besteht das Flash-Speicher-Modul 2 aus einer Mikroablaufsteuerung 11, einer Ladungspumpe 12, einer Speicherdecodierungseinrichtung 13, einem Speicherblock 14 und einer Adreß-/Daten-/Steuerungssignaleingabeschaltung 15.
  • Das Flash-Speicher-Modul 2 empfängt das Adreßsignal AD (20 : 0) und das Datensignal DB (15 : 0) über den Adreßbus 4 und den Datenbus 5 und empfängt auch die Steuerungssignale (ICE, IWE, IOE) von der Flash-Speicher-Steuerungsschaltung 3. Das Flash-Speicher-Modul 2 gibt das Bereitstatussignal RYIBY aus.
  • Wie es in Fig. 2 gezeigt ist, umfassen die Steuerungssignale (ICE, IWE, IOE) ein Chipfreigabesignal ICE, ein Befehlsschreibsignal IWE und ein Lesesignal IOE. Bei dem Chipfreigabesignal ICE handelt es sich um ein Auswahlsignal, das aktiv "L" wird, wenn das Flash-Modul ausgewählt wird, d. h. wenn die Adresse trifft. Wenn das Chipfreigabesignal ICE "H" (inaktiv) ist, sind Befehlsschreib- und -lesezugriffe auf den Flash-Speicher alle gesperrt. Bei dem Befehlsschreibsignal IWE handelt es sich um ein Signal zum Schreiben von Befehlen in die Mikroablaufsteuerung 11 in dem Flash-Speicher-Modul 2. Wenn das Befehlsschreibsignal IWE aktiv "L" ist, werden das Adreßsignal AD (20 : 0) und das Datensignal DB (15 : 0) von dem Adreßbus 4 und dem Datenbus 5 über die Adreß-/Daten- /Steuerungssignaleingabeschaltung 15 eingegeben und in der Mikroablaufsteuerung 11 zwischengespeichert.
  • Bei dem Lesesignal IOE handelt es sich um ein Signal, das es bei aktiv "L" veranlaßt, daß Flash-ROM-Daten 19 oder ein Statusregisterwert 20 gemäß dem Adreßsignal AD (20 : 0) ausgegeben werden.
  • Bei der Mikroablaufsteuerung 11 handelt es sich um einen Steuerungsschaltungsblock, der dann, wenn eine Befehlseingabe, z. B. Löschen/Schreiben, in das Flash- Speicher-Modul 2 angenommen worden ist, automatisch Signale erzeugt, die für eine Verarbeitungsfolge gemäß der Art des Befehls für die Ladungspumpe 12, die Speicherdecodierungseinrichtung 13 und den Speicherblock 14 benötigt werden.
  • Bei der Ladungspumpe 12 handelt es sich um eine Gruppe von Potentialerzeugungsschaltungen, die während der Verarbeitung verschiedener Befehle erforderliche verschiedene Potentialpegel erzeugen können.
  • Bei der Speicherdecodierungseinrichtung 13 handelt es sich um einen Schaltungsblock, der die Auswahl erforderlicher Speicherzellen auf der Grundlage des Adreßsignals AD (20 : 0) und des Prozesses der Befehlsausführungen steuert.
  • Bei dem Speicherblock 14 handelt es sich um einen Block, in dem eine Vielzahl von Speicherzellen in einer regelmäßigen Anordnung angeordnet ist.
  • Fig. 3 zeigt eine erläuternde grafische Darstellung, die ein Beispiel für die Speicheradreßbelegung des Flash- Speicher-Moduls 2 darstellt. Wie es in dieser grafischen Darstellung gezeigt ist, sind einzelne Blöcke 0 bis 10 unabhängig zum Blocklöschen in der Lage (kollektive Löschung gemäß dem Block). Sie können gemäß der Adresse geschrieben werden.
  • Fig. 4 zeigt eine erläuternde grafische Darstellung, die eine Liste von Benutzerbefehlen für das Flash-Speicher- Modul in der Form einer Tabelle darstellt. Wie es in dieser grafischen Darstellung gezeigt ist, ist das Flash-Speicher- Modul 2 dazu konfiguriert, die Eingabe von Befehlen gemäß den Eingabewerten der extern zugeführten Steuerungssignale (ICE, IWE, IOE), des Adreßsignals AD (20 : 0) und des Datensignals DB (15 : 0) anzunehmen.
  • Die Befehle werden (in den Buszyklen, in denen die Betriebsart Schreiben ist) geschrieben, indem das Befehlsschreibsignal IWE zu "L" ausgebildet wird, und werden (in den Buszyklen, in denen die Betriebsart Lesen ist) gelesen, indem das Lesesignal IOE zu "L" ausgebildet wird. Ein Zwischenspeicher 27 geht in einen aktiven Zustand, wenn das Lesesignal IOE "L" ist, und daraufhin werden die Flash-ROM-Daten 19 oder das Statusregister 20, die durch eine Auswahleinrichtung 28 ausgewählt werden, extern ausgegeben (zu dem Datenbus 5 usw.). Wenn das Lesesignal IOE "H" ist, wird der Zwischenspeicher 27 in einen inaktiven Zustand hoher Impedanz versetzt.
  • Fig. 5 zeigt Signalverläufe, die den grundlegenden Zeitverlauf einer Erteilung eines Befehls darstellen. Fig. 5 zeigt den Zeitverlauf für den Befehl des automatischen Blocklöschens. Wie es in dieser grafischen Darstellung gezeigt ist, handelt es sich bei den das Neuschreiben, z. B. Löschen und Schreiben, des Flash-Speichers betreffenden Befehlen um 2-Zyklus-Befehle.
  • Die Mikroablaufsteuerung 11 erkennt bei dem Übergang des Befehlsschreibsignals IWE von "L" auf "H" zu einer Zeit t51 "20h" des Datensignals DB (15 : 0) und erkennt auch bei dem Anstieg des Befehlsschreibsignals IWE zu einer Zeit t52 "DOh" des Datensignals DB (15 : 0) und die Blockadresse BAn des Adreßsignals AD (20 : 0); die Mikroablaufsteuerung 11 erkennt es somit, daß der Befehl des automatischen Blocklöschens für die Blockadresse BAn in dem Speicherblock 14 erteilt wurde.
  • D. h., wenn der einen Belegtzustand umfassende Befehl des automatischen Blocklöschens angenommen wird, beginnt die Mikroablaufsteuerung 11 die Verarbeitung, und der Belegtzustand wird aufrechterhalten, bis die Verarbeitungsfolge normal abgeschlossen worden ist oder bis ein Fehler auftritt; während dieses Zeitraums gibt das Bereitstatussignal RYIBY "L" aus. Wenn der Belegtzustand endet, wird in den Bereitzustand mit RYIBY = "H" eingetreten.
  • Wenn ein das Belegtsignal umfassender Neuschreibbefehl, z. B. Löschen/Schreiben, erteilt wird und der Belegtzustand auftritt, wird in die "Statuslesebetriebsart" eingetreten, in der dann, wenn das Flash-ROM gelesen wird, die Inhalte des Statusregisters 20 einschließlich Bereit-/Belegtstatus- und Fehlerstatusbits gelesen werden.
  • Die Mikroablaufsteuerung 11 führt eine Steuerung auf der Grundlage der Steuerungssignale (ICE, IWE, IOE) wie vorstehend gezeigt auf eine derartige Weise aus, daß die "Statuslesebetriebsart" sich selbst nachdem die Befehlsfolge geendet hat und der Bereitzustand wiederhergestellt worden ist fortsetzt.
  • Wenn jedoch in dem Bereitzustand ein Speicherleseübergangsbefehl (siehe Fig. 4) erteilt wird, stellt die Mikroablaufsteuerung 11 eine Steuerung zur Ausführung der "Speicherlesebetriebsart", in der die Flash- ROM-Daten 19 bei der eingegebenen Adresse (AD (20 : 0)) gelesen werden können, bereit.
  • Bei dem Lesebetriebsartsignal RDMODE handelt es sich um einen zur Ausbildung eines Übergangs von der "Statuslesebetriebsart" in die "Speicherlesebetriebsart" eingegebenen Impuls. Das Flash-Speicher-Modul 2 bewegt sich mit dem Impuls RDMODE = "H" von der "Statuslesebetriebsart" in die "Speicherlesebetriebsart".
  • CPU
  • Bei der CPU 1 handelt es sich um eine Zentraleinheit, die Funktionen zur Ausgabe des Adreßsignals AD (20 : 0), des Datensignals DB (15 : 0), der Lese-/Schreibsteuerungsausgabe RWB und des Anweisungsausführungssignals EB, das es angibt, daß der Buszyklus wirksam ist, aufweist. Die Lese- /Schreibsteuerungsausgabe RWB gibt bei "H" eine "Lese"- Steuerung und bei "L" eine "Schreib"-Steuerung an, und das Anweisungsausführungssignal EB gibt bei "H" "ungültig" und bei "L" "gültig" an.
  • Die CPU 1 weist innen einen Programmzähler auf. Während sie Adressen sequentiell erzeugt und Anweisungsdaten (DB (15 : 0)) über den Datenbus 5 aus dem Flash-Speicher-Modul 2 oder gelegentlich aus einem RAM usw. abruft, gibt die CPU 1 das Lese-/Schreibsteuerungssignal RWB und das Anweisungsausführungssignal EB aus, um ein Lesen und Schreiben bei peripheren Funktionsblöcken durchzuführen.
  • Was den Zugriff von der CPU 1 auf das Flash-Speicher-Modul 2 betrifft, so wird ein Schreibzugriff mit einer Gemeinschaftsübertragungsanweisung in die Adresse in dem Flash-Speicher-Modul 2 ausgeführt, und es wird ein Lesezugriff mit einer Gemeinschaftsübertragungsanweisung aus der Adresse in dem Flash-Speicher-Modul 2 ausgeführt.
  • In dieser Beschreibung wird auf einen Zugriff von der CPU 1 auf das Flash-Speicher-Modul 2 insbesondere als einen "Befehl" Bezug genommen. Ferner wird auf alle von der CPU 1 an das Flash-Speicher-Modul 2 ausgegebenen Lösch-, Schreib- oder Betriebsartübergangsaktivitäten als "Neuschreiben" Bezug genommen.
  • Die CPU 1 weist eine Anweisungswarteschlange für eine Vielzahl von Anweisungen auf und ist zur Pipeline- Verarbeitung in der Lage. Wenn eine Sprunganweisung (JMP) ausgeführt wird, kann die CPU 1 die in die Warteschlange abgerufenen Anweisungscodes, die der JMP-Anweisung folgen, ungültig ausbilden und sich zu der Ausführung der Anweisung bei der Adresse, zu der der Sprung stattfindet, bewegen.
  • Die CPU 1 weist eine Haltefunktion auf; bei der Eingabe des Haltesignals kann sie das Adreßsignal AD (20 : 0), das Datensignal DB (15 : 0), das Lese-/Schreibsteuerungssignal RWB und das Anweisungsausführungssignal EB konstant festlegen oder in einen Zustand hoher Impedanz versetzen.
  • Wenn die CPU 1 die Steuerungssignale in einen Zustand hoher Impedanz versetzt, entspricht dies dem Zustand, in dem die CPU 1 die Steuerung über die Steuerungssignale aufgibt.
  • Flash-Speicher-Steuerungsschaltung
  • Bei der Flash-Speicher-Steuerungsschaltung 3 handelt es sich um einen Schnittstellenschaltungsblock, über den die CPU 1 das Flash-Speicher-Modul 2 steuert; die Flash- Speicher-Steuerungsschaltung 3 umfaßt ein Bushaltesteuerungsregister 22.
  • Bushaltesteuerungsregister
  • Bei dem Bushaltesteuerungsregister 22 handelt es sich um ein Register, das mittels des Datensignals DB (15 : 0) und des Adreßsignals AD (20 : 0), die über den Datenbus 5 und den Adreßbus 4 von der CPU 1 bereitgestellt werden, und des Lese-/Schreibsteuerungssignals RWB durch ein Programm neu geschrieben werden kann, das die CPU 1 ausführt. Das Bushaltesteuerungsregister 22 weist ein Bushaltesteuerungsbit HOLDRQ auf, das ein Vor-Haltesignal für die Erzeugung des Bushaltesignals bildet.
  • Bei dem Bushaltesignal HOLD handelt es sich um ein Signal zur konstanten Festlegung des Datenbusses 5 und des Adreßbusses 4. Das Bushaltesignal HOLD wird auf eine derartige Weise erzeugt, daß es aktiv "H" wird, wenn HOLDRQ "H" (eingestellt) ist und das intern erzeugte Befehlsschreibsignal IWE "L" ist.
  • Operationen
  • Nachstehend sind Operationen des Mikrocontrollers mit einem eingebauten Flash-Speicher gemäß dem ersten bevorzugten Ausführungsbeispiel der Erfindung beschrieben.
  • Die CPU 1 arbeitet gemäß einem in das Flash-Speicher-Modul 2 geschriebenen Benutzerprogramm. Das Benutzerprogramm ist in einem Block oder einer Vielzahl von Blöcken in dem Speicherblock 14 (siehe Fig. 2 und 3) in dem Flash- Speicher-Modul 2 plaziert. Die CPU 1 ruft sequentiell Anweisungen in dem Programm ab und führt die Anweisungen über eine Pipeline-Verarbeitung aus.
  • Nachstehend ist die bei einer Erteilung des Befehls des automatischen Blocklöschens ausgeführte Operation als ein Beispiel für eine Operation beschrieben, bei der die CPU 1 gemäß dem Benutzerprogramm einen Neuschreibbefehl für den Flash-Speicher bei einem anderen Block als dem Block (den Blöcken), in denen das Programm plaziert ist, erteilt.
  • Fig. 6 und 7 veranschaulichen Signalverläufe, die die Variationen von Signalen während der Ausführung des Befehls des Blocklöschens in dem Mikrocontroller mit einem eingebauten Flash-Speicher gemäß dem ersten bevorzugten Ausführungsbeispiel darstellen. Wie es in diesen Signalverläufen gezeigt ist, entspricht jeder der Buszyklen T1 bis T9, Tn und T(n+1) zwei Zyklen des Arbeitstakts CLK, wobei der Anweisungsabruf und die Anweisungsausführung in einzelnen Buszyklen ausgeführt werden. Fig. 6 und 7 zeigen ein Beispiel, bei denen der Anweisungsabruf vier Buszyklen vor der Anweisungsausführung durchgeführt wird.
  • Gemäß den in Fig. 6 und 7 gezeigten Signalverläufen ist vor der Erteilung des ersten Befehls des Befehls des automatischen Blocklöschens zuerst ein Blindbefehl in dem Benutzerprogramm beschrieben, der für einen langen Zeitraum, für zwei Buszyklen oder mehr, keinen Buszugriff umfaßt. Die CPU 1 ruft zuerst diese Anweisung ab, gibt sie in die Anweisungswarteschlange ein und führt sie über eine Pipeline-Verarbeitung aus. Wenn ein derartiger Blindbefehl, der für einen langen Zeitraum keinen Buszugriff umfaßt, unmittelbar vor dem Flash-Neuschreibbefehl in dem Benutzerprogramm beschrieben ist, tritt eine Lücke in der Anweisungswarteschlange auf, was es einfach gestaltet, die folgenden Anweisungen in die Warteschlange zu stellen, und folglich eine wirksame Verwendung der Anweisungswarteschlange ermöglicht.
  • Nachdem die CPU 1 den ersten Befehl "20h" zum Blocklöschen in dem Datensignal DB (15 : 0) als eine Anweisung (die eine Übertragungsanweisung usw. verwendet) zum Schreiben in die Mikroablaufsteuerung des Flash-Speicher-Moduls 2 abgerufen hat (dies wird in dem Buszyklus T1 getan), gibt die CPU 1 als nächstes in dem Buszyklus T5 RWB = "L" und EB = "L" aus, um die Flash-Speicher-Steuerungsschaltung 3 zur Erzeugung des Befehlsschreibsignals IWE zu veranlassen, das für einen gegebenen Zeitraum bei "L" bleibt, und das Befehlsschreibsignal IWE wird zu dem Flash-Speicher-Modul 2 ausgegeben. Das Fallen des Befehlsschreibsignals IWE auf "L" in dem Buszyklus T5 entspricht dem Empfang des ersten Befehls, d. h. dem Beginn des Empfangs des Befehls des automatischen Blocklöschens. Es ist jedoch zu beachten, daß die Inhalte des ersten Befehls bei dem Ansteigen des Befehlsschreibsignals IWE auf "H" festgesetzt werden, wie es in Fig. 5 gezeigt ist.
  • Wie es in Fig. 6 und 7 gezeigt ist, wird das Befehlsschreibsignal IWE in der Flash-Steuerungsschaltung 3 auf eine derartige Weise erzeugt, daß es wirksam wird, wenn der Arbeitstakt CLK = "H" und RWB = "L" und EB = "L". Das Flash-Speicher-Modul 2 nimmt bei dem Ansteigen des Befehlsschreibsignals IWE den ersten Befehl ("20h") an.
  • Es ist in dem Benutzerprogramm beschrieben, daß in dem nächsten Buszyklus T6 eine Registereinstellungsanweisung WKreg ausgeführt wird; bei der Registereinstellungsanweisung WKreg handelt es sich um eine relativ einfache Registereinstellungsoperation, in der das Bushaltesteuerungsbit HOLDRQ in dem Bushaltesteuerungsregister 22 vor der Erteilung des zweiten Befehls des Befehls des Blocklöschens eingestellt wird (zu "H" ausgebildet wird). Somit kann das Bushaltesteuerungsbit HOLDRQ vor der Erteilung des zweiten Befehls des Befehls des Blocklöschens sicher auf "H" eingestellt werden.
  • Die Flash-Speicher-Steuerungsschaltung 3 umfaßt eine interne Schaltung zur Erzeugung des Haltesignals HOLD. Die Erzeugungseinrichtungsschaltung erzeugt das Haltesignal HOLD, das aktiv ("H") wird, wenn HOLDRQ "H" ist und das Befehlsschreibsignal IWE "L" ist. Bei dem Haltesignal HOLD handelt es sich um ein Signal zur konstanten Festlegung des Datenbusses 5, des Adreßbusses 4 und der Gruppe von Lese- /Schreibsteuerungssignalen (des Lese- /Schreibsteuerungssignals RWB und des Anweisungsausführungssignals EB). Wenn das Haltesignal HOLD aktiv wird, beginnt das Halten von dem nächsten Buszyklus an, und daraufhin kann die CPU 1 nicht auf das Flash- Speicher-Modul 2 zugreifen.
  • In dem nächsten Buszyklus T7 wird der zweite Befehl (D0h) zum Blocklöschen gemäß dem Benutzerprogramm erteilt.
  • Wenn das Befehlsschreibsignal IWE "L" wird, veranlaßt es somit die gemäß der vorstehend gezeigten Logik arbeitende Erzeugungseinrichtungsschaltung, daß das Bushaltesignal HOLD aktiv "H" wird, und der Adreßbus 4 und der Datenbus 5 werden von dem nächsten Buszyklus T8 an konstant gehalten. Das Bushaltesteuerungsbit HOLDRQ wird vor dem Haltesignal HOLD auf "H" eingestellt, so daß das Haltesignal HOLD sicher auf "H" eingestellt werden kann, wenn der Empfang des Befehls des Blocklöschens abgeschlossen ist.
  • Es kann sein, daß es sich bei den konstant gehaltenen Adreß- und Datenbuswerten nicht um den zweiten Befehl des Blocklöschens handelt, da die CPU 1 eine Pipeline- Verarbeitung ausführt. Das Fallen des Befehlsschreibsignals IWE auf "L" in dem Buszyklus T7 entspricht dem Empfang des zweiten Befehls, d. h. dem Ende des Empfangs des Befehls des automatischen Blocklöschens. Es ist jedoch zu beachten, daß die Inhalte des zweiten Befehls bei dem Ansteigen des Befehlsschreibsignals IWE auf "H" festgesetzt werden.
  • Wie es vorstehend gezeigt ist, werden das Adreßsignal AD (20 : 0), der Datenbus DB (15 : 0) und die Gruppe der Lese- /Schreibsteuerungssignale konstant festgelegt, und der Buszugriff von der CPU 1 wird unterbrochen.
  • Bei der Anstiegsflanke des Befehlsschreibsignals IWE wird der Wert des Datensignals DB (15 : 0) in der Adreß-/Daten- /Steuerungssignaleingabeschaltung 15 in dem Flash-Speicher- Modul 2 zwischengespeichert, und die Mikroablaufsteuerung 11 führt einen Befehlsdecodierungsprozeß aus. Bei der Anstiegsflanke des Befehlsschreibsignals IWE bei dem zweiten Befehl erkennt die Mikroablaufsteuerung 11 die Art des Befehls, und das Flash-Speicher-Modul 2 startet selbst einen Ablauf des automatischen Speicherblocklöschens, wobei das Bereitstatussignal RYIBY "L" ausgibt, was Belegt angibt.
  • Den Befehl annehmend und die Verarbeitung startend tritt das Flash-Speicher-Modul 2 in die "Statuslesebetriebsart" ein, in der der Statusregisterwert 20 ausgegeben wird, wenn er gelesen wird. Entsprechend kann die CPU 1 die Flash-ROM- Daten 19 in dem Flash-Speicher-Modul 2 nicht lesen, während der Befehl verarbeitet wird, und kann auch keine Programmanweisungen in dem Flash-Speicher-Modul 2 abrufen.
  • Während das Flash-Speicher-Modul 2 den Befehl mit der internen Mikroablaufsteuerung 11 verarbeitet, ist RYIBY "L", was den Belegtzustand angibt, und wenn die Befehlsverarbeitung beendet wird, ändert sich die Bereitsignalausgabe RYIBY von "L" auf "H".
  • Nachdem das Bereitstatussignal RYIBY sich von "L" auf "H" geändert hat, variiert einen Buszyklus danach die Flash- Steuerungsschaltung 3 das Haltesignal HOLD von "H" auf "L" oder bildet es unwirksam aus.
  • Zu dieser Zeit bildet die Flash-Speicher- Steuerungsschaltung 3 das Lesebetriebsarteinstellungsimpulssignal RDMODE für das Flash-Speicher-Modul 2 zu "H" aus, um das Flash-Speicher- Modul 2 zum Verlassen der "Statuslesebetriebsart" und Eintreten in die "Speicherlesebetriebsart" unmittelbar nach dem Übergang von dem Belegtzustand in den Bereitzustand zu veranlassen, und daraufhin können die Speicherinhalte gelesen werden.
  • Wenn dieses Lesebetriebsartsignal RDMODE konstant auf "H" gehalten wird, ist es möglich, die "Speicherlesebetriebsart" einzustellen, in der die Speicherinhalte immer dann gelesen werden können, wenn das Flash-Speicher-Modul 2 sich in dem Bereitzustand befindet.
  • Es ist ebenfalls möglich, es der CPU 1 zu ermöglichen, das Lesebetriebsartsignal RDMODE einzustellen, wobei ein ausschließlich zugeordnetes Register in der Flash- Steuerungsschaltung 3 bereitgestellt ist. D. h., es ist möglich, die Ausgabe des Lesebetriebsartsignals RDMODE wirksam oder unwirksam einzustellen, so daß das Lesebetriebsartsignal RDMODE abhängig von den Bedingungen verwendet werden kann.
  • Der Adreßbus 4, der Datenbus 5 und die Steuerungssignale können somit aus "festgelegt" freigegeben werden, so daß die CPU ihre Verarbeitung einschließlich des Zugriffs auf das Flash-Speicher-Modul 2 sicher wiederaufnehmen kann, ohne wegzulaufen.
  • Wenn eine Sprunganweisung (JMP-Anweisung) unmittelbar nach dem zweiten Befehl des Flash-Neuschreibbefehls in dem Benutzerprogramm plaziert ist, werden die der JMP-Anweisung folgenden Befehle durch die Ausführung der Sprunganweisung übergangen. Daraufhin kann die Verarbeitung dann, wenn das Halten nach der Verarbeitung des Neuschreibbefehls abgebrochen wird und das Benutzerprogramm wiederaufgenommen wird, sicher wiederaufgenommen werden, da es sich bei der JMP-Anweisung um eine Anweisung handelt, die sicher abgerufen und in die Anweisungswarteschlange gestellt worden ist.
  • Alternativ wird dann, wenn eine Pipeline- Zurücksetzungsanweisung (PIB-Anweisung) statt der JMP- Anweisung unmittelbar nach den zweiten Befehl des Flash- Neuschreibens gesetzt wird, eine Gruppe von der PIB- Anweisung folgend in die Anweisungswarteschlange gestellten Anweisungen zurückgesetzt. Daraufhin kann wie in dem vorstehend gezeigten Fall die Verarbeitung sicher wiederaufgenommen werden, wenn das Halten nach der Verarbeitung des Schreibbefehls abgebrochen wird und das Benutzerprogramm wiederaufgenommen wird.
  • Wie es vorstehend gezeigt ist, werden gemäß dem ersten bevorzugten Ausführungsbeispiel der Adreßbus 4, der Datenbus 5 und die Steuerungssignale konstant gehalten, während das Flash-Speicher-Modul 2 den Neuschreibbefehl verarbeitet. Entsprechend ist es möglich, die CPU 1 am Weglaufen zu hindern, das auftreten würde, wenn die CPU 1 Anweisungscodes in dem Flash-Speicher-Modul 2 während der Befehlsverarbeitung nicht lesen kann.
  • Ferner kann gemäß dem ersten bevorzugten Ausführungsbeispiel der Mikrocontroller selbst dann, wenn das Neuschreibprogramm in dem Flash-Speicher-Modul 2 plaziert gehalten wird, Flash-ROM-Neuschreibanweisungen für andere Blöcke ausführen, während er das Programm ausführt. Somit ist es nicht notwendig, das Programm aus dem Flash- Speicher zu einem RAM zu übertragen, wie es bei bekannten Flash-Speichern erforderlich war, so daß die Programmübertragungsarbeitslast bei der CPU verringert werden kann.
  • Darüber hinaus ist der Mikrocontroller gemäß dem ersten bevorzugten Ausführungsbeispiel dahingehend vorteilhaft, daß er keine derartigen komplizierten Steuerungsschaltungen erfordert, wie sie bei dem in der zweiten bekannten Situation ausgeführten zweiten Verfahren, d. h. dem Hintergrundneuschreibverfahren, erforderlich sind.
  • Bei dem ersten bevorzugten Ausführungsbeispiel ist die Operation des automatischen Blocklöschens als ein Beispiel beschrieben. Wie es in Fig. 4 gezeigt ist, ist das Flash- Speicher-Modul 2 jedoch derart konfiguriert, daß das Bereitstatussignal RYIBY auch während der Ausführung anderer, mehrerer Arten von Neuschreiboperationen wie beispielsweise dem automatischen Schreiben, der Sperrbitprogrammierung usw. "L" wird. Entsprechend kann die während des automatischen Blocklöschens erhaltene Wirkung auch während anderer Neuschreiboperationen erhalten werden.
  • Zweites bevorzugtes Ausführungsbeispiel
  • Fig. 8 zeigt ein Blockschaltbild, das die grundlegende Struktur eines Mikrocontrollers mit einem eingebauten Flash-Speicher gemäß einem zweiten bevorzugten Ausführungsbeispiel der Erfindung darstellt.
  • Das zweite bevorzugte Ausführungsbeispiel unterscheidet sich dahingehend von dem ersten bevorzugten Ausführungsbeispiel, daß das Flash-Speicher-Modul 2A eine Funktion des Erzeugens eines Befehlsempfangsquittierungssignals IPREBUSY aufweist, bei dem es sich um ein Signal zur Quittierung des Empfangs des Neuschreibbefehls zeitlich vor der Erfassung von Belegt mit dem Bereitstatussignal RYIBY handelt, so daß die Busse dann, wenn die CPU 1 einen Flash-Speicher-Neuschreibbefehl erteilt, von der Anweisung des nächsten Zyklus an sicher konstant gehalten werden können.
  • Fig. 9 und 10 veranschaulichen Signalverläufe, die die Variationen von Signalen während der Ausführung des Befehls des Blocklöschens in dem Mikrocontroller mit einem eingebauten Flash-Speicher gemäß dem zweiten bevorzugten Ausführungsbeispiel darstellen.
  • Nachstehend ist die Operation, die dann ausgeführt wird, wenn die CPU 1 den Befehl des automatischen Blocklöschens erteilt, als ein Beispiel beschrieben, bei dem die CPU 1 gemäß dem Benutzerprogramm einen Neuschreibbefehl für den Flash-Speicher bei einem anderen Block als dem Block (den Blöcken), in denen das Programm plaziert ist, erteilt.
  • Gemäß dem in Fig. 9 und 10 gezeigten Zeitverlauf wird in dem Buszyklus T4 eine Anweisung ausgeführt, die die CPU 1 in einem vorhergehenden Zyklus abgerufen hat. Zuerst werden mit dem ersten Befehl zum Blocklöschen "20h" und RWB = "L" und EB = "L" Signale erzeugt, die ein Schreiben in das Flash-Speicher-Modul 2A angeben.
  • Wie es in Fig. 9 und 10 gezeigt ist, wird das Befehlsschreibsignal IWE in der Flash-Steuerungsschaltung 3 auf eine derartige Weise erzeugt, daß es mit CLK = "H" und RWB = "L" und EB = "L" aktiv "L" wird. Das Flash-Speicher- Modul 2A nimmt bei dem Ansteigen des Befehlsschreibsignals IWE den ersten Befehl an.
  • Bei dem zweiten bevorzugten Ausführungsbeispiel gibt das Flash-Speicher-Modul 2A das Befehlsempfangsquittierungssignal IPREBUSY aus, bei dem es sich um ein Neuschreibbefehlsempfangsquittierungssignal zur externen Quittierung, daß der Neuschreibbefehl angenommen worden ist, wenn der erste Befehl angenommen wurde, handelt. Das Befehlempfangsquittierungssignal IPREBUSY wird aktiv "L", wenn der erste Befehl eines 2-Zyklus-Befehls angenommen wird. D. h., bei dem Befehlsempfangsquittierungssignal IPREBUSY handelt es sich um ein Ausgabesignal mit negativer Logik, das bei "H" ein Fehlen der Annahme des ersten Befehls und bei "L" eine Annahme des ersten Befehls angibt.
  • Wie es in Fig. 9 und 10 gezeigt ist, ändert sich entsprechend dann, wenn der erste Befehl zum Blocklöschen angenommen wird, d. h. bei dem Beginn des Empfangs des Befehls des Blocklöschens, das Befehlsempfangsquittierungssignal IPREBUSY von dem Flash- Speicher-Modul 2A von "H" auf "L".
  • Das Befehlsempfangsquittierungssignal IPREBUSY wird negiert (auf "H" zurückgezogen), wenn RYIBY = "H", d. h. in dem Bereitzustand.
  • Dieses Befehlsempfangsquittierungssignal IPREBUSY ist einem Bit in dem Statusregister 20 oder einem Bit in einem (nicht gezeigten) Steuerungsregister in der Flash-Speicher- Steuerungsschaltung 3A zugewiesen, so daß die CPU 1 die Informationen über das Befehlsempfangsquittierungssignal IPREBUSY von dem Flash-Speicher-Modul 2A oder von der Flash-Speicher-Steuerungsschaltung 3A erfassen und lesen kann. Auf die Informationen kann somit von dem Benutzerprogramm Bezug genommen werden, und sie können zur Steuerung des Flash-Speicher-Moduls 2A verwendet werden.
  • Alternativ kann die Flash-Speicher-Steuerungsschaltung 3A mehrere Arten von Neuschreibbefehlen für das Flash- Speicher-Modul 2A erteilen, die unterschiedliche Inhalte entsprechend den unterschiedlichen Arten von Neuschreibbefehlen umfassen. Daraufhin erzeugt das Flash- Speicher-Modul 2A das Befehlsempfangsquittierungssignal IPREBUSY mit der logischen ODER-Verknüpfung einer Vielzahl von Empfangsquittierungssignalen entsprechend den mehreren Arten von Neuschreibbefehlen.
  • Die Schaltung zur Erzeugung des Bushaltesignals HOLD in der Flash-Speicher-Steuerungsschaltung 3A ist derart entworfen, daß das Bushaltesignal HOLD aktiv wird, wenn das Befehlsempfangsquittierungssignal IPREBUSY = "L" und das Befehlsschreibsignal IWE = "L".
  • In dem nächsten Buszyklus T5 wird der zweite Befehl "D0h" des Blocklöschens gemäß dem Benutzerprogramm erteilt. Wenn das Befehlsschreibsignal IWE "L" wird, stellt die gemäß der vorstehend gezeigten Logik arbeitende Erzeugungseinrichtungsschaltung das Bushaltesignal HOLD auf aktiv "H" ein, um damit anzufangen, den Adreßbus 4, den Datenbus 5 und die Steuerungssignale von dem nächsten Zyklus an konstant zu halten. Auf diese Weise ändert sich das Befehlsempfangsquittierungssignal IPREBUSY vor dem Übergang des Haltesignals HOLD auf aktiv "L", so daß das Haltesignal HOLD bei dem Ende des Empfangs des Befehls des Blocklöschens sicher auf "H" gebracht werden kann.
  • Zu dieser Zeit kann es sein, daß es sich bei den konstant gehaltenen Adreß- und Datenbuswerten nicht um den zweiten Befehl des Blocklöschens handelt, da die CPU 1 eine Pipeline-Verarbeitung ausführt.
  • Bei der Anstiegsflanke des Befehlsschreibsignals IWE wird das Datensignal DB (15 : 0) auf dem Datenbus 5 in der Adreß- /Daten-/Steuerungssignaleingabeschaltung 15 in dem Flash- Speicher-Modul 2A zwischengespeichert, und die Mikroablaufsteuerung 11 führt einen Befehlsdecodierungsprozeß aus. Die Mikroablaufsteuerung 11 erkennt daraufhin bei der Anstiegsflanke des Befehlsschreibsignals IWE bei dem zweiten Befehl die Art des Befehls und startet einen Ablauf des Flash-Speicher- Blocklöschens, und das Bereitstatussignal RYIBY gibt "L" aus, was Belegt angibt.
  • Wenn das Flash-Speicher-Modul 2A den Befehl annimmt und die Verarbeitung startet, tritt es in die "Statuslesebetriebsart" ein, in der der Statusregisterwert 20 ausgegeben wird, wenn er gelesen wird. Entsprechend kann die CPU 1 während der Befehlsverarbeitung die Flash-ROM- Daten 19 nicht lesen und Programmanweisungen in dem Flash- Speicher-Modul 2A nicht abrufen.
  • Wenn das Flash-Speicher-Modul 2A die Befehlsverarbeitung in der internen Mikroablaufsteuerung 11 abschließt, ändert sich die Bereitsignalausgabe RYIBY von "L" auf "H".
  • Nach dem Übergang des Signals RYIBY von "L" auf "H" veranlaßt es die Flash-Steuerungsschaltung 3A, daß das Haltesignal HOLD sich einen Buszyklus danach von "H" auf "L" ändert, und bildet es so unwirksam aus. Wenn die Busse aus dem Halten freigegeben werden, wird die unterbrochene Programmausführungsverarbeitung wiederaufgenommen.
  • Zu dieser Zeit führt die Flash-Speicher-Steuerungsschaltung 3A dem Flash-Speicher-Modul 2A das Lesebetriebsarteinstellungsimpulssignal RDMODE auf "H" zu, so daß das in der "Statuslesebetriebsart" plazierte Flash- Speicher-Modul 2A unmittelbar nach der Wiederherstellung von Belegt auf Bereit in die "Speicherlesebetriebsart" eintreten kann, in der die Speicherinhalte gelesen werden können.
  • Bei dem zweiten bevorzugten Ausführungsbeispiel gibt diese Operation wie bei dem ersten bevorzugten Ausführungsbeispiel den Adreßbus 4, den Datenbus 5 und die Steuerungssignale frei, und die CPU 1 kann ihre Verarbeitung wiederaufnehmen, ohne wegzulaufen.
  • Wie es bei dem ersten bevorzugten Ausführungsbeispiel beschrieben ist, kann ferner dann, wenn eine Sprunganweisung (JMP-Anweisung) unmittelbar nach dem zweiten Befehl des Flash-Neuschreibbefehls in dem Benutzerprogramm plaziert ist, das Benutzerprogramm sicher wiederaufgenommen werden, wenn die Neuschreibbefehlsverarbeitung beendet wird und das Halten abgebrochen wird.
  • Bei dem bei dem zweiten bevorzugten Ausführungsbeispiel verwendeten Befehlsempfangsquittierungssignal IPREBUSY handelt es sich um ein Signal, das eine Erfassung dahingehend ermöglicht, ob der erste Befehl des Befehls des automatischen Löschens durch das Flash-Speicher-Modul 2A angenommen worden ist, und dieses Signal kann auch zur Erfassung eines Befehlseingabefehlers verwendet werden. Wenn eine Anweisung zur Überprüfung des Befehlsempfangsquittierungssignals IPREBUSY (d. h. eine Anweisung zum Lesen eines auf der Grundlage des Befehlsempfangsquittierungssignals IPREBUSY zugewiesenen Bits, das z. B. in dem Steuerungsregister in der Flash- Speicher-Steuerungsschaltung 3A gespeichert ist) unmittelbar nach dem ersten Befehl des Flash- Neuschreibbefehls in dem Benutzerprogramm plaziert ist, kann es die CPU 1 daraufhin überprüfen, um es zu wissen, ob der erste Befehl durch das Flash-Speicher-Modul 2A angenommen worden ist. Dies erhöht die Genauigkeit der Befehlseingabe für das Flash-Speicher-Modul 2A.
  • Ferner weist die Flash-Speicher-Steuerungsschaltung 3A eine ERRCMD-Signal-Erzeugungsschaltung und ein Steuerungsregister mit einem dem ERRCMD-Signal entsprechenden Bit auf; bei dem ERRCMD-Signal handelt es sich um ein Signal, das durch eine Zwischenspeicherung des Bereitstatussignals RYIBY unmittelbar nach dem Ansteigen des Befehlsschreibsignals IWE erzeugt wird.
  • Dieses Steuerungsregister kann von der CPU 1 gelesen werden; die CPU 1 liest das ERRCMD-Bit nach der Erteilung des zweiten Befehls des Flash-Neuschreibbefehls. Wenn das ERRCMD-Bit sich auf "H" befindet, gibt es einen Fehler des Befehls oder ein Scheitern der Annahme des Befehls an.
  • Das Bereitstatussignal RYIBY wird in dem gleichen Buszyklus zwischengespeichert, in dem der zweite Befehl des Befehls des automatischen Löschens eingegeben wird, und das Befehlsfehlersignal ERRCMD wird derart erzeugt, daß es sich auf "H" befindet, wenn der zweite Befehl nicht normal angenommen wird. Die CPU 1 liest das Befehlsfehlersignal ERRCMD nach der Erteilung des zweiten Befehls, wodurch sie es leicht erfaßt, ob während der Erteilung des zweiten Befehls ein Fehler aufgetreten ist.
  • Diese Funktion ist dahingehend vorteilhaft, daß der Fehler des zweiten Befehls auch dann erfaßt werden kann, wenn sowohl der erste als auch der zweite Befehl des Flash- Neuschreibbefehls verursacht durch eine Störung usw. nicht durch das Flash-Speicher-Modul 2 angenommen worden ist.
  • Wie es vorstehend gezeigt ist, ist das zweite bevorzugte Ausführungsbeispiel wie das erste bevorzugte Ausführungsbeispiel dahingehend vorteilhaft, daß die CPU 1 es zu der Zeit, wenn sie einen Neuschreibbefehl für das Flash-Speicher-Modul erteilt, vermeiden kann, wegzulaufen, was auftreten würde, wenn die CPU 1 während der Befehlsverarbeitung Anweisungscodes in dem Flash-Speicher nicht lesen kann, und ist auch dahingehend vorteilhaft, daß selbst mit dem in dem Flash-ROM plaziert gehaltenen Neuschreibprogramm die Inhalte des Flash-ROM in anderen Blöcken während der Ausführung des Programms neu geschrieben werden können, ohne daß die Übertragung des Programms aus dem Flash-ROM zu einem RAM erforderlich ist, wie es bei bekannten Flash-ROM erforderlich war.
  • Drittes bevorzugtes Ausführungsbeispiel
  • Fig. 11 zeigt ein Blockschaltbild, das die grundlegende Struktur eines Mikrocontrollers mit einem eingebauten Flash-Speicher gemäß einem dritten bevorzugten Ausführungsbeispiel der Erfindung darstellt.
  • Wie es in dieser grafischen Darstellung gezeigt ist, umfaßt der Mikrocontroller zusätzlich ein RAM 26. Das RAM 26 kann von der CPU 1 mit dem Adreßsignal AD (20 : 0) auf dem Adreßbus 4, dem Datensignal DB (15 : 0) auf dem Datenbus 5, dem Lese-/Schreibsteuerungssignal RWB und dem Anweisungsausführungssignal EB gelesen/geschrieben werden.
  • Wie es bei dem ersten und zweiten bevorzugten Ausführungsbeispiel angegeben ist, weist die CPU 1 eine Anweisungswarteschlange für eine Vielzahl von Anweisungen auf und kann eine Pipeline-Verarbeitung ausführen. In anderer Hinsicht ist die Struktur die gleiche wie die in Fig. 8 gezeigte Struktur des zweiten bevorzugten Ausführungsbeispiels.
  • Fig. 12 und 13 veranschaulichen Signalverläufe, die die Variationen von Signalen zeigen, die während der Ausführung des Befehls des Blocklöschens in dem Mikrocontroller mit einem eingebauten Flash-Speicher gemäß dem dritten bevorzugten Ausführungsbeispiel stattfinden. Wie bei dem ersten und zweiten bevorzugten Ausführungsbeispiel entspricht jeder der Buszyklen T1 bis T5, TN, Tm usw. zwei Taktzyklen des Arbeitstakts CLK.
  • Nachstehend ist die Operation, die ausgeführt wird, wenn die CPU 1 den Befehl des automatischen Blocklöschens erteilt, als ein Beispiel beschrieben, bei dem die CPU 1 gemäß dem Benutzerprogramm einen Neuschreibbefehl für den Flash-Speicher bei einem anderen Block als dem Block (den Blöcken), in denen das Programm plaziert ist, erteilt.
  • Wenn das Benutzerprogramm ein Neuschreiben der Inhalte des Flash-Speichers erfordert, wird es durch die Prozedur ausgeführt, wie sie nachstehend gezeigt ist.
  • Zuerst wird ein Programm zum zyklischen Abfragen hinsichtlich des Bereitbits (Belegtstatussignals), das über den Datenbus 5 aus dem Statusregister 20 in dem Flash- Speicher-Modul 2A gelesen wird, vorher von dem Flash-ROM 2A zu dem RAM 26 übertragen. Bei dem Bereitbit handelt es sich um Informationen, die den Status des Flash-Speicher-Moduls 2A angeben; es gibt bei "H" und "L" an, ob das Flash- Speicher-Modul 2A sich in dem Bereitzustand befindet.
  • Wie es in Fig. 12 und 13 gezeigt ist, führt die CPU 1 das Benutzerprogramm aus und stellt sequentiell den ersten Befehl und den zweiten Befehl des Befehls des Blocklöschens bereit, um eine automatische Ausführung des Blocklöschens zu starten.
  • Eine JMP-Anweisung zu einer Startadresse in dem RAM 26, in das das Programm des zyklischen Abfragens geschrieben wird, ist unmittelbar nach dem Flash-Neuschreibbefehl plaziert. Daraufhin wird nach der Ausführung des zweiten Befehls des Flash-Neuschreibbefehls die in die Anweisungswarteschlange in der CPU 1 abgerufene JMP-Anweisung ausgeführt, um zu der gegebenen Startadresse in dem RAM 26 zu springen.
  • Während der Neuschreibbefehl in dem Flash-Speicher-Modul 2A ausgeführt wird, befindet sich das Flash-Speicher-Modul 2A in der "Statuslesebetriebsart". Gemäß dem in das RAM 26 geschriebenen Programm des zyklischen Abfragens erteilt die CPU 1 über die Flash-Steuerungsschaltung 3 eine Leseanweisung für das Flash-Speicher-Modul 2A, und die CPU 1 kann den Status (Bereit/Belegt) des Flash-Speicher-Moduls 2A auf der Grundlage des Bereitbits in dem Statusregister 20 erfassen. Die CPU 1 kann es somit beurteilen, ob der Neuschreibbefehl ausgeführt wird oder beendet worden ist.
  • Gemäß dem Programm des zyklischen Abfragens in dem RAM 26 hält sich die CPU 1 für den Abschluß der Verarbeitung des Flash-Neuschreibbefehls bereit und erfaßt die Änderung des über den Datenbus 5 gelesenen Bereitbits von "L" (Belegt) auf "H" (Bereit), wodurch sie den Abschluß der Befehlsverarbeitung erfaßt.
  • Unmittelbar nach dem Abschluß der Befehlsverarbeitung, d. h. synchron zu dem Übergang des Bereitstatussignals RYIBY von "L" auf "H", gibt die Flash-Speicher-Steuerungsschaltung 3A das Lesebetriebsartsignal RDMODE auf aktiv "H" aus, um das Flash-Speicher-Modul 2A von der "Statuslesebetriebsart" zu der "Speicherlesebetriebsart" zu ändern. Die Flash-ROM- Daten 19 können somit nach dem Abschluß der Verarbeitung des Neuschreibbefehls gelesen werden.
  • Die CPU 1 kann nach dem Abschluß der Verarbeitung des Flash-Neuschreibbefehls wieder zu der Programmadresse in dem Flash-Speicher-Modul 2A springen (dies kann z. B. erreicht werden, indem eine Anweisung für den Sprung unmittelbar nach der Subroutine des Programms des zyklischen Abfragens in dem RAM 26 beschrieben wird), um die Ausführung des Programms in dem Flash-Speicher-Modul 2A wiederaufzunehmen.
  • Wie es vorstehend gezeigt ist, kann gemäß dem dritten bevorzugten Ausführungsbeispiel das Flash-Speicher-Modul 2A neu geschrieben werden, während lediglich ein Bereich kleiner Kapazität in den RAM 26 hauptsächlich für das Programm zum zyklischen Abfragen des Belegtstatus des Flash-Moduls verwendet wird.
  • Es ist somit möglich, die für das Neuschreibprogramm erforderliche RAM-Kapazität oder den Registersicherungsstapel während der Flash-Speicher- Neuschreibverarbeitung zu verringern, und die Kapazität des RAM 26 kann auf ein notwendiges Minimum optimiert werden.
  • Viertes bevorzugtes Ausführungsbeispiel
  • Fig. 14 zeigt ein Blockschaltbild, das die grundlegende Struktur eines Mikrocontrollers mit einem eingebauten Flash-Speicher gemäß einem vierten bevorzugten Ausführungsbeispiel der Erfindung darstellt.
  • Wie es in dieser grafischen Darstellung gezeigt ist, gibt das Flash-Speicher-Modul 2B Befehlsempfangsquittierungssignale IPREBUSY-0 bis IPREBUSY- n aus. Bei diesen Befehlsempfangsquittierungssignalen IPREBUSY-0 bis IPREBUSY-n handelt es sich um Signale, die jeweils unterschiedlichen Arten von Neuschreibbefehlen für das Flash-Speicher-Modul 2B (Befehlen wie dem automatischen Blocklöschen, automatischen Schreiben usw.) zugewiesen sind.
  • Die Flash-Speicher-Steuerungsschaltung 3B umfaßt ein Steuerungsregister 23; das Steuerungsregister 23 kann die Werte der Befehlsempfangsquittierungssignale IPREBUSY-0 bis IPREBUSY-n als sein internes Bit-0 bis Bit-n speichern. Auf das Steuerungsregister 23 kann von der CPU 1 lesend zugegriffen werden. In anderer Hinsicht ist die Struktur die gleiche wie die in Fig. 8 gezeigte Struktur bei dem zweiten bevorzugten Ausführungsbeispiel.
  • Wenn die CPU 1 ein vorbestimmtes Programm ausführt und einen Befehl für das Flash-Speicher-Modul 2B erteilt, können sich z. B. die Daten in dem Mikrocomputer verursacht durch eine elektrische Störung usw. ändern, und daraufhin können sie als ein anderer Befehl in dem Flash-Speicher- Modul 2B angenommen werden. Bei dem vierten bevorzugten Ausführungsbeispiel mit der vorstehend gezeigten Struktur kann es jedoch die CPU 1 nach der Erteilung des ersten Befehls des Neuschreibbefehls für das Flash-Speicher-Modul 2B und vor der Erteilung des zweiten Befehls überprüfen, ob das dem Neuschreibbefehl entsprechende Befehlsempfangsquittierungssignal IPREBUSY-i (i ist eines von 1 bis n) wirksam ist oder nicht, indem sie den Wert des Bit-i in dem Steuerungsregister 23 liest. Die CPU 1 kann es somit auf eine Art und Weise, bei der die Arten der Neuschreibbefehle unterschieden werden können, wissen, ob der Neuschreibbefehl durch das Flash-Speicher-Modul 2B richtig angenommen worden ist.
  • Zu dieser Zeit wird die Erzeugung des Haltesignals HOLD mit einem logischen ODER-Signal des Bit-0 bis Bit-n in dem Steuerungsregister 23 gesteuert.
  • Wie es vorstehend gezeigt ist, ist es gemäß dem vierten bevorzugten Ausführungsbeispiel möglich, es zu bestätigen, ob die Art des von der CPU 1 für den Flash-Speicher erteilten Befehls mit der Art des bei dem Flash-Speicher- Modul 2B tatsächlich angenommenen Befehls übereinstimmt, um die Genauigkeit der Befehlserteilung zu erhöhen.
  • Fünftes bevorzugtes Ausführungsbeispiel
  • Fig. 15 zeigt ein Blockschaltbild, das die grundlegende Struktur eines Mikrocontrollers mit einem eingebauten Flash-Speicher gemäß einem fünften bevorzugten Ausführungsbeispiel der Erfindung darstellt.
  • Das fünfte bevorzugte Ausführungsbeispiel ist dadurch gekennzeichnet, daß eine Operation gemäß dem Buszeitverlauf ausgeführt wird, wobei die Buszyklen, in denen die Flash- Speicher-Neuschreibbefehle erteilt werden, insbesondere der Buszyklus für den zweiten Befehl, vergrößert sind, wobei nach dem Ansteigen des Befehlsschreibsignals IWE ein Wartezyklus in dem Buszyklus plaziert wird.
  • Fig. 16 und 17 veranschaulichen Signalverläufe, die die Variationen von Signalen darstellen, die während der Ausführung des Befehls des Blocklöschens in dem Mikrocontroller mit einem eingebauten Flash-Speicher gemäß dem fünften bevorzugten Ausführungsbeispiel stattfinden. In dieser grafischen Darstellung sind alle Buszyklen derart eingestellt, daß sie mit drei Taktzyklen des Arbeitstakts CLK arbeiten.
  • Bei dem fünften bevorzugten Ausführungsbeispiel wird nach der Erteilung des zweiten Befehls des Flash- Neuschreibbefehls ein Wartezyklus WT in dem gleichen Buszyklus bereitgestellt. Die Schaltung zur Erzeugung des Haltesignals HOLD in der Flash-Speicher-Steuerungsschaltung 3C ist derart entworfen, daß das Haltesignal HOLD aktiv wird, wenn das Befehlsempfangsquittierungssignal IPREBUSY aktiv ist und das Bereitstatussignal RYIBY Belegt angibt. Dieses Haltesignal HOLD kann das Halten von dem nächsten Buszyklus T6 an starten.
  • Nachdem der Neuschreibbefehl verarbeitet worden ist, veranlaßt es die Flash-Speicher-Steuerungsschaltung 3C, daß das Haltesignal HOLD sich einen Buszyklus nach dem Übergang des Bereitstatussignals RYIBY von "L" auf "H" von "H" auf "L" ändert oder unwirksam wird. Wenn das Haltesignal HOLD abgebrochen wird, kann die unterbrochene Programmausführung wiederaufgenommen werden. In anderer Hinsicht sind die Struktur und die Operation die gleichen wie die bei dem zweiten bevorzugten Ausführungsbeispiel.
  • Wie es vorstehend gezeigt ist, kann gemäß dem fünften bevorzugten Ausführungsbeispiel das Haltesignal HOLD auf der Grundlage lediglich des Befehlsempfangsquittierungssignals IPREBUSY und des Bereitstatussignals RYIBY erzeugt werden. Darüber hinaus ist der Buszyklus auf drei Zyklen des Arbeitstakts CLK eingestellt, was um einen Zyklus länger ist als die Buszyklen bei anderen bevorzugten Ausführungsbeispielen, so i daß nach der Erteilung des zweiten Befehls des Flash- Neuschreibbefehls ein Wartezyklus WT in dem gleichen Buszyklus bereitgestellt werden kann. Der Buszyklus T6 und die folgenden Zyklen können somit sicher als ein Haltezeitraum eingestellt werden.
  • Während die Erfindung ausführlich beschrieben ist, ist die vorstehende Beschreibung in allen Ausgestaltungen veranschaulichend und nicht beschränkend. Es ist selbstverständlich, daß zahlreiche andere Modifikationen und Variationen abgeleitet werden können, ohne von dem Bereich der Erfindung abzuweichen.
  • Es wird ein Mikrocomputer mit einem eingebauten Flash- Speicher erhalten, bei dem der Flash-Speicher mit einem in dem Flash-Speicher plaziert gehaltenen Neuschreibprogramm und ohne zusätzliche komplizierte Steuerungsschaltungen zu erfordern richtig neu geschrieben werden kann. Bei der Annahme eines Lösch-/Schreibbefehls, der einen Neuschreibbefehl bildet, gibt ein Flash-Speicher-Modul 2 ein einen Belegtzustand während der Ausführung der Verarbeitungsfolge angebendes Bereitstatussignal RYIBY zu einer Flash-Speicher-Steuerungsschaltung 3 aus. Wenn das Bereitstatussignal RYIBY den Belegtzustand angibt, gibt die Flash-Speicher-Steuerungsschaltung 3 ein Haltesignal HOLD auf aktiv "H" aus, um eine CPU 1 an einem Zugriff auf das Flash-Speicher-Modul 2 zu hindern. Wenn das Bereitstatussignal RYIBY den Bereitzustand wiedererlangt hat, gibt die Flash-Speicher-Steuerungsschaltung 3 das Haltesignal HOLD auf "L" aus, um der CPU 1 einen Zugriff auf das Flash-Speicher-Modul 2 zu ermöglichen.

Claims (15)

1. Mikrocomputer mit:
einer CPU (1) zur Ausführung einer bestimmten Anweisung;
einem in eine Vielzahl von Blöcken aufgeteilten Flash- Speicher-Abschnitt (2; 2A; 2B); und
einer Flash-Speicher-Steuerungsschaltung (3; 3A; 3B; 3C) zur Steuerung einer Neuschreiboperation für den Flash- Speicher-Abschnitt, wobei
die CPU dazu in der Lage ist, ein in zumindest einen Block der Vielzahl von Blöcken geschriebenes vorbestimmtes Programm auszuführen, wobei das vorbestimmte Programm ein Programm zum Neuschreiben eines anderen Blocks als des zumindest einen Blocks der Vielzahl von Blöcken in dem Flash-Speicher-Abschnitt ist und der Flash-Speicher- Abschnitt eine Neuschreiboperation bei dem anderen Block als dem zumindest einen Block der Vielzahl von Blöcken auf der Grundlage eines Neuschreibbefehls ausführt und ein Bereitstatussignal (RYIBY) ausgibt, das es angibt, ob die Neuschreiboperation ausgeführt wird oder nicht; und
die Flash-Speicher-Steuerungsschaltung das Bereitstatussignal empfängt, wodurch die Flash-Speicher- Steuerungsschaltung dann, wenn es das Bereitstatussignal angibt, daß die Neuschreiboperation auszuführen ist, ein Haltesignal (HOLD) für die CPU bereitstellt, das es angibt, daß ein für die CPU zum Zugriff auf den Flash-Speicher- Abschnitt erforderliches Signal konstant festgelegt werden soll.
2. Mikrocomputer nach Anspruch 1, wobei die Flash-Speicher-Steuerungsschaltung (3) nach dem Beginn des Empfangs des Neuschreibbefehls und vor dem Ende des Empfangs des Neuschreibbefehls ein Vor-Haltesignal (RQHOLD) aktiv einstellt und die Flash-Speicher- Steuerungsschaltung das ein Festlegen angebende Haltesignal ausgibt, wenn das Vor-Haltesignal bei dem Ende des Empfangs des Neuschreibbefehls aktiv ist.
3. Mikrocomputer nach Anspruch 2, wobei
die Flash-Speicher-Steuerungsschaltung ein Steuerungsregister (22) umfaßt, das eingestellt/rückgesetzt werden kann, um es zu definieren, ob das Vor-Haltesignal aktiv oder inaktiv ist, und
die Flash-Speicher-Steuerungsschaltung das Steuerungsregister nach dem Beginn des Empfangs des Neuschreibbefehls einstellt.
4. Mikrocomputer nach Anspruch 3, wobei
der Neuschreibbefehl einen ersten und zweiten Teilbefehl umfaßt, die in einer Reihenfolge des ersten zu dem zweiten erteilt werden, und die Neuschreiboperation bei dem Abschluß der Erteilung des ersten und zweiten Teilbefehls gestartet wird,
das vorbestimmte Programm ein Programm umfaßt, in dem eine Registerschreibanweisung zur Einstellung des Steuerungsregisters zwischen dem ersten Teilbefehl und dem zweiten Teilbefehl beschrieben ist, und
die Flash-Speicher-Steuerungsschaltung die Ausgabe des Haltesignals zu der CPU in Übereinstimmung damit startet, ob das Steuerungsregister bei dem Beginn der Erteilung des zweiten Teilbefehls eingestellt oder rückgesetzt ist.
5. Mikrocomputer nach Anspruch 1, wobei
der Flash-Speicher-Abschnitt (2A) bei dem Beginn des Empfangs des Neuschreibbefehls ein Neuschreibbefehlsempfangsquittierungssignal (IPREBUSY) aktiv einstellt, und
die Flash-Speicher-Steuerungsschaltung (3A) das ein Festlegen angebende Haltesignal ausgibt, wenn das Neuschreibbefehlsempfangsquittierungssignal bei dem Ende des Empfangs des Neuschreibbefehls durch den Flash- Speicher-Abschnitt aktiv ist.
6. Mikrocomputer nach Anspruch 5, wobei
der Neuschreibbefehl einen ersten und zweiten Teilbefehl umfaßt, die in einer Reihenfolge des ersten zu dem zweiten erteilt werden, und
die Flash-Speicher-Steuerungsschaltung die Ausgabe des Haltesignals zu der CPU gemäß dem Wert des Neuschreibbefehlsempfangsquittierungssignals bei dem Beginn der Erteilung des zweiten Teilbefehls startet.
7. Mikrocomputer nach Anspruch 5, wobei das Neuschreibbefehlsempfangsquittierungssignal ein Signal umfaßt, auf das von der CPU Bezug genommen werden kann.
8. Mikrocomputer nach Anspruch 5, wobei
der Flash-Speicher-Abschnitt (2B) das Neuschreibbefehlsempfangsquittierungssignal als eine Vielzahl von unterschiedlichen Arten des Neuschreibbefehls entsprechenden Neuschreibbefehlsempfangsquittierungssignalen zu der Flash-Speicher-Steuerungsschaltung ausgibt, und
die Flash-Speicher-Steuerungsschaltung (3B) Werte der Vielzahl von Neuschreibbefehlsempfangsquittierungssignalen auf eine derartige Weise speichert, daß die CPU auf die Werte der Vielzahl von Neuschreibbefehlsempfangsquittierungssignalen zugreifen kann.
9. Mikrocomputer nach Anspruch 5, mit einer Operationszeitablaufsteuerungsbetriebsart, in der dann, wenn der Neuschreibbefehl für den Flash-Speicher-Abschnitt in einem Buszykluszeitraum zur Erteilung einer Anweisung für einen peripheren Funktionsblock erteilt wird, ein Wartezyklus in dem einen Buszykluszeitraum nach dem Abschluß der Erteilung des Neuschreibbefehls für den Flash- Speicher-Abschnitt plaziert wird.
10. Mikrocomputer nach Anspruch 1, wobei
die Flash-Speicher-Steuerungsschaltung auf der Grundlage des Bereitstatussignals umgehend nach der Ausführung der Neuschreiboperation bei dem Flash-Speicher- Abschnitt ein Lesebetriebsartsignal in einem aktiven Zustand ausgibt, und
der Flash-Speicher-Abschnitt das Lesebetriebsartsignal empfängt, wodurch dann, wenn des Lesebetriebsartsignal in den aktiven Zustand geht, während die Neuschreiboperation nicht ausgeführt wird, der Flash-Speicher-Abschnitt lesbar wird.
11. Mikrocomputer nach Anspruch 1, wobei
die Flash-Speicher-Steuerungsschaltung ein Lesebetriebsartsignal ausgibt, das sich immer in einem aktiven Zustand befindet, und
der Flash-Speicher-Abschnitt das Lesebetriebsartsignal empfängt, wodurch dann, wenn das Lesebetriebsartsignal sich in einem Bereitzeitraum, in dem die Neuschreiboperation nicht ausgeführt wird, in dem aktiven Zustand befindet, der Flash-Speicher-Abschnitt lesbar ist.
12. Mikrocomputer nach Anspruch 10 oder 11, wobei die Flash-Speicher-Steuerungsschaltung das Lesebetriebsartsignal wirksam/unwirksam einstellen kann.
13. Mikrocomputer nach einem der Ansprüche 5 bis 10, wobei
der Neuschreibbefehl eine Vielzahl von Arten von Neuschreibbefehlen umfaßt, und
das Neuschreibbefehlsempfangsquittierungssignal ein auf der Grundlage einer logischen ODER-Verknüpfung von jeweils der Vielzahl von Arten von Neuschreibbefehlen entsprechenden Empfangsquittierungssignalen erzeugtes Signal umfaßt.
14. Mikrocomputer nach Anspruch 7, wobei
der Neuschreibbefehl einen ersten und zweiten Teilbefehl umfaßt, die in einer Reihenfolge des ersten zu dem zweiten erteilt werden, und
die Flash-Speicher-Steuerungsschaltung ein zwischengespeichertes Signal erzeugt, indem sie das Bereitstatussignal unmittelbar nach der Erteilung des zweiten Teilbefehls zwischenspeichert und das zwischengespeicherte Signal auf eine derartige Weise speichert, daß die CPU auf das zwischengespeicherte Signal Bezug nehmen kann.
15. Mikrocomputer nach Anspruch 14, wobei die Flash-Speicher-Steuerungsschaltung derart konfiguriert ist, daß die CPU auf das Neuschreibbefehlsempfangsquittierungssignal nach der Erteilung des ersten Teilbefehls Bezug nehmen kann, um es zu überprüfen, ob der Befehl angenommen worden ist, und daß die CPU auf das zwischengespeicherte Signal unmittelbar nach der Erteilung des zweiten Teilbefehls Bezug nehmen kann, um es zu überprüfen, ob der Befehl angenommen worden ist.
DE10236011A 2001-11-15 2002-08-06 Mikrocomputer Ceased DE10236011A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001350151A JP4136359B2 (ja) 2001-11-15 2001-11-15 マイクロコンピュータ

Publications (1)

Publication Number Publication Date
DE10236011A1 true DE10236011A1 (de) 2003-06-05

Family

ID=19162712

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10236011A Ceased DE10236011A1 (de) 2001-11-15 2002-08-06 Mikrocomputer

Country Status (5)

Country Link
US (1) US6959365B2 (de)
JP (1) JP4136359B2 (de)
KR (1) KR100474622B1 (de)
DE (1) DE10236011A1 (de)
TW (1) TW577019B (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003060722A1 (fr) * 2002-01-09 2003-07-24 Renesas Technology Corp. Système de mémoire et carte mémoire
JP3980901B2 (ja) * 2002-02-12 2007-09-26 沖電気工業株式会社 デジタル信号処理装置
JP2004237667A (ja) * 2003-02-07 2004-08-26 Canon Inc データ転送方法
FI20035041A0 (fi) * 2003-03-31 2003-03-31 Nokia Corp Menetelmä tiedon tallentamiseksi muistiin, järjestelmä, elektroniikkalaite ja muistikortti
US8200879B1 (en) 2004-06-29 2012-06-12 National Semiconductor Corporation Memory interface including an efficient variable-width bus
US9245591B2 (en) 2005-06-16 2016-01-26 Lexmark International, Inc. Addressing, command protocol, and electrical interface for non-volatile memories utilized in recording usage counts
US8521970B2 (en) * 2006-04-19 2013-08-27 Lexmark International, Inc. Addressing, command protocol, and electrical interface for non-volatile memories utilized in recording usage counts
US7426613B2 (en) * 2005-06-16 2008-09-16 Lexmark International, Inc. Addressing, command protocol, and electrical interface for non-volatile memories utilized in recording usage counts
JP4925162B2 (ja) * 2005-11-07 2012-04-25 株式会社メガチップス メモリ装置
US7567461B2 (en) * 2006-08-18 2009-07-28 Micron Technology, Inc. Method and system for minimizing number of programming pulses used to program rows of non-volatile memory cells
JP4626595B2 (ja) * 2006-09-12 2011-02-09 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
KR101364443B1 (ko) * 2007-01-31 2014-02-17 삼성전자주식회사 메모리 시스템, 이 시스템을 위한 메모리 제어기와 메모리,이 시스템의 신호 구성 방법
US7950014B2 (en) * 2007-06-01 2011-05-24 Microsoft Corporation Detecting the ready state of a user interface element
KR101581311B1 (ko) * 2009-03-11 2015-12-31 삼성전자주식회사 플래시 메모리 장치 및 그 제어 방법
KR20100115583A (ko) * 2009-04-20 2010-10-28 삼성전자주식회사 데이터 저장 시스템
JP5325650B2 (ja) * 2009-05-11 2013-10-23 ルネサスエレクトロニクス株式会社 半導体チップ
KR101034457B1 (ko) * 2009-09-23 2011-05-17 성신아이앤텍 주식회사 진동모터 케이스 제조방법
TWI420313B (zh) * 2010-12-24 2013-12-21 Phison Electronics Corp 資料管理方法、記憶體控制器與嵌入式記憶體儲存裝置
US8737849B2 (en) * 2011-05-02 2014-05-27 Static Control Components, Inc. Addressing for a memory device used in an image recording apparatus
TWI464593B (zh) 2012-03-03 2014-12-11 Nuvoton Technology Corp 輸出輸入控制裝置與其控制方法
JP6217664B2 (ja) 2015-02-10 2017-10-25 トヨタ自動車株式会社 マイコン装置
KR102336730B1 (ko) * 2015-09-30 2021-12-07 에스케이하이닉스 주식회사 상태 신호를 출력하는 반도체 메모리 장치 및 그것의 동작 방법
JP6950383B2 (ja) * 2017-09-12 2021-10-13 株式会社豊田自動織機 メモリアクセス装置及びメモリアクセス方法
US10628344B2 (en) * 2017-09-22 2020-04-21 Macronix International Co., Ltd. Controlling method, channel operating circuit and memory system for executing memory dies with single channel
KR20210014363A (ko) * 2019-07-30 2021-02-09 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US11698734B2 (en) 2020-07-22 2023-07-11 Seagate Technology Llc Collision reduction through just-in-time resource allocation

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4093823A (en) * 1976-08-24 1978-06-06 Chu Wesley W Statistical multiplexing system for computer communications
JPS6426264A (en) 1987-07-22 1989-01-27 Hitachi Ltd Data processor
JP2632104B2 (ja) * 1991-11-07 1997-07-23 三菱電機株式会社 不揮発性半導体記憶装置
JPH0729386A (ja) * 1993-07-13 1995-01-31 Hitachi Ltd フラッシュメモリ及びマイクロコンピュータ
US5678082A (en) * 1994-12-09 1997-10-14 Olympus Optical Co., Ltd. Electrical system apparatus including one-chip microcomputer
US5950222A (en) * 1996-03-14 1999-09-07 Sanyo Electric Co., Ltd. Microcomputer using a non-volatile memory
US5991849A (en) * 1996-04-10 1999-11-23 Sanyo Electric Co., Ltd Rewriting protection of a size varying first region of a reprogrammable non-volatile memory
JPH10177563A (ja) 1996-12-17 1998-06-30 Mitsubishi Electric Corp フラッシュメモリ内蔵マイクロコンピュータ
KR100251636B1 (ko) * 1997-04-10 2000-05-01 윤종용 소형컴퓨터시스템인터페이스방식접속을위한메모리장치
TW368626B (en) * 1998-04-17 1999-09-01 Winbond Electronics Corp Microprocessor with self-programmed embedded flash memory and programming method
JP2000348011A (ja) * 1999-06-07 2000-12-15 Mitsubishi Electric Corp 電気的に書き換え可能な不揮発性メモリ内蔵マイクロコンピュータ
JP2001084787A (ja) * 1999-09-09 2001-03-30 Oki Electric Ind Co Ltd 不揮発性記憶装置の書き換え回路,不揮発性記憶装置の書き換え方法およびスキャンレジスタ
KR100375217B1 (ko) * 1999-10-21 2003-03-07 삼성전자주식회사 전기적으로 재기입 가능한 불휘발성 메모리를 구비하는마이크로컨트롤러
JP2001306543A (ja) * 2000-04-19 2001-11-02 Nec Corp マイクロコンピュータ及びフラッシュメモリのデータ書換え方法
JP2001350738A (ja) * 2000-06-08 2001-12-21 Mitsubishi Electric Corp フラッシュメモリ内蔵マイクロコンピュータ
JP4564215B2 (ja) * 2001-09-26 2010-10-20 株式会社東芝 フラッシュメモリ書き替え回路、icカード用lsi、icカード及びフラッシュメモリ書き替え方法

Also Published As

Publication number Publication date
TW577019B (en) 2004-02-21
KR100474622B1 (ko) 2005-03-10
JP2003150574A (ja) 2003-05-23
US20030093612A1 (en) 2003-05-15
JP4136359B2 (ja) 2008-08-20
KR20030040021A (ko) 2003-05-22
US6959365B2 (en) 2005-10-25

Similar Documents

Publication Publication Date Title
DE10236011A1 (de) Mikrocomputer
DE3784996T2 (de) Fehlersuchmikroprozessor.
DE69327703T2 (de) Mikroprozessor mit Busbreite-Wechselfunktion
DE69906156T2 (de) Mikroprozessorvorrichtung mit programmierbaren wartezuständen
DE69533599T2 (de) Leistungssteuerung in einem asynchronen Sender/Empfänger
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE4237417C2 (de) Datenverarbeitungssystem
DE69230129T2 (de) Schreibüberlappung mit Verhinderung des Überschreibens
DE10159901B4 (de) Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher
DE69814137T2 (de) Cache-speicherbetrieb
DE10059596A1 (de) Verfahren zur Zeiteinstellung eines Systemspeichers
DE69033482T2 (de) Steuerungssystem für Systembus
DE102007059927A1 (de) Verfahren zum Übertragen von Daten in einem Speichersystem und Speichersystem
CH654943A5 (de) Pruefeinrichtung fuer mikroprogramme.
DE3933849A1 (de) Prozessorgesteuerte schnittstelle
DE2755611A1 (de) Steuereinheit fuer datenverarbeitungsanlagen
DE3852562T2 (de) Datenschreibverfahren für EEPROM.
DE69219848T2 (de) Verfahren zur Behandlung von Datenübertragungen in einen Computersystem mit einem Zweibusbau
DE3850514T2 (de) Cachespeicher mit Treffervorhersagelogik.
DE69834220T2 (de) Serielle Datenübertragung zwischen einem Datenverarbeitungsgerät und einer externen Speicheranordnung
DE60127520T2 (de) Prozessor mit Befehlscache mit niedrigem Stromverbrauch
DE19900251B4 (de) Vorrichtung und Verfahren zum Steuern eines vielseitigen USB-Endpunktkanals
DE19709730C2 (de) Mikrocomputer
DE10136724A1 (de) Ablaufverfolgungssteuerschaltung
DE69220788T2 (de) Kopplerschaltung und ihre verwendung in einer leiterplatte und verfahren hierfür

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection
8172 Supplementary division/partition in:

Ref document number: 10262289

Country of ref document: DE

Kind code of ref document: P

Q171 Divided out to:

Ref document number: 10262289

Country of ref document: DE

Kind code of ref document: P