DE19625628C1 - Halbleiterspeichervorrichtung - Google Patents
HalbleiterspeichervorrichtungInfo
- Publication number
- DE19625628C1 DE19625628C1 DE19625628A DE19625628A DE19625628C1 DE 19625628 C1 DE19625628 C1 DE 19625628C1 DE 19625628 A DE19625628 A DE 19625628A DE 19625628 A DE19625628 A DE 19625628A DE 19625628 C1 DE19625628 C1 DE 19625628C1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- data
- semiconductor memory
- ram
- release
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1057—Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Description
Die Erfindung bezieht sich auf eine Halbleiterspeichervor
richtung, insbesondere für einen Mikroprozessor mit einem Re
chenwerk (CPU) in welchem die in einem Programmspeicher ab
gespeicherten Befehle zur Steuerung der verschiedenen Be
standteile des Mikroprozessors in Form von arithmetischen
und/oder logischen Verknüpfungen umgesetzt werden, und mit
einem Daten- und/oder Steuerleitungsbus für die Übertragung
von Daten und für den Zugriff auf CPU-interne und/oder peri
pheriegebundene Spezialfunktionsregister, welche dem Rechen
werk zugeordnet sind.
Im Stand der Technik sind eine Vielzahl von Mikroprozessoren
und Mikrocontroller bekannt, beispielsweise solche aus der
sogenannten 8051-Familie des vorliegenden Anmelders. Der ur
sprünglich von der Firma Intel entwickelte und zwischenzeit
lich auch von anderen Firmen in ähnlichen Formen erhältliche
Steuerungsrechner 8051 hat sich in den letzten Jahren zu ei
nem der Standards in der Welt der 8-Bit-Mikrocontroller ent
wickelt. Kernstück eines solchen Mikroprozessorsystems ist
die Central Processing Unit, (CPU) die als Teil eines Halb
leiterchips, auf dem auch die anderen Teile des Systems mit
integriert sind, ausgebildet ist. Die CPU besteht im wesent
lichen aus drei Bestandteilen, einem Befehlsdekoder, einem
Rechenwerk, und einer zugehörigen Ablaufsteuerung. Im Be
fehlsdekoder werden die Befehle, die vom chipinternen oder
chipexternen Programmspeicher eingelesen wurden, dekodiert
und die zur Ausführung nötigen Schritte unternommen. Diese
beinhalten verschiedene Maßnahmen, z. B. weitere Daten aus dem
Speicher zu holen, oder das Rechenwerk anzuweisen, bestimmte
arithmetische oder logische Verknüpfungen durchzuführen, oder
die Ablaufsteuerung zu veranlassen, an eine andere Programm
stelle zu springen, und dergleichen mehr. Der Befehlsdekoder
gibt die Anweisungen an die verschiedenen CPU-Bestandteile
durch zahlreiche interne Steuersignale weiter. Der Befehlsde
koder dekodiert einen bestimmten Befehlssatz, das sind die
binären Maschinenbefehle der jeweiligen CPU. Im Rechenwerk
bzw. der CPU werden die logischen und arithmetischen Verknüp
fungen durchgeführt, die der Befehlsdekoder zur Abarbeitung
eines bestimmten Befehls anfordert. Das Rechenwerk mit einer
beispielsweise 8051-kompatiblen CPU kennt im wesentlichen Ad
dition, Subtraktion, Multiplikation, Division, sowie die lo
gischen Verknüpfungen UND, ODER, EXCLUSIV-ODER,
EINER-KOMPLEMENT.
Die grundsätzliche Wirkungsweise und der Aufbau eines solchen
Mikrocontrollers 8051 ist bekannt und soll hier nicht in al
len Einzelheiten erläutert werden. Wegen näherer Einzelheiten
zur Architektur und Programmierung des vorbekannten Mikropro
zessorsystems wird daher ausdrücklich auf das folgende Hand
buch verwiesen und vollinhaltlich Bezug genommen: Johannis,
Rainer, Handbuch zum 80C517 und 80C517A, Architektur und Pro
grammierung, Rainer Johannis und Nikolaos Papadopulus, Sie
mens Aktiengesellschaft, Berlin, München, ISDN 3-8009-4128-7.
Im folgenden werden lediglich die für das Verständnis der Er
findung wesentlichen Bestandteile des vorbekannten Mikrocon
trollers und dessen RAM-Speicheraufteilung unter Bezugnahme
auf die Fig. 1 und 4 erläutert. Gemäß Fig. 1 ist in der
Architektur des Mikrocontrollers 8051 (bzw. ECO2000) der in
terne RAM-Speicherbereich 1 mit einem Adreßfeld von bei
spielsweise 256 Bytes in drei Teile 2, 3, 4 unterteilt. Der
erste Teil 2 umfaßt die "unteren" 128 Bytes und ist sowohl
direkt als auch indirekt adressierbar (00H bis 7FH). In die
sem Teil 2 befinden sich außerdem die vier Registerbänke 5,
6, 7, 8 mit je acht Registern zu 8 Bit (00H bis 1FH), sowie
ein Bereich 9 mit 16 bit-adressierbaren Bytes (20H bis 2FH).
Der zweite Teil 3 des internen RAM-Speichers 1 umfaßt die
"oberen" 128 Bytes (80H bis FFH), welcher nur indirekt adres
sierbar ist. Ein dritter Teil 4 besitzt zwar den gleichen
Adreßbereich wie der zweite Teil 3, ist jedoch lediglich di
rekt adressierbar. Dieser enthält außerdem 16 Bytes, nämlich
auf allen durch acht teilbaren Adressen, deren Bits ebenfalls
bit-adressierbar sind. Dieser Bereich 4 stellt die sogenann
ten Spezialfunktionsregister (SFR) dar. Dies bedeutet, daß
sich die Register des Teiles 4 nicht in einem zusammenhängen
den Bereich befinden, sondern den entsprechenden peripheren
Bestandteilen des Mikroprozessors (Timer, UART, Inter
rupt-Modul, Co-Prozessor, I/O-Port, und dergleichen) zugeordnet
sind. Auch die internen Spezialfunktionsregister der CPU (A,
B, Dptr, Stack-Pointer, und dergleichen) befinden sich in
diesem Bereich 4. Fig. 4 zeigt hierzu eine schematische Dar
stellung der bei 8051-Mikroprozessoren bisher verwendeten
RAM-Speicheraufteilung. Dargestellt sind hierbei die Spezial
funktionsregister 12, 13, 14, 15, 16, 17 der genannten peri
pheren Bestandteile des Mikroprozessors, sowie das
CPU-interne Spezialfunktionsregister 18, der indirekt adressier
baren RAM-Bereich 19, der indirekt und direkt adressierbare
RAM-Bereich 20, sowie die weiteren internen Spezialfunktions
register 21 der CPU betreffend A-Register, B-Register,
DPTRH-Register, DPTRL-Register, SP-Register, DPSEL-Register und
dergleichen. Die Bezugsziffern 22 und 23 stellen die im fol
genden auch als peripherieungebundenen Spezialfunktionsregi
ster EETIME und EEVOLT dar, die als Einzelregister realisiert
sind und jeweils separat an den Datenbus 11 angebunden und
über Steuerleitungen 10 angesteuert werden.
Eine solche Anordnung dient dem Zweck, einen möglichst
schnellen und effektiven Zugriff der CPU auf die peripheren
Bestandteile des Mikroprozessors zu ermöglichen. Insbesondere
bei Chipkarten tritt nun die Situation auf, daß der in Fig.
1 dargestellte dritte Speicherbereich 4 nur sehr spärlich ge
nutzt ist, da bei Chipkartenprodukten in der Regel nur sehr
wenige periphere Bestandteile verwendet werden. Dies bedeu
tet, daß trotz einer an sich guten Software-Unterstützung
durch die 8051-(bzw. ECO2000)-Befehle, die diesen dritten
Speicherteil 4 betreffen - 39 bzw. 49 von insgesamt 125 bzw.
187 8051- bzw. ECO2000-Befehlen weisen eine direkte Adresse
als Quelle oder Ziel auf - wird der Speicherbereich 4 prak
tisch verschwendet. Dabei sind jedoch gerade Befehle mit di
rekter Adressierung zumeist ziemlich schnell und benötigen
nicht zu viele Bytes, insbesondere im Vergleich zur alterna
tiven Verwendung eines sogenannten externen RAM-Speichers
(XRAM), auf den mit einer 8051-Architektur in der Regel nur
sehr ungünstig zugegriffen werden kann. Dies gilt auch für
den Befehlssatz des ECO2000, der eine Weiterentwicklung des
ECO51 (8051) mit ergänztem Befehlssatz darstellt, bei dem ge
rade auch der Anbindung des XRAM-Speichers starke Bedeutung
zukam. Trotzdem benötigen solche Befehle immer noch etwas
mehr Bytes, insbesondere vor allem jedoch auch mehr Takte als
vergleichbare Befehle mit direkten Adressen. Da jedoch insbe
sondere bei Chipkartenanwendungen dem Flächenbedarf größte
Bedeutung zukommt, und die internen RAM-Speicherbereiche 2
und 3 für bisher verwendete Betriebssysteme fast gänzlich
ausgenutzt sind, läßt sich dieses Problem im Sinne der bisher
verwendeten Lösungen nur durch zusätzliche direkte Adressen
in dem ungenutzten Bereich 4 bzw. bei größerem Bedarf durch
einen zusätzlich vorzusehenden XRAM-Speicher umgehen. Zwar
gab es bei der bisherigen Lösung Versuche mit mehreren ein
zelnen Spezialfunktionsregistern 22, 23, die in diesen unge
nutzten Bereich 4 gelegt wurden, die jedoch nicht der Bestim
mung des Bereiches entsprechend, d. h. als an periphere Be
standteile gebundene Spezialfunktionsregister eingesetzt wur
den, sondern als reine RAM-Erweitung benutzt wurden. Diese
Register 22, 23 wurden jedoch nur in kleinen zusammengehören
den Gruppen (beispielsweise EETIME, EEVOLT) oder als Einzel
register realisiert, wie es anhand der schematischen Darstel
lung nach Fig. 4 erläutert wurde. In diesem Fall wurde jedes
Einzelregister oder jede kleine Gruppe von Registern separat
an den Datenbus 11 angebunden und über die Steuerleitungen 10
(oder im Fall des ECO2000 über vier Busstatus-Leitungen) mit
den Informationen versorgt, welche sich gerade auf dem Daten
bus 11 befanden. Jedes einzelne Register 22, 23 oder jede
einzelne kleine Gruppe besaß jedoch eine eigene Schnittstel
lenschaltung (Interface), d. h. einen eigenen Adreßdekoder
und Bustreiber. Diese Lösung stellte sich im Hinblick auf den
erheblichen Flächenbedarf und den verhältnismäßig großen
schaltungstechnischen Aufwand als sehr ungünstig dar, insbe
sondere bei Chipkarten-Anwendungen.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde,
eine RAM-Speichervorrichtung zur Verfügung zu stellen, welche
Mikroprozessoren basierend auf dem 8051-Speichermodell bezüg
lich der RAM-Speicher-Ausnutzung bei möglichst geringem
Strom- und schaltungstechnischen Aufwand optimiert.
Diese Aufgabe wird durch eine Halbleiterspeichervorrichtung
nach Anspruch 1 und 2 gelöst.
Erfindungsgemäß ist vorgesehen, daß den Speicherzellen vom
wahlfreien Zugriffstyp (RAM) einer Gruppe eine fest program
mierbare Freigabespeicherzelle zugeordnet ist, dessen pro
grammierter Datenzustand die Ausgabe der Dateninhalte der
Speicherzellen vom wahlfreien Zugriffstyp einer Gruppe sperrt
oder freigibt.
Erfindungsgemäß ist ferner vorgesehen, daß dem Rechenwerk
vermittels dem Daten- und/oder Steuerleitungsbus ein zusam
menhängender SFR-RAM-Speicherblock mit Speicherzellen vom
wahlfreien Zugriffstyp (RAM) zugeordnet ist, der eine eigene
Adreßdekoder- und Bustreiberschaltung aufweist, und der ei
nen ersten, beliebig verwendbaren bzw. zugreifbaren Speicher
bereich und einen zweiten, peripherieungebundenen und direkt
adressierbaren Speicherbereich aufweist, wobei dem Speicher
block eine Freigabeeinrichtung zugeordnet ist, welche die
Ausgabe von Dateninhalten aus dem zweiten Speicherbereich auf
den Daten- und/oder Steuerleitungsbus sperrt oder freigibt.
Die erfindungsgemäße Lösung nutzt erstmals die Ressourcen
dieses bisher vor allem bei Chipkarten spärlich genutzten
RAM-Speicherbereiches aus, und zwar nicht mit der Absicht,
periphere Komponenten des Mikroprozessors anzubinden, indem
deren Schnittstellen in diesen Speicherbereich gelegt werden,
sondern insbesondere in der Intention, auf diese Weise zu
sätzlichen Platz in dem RAM-Speicher zu gewinnen. In diesen
Speicherbereich können nunmehr Statuswerte gespeichert wer
den, die im RAM-Speicher an sich mit anderen Bereichen wie
Stack, Registerbänken und dem bit-adressierbaren Bereich kol
lidieren. Erfindungsgemäß erfolgt dies dadurch, daß ein ei
genständiger, dritter RAM-Speicherbereich, welcher auch als
Spezialfunktions(SFR)-RAM-Speicher oder einfach als "Spei
cherblock" bezeichnet wird, angeordnet wird, der einen voll
ständigen Block von Adressen (beispielsweise 64 oder alle
möglichen 128 Adressen), sowie lediglich einen (einzigen)
Adreßdekoder und einen (einzigen- Bustreiber enthält, und
auf diese Weise als externer Block über den Datenbus und die
Steuerleitungen (im Falle eines ECO2000: Busstatus-Leitungen)
an die CPU angebunden werden kann. Im Gegensatz zur vorbe
kannten Maßnahme unter Verwendung eines externen RAM-Spei
chers (XRAM), der aufgrund seiner auf größere Datenbreiten
(z. B. 16 Bit) optimierten Eigenschaften im Hinblick auf mög
lichst große Speicherkapazität in der Regel einen wesentlich
größeren schaltungstechnischen Ansteuerungsaufwand erfordert,
kann der erfindungsgemäße Speicherbereich wesentlich günsti
ger als im Falle eines XRAM-Speichers durch die effektive Be
fehlsunterstützung des 8051-(bzw. ECO2000)-Mikroprozessors
genutzt werden. Zusammenfassend besitzt die erfindungsgemäße
Lösung mit dem zusammenhängenden RAM-Speicherblock folgende
vorteilhafte Eigenschaften:
- 1. er liegt extern von der CPU und ist somit im Prinzip wie jede andere Peripheriekomponente des Mikroprozessors kon figurierbar, und an beliebiger Stelle im Layout-Plan des Mikroprozessors anordbar,
- 2. er kann je nach gewünschtem Bedarf hinsichtlich der Sta tusregister beliebig verschiedene Größen annehmen,
- 3. er ist kompakter als mehrere einzelne Statusfunktionsregi ster (die keinen peripheren Komponenten zugeordnet sind),
- 4. er benötigt weniger Strom,
- 5. er nutzt die günstige Software-Unterstützung des 8051-(ECO2000)-Mikroprozessors für direkte Adressen besser aus, und
- 6. er räumt den "normalen" RAM-Speicher (zugunsten von Stack, Registern, bit-adressierbaren Bytes, und dergleichen) von reinen "Statusregistern" auf.
Da sich in dem erfindungsgemäßen dritten RAM-Speicherbereich
bzw. dem Speicherblock weiterhin Spezialfunktionsregister der
CPU bzw. der peripheren Komponenten (Timer, UART, Inter
rupt-Modul, Co-Prozessor, I/O-Port, und dergleichen) befinden, muß
durch eine geeignete Maßnahme verhindert werden, daß der
RAM-SFR-Speicherblock bei Adressen dieser "echten" Spezialfunkti
onsregister Dateninhalte auf den Datenbus treibt. Zu diesem
Zweck ist dem Speicherblock eine Freigabeeinrichtung zugeord
net, welche die Ausgabe von Dateninhalten aus dem zweiten
Speicherbereich auf den Daten- und/oder Steuerleitungsbus
sperrt oder freigibt.
Bei einer bevorzugten Ausführung kann dies einfach dadurch
erfolgen, daß die Freigabeeinrichtung eine ODER-Gatterschal
tung besitzt, deren Eingänge mit Aktivierungsleitungen ver
bunden sind, die zu den einzelnen peripheriegebundenen Spezi
alfunktionsregistern führen, und deren Ausgang mit dem Spei
cherblock zur Sperrung bzw. Freigabe des zweiten Speicherbe
reiches gekoppelt ist. Bei dieser Ausführung besitzt der
SFR-RAM-Speicherblock einen "Disable" bzw. Sperr-Eingang, auf
dem ein Signal angelegt werden kann, welches eine "Verode
rung" aller Signale darstellt, die angeben, ob sich eine pe
riphere Komponente oder die CPU über eine direkte Adresse zu
einem bestimmten Zeitpunkt angesprochen fühlt. Diese Ausbil
dung stellt sicher, daß der SFR-RAM-Speicherblock nicht bei
jedem neuen Produkt in Abhängigkeit der anwenderspezifischen
Vorgaben angepaßt werden muß, etwa weil eine bestimmte peri
phere Komponente hinzutritt, wegfällt, oder dessen Adresse
geändert wird, sondern es reicht völlig aus, lediglich die
Aktivierungsleitung der entsprechenden peripheren Komponente
von der Veroderung am "Disable"-Eingang des SFR-RAM-Speicher
blockes abzuklemmen bzw. hinzuzufügen. Bei Adreßänderungen
der Spezialfunktionsregister der jeweiligen peripheren Kompo
nente ändert sich hierbei im Hinblick auf die Veroderung
nichts, da das Aktivierungssignal auf der entsprechenden Ak
tivierungsleitung der peripheren Komponente automatisch bei
einer anderen Adresse in Erscheinung tritt.
Bei einer weiteren bevorzugten Ausführung der Erfindung kann
vorgesehen sein, daß die Freigabeeinrichtung innerhalb des
zusammenhängenden SFR-RAM-Speicherblockes angeordnete Freiga
bespeicherzellen besitzt, welche jeweils einer vorbestimmten
Gruppe von Speicherzellen des zweiten, peripherieungebundenen
und direkt adressierbaren Speicherbereiches zugeordnet sind,
und welche die Ausgabe der Dateninhalte von Speicherzellen
des zweiten Speicherbereiches auf den Daten- und/oder Steuer
leitungsbus in Abhängigkeit des gespeicherten Zustandes einer
Freigabespeicherzelle sperrt oder freigibt. Hierbei stellen
die Freigabespeicherzellen der Freigabeeinrichtung insbeson
dere programmierbare Speicherzellen vom Festwertspeichertyp,
etwa vom ROM-, EEPROM-Typ dar. Diese Ausführung bietet den
Vorteil, den Dateninhalt der Freigabespeicherzellen bereits
bei der Herstellung vermittels einer Maske festzulegen, in
der die entsprechend in einer Datei abgelegten Dateninhalte
belegt sind. Auf diese Weise können wie bei dem an sich be
kannten Festwertspeicher (ROM = Read Only Memory) bei vorbe
stimmten Freigabespeicherzellen bestimmte Kontakte wegfallen,
um den gewünschten Datenzustand festzulegen. Beim SFR-RAM-Spei
cherblock will man zwar nicht den Inhalt, sondern die
Funktion beeinflussen, d. h. man will verhindern, daß bei be
reits belegten "echten" SFR-Adressen der SFR-RAM-Speicher
block auf den Datenbus treibt. Eine vermeintlich naheliegende
Lösung wäre deshalb, einfach die RAM-Speicherzellen so auszu
bilden, daß man die Kontakte dieser überflüssigen (also
schädlichen) RAM-Speicherzellen zu den Bitleitungen wegläßt.
Auf diese Art kann jedoch das vorliegende Problem nicht ge
löst werden. Im Falle des Lesens "floated" nämlich die ent
sprechend ausgewählte Bitleitung des Speicherblockes, was äu
ßerst unerwünscht ist, und was außerdem die Treiberschaltun
gen des RAM-Speichers nicht daran hindert, diesen stochasti
schen "Wert" dennoch auf den Datenbus zu treiben. Dies wird
durch die genannte Ausführungsform dadurch umgangen, daß für
eine vorbestimmte Gruppe, insbesondere jedes Byte des
RAM-Speichers ein zusätzliches Bit bzw. eine Freigabespeicherzel
le eingeführt wird, welches angibt, ob die Ausgangstreiber
den Wert auf den Datenbus treiben sollen oder nicht. Im Falle
einer Wortlänge bzw. Bytelänge von acht Bit für eine vorbe
stimmte Gruppe kann dieses zusätzliche Bit ein neuntes
ROM-Bit sein. Dieses Bit kann sonach vermittels einer "ROM-Maske"
bereits bei der Herstellung festgelegt werden, und benötigt
beispielsweise lediglich einen Transistor, dessen Leitungszu
stand festgelegt wird. Da die Wort-Selekt-Leitung, die das
entsprechende Byte auswählt, jedoch gleichzeitig die acht
"normalen" RAM-Speicherzellen des Bytes auswählt und diesen
zusätzlichen "Enable"-Transistor der Freigabespeicherzelle,
kann vorgesehen sein, daß die auszulesenden Daten erst in ei
nen Zwischenspeicher (Latch) zwischengespeichert werden, und
erst daran anschließend auf den Datenbus getrieben werden.
Ansonsten kann es, zumindest kurzzeitig, bis sich die Lei
tung, die durch das Freigabebit festgelegt wird, eingeschwun
gen hat, zu unerwünschten Querströmen kommen. Dies kann mit
einem Zwischenspeicher verhindert werden, da hierbei das
Freigabebit des Zwischenspeichers zum Zeitpunkt des Lesens
bereits auf dem richtigen Wert ist und die Treiber der
"normalen" acht Bits abschalten kann. Dadurch verliert man
allerdings wenigstens eine Taktphase beim lesenden Zugriff.
Beim schreibenden Zugriff spielt dieser Nachteil keine Rolle,
wenn ein "überflüssiges" Byte im SFR-RAM-Speicher geschrieben
wird, solange dieser Wert zu einem späteren Zeitpunkt nicht
ausgelesen wird.
Bei einer weiteren Ausführungsform zur Verhinderung uner
wünschter Querströme besteht die Möglichkeit, die Freigabe
leitung auf einen inaktiven Zustand vorzuladen, damit am An
fang des Lesezyklus ein Treiben auf den Datenbus verhindert
wird. Ist dann ein "überflüssiges" Byte (also eines, das be
reits in einer peripheren Komponente realisiert ist) ange
sprochen, bleibt dieser Wert erhalten (der Treiber des
SFR-RAM-Speichers bleibt inaktiv), im anderen Fall zieht das
Freigabebit die Leitung auf den aktiven Zustand, d. h. die
Treiber schalten den Wert der restlichen acht Bits auf den
Datenbus durch. Auch hierbei nimmt man einen kleinen zeitli
chen Nachteil in Kauf, da es etwas mehr Zeit kostet, die
Treiber beim Lesen erst zu aktivieren, anstelle wie "de
fault"-mäßig zu öffnen. Dieser Nachteil liegt hierbei aller
dings lediglich in der Größenordnung von Gatterlaufzeiten.
Die Vorteile bei der Ausbildung der Freigabeeinrichtung ver
mittels zusätzlicher, fest programmierbarer Freigabespeicher
zellen liegen zusammenfassend darin:
- 1. Unabhängig von anwenderspezifischen Besonderheiten bleibt die Struktur des SFR-RAM-Speicherblockes auf Seiten des Herstellers immer gleich, d. h. dessen Layout bleibt unver ändert.
- 2. Außerhalb des SFR-RAM-Speicherblocks sind keine zusätzli chen Hardware-Komponenten erforderlich.
- 3. Es werden keine zusätzlichen Leitungen von den peripheren Komponenten und der CPU zu dem SFR-RAM-Speicherblock benö tigt, wodurch Flächenbedarf eingespart werden kann.
- 4. Die Vorgehensweisen, vermittels eines ROM-Transistors un terschiedliche Funktionen zu erzeugen, ist hinreichend er probt.
Weitere vorteilhafte Weiterbildungen der Erfindung ergeben
sich aus den Unteransprüchen.
Weitere Vorteile, Merkmale und Zweckmäßigkeiten der Erfindung
ergeben sich aus der Beschreibung von Ausführungsbeispielen
anhand der Zeichnung. Es zeigt:
Fig. 1 eine schematische Darstellung zur Erläuterung der
Adreßbereiche des internen IRAM-Speichers und der
externen Spezialfunktionsregister bei einer typischen
8051-(bzw. ECO2000)-Architektur;
Fig. 2 eine schematische Darstellung der RAM-Speicherauftei
lung mit einem zusammenhängenden SFR-RAM-Speicher
block gemäß einem ersten Ausführungsbeispiel der Er
findung;
Fig. 3 eine schematische Darstellung eines SFR-RAM-Bytes des
Speicherblockes gemäß einem weiteren Ausführungsbei
spiel der Erfindung; und
Fig. 4 eine schematische Darstellung einer bei 8051-Mikro
prozessoren bisher verwendeten RAM-Speicherauftei
lung.
Bei dem in Fig. 2 dargestellten ersten Ausführungsbeispiel
der Erfindung bezeichnen die Bezugsziffern 10 bis 21 iden
tisch dieselben Komponenten wie bei der Darstellung nach
Fig. 4; es kann daher diesbezüglich auf die eingangs angegebe
nen Erläuterungen Bezug genommen werden. Die Aufteilung der
Adreßbereiche ist weiterhin dieselbe entsprechend der Dar
stellung nach Fig. 1. Die erfindungsgemäße Ausführungsform
nach Fig. 2 unterscheidet sich sonach schaltungstechnisch
dadurch, daß anstelle der mehreren einzelnen Spezialfunkti
onsregister 22, 23 ein dem Rechenwerk vermittels dem Daten- und/oder
Steuerleitungsbus 10, 11 zugeordneter zusammenhän
gender SFR-RAM-Speicherblock 24 mit Speicherzellen vom wahl
freien Zugriffstyp (RAM) zugeordnet ist, der eine (einzige)
Adreßdekoder- und Bustreiberschaltung aufweist, und der ei
nen ersten, beliebig verwendbaren bzw. zugreifbaren Speicher
bereich und einen zweiten, peripherieungebundenen und direkt
adressierbaren Speicherbereich 25 besitzt. Dem SFR-RAM-Spei
cherblock 24 ist hierbei eine Freigabeeinrichtung 26 mit ei
nem ODER-Gatter 27 zugeordnet, welche die Ausgabe von Daten
inhalten aus dem zweiten Speicherbereich 25 auf den
Daten- und/oder Steuerleitungsbus 10, 11 sperrt oder freigibt. Die
Eingänge der ODER-Gatterschaltung 27 sind mit Aktivierungs
leitungen 28a bis 28g verbunden, die zu den einzelnen peri
pheriegebundenen Spezialfunktionsregistern 12, 13, 14, 15,
16, 17, 21 führen, und deren Ausgang über eine "Disable"-Lei
tung 29 zur Sperrung bzw. Freigabe des zweiten Speicherbe
reiches 25 gekoppelt ist.
In der folgenden Tabelle sind die im Speicherblock 24 abge
legten Werte dargestellt, wobei die belegten Werte dem zwei
ten Speicherbereich 25 des Speicherblockes 24 zugeordnet
sind, und die offengelassenen Werte beliebig frei zur Verfü
gung stehen:
Fig. 3 zeigt ein zweites bevorzugtes Ausführungsbeispiel der
Erfindung, bei dem die Freigabeeinrichtung 26 innerhalb des
zusammenhängenden SFR-RAM-Speicherblockes 24 angeordnete
Freigabespeicherzellen besitzt, welche jeweils einer vorbe
stimmten Gruppe von Speicherzellen des zweiten, peripherieun
gebundenen und direkt adressierbaren Speicherbereiches zuge
ordnet sind. Bei der Darstellung nach Fig. 3 ist lediglich
ein Byte mit acht RAM-Speicherzellen 31a bis 31h dargestellt,
dem ein zusätzliches neuntes Bit einer Freigabespeicherzeile
30 zugeordnet ist. Dieses steuert über eine Treiberschaltung
33 die Ausgabe der Dateninhalte der Speicherzellen 31a bis
31h auf den Bustreiber 32a bis 32h und damit auf den Datenbus
11 in Abhängigkeit des gespeicherten Zustandes der Freigabe
speicherzelle 30 im Sinne einer Sperrung oder Freigabe. Die
Bezugsziffer 34 kennzeichnet die Wortselektleitung zur Aus
wahl des Bytes mit den Speicherzellen 30, und 31a bis 31h.
Bezugszeichenliste
1 RAM- Speicherbereich
2, 3, 4 Adreßfeld
5, 6, 7, 8 Registerbänke
9 Bereich mit 16 bit-adressierbaren Bytes
10, 11 Daten- und/oder Steuerleitungsbus
12, 13, 14, 15, 16, 17 Spezialfunktionsregister
18 CPU-internes Spezialfunktionsregister
19 indirekt adressierbarer RAM-Bereich
20 indirekt und direkt adressierbarer RAM-Bereich
21 internes Spezialfunktionsregister
22, 23 Spezialfunktionsregister
24 SFR-RAM-Speicherblock
25 peripherieungebundener und direkt adressierbarer Speicherbereich
26 Freigabeeinrichtung
27 ODER-Gatter 27
28a bis 28g Aktivierungsleitungen
29 "Disable"-Leitung
30 Freigabespeicherzelle
31a bis 31h Speicherzellen
32a bis 32h Bustreiber
33 Treiberschaltung
34 Wortselektleitung
2, 3, 4 Adreßfeld
5, 6, 7, 8 Registerbänke
9 Bereich mit 16 bit-adressierbaren Bytes
10, 11 Daten- und/oder Steuerleitungsbus
12, 13, 14, 15, 16, 17 Spezialfunktionsregister
18 CPU-internes Spezialfunktionsregister
19 indirekt adressierbarer RAM-Bereich
20 indirekt und direkt adressierbarer RAM-Bereich
21 internes Spezialfunktionsregister
22, 23 Spezialfunktionsregister
24 SFR-RAM-Speicherblock
25 peripherieungebundener und direkt adressierbarer Speicherbereich
26 Freigabeeinrichtung
27 ODER-Gatter 27
28a bis 28g Aktivierungsleitungen
29 "Disable"-Leitung
30 Freigabespeicherzelle
31a bis 31h Speicherzellen
32a bis 32h Bustreiber
33 Treiberschaltung
34 Wortselektleitung
Claims (10)
1. Halbleiterspeichervorrichtung mit gruppenweise angeordne
ten Halbleiterspeicherzellen vom wahlfreien Zugriffstyp
(RAM),
dadurch gekennzeichnet, daß
den Speicherzellen vom wahlfreien Zugriffstyp (RAM) einer
Gruppe eine fest programmierbare Freigabespeicherzelle zuge
ordnet ist, dessen programmierter Datenzustand die Ausgabe
der Dateninhalte der Speicherzellen vom wahlfreien Zu
griffstyp einer Gruppe sperrt oder freigibt.
2. Halbleiterspeichervorrichtung vom wahlfreien Zugriffstyp
(RAM), insbesondere für einen Mikroprozessor mit einem Re
chenwerk (CPU), in welchem die in einem Programmspeicher ab
gespeicherten Befehle zur Steuerung der verschiedenen Be
standteile des Mikroprozessors in Form von arithmetischen
und/oder logischen Verknüpfungen umgesetzt werden, einem Da
ten- und/oder Steuerleitungsbus (10, 11) für die Übertragung
von Daten und für den Zugriff auf CPU-interne und/oder peri
pheriegebundene Spezialfunktionsregister (18), welche dem Re
chenwerk zugeordnet sind,
dadurch gekennzeichnet, daß
die Halbleiterspeichervorrichtung einen dem Rechenwerk ver
mittels dem Daten- und/oder Steuerleitungsbus (10, 11) zuge
ordneten zusammenhängenden Speicherblock (24) mit Speicher
zellen (31a bis 31h) vom wahlfreien Zugriffstyp (RAM) auf
weist, der eine eigene Adreßdekoder- und Bustreiberschaltung
aufweist, und der einen ersten, beliebig verwendbaren bzw.
zugreifbaren Speicherbereich und einen zweiten, peripherieun
gebundenen und direkt adressierbaren Speicherbereich (25) auf
weist, wobei dem Speicherblock (24) eine Freigabeeinrichtung (26)
zugeordnet ist, welche die Ausgabe von Dateninhalten aus dem
zweiten Speicherbereich (25) auf den Daten- und/oder Steuerlei
tungsbus (10, 11) sperrt oder freigibt.
3. Halbleiterspeichervorrichtung nach Anspruch 2, dadurch ge
kennzeichnet, daß die Freigabeeinrichtung (26) eine ODER-Gat
terschaltung besitzt, deren Eingänge mit Aktivierungsleitun
gen (28a bis 28g) verbunden sind, die zu den einzelnen peri
pheriegebundenen Spezialfunktionsregistern führen, und deren
Ausgang mit dem Speicherblock (24) zur Sperrung bzw. Freigabe des
zweiten Speicherbereiches (25) gekoppelt ist (Fig. 2).
4. Halbleiterspeichervorrichtung nach Anspruch 2, dadurch ge
kennzeichnet, daß die Freigabeeinrichtung (26) innerhalb des
zusammenhängenden Speicherblockes angeordnete Freigabespei
cherzellen besitzt, welche jeweils einer vorbestimmten Gruppe
von Speicherzellen des zweiten, peripherieungebundenen und
direkt adressierbaren Speicherbereiches (25) zugeordnet sind,
und welche die Ausgabe der Dateninhalte von Speicherzellen
des zweiten Speicherbereiches auf den Daten- und/oder Steuer
leitungsbus (10, 11) in Abhängigkeit des gespeicherten Zu
standes einer Freigabespeicherzelle (30) sperrt oder freigibt
(Fig. 3).
5. Halbleiterspeichervorrichtung nach Anspruch 3 oder 4, da
durch gekennzeichnet, daß die Freigabeeinrichtung (26) zur
Festlegung der Steuerung der Datenausgabe von dem ersten
und/oder dem zweiten Speicherbereich (25) des Speicherblockes (24) fest
verdrahtet ist.
6. Halbleiterspeichervorrichtung nach Anspruch 4 oder 5, da
durch gekennzeichnet, daß die Freigabespeicherzellen (30) der
Freigabeeinrichtung (26) programmierbare Speicherzellen vom
Festwertspeicher-Typ darstellen.
7. Halbleiterspeichervorrichtung nach einem der Ansprüche 1
bis 5, dadurch gekennzeichnet, daß der zusammenhängende Spei
cherblock (24) räumlich getrennt vom Rechenwerk (CPU) ange
ordnet ist.
8. Halbleiterspeichervorrichtung nach einem der Ansprüche 2
bis 7, dadurch gekennzeichnet, daß der zusammenhängende Spei
cherblock (24) einen Halbleiterspeicher vom RAM-Typ, insbe
sondere vom statischen RAM-Typ darstellt.
9. Halbleiterspeichervorrichtung nach einem der Ansprüche 2
bis 8, dadurch gekennzeichnet, daß der zusammenhängende Spei
cherblock (24) ein Adreßfeld von vorzugsweise 8 Bit × 256 Bit
aufweist.
10. Halbleiterspeichervorrichtung nach einem der Ansprüche 2
bis 9, dadurch gekennzeichnet, daß sie in einer Chipkarte an
gewendet wird.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19625628A DE19625628C1 (de) | 1996-06-26 | 1996-06-26 | Halbleiterspeichervorrichtung |
PCT/DE1997/001247 WO1997050088A1 (de) | 1996-06-26 | 1997-06-18 | Halbleiterspeichervorrichtung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19625628A DE19625628C1 (de) | 1996-06-26 | 1996-06-26 | Halbleiterspeichervorrichtung |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19625628C1 true DE19625628C1 (de) | 1997-06-26 |
Family
ID=7798108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19625628A Expired - Fee Related DE19625628C1 (de) | 1996-06-26 | 1996-06-26 | Halbleiterspeichervorrichtung |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE19625628C1 (de) |
WO (1) | WO1997050088A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10008516A1 (de) * | 2000-02-24 | 2001-08-30 | Zahnradfabrik Friedrichshafen | Abstimmung des Betriebsverhaltens einer Betätigungseinrichtung |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3761893A (en) * | 1970-07-02 | 1973-09-25 | Modicon Corp | Digital computer |
US3911406A (en) * | 1974-04-01 | 1975-10-07 | Honeywell Inf Systems | Correction apparatus for use with a read only memory system |
JP3257860B2 (ja) * | 1993-05-17 | 2002-02-18 | 株式会社日立製作所 | 半導体メモリ装置 |
JPH07262147A (ja) * | 1994-03-17 | 1995-10-13 | Fujitsu Ltd | 共通メモリ保護方式 |
-
1996
- 1996-06-26 DE DE19625628A patent/DE19625628C1/de not_active Expired - Fee Related
-
1997
- 1997-06-18 WO PCT/DE1997/001247 patent/WO1997050088A1/de active Application Filing
Non-Patent Citations (1)
Title |
---|
JOHANNIS, Rainer, PAPADOPULUS, Nikolaos: Handbuch zum 80C517 und 80C517A, Architektur und Programmierung, Siemens AG, Berlin, München, ISDN 3-8009-4128-7 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10008516A1 (de) * | 2000-02-24 | 2001-08-30 | Zahnradfabrik Friedrichshafen | Abstimmung des Betriebsverhaltens einer Betätigungseinrichtung |
US6532410B2 (en) | 2000-02-24 | 2003-03-11 | Zf Friedrichshafen Ag | Method coordinating operating behavior of motor vehicle device |
Also Published As
Publication number | Publication date |
---|---|
WO1997050088A1 (de) | 1997-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2755273C2 (de) | ||
DE4305442C2 (de) | Verfahren und Vorrichtung zum Erzeugen eines Testvektors | |
DE2542740C2 (de) | Datenverarbeitungsanlage mit einer Mikroprogrammsteuerung | |
DE69815258T2 (de) | Elektrisch programmier- und löschbarer nichtflüchtiger Speicher mit einem lese- und/oder schreibgeschützen Bereich einschliesslich zugehöriger elektronischer Schaltung | |
DE2907181A1 (de) | Befehlssatz-modifizierregister fuer einen datenprozessor | |
DE2935906C2 (de) | Mikroprozessor | |
CH620779A5 (de) | ||
DE2910839A1 (de) | Einrichtung zur ausfuehrung einer speziellen verzweigungsinstruktion | |
DE2916658A1 (de) | Selbstprogrammierbarer mikroprozessor | |
DE4418892C2 (de) | Mikrocomputer | |
DE2416609A1 (de) | Einrichtung zum vereinfachten speicherschutz und zur adressuebersetzung | |
EP0500973B1 (de) | EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM | |
DE2926322A1 (de) | Speicher-subsystem | |
DE102004012279B3 (de) | Verfahren und Vorrichtung zum Speicherselbsttest von eingebetteten Speichern in Halbleiterchips | |
DE2433436A1 (de) | Verfahren und anordnung zum mehrfachverzweigen des programms in einem digitalen computer | |
DE4238099A1 (de) | ||
EP1407348B1 (de) | Verfahren zum ansteuern einer zentralen verarbeitungseinheit für eine adressierung bezüglich eines speichers und controller | |
DE4222275A1 (de) | Parallelprozessor und betriebsverfahren eines solchen | |
DE19625628C1 (de) | Halbleiterspeichervorrichtung | |
DE3410497A1 (de) | Rechneranordnung | |
CH632349A5 (de) | Einrichtung zur mikrobefehlssteuerung. | |
DE3101270C2 (de) | Rechneranordnung zur Wortverarbeitung mit einer Einrichtung zur Funktionserweiterung | |
WO1997050040A2 (de) | Mikroprozessorvorrichtung | |
DE3539129C2 (de) | ||
DE112019007381T5 (de) | Controller für eine speicherkomponente |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8100 | Publication of the examined application without publication of unexamined application | ||
D1 | Grant (no unexamined application published) patent law 81 | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |