-
Die vorliegende Erfindung bezieht sich auf einen
Programmspeichertyp-Mikrocomputer, der beispielsweise
in einer IC-Karte verwendet wird.
-
Unter den jüngsten Mikrocomputern ist ein
Mikrocomputer, der einen Programm-ROM, einen Arbeits-RAM und
dergleichen enthält und diese Speicher und einen
externen Speicher in dem gleichen Speicherraum zuordnet,
bekannt. Beispielsweise wird in einem Mikrocomputer
zum Zugreifen auf einen 64-kbyte-Speicherraum, wenn der
Mikrocomputer einen 16-kbyte-Intern-ROM hat, ein
1-kbyte-Intern-RAM und ein 32-kbyte-Extern-Speicher
verwendet, wobei diese Speicher in dem
64-kbyte-Adreßraum ohne Überlappung von ihren Adressen verteilt oder
zugewiesen sind. In diesem Fall werden ein Adreß- und
Datenbusse jeweils von dem ROM, dem RAM und dem
externen Speicher versorgt.
-
In einem herkömmlichen Mikrocomputer werden aus
einem internen ROM und RAM ausgelesene Daten direkt zu
einer externen Vorrichtung ausgegeben. Aus diesem
Grund werden ROM- und RAM-Inhalte einfach extern
erkannt.
-
Insbesondere in einem Mikrocomputer, der in eine
IC-Karte oder dergleichen eingebaut ist, für die
Sicherheit von primärer Bedeutung ist, speichert ein
interner ROM ein Steuerprogramm. Wenn daher die
Programmdaten einfach extern erfaßt werden, leidet die
Sicherheit des gesamten Systems. Zusätzlich wird eine
gefälschte IC-Karte leicht hergestellt.
-
Ein neulicher Mikrocomputer umfaßt einen
flüchtigen Speicher, wie beispielsweise einen RAM, als einen
Arbeitsspeicher, der während einer Ausführung des
Programmes notwendig ist. Ein Betrieb eines derartigen
Mikrocomputers, insbesondere von allen Zellen eines
RAM, kann nicht einfach bestätigt werden. Daher hat
ein Mikrocomputer eine Funktion des Schreibens eines
spezifischen Musters und des Verifizierens und Prüfens
des Musters. Jedoch erlaubt diese Methode nicht eine
perfekte Bestätigung der RAM-Operation. Wenn daher der
Mikrocomputer einfach ersetzbar ist, wird zuvor ein
Testprogramm des RAM in ein Programm des Mikrocomputers
eingegeben, so daß der Betrieb des RAM nach Einstellung
einer Vorrichtung, die den Mikrocomputer enthält,
bestätigt werden kann. Als ein Ergebnis braucht der
Betrieb des RAM nicht perfekt bestätigt zu werden, wenn
der Mikrocomputer versandt wird.
-
Jedoch hat gemäß dem oben beschriebenen Verfahren
eine Vorrichtung, die keinen Ersatz eines
Mikrocomputers nach Zusammenbau erlaubt, wie beispielsweise eine
IC-Karte, den folgenden Nachteil. Das heißt, selbst
wenn eine Abnormalität in dem Betrieb des RAM erfaßt
wird, kann der Mikrocomputer nicht ersetzt werden.
Daher ist die Ausbeute von IC-Karten reduziert, und die
Zuverlässigkeit von IC-Karten ist verschlechtert. Wenn
daher insbesondere ein Mikrocomputer, der als ein
Steuerelement einer IC-Karte verwendet wird, versandt wird
oder bevor er in die IC-Karte eingegossen wird, muß der
Betrieb des RAM perfekt bestätigt werden.
-
Das zum Stand der Technik zählende Dokument
EP-A-0 215 464 offenbart eine integrierte
Halbleiterschaltungsvorrichtung, die den Ausgang von
programmierten Daten eines eingebauten Speicher-ROM zu einem
ersten externen Anschluß sperrt, jedoch das Ergebnis
des Vergleichs der programmierten Daten mit einem von
einem zweiten externen Anschluß eingespeisten
Eingangssignal ausgibt, eingegeben/ausgegeben zu dem ersten
externen Anschluß. Diese integrierte
Schaltungsvorrichtung hat so eine Funktion des Abschaltens eines
Ausganges von programmierten Daten seines eingebauten
Speicher-ROM zu dem ersten externen Anschluß. Die
Abschaltfunktion wird realisiert, indem in der
bekannten integrierten Halbleiterschaltungsvorrichtung kein
Ausgangsanschluß für die Inhalte des eingebauten
Speicher-ROM vorgesehen wird, und lediglich die Ergebnisse
des Vergleichs der programmierten Daten mit dem vom
Eingangsanschluß eingespeisten Eingangssignal,
eingegeben/ausgegeben zu dem ersten externen Anschluß, kann
ausgegeben werden. Der eingebaute oder interne
Speicher-ROM, RAM der bekannten integrierten
Halbleiterschaltungsvorrichtung ist mit einer I/O- bzw.
Eingabe/Ausgabe-Einheit über einen Bus verbunden. Aus
diesem Grund können die Inhalte dieses internen
Speicher-ROM, RAM bekannt sein durch Überwachen der
I/O-Einheit zu der Zeit des internen Zugriffes.
-
Weiterhin beschreibt das zum Stand der Technik
zählende Dokument EP-A-0 136 155 einen Einzelchip-
Mikrocomputer mit einer Einrichtung zum Verhindern
eines Auslesens von dessen internem ROM. Dieser
Einzelchip-Mikrocomputer ist mit einem externen Speicher
zum Ausdehnen von dessen Adreßraum verbindbar. Der
Mikrocomputer hat einen ersten Betriebsmodus, in
welchem der verfügbare Speicherbereich der Bereich eines
internen ROM und Teil des externen Speichers ist, und
einen zweiten Betriebsmodus, in welchem der verfügbare
Speicherbereich der gesamte externe Speicher ist. Der
Mikrocomputer umfaßt eine Sperreinrichtung zum Sperren
des Schaltens von dem zweiten Modus zu dem ersten
Modus, um so sicherzustellen, daß Inhalte des internen
ROM 4 nicht ausgelesen werden können. Somit zeigt
dieses zum Stand der Technik zählende Dokument den
Einzelchip-Mikrocomputer mit einer CPU, die auf den internen
ROM und den externen ROM beide zugreift. In einem
ersten Betriebsmodus werden der interne und der externe
ROM beide verwendet, und in einem zweiten Betriebsmodus
wird lediglich der externe ROM verwendet. Die
Sperreinrichtung ist vorgesehen, um das Schalten von dem
zweiten Betriebsmodus zu dem ersten Betriebsmodus zu
sperren, so daß die Inhalte des internen ROM nicht
ausgelesen werden können. Jedoch können in dem ersten
Betriebsmodus dieses bekannten
Einzelchip-Mikrocomputers die Inhalte des internen ROM extern von einem
Schnittstellen-Port ausgegeben werden, da dieser
Schnittstellen-Port auch freigegeben ist, wenn der
interne ROM freigegeben ist. Weiterhin ist in dem
zweiten Betriebsmodus der Ausgang der Inhalte des
internen ROM nicht gesperrt, vielmehr ist lediglich der
Zugriff des internen ROM gesperrt.
-
Es ist eine Aufgabe der vorliegenden Erfindung,
einen Mikrocomputer vorzusehen, der eine einfache
externe Bestätigung eines Betriebes eines internen
flüchtigen Speicherabschnittes erlaubt, ohne ein
Testprogramm in dessen Programm zuvor einzugeben, der einen
Betrieb verhindert, bei dem Inhalte und dergleichen der
internen Verarbeitung leicht extern erkannt werden, und
der optimal für eine Verwendung in einer Vorrichtung
ist, in der Sicherheit von primärer Bedeutung ist.
-
Zur Lösung dieser Aufgabe sieht die vorliegende
Erfindung einen Mikrocomputer vor, wie dieser im
Patentanspruch angegeben ist.
-
Der Mikrocomputer umfaßt insbesondere einen
Speicher zum Speichern von Daten, eine
Speicherzugriffschaltung zum Zugreifen des Speichers und einen
Zweirichtungspuffer zum Blockieren oder Sperren eines
externen Ausganges der Daten, abgeleitet von einer
Zugriffoperation in Abhängigkeit von dem
Speicherzugriff.
-
Andere Aufgaben und Merkmale der vorliegenden
Erfindung werden aus der folgenden Beschreibung im
Zusammenhang mit den begleitenden Figuren ersichtlich,
in welchen:
-
Fig. 1 ein Blockdiagramm ist, das einen
Mikrocomputer nach einem Ausführungsbeispiel der
vorliegenden Erfindung zeigt,
-
Fig. 2 ein Blockdiagramm ist, das eine Anordnung
zeigt, wenn der in Fig. 1 dargestellte
Mikrocomputer mit einem externen Speicher
verbunden ist, und
-
Fig. 3 ein Blockdiagramm ist, das eine
Verbindungsbeziehung zwischen einer Testeinheit und dem
in Fig. 1 dargestellten Mikrocomputer in
einem Testmodus zeigt.
-
Fig. 1 ist ein Blockdiagramm eines Mikrocomputers
der vorliegenden Erfindung.
-
Der Mikrocomputer 1 umfaßt externe Busse 31, 32,
33 und 34. Der externe Bus 31 ist ein
Eingangs/Ausgangs-Datenbus. Beispielsweise überträgt, wie in den
Fig. 2 und 3 gezeigt ist, der externe Bus 31 von
einer externen Einheit, wie beispielsweise einem
externen Speicher 40 oder Testeinheit 50, die mit
diesem Mikrocomputer 1 verbunden ist, eingespeiste Daten
zu einem internen Eingangs/Ausgangs-Datenbus 22. Der
Bus 31 überträgt auch von dem internen
Eingangs/Ausgangs-Datenbus 22 eingespeiste Daten zu der externen
Einheit. Der externe Bus 32 ist ein Adreßbus zum
Übertragen von Adreßdaten, die von der externen Einheit
eingespeist sind, zu dem internen Adreßbus 21, und der
Adreßdaten, die von dem internen Adreßbus eingespeist
sind, zu der externen Einheit. Der externe Bus 33 ist
ein Zugriffsteuerbus zum Übertragen von Zugriffsignalen
(Lesefreigabe-(RE)Signal, Schreibfreigabe-(WE)Signal
und dergleichen), die von der externen Einheit zu dem
internen Zugriffsteuerbus 23 gespeist sind. Der
externe Bus 34 überträgt ein Zugriffsignal, das von
einem weiter unten beschriebenen
Zugriffsignaldecoder 11 ausgegeben ist, zu der externen Einheit.
Ein Zweirichtungspuffer 7 liegt zwischen den externen
Bussen 33 und 34 sowie einer Signalleitung 41, einem
internen Zugriffsteuerbus 23 und der
Puffersteuersignalleitung 43. Ein Zweirichtungspuffer 8 liegt
zwischen dem externen Adreßdatenbus 32 sowie dem internen
Adreßbus 21 und der Puffersteuerleitung 45. Ein
Zweirichtungspuffer 9 liegt zwischen dem externen
Eingangs/Ausgangs-Datenbus 31 und dem internen Datenbus 22
sowie der Puffersteuersignalleitung 47. Diese
Zweirichtungspuffer 7, 8 und 9 sind durch Kombinieren von
beispielsweise zwei Bustreibern gebildet, um jeweils
Datenübertragungsrichtungen zu steuern.
-
Eine Zugriffsignalleitung 41, die mit dem
Zweirichtungspuffer 7 verbunden ist, ist auch an einen
Zugriffsignaldecoder 11 und einen Puffercontroller 10
angeschlossen. Der interne Zugriffsteuerbus 23, der
mit dem Zweirichtungspuffer 7 verbunden ist, ist auch
an den Steuerabschnitt 2, den Zugriffsignaldecoder 11
und den Puffercontroller 10 angeschlossen. Der interne
Adreßbus 21, der mit dem Zweirichtungspuffer 8
verbunden ist, ist an den Steuerabschnitt 2, den
Programmspeicher 3, den Zugriffsignaldecoder 11 und den
Arbeitsspeicher 4 angeschlossen. Der interne
Datenbus 22, der mit dem Zweirichtungspuffer 9 verbunden
ist, ist an den Steuerabschnitt 2, den
Programmspeicher 3, den Arbeitsspeicher 4 und einen Vergleicher 12
angeschlossen. Puffersteuersignalleitungen 43, 45 und
47 der Zweirichtungspuffer 7, 8 und 9 sind mit dem
Puffercontroller 10 verbunden. Der Programmspeicher 3,
der durch einen Masken-ROM gebildet ist, ist mit dem
Steuerabschnitt 2 über den internen Adreßbus 21 und den
internen Datenbus 22 verbunden und speichert ein
Programm, das durch den Steuerabschnitt 2 auszuführen ist.
Der Arbeitsspeicher 4, der durch einen Randomspeicher
gebildet ist, ist mit dem Steuerabschnitt 2 über den
internen Adreßbus 21 und den internen Datenbus 22
verbunden und wird als ein Arbeitsbereich verwendet, wenn
der Steuerabschnitt 2 ein Datenverarbeiten ausführt.
Der Zugriffsignaldecoder 11 ist mit dem
Steuerabschnitt 2 über den internen Adreßbus 21 und den
internen Zugriffsteuerbus 23 verbunden, um ein Zugriffsignal
für Programm, Arbeiten oder einen externen Speicher 3,
4 oder 40 abhängig von Adreßdaten oder einem
Adreßsignal zu erzeugen, das von dem Steuerabschnitt 2
eingespeist ist. Das Zugriffsignal, das von dem
Zugriffsignaldecoder 11 ausgegeben ist, wird auch zu dem
Puffercontroller 10 gespeist. Der Puffercontroller 10 ist
mit dem Zugriffsignaldecoder 11 und dem
Steuerabschnitt 2 verbunden, um interne Zugriffsteuerdaten, die
von dem Steuerabschnitt 2 eingespeist sind, und ein
Zugriffsignal, das von dem Zugriffsignaldecoder 11
ausgegeben ist, zu empfangen. Dann bestimmt der
Puffercontroller 10, daß das Signal ein internes oder
externes Zugriffsignal ist, und steuert Richtungen der
Zweirichtungspuffer 7, 8 und 9 gemäß dem
Bestimmungsergebnis. Wenn beispielsweise der Steuerabschnitt 2 durch
Lesen auf den Programmspeicher 3 oder den
Arbeitsspeicher 4 zugreift, steuert der Puffercontroller 10 die
Richtungen der Zweirichtungspuffer 7, 8 und 9, um einen
externen Ausgang der ausgelesenen Daten abzuschalten.
Wenn der Steuerabschnitt 2 durch Schreiben auf den
externen Speicher 40 zugreift, steuert der
Puffercontroller 10 die Richtungen der Zweirichtungspuffer 7,
8 und 9, um eine Datenübertragung von der internen zu
der externen Busseite zu ermöglichen. Wenn der
Steuerabschnitt 2 durch Lesen auf den externen Speicher 40
zugreift, sind die Richtungen der Zweirichtungspuffer 7
und 8 gesteuert, um eine Datenübertragung in den
gleichen Richtungen wie diejenigen in einem
Schreibzugriffmodus freizugeben, und die Richtung des Puffers 9 ist
gesteuert, um eine Datenübertragung in der
entgegengesetzten Richtung zu derjenigen im Schreibzugriffmodus
freizugeben. Der Vergleicher 12 ist mit den externen
und internen Eingangs/Ausgangs-Datenbussen 31 und 22
verbunden, um Daten auf den Datenbussen miteinander zu
vergleichen. Das Vergleichsergebnis wird zu dem
externen Bus 36 über den Bustreiber 13 ausgegeben und zu
einer Nichtübereinstimmungsschaltung 14 gespeist. Die
Nichtübereinstimmungsschaltung 14 zählt
Nichtübereinstimmungsergebnisse vom Vergleicher 12. Wenn die
Anzahl der Nichtübereinstimmungsergebnisse eine
vorbestimmte Zahl erreicht, wird ein Übertragsignal zu einer
Testmodus-Erlaubnisschaltung 6 gespeist. Die
Testmodus-Erlaubnisschaltung 6 ist mit einer Testmodus-
Einstellschaltung 5 verbunden.
-
Die Testmodus-Einstellschaltung 5 empfängt ein
Testmodus-Einstellsignal 35, das extern zu dem
Mikrocomputer 1 eingespeist ist, und liefert ein
Testmodussignal 25 zu der Testmodus-Erlaubnisschaltung 6. Die
Testmodus-Einstellschaltung 5 ist durch beispielsweise
eine Flip-Flop-Gruppe, eine Datenverriegelungsschaltung
und einen Vergleicher gebildet. Die
Datenverriegelungsschaltung speichert ein spezifisches Bitmuster.
Ein Operator gibt bit-seriell ein spezifisches
Bitmuster als das Testmodus-Einstellsignal 35 ein. Als
ein Ergebnis wird das seriell eingegebene Bitmuster
durch die Flip-Flop-Gruppe verriegelt. Dann wird das
durch die Flip-Flop-Gruppe abhängig von einem
Triggersignal verriegelte Bitmuster mit dem Bitmuster, das in
der Datenverriegelungsschaltung gespeichert ist, durch
den Vergleicher verglichen. Wenn als ein
Vergleichsergebnis die Muster miteinander übereinstimmen, wird
ein Übereinstimmungssignal zu der
Testmodus-Erlaubnisschaltung 6 als ein Testmodus-Einstellsignal 25
gespeist. Die Testmodus-Erlaubnisschaltung wird durch
beispielsweise Gatter gebildet. Wenn ein
Übertragsignal von der Nichtübereinstimmungsschaltung 14
eingespeist ist, sperrt die Schaltung 6 einen Ausgang des
Testmodus-Steuersignales 27 zu dem Steuerabschnitt 2
oder dergleichen. Das heißt, da ein Bediener, der
legal einen Test dieses Mikrocomputers 1 durchführt,
die Inhalte des Programmspeichers 3 kennen muß, stellt
ein Vergleichsergebnis des Vergleichers 12 eine
"Übereinstimmung" dar. Wenn das Vergleichsergebnis
eine "Nicht-Übereinstimmung" einer vorbestimmten Anzahl
oder mehr darstellt, wird bestimmt, daß eine dritte
Partei illegal versucht, den Programmspeicher 3 zu
lesen, und ein Teststeuersignal 27 wird nicht zu dem
Steuerabschnitt 2 und Puffercontroller 10 gespeist. Da
als ein Ergebnis der Mikrocomputer nicht in einen
Testmoduszustand gesetzt werden kann (ein Ausgangssignal
vom Steuerabschnitt 2 zum internen Eingangs/Ausgangs-
Datenbus 22 ist in einen Hochimpedanzzustand gesetzt),
können die Inhalte des Programmspeichers 3 nicht weiter
gelesen werden.
-
Fig. 2 zeigt einen Verbindungszustand, wenn der
Mikrocomputer 1 mit der obigen Anordnung normal
verwendet wird (das heißt nicht in einem Testmodus). Der
Mikrocomputer 1 ist mit dem externen Speicher 40 über
den externen Zugriffsignalbus 34, den externen
Adreßdatenbus 32 und den externen
Eingangs/Ausgangs-Datenbus 31 verbunden.
-
Eine Schreiboperation in dem Fall, in welchem der
Mikrocomputer 1 auf den externen Speicher 40 zugreift,
wird im folgenden beschrieben. Der Steuerabschnitt 2
gibt Adreßdaten zum Adressieren des externen
Speichers 40 auf dem internen Adreßbus 21 aus und liefert
ein Schreibfreigabesignal (WE), das darstellt, daß auf
den externen Speicher 40 auf dem internen
Zugriffsteuerbus 23 zugegriffen wird. Als ein Ergebnis wird das
Schreibfreigabesignal (WE) zu dem Zweirichtungspuffer 7
über den internen Zugriffsteuerbus 23 gespeist.
Zusätzlich empfängt der Zugriffsignaldecoder 11 Adreß-
und Zugriffsteuerdaten auf dem internen Adreßbus 21 und
decodiert diese, um ein externes Speicherfreigabesignal
(ein Signal, das eine externe Speichervorrichtung
darstellt, auf die zugegriffen wird) zu erzeugen und das
Signal zu dem Zweirichtungspuffer 7 über den internen
Zugriffsignalbus 41 zu speisen. Adreßdaten für den
externen Speicher 40 werden zu dem
Zweirichtungspuffer 8 über den internen Adreßbus 21 gespeist. Wenn
zusätzlich auf den externen Speicher 40 in einem
Schreibmodus zugegriffen wird, werden Schreibdaten zu
dem Zweirichtungspuffer 9 von dem Steuerabschnitt 2
über den internen Eingangs/Ausgangs-Datenbus 22
gespeist. Andererseits empfängt der
Puffercontroller 10 Zugriffsteuerdaten, die darstellen, daß auf den
externen Speicher 40 im Schreibmodus durch den internen
Zugriffsteuerbus 23 zugegriffen wird. Als ein Ergebnis
speist der Puffercontroller 10 die Daten zu den
Zweirichtungspuffern 7, 8 und 9 über
Puffersteuersignalbusse 43, 45 und 47, um Richtungen der
Zweirichtungspuffer 7, 8 und 9 zu steuern, damit eine
Datenübertragung von der internen zur externen Busseite ermöglicht
wird. Zugriff-, Adreß- und Schreibdaten werden zum
externen Speicher 40 über jeweils externe Busse 34, 32
und 31 gespeist.
-
Fig. 3 ist ein Blockdiagramm, das einen
Verbindungszustand nach einem Test des Mikrocomputers 1
zeigt. Der Mikrocomputer 1 ist mit der Testeinheit 50
über den externen Zugriffsignalbus 33, den externen
Adreßdatenbus 32, den externen
Eingangs/Ausgangs-Datenbus 31, den externen Vergleichsergebnis-Ausgangsbus 36
und den Testmodus-Einstellsignalbus 35 verbunden.
-
Ein Testverfahren der Programm- und
Arbeitsspeicher 3 und 4 wird im folgenden beschrieben.
-
Zunächst speist die Testeinheit 50 ein Testmodus-
Einstellsignal zu der Testmodus-Einstellschaltung 5 des
Mikrocomputers 1 über den
Testmodus-Einstellsignalbus 35. Dieses Testmodus-Einstellsignal 35 hat ein
spezifisches Bitmuster, das lediglich einem legalen
Bediener bekannt ist. Die
Testmodus-Einstellschaltung 5 vergleicht das Bitmuster des eingespeisten
Testmodus-Einstellsignales 35 mit dem zuvor gespeicherten
Bitmuster. Wenn beide Muster nicht miteinander
übereinstimmen, wird das Testmodussignal 25 zu der
Testmodus-Erlaubnisschaltung 6 gespeist. Wenn eine
Übereinstimmung erfaßt wird, wird das Signal 25 geliefert.
Die Testmodus-Erlaubnisschaltung 6 bestimmt, ob ein
Übertragsignal von der
Nichtübereinstimmungsschaltung 14 eingespeist ist oder nicht. Wenn das
Übertragsignal nicht eingespeist ist, wird das
Teststeuersignal 27 zum Puffercontroller 10 und zum
Steuerabschnitt 2 gespeist. Wenn andererseits das
Übertragsignal von der Nichtübereinstimmungsschaltung 14
eingespeist ist, wird das Teststeuersignal 27 nicht zum
Puffercontroller 10 und Steuerabschnitt 2 gespeist. Daher
kann eine illegale Verwendung durch eine dritte Partei
verhindert werden. Das heißt, wenn ein von der
Testmodus-Erlaubnisschaltung 6 eingespeistes
Testmodussignal abgeschaltet wird, steuert der
Puffercontroller 10 die Richtungen der Zweirichtungspuffer 7, 8 und
9, um eine Datenübertragung von der externen zur
internen Busseite zu ermöglichen. Zusätzlich wird ein
Dreizustandsgatter 13 abgeschaltet. Ein Fall, in welchem
ein im Programmspeicher 3 gespeichertes Programm
geprüft wird, wird im folgenden beschrieben. In diesem
Fall speist die Testeinheit 50 Zugriffdaten, die einen
Lesezugriff darstellen, zum Zweirichtungspuffer 7 über
den externen Zugriffbus 33 und liefert zum
Zweirichtungspuffer 8 auszulesende Adreßdaten des
Programmspeichers 33 über den externen Adreßdatenbus 32.
-
Andererseits wird das von der Testmodus-
Erlaubnisschaltung 6 ausgegebene Teststeuersignal 27
zum Steuerabschnitt 2 und Puffercontroller 10 gespeist.
-
Als ein Ergebnis erfaßt der Steuerabschnitt 2, daß der
Mikrocomputer 1 in einen Testmodus gesetzt ist. Dann
speist der Steuerabschnitt 2 kein aktives Signal zu den
Bussen 21, 22 und 23. Der Puffercontroller 10 steuert
die Richtung der Zweirichtungspuffer 7 und 8, um eine
Datenübertragung von der externen zur internen Busseite
freizugeben. Als ein Ergebnis wird ein
Testzugriffsignal zu dem Zugriffsignaldecoder 11 und
Programmspeicher 3 vom Zweirichtungspuffer 7 über den internen
Zugriffsteuerbus 23 gespeist. Zusätzlich werden
Adreßdaten zum Programmspeicher 3 und zum
Zugriffsignaldecoder 11 vom Zweirichtungspuffer 8 über den internen
Adreßbus 21 gespeist. Der Zugriffsignaldecoder 11
erzeugt ein Zugriffsignal gemäß den eingespeisten
Zugriffdaten und speist das Signal zum
Programmspeicher 3. Programmdaten werden von einer bezeichneten
Adresse im Programmspeicher 3 ausgelesen. Das durch
den Zugriffsignaldecoder 11 erzeugte Zugriffsignal wird
zum Puffercontroller 10 gespeist. Daher steuert der
Puffercontroller 10, um den Puffer 9 abzuschalten.
-
Die ausgelesenen Programmdaten werden zum
Eingangsanschluß A des Vergleichers 12 über den internen
Datenbus 22 gespeist. Andererseits speist die
Testeinheit 50 korrekte Programmdaten zum
Eingangsanschluß B des Vergleichers 12 über den externen
Eingangs/Ausgangs-Datenbus 31. Der Vergleicher 12
vergleicht die zum Eingangsanschluß A gespeisten
Programmdaten mit denjenigen, die zum Eingangsanschluß B
geliefert sind, und gibt das Vergleichsergebnis zur
Testeinheit 50 über den Bustreiber 13 und den externen
Vergleichsbus 36 ab. Als ein Ergebnis kann die
Testeinheit 50 beliebige Daten im Programmspeicher 33 mit
den von der Testeinheit 50 eingespeisten Daten
vergleichen und auf das Vergleichsergebnis Bezug nehmen.
-
Daher können die Inhalte der Daten im
Programmspeicher 3 bestätigt werden, ohne direkt ausgegeben zu
sein.
-
Das Vergleichsergebnis des Vergleichers 12 wird
zur Nichtübereinstimmungsschaltung 14 gespeist. Die
Nichtübereinstimmungsschaltung 14 zählt ein
Nichtübereinstimmungssignal. Wenn die Anzahl der
Nichtübereinstimmungssignale eine vorbestimmte Zahl erreicht, wird
ein Übertragsignal zur Testmodus-Erlaubnisschaltung 6
gespeist. Wenn als ein Ergebnis Nichtübereinstimmung
mehrmals fortdauert, wird bestimmt, daß eine dritte
Partei gerade illegal den Mikrocomputer verwendet, und
ein Testmodussignal wird abgeschaltet.
-
Ein Testverfahren des Arbeitsspeichers 4 wird
unten beschrieben.
-
Die Testeinheit 50 speist das
Testmodus-Einstellsignal 35 zur Testmodus-Einstellschaltung 5 des
Mikrocomputers 1 in der gleichen Weise wie im
Programmspeicher 3. Die Testeinheit 50 speist ein Zugriffsignal
für den Arbeitsspeicher 4 zum Zweirichtungspuffer 7
über den externen Zugriffbus 33 und liefert Adreßdaten
des Arbeitsspeichers 4 zum Zweirichtungspuffer 8 über
den externen Adreßbus 32. Zusätzlich speist die
Testeinheit 50 Schreibdaten zum Arbeitsspeicher 4 zum
Zweirichtungspuffer 9 über den externen Eingangs/Ausgangs-
Datenbus 31. Andererseits wird das Teststeuersignal 27
zum Steuerabschnitt 2 über die
Testmodus-Erlaubnisschaltung 6 gespeist. Als ein Ergebnis speist der
Steuerabschnitt 2 nicht ein aktives Signal zu den
Bussen 21, 22 und 23. Der Puffercontroller 10 steuert die
Richtungen der Zweirichtungspuffer 7 und 8, um eine
Datenübertragung von der externen zur internen Busseite
freizugeben. Ein Schreibzugriffsignal für den
Arbeitsspeicher 4 wird zum Zugriffsignaldecoder 11 und
Arbeitsspeicher 4 vom Zweirichtungspuffer 7 über den
internen Bus 23 gespeist. Eine Schreibadresse für den
Arbeitsspeicher 4 wir zum Arbeitsspeicher 4 vom
Zweirichtungspuffer 8 gespeist. Da der
Zweirichtungspuffer 9 gesteuert ist, um eine Datenübertragung von der
externen zur internen Busseite abhängig von dem
Signal 47 vom Puffercontroller 10 freizugeben, werden
Schreibdaten zum Arbeitsspeicher 4 gespeist. Der
Zugriffsignaldecoder 11 erzeugt ein Zugriffsignal auf
der Grundlage der gelieferten Zugriffdaten und speist
das Signal zum Arbeitsspeicher 4. Als ein Ergebnis
werden die von der Testeinheit 50 gelieferten Daten in
die bezeichnete Adresse des Arbeitsspeichers 4
geschrieben.
-
Die Testeinheit 50 speist dann Adreßdaten und ein
Lesezugriffsignal zu entsprechenden internen Bussen 21
und 23 in der gleichen Weise wie in einem Schreibmodus.
Daher werden die Leseadreßdaten zum Arbeitsspeicher 4
gespeist, und Lesezugriffdaten werden zum
Zugriffsignaldecoder 11 und Arbeitsspeicher 4 gespeist. Dann
liefert der Zugriffsignaldecoder 11 ein Zugriffsignal
zum Arbeitsspeicher 4 und zum Puffercontroller 10. Als
ein Ergebnis erfaßt der Puffercontroller 10, daß das
Lesezugriffsignal von der Testeinheit 50 ausgegeben
ist, und steuert die Richtung des
Zweirichtungspuffers 9, um eine Datenübertragung von der internen zur
externen Busseite freizugeben. Daher werden die von
der bezeichneten Adresse des Arbeitsspeichers 4
ausgegebenen Daten zur Testeinheit 50 über den externen
Bus 31 gespeist, um so die Daten einer willkürlichen
Adresse des Arbeitsspeichers 4 zu lesen. Schreib- und
Leseoperationen, wie oben beschrieben, werden in
geeigneter
Weise durch die Testeinheit 50 durchgeführt, so
daß der Arbeitsspeicher 4 geprüft werden kann.
-
Ein Fall, in welchem ein interner Zugriff
durchgeführt wird, das heißt, in welchem der Steuerabschnitt 2
auf den Programmspeicher 3 oder den Arbeitsspeicher 4
zugreift, wird im folgenden beschrieben. In einem
Lesemodus speist der Steuerabschnitt 2 eine Adresse zum
Programmspeicher 3 oder Arbeitsspeicher 4 über den
internen Adreßbus 21. In einem Schreibmodus werden
Schreibdaten zum Arbeitsspeicher 4 gespeist.
Zusätzlich informiert der Steuerabschnitt 2, daß ein interner
Lesezugriff oder ein interner Schreibzugriff auf den
Zugriffsignaldecoder 11 durch den internen
Zugriffsteuerbus 23 durchgeführt ist. Als ein Ergebnis
informiert der Zugriffsignaldecoder 11, daß der interne
Zugriff zum Puffercontroller 10 durchgeführt ist. Der
Puffercontroller 10 steuert die Zweirichtungspuffer 8
und 9, um eine Datenübertragung zwischen den
entsprechenden externen und internen Bussen abzuschalten, so
daß die vom Steuerabschnitt 2 ausgegebene Adresse und
die aus dem Programm- oder Arbeitsspeicher 3 oder 4
ausgelesenen Daten nicht extern ausgegeben werden
können. Als ein Ergebnis werden die von dem
Steuerabschnitt 2 ausgegebenen Adreßdaten und die von dem
Steuerabschnitt 2 oder den Speichern 3 und 4
ausgegebenen Daten nicht zum externen Speicher 40 gespeist.
-
Wenn auf den externen Speicher 40 durch den
Steuerabschnitt 2 zugegriffen wird, werden
Zugriffsignale und Adreßdaten zu den internen Bussen 21 und 23
vom Steuerabschnitt 2 gespeist. Da der
Zugriffsignaldecoder 11 ein Zugriffsignal für den externen
Speicher 40 auf der Grundlage des Zugriffsignales und der
Adreßdaten erzeugt, empfängt der Puffercontroller 10
das erzeugte Zugriffsignal, und das zu dem internen
Bus 23 gespeiste Zugriffsignal, um so zu bestimmen, daß
der Zugriff extern durchgeführt wird. Daher steuert
der Puffercontroller 10 die Richtungen der
Zweirichtungspuffer 7 und 8, um eine Datenübertragung von der
internen zur externen Busseite freizugeben. Zusätzlich
ist in einem Lesezugriffmodus die Richtung des
Zweirichtungspuffers 9 gesteuert, um eine Datenübertragung
von der externen zur internen Busseite freizugeben. In
einem Schreibzugriffmodus wird die Richtung des
Zweirichtungspuffers 9 gesteuert, um eine Datenübertragung
von der internen zur externen Busseite freizugeben.
Daher kann der Steuerabschnitt 2 auf den externen
Speicher 40 zugreifen.
-
Wenn, wie oben beschrieben ist, der
Mikrocomputer 1 in einen Testmodus gesetzt ist und auf den
Programmspeicher durch Lesen zugegriffen wird, werden vom
Programmspeicher 3 ausgelesene Daten nicht extern
ausgegeben. Die ausgelesenen Daten werden mit den Daten
von der Testeinheit 50 durch den internen
Vergleicher 12 verglichen, und das Vergleichsergebnis wird zur
Testeinheit 50 ausgegeben, um dadurch die
Übereinstimmung zwischen beiden Daten zu prüfen. Selbst wenn
daher in einen Testmodus gesetzt ist, werden die
Inhalte des Programmspeichers 3 nicht direkt und extern
ausgegeben, um so eine einfache Verifizierung der Daten
durch lediglich einen Bediener zu erlauben, der das
Programmuster kennt.