DE4215063C2 - Einrichtung und Verfahren zum Seitenwechsel bei einem nicht-flüchtigen Speicher - Google Patents
Einrichtung und Verfahren zum Seitenwechsel bei einem nicht-flüchtigen SpeicherInfo
- Publication number
- DE4215063C2 DE4215063C2 DE4215063A DE4215063A DE4215063C2 DE 4215063 C2 DE4215063 C2 DE 4215063C2 DE 4215063 A DE4215063 A DE 4215063A DE 4215063 A DE4215063 A DE 4215063A DE 4215063 C2 DE4215063 C2 DE 4215063C2
- Authority
- DE
- Germany
- Prior art keywords
- page
- memory
- volatile memory
- processor
- address
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Description
Die vorliegende Erfindung bezieht sich auf ein Speichersei
tenwechselsystem nach dem Oberbegriff des Anspruchs 1 bzw. auf
ein Verfahren für einen Seitenwechsel in einem nicht-flüchtigen
Speicher.
Viele bekannte Computersysteme werden im allgemeinen zumin
dest mit einem Prozessor, einem RAM und einem ROM konfiguriert.
Einige Systeme, beispielsweise eine Vielzahl von Taschenrech
nern, können nur mit einem Prozessor und einem ROM arbeiten.
ROMs sind eine nicht-flüchtige Speicherart, die nicht zerstört
wird, wenn die Stromversorgung vom Computersystem entfernt
wird.
Bekannte Computersysteme werden im allgemeinen anfangsgela
den (d. h. durch Einschalten initialisiert), indem die im ROM im
Inneren des Computersystems gespeicherte Verarbeitungslogik
(d. h. Firmware) benutzt wird. Da der ROM ein nicht-flüchtiger
Speicher ist, wird sichergestellt, daß die Firmware im ROM gül
tige Daten oder Befehle enthält; folglich kann das bekannte
Computersystem zuverlässig mit Hilfe der Firmware im ROM an
fangsgeladen werden. Viele Computersysteme benutzen erfolgreich
diese Technik. Eines dieser Systeme ist der durch die IBM Cor
poration in Armonk, New York entwickelte IBM-PC. Bekannte Ver
sionen des IBM-PC benutzen ROM-Bauelemente zum Speichern der
Firmware oder eines Software-Programms des Basis-Eingabe-Aus
gabe-Systems (BIOS). Das BIOS ist ein Betriebssystem, das die
niedrigste Ebene der Softwaresteuerung über die Hardware und
die Ressourcen des Computersystems zur Verfügung stellt. Die
ROM-Speicherung kann auch für eine nicht-flüchtige Aufbewahrung
von Netzwerk-Konfigurationsdaten oder anwendungsspezifischen
Daten benutzt werden. Bekannte ROM-Bauelemente umfassen die
Grundform des Nur-Lese-Speichers (ROM), programmierbare Nur-
Lese-Speicherbauelemente (PROM) und löschbare programmierbare
Nur-Lese-Speicher (EPROM). Batteriegestützte RAM-Bauelemente,
wie beispielsweise CMOS-RAM-Bauelemente, können ebenfalls für
ein nicht-flüchtiges Aufbewahren von Netzwerkkonfigurationsda
ten oder anwendungsspezifischen Daten in einem Computersystem
benutzt werden.
Obwohl Computersysteme auf ROM-Basis sehr erfolgreich be
nutzt werden, gibt es eine Anzahl von Problemen bei der Benut
zung dieser Bauelemente in einem Computersystem. Die meisten
Computersysteme haben einen endlichen Adreßraum, in welchem
jede der Ressourcen des Computersystems arbeiten muß. Diese
Ressourcen enthalten den ROM, den RAM, Ein/Ausgabe-Geräte und
möglicherweise andere Prozessoren. ROM-Bauelemente mit einem
darin enthaltenen BIOS sind typischerweise beschränkt auf einen
speziellen Adreßbereich innerhalb des verfügbaren Adreßraums.
Um die Kompatibilität mit einer bestimmten Computerarchitektur
aufrechtzuerhalten, schaffen Konstrukteure und Entwickler in
der Computerindustrie Produkte basierend auf einem bestimmten
ROM-Adressenstandard. Beispielsweise fordert die Architektur
des IBM-PC AT, daß das ROM-BIOS und andere firmware-basierte
Anwendungen auf einen 128K großen Adreßraum an der Spitze des
ersten Megabytes des Speichers begrenzt ist. Mit dieser Archi
tektur kann jedoch das ROM-BIOS nicht 128K des ROM-Raums über
steigen. Innerhalb dieses ROM-Raums muß das BIOS Verarbeitungs
logik zum Initialisieren und Steuern vieler der Hardwaresysteme
und -ressourcen des Computersystems enthalten. Mit wachsender
Funktionalität der modernen Computersysteme wächst die Komple
xität des Hardware-Systems und der Ressourcen und ebenso der
Umfang des zu ihrer Unterstützung erforderlichen BIOS-Codes.
Auch aufgrund neuer Technologien und Fähigkeiten, wie bei
spielsweise EISA-Systeme, Flash-Speicher und mehrsprachiger
Unterstützung für eine internationale Arbeitsweise eines Compu
tersystems, wird es zunehmend undurchführbar, alle gewünschten
BIOS-Merkmale innerhalb der 128K-Grenze der Architektur des
IBM-PC AT unterzubringen. Andere Varianten von Computersystemen
haben typischerweise eine feststehende Grenze für die Größe
ihres BIOS. Obwohl der Bedarf zum Ausdehnen der BIOS-Begrenzung
wächst, kann die Begrenzung nicht willkürlich verändert werden,
ohne die Kompatibilität mit den feststehenden Standards zu ver
lieren.
Aus US 4,443,847 A1 ist es bekannt, einen nicht-flüchtigen
Speicher (ROM) in Seiten einzuteilen und den Seitenwechsel
(paging) durch eine Adreßmodifikation zu bewirken.
Aufgabe der Erfindung ist es, den für ein BIOS eines Compu
tersystems zur Verfügung stehenden Speicherraum zu erweitern,
ohne dabei vorgegebene Adreßbegrenzungen zu verletzen.
Diese Aufgabe wird erfindungsgemäß durch ein Speichersei
tenwechselsystem mit den Merkmalen des Anspruchs 1 bzw. ein
Verfahren mit den Merkmalen des Anspruchs 13 gelöst.
Die vorliegende Erfindung beschreibt ein Computersystem,
bei dem eine Seitenwechseltechnik verwendet wird, um die nutz
bare Kapazität des nicht-flüchtigen Speichers über eine feste
Begrenzung eines Adreßraums hinaus auszudehnen. Das Computersy
stem des bevorzugten Ausführungsbeispiels weist einen Bus zum
Informationsaustausch, einen mit dem Bus gekoppelten Prozessor
zur Informationsverarbeitung, einen mit dem Bus gekoppelten RAM
zum Speichern von Informationen und Befehlen für den Prozessor,
ein mit dem Bus gekoppeltes Eingabegerät, wie beispielsweise
ein alphanumerisches Eingabegerät oder ein Cursorsteuergerät,
zum Austausch von Informationen und Befehlsaufrufen für den
Prozessor, ein mit dem Bus gekoppeltes Anzeigegerät zum Anzei
gen von Informationen für einen Computerbenutzer und ein mit
dem Bus gekoppeltes Datenspeichergerät zum Speichern von Infor
mationen und Befehlen, wie beispielsweise eine Magnetplatte
oder ein Diskettenlaufwerk auf. Zusätzlich weist das Computer
system des bevorzugten Ausführungsbeispiels eine mit dem Bus
gekoppelte Flash-Speicherbaugruppe zur Speicherung nichtflüch
tiger Befehlscodes und Daten auf. Zur Speicherung nichtflüch
tiger Befehlscodes und Daten können anstelle des Flash-Spei
chers auch andere Bauelemente benutzt werden. Bei Benutzung der
Erfindung dehnt eine Seitenwechseltechnik die nutzbare nicht
flüchtige Speicherkapazität über eine feste Adreßraumbegrenzung
hinaus aus.
Der Flash-Speicher des bevorzugten Ausführungsbeispiels
enthält vier separat lösch- und programmierbare nicht symmetri
sche Speicherblöcke. Einer dieser vier Blöcke kann nach der
Installation elektronisch gesperrt werden, um ein Löschen oder
eine Änderung seines Inhalts zu verhindern. Diese Konfiguration
gestattet der Verarbeitungslogik des Computersystems die Aktua
lisierung oder Änderung irgendeines ausgewählten Speicherblocks
ohne eine Beeinflussung der Inhalte der anderen Blöcke. Ein
Speicherblock enthält ein normales BIOS. Das BIOS enthält Be
fehle der Verarbeitungslogik, die durch den Prozessor ausge
führt werden.
Im bevorzugten Ausführungsbeispiel ist das BIOS auf die
oberen 128K des ersten Megabytes des adressierbaren Speicher
raums des Computersystems begrenzt. Aufgrund der Zwänge des
Computersystementwurfs und der Kompatibilität darf das BIOS
nicht Speicherplätze außerhalb des oberen 128K-Bereichs bele
gen. Bei der Erfindung wird der nutzbare BIOS-Speicherraum ef
fektiv erhöht, während die 128K-Grenze des oberen 128K-Bereichs
beibehalten wird. Diese Vergrößerung des nutzbaren BIOS-Raums
wird mit Hilfe der erfindungsgemäßen Seitenwechseltechnik rea
lisiert. Im bevorzugten Ausführungsbeispiel ist der Adreßraum
des nicht-flüchtigen Speichers logisch in vier getrennte
64KByte-Seiten des Speichers (Seiten 1-4) unterteilt. Mit Hilfe
der erfindungsgemäßen Einrichtung und des Verfahrens können die
Seiten 1, 3 und 4 individuell in den durch das BIOS belegten
Adreßraum (den auslagerbaren Seitenbereich) ein- und ausgela
gert werden. Die Seite 2 wird im bevorzugten Ausführungsbei
spiel statisch gehalten und wird folglich nicht als Auslage
rungsbereich benutzt.
Jede der auslagerbaren Seiten 1, 3 und 4 enthält Auslage
rungslogik (swapping logic) genannte Verarbeitungslogik, die
während der Auslagerungs- oder Seitenwechsel-Operation benutzt
wird. Die Auslagerungslogik arbeitet in Verbindung mit Seiten
wechsel-Hardware, um die Auslagerung von Seiten in den durch
das BIOS belegten Bereich zu bewirken. Die Adreßleitungen höhe
rer Ordnung des Prozessors bilden Eingangsleitungen eines Sei
tendecoders. Der Seitendecoder wird benutzt, um die jeweils dem
nicht-flüchtigen Speicher präsentierte Adresse zu modifizieren.
Ein Seitenregister stellt Mittel zur Verfügung, durch welche
der Prozessor eine Seite in dem nicht-flüchtigen Speicher aus
wählen kann.
In einem alternativen Ausführungsbeispiel der Erfindung
können mehrere unterschiedliche Arten von Konfigurations- oder
Identifikations-Informationen in einer Seite des nichtflüchti
gen Speichers gespeichert werden. Konfigurations-Informationen
können in dieser Form EISA-Konfigurationsdaten, andere Buspro
tokollinformationen oder Netzwerkinformationen enthalten. Iden
tifikations-Informationen können eine Ethernet-Adresse, Serien
nummern des Systems oder Software-Lizenznummern enthalten.
Die Erfindung stellt Mittel zum Ausdehnen der Speicherkapa
zität für das BIOS unter Aufrechterhaltung der Adreßraumbegren
zungen zur Verfügung. Ferner liefert sie Mittel für einen Sei
tenwechsel eines System-BIOS in einem Computersystem, Mittel
zum Auswählen einer bestimmten Seite des BIOS-Speichers und
Mittel zum Auslagern von Seiten des BIOS. Die Erfindung schafft
ferner Mittel zum Benutzen seitenresidenter Verarbeitungslogik
für die Steuerung der Seitenauslagerungsoperation und Mittel
zum Aufrechterhalten mindestens einer statischen Seite. Ferner
stellt die Erfindung Mittel zum Speichern von Konfigurations-
oder Identifikations-Informationen zur Verfügung, beispielswei
se Mittel zum Speichern von EISA-Informationen in einem Flash-
Speicher und zu deren Rückgewinnung aus dem Speicher.
Vorteilhafte Weiterbildungen der Erfindung sind in den Un
teransprüchen gekennzeichnet.
Im folgenden wird die Erfindung anhand eines in der Zeich
nung dargestellten bevorzugten Ausführungsbeispiels näher be
schrieben. In der Zeichnung zeigen:
Fig. 1 eine Darstellung des erfindungsgemäßen
Computersystems,
Fig. 2 eine Darstellung der in dem bevorzugten
Ausführungsbeispiel benutzten Seiten des BIOS,
Fig. 3a
und 3b die erfindungsgemäße Seitenwechsel-Hardware;
Fig. 4
bis 6 Ablaufdiagramme der erfindungsgemäßen
Seitenwechsel-Verarbeitungslogik,
Fig. 7a
bis 7d eine Speicherbelegung bei verschiedenen
Seitenwechsel-Konfigurationen; und
Fig. 8 die Verarbeitungslogik zum Aktualisieren eines
Flash-Speichers mit EISA-Konfigurationsdaten.
Bei dem erfindungsgemäßen Computersystem wird eine
Seitenwechsel-Technik benutzt, um die nutzbare nicht-flüchtige
Speicherkapazität hinter eine feste Adreßraumbegrenzung
auszudehnen. In der folgenden Beschreibung werden zahlreiche
spezielle Details ausgeführt, um ein besseres Verständnis der
Erfindung zu erreichen. Für den Fachmann ist es jedoch klar,
daß diese speziellen Details zur Realisierung der Erfindung
nicht notwendig sind. An anderen Stellen werden bekannte
Strukturen, Schaltungen und Schnittstellen nicht im Detail
gezeigt, um das Verständnis der Erfindung nicht unnötig zu
erschweren.
In Fig. 1 ist ein Blockdiagramm des erfindungsgemäßen
Computersystems dargestellt. Das bevorzugte Ausführungsbeispiel
der Erfindung wurde mit Hilfe eines von der Anmelderin
hergestellten Mikroprozessors 80386 oder 80486 realisiert. Für
den Fachmann ist es jedoch klar, daß auch andere Prozessoren
und Computersystemarchitekturen benutzt werden können. Im
allgemeinen weisen solche in Fig. 1 dargestellten
Computersysteme einen Bus 100 zum Austauschen von
Informationen, einen mit dem Bus gekoppelten Prozessor 101 zum
Verarbeiten von Informationen, einen mit dem Bus 100
gekoppelten RAM 102 zum Speichern von Informationen und
Befehlen für den Prozessor 101, ein mit dem Bus gekoppeltes
Eingabegerät 104, wie beispielsweise ein alphanumerisches
Eingabegerät oder ein Cursorsteuergerät, zum Austauschen von
Informationen und Befehlsaufrufen mit dem Prozessor 101, ein
mit dem Bus 100 gekoppeltes Anzeigegerät 105 zum Anzeigen von
Informationen für einen Computerbenutzer und ein mit dem Bus
100 gekoppeltes Datenspeichergerät 106 zur Speicherung von
Informationen und Befehlen, wie beispielsweise eine
Magnetplatte und ein Diskettenlaufwerk, auf.
Zusätzlich weist das Computersystem des bevorzugten
Ausführungsbeispiels eine mit dem Bus 100 gekoppelte Nur-Lese-
Speicherbaugruppe 103 zum Speichern nicht-flüchtiger
Befehlscodes und Daten auf. Im bevorzugten Ausführungsbeispiel
ist der Nur-Lese-Speicher 103 eine bekannte Flash-
Speicherbaugruppe.
Gegenwärtig sind verschiedene Typen nicht-flüchtiger
Speicher bekannt, die ohne Entfernen des Bauelements von einer
Leiterplatte, auf welcher das Bauelement installiert ist,
umprogrammiert werden können. Eine Klasse umprogrammierbarer
nicht-flüchtiger Speicherbauelemente stellen die Flash-Speicher
dar. Bekannt sind verschiedene Arten von Flash-Speichern. Mit
Hilfe eines bestimmten Satzes elektrischer Signale können die
Inhalte von Flash-Speichern gelöscht und mit neuen Daten
umprogrammiert werden. Viele bekannte Flash-Speicher gestatten
nur ein komplettes Löschen und Umprogrammieren aller
Speicherplätze des Bauelements. Andere Flash-Speicher sind
jedoch partitioniert in getrennt löschbare und programmierbare
Speicherblöcke in einem einzigen Flash-Speicher. Im bevorzugten
Ausführungsbeispiel der Erfindung wird ein solcher
partitionierter Flash-Speicher benutzt. Im bevorzugten
Ausführungsbeispiel werden zwei Flash-Speicher mit der
Bezeichnung 28F001BT benutzt. Die Flash-Speicher 28F001BT sind
durch die Anmelderin hergestellte 1MBit-Speicher. Für den
Fachmann ist es klar, daß andere Arten umprogrammierbarer
nicht-flüchtiger Speicher zur Ausführung der Lehre der
Erfindung benutzt werden können. Eine Alternative zu einem
Flash-Bauelement ist ein elektrisch löschbarer programmierbarer
Nur-Lese-Speicher (EEPROM).
Der im bevorzugten Ausführungsbeispiel benutzte Flash-
Speicher enthält vier getrennt lösch-/programmierbare nicht
symmetrische Speicherblöcke. Einer dieser vier Blöcke kann
elektronisch gesperrt werden, um ein Löschen oder Verändern des
einmal installierten Inhalts zu verhindern. Diese Konfiguration
gestattet es der Verarbeitungslogik des Computersystems,
irgendeinen ausgewählten Speicherblock zu aktualisieren oder zu
verändern, ohne die Inhalte der anderen Blöcke zu beeinflussen.
Im bevorzugten Ausführungsbeispiel ist ein Basis-Eingabe-
Ausgabe-System (BIOS) in dem Flash-Speicher 103 gespeichert.
Zusätzlich können andere system- und anwendungsspezifische
Verarbeitungslogik- und Datenparameter ebenfalls in dem Flash-
Speicher 103 gespeichert sein. Die folgenden Abschnitte
beschreiben, wie die Inhalte des Flash-Speichers 103 durch
Seitenwechsel in einer Weise ausgewechselt werden können, die
es gestattet, die effektive Größe des Flash-Speichers 103 zu
erhöhen, ohne Zugriffe über eine feste Adreßgrenze hinaus
auszudehnen. Für den Fachmann ist es klar, daß die
erfindungsgemäße Flash-Speicher-Seitenwechseltechnik in einem
Computersystem mit Hilfe einer beliebigen Art eines nicht-
flüchtigen-Speichers benutzt werden kann und nicht auf ein
einen Flash-Speicher benutzendes System beschränkt ist.
Bei dem in Fig. 2 dargestellten bevorzugten
Ausführungsbeispiel ist für ein in Seiten eingeteiltes BIOS
eine Speicherbelegung der Inhalte des Flash-Speichers 103
dargestellt. Im bevorzugten Ausführungsbeispiel ist das BIOS
beschränkt auf die oberen 128K des ersten Megabyte des
adressierbaren Speicherbereichs des Computersystems. Dieser
Adreßraum wird durch den in Fig. 2 dargestellten Bereich 320
identifiziert. Bekannt ist die Benutzung des 128K-Bereichs 320
zur Speicherung des BIOS. Der obere Bereich 301 wird zur
Speicherung des normalen System-BIOS benutzt, während der
untere Bereich 302 zur Speicherung anderer Logik und Daten, wie
beispielsweise Überlauf-BIOS-Befehlscodes und/oder -daten,
Video-Daten, Set-Up-Befehlscodes oder -daten anderer BIOS's und
anderer Informationen oder Logik benutzt wird.
Bei der Erfindung wird der nutzbare BIOS-Speicherraum
effektiv erhöht, während die 128K-Begrenzung des Bereichs 320
aufrechterhalten wird. Diese Vergrößerung des nutzbaren BIOS-
Raums wird durch die erfindungsgemäße Seitenwechsel-Technik
realisiert. Im bevorzugten Ausführungsbeispiel ist die in Fig.
2 dargestellte Speicherbelegung logisch in vier
unterschiedliche 64KByte-Speicherseiten getrennt. Diese Seiten
werden als Seite 1 (301), Seite 2 (302), Seite 3 (303) und
Seite 4 (304) bezeichnet. Mit Hilfe der Einrichtung und des
Verfahrens der Erfindung können die Seiten 3 (303) und 4 (304)
individuell in den durch die Seite 1 (301) belegten Adreßraum
aus- bzw. eingelagert werden. Im bevorzugten
Ausführungsbeispiel wird die Seite 2 (302) statisch gehalten
und folglich nicht als ein Auslagerungsbereich benutzt.
Für den Fachmann ist es klar, daß für eine bessere
Anpassung an ein alternatives Ausführungsbeispiel anstelle der
Seitengröße von 64K Byte des bevorzugten Ausführungsbeispiels
eine differierende Seitengröße realisiert werden kann. Das
erfindungsgemäße Verfahren kann auch mit einer anderen
Seitengröße benutzt werden. Ähnliches gilt für die vom
bevorzugten Ausführungsbeispiel definierten zwei außerhalb der
128K-Begrenzung des Bereichs 320 auslagerbaren Seiten, der
Seite 3 (303) und der Seite 4 (304). Es ist für den Fachmann
klar, daß zusätzliche Seiten mit Hilfe des erfindungsgemäßen
Verfahrens definiert werden können, um den nutzbaren Bereich
des BIOS weiter zu vergrößern.
Jede der auslagerbaren Seiten 1 (301), 3 (303) und 4 (304)
enthält Auslagerungslogik genannte Verarbeitungslogik, die
während der Auslagerungs- oder Seitenwechsel-Operation benutzt
wird. Beispielsweise belegt die Auslagerungslogik der Seite 1
(301) einen Platz im Bereich 315. In ähnlicher Weise hat jede
auslagerbare Seite Auslagerungslogik, die sich an einer relativ
zu jeder Seite festen Stelle befindet. Die Auslagerungslogik
arbeitet in Verbindung mit einer Seitenwechsel-Hardware, um die
Umlagerung von Seiten in den durch die Seite 1 (301) belegten
Bereich zu bewirken. Die Arbeitsweise der Auslagerungslogik
wird unten mit Bezug auf die Ablaufdiagramme der Fig. 4 und
5 beschrieben. Zunächst wird die erfindungsgemäße
Seitenwechsel-Hardware beschrieben.
In Fig. 3a ist ein Blockdiagramm der erfindungsgemäßen
Seitenwechsel-Hardware dargestellt. Ein Teil der Schnittstelle
zwischen dem Prozessor 101 und dem nicht-flüchtigen Speicher-
oder Flash-Bauelement 103 ist eine Adresse, die dem Flash-
Speicher und/oder der Decoderlogik auf den Adreßleitungen 210
präsentiert wird. Die so präsentierten Adreßsignale definieren
den Ort im Flash-Speicher 103, auf den durch den Prozessor 101
zugegriffen wird. Zur Veranschaulichung sind die Adreßleitungen
210 in zwei Komponenten getrennt gezeigt. Die Adreßsignale auf
den Leitungen 211 enthalten die geringwertigen 16 Bits der
durch den Prozessor 101 ausgegebenen Adresse. Die Adreßsignale
höherer Ordnung werden auf Leitung 212 ausgegeben. Es ist für
den Fachmann klar, daß die Anzahl der auf Leitung 212
präsentierten Adreßsignale höherer Ordnung von der Adreßbreite
des Prozessors 101 abhängt. Zur Veranschaulichung sind nur vier
Adreßsignale bzw. Bits auf Leitung 212 gezeigt, um einen
Zugriff auf einen Platz höchster Ordnung des Flash-Speichers
103 zu veranschaulichen.
Die vier Adreßleitungen der Leitung 212 werden in dem
bevorzugten Ausführungsbeispiel einem Seitendecoder 217
eingegeben. Der Seitendecoder 217 wird benutzt, um die auf den
Adreßleitungen 219 an den Flash-Speicher 103 jeweils angelegten
Adressen zu modifizieren. Ein zweites Eingangssignal zum
Seitendecoder 217 kommt von einem Seitenregister 214 über
Leitung 216. Das Seitenregister 214 stellt Mittel zur
Verfügung, durch welche der Prozessor 101 eine Seite im Flash-
Speicher 103 auswählen kann. Der Prozessor 101 wählt eine Seite
durch Ausgabe eines mit der gewünschten Seite
korrespondierenden binären Wertes auf Leitung 215 aus. Im
bevorzugten Ausführungsbeispiel wird die Ausgabe zum
Seitenregister 214 auf Leitung 215 mit Hilfe eines im
Befehlssatz des Prozessors 101 zur Verfügung stehenden OUT-
Befehls ausgeführt. Die Benutzung eines OUT-Befehls zum Laden
eines externen Registers in dieser Weise ist bekannt. Sobald
das Seitenregister 214 mit einer Seitenzahl geladen worden ist,
wird diese Seitennummer dem Seitendecoder 217 auf Leitung 216
zur Verfügung gestellt.
Der Seitendecoder 217 manipuliert die jeweils dem Flash-
Speicher 103 auf den Adreßleitungen 219 präsentierte Adresse,
indem er zunächst die auf den Leitungen 212 empfangenen Bits
höherer Ordnung der Prozessoradresse liest. Wenn der durch die
Bits höherer Ordnung der Prozessoradresse auf den Leitungen 212
repräsentierte Wert einen Prozessorzugriff auf den
auslagerbaren Seitenbereich (d. h. Adreßbereich F0000h bis
FFFFFh) definiert, so liest der Seitendecoder 217 die im
Seitenregister 214 gespeicherte Seitennummer. Die Seitennummer
wird benutzt, um den Wert der Bits höherer Ordnung der
Prozessoradresse zu ersetzen, die aktuell an den Flash-Speicher
103 über die Adreßleitungen 219 ausgegeben wird. Auf diese
Weise kann ein Prozessorzugriff auf den auslagerbaren
Seitenbereich zu einer vorgegebenen Seite umadressiert werden.
Wenn der durch die Bits höherer Ordnung der Prozessoradresse
auf den Leitungen 212 repräsentierte Wert einen
Prozessorzugriff auf einen anderen Bereich als den
auslagerbaren Seitenbereich des Flash-Speichers definiert, so
braucht der Seitendecoder 217 nicht das Seitenregister zu
lesen, und die Prozessoradresse wird unmodifiziert an den
Flash-Speicher 103 weitergeleitet.
Ein Beispiel der Arbeitsweise des Seitenregisters 214 und
des Seitendecoders 217 ist in Fig. 3b dargestellt. Wenn ein mit
der Seite 1 korrespondierender Wert durch den Prozessor 101 in
das Seitenregister 214 geladen worden ist und eine
Prozessoradresse in dem auslagerbaren Seitenbereich F0000h bis
FFFFFh durch den Prozessor auf den Leitungen 211 und 212
präsentiert wird, so nehmen die durch den Prozessor 101 auf den
Leitungen 212 ausgegebenen Prozessoradreßbits 16 bis 19 höherer
Ordnung jeweils einen binären Wert von 1 an, wobei ein
Adreßbereich von F0000h bis FFFFFh definiert wird. Da der
Prozessor 101 auf den auslagerbaren Seitenbereich zugegriffen
hat, wird der Seitendecoder 217 freigegeben, um aus dem
Seitenregister 214 den dort gespeicherten Wert zu lesen. In
diesem Beispiel liest der Seitendecoder 217 einen mit der Seite
1 korrespondierenden Wert und ersetzt die Prozessoradreßbits
höherer Ordnung durch den Wert der Seite 1. Somit wird eine
Flash-Speicheradresse im Bereich von F0000h bis FFFFFh dem
Flash-Speicher 103 präsentiert. Dieser Adreßbereich (F0000h bis
FFFFFh) korrespondiert mit der in Fig. 2 dargestellten Seite 1
(301). Da Seite 1 bereits in dem Adreßraum der auslagerbaren
Seite angeordnet war, brauchte keine andere Seite eingelagert
zu werden. Folglich wurde für den einfachen Fall der Seite 1
die Prozessoradresse im wesentlichen zum Flash-Speicher 103
durchgeleitet, obwohl der Seitendecoder 217 die
Adreßmodifikation ausführte. Dieser Fall ist in Fig. 7a
dargestellt.
Im bevorzugten Ausführungsbeispiel wird die Seite 2 niemals
in das Seitenregister 215 geladen, da sie eine nicht
auslagerbare Seite ist. Folglich erzeugt ein Prozessorzugriff
auf den nicht-auslagerbaren Adreßbereich (E0000h bis EFFFFh)
keine Adreßmodifikation durch den Seitendecoder 217. Dieser
Fall ist in Fig. 7b dargestellt.
In dem in Fig. 3b dargestellten Fall der Seite 3 wird das
Seitenregister 214 mit einem mit der Seite 3 korrespondierenden
Wert geladen. Eine Prozessoradresse in dem auslagerbaren
Seitenbereich F0000h bis FFFFFh wird durch den Prozessor 101
auf den Leitungen 211 und 212 präsentiert. In diesem Fall liest
der Seitendecoder 217 die Werte der Seite 3 vom Seitenregister
214 und ersetzt die Bits höherer Ordnung der Prozessoradresse
mit den Werten der Seite 3. Diese Adreßmodifikation bewirkt
eine Umadressierung der Prozessoradresse zu einer abweichenden
Adresse im Flash-Speicher 103, die mit dem Ort der Seite 3
korrespondiert. Im Beispiel gemäß Fig. 3b ist der Wert der
Seite 3 gleich 0Dh. Dieser Wert adressiert den Zugriff auf die
Seite 3 auf den Flash-Speicheradreßbereich D0000h bis DFFFFh
um. Für den Fachmann ist es klar, daß der Speicherzugriff durch
den Prozessor auf jeden beliebigen Bereich des Flash-Speichers
103 umadressiert werden kann. Alternative Ausführungsbeispiele
können einen anderen Wert für die Seite 3 benutzen und dabei
einen Zugriff auf die Seite 3 an eine andere Stelle im Flash-
Speicher 103 umadressieren. Der Fall der Seite 3 ist in Fig. 7c
dargestellt.
In dem in Fig. 3b gezeigten Beispiel der Seite 4 wird ein
Wert der Seite 4 von 0Ch benutzt, um einen Zugriff des
Prozessors 101 auf den Flash-Speicheradreßbereich C0000h bis
CFFFFh umzuadressieren. Wiederum ist die Umadressierung auf den
Adreßbereich C0000h bis CFFFFh nur als ein Beispiel angegeben.
Angemerkt sei auch, daß der Prozessor 101 nur vom Laden des
Seitenregisters und vom Zugriff auf den auslagerbaren
Seitenbereich (F0000h bis FFFFFh) im Flash-Speicher 103
Kenntnis erhält. Der Prozessor 101 erhält keine Kenntnis über
die Umadressierung der Bits höherer Ordnung der
Prozessoradresse. Der Fall der Seite 4 ist in Fig. 7d
dargestellt.
In den letzten beiden in Fig. 3b gezeigten Beispielen
greift der Prozessor 101 auf einen nicht auslagerbaren
Seitenbereich (d. h. Bereich 301) zu, wobei die Adresse nicht
modifiziert wird. Im ersten der Beispiele präsentiert der
Prozessor 101 eine Adresse in dem Bereich E0000h bis EFFFFh auf
den Leitungen 210. Da eine solche Adresse nicht in dem
auslagerbaren Seitenbereich liegt, wird folglich der Wert im
Seitenregister 214 irrelevant. In diesem Fall läßt der
Seitendecoder 217 einfach die Prozessoradresse zum Flash-
Speicher 103 passieren. Folglich wird auf den Leitungen 219 die
Adresse im Bereich E0000h bis EFFFFh dem Flash-Speicher
präsentiert. In ähnlicher Weise wird eine Prozessoradresse im
Bereich 0 bis DFFFFh unmodifiziert dem Bus 100 angeboten.
Auf diese Weise können durch den Prozessor 101 auf den
Leitungen 211 und 212 ausgegebene Adressen modifiziert und auf
ausgewählte Seiten des Flash-Speichers 103 umadressiert werden.
Für den Fachmann ist es klar, daß die Fig. 3a und 3b eine
Modifikation von nur vier Leitungen höherer Ordnung der
Prozessoradresse beschreiben; daß jedoch zusätzliche
Adreßleitungen oder Bits hoher Ordnung in die Manipulation
durch den Seitendecoder 217 einbezogen werden können, um einen
Zugriff auf zusätzliche Seiten des BIOS zu ermöglichen. Auch
ist es für den Fachmann klar, daß der im bevorzugten
Ausführungsbeispiel zum Auslösen der Auslagerungs-Operation für
das System-BIOS benutzte Adreßbereich für auslagerbare
Seitenbereiche (F0000h bis FFFFFh) an einem beliebigen
Speicherbereich implementiert werden kann. Damit ist die
Seitenwechsel-Hardware der Erfindung beschrieben.
Die Verarbeitungslogik zur Steuerung des erfindungsgemäßen
in Seiten eingeteilten nicht-flüchtigen Speichersystems ist
ebenfalls enthalten. Diese Verarbeitungslogik zerfällt in zwei
verschiedene Teile: 1) erster Befehlscodeteil oder
Seitenauswahllogik und 2) zweiter Befehlscodeteil oder
Auslagerungslogik. Der erste Befehlscodeteil ist die
Verarbeitungslogik, die die Seitennummer bestimmt, die in den
dem auslagerbaren Seitenbereich entsprechenden Bereich
ausgelagert werden soll. Der zweite Befehlscodeteil der
Seitensteuerungs-Verarbeitungslogik ist der Befehlscode, der
das Umschalten oder Auslagern zur nächsten Seite ausführt. Der
erste Befehlscodeteil kann sich an irgendeiner Stelle im BIOS
oder einer auslagerbaren Seite aufhalten. Der zweite
Befehlscodeteil ist in dem mit den oberen 8K jeder
auslagerbaren Seite korrespondierenden physikalischen
Adreßbereich angeordnet. Beispielsweise befindet sich die
Auslagerungslogik des zweiten Teils für die Seite 1 im Bereich
315, wie es in Fig. 2 gezeigt ist. In ähnlicher Weise befindet
sich der zweite Teil der Auslagerungslogik für die Seite 3 im
Bereich 310. Dieser obere 8K-Adreßbereich korrespondiert mit
einem Abschnitt der Kompatibilität für den IBM-PC, wo an dieser
Stelle feste Eintrittspunkte für zahlreiche Software-Interrupts
und andere feste Datenbereiche sind. Zwischen diesen festen
Eintrittspunkten und Datenbereichen gibt es Lücken verfügbaren
Speichers. Die Auslagerungslogik des zweiten Teils ist in einer
dieser Lücken angeordnet. Die Auslagerungslogik des zweiten
Teils ist stets an der gleichen festen Adresse relativ zu jeder
Seite positioniert. Jede auslagerbare Seite muß die
Auslagerungslogik des zweiten Teils aufweisen. Für den Fachmann
ist es jedoch klar, daß die Auslagerungslogik für andere
Computersystemarchitekturen an einer anderen Position innerhalb
der auslagerbaren Seiten, aber an den gleichen festen Adressen
relativ zu jeder Seite angeordnet sein kann.
Die erfindungsgemäße Seitenumschaltung wird durch
Ausführung der Seitenauswahl-Verarbeitungslogik des ersten
Teils aktiviert. Im bevorzugten Ausführungsbeispiel wird die
Verarbeitungslogik des ersten Teils durch einen Befehlscode in
einer anderen Seite oder über die Aktivierung einer
charakteristischen Sequenz alphanumerischer Tastatureingaben
ausgeführt. Jeder Seite kann eine besondere
Tastatureingabesequenz zugeordnet sein. Im bevorzugten
Ausführungsbeispiel enthält beispielsweise die Seite 1 ein beim
Einschalten aufgerufenes Selbsttestprogramm bzw. POST-Programm
(power-on-self-test). Die Seite 1 mit dem POST-Befehlscode wird
beim Einschalten oder einem Systemrücksetzen automatisch
ausgewählt. Die Seite 3 enthält die Set-Up-Verarbeitungslogik
und die Seite 4 enthält die Laufzeit-BIOS-Logik. Die Set-Up-
Seite bzw. Seite 3 kann von der POST-Verarbeitungslogik bei
Auftreten eines Konfigurationsfehlers ausgewählt werden. So
fordert die POST-Verarbeitungslogik zu einer alphanumerischen
Tastatureingabe auf, um den Seitenauswahlcode des ersten Teils
bei Anforderung auszuführen. Die Set-Up-Seite oder Seite 3 wird
durch den POST-Befehlscode oder den Laufzeitbefehlscode zum
Seitenauswahlcode des ersten Teils weitergeführt. Der
Seitenauswahlcode des ersten Teils ist in dem Ablaufdiagramm in
Fig. 4 dargestellt. In ähnlicher Weise kann der POST-
Verarbeitungscode bei normaler Beendigung der Einschalt-
Selbsttest-Logik den Seitenauswahlcode des ersten Teils
ausführen, um das Laufzeit-BIOS der Seite 4 zu aktivieren.
Somit wird der Seitenauswahlcode des ersten Teils wie in Fig. 4
dargestellt ausgeführt, nachdem die Laufzeit-BIOS-Seitennummer
(Seite 4) passiert wurde. Außerdem kann eine bestimmte
alphanumerische Sequenz, wie beispielsweise F1 oder CTRL-ALT-
INS benutzt werden, um die Aktivierung des Seitenauswahlcodes
des ersten Teils auszulösen. Eine solche alphanumerische
Sequenz wird benutzt, um eine Set-Up-Seite aufzurufen. Die
Seitenauswahllogik des ersten Teils und die Auslagerungslogik
des zweiten Teils sind in einem Abschnitt am Ende der
Beschreibung aufgelistet.
In Fig. 4 ist die erfindungsgemäße Seitenauswahllogik des
ersten Teils dargestellt. Wie oben beschrieben, stehen
verschiedene Verfahren zum Aktivieren der in Fig. 4
dargestellten Verarbeitungslogik zur Verfügung. Sobald sie
aktiviert wurde, wird die Logik beginnend am Kreis 400 in Fig.
4 ausgeführt. Im Verarbeitungsblock 401 wird die gewünschte
neue Seite (NEW PAGE) in ein Mehrzweckregister des Prozessors
zur Übertragung an den zweiten Teil der Verarbeitungslogik
geladen. Der zweite Teil der Auslagerungslogik wird im
Verarbeitungsblock 402 über einen Software-Sprung durch
Ausführung eines im Befehlssatz des Prozessors zur Verfügung
stehenden Software-Sprungbefehls (JMP) aktiviert. Ein Software-
Sprungbefehl (JMP) ist allgemein bekannt. Sobald der Software-
Sprung des Verarbeitungsblocks 402 ausgeführt worden ist, wird
die Auslagerungslogik des zweiten Teils ausgeführt beginnend am
Kreis 500 in Fig. 5.
In Fig. 5 ist die erfindungsgemäße Auslagerungslogik des
zweiten Teils dargestellt. In bevorzugten Ausführungsbeispielen
werden zwei Prozeduren (SW_SHADOW_OFF und SW_CACHE_OFF)
zunächst im Verarbeitungsblock 501 und 502 aufgerufen, um die
Möglichkeit mehrfacher Kopien des Befehlscodes der aktuellen
Seite zu sperren. Andere Kopien des Befehlscodes in der
aktuellen Seite können durch den Prozessor in einem
Schattenbereich oder einem CACHE-Bereich gehalten werden.
Mittel zur Freigabe und zum Sperren der Schatten- und CACHE-
Bereiche sind bekannt. Die Nummer der gewünschten Zielseite
wird zur Auslagerungslogik des zweiten Teils über ein internes
Mehrzweckregister des Prozessors durchgeleitet. Diese
Seitennummer wird mit einer maximalen Seitennummer im
Entscheidungsblock 503 verglichen, um zu bestimmen, ob die
angeforderte Seite außerhalb der Grenze der verfügbaren Seiten
ist. Wenn die angeforderte Seite außerhalb der verfügbaren
Grenze ist (Verarbeitungspfad 504), wird die angeforderte Seite
auf Seite 1 gesetzt (Verarbeitungsblock 505), und die Steuerung
wird am Verarbeitungsblock 507 fortgesetzt. Wenn jedoch die
angeforderte Seite innerhalb der Grenzen ist (Verarbeitungspfad
506), so wird die angeforderte Seite nicht modifiziert. Im
Verarbeitungsblock 507 wird das Seitenregister mit der
angeforderten Seite geladen. Diese Aktion initialisiert die
erfindungsgemäße Hardware-Komponente wie zuvor beschrieben.
Sobald das Seitenregister mit dem geeigneten Seitenwert
geladen ist, wird die der neuen Seite zugeordnete
Eintrittspunktadresse von einer Seiteneintrittstabelle im
Verarbeitungsblock 508 gewonnen. Die Steuerung wird dann zu der
neuen Seite an dem geeigneten Eintrittspunkt am Kreis 509
übergeben.
In Fig. 6 ist die Verarbeitungslogik an dem Eintrittspunkt
jeder Seite dargestellt. Diese Verarbeitungslogik führt
verschiedene Seiteninitialisierungsschritte aus, bevor sie die
Steuerung an den aktuellen Eintrittpunkt der Systemsoftware
(TRUE_ENTRY_POINT) im Kreis 606 übergibt. Im Entscheidungsblock
601 wird ein Test ausgeführt, um zu bestimmen, ob die Seite, an
welche die Steuerung übertragen wurde, eine gültige Seite ist.
Ein einen charakteristischen Wert enthaltendes Datenfeld in
jeder Seite wird benutzt, um zu überprüfen, ob die aktive Seite
einen gültigen Befehlscode enthält. Wenn dies nicht der Fall
ist (Verarbeitungspfad 602), wird die Steuerung auf den
Verarbeitungsblock 605 übertragen, in dem eine Fehlerseite in
das angeforderte Seitenregister geladen wird, und die
Auslagerungslogik des zweiten Teils erneut aktiviert, um die
Steuerung an eine Seite zur Verarbeitung des Fehlers zu
übertragen. Wenn dagegen die Seite gültig ist
(Verarbeitungspfad 603), werden die Schattenspeicher- und
Cache-Funktionen in den Verarbeitungsblöcken 604 und 605
freigegeben und die Steuerung an den Eintrittspunkt der System-
Software für die neue Seite übergeben.
In einem alternativen Ausführungsbeispiel der Erfindung
kann die Verarbeitungslogik in einem nicht-flüchtigen Speicher
seitenweise wie oben beschrieben gespeichert sein. Jedoch kann
die Verarbeitungslogik vor ihrer Ausführung von dem nicht-
flüchtigen Speicher in einen RAM zur Ausführung aus dem RAM
heraus kopiert werden. Auf diese Weise kann die nicht-flüchtige
Verarbeitungslogik in dem FLASH-Speicher zurückgehalten werden,
aber als eine in einem nicht in Seiten eingeteilten RAM
ausführbare Logik schneller ausgeführt werden.
In einem anderen alternativen Ausführungsbeispiel der
Erfindung können mehrere unterschiedliche Arten von
Konfigurationsinformationen in unterschiedlichen Seiten des
Flash-Speichers vorgesehen sein. Auf jede dieser Seiten von
Konfigurationsinformationen kann durch Auswahl der geeigneten
Seitennummer zugegriffen werden. Die
Konfigurationsinformationen dieser Art können EISA-
Konfigurationsdaten enthalten. EISA ist eine Erweiterung des
Bus-Protokolls der IBM-PC-Computersysteme. Das EISA-Protokoll
und die zugeordneten Daten sind bekannt.
Bekannte Computersysteme speichern EISA-Konfigurationsdaten
in einem nicht-flüchtigen RAM, wie beispielsweise einem CMOS-
RAM. Diese CMOS-Bauelemente erfordern eine Batterie, um die
Daten zu halten. Mit Hilfe der Erfindung kann ein nicht
flüchtiges Speicherbauelement, wie beispielsweise ein Flash-
Speicher benutzt werden, um EISA-Konfigurationsdaten ohne die
Notwendigkeit eines CMOS-Speichers und der zugeordneten
Batterie zu halten. Die in Fig. 2 dargestellten
Speicherbereiche 307 und/oder 308 der statischen Seite 2 können
zur Speicherung von EISA-Konfigurationsdaten genutzt werden.
Beim Schreiben der EISA-Konfigurationsdaten in den Speicher muß
das System-BIOS modifiziert werden, um den Flash-
Speicherbereich 307 und/oder 308 zu löschen und um EISA-
Konfigurationsdaten in diesen Flash-Bereich und nicht in einen
CMOS-RAM zu speichern. Beim Lesen der EISA-Konfigurationsdaten
aus dem Speicher muß das System-BIOS modifiziert werden, um auf
den Flash-Speicher und nicht auf einen CMOS-RAM zuzugreifen.
Ein Verfahren zur Aktualisierung des Flash-Speichers mit EISA-
Konfigurationsdaten wird unten in Bezug auf Fig. 8
beschrieben. Auf diese Weise kann die Benutzung von CMOS-
Speichern zum Speichern von EISA-Konfigurationsdaten vermieden
werden, ohne dabei die Flexibilität eines konfigurierbaren
EISA-Protokolls zu verlieren. Wenn der CMOS-Speicher zu anderen
Zwecken als der Speicherung von EISA-Konfigurationsdaten
benutzt oder die Entfernung des CMOS nicht gewünscht wird, so
kann der Flash-Speicher als ein nicht-flüchtiger
Sicherungsspeicher für die Inhalte des CMOS dienen. Folglich
kann eine Kopie der Inhalte des CMOS in dem Flash-Speicher
gehalten werden, um eine Wiederherstellung nach einem CMOS-
Batterieausfall zu ermöglichen.
In Fig. 8 ist die Verarbeitungslogik zum Aktualisieren des
Flash-Speichers mit Konfigurationsdaten, wie beispielsweise
EISA-Informationen dargestellt. Für den Fachmann ist es klar,
daß das erfindungsgemäße Verfahren zum Aktualisieren der Konfi
gurationsdaten auch für andere Konfigurationsinformationen be
nutzt werden kann. Die in Fig. 8 gezeigte Verarbeitungslogik
befindet sich im System-BIOS des bevorzugten Ausführungsbei
spiels. Diese Logik wird durch ein EISA-Konfigurations-
Hilfsprogramm, ein anderes Aktualisierungs-Hilfsprogramm für
Konfigurationsdaten, ein Betriebssystem oder andere BIOS-Funk
tionen aktiviert. Die am Block 801 startende Verarbeitungslogik
wird bei Aktivierung eines Software-Interrupts (INT 15) ausge
führt. Die Benutzung eines INT-15-Interrupts ist bekannt. Bei
der Aktivierung der am Block 801 startenden Logik wird ein Pa
rameter eingegeben, der die auszuführende Subfunktionsoperation
anzeigt. Diese Subfunktionsoperationen beinhalten eine "Lösche
nicht-flüchtigen-Speicherblock"-Operation, die den Flash-
Speicherblock der Konfigurationsdaten löscht, und eine
"Schreiben-in-den nicht-flüchtigen-Speicherblock"-Operation,
die zum Programmieren des Flash-Speicherblocks mit neuen Konfi
gurationsdaten benutzt wird.
Nach der Aktivierung der am Block 801 startenden Aktuali
sierungsfunktion für die Konfigurationsdaten des Flash-Spei
chers wird ein Satz von Aktualisierungsfunktionen aus dem
Flash-BIOS-Bereich in einen RAM-Bereich zur Ausführung kopiert
(Verarbeitungsblock 802). Diese Aktualisierungsroutinen werden
im BIOS selbst aufrechterhalten, um hardware-spezifische Opera
tionen an den nicht-flüchtigen Speicher in bestimmten Computer
systemen anzupassen. Die Aktualisierungsroutinen müssen aus dem
BIOS-Flash-Speicher zur Ausführung herauskopiert werden, weil
nicht-flüchtige Speicher nicht geeignet sind, sowohl Lese- als
auch Schreib-Operationen in derselben Ausführungssequenz zu un
terstützen. Wenn eine Schattenspeicherfähigkeit verfügbar ist,
kann die Operation des Kopierens der Aktualisierungs-Hilfspro
gramme aus dem Flash-Speicher in den RAM überflüssig sein. In
gleicher Weise ist die Operation der Freigabe des RAM-Bereichs
(Verarbeitungsblock 811) nicht nötig, wenn ein Schattenspeicher
verfügbar ist.
Sobald die Flash-Aktualisierungsroutinen, sofern nötig, in
den RAM kopiert sind, wird der Entscheidungsblock 803 ausge
führt, um die eingegebene Subfunktionsauswahl zu interpretie
ren. Wenn eine "Löschenicht-flüchtigen-Speicherblock"-Opera
tion ausgewählt wurde (Verarbeitungspfad 805), wird im Verar
beitungsblock 804 eine Routine zum Löschen des Flash-Speicher
blocks ausgeführt. Wenn eine "Schreibe-in-den-nicht-flüchtigen-
Speicherblock"-Operation ausgewählt wurde (Verarbeitungspfad
809), wird im Verarbeitungsblock 808 eine Routine zum Schreiben
in den Flash-Speicherblock ausgeführt, um einschiebbare Infor
mationen in den Flash-Speicherblock für die Konfigurationsdaten
zu schreiben. Wenn ein anderes Kommando ausgewählt wurde
(Verarbeitungspfad 813), wird der für die Aktualisierungsrou
tine zugewiesene RAM freigegeben (Verarbeitungsblock 811), und
die Logik zum Aktualisieren der Konfigurationsdaten endet am
Block 812.
Sobald eine Lösch- oder Schreib-Operation beendet wurde,
werden die gerade aktualisierten Stellen des Konfigurationsda
tenblocks in einem Verwaltungs-Datenbereich aufgezeichnet
(Verarbeitungsblock 810). Da eine zuvor gelöschte Stelle des
Konfigurationsdatenblocks nur einmal beschrieben werden kann,
müssen die Verwaltungs-Daten aufrechterhalten werden, um
sicherzustellen, daß eine bestimmte Stelle nicht mehr als ein
mal beschrieben wird. Wenn die Lösch- oder Schreib-Operation
aufgezeichnet wurde, wird, wenn notwendig, der für die Flash-
Aktualisierungsroutinen reservierte RAM-Bereich im Verarbei
tungsblock 811 freigegeben. Die normale BIOS-Verarbeitung wird
dann am Beendigungsblock 812 wieder aufgenommen. So können Kon
figurationsdaten einschließlich EISA-Informationen in einem Be
reich eines nicht-flüchtigen Speichers gespeichert und aktuali
siert werden.
In der gleichen Weise, wie EISA-Konfigurationsdaten in dem
Flash-Speicher gehalten werden, können andere Informationsar
ten, Verarbeitungslogik oder Daten in dem nicht-flüchtigen
Speicher gesichert werden. Diese anderen Informationsarten sind
beispielsweise andere Busprotokollinformationen, Netzwerkinfor
mationen und/oder Computersystemindentifikationsnummern. Ver
schiedene Typen von Identifikationsnummern müssen für individu
elle Computersysteme zurückgehalten werden. Eine dieser Nummern
ist die Ethernet-Adresse. Ethernet ist eine bekannte Netz
werkarchitektur und ein Protokoll, für welches eine einmalige
Netzwerkadresse in jedem Computersystem gespeichert werden muß.
Bei bekannten Systemen ist eine einmalige Hardware-Baugruppe in
jedem Computer installiert, die die Ethernet-Adresse für dieses
System enthält. Wie in Fig. 2 gezeigt, kann die einmalige Eh
ternet-Adresse in einer Seite des Flash-Speichers, wie bei
spielsweise dem Bereich 306 der statischen Seite 2, ohne die
Notwendigkeit einer einmaligen Hardware gespeichert werden. Der
geschützte Bereich 306 der statischen Seite 2 kann nicht ge
löscht oder verändert werden, wenn das Gerät einmal installiert
wurde; folglich kann die Ethernet-Adresse nicht zerstört wer
den. In ähnlicher Weise können andere Computersystemidentifika
tionsnummern, wie beispielsweise einmalige Seriennummern, Lei
terplattenbaugruppennummern oder Lizenznummern des Betriebssy
stems in einem Bereich des Flash-Speichers gespeichert werden.
Claims (15)
1. Speicherseitenwechselsystem in einem Computersystem
mit einem Prozessor (101) und einem nicht-flüchtigen Spei
cher (103) und
mit einer mit dem Prozessor (101) gekoppelten Seitenaus wahleinrichtung (214) zum Auswählen einer Seite aus einer Mehrzahl von Seiten (301-304) in dem nicht-flüchtigen Spei cher (103) und
einem mit der Seitenauswahleinrichtung (214) und dem Prozessor (101) gekoppelten Seitendecodierer (217) zum Emp fangen von an den nicht-flüchtigen Speicher gerichteten Adreßsignalen und zum Modifizieren der Adreßsignale zum Zu greifen auf die ausgewählte Seite, dadurch gekennzeichnet, daß eine Seitenwechsel-Verarbeitungslogik (315, 310, 312) in jeder auslagerbaren Seite (301, 303, 304) der Mehrzahl von Seiten des nicht-flüchtigen Speichers (103) abarbeitbar und durch den Prozessor (101) ausführbar angeordnet ist, wobei die Seitenwechsel-Verarbeitungslogik (315, 310, 312) zum Frei geben der Seitenauswahleinrichtung derart, daß ein Zugriff auf die ausgewählte Seite durch den Prozessor gestattet wird, und zum Steuern eines Prozessor-Zugriffs innerhalb der ausgewählten Seite dient, und wobei die Seitenwechsel-Verar beitungslogik innerhalb jeder auslagerbaren Seite (301, 303, 304) an einer relativ zu dieser Seite festen Adresse angeordnet ist.
mit einer mit dem Prozessor (101) gekoppelten Seitenaus wahleinrichtung (214) zum Auswählen einer Seite aus einer Mehrzahl von Seiten (301-304) in dem nicht-flüchtigen Spei cher (103) und
einem mit der Seitenauswahleinrichtung (214) und dem Prozessor (101) gekoppelten Seitendecodierer (217) zum Emp fangen von an den nicht-flüchtigen Speicher gerichteten Adreßsignalen und zum Modifizieren der Adreßsignale zum Zu greifen auf die ausgewählte Seite, dadurch gekennzeichnet, daß eine Seitenwechsel-Verarbeitungslogik (315, 310, 312) in jeder auslagerbaren Seite (301, 303, 304) der Mehrzahl von Seiten des nicht-flüchtigen Speichers (103) abarbeitbar und durch den Prozessor (101) ausführbar angeordnet ist, wobei die Seitenwechsel-Verarbeitungslogik (315, 310, 312) zum Frei geben der Seitenauswahleinrichtung derart, daß ein Zugriff auf die ausgewählte Seite durch den Prozessor gestattet wird, und zum Steuern eines Prozessor-Zugriffs innerhalb der ausgewählten Seite dient, und wobei die Seitenwechsel-Verar beitungslogik innerhalb jeder auslagerbaren Seite (301, 303, 304) an einer relativ zu dieser Seite festen Adresse angeordnet ist.
2. Speicherseitenwechselsystem nach Anspruch 1, dadurch
gekennzeichnet, daß wenigstens eine Seite (302) der Mehrzahl
von Seiten in dem nicht-flüchtigen Speicher (103) nicht aus
lagerbar ist und keine Seitenwechsel-Verarbeitungslogik ent
hält.
3. Speicherseitenwechselsystem nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß die Seitenwechsel-Verarbeitungs
logik eine auf eine Kommandoeingabe von einer mit dem Pro
zessor (101) gekoppelten Eingabeeinrichtung (104) anspre
chende Verarbeitungslogik enthält, wobei die Kommandoeingabe
eine Seitenauswahl anzeigt.
4. Speicherseitenwechselsystem nach einem der Ansprüche
1 bis 3, dadurch gekennzeichnet, daß wenigstens eine Seite
der Mehrzahl von Seiten Konfigurationsinformationen enthält.
5. Speicherseitenwechselsystem nach einem der Ansprüche
1 bis 4, dadurch gekennzeichnet, daß zumindest eine der Sei
ten Konfigurationsinformationen eines mit dem Mikroprozessor
(101) gekoppelten Bussystems (100), beispielsweise Informa
tionen über ein EISA-System, enthält.
6. Speicherseitenwechselsystem nach einem der Ansprüche
1 bis 5, dadurch gekennzeichnet, daß zumindest eine der Sei
ten eine Seriennummer enthält.
7. Speicherseitenwechselsystem nach einem der Ansprüche
1 bis 6, dadurch gekennzeichnet, daß der nicht-flüchtige
Speicher (103) eine Flash-Speichereinrichtung umfaßt.
8. Speicherseitenwechselsystem nach einem der Ansprüche
1 bis 7, dadurch gekennzeichnet, daß die Seitenauswahlein
richtung ein programmierbares Seitenregister (214) ist.
9. Speicherseitenwechselsystem nach einem der Ansprüche
1 bis 8, dadurch gekennzeichnet, daß der Seitendecodierer
(217) ein Teil der höher bewerteten Bits des Adreßsignals
empfängt und diese durch andere, der ausgewählten Seite ent
sprechende Bits ersetzt.
10. Speicherseitenwechselsystem nach einem der Ansprüche
1 bis 9, dadurch gekennzeichnet, daß der nicht-flüchtige
Speicher Seiten mit einer BIOS-Verarbeitungslogik enthält.
11. Speicherseitenwechselsystem nach einem der Ansprüche
1 bis 10, dadurch gekennzeichnet, daß der nicht-flüchtige
Speicher (103) programmierbar ist.
12. Speicherseitenwechselsystem nach Anspruch 11, da
durch gekennzeichnet, daß in der ausgewählten Seite Verar
beitungslogik zum Ändern des Inhalts des programmierbaren
nicht-flüchtigen Speichers (103) enthalten ist.
13. Verfahren für einen Seitenwechsel in einem nicht-
flüchtigen Speicher (103) eines Computersystems mit einem
Prozessor (101), wobei
eine einem Bereich in dem nicht-flüchtigen Speicher ent sprechende Seite des nicht-flüchtigen Speichers ausgewählt wird, wobei die Seite als auslagerbare oder als nicht-ausla gerbare Seite vordefiniert wurde,
von dem Prozessor an den nicht-flüchigen Speicher ge richtete Adreßsignale empfangen werden,
die Adreßsignale für ein Zugreifen auf eine ausgewählte auslagerbare Seite modifiziert werden, indem eine vorgege bene Anzahl der empfangenen Adreßsignale durch einen Adreß wert der ausgewählten Seite ersetzt werden, wobei beim Modi fizieren auf Auslagerungslogik zum Steuern eines Zugriffs auf die ausgewählte Seite zugegriffen wird, wobei die Ausla gerungslogik innerhalb der ausgewählten Seite angeordnet ist, und
die Modifikation des Adreßsignals verhindert wird, wenn eine nicht-auslagerbare Seite ausgewählt wurde.
eine einem Bereich in dem nicht-flüchtigen Speicher ent sprechende Seite des nicht-flüchtigen Speichers ausgewählt wird, wobei die Seite als auslagerbare oder als nicht-ausla gerbare Seite vordefiniert wurde,
von dem Prozessor an den nicht-flüchigen Speicher ge richtete Adreßsignale empfangen werden,
die Adreßsignale für ein Zugreifen auf eine ausgewählte auslagerbare Seite modifiziert werden, indem eine vorgege bene Anzahl der empfangenen Adreßsignale durch einen Adreß wert der ausgewählten Seite ersetzt werden, wobei beim Modi fizieren auf Auslagerungslogik zum Steuern eines Zugriffs auf die ausgewählte Seite zugegriffen wird, wobei die Ausla gerungslogik innerhalb der ausgewählten Seite angeordnet ist, und
die Modifikation des Adreßsignals verhindert wird, wenn eine nicht-auslagerbare Seite ausgewählt wurde.
14. Verfahren nach Anspruch 13, dadurch gekennzeichnet,
daß der Inhalt einer Seite des nicht-flüchtigen Speichers
unter Verwendung einer Aktualisierungsverarbeitungslogik
aktualisiert wird, wobei die Aktualisierungsverarbeitungslo
gik in dem nicht-flüchtigen Speicher gespeichert wurde und
wobei der aktualisierte Inhalt der Seite bei einem Abschal
ten des nicht-flüchtigen Speichers erhalten bleibt.
15. Verfahren nach Anspruch 13 oder 14, dadurch gekenn
zeichnet, daß beim Auswählen einer Seite des nichtflüchti
gen Speichers ein programmierbares Seitenregister geladen
wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US69831891A | 1991-05-10 | 1991-05-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4215063A1 DE4215063A1 (de) | 1992-11-12 |
DE4215063C2 true DE4215063C2 (de) | 1999-11-25 |
Family
ID=24804755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4215063A Expired - Fee Related DE4215063C2 (de) | 1991-05-10 | 1992-05-07 | Einrichtung und Verfahren zum Seitenwechsel bei einem nicht-flüchtigen Speicher |
Country Status (3)
Country | Link |
---|---|
US (2) | US5371876A (de) |
JP (1) | JPH05165706A (de) |
DE (1) | DE4215063C2 (de) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1254937B (it) * | 1991-05-06 | 1995-10-11 | Aggiornamento dinamico di memoria non volatile in un sistema informatico | |
US6230233B1 (en) | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US5519843A (en) * | 1993-03-15 | 1996-05-21 | M-Systems | Flash memory system providing both BIOS and user storage capability |
US5388083A (en) * | 1993-03-26 | 1995-02-07 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
JPH07114497A (ja) * | 1993-10-14 | 1995-05-02 | Hitachi Ltd | 半導体集積回路装置 |
US6002856A (en) * | 1993-10-14 | 1999-12-14 | Hitachi, Ltd. | Semiconductor integrated circuit device |
US5577221A (en) * | 1994-04-14 | 1996-11-19 | Industrial Technology Research Institute | Method and device for expanding ROM capacity |
KR0172001B1 (ko) * | 1995-12-05 | 1999-03-30 | 윤종용 | 바이오스 메모리의 재프로그램 장치 및 그 방법 |
US5822581A (en) * | 1995-09-29 | 1998-10-13 | Intel Corporation | Method for CMOS configuration information storage and retrieval in flash |
FR2740237B1 (fr) * | 1995-10-18 | 1997-11-14 | Schlumberger Ind Sa | Composant electronique a memoire synchronisee |
US5867641A (en) * | 1995-10-27 | 1999-02-02 | Scm Microsystems (U.S.) Inc. | Flash translation layer cleanup system and method |
US5829013A (en) | 1995-12-26 | 1998-10-27 | Intel Corporation | Memory manager to allow non-volatile memory to be used to supplement main memory |
GB9606928D0 (en) * | 1996-04-02 | 1996-06-05 | Memory Corp Plc | Memory devices |
US5860139A (en) * | 1996-06-11 | 1999-01-12 | Data General Corporation | BIOS memory address decoder for providing an extended BIOS memory address space by reclaiming a portion of non-BIOS address space |
US5930504A (en) * | 1996-07-22 | 1999-07-27 | Intel Corporation | Dynamic nonvolatile memory update in a computer system |
GB2317720A (en) * | 1996-09-30 | 1998-04-01 | Nokia Mobile Phones Ltd | Managing Flash memory |
GB2317721B (en) * | 1996-09-30 | 2001-09-12 | Nokia Mobile Phones Ltd | Memory device |
US5938764A (en) * | 1996-10-23 | 1999-08-17 | Micron Electronics, Inc. | Apparatus for improved storage of computer system configuration information |
US5826074A (en) * | 1996-11-22 | 1998-10-20 | S3 Incorporated | Extenstion of 32-bit architecture for 64-bit addressing with shared super-page register |
JPH10154101A (ja) * | 1996-11-26 | 1998-06-09 | Toshiba Corp | データ記憶システム及び同システムに適用するキャッシュ制御方法 |
US6311290B1 (en) | 1997-02-14 | 2001-10-30 | Intel Corporation | Methods of reliably allocating, de-allocating, re-allocating, and reclaiming objects in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
US6182188B1 (en) * | 1997-04-06 | 2001-01-30 | Intel Corporation | Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
US5987581A (en) * | 1997-04-02 | 1999-11-16 | Intel Corporation | Configurable address line inverter for remapping memory |
US6088759A (en) | 1997-04-06 | 2000-07-11 | Intel Corporation | Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
US6748524B1 (en) | 1997-04-30 | 2004-06-08 | Gateway, Inc. | Display and recordation of non-volatile memory changes |
KR100506268B1 (ko) * | 1997-08-30 | 2005-09-30 | 삼성전자주식회사 | 플래시 메모리를 제어하는 회로 |
US6438687B2 (en) | 1997-10-30 | 2002-08-20 | Micron Technology, Inc. | Method and apparatus for improved storage of computer system configuration information |
US6119226A (en) * | 1998-01-06 | 2000-09-12 | Macronix International Co., Ltd. | Memory supporting multiple address protocols |
US6272576B1 (en) | 1998-01-20 | 2001-08-07 | Micron Technology, Inc. | Method for extending the available number of configuration registers |
US6058463A (en) * | 1998-01-20 | 2000-05-02 | Motorola, Inc. | Paged memory data processing system with overlaid memory control registers |
US6108733A (en) * | 1998-01-20 | 2000-08-22 | Micron Technology, Inc. | Method for extending the available number of configuration registers |
US6243775B1 (en) | 1998-01-20 | 2001-06-05 | Micron Technology, Inc. | System for extending the available number of configuration registers |
US6040997A (en) * | 1998-03-25 | 2000-03-21 | Lexar Media, Inc. | Flash memory leveling architecture having no external latch |
IL124571A0 (en) * | 1998-05-21 | 1998-12-06 | Miki Mullor | Method of restricting software operation within a licensed limitation |
US6205548B1 (en) * | 1998-07-31 | 2001-03-20 | Intel Corporation | Methods and apparatus for updating a nonvolatile memory |
US6282647B1 (en) * | 1999-06-02 | 2001-08-28 | Adaptec, Inc. | Method for flashing a read only memory (ROM) chip of a host adapter with updated option ROM bios code |
US6374338B1 (en) * | 1999-06-25 | 2002-04-16 | International Business Machines Corporation | Method for performing configuration tasks prior to and including memory configuration within a processor-based system |
US6775757B1 (en) * | 1999-12-14 | 2004-08-10 | Genesis Microchip Inc. | Multi-component processor |
US20020071560A1 (en) * | 2000-12-12 | 2002-06-13 | Kurn David Michael | Computer system having an autonomous process for centralized cryptographic key administration |
US6832301B2 (en) * | 2001-09-11 | 2004-12-14 | International Business Machines Corporation | Method for recovering memory |
US7234052B2 (en) * | 2002-03-08 | 2007-06-19 | Samsung Electronics Co., Ltd | System boot using NAND flash memory and method thereof |
US7305668B2 (en) * | 2002-07-31 | 2007-12-04 | Intel Corporation | Secure method to perform computer system firmware updates |
JP4518951B2 (ja) * | 2002-10-28 | 2010-08-04 | サンディスク コーポレイション | 不揮発性記憶システムにおける自動損耗均等化 |
TWI266240B (en) * | 2003-05-20 | 2006-11-11 | Via Tech Inc | A method preventing to re-write MAC address of DMI's peripheral devices |
US7424603B2 (en) * | 2003-12-18 | 2008-09-09 | Intel Corporation | Method and apparatus to store initialization and configuration information |
US10013536B2 (en) * | 2007-11-06 | 2018-07-03 | The Mathworks, Inc. | License activation and management |
TW201236018A (en) * | 2011-02-25 | 2012-09-01 | Wistron Corp | Memory initialization method and serial peripheral interface using the same |
US9201810B2 (en) | 2012-01-26 | 2015-12-01 | Microsoft Technology Licensing, Llc | Memory page eviction priority in mobile computing devices |
CN109871001B (zh) * | 2019-03-06 | 2023-04-18 | 普华基础软件股份有限公司 | 一种对发动机大数据量标定的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4443847A (en) * | 1981-02-05 | 1984-04-17 | International Business Machines Corporation | Page addressing mechanism |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4298949A (en) * | 1976-08-16 | 1981-11-03 | Texas Instruments Incorporated | Electronic calculator system having high order math capability |
US4290104A (en) * | 1979-01-02 | 1981-09-15 | Honeywell Information Systems Inc. | Computer system having a paging apparatus for mapping virtual addresses to real addresses for a memory of a multiline communications controller |
US4374417A (en) * | 1981-02-05 | 1983-02-15 | International Business Machines Corp. | Method for using page addressing mechanism |
US4441155A (en) * | 1981-11-23 | 1984-04-03 | International Business Machines Corporation | Page controlled cache directory addressing |
US4608632A (en) * | 1983-08-12 | 1986-08-26 | International Business Machines Corporation | Memory paging system in a microcomputer |
US4799145A (en) * | 1985-04-03 | 1989-01-17 | Honeywell Bull Inc. | Facility for passing data used by one operating system to a replacement operating system |
CA1242809A (en) * | 1985-12-20 | 1988-10-04 | Mitel Corporation | Data storage system |
US4763333A (en) * | 1986-08-08 | 1988-08-09 | Universal Vectors Corporation | Work-saving system for preventing loss in a computer due to power interruption |
US4831522A (en) * | 1987-02-17 | 1989-05-16 | Microlytics, Inc. | Circuit and method for page addressing read only memory |
US4862349A (en) * | 1987-10-19 | 1989-08-29 | International Business Machines Corporation | Method for extracting and/or replacing control system information in a computer operating system |
US5053990A (en) * | 1988-02-17 | 1991-10-01 | Intel Corporation | Program/erase selection for flash memory |
GB8825764D0 (en) * | 1988-11-03 | 1988-12-07 | Lucas Ind Plc | Computer memory addressing system |
US5142680A (en) * | 1989-04-26 | 1992-08-25 | Sun Microsystems, Inc. | Method for loading an operating system through a network |
US5136713A (en) * | 1989-08-25 | 1992-08-04 | International Business Machines Corporation | Apparatus and method for decreasing the memory requirements for bios in a personal computer system |
US5210875A (en) * | 1989-08-25 | 1993-05-11 | International Business Machines Corporation | Initial bios load for a personal computer system |
US5126808A (en) * | 1989-10-23 | 1992-06-30 | Advanced Micro Devices, Inc. | Flash EEPROM array with paged erase architecture |
US5134580A (en) * | 1990-03-22 | 1992-07-28 | International Business Machines Corporation | Computer with capability to automatically initialize in a first operating system of choice and reinitialize in a second operating system without computer shutdown |
-
1992
- 1992-05-07 DE DE4215063A patent/DE4215063C2/de not_active Expired - Fee Related
- 1992-05-11 JP JP4143753A patent/JPH05165706A/ja active Pending
-
1993
- 1993-10-14 US US08/137,376 patent/US5371876A/en not_active Expired - Lifetime
-
1994
- 1994-08-26 US US08/279,692 patent/US5479639A/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4443847A (en) * | 1981-02-05 | 1984-04-17 | International Business Machines Corporation | Page addressing mechanism |
Non-Patent Citations (1)
Title |
---|
DE-Z: c't, Heft 4, April 1987, S. 130, 132-135 * |
Also Published As
Publication number | Publication date |
---|---|
US5479639A (en) | 1995-12-26 |
US5371876A (en) | 1994-12-06 |
DE4215063A1 (de) | 1992-11-12 |
JPH05165706A (ja) | 1993-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4215063C2 (de) | Einrichtung und Verfahren zum Seitenwechsel bei einem nicht-flüchtigen Speicher | |
DE69521113T2 (de) | Vorrichtung und Verfahren zur Stromversorgungsausfallbeständige Aktualisierung eines Flash-EEPROM-Speichers | |
DE69803304T2 (de) | Hardwareunterstütztes verfahren zum kontextwechsel | |
DE3689961T2 (de) | Verfahren zur Verarbeitung von Unterbrechungen in einem digitalen Rechnersystem. | |
DE69227774T2 (de) | Speicherverwaltungsverfahren | |
DE3786660T2 (de) | Computersystem mit einer CPU mit zwei gegenseitig inkompatiblen Adressiermoden. | |
DE10085013B3 (de) | Anordnen von in nicht-flüchtigen wiederprogrammierbaren Halbleiterspeichern gespeicherten Informationen | |
DE69723286T2 (de) | Echtzeitprogramm-sprachbeschleuniger | |
DE10085374B4 (de) | Systemmanagementspeicher für die Systemmanagement-Interrupt-Behandler wird in die Speichersteuereinrichtung integriert, unabhängig vom BIOS und Betriebssystem | |
DE4312250B4 (de) | Computer-System, das zum Betrieb sowohl in einer ersten wie auch in einer zweiten Bytereihenfolge-Betriebsart fähig ist, sowie ein Verfahren zum Booten eines solchen Computer-Systems | |
DE4331703C2 (de) | Elektronische Einrichtung | |
DE4214184A1 (de) | Computersystem mit einem nicht-fluechtigen speicher und verfahren zu dessen aktualisierung | |
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE3131341A1 (de) | "pufferspeicherorganisation" | |
DE68923433T2 (de) | Einrichtung und Methode um Festwertspeicher in einem Rechnerspeicherbereich anzuordnen. | |
DE2515696A1 (de) | Anordnung zum selektiven loeschen von teilen beziehungsweise zum ersatz von daten in einem cache-speicher | |
DE68924719T2 (de) | Vorrichtung und Verfahren zur Ausführung eines Unterprogramms in einem Datenverarbeitungssystem mit Blockumschaltung. | |
DE68929080T2 (de) | Anordnung zum Speichern von Informationen für einen Datenanbieterprozessor | |
DE69816775T2 (de) | Vorrichtung zur datenverarbeitung mit stapelstruktur | |
DE69524379T2 (de) | Verarbeitungssystem mit ausgerichtetem wortverzweigungsziel | |
DE2744359C2 (de) | ||
WO2002019264A1 (de) | Verfahren zur virtuellen vergrösserung des stacks eines tragbaren datenträgers | |
DE68922521T2 (de) | Sekundärprozessorinitialisierungssystem. | |
DE68925376T2 (de) | In Direktabbildung und in Bankabbildung wirksamer Informationsprozessor und Verfahren zum Schalten der Abbildungsschemas | |
DE4238099A1 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |