DE3909896C2 - - Google Patents
Info
- Publication number
- DE3909896C2 DE3909896C2 DE3909896A DE3909896A DE3909896C2 DE 3909896 C2 DE3909896 C2 DE 3909896C2 DE 3909896 A DE3909896 A DE 3909896A DE 3909896 A DE3909896 A DE 3909896A DE 3909896 C2 DE3909896 C2 DE 3909896C2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- data
- address
- bus
- page
- 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 - Lifetime
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
-
- 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/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1018—Serial bit line access mode, e.g. using bit line address shift registers, bit line address counters, bit line burst counters
- G11C7/1021—Page serial bit line access mode, i.e. using an enabled row address stroke pulse with its associated word line address and a sequence of enabled column address stroke pulses each with its associated bit line address
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Dram (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
- Memory System (AREA)
- Radar Systems Or Details Thereof (AREA)
- Bus Control (AREA)
Description
Die Erfindung bezieht sich auf ein Verfahren nach dem
Oberbegriff des Patentanspruchs 1. Insbesondere
bezieht sich die Erfindung auf in Computersystemen
verwendete Speicher und auf den Zugriff zu Daten, die
in derartigen Speichern gespeichert sind.
Der Gegenstand des Patentanspruchs 1 geht in seinem
Oberbegriff von einem Stand der Technik aus, wie er
beispielsweise aus der US-Zeitschrift "Computer
Design" vom 01. Nov. 1985, Seiten 69 bis 74 oder der
Firmenschrift der Siemens AG, Datenblatt HYB 514 256
vom März 1988, insbesondere Seite 439 bekannt ist.
Die Ansprüche an Computersysteme, noch größere
Verarbeitungsgeschwindigkeiten, erhöhte tatsächliche
Verarbeitungsleistungen und größere Gesamtleistungen zu
erreichen, steigen. Eine Entwicklung bestand darin, die
Taktfrequenz der Zentraleinheit (CPU) des Computers zu
erhöhen. Daraus ergibt sich natürlich eine größere
Anzahl von pro Zeiteinheit verarbeiteten Instruktionen.
Jedoch muß mit der Erhöhung der Taktfrequenz die
Zugriffszeit in Verbindung mit Speichern irgendwie
entsprechend gekürzt werden, um den gesamten Vorteil
der Taktfrequenzerhöhung zu erhalten. Andernfalls
stellt die Zugriffszeit in Verbindung mit dem Lesen von
Daten aus dem Speicher einen wesentlichen beschränkenden
Faktor dar, der die tatsächliche Leistung der CPU
einschränkt.
Ein Weg, die tatsächliche, für das Lesen von Daten aus
dem Speicher erforderliche Zugriffszeit zu verringern,
ist die Verwendung von Seitenspeichern. Dies bedeutet,
daß der Speicher in eine Vielzahl von Seiten aufgeteilt
ist, wobei jede Seite aus Zeilen besteht, die eine
gemeinsame Zeilenadresse für jede Zeile besitzen. Jede
Zeile einer Seite enthält eine Vielzahl von Spalten,
die entsprechende Spaltenadressen haben. Für den
Zugriff auf einen bestimmten, in einem solchen
Seitenspeicher gespeicherten Datensatz wird der
Speicher mit der Zeilenadresse dieser Daten versorgt,
um dadurch die Auswahl derjenigen Seite in dem Speicher
zu ermöglichen, wo sich die Daten befinden. Danach
wird der Speicher mit der zu den Daten gehörigen
Spaltenadresse versorgt, um dadurch die Auswahl des
bestimmten Datensatzes innerhalb der adressierten Zeile
oder Seite zu ermöglichen. Normalerweise werden dann
die adressierten Daten auf den Datenbus ausgelesen. Ein
Beispiel für einen Seitenspeicher ist in dem IBM
Personal System/2, Modell 80-Rechner vorhanden.
(Personal System/2 ist ein Warenzeichen der International
Business Machines Corporation.) Ein vereinfachtes
Blockschaltbild, das ein Computersystem mit einem
solchen Seitenspeicher allgemein darstellt, ist in der
Fig. 1 als System 10 gezeigt. Das System 10 enthält
eine Zentraleinheit (CPU) 20 oder einen Mikroprozessor,
an den ein Adreßbus 30 und ein Datenbus 40 angeschlossen
sind. Das System 10 enthält desweiteren eine Speicher
verwaltung 40, an die der Adreßbus 30 und der Datenbus
40 angeschlossen sind. Ein Steuerbus 60 ist derart
zwischen die CPU 20 und die Speicherverwaltung 50
geschaltet, daß Steuersignale in beide Richtungen
zugeführt werden können. Die Speicherverwaltung 50 ist
an wenigstens eine Speichereinheit 70 angeschlossen,
die aus einem Speicher mit wahlfreiem Zugriff (RAM)
besteht. Im vorliegenden Beispiel ist die Speicher
einheit 70 in Seiten unterteilt, die 2K Bytes lang sind
(512×32 plus parity), wobei jede Seite per Definition
dieselbe Zeilenadresse besitzt. Jede Seite enthält
somit 2 K Spaltenadressen. Ein Datenbus 80 ist zwischen
die Speicherverwaltung 50 und die Speichereinheit 70
geschaltet, um den Datentransfer zwischen diesen
Elementen zu ermöglichen.
Ein Multiplex-(HUX)-Adreßbus 90 ist derart zwischen
die Speicherverwaltung 50 und die Speichereinheit 70
geschaltet, daß Reihen- und Spalten-Adreß-Informationen
von der Speicherverwaltung 50 zu der Speichereinheit 70
zugeführt werden können. Aufgrund seiner Multiplex-
Eigenschaft, bei der die Speichereinheit 70 innerhalb
eines Speicherzugriffszyklusses zuerst mit einer Zeilen-
oder Seitenadresse versorgt wird, und erst danach,
später in dem Zyklus, eine Spaltenadresse der
Speichereinheit 70 zugeführt wird, weist der Multiplex-
Adreßbus 90 weniger Leitungen auf als der Adreßbus
30. Die Speicherverwaltung 50 versorgt die Speicherein
heit 70 mit Zeilenadreß-Impulssignalen (RAS) und
Spaltenadreß-Impulssignalen (CAS), wie dies aus der
Fig. 1 zu entnehmen ist. Das Wesen der RAS- und CAS-
Signale ist anhand der folgenden Erläuterungen zu dem
Zeitdiagramm der Fig. 2 beschrieben.
Fig. 2 zeigt ein Zeitdiagramm eines typischen Speicher
zyklusses in Verbindung mit dem Computersystem 10. Für
den Zweck dieses Beispiels wird angenommen, daß die
CPU 20 auf einen ersten Datensatz in einer vorgegebenen
Datenadresse im Speicher 70 zugreifen oder diesen ab
fragen will. Für den tatsächlichen Zugriff auf diese
Information führt die CPU 20 die Datenadresse der
Speicherverwaltung 50 zu. Die Speicherverwaltung 50
teilt die Datenadresse in zwei Bestandteile auf, näm
lich in die Zeilenadresse (auch bekannt als Seitenadresse)
und die Spaltenadresse. Die Zeilenadresse und die
Spaltenadresse werden nacheinander dem Multiplex-
Adreßbus 90 zugeführt. Dies bedeutet, daß die Zeilen
adresse zuerst bei 100 diesem MUX-Adreßbus zugeführt
wird. Das RAS-Signal ist ursprünglich "high" oder
"off". Es sei angemerkt, daß aufgrund der verwendeten
negativen Logik in dem Zeitdiagramm der Fig. 2 "high"
einem "off"-Zustand zugeordnet ist und "low" einem
"on"-Zustand. Das RAS-Signal geht bei 105 zu "on"
über, um dadurch den momentan dem Multiplex-Adreßbus
90 zugeführten Zeilenadreßbestandteil auszuwählen. Auf
diese Weise wählt die Speichereinheit 70 die bestimmte
Seite (Zeile) aus, in der die adressierten Daten
gespeichert sind. RAS verbleibt "on" während der Dauer
des ersten Speicherzyklusses und des folgenden zweiten
Speicherzyklusses.
Nachdem RAS "on" ist und die Zeilenadresse im ersten
Speicherzyklus ausgewählt ist, wird der Multiplex-
Adreßbus 90 bei 110 mit dem Spaltenadreßbestandteil
der gewünschten Daten versorgt. Das CAS-Signal wird
dann bei 115 nach "on" überführt, um dadurch den momentan
dem Multiplex-Adreßbus 90 zugeführten Spaltenadreß
bestandteil auszuwählen. In diesem Zeitpunkt ist die
Adresse vollständig, da beide, der zu den gewünschten
Daten entsprechende Zeilen- und Spaltenadreßbestandteil,
der Speichereinheit 70 zugeführt worden sind. Die
Speichereinheit 70 greift danach auf die derart
adressierten Daten zu und führt diese Daten dem
Speicher-Datenbus 80 zu. Die Daten auf dem Speicher-
Datenbus 80 werden nach einer vorgegebenen Zeitver
zögerung (TD), die nach der Vervollständigung und der
Auswahl der Adresse bei 115 auftritt, bei 120 gültig.
Der Mikroprozessor 20 übernimmt dann die adressierten
Daten von dem Datenbus 40 der Fig. 1. In Fachkreisen
wird der Ausdruck TCAS dazu verwendet, die Zeitver
zögerung zu bezeichnen zwischen dem Zeitpunkt, an dem
CAS aktiv wird, und dem Zeitpunkt, an dem die Daten auf
dem Speicher-Datenbus 80 gültig werden. Der Ausdruck
TRAS gehört zu der Zeitverzögerung zwischen dem
Zeitpunkt, an dem RAS aktiv wird, und dem Zeitpunkt,
an dem die Daten gültig werden. Allgemeiner wird TRAS
als "Zugriffszeit" bezeichnet, die von einer bestimmten
Speichereinrichtung erreicht wird. Beispielsweise er
reicht eine Speichereinrichtung mit einer Zugriffszeit
von 80 Nanosekunden ein TRAS von 80 Nanosekunden.
Für den Zweck dieses Beispiels wird angenommen, daß auf
einen zweiten Datensatz in der Speichereinheit 70 zuge
griffen werden soll, der sich in derselben Seite oder
Zeile wie der obige erste Datensatz befindet. In Fach
kreisen wird der Ausdruck "pipelining" dazu verwendet,
die Art und Weise zu beschreiben, mit der die Adresse,
beispielsweise der Spaltenadreßbestandteil vor dem Ende
des derzeitigen Speicherzyklusses geändert wird zur Vor
bereitung des nächsten Speicherzyklusses. "Pipelining"
spart Zeit ein, da es den adreßdecodierenden Schaltungen
in der Speicherverwaltung 50 erlaubt, früher die Adreß
verarbeitung zu beginnen als es ansonsten möglich wäre.
Ein Beispiel für ein derartiges "Pipelining" ist der
Fig. 2 zu entnehmen, wo, nachdem die Daten bei 120 gültig
geworden sind und bevor der erste Speicherzyklus bei 125
beendet ist, die Spaltenadresse bei 130 zur neuen Spal
tenadresse geändert wird, welche zu dem zweiten Datensatz
gehört. Da der zweite Datensatz, auf den im zweiten Spei
cherzyklus zugegriffen werden soll, sich in derselben Seite
befindet wie die Daten, auf die im ersten Speicherzyklus
zugegriffen worden ist, ändert sich bei 130 nur der Spalten
adreßbestandteil, während der Zeilenadreßbestandteil der
selbe bleibt. Diese Situation wird "page hit" bezeichnet.
Da es nicht notwendig ist, im Falle eines "page hit" den
Zeilenadreßbestandteil nochmals zur Speichereinheit 70 zu
zuführen, kann in einer Anordnung mit Seitenspeicherung
wertvolle Zeit eingespart werden.
Bevor die Speichereinheit 70 die nunmehr auf dem Multiplex-
Adreßbus 90 anliegende Spaltenadreß-Information auswäh
len und tatsächlich verwenden kann, ist es erforderlich,
das CAS-Signal für eine vorgegebene Zeitdauer "off" zu
schalten, was als CAS-Aufladung 135 bezeichnet ist. In
Fachkreisen wird die CAS-Aufladungszeit mit TCRP gekenn
zeichnet. Für eine Speichereinrichtung mit einer Zugriffs
zeit von 80 Nanosekunden wären 15 Nanosekunden ein typischer
Wert für TCRP. Nachdem die CAS-Aufladung beendet ist, wird
CAS bei 140 wieder nach "on" überführt, so daß der Spalten
adreßbestandteil des zweiten Datensatzes von der Speicher
einheit 70 ausgewählt wird. Auf diese Weise ist die Adresse
des zweiten Datensatzes vollständig, und die Daten werden
nach einer vorgegebenen Zeitverzögerung (TD) nach der Ver
vollständigung und der Auswahl der Adresse bei 140, bei 145
auf dem Speicher-Adreßbus 80 gültig. Der Mikroprozessor 20
übernimmt dann die adressierten Daten von dem Datenbus 40
der Fig. 1. Der zweite Speicherzyklus endet bei 150.
Für die Zwecke dieses Beispiels wird angenommen, daß auf
einen dritten Datensatz, der sich in einer anderen Seite
oder Zeile als der erste und der zweite Datensatz befindet,
in einem dritten Speicherzyklus zugegriffen wird, der bei
150 beginnt und von dem ein Teil in der Fig. 2 dargestellt
ist. Diese Situation wird als "page miss" bezeichnet. Dies
bedeutet, daß ein neuer, zu dem Speicherort des dritten
Datensatzes gehörender Zeilenadreßbestandteil der Spei
chereinheit 70 zugeführt werden muß. Dieser neue Zeilen
adreßbestandteil liegt mittels "Pipelining" bei 155 an
dem Multiplex-Adreßbus 90. Zur Vorbereitung der neuen
Zeilenadresse wird am Anfang 150 des dritten Spei
cherzyklusses RAS "off" geschaltet. Tatsächlich ausge
wählt wird die neue Zeilenadresse, wenn RAS bei 160 wie
der nach "on" überführt wird. Der Rest des dritten Spei
cherzyklusses ist im wesentlichen gleich wie der erste
Speicherzyklus in Fig. 2, wobei eine CAS-Aufladung etwa
am Beginn des dritten Speicherzyklusses bei 165 vorge
sehen ist.
Aus den obigen Erläuterungen geht hervor, daß bei einem
Seitenspeicher im Falle eines "page hit" eine beträcht
liche Zeitdauer für die Vornahme der CAS-Aufladung ver
braucht wird (vgl. den zweiten Speicherzyklus in Fig. 2),
bis der zweite Spaltenadreßbestandteil dazu verwendet
werden kann, die neue Adresse zu vervollständigen und
die zugehörigen Daten auszuwählen.
Aus der Firmenschrift der Intel Corp. "Memory Design
Handbook" von 1977, Seiten 14-1 bis 14-8 ist bekannt,
Zwischenspeicher am Ausgang von Speichern vorzusehen.
Wie jedoch aus dem letzten Absatz der rechten Spalte
der Seite 14-6 hervorgeht, wird dadurch nur erreicht,
daß der spätestmögliche Zeitpunkt der Verfügbarkeit
der Daten in den nächsten Zyklus ausgedehnt wird.
Irgendwelche Auswirkungen auf die Schnelligkeit des
Zugriffs auf den Speicher sind in der Druckschrift
aber nicht offenbart.
Wie bereits erwähnt wurde, werden Computersysteme mit
immer höheren Taktgeschwindigkeiten versehen. Unter der
Voraussetzung, daß ein Speicherzyklus aus einer
vorgegebenen Anzahl von Taktimpulsen besteht, die
entsprechend der Erhöhung der Taktgeschwindigkeit
kürzer werden, wird die Zeitdauer, die für derartige
Speicher-Auffrischvorgänge wie die CAS-Aufladung
erforderlich ist, ein mit wachsender Taktgeschwindigkeit
immer größer werdender Anteil an dem Speicherzugriffs
zyklus. Ein Weg, einen Mikroprozessor mit einer sehr
hohen Verarbeitungsgeschwindigkeit an die Geschwindigkeit
oder die Zugriffszeit von Speichern anzupassen, ist die
Hinzufügung von Wartezuständen, um dadurch den
Mikroprozessor tatsächlich zu verlangsamen und auf die
im Speicher zuzugreifenden Daten zu warten. Diese
Vorgehensweise ist allgemein unerwünscht, weil es die
Vorteile der Erhöhung der Taktgeschwindigkeit des
Mikroprozessors zunichte macht.
Aufgabe der Erfindung ist es, ein Verfahren für ein
Computersystem mit einem Seitenspeicher zu schaffen,
das einen möglichst schnellen Zugriff auf den
Seitenspeicher bei gleichzeitig möglichst langer
Zugriffszeit auf die adressierten Daten erlaubt.
Insbesondere ist es ein Ziel der vorliegenden
Erfindung, ein Computersystem zu schaffen, das bei
hohen Taktgeschwindigkeiten ohne die Heranziehung von
zusätzlichen Wartezuständen während des
Speicherzugriffs betrieben werden kann.
Diese Aufgabe ist bei einem Verfahren nach dem
Patentanspruch 1 gelöst.
Entsprechend einer Ausführung der Erfindung ist ein
Computersystem vorgesehen, das einen Seitenspeicher
enthält, an den ein Adreßbus und ein Datenbus ange
schlossen sind. Ein Prozessor, z. B. ein Mikroprozessor,
ist an den Adreßbus und den Datenbus angeschlossen. Der
Prozessor verarbeitet Daten in dem System und versorgt
den Speicher in einem ersten Speicherzyklus mit einem
ersten Adreß-Signal, das dem Speicherort von Daten,
auf die zugegriffen werden soll, entspricht. Das System
enthält eine erste Steuerschaltung, die zur Versorgung
des Speichers mit einem Zeilenadreß-Impulssignal (RAS)
während des ersten Speicherzyklusses an den Speicher
angeschlossen ist, sowie desweiteren eine zweite
Steuerschaltung, die zu Versorgung des Speichers mit
einem Spaltenadreß-Impulssignal (CAS) während des
ersten Speicherzyklusses und nach dem RAS-Signal an den
Speicher angeschlossen ist. Ein Zwischenspeicher ist
zwischen den Speicher und den Datenbus geschaltet, um
die adressierten Daten für einen späteren Transfer auf
den Datenbus zwischenzuspeichern. Das Computersystem
enthält eine CAS-Aufladeschaltung, um den Speicher nach
der Zwischenspeicherung und vor dem Ende des ersten
Speicherzyklusses einer CAS-Aufladung zu unterwerfen.
Fig. 1 ist ein vereinfachtes Blockdiagramm eines
bekannten Computersystems mit einem Seiten
speicher;
Fig. 2 ist ein Zeitdiagramm bezüglich eines typischen
bekannten Seitenspeichers;
Fig. 3 ist eine vereinfachte graphische Darstellung des
Computersystems nach der vorliegenden Erfindung;
Fig. 4 ist ein Blockdiagramm des Computersystems der
vorliegenden Erfindung;
Fig. 5 ist ein Zeitdiagramm, das den Zeitablauf im
Speicher des Computersystems nach Fig. 3 im
Vergleich zu dem Zeitablauf im Speicher des
bekannten Systems der Fig. 2 zeigt;
Fig. 6 ist ein Flußdiagramm, das die Ausführung des
Speicherzugriffs in dem Computersystem der vor
liegenden Erfindung zeigt;
Fig. 7 ist ein Blockdiagramm der bidirektionalen Zwi
schenspeicherschaltung, die in dem Computer
system der Fig. 4 verwendet wird;
Fig. 8 ist ein Blockdiagramm des gesamtem Datenpuffers
nach Fig. 7;
Fig. 9 ist eine Darstellung der Pin-Belegung des Daten
puffers der Fig. 8.
Fig. 3 zeigt eine vereinfachte Darstellung des Computer
systems der vorliegenden Erfindung, das eine Computer
systemeinheit 200 enthält, an die ein Monitor 205, eine
Eingabetastatur 210, eine Maus 215 und ein Ausgabedrucker
220 angeschlossen sind.
Fig. 4 ist ein Blockdiagramm der Computer-Systemeinheit 200.
Die Systemeinheit 200 enthält einen Prozessor 225, bei
spielsweise einen 32-Bit-Prozessor wie der Intel 80386-
Prozessor. Ein lokaler CPU-Bus 230 setzt sich aus einem
36-Bit-Adreßbus, einem 32-Bit-Datenbus und einem 10-Bit-
Steuerbus zusammen, die wie in Fig. 4 gezeigt zwischen
den Prozessor 225 und einen Puffer 240 geschaltet sind.
Ein mathematischer Zusatzprozessor 245, wie z. B. der
Intel 80387-Zusatzprozessor, ist an den lokalen CPU-
Bus 230 angeschlossen, um Fließkomma-Operationen
durchzuführen und damit den Systemdurchsatz zu erhöhen.
Die Systemeinheit 200 enthält lokalen Systembus 250,
der zwischen den Puffer 240 und einem Puffer 253 geschal
tet ist. Der lokale Systembus 250 enthält einen Daten
bus, einen Adreßbus und einen Steuerbus, wie dies in
Fig. 4 gezeigt ist. Der Puffer 240 dient der Zwischen
speicherung des Adreßbusses des lokalen CPU-Busses 230
hinsichtlich des Adreßbusses des lokalen Systembusses
250. Der Puffer 240 speichert ebenfalls den Datenbus und
den Steuerbus des lokalen CPU-Busses 230 hinsichtlich des
Datenbusses und des Steuerbusses des lokalen Systembusses
250. Ein CPU-Datenvorratsspeicher 255, z. B. ein Daten
vorratsspeicher mit 64 K Speicherplatz, ist an den Adreß-
und den Datenbus des lokalen CPU-Busses 230 angeschlossen.
Eine Vorratsspeicher-Verwaltung 260, wie beispielsweise
die Intel 82385-Vorratsspeicher-Verwaltung, ist an den
Adreß- und den Steuerbus des lokalen CPU-Busses 230
angeschlossen. Die Vorratsspeicher-Verwaltung 260 steuert
die Speicherung und den Zugriff auf häufig benutzte Daten,
die in dem Datenvorratsspeicher 255 gespeichert sind,
um dadurch die Verarbeitungsgeschwindigkeit der
Systemeinheit 200 zu erhöhen. Die Vorratsspeicher-Verwaltung
260 ist auch an den Adreßbus des lokalen Systembusses
250 angeschlossen.
Die Systemeinheit 200 enthält eine Bussteuer- und Zeitab
laufschaltung 265, die an den Adreß-, den Daten- und den
Steuerbus des lokalen Systembusses 250 angeschlossen ist.
Der lokale Systembus 250 ist über eine Zwischenspeicher-
Decodierschaltung 267 an einen Eingabe/Ausgabe-(I/O)-Bus
270 angeschlossen, der einen 10-Bit-Adreßbus, einen 8-Bit-
Datenbus und einen Steuerbus enthält. Die Zwischenspeicher-
Decodierschaltung 267 führt die Steuerung der Zwischen
speicherung der Ein-/Ausgabe-Adresse und der Ein-/Ausgabe-Daten
durch. Die Zwischenspeicher-Decodierschaltung 267
decodiert die lokale Systembus-Adresse und Steuersignale
und erzeugt "chip select"- und Ein-/Ausgabe-Befehlssignale
für den Eingabe/Ausgabe-Bus 270. Es ist bekannt, daß "chip
select" dazu dient, bestimmte, an den Ein-/Ausgabe-Bus 270
angeschlossene Geräte auszuwählen, von denen bestimmte
Operationen ausgeführt werden sollen. Der Ein-/Ausgabe-Bus
270 ist mit einem Bildschirmanschluß 275, einem CMOS-Takt
geber 280, einen CMOS RAM 285, einem RS232-Anschluß 290,
einem Druckeranschluß 195, sowie einem 4-Kanal-Zeitgeber 300
für allgemeine zeitabhängige Funktionen verbunden. Der
Ein-/Ausgabe-Bus 270 ist des weiteren mit einem Disketten
anschluß 305, einer Unterbrechungssteuerung 310 und einem
Nur-Lese-Speicher (ROM) verbunden, der das Basic-Input/
Output-System (BIOS) enthält.
Ein Mikrokanalbus 320 mit einem Adreß-, einem Daten-
und einem Steuerbus ist an den lokalen Systembus über
den Puffer 253 angeschlossen. Der Aufbau des Mikrokanal
busses ist ausführlicher in dem IBM PS/2 Modell 80
Technical Reference Manual beschrieben. Entsprechend
dem Aufbau des Mikrokanals ist eine zentrale
Verteilungssteuerung 325 an den Mikrokanalbus 320 und
die Bussteuer- und Zeitablauf-Schaltung 265 angeschlossen,
um die Verteilung des mit mehreren Geräten belegten
Multikanals zu organisieren. Der Anschluß einer
derartigen zentralen Verteilungssteuerung und der
Bussteuer- und Zeitablaufschaltung 265 stellt einen
Teil des Mikrokanalbusses 320 dar.
Eine Mehrzahl von Mikrokanalsockeln 330 sind, wie in
Fig. 4 dargestellt, an den Mikrokanalbus 320 angeschlos
sen, um Zusatzkarten wie beispielsweise Speicherkarten,
Videoadapter, DASW-Adapter, SCSI-Adapter und Übertra
gungsadapterkarten aufzunehmen. Ein oder mehrere Hard
file Floppy Disk Sockel 335 sind an den Mikrokanalbus
320 angeschlossen, um die Verbindung einer Festplatte
oder einer Diskette (nicht dargestellt) mit dem Bus 320
zu ermöglichen. Eine Direktspeicher-Zugriffs(DMA)-Ver
waltung 337 ist an den Adreß-, Daten- und Steuerbus
des lokalen Systembusses 250 angeschlossen, um exter
nen Geräten wie der Festplatte, der Diskette und anderen
mikrokanal-DMA-abhängigen Geräten einen direkten Zugriff
auf den Hauptspeicher zu ermöglichen (nachfolgend be
schrieben) und um die direkte Beteiligung des Prozessors
225 bei Datentransfers zwischen diesen externen Geräten
und dem Hauptspeicher zu vermeiden.
Eine Speichersteuerschaltung 340 ist an den lokalen
Systembus 250 - wie in der Fig. 4 dargestellt - ange
schlossen. Die Funktionsweise der Speichersteuerschal
tung 340 wird anhand des Zeitdiagramms der Fig. 5 später
vollständig beschrieben und erläutert. Zum Verständnis
der Speichersteuerschaltung 340 sei jedoch angemerkt,
daß sie drei Bestandteile enthält, nämlich einen RAS/CAS-
Decoder 345, einen Adreß-Decoder/Multiplexer 350 und
einen Datenpuffer 355. Der RAS/CAS-Decoder 345 ist ein
gangsseitig an den Steuerbus des lokalen Systembusses
250 angeschlossen. Der RAS/CAS-Decoder 345 übernimmt die
Adreß- und Bus-Taktsynchronisiersignale vom Prozessor
225 und decodiert diese zur Bildung von Speicherauswahl-
und Speicherzeitablauf-Signalen. Der RAS/CAS-Decoder 345
decodiert die RAS- und CAS-Signale. Das vom Decoder 345
decodierte RAS-Signal legt diejenige von 8 Speicher
bänken (jede Bank enthält ein Megabyte in der Form von
256 K×36 Bits) fest, auf die während des momentanen
Speicherzyklusses zugegriffen werden soll. Die Anord
nung dieser 8 Speicherbänke in einem aus den Einheiten
371, 372, 373 und 374 bestehenden Speicher 370 wird
später beschrieben. Das vom Decoder 345 decodierte
CAS-Signal legt das Byte oder die Bytes eines im Spei
cher 370 gespeicherten 32 Bit-Wortes fest, auf das oder
auf die im momentanen Speicherzyklus zugegriffen werden
soll.
Die Speichersteuerschaltung 340 ist mit dem zuvor genannten
Speicher 370 in der nachfolgend beschriebenen Weise
verbunden. Der Speicher 370 enthält vier Einheiten von
Speichern mit wahlfreiem Zugriff (RAM), nämlich die Ein
heiten 371, 372, 373 und 374, von denen jede 2 Megabyte
Speicherplatz enthält. In der Fig. 4 sind die Einheiten
371 bis 374 als dynamische Speicher mit wahlweisem Zu
griff (DRAM) mit einseitigem Anschlußgehäuse (SIP) oder
DRAM SIP gekennzeichnet. Die Einheit 371 ist mit 2 Mega
byte Speicherplatz ausgestattet und als "Basic 2 MB"
klassifiziert. Die verbleibenden Einheiten 372 bis 374
können nach der Wahl des Benutzers mit Speichern aufge
füllt werden und sind deshalb als "optional 2 MB" klassi
fiziert. Der RAS/CAS-Decoder 345 enthält einen Ausgabe
bus 348 mit 13 Einzelleitungen zur Übertragung der
RAS-, CAS- und WE-Signale zu den Speichereinheiten
371 bis 374, wobei acht Leitungen den RAS-Signalen,
vier Leitungen den CAS-Signalen und eine Leitung dem
WE-Signal zugeordnet ist. Der RAS/-CAS-Decoder 345
erzeugt ein Write Enable (WE)-Signal, das festlegt,
ob ein bestimmter Speicherzyklus ein Lesezyklus oder
ein Schreibzyklus ist, und führt diese Information dem
Speicher 370 zu. Jeder der Einheiten 371 bis 374 ent
hält 2 Megabyte Speicherplatz, wobei jedes Megabyte in
512 Seiten oder Zeilen aufgeteilt ist, die jeweils 2 K
Byte lang sind. Dies bedeutet, daß die Einheiten 371
bis 374 als Seitenspeicher ausgeführt sind.
Der Adreßmultiplexer (ADDR MUX) 350 ist eingangsseitig
an die 36 Leitungen des Datenbusses des lokalen System
busses 250 angeschlossen. Wenn der Prozessor 225 auf einen
an einen bestimmten Ort im Speicher 370 gespeicherten
Datensatz zugreifen will, dann übermittelt der Prozessor
225 diejenigen 36 Bits der Adresse dieses Speicherortes
zum Adreßmultiplexer 350. Der Adreßmultiplexer 350
ermittelt die Seitenadresse (Zeilenadresse) und die
Spaltenadresse aus der 36 Bits Adreß-Information und
versorgt den Speicher 370 über einen den Adreßmulti
plexer 350 und den Speicher 370 verbindenden Multiplex-
Adreßbus 390 mit der Seitenadresse und der Spalten
adresse. Ein 36 Bit Speicher-Datenbus 400 verbindet die
Speichereinheiten 371 bis 374 des Speichers 370 mit dem
Datenpuffer 355. Nachdem der Speicher, wie oben beschrie
ben, adressiert worden ist, werden die Daten der bestimm
ten Speicheradresse zum Speicher-Datenbus 400 transferiert,
der die Daten, wie in der Fig. 4 gezeigt, dem Daten
puffer 345 zuführt. In dem Speicher-Datenbus 400 sind
32 Bits (D 0 bis D 31) den Daten und 4 Bits (P 0 bis P 3)
den Prüfbits zugeordnet. Sobald die adressierten Daten
den Speicher-Datenbus 400 erreichen, werden die Daten
von dem Datenpuffer 355 zwischengespeichert und danach
dem Datenbus des lokalen Systembusses 250 zugeführt.
Nachfolgend werden die Daten über den Puffer 240 und
den lokalen CPU-Bus 230 dem Prozessor 225 zugeführt.
Die nachfolgende Erläuterung des Zeitdiagramms der
Fig. 5B beschreibt in Einzelheiten die Funktionsweise
der Speicherverwaltung 340 und des Speichers 370. Zur
Erleichterung, und um einen sofortigen Vergleich zu
ermöglichen, wurde das dem Stand der Technik
zugehörige Zeitdiagramm der Fig. 2 im oberen Teil der
Fig. 5 als Fig. 5A wiederholt. Zum Zwecke der
Erläuterung des Zeitdiagramms der Fig. 5B wird
angenommen, daß der Prozessor 225 auf einen Datensatz
zugreifen will, der unter einer bestimmten Adresse oder
einen bestimmten Ort im Speicher 370 gespeichert ist.
Dieser Datensatz wird als erster ausgewählter Datensatz
bezeichnet. Es wird weiter angenommen, daß der Prozessor
225 nach dem Zugriff auf den ersten ausgewählten Daten
satz auf einen zweiten ausgewählten Datensatz an einem
anderen Speicherort zugreifen will.
Der Prozessor 225 gibt die ausgewählte Adresse, in der
der erste Datensatz gespeichert ist, an den Adreßbus des
lokalen CPU-Busses 230 aus. Die ausgewählte Adresse be
steht aus 32 Adreßbits (A 0 bis A 31) und 4 Byte-Auswahl
bits (BE 0 bis BE 3), so daß die Adresse insgesamt aus
36 Bits besteht. Die 4 Byte-Auswahlbits (BE 0 bis BE 3)
werden als Angabe dafür verwendet, welche der Bytes
(von 1 bis 4) aus den (4 Byte bzw. 32 Bits umfassenden),
unter einer bestimmten Adresse abgespeicherten Daten
abgefragt werden sollen. Nachdem die ausgewählte Adresse
auf den Adreßbus des lokalen CPU-Busses 230 gelagert ist,
wird sie vom Puffer 240 zwischengespeichert. Die ausge
wählte Adresse wird dann an den Adreßbus des lokalen
Systembusses 250 weitergegeben und der Speicherverwaltung
340 und dem Adreßmultiplexer 250 zugeführt.
Die Systemeinheit 200 ist bei der vorliegenden Aus
führung derart ausgebildet, daß 9 Bits der ausgewählten
36 Bit-Adresse der Seitenadresse oder Zeilenadresse
(RAS-Adresse) 410 derjenigen Daten zugeordnet sind, auf
die zugegriffen werden soll. Dies bedeutet, daß die
Bits A 11 bis A 19 der RAS-Adresse zugeordnet sind. Die
Seitenadresse 410 beginnt zeitlich am Anfang des ersten
Speicherzyklusses, wie dies in der Fig. 5B dargestellt
ist. Der Adreßmultiplexer 350 entnimmt diese 9 Bit-
Seitenadresse 410 der 36 Bit-Adresse und führt sie über
die 9 Leitungen des den Adreßmultiplexer 350 und den
Speicher 370 verbindenden Multiplex-Adreßbusses 390
dem Speicher 370 zu.
Am Anfang des ersten Speicherzyklusses ist das RAS-Signal
der Speicherverwaltung 340 "high", was bei der in der
Fig. 5B verwendeten negativen Logik einem "off"-Zustand
entspricht. Nachdem die Seitenadresse 410 auf dem Multi
plex-Adreßbus 390 anliegt, schaltet die Speicherverwal
tung 340 (über den RAS/CAS-Decoder 345) das RAS-Signal
bei 415 "low" oder "on", wie in der Fig. 5B gezeigt. Auf
diese Weise wird die Seitenadresse, die vom Speicher 370
für den Zugriff auf die bestimmten Daten verwendet werden
soll, dem Speicher 370 zugeführt.
Nachdem das RAS-Signal "on" ist, entnimmt die Speicherver
waltung 340 mit Hilfe des Adreßmultiplexers 350 die
9 Bit-Spaltenadresse 420 der Daten aus der 36 Bit-Adresse
und führt diese 9 Bit-Spaltenadresse 420 über den Multi
plex-Adreßbus 390 dem Speicher 370 zu. Dies bedeutet,
daß die Bits A 3 bis A 11 dieser Spaltenadresse oder CAS-
Adresse zugeordnet sind. Wie dem Zeitdiagramm der Fig. 5B
entnommen werden kann, schaltet die Speicherverwaltung 340
(über den RAS/CAS-Decoder 345), nachdem die Spalten
adresse 420 auf dem Multiplex-Adreßbus 390 anliegt, das
CAS-Signal bei 425 "low" oder "on". Auf diese Weise wird
die Spaltenadresse, die vom Speicher 370 für den Zugriff
auf die bestimmten Daten verwendet werden soll, dem Speicher
370 zugeführt. Die Seitenadresse und die Spalten
adresse der Daten werden somit im Multiplexbetrieb auf
denselben 9 Leitungen des Multiplex-Adreßbusses 390
angelegt. Die verbleibenden Bits A 17 bis A 31 werden von
dem RAS/CAS-Decoder 345 für die Angabe verwendet, welche
der Einheiten 371 bis 374 den ersten, adressierten Daten
satz enthält.
Zu diesem Zeitpunkt sind beide, die Seitenadresse 410 und
die Spaltenadresse 420, die den Speicherort der ausgewähl
ten Daten definieren, dem Speicher 370 zugeführt. Nach
einer vorbestimmten Zeitverzögerung TCAS wird das CAS-
Signal aktiviert oder "low" geschaltet, worauf die Daten
auf dem Speicher-Datenbus 400 bei 430 Gültigkeit er
langen. Die Daten werden dann sofort bei 435 mittels bi
direktionaler Zwischenspeicher (ausführlichere Beschrei
bung später), die in den Datenpuffern 355 enthalten sind,
zwischengespeichert. Nachdem die Zwischenspeicherung im
Datenpuffer 355 vorgenommen worden ist, werden die zwi
schengespeicherten Daten (der erste ausgewählte Datensatz)
bei 437 dem Datenbus des lokalen Systembusses 250 zur Über
mittlung an den Prozessor 225 zugeführt.
Nach der Zwischenspeicherung der Daten bei 335 innerhalb
des ersten Speicherzyklusses (des momentanen Speicher
zyklusses) und vor dem Beginn des zweiten Speicherzyklusses
(des nächsten Speicherzyklusses), wird bei 440 eine CAS-
Aufladung vorgenommen. Sobald die CAS-Aufladung bei 440
begonnen hat, werden die Daten auf dem Speicher-Datenbus
400 bei 442 ungültig, nachdem eine vorgegebene Zeitdauer
seit dem Beginn der CAS-Aufladung verstrichen ist. Die
Zwischenspeicher-Schaltung im Datenpuffer 355 speichern
die Daten, bevor diese ungültig werden, also vor 442 in
dem Speicher-Datenbus-Zeitdiagramm der Fig. 5B. Diejenigen
Zeitdauern, in denen die Daten auf dem Speicher-
Datenbus 400 ungültig sind, sind in der Fig. 5B durch
Schrägstriche gekennzeichnet. Das Ende der CAS-Aufladung
legt das Ende des ersten Speicherzyklusses fest.
Der Prozessor 225 übermittelt die Adresse des zweiten
ausgewählten Datensatzes über denselben Signalweg zur
Speicherverwaltung 340 wie auch der erste ausgewählte
Datensatz dorthin gelangt ist. Wenn die Speicherver
waltung 340 feststellt, daß der zweite ausgewählte, aus
dem Speicher 370 auszulesende Datensatz sich in der
selben Seite wie der erste ausgewählte Datensatz befin
det, dann wird während der CAS-Aufladung bei 440, wie
dies in dem Zeitdiagramm der Fig. 5B dargestellt ist,
die auf dem Multiplex-Adreßbus 390 anliegende Spalten
adresse bei 445 geändert, und zwar in die zu dem zweiten
Datensatz gehörige Spaltenadresse. Diese Spalten-
Adressenänderung findet vor dem Ende des ersten Speicher
zyklusses statt. Nach dieser Spaltenadressen-Änderung
endet die CAS-Aufladung, und das CAS-Signal wird "on" ge
schaltet, so daß der zweite Speicherzyklus bei 450 be
ginnt. Auf diese Weise wird die zu dem zweiten ausge
wählten Datensatz gehörige Spaltenadresse dem Speicher
370 zugeführt. Nach einer Zeitverzögerung TCAS werden
die zu dieser Spaltenadresse und der bereits beschriebenen
Seitenadresse zugehörigen Daten bei 455 auf dem Spei
cher-Datenbus 400 gültig.
Die Daten werden dann sofort bei 460 mittels bidirektiona
ler Zwischenspeicher, die in dem Datenpuffer 355 enthalten
sind, zwischengespeichert. Nachdem diese Zwischenspeicherung
im Datenpuffer 355 erfolgt ist, werden die gespei
cherten Daten (nunmehr der zweite ausgewählte Datensatz)
bei 465 dem Datenbus der lokalen Systembusses 250 zur
Übermittlung an den Prozessor 225 zugeführt. Wie nach
folgend bei der Erläuterung des Datenpuffers 355 noch
ausführlicher beschrieben wird, arbeitet der
Datenpuffer 355 in einem "durchsichtigen" oder Durch
gangs-Modus, wenn das Zwischenspeicher-Steuersignal
(LAB 0 bis 3) "low" ist. Wenn das Zwischenspeicher-
Steuersignal "high" ist, speichert der Datenpuffer 355
die Daten.
Die obigen Erläuterungen haben einen Speicherzugriff
für den Fall beschrieben, wenn der zweite ausgewählte
Datensatz sich in derselben Seite befindet wie der
erste ausgewählte Datensatz. Wenn jedoch die
Speicherverwaltung 340 feststellt, daß der zweite
ausgewählte Datensatz sich nicht in derselben Seite wie
der erste ausgewählte Datensatz befindet, dann muß die
Speicheradressierung wieder ganz von vorne am Anfang
des ersten Speicherzyklusses beginnen. Dies bedeutet,
daß wenn die Zeilenadresse oder Seitenadresse für den
zweiten Datensatz nicht dieselbe ist wie für den ersten
Datensatz, dann muß die neue, dem zweiten Datensatz
zugehörige Zeilenadresse, gefolgt von der neuen
Spaltenadresse dem Speicher 370 in einer Weise
übermittelt werden, wie dies in dem ersten
Speicherzyklus des zu der Erfindung gehörigen
Zeitdiagramms der Fig. 5B dargestellt ist.
Fig. 6 ist ein Flußdiagramm, das den Ablauf der Durch
führung eines Speicherzugriffes in der Systemeinheit 200
zusammenfaßt. Ein Speicherzugriff beginnt, wenn der
Prozessor 225 mittels Adressen-"pipelining" eine gültige
Adresse ausgibt, von der Daten eingelesen werden sollen,
wie dies im Block 500 des Flußdiagramms gezeigt ist. Die
gültige Adresse wird in der bereits beschriebenen Weise
mittels der Busstruktur der Systemeinheit 200 zu der
Speicherverwaltung 340 transferiert. Die gültige Adresse
wird von der Speicherverwaltung 340 decodiert, wie dies
im Block 505 gezeigt ist. Dies bedeutet, daß eine Seiten
adresse und eine Spaltenadresse der gültigen Adresse ent
nommen werden.
Gemäß Block 510 wird dann die Seitenadresse im Multiplex
betrieb an den Multiplex-Adreßbus 390 angelegt, wobei
dieser Vorgang den Beginn des laufenden Speicherzyklusses
darstellt, wie dies in Block 515 gezeigt ist. Bei Block
520 wird dann das RAS-Signal aktiviert oder eingeschaltet,
so daß der Speicher 370 die Seitenadresse auswählt, die
momentan auf dem Multiplex-Adreßbus 390 anliegt. Danach
wird die Spaltenadresse im Multiplexbetrieb an den Multi
plex-Adreßbus 390 angelegt, wie dies in Block 525 ge
zeigt ist. Gemäß Block 530 wird das CAS-Signal aktiviert
oder eingeschaltet, so daß der Speicher 370 die Spalten
adresse auswählt, die momentan auf dem Multiplex-Adreßbus
390 anliegt. In diesem Zeitpunkt ist die Adresse
der gewünschten, im Speicher 370 gespeicherten Daten
vollständig angegeben, und der Speicher 370 transferiert
die Daten in der angegebenen Adresse zum Speicher-
Datenbus 400, wie dies in Block 535 gezeigt ist. Ent
sprechend Block 540 werden die Daten von den bidirektiona
len Zwischenspeichern des Datenpuffers 355 zwischenge
speichert, um die Daten vorübergehend zu erhalten. Nachdem
die Daten zwischengespeichert sind, werden sie zum
lokalen Daten-Systembus 250 transferiert, wie dies in
Block 545 gezeigt ist. Gemäß Block 550 wird dann die
CAS-Aufladung vor dem Ende des momentanen Speicher
zyklusses vorgenommen. Die nächste Adresse, auf die
zugegriffen werden soll, wird danach entsprechend
Block 555 decodiert.
Im Entscheidungsblock 560 wird ein Test ausgeführt, um
festzustellen, ob die nächste Adresse sich in derselben
Seite befindet wie die vorhergehende Adresse (die
frühere momentane Adresse). Wenn die nächste Adresse
sich nicht in derselben Seite als die vorhergehende
Adresse befindet, dann wird der Prozeßablauf bei
Block 510 der Fig. 6 fortgesetzt, bei dem die nächste
Seitenadresse im Multiplexbetrieb an den Multiplex-
Adreßbus 390 angelegt wird. Befindet sich jedoch die
nächste Adresse in derselben Seite wie die vorhergehende
Adresse, dann wird der Prozeßablauf bei Block 565
fortgesetzt, bei dem die Spaltenadresse der nächsten
Adresse im Multiplexbetrieb an den Multiplex-Adreßbus
angelegt wird. Danach beginnt der nächste Speicher
zyklus oder zweite Speicherzyklus bei Block 570, nach
dem die CAS-Aufladung beendet ist. Dies bedeutet, daß
am Anfang des zweiten Speicherzyklusses das CAS-Signal
gemäß Block 575 aktiviert oder eingeschaltet ist, so
daß der Speicher 370 die Spaltenadresse auswählt,
die momentan an dem Multiplex-Adreßbus 390 angelegt ist.
In diesem Zeitpunkt ist die Adresse der gewünschten,
im Speicher 370 gespeicherten Daten erneut vollständig
angegeben und der Speicher 370 transferiert die Daten
der angegebenen Adresse zum Speicher-Datenbus 400, wie
dies in Block 560 gezeigt ist. Die Daten werden von den
bidirektionalen Zwischenspeichern des Datenpuffers 355
gemäß Block 585 zwischengespeichert, um sie vorüber
gehend aufrechtzuerhalten. Nach der Zwischenspeicherung
der Daten werden sie entsprechend Block 590 zum lokalen
Daten-Systembus 250 transferiert. Vor dem Ende des
momentanen Speicherzyklusses wird eine CAS-Aufladung
durchgeführt, wie dies in Block 595 gezeigt ist. Danach
wird entsprechend Block 600 die nächste Adresse, auf
die zugegriffen werden soll, decodiert, worauf der
Ablauf bei dem Entscheidungsblock 560 fortgesetzt wird,
bei dem wieder eine Entscheidung entsprechend der Fest
stellung getroffen wird, ob die nächste Adresse sich
in derselben Seite befindet wie die letzte Adresse.
Ein Hochgeschwindigkeits-Zwischenspeicher-Datenpuffer,
der als Datenpuffer 355 verwendet werden kann, ist in
der Fig. 7 in Form eines Blockdiagramms dargestellt. Zur
Verdeutlichung der Darstellung zeigt Fig. 7 eine von vier
im wesentlichen gleiche Einheiten, die im Datenpuffer 355
als Einheiten 610 verwendet werden. Die Puffereinheit 610
enthält ein 8 Bit-Tor 615, das mit den Datenleitungen D 0
bis D 7 des Speicher-Datenbusses 400 verbunden ist. Die
Puffereinheit 610 enthält einen als "A REC" gekennzeich
neten Datenempfänger 620, der in der dargestellten Weise
an das Tor 615 angeschlossen ist. Der Datenempfänger 620
ist ein Puffer, der als Schnittstelle zwischen der auf
dem Speicher-Datenbus 400 vorhandenen 0 bis 5 Volt-TTL-
Signalspannung und der 0 bis etwa 3 Volt Spannung arbei
tet, die für die interne Schaltung der Puffereinheit 610
charakteristisch ist. Ausgangsseitig ist der Datenem
pfänger 620 mit dem Eingang eines 8 Bit-Datenspeichers 625
verbunden, der anliegende Daten zwischenspeichert, wenn
ein entsprechendes Zwischenspeicher-Steuersignal einem
mit LEAB0 (latch enable A to B) gekennzeichneten Steuer
eingang 625 A zugeführt ist. Der Datenspeicher 625 ist
ein "durchsichtiger" Speicher. Dies bedeutet, daß der
Datenspeicher 625 entweder in einer "durchsichtigen"
Weise oder im Zwischenspeicher-Betrieb betrieben werden
kann, in Abhängigkeit von dem entsprechenden Steuersignal
am Steuereingang 625 A. Wenn der Datenspeicher 625 ange
wiesen ist, in der "durchsichtigen" Weise zu arbeiten,
dann hat ein "low" Eingangssignal ein "low" Ausgangs
signal, ein "high" Eingangssignal ein "high" Ausgangssignal
zur Folge. Dies bedeutet, daß im Transparent-Betrieb die
am Eingang des Datenspeichers 625 anliegenden 8 Bit-Daten
zum Ausgang desselben hindurchgehen. Wenn jedoch der
Datenspeicher 625 mittels des Zwischenspeicher-Steuer
signals am Steuereingang 625 A (LEAB0) angewiesen ist, im
Zwischenspeicher-Betrieb zu arbeiten, dann nimmt der
Ausgang auf ein bestimmtes, angebotenes 8 Bit-Eingangs
signal hin einen stabilen Zustand ein und verbleibt in
diesem Zustand zwischengespeichert, bis am Steuerein
gang 625 A ein entsprechendes Steuersignal anliegt.
Es soll an dieser Stelle an vorhergehende Erläuterungen
erinnert werden, wonach sofort, nachdem die adressierten
Daten auf dem Speicher-Datenbus bei 430 in Fig. 5B gültig
werden, diese Daten bei 435 zwischengespeichert werden.
Ein Ausgangstreiber 630 ist mit dem Ausgang des Daten
speichers 625 verbunden, wie in Fig. 7 gezeigt. Der Aus
gangstreiber 630 ist mit "B DRV" gekennzeichnet und dient
dazu, die interne Schaltung von 0 bis 3 Volt des Daten
puffers 610 mit der externen, am Ausgang des Treibers 630
vorhandenen 0 bis 5 Volt-TTL-Spannung zu koppeln. Der
8 Bit-Ausgang des Ausgangstreibers 630 ist mit einem Tor
635 verbunden, das an acht mit B 0 bis B 7 gekennzeichneten
Datenleitungen des Datenbusses des lokalen Systembusses
250 angeschlossen ist. Auf diese Weise kann das System mit
der Verarbeitung von Daten fortfahren, sobald der Daten
speicher 625 die ihm angebotenen Daten zwischengespei
chert hat, und die Signale auf den Speicher-Datenbus 400
(D 0 bis D 7) können sich beliebig ändern, während der
Datenspeicher 625 die alten Daten für eine spätere Über
nahme durch den Prozessor 225 über den lokalen Systembus
250 aufrechterhält.
Der Ausgangstreiber 630 enthält einen mit OEAB0 gekennzeichneten
Datentor-Steuereingang 630 A. Wenn das OEAB0-Signal
"on" ist, dann schaltet der Ausgangstreiber 630 die an
liegenden Daten durch. Wenn das OEAB0-Signal jedoch "off"
ist, dann ist der Ausgangstreiber 630 abgeschaltet. Der
Ausgang des Datenspeichers 625 ist an den Eingang einer
8 Bit-Prüfbitschaltung 640 angeschlossen. Wenn die acht
Eingaben zu der Prüfbitschaltung 640 eine gerade Anzahl
von Einsen enthalten, dann erzeugt die Prüfbitschaltung
640 als einziges Ausgangssignal eine 1 (high), um eine
ungerade Prüfsumme aufrechtzuerhalten. Wenn jedoch die
acht Eingaben zu der Prüfbitschaltung 640 eine ungerade
Anzahl von Einsen enthalten, dann erzeugt die Prüfbit
schaltung 640 als Ausgangsbit eine 0 (low), um die un
gerade Prüfsumme zu erhalten.
Der Datenpuffer 610 enthält einen GEN/CK-Empfänger 645
mit einem, wie in der Fig. 7 dargestellt, mit GEN/CK0
gekennzeichneten Eingang. Der GEN/CK-Empfänger 645 stellt
eine Schnittstelle dar, der die 0 bis 5 Volt-TTL-Signale
an seinem Eingang in 0 bis 3 Volt-Signale an seinem Aus
gang übersetzt. Der Wert des GEN/CK0-Signals hängt von
dem bestimmten Zyklus ab, den der Prozessor 225 als
nächstes durchführen will. Dies bedeutet, daß das GEN/CK0-
Signal (siehe Fig. 5B) den Wert 1 (high) aufweist, wenn
ein Speicher-Schreibzyklus ausgeführt werden soll, und
den Wert 0 (low), wenn ein Speicher-Lesezyklus ausgeführt
werden soll. Für den Zweck dieses Beispiels wird ange
nommen, daß das GEN/CK0-Signal den Wert 0 für einen vom
Speicher auszuführenden Lesezyklus aufweist. Dies be
deutet, daß die Daten und die entsprechenden Prüfsummen-
Informationen bereits im Speicher 370 abgespeichert worden
sind und daß nun ein Zugriff auf diese Daten gewünscht
ist. Für den Zweck dieses Beispiels wird angenommen, daß
ein aus vier 8 Bit-Bytes bestehendes 32 Bit-Wort aus dem
Speicher 370 ausgelesen werden soll. Es wird angenommen,
daß vier Prüfbits mit dem 32 Bit-Wort abgespeichert sind,
was bedeutet, daß ein Prüfbit jeweils einem Byte des
32 Bit-Wortes zugeordnet ist. Es sei angemerkt, daß der
Datenpuffer 610 der Fig. 7 ein Byte (8 Bits) und ein
Prüfbit eines solchen 32 Bit-Wortes verarbeiten kann. Die
verbleibenden 3 Bytes und 3 Prüfbits eines derartigen
32 Bit-Wortes werden von drei anderen, mit dem Datenpuffer
610 übereinstimmenden Datenpuffern verarbeitet, wie dies
in Fig. 8 gezeigt ist.
Der Ausgang des GEN/CK-Empfängers 645 ist an einen Steuer
eingang 650 A eines Prüfbit-Treibers 650 angeschlossen. Der
Ausgang der Prüfbitschaltung 640 ist an einen Eingang 650 B
des Prüfbit-Treibers 650 angeschlossen sowie an einen
von zwei Eingängen eines XOR-Gatters 655. Der Ausgang 650 C
des Prüfbit-Treibers 650 ist mit der Prüfbit-Leitung D 0 der
Prüfbit-Leitungen des Speicher-Datenbusses 400 verbunden.
Es soll darin erinnert werden, daß der 36 Bit-Speicher-
Datenbus 400 die Leitungen D 0 bis D 31 für das abgespei
cherte 32 Bit-Wort und vier Prüfbit-Leitungen P 0 bis P 3
enthält, die den vier Prüfbits entsprechen, die ihrer
seits wiederum den 4 Bytes zugeordnet sind, die das
32 Bit-Wort bilden. Zusätzlich zur Verbindung mit dem
Ausgang 650 C des Prüfbit-Treibers 650 ist die Prüfbit-
Leitung P 0 über einen Prüfbit-Empfänger 660 an den ver
bleibenden Eingang des XOR-Gatters 655 angeschlossen.
Der Ausgang des GEN/CK-Empfängers 645 ist an einen
Steuereingang 655 A des XOR-Gatters 655 angeschlossen. Der
logische Zustand des dem Steuereingang 655 A zugeführten Sig
nals bestimmt, ob das XOR-Gatter 655 eingeschaltet und
damit für Signale durchgängig ist oder es ausgeschaltet
und damit für Signale nicht zu seinem Ausgang hin
durchgängig ist. Der Ausgang des XOR-Gatters 655 ist mit
E 0 gekennzeichnet (Fehler) und an einen Fehlertreiber 665
angeschlossen. Der Ausgang des Fehlertreibers 665 ist
an einen mit E bezeichneten Fehleranschlußpunkt 670 an
geschlossen. Der Fehlertreiber 665 ist nicht Teil des
Datenpuffers 610 und wird später beschrieben.
Ein Prüfbit-Fehlergenerator/-Prüfer 680 besteht aus der
Prüfbit-Schaltung 640, dem GEN/CK-Empfänger 645, dem
Prüfbit-Treiber 650, dem Prüfbit-Empfänger 660, dem
XOR-Gatter 655 und dem Fehlertreiber 665. Wie nachfolgend
beschrieben werden wird, arbeitet der Prüfbit-Fehler
generator/-Prüfer 680 auf zwei Arten, nämlich in der
Prüfbiterzeugungs-Betriebsart, wenn Daten in den Speicher
eingeschrieben werden, und in der Prüfbitprüfungs-
Betriebsart, wenn Daten aus dem Speicher ausgelesen wer
den oder darauf zugegriffen wird. Da die vorliegende Er
findung den Zugriff auf im Speicher 370 abgespeicherte
Daten betrifft, wird jetzt die Prüfbitprüfungs-Betriebs
art des Prüfbit-Fehlergenerator/-Prüfers 680 erläutert.
Wenn das GEN/CK0-Signal des GEN/CK-Empfängers 645 "low"
(0) ist, gelangt der Generator/Prüfer 680 in die Prüf
bitprüfungs-Betriebsart. Im Gegensatz dazu gelangt der
Generator/Prüfer 680 in die Prüfbiterzeugungs-Betriebs
art, wenn das GEN/CK0-Signal "high" (1) ist. Empfängt der
GEN/CK-Empfänger 645 in der Prüfbitprüfungs-Betriebsart
ein GEN/CK0-Signal "0" von der externen (TTL)-Schaltung,
dann setzt der GEN/CK-Empfänger 645 dieses Signal an
seinem Ausgang, wie bereits erwähnt, in ein 0 bis 3 Volt-
Signal um. Ausgangsseitig ist der GEN/CK-Empfänger 645
mit dem Steuereingang 650 A des Prüfbit-Treibers 650
derart verbunden, daß die logische "0" oder "low", die
jetzt am Steuereingang 650 A anliegt, den Prüfbit-Treiber
650 in der Weise abschaltet, daß das Signal am Ausgang
der Prüfbitschaltung 640 nicht auf die Prüfbitleitung
D 0 des Speicher-Datenbusses 400 geschaltet wird. Es er
gibt sich aus den vorhergehenden Erläuterungen, daß die
Funktion des Generators/Prüfers 680 in der Prüfbit
prüfungs-Betriebsart darin besteht, das zu einem bestimm
ten Byte der Daten D 0 bis D 7 gehörige abgespeicherte
Prüfbit P 0 mit dem tatsächlichen Prüfbit P 0′ zu ver
gleichen, das von demselben Byte nach dem Auslesen aus
dem Speicher 370 abgeleitet ist. Wenn der Speicherzu
griff erfolgreich abgeschlossen worden ist, dann sollte
die Prüfsumme vor dem Zugriff, P 0 dieselbe sein wie die
Prüfsumme nach dem Zugriff, P 0′. Wenn das Byte D 0 bis D 7
aus dem Speicher 370 ausgelesen ist, wird es vom Daten
empfänger 620 empfangen und vom Datenspeicher 625 zwi
schengespeichert. (Das bestimmte Byte, das auf den Lei
tungen D 0 bis D 7 ausgelesen wird, wird nachfolgend als
Byte 0 bezeichnet.) Die 8 Bits des Bytes 0 bleiben auf
diese Weise am Ausgang des Datenspeichers 625 erhalten,
so daß das Computersystem die weitere Verarbeitung fort
setzen und die Signalwerte auf den D 0 bis D 7-Leitungen
des Speicher-Datenbusses 400 ändern kann. Wenn der Daten
speicher 625 die Zwischenspeicherung vornimmt, wird das
Byte 0 der 8 Bit-Prüfbit-Schaltung 640 zugeführt, die da
raus ein Prüfbit P 0′ für das gerade anliegende Byte 0 ab
leitet. P 0′ ist daher die tatsächliche Prüfsumme, die aus
dem Byte 0 nach dessen Auslesen aus dem Speicher 370 ab
geleitet ist. Das P 0′-Prüfbit ist einem der beiden Ein
gänge des XOR-Gatters 655 zugeführt. Es wird darin er
innert, daß der verbleibende Eingang des XOR-Gatters 655
über den Prüfbit-Empfänger 660 mit der P 0-Prüfbit-Leitung
des Speicher-Datenbusses 400 verbunden ist. Auf diese
Weise wird mit dem Auslesen des Bytes 0 aus dem Speicher
370 das zu diesem Byte 0 gehörige Prüfbit P 0 zu dem ver
bleibenden Eingang des XOR-Gatters 655 zugeführt. Wenn
das P 0-Prüfbit vor dem Zugriff dasselbe ist wie das P 0-
Prüfbit nach dem Speicherzugriff, wenn also beide 0 oder
beide 1 sind, dann erzeugt das XOR-Gatter 655 ausgangs
seitig eine 0, die darauf hinweist, daß kein Fehler beim
Auslesen des Datenbytes, Byte 0, aus dem Speicher 370 er
folgt ist. Wenn jedoch das P 0-Prüfbit vor dem Speicher
zugriff nicht dasselbe ist wie das P 0-Prüfbit nach dem
Zugriff, dann erzeugt das XOR-Gatter 655 ausgangsseitig
eine 1, die darauf hinweist, daß beim Auslesen des
Bytes 0 aus dem Speicher 370 ein Fehler vorgefallen ist.
Das Fehlerbit am Ausgang des XOR-Gatters 655 wird über
den Fehlertreiber 665 mittels einer logischen NOR-
Funktion zu dem mit E bezeichneten Fehlerausgang 670
umgesetzt. Wenn der Prüfbit-Fehlergenerator/-Prüfer 680
in der Prüfbitprüfungs-Betriebsart arbeitet, dann ist
das GEN/CK0-Signal am Ausgang des GEN/CK-Empfängers 645
"low" oder "0", wodurch das XOR-Gatter 655 aktiviert
wird. Im Gegensatz dazu ist das GEN/CK0-Signal beim Be
trieb des Generators/Prüfers 680 als Prüfbiterzeuger
"high", wodurch das XOR-Gatter 655 abgeschaltet wird.
Normalerweise prüft das Computersystem den E-Ausgang
670 am Ende jedes Speicherzyklusses, um das Auftreten
eines Fehlers festzustellen.
Wie bereits erwähnt, arbeitet die Puffereinheit 610 auch
in der entgegengesetzten Richtung wie vorstehend beschrie
ben. Wenn also das Computersystem einen Schreibvorgang
eines bestimmten, aus den Bytes 0, 1, 2 und 3 bestehenden
32 Bit-Wortes zum Speicher durchführt, dann wird das
Byte 0 dieses Wortes vom lokalen Systembus 250 über den
Puffer 610 zum Speicher-Datenbus 400 transferiert. Genauer
wird das Byte 0 dem den Daten B 0 bis B 7 entsprechenden
Tor 635 zugeführt. Dieses Tor 635 ist über einen Em
pfänger 675 an einen 8 Bit-Speicher 680 angeschlossen, wie
dies in Fig. 7 gezeigt ist. Der Empfänger 675 und der
Speicher 680 sind jeweils im wesentlichen identisch mit
dem Empfänger 620 und dem Speicher 625. Der Speicher 680
enthält einen mit LEBA0 gekennzeichneten Zwischenspeicher-
Steuereingang, der bei einem "high"- oder "1"-Signal die
Zwischenspeicherung der 8 an dem Speicher 680 anliegenden
Datenbits bewirkt. Ausgangsseitig ist der Speicher 680
über einen Treiber 685 mit den D 0 bis D 7 Datenleitungen
des Speicher-Datenbusses 400 verbunden. Der Treiber 685
ist im wesentlichen mit dem bereits beschriebenen Treiber
630 identisch. Der Treiber 685 enthält einen Datentor-
Steuereingang OEBA0 (output enable B to A), der bei einer
Beaufschlagung mit einem logischen "0"- oder "low"-Signal
den Treiber 685 derart einschaltet, daß der Durchgang von
Daten möglich ist. Zusammengefaßt besteht die Funktions
weise des Empfängers 675, des Speichers 680 und des Trei
bers 685 beim Beschreiben des Speichers darin, daß der
Empfänger 675 die 8 Bits des am Tor 635 anliegenden Bytes 0
an den Speicher 680 weitergibt. Das Zwischenspeicher-
Steuersignal LEBA0 (latch enable B to A) bringt dann den
Speicher 680 dazu, die Daten am Ausgang des Speichers 680
aufrechtzuerhalten, so daß das Computersystem weiter
arbeiten und die Signale auf den Datenleitungen B 0 bis B 7
am Tor 635 des lokalen Daten-Systembusses 250 ändern
kann. Das dem Treiber 685 zugeführte OEBA0-Datentor-Steuer
signal wird "low", mit der Folge, daß der Treiber 685 ange
schaltet und dadurch am Ausgang des Speichers 680 zwischen
gespeicherten 8 Bits des Bytes 0 zu den Datenleitungen
B 0 bis B 7 des Speicher-Datenbusses 400 durchgeschaltet
werden. Die OEBA0 bis 3-Signale spiegeln das "write
enable (WE)"-Signal wieder, mit dem die Speicherverwaltung
340 den Speicher 370 beaufschlagt. Das WE-Signal ist
"high" für Lesezyklen und "low" für Schreibzyklen.
Das vorstehende war eine Beschreibung desjenigen Teils
des Datenpuffers 355, der der Bearbeitung von einem Byte,
dem Byte 0, eines 4 Bytes (32 Bit-Wort) zugeordnet ist,
das im Speicher 370 abgespeichert und aus diesem ausge
lesen wird. Für die Bearbeitung der verbleibenden 3 Bytes,
dem Byte 1, 2 und 3, dieses 32 Bit-Wortes, ist die Puffer
einheit 610 vierfach kopiert, wie dies in der Fig. 8 ge
zeigt ist. Zur Erleichterung sind diese vier Datenpuffer
610 als Datenpuffer 610-0, 610-1, 610-2 und 610-3 ge
kennzeichnet, um dadurch zu verdeutlichen, daß sie die
Bytes 0, 1, 2 und 3 des zuvor genannten 32 Bit-Wortes be
arbeiten, das aus dem Speicher 370 ausgelesen oder in
diesen eingeschrieben werden soll.
Die Fig. 8 zeigt ein vereinfachtes Blockdiagramm des
Datenpuffers 355 bestehend aus vier im wesentlichen
identischen Puffereinheiten 610, nämlich den Daten
puffern 610-0, 610-1, 610-2 und 610-3, für die Verarbei
tung jeweils der Bytes 0, 1, 2 und 3 eines 32 Bit-Wortes.
Der Datenpuffer 355 ist genauer beschrieben in der
anhängigen Patentanmeldung mit dem Titel "Bidirectional
Buffer with Latch and Parity Capability" (US-SN 1 98 961,
Gaudenzi et al, AT: 26. Mai 1988, FI-9-88-010). Zur
Vereinfachung wurde der Empfänger 620 und der Treiber
685, die Speicher 625 und 680, und der Treiber 630 und
der Empfänger 675 in der Fig. 8 jeweils zusammen
als Block dargestellt. Es sei daran erinnert, daß der
Datenpuffer 355 zwischen dem Datenbus des lokalen System
busses 250 und dem Speicher-Datenbus 400 angeordnet ist.
Genau genommen sind die D 0 bis D 31-Datenleitungen des
Datenpuffers 355 mit den D 0 bis D 31-Datenleitungen des
Speicher-Datenbusses 400 verbunden. Die D 0 bis D 31-Daten
leitungen des Datenpuffers 355 sind mit den B 0 bis B 31-
Datenleitungen des Datenbusses des lokalen Systembusses
250 verbunden.
Unabhängig davon, ob eine Lese- oder Schreiboperation für
ein 32 Bit-Wort über den Datenpuffer 355 ausgeführt werden
soll, bearbeiten die Puffereinheiten 610-0, 610-1, 610-2,
und 610-3 jeweils die Bytes 0, 1, 2 und 3 dieses 32 Bit-
Wortes. Der Datenpuffer 355 enthält vier Prüfbit-Ein/Aus
gaben P 0, P 1, P 2 und P 3, die jeweils zu der erzeugten oder
zugegriffenen Prüfsumme der Bytes 0, 1, 2 und 3 gehören.
Die P 0, P 1, P 2 und P 3-Prüfbitleitungen des Datenpuffers
355 sind mit den P 0, P 1, P 2 und P 3-Prüfbitleitungen der
36 Leitungen des Speicher-Datenbusses 400 verbunden. Es
sei daran erinnert, daß der Speicher-Datenbus 400 die
Datenleitungen D 0 bis D 31 und die Prüfbitleitungen P 0
bis P 3 enthält. Wird daher ein bestimmtes 32 Bit-Wort
in den Speicher eingeschrieben, erzeugen die jeweiligen
Prüfsummen-Schaltungen 640 der Puffereinheiten 610-0
bis 610-3 die zu jedem der vier Bytes, nämlich Byte 0 bis
Byte 3 des 32 Bit-Datenwortes, zugehörigen Prüfsummen,
und führen vier erzeugte Prüfbits zur Speicherung im
Speicher 370 den Prüfbitleitungen P 0 bis P 3 zu. Wenn
bei der Ausleseoperation ein 32 Bit-Wort aus dem Spei
cher ausgelesen wird, werden die vier zu diesem Daten
wort gehörigen Prüfbits P 0 bis P 3 mit ausgelesen und
den Prübitleitungen des Datenpuffers 355 zugeführt.
Die GEN/CK0, GEN/CK1, GEN/CK2 und GEN/CK3-Leitungen des
Datenpuffers 355 sind mit entsprechenden GEN/CK0 bis
GEN/CK3-Steuerleitungen (nicht dargestellt) verbunden,
die in der Speicherverwaltung 340 enthalten sind. Die
Speicherverwaltung 340 erzeugt ein GEN/CK-Signal, wie
beispielsweise das in Fig. 5B gezeigte GEN/CK0-Signal,
und führt dieses Signal den GEN/CK0 bis 3-Eingängen des
Datenpuffers 355 zu, um damit dem Datenpuffer anzugeben,
ob eine Lese- oder eine Schreiboperation ausgeführt werden
soll. Wenn eine Schreiboperation ausgeführt werden
soll, dann werden entsprechende GEN/CK0-3-Signale er
zeugt, mit deren Hilfe den jeweiligen Puffereinheiten
610-1 bis 610-3 mitgeteilt wird, zu den vier Bytes des
in den Speicher 370 einzuschreibenden 32 Bit-Wortes ent
sprechende Prüfbits zu erzeugen. Wenn jedoch eine Lese
operation ausgeführt werden soll, dann erzeugt die Spei
cherverwaltung 340 entsprechende GEN/CK0-3-Steuersignale,
mit deren Hilfe den jeweiligen Puffereinheiten 610-1 bis
610-3 mitgeteilt wird, die Prüfbitprüfungs-Betriebsart
auszuführen, wie bereits anhand der Fig. 7 ausgeführt
worden ist. Dies bedeutet, daß nach dem Auslesen der
vier Bytes und ihrer jeweiligen vier Prüfbits P 0 bis P 3
aus dem Speicher 370, die Prüfbitschaltungen 640 die
Prüfsumme P 0′ bis P 3′ der vier Bytes nach dem Auslesen
jeweils erzeugen. Falls eines der alten P 0 bis P 3-Prüf
bits mit dem entsprechenden neuen P 0′ bis P 3′-Prüfbit
nicht übereinstimmt, so wird ein Fehlersignal auf der
entsprechenden, an den Eingängen des Fehlertreibers
665 in der Fig. 8 abgebildeten Fehlerleitungen E 0 bis
E 3 erzeugt. Der Fehlertreiber 665 führt eine logische
NOR-Funktion aus. Wenn auf einer der Fehlerleitungen
E 0, E 1, E 2 und E 3 ein Fehlersignal anliegt, dann erzeugt
auch der Fehlertreiber 665 ausgangsseitig ein solches
Fehlersignal. Es sei angemerkt, daß der Fehlertreiber
665 die interne Niedrigspannung des Datenpuffers 355 zu
der externen, an dem mit E gekennzeichneten Fehleran
schluß 670 vorliegenden TTL-Spannung übersetzt.
Die Fig. 9 ist eine Darstellung der Anschlüsse des Daten
puffers 355, die die verschiedenen, vorstehend bereits er
läuterten Eingänge und Ausgänge des Datenpuffers 355 zeigt.
Die Tabelle 1 ist hier enthalten, um die verschiedenen
Zustände zusammenzufassen, in denen der Datenpuffer 355
arbeiten kann.
Die Tabelle 2 ist hier enthalten, um die verschiedenen
Zustände zusammenzufassen, die der Datenpuffer 355 als
Antwort auf verschiedene GEN/CK-Signale einnimmt.
Die OEAB0-3-Anschlüsse und die GEN/CK0-3-Anschlüsse des
Datenpuffers 355 sind miteinander verbunden, so daß die
OEAB-Signale (Datentor-Steuersignale), die GEN/CK-Signale
widerspiegeln oder ihnen nachfolgen, wie dies in der
Fig. 5 gezeigt ist.
Während vorstehend der Aufbau eines Computersystems mit
einer verringerten Speicherzugriffszeit beschrieben worden
ist, wird nachfolgend ein Ausführungsbeispiel des Verfahrens nach dem Patentanspruch 1 für den Speicher
zugriff bei einem derartigen Computersystem zusammengefaßt
und erläutert. Dieses Verfahren wird in einem Computer
system verwendet, das einen Seitenspeicher enthält, an
den ein Adreßbus und ein Datenbus angeschlossen sind,
und das desweiteren in Verbingung damit erste, zweite
und nachfolgende Speicherzyklen aufweist. Genauer ent
hält das Verfahren zum Lesen von in dem genannten Spei
cher abgespeicherten Informationen den Schritt des An
legens eines Adreß-Signals an den Speicher, wobei das
Adreß-Signal dem Ort der Daten entspricht, auf die in
dem Speicher zugegriffen werden soll. Das Verfahren
enthält den Schritt, den Speicher mit einem Zeilen
adreß-Impulssignal (RAS) während des ersten Speicher
zyklusses zu versorgen und ein Spaltenadreß-Impulssignal
während des ersten Speicherzyklusses, aber nach dem
RAS-Signal an den Speicher anzulegen. Das Verfahren
enthält das Zwischenspeichern der auf diese Weise
adressierten Daten für den späteren Transfer zum
Datenbus und das Ausführen einer CAS-Aufladung des
Speichers nach der Zwischenspeicherung und vor dem Ende
des ersten Speicherzyklusses.
Das vorstehende war eine Erläuterung eines Computer
systems, bei dem die Zugriffszeit auf einen Seiten
speicher dadurch wesentlich verringert ist, daß die zu
dem im nächsten Speicherzyklus erfolgenden Zugriff auf
Daten gehörige CAS-Aufladung in den momentanen Speicher
zyklus vorverlegt ist. Das Computersystem kann bei
hohen Taktgeschwindigkeiten arbeiten, ohne bei Zugriff
auf den Seitenspeicher zusätzliche Wartezustände auszu
führen.
Ausgehend von der vorstehend anhand der Zeichnung
beschriebenen Ausführung der Erfindung sind für den
Fachmann verschiedenartige Änderungen und Modifi
kationen offensichtlich, ohne dabei vom Kern der Er
findung abzuweichen.
Claims (3)
1. Verfahren zum Auslesen von Daten aus derselben
Seite eines Seitenspeichers (370) in aufeinanderfolgenden
Speicherzyklen und
zum Transfer der Daten zu einem Datenbus (250) eines Computersystems, bei dem
in einem momentanen Speicherzyklus dem Seitenspeicher als Adresse der auszulesenden Daten eine Zeilen-(Seiten-)adresse (RAS) und eine Spaltenadresse (CAS) zugeführt wird (415, 425),
die auf diese Weise adressierten Daten aus dem Seitenspeicher ausgelesen werden (430),
die Zeilen-(Seiten-)adresse beibehalten wird,
der Seitenspeicher zum Aufnehmen der Spaltenadresse eines nächsten Speicherzyklus aufgeladen wird (440) und
dem Seitenspeicher die Spaltenadresse des nächsten Speicherzyklus zugeführt wird (450),
dadurch gekennzeichnet, daß die Aufladung des Seitenspeichers zum Aufnehmen der Spaltenadresse des nächsten Speicherzyklus am Ende des momentanen Speicherzyklus vorgenommen wird (Fig. 5b: erster Speicherzyklus) und
die ausgelesenen Daten vor dieser Aufladung für den Transfer zu dem Datenbus zwischengespeichert werden (435, 437).
zum Transfer der Daten zu einem Datenbus (250) eines Computersystems, bei dem
in einem momentanen Speicherzyklus dem Seitenspeicher als Adresse der auszulesenden Daten eine Zeilen-(Seiten-)adresse (RAS) und eine Spaltenadresse (CAS) zugeführt wird (415, 425),
die auf diese Weise adressierten Daten aus dem Seitenspeicher ausgelesen werden (430),
die Zeilen-(Seiten-)adresse beibehalten wird,
der Seitenspeicher zum Aufnehmen der Spaltenadresse eines nächsten Speicherzyklus aufgeladen wird (440) und
dem Seitenspeicher die Spaltenadresse des nächsten Speicherzyklus zugeführt wird (450),
dadurch gekennzeichnet, daß die Aufladung des Seitenspeichers zum Aufnehmen der Spaltenadresse des nächsten Speicherzyklus am Ende des momentanen Speicherzyklus vorgenommen wird (Fig. 5b: erster Speicherzyklus) und
die ausgelesenen Daten vor dieser Aufladung für den Transfer zu dem Datenbus zwischengespeichert werden (435, 437).
2. Computersystem zur Durchführung des Verfahrens
nach Anspruch 1,
dadurch gekennzeichnet, daß
ein Zwischenspeicher (355) zwischen den Datenbus
(250) und den Seitenspeicher (370) geschaltet ist,
in dem die aus dem Seitenspeicher ausgelesenen
Daten für den Transfer zu dem Datenbus
zwischenspeicherbar sind.
3. Computersystem nach Anspruch 2,
dadurch gekennzeichnet, daß
der Seitenspeicher (370) dynamische Speicher
(371-374) enthält.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/196,721 US5034917A (en) | 1988-05-26 | 1988-05-26 | Computer system including a page mode memory with decreased access time and method of operation thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3909896A1 DE3909896A1 (de) | 1989-11-30 |
DE3909896C2 true DE3909896C2 (de) | 1990-09-20 |
Family
ID=22726583
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE68923403T Expired - Lifetime DE68923403T2 (de) | 1988-05-26 | 1989-03-03 | Verfahren und Anordnung zur Adressierung eines Seitenmodus-Speichers in einem Computersystem. |
DE3909896A Granted DE3909896A1 (de) | 1988-05-26 | 1989-03-25 | Vorrichtung und verfahren fuer den zugriff zu in einem seitenspeicher gespeicherten daten |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE68923403T Expired - Lifetime DE68923403T2 (de) | 1988-05-26 | 1989-03-03 | Verfahren und Anordnung zur Adressierung eines Seitenmodus-Speichers in einem Computersystem. |
Country Status (24)
Country | Link |
---|---|
US (1) | US5034917A (de) |
EP (1) | EP0343769B1 (de) |
JP (1) | JPH06101225B2 (de) |
KR (1) | KR920010950B1 (de) |
CN (1) | CN1010809B (de) |
AT (1) | ATE125058T1 (de) |
BE (1) | BE1003816A4 (de) |
BR (1) | BR8902399A (de) |
CA (1) | CA1319201C (de) |
DE (2) | DE68923403T2 (de) |
DK (1) | DK189589A (de) |
ES (1) | ES2075045T3 (de) |
FI (1) | FI95971C (de) |
GB (1) | GB2219418A (de) |
HK (1) | HK23896A (de) |
IT (1) | IT1230189B (de) |
MX (1) | MX167244B (de) |
MY (1) | MY104737A (de) |
NL (1) | NL8901237A (de) |
NO (1) | NO891581L (de) |
NZ (1) | NZ228610A (de) |
PH (1) | PH30402A (de) |
PT (1) | PT90631B (de) |
SE (1) | SE8901304L (de) |
Families Citing this family (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5159679A (en) * | 1988-09-09 | 1992-10-27 | Compaq Computer Corporation | Computer system with high speed data transfer capabilities |
GB9008145D0 (en) * | 1989-05-31 | 1990-06-06 | Ibm | Microcomputer system employing address offset mechanism to increase the supported cache memory capacity |
US5276856A (en) * | 1989-09-28 | 1994-01-04 | Pixel Semiconductor, Inc. | Memory controller flexible timing control system and method |
CA2028085A1 (en) * | 1989-11-03 | 1991-05-04 | Dale J. Mayer | Paged memory controller |
GB2242294B (en) * | 1990-03-19 | 1993-12-22 | Apple Computer | Memory architecture using page mode writes and single level write buffering |
IL96808A (en) | 1990-04-18 | 1996-03-31 | Rambus Inc | Introductory / Origin Circuit Agreed Using High-Performance Brokerage |
US6751696B2 (en) | 1990-04-18 | 2004-06-15 | Rambus Inc. | Memory device having a programmable register |
US5247636A (en) * | 1990-05-31 | 1993-09-21 | International Business Machines Corporation | Digital processor clock circuit |
US5301299A (en) * | 1990-06-07 | 1994-04-05 | Intel Corporation | Optimized write protocol for memory accesses utilizing row and column strobes |
US5835945A (en) * | 1990-08-06 | 1998-11-10 | Ncr Corporation | Memory system with write buffer, prefetch and internal caches |
US5278967A (en) * | 1990-08-31 | 1994-01-11 | International Business Machines Corporation | System for providing gapless data transfer from page-mode dynamic random access memories |
US5522064A (en) * | 1990-10-01 | 1996-05-28 | International Business Machines Corporation | Data processing apparatus for dynamically setting timings in a dynamic memory system |
US5274786A (en) * | 1990-11-28 | 1993-12-28 | Hewlett-Packard Company | Microprocessor memory bus interface for inhibiting relatching of row address portions upon subsequent accesses including a same row address portion |
US5265236A (en) * | 1990-11-29 | 1993-11-23 | Sun Microsystems, Inc. | Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode |
US5283880A (en) * | 1991-01-02 | 1994-02-01 | Compaq Computer Corp. | Method of fast buffer copying by utilizing a cache memory to accept a page of source buffer contents and then supplying these contents to a target buffer without causing unnecessary wait states |
JP3180362B2 (ja) * | 1991-04-04 | 2001-06-25 | 日本電気株式会社 | 情報処理装置 |
US5353417A (en) * | 1991-05-28 | 1994-10-04 | International Business Machines Corp. | Personal computer with bus interface controller coupled directly with local processor and input/output data buses and for anticipating memory control changes on arbitration for bus access |
US5253214A (en) * | 1991-09-27 | 1993-10-12 | Eastman Kodak Company | High-performance memory controller with application-programmable optimization |
US5551054A (en) * | 1991-11-19 | 1996-08-27 | Adaptec, Inc. | Page mode buffer controller for transferring Nb byte pages between a host and buffer memory without interruption except for refresh |
US5295247A (en) * | 1992-04-17 | 1994-03-15 | Micronics Computers, Inc. | Local IDE (integrated drive electronics) bus architecture |
EP0643852B1 (de) * | 1992-06-04 | 1996-10-16 | Cabletron Systems, Inc. | Adaptive speichersteureinrichtung. |
EP0607668B1 (de) * | 1993-01-21 | 1999-03-03 | Advanced Micro Devices, Inc. | Elektronisches Speichersystem und -verfahren |
US5732236A (en) * | 1993-05-28 | 1998-03-24 | Texas Instruments Incorporated | Circuit and method for controlling access to paged DRAM banks with request prioritization and improved precharge schedule |
US5640527A (en) * | 1993-07-14 | 1997-06-17 | Dell Usa, L.P. | Apparatus and method for address pipelining of dynamic random access memory utilizing transparent page address latches to reduce wait states |
JPH07129456A (ja) * | 1993-10-28 | 1995-05-19 | Toshiba Corp | コンピュータシステム |
US5758107A (en) * | 1994-02-14 | 1998-05-26 | Motorola Inc. | System for offloading external bus by coupling peripheral device to data processor through interface logic that emulate the characteristics of the external bus |
KR970001699B1 (ko) * | 1994-03-03 | 1997-02-13 | 삼성전자 주식회사 | 자동프리차아지기능을 가진 동기식 반도체메모리장치 |
JPH07248963A (ja) * | 1994-03-08 | 1995-09-26 | Nec Corp | Dram制御装置 |
JPH08314795A (ja) * | 1994-05-19 | 1996-11-29 | Hitachi Ltd | 記憶装置の読み出し回路及び記憶システム |
AU703750B2 (en) * | 1994-10-14 | 1999-04-01 | Compaq Computer Corporation | Easily programmable memory controller which can access different speed memory devices on different cycles |
US5701143A (en) * | 1995-01-31 | 1997-12-23 | Cirrus Logic, Inc. | Circuits, systems and methods for improving row select speed in a row select memory device |
USRE36532E (en) * | 1995-03-02 | 2000-01-25 | Samsung Electronics Co., Ltd. | Synchronous semiconductor memory device having an auto-precharge function |
AU5368696A (en) * | 1995-03-22 | 1996-10-08 | Ast Research, Inc. | Rule-based dram controller |
US5638534A (en) * | 1995-03-31 | 1997-06-10 | Samsung Electronics Co., Ltd. | Memory controller which executes read and write commands out of order |
US5666494A (en) * | 1995-03-31 | 1997-09-09 | Samsung Electronics Co., Ltd. | Queue management mechanism which allows entries to be processed in any order |
TW388982B (en) * | 1995-03-31 | 2000-05-01 | Samsung Electronics Co Ltd | Memory controller which executes read and write commands out of order |
US5765203A (en) * | 1995-12-19 | 1998-06-09 | Seagate Technology, Inc. | Storage and addressing method for a buffer memory control system for accessing user and error imformation |
US6209071B1 (en) | 1996-05-07 | 2001-03-27 | Rambus Inc. | Asynchronous request/synchronous data dynamic random access memory |
WO1999019874A1 (en) | 1997-10-10 | 1999-04-22 | Rambus Incorporated | Power control system for synchronous memory device |
US6052756A (en) * | 1998-01-23 | 2000-04-18 | Oki Electric Industry Co., Ltd. | Memory page management |
JPH11272606A (ja) * | 1998-03-19 | 1999-10-08 | Fujitsu Ltd | バス制御装置 |
US6643752B1 (en) * | 1999-12-09 | 2003-11-04 | Rambus Inc. | Transceiver with latency alignment circuitry |
US7266634B2 (en) * | 2000-01-05 | 2007-09-04 | Rambus Inc. | Configurable width buffered module having flyby elements |
US20050010737A1 (en) * | 2000-01-05 | 2005-01-13 | Fred Ware | Configurable width buffered module having splitter elements |
US7017002B2 (en) * | 2000-01-05 | 2006-03-21 | Rambus, Inc. | System featuring a master device, a buffer device and a plurality of integrated circuit memory devices |
US6502161B1 (en) | 2000-01-05 | 2002-12-31 | Rambus Inc. | Memory system including a point-to-point linked memory subsystem |
US7404032B2 (en) * | 2000-01-05 | 2008-07-22 | Rambus Inc. | Configurable width buffered module having switch elements |
US7356639B2 (en) * | 2000-01-05 | 2008-04-08 | Rambus Inc. | Configurable width buffered module having a bypass circuit |
US7363422B2 (en) * | 2000-01-05 | 2008-04-22 | Rambus Inc. | Configurable width buffered module |
US6829184B2 (en) * | 2002-01-28 | 2004-12-07 | Intel Corporation | Apparatus and method for encoding auto-precharge |
US7315928B2 (en) * | 2005-02-03 | 2008-01-01 | Mediatek Incorporation | Apparatus and related method for accessing page mode flash memory |
US8607328B1 (en) | 2005-03-04 | 2013-12-10 | David Hodges | Methods and systems for automated system support |
US8032688B2 (en) * | 2005-06-30 | 2011-10-04 | Intel Corporation | Micro-tile memory interfaces |
US8253751B2 (en) * | 2005-06-30 | 2012-08-28 | Intel Corporation | Memory controller interface for micro-tiled memory access |
US7562271B2 (en) * | 2005-09-26 | 2009-07-14 | Rambus Inc. | Memory system topologies including a buffer device and an integrated circuit memory device |
US11328764B2 (en) | 2005-09-26 | 2022-05-10 | Rambus Inc. | Memory system topologies including a memory die stack |
US7464225B2 (en) * | 2005-09-26 | 2008-12-09 | Rambus Inc. | Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology |
US8878860B2 (en) * | 2006-12-28 | 2014-11-04 | Intel Corporation | Accessing memory using multi-tiling |
US9773533B2 (en) | 2013-06-06 | 2017-09-26 | Etron Technology, Inc. | Memory with low current consumption and method for reducing current consumption of a memory |
CN113361683B (zh) * | 2021-05-18 | 2023-01-10 | 山东师范大学 | 一种生物仿脑存储方法及系统 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4239993A (en) * | 1978-09-22 | 1980-12-16 | Texas Instruments Incorporated | High performance dynamic sense amplifier with active loads |
US4318014A (en) * | 1979-07-27 | 1982-03-02 | Motorola, Inc. | Selective precharge circuit for read-only-memory |
JPS5727477A (en) * | 1980-07-23 | 1982-02-13 | Nec Corp | Memory circuit |
JPS57117168A (en) * | 1981-01-08 | 1982-07-21 | Nec Corp | Memory circuit |
GB2112256B (en) * | 1981-11-18 | 1985-11-06 | Texas Instruments Ltd | Memory apparatus |
US4625300A (en) * | 1982-12-01 | 1986-11-25 | Texas Instruments Incorporated | Single-ended sense amplifier for dynamic memory array |
FR2541796B1 (fr) * | 1983-02-25 | 1987-08-21 | Texas Instruments France | Dispositif permettant de repartir le temps d'acces d'une memoire sur plusieurs utilisateurs |
JPS60108953A (ja) * | 1983-11-15 | 1985-06-14 | モトローラ・インコーポレーテツド | メモリデータバスの多重化方法 |
US4623986A (en) * | 1984-02-23 | 1986-11-18 | Texas Instruments Incorporated | Memory access controller having cycle number register for storing the number of column address cycles in a multiple column address/single row address memory access cycle |
JPS6142793A (ja) * | 1984-08-02 | 1986-03-01 | Seiko Instr & Electronics Ltd | 高速メモリシステム |
US4764901A (en) * | 1984-08-03 | 1988-08-16 | Kabushiki Kaisha Toshiba | Semiconductor memory device capable of being accessed before completion of data output |
JPH0799616B2 (ja) * | 1984-08-30 | 1995-10-25 | 三菱電機株式会社 | 半導体記憶装置 |
EP0179351B1 (de) * | 1984-10-11 | 1992-10-07 | Hitachi, Ltd. | Halbleiterspeicher |
JPS61110394A (ja) * | 1984-10-31 | 1986-05-28 | Mitsubishi Electric Corp | 半導体記憶装置 |
US4649522A (en) * | 1985-02-11 | 1987-03-10 | At&T Bell Laboratories | Fast column access memory |
JPS6228994A (ja) * | 1985-07-29 | 1987-02-06 | Nec Corp | メモリ集積回路 |
US4658381A (en) * | 1985-08-05 | 1987-04-14 | Motorola, Inc. | Bit line precharge on a column address change |
US4754433A (en) * | 1986-09-16 | 1988-06-28 | Ibm Corporation | Dynamic ram having multiplexed twin I/O line pairs |
-
1988
- 1988-05-26 US US07/196,721 patent/US5034917A/en not_active Expired - Fee Related
-
1989
- 1989-03-03 ES ES89302136T patent/ES2075045T3/es not_active Expired - Lifetime
- 1989-03-03 GB GB8904917A patent/GB2219418A/en not_active Withdrawn
- 1989-03-03 EP EP89302136A patent/EP0343769B1/de not_active Expired - Lifetime
- 1989-03-03 DE DE68923403T patent/DE68923403T2/de not_active Expired - Lifetime
- 1989-03-03 AT AT89302136T patent/ATE125058T1/de not_active IP Right Cessation
- 1989-03-25 DE DE3909896A patent/DE3909896A1/de active Granted
- 1989-04-04 NZ NZ228610A patent/NZ228610A/en unknown
- 1989-04-10 PH PH38469A patent/PH30402A/en unknown
- 1989-04-11 SE SE8901304A patent/SE8901304L/ not_active Application Discontinuation
- 1989-04-14 FI FI891784A patent/FI95971C/fi not_active IP Right Cessation
- 1989-04-18 JP JP1096568A patent/JPH06101225B2/ja not_active Expired - Lifetime
- 1989-04-18 NO NO89891581A patent/NO891581L/no unknown
- 1989-04-19 DK DK189589A patent/DK189589A/da not_active Application Discontinuation
- 1989-04-20 BE BE8900436A patent/BE1003816A4/fr not_active IP Right Cessation
- 1989-04-25 CN CN89102626A patent/CN1010809B/zh not_active Expired
- 1989-04-26 MY MYPI89000549A patent/MY104737A/en unknown
- 1989-04-26 KR KR1019890005467A patent/KR920010950B1/ko not_active IP Right Cessation
- 1989-05-03 CA CA000598606A patent/CA1319201C/en not_active Expired - Fee Related
- 1989-05-18 NL NL8901237A patent/NL8901237A/nl not_active Application Discontinuation
- 1989-05-22 MX MX016141A patent/MX167244B/es unknown
- 1989-05-23 PT PT90631A patent/PT90631B/pt not_active IP Right Cessation
- 1989-05-24 IT IT8920624A patent/IT1230189B/it active
- 1989-05-24 BR BR898902399A patent/BR8902399A/pt not_active Application Discontinuation
-
1996
- 1996-02-08 HK HK23896A patent/HK23896A/xx not_active IP Right Cessation
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3909896C2 (de) | ||
DE68910391T2 (de) | Verfahren zum Speicherdatenzugriff. | |
DE68926936T2 (de) | Vorrichtung und Technik für Burstprogrammierung | |
DE3724317C2 (de) | ||
DE69217761T2 (de) | Lese- und Schreibschaltung für einen Speicher | |
DE3588009T2 (de) | Vorrichtung und Verfahren zum Rekonfigurieren eines Speichers in einer Datenverarbeitungsanordnung. | |
DE19882486B4 (de) | Synchroner, nicht-flüchtiger Seitenmodus-Speicher | |
EP0013737B1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE69029479T2 (de) | Hochleistungsspeichersystem | |
EP0974977A2 (de) | Integrierter Speicher | |
DE2617408A1 (de) | Datenverarbeitungsgeraet | |
EP1291878B1 (de) | Steuereinrichtung zur Steuerung von Burst-Zugriffen | |
DE69333319T2 (de) | Datenverarbeitungssystem mit synchronem, dynamischem Speicher in integrierter Schaltkreistechnik | |
DE3852695T2 (de) | Multiprozessorsystem mit mehreren Speichern. | |
DE10309919A1 (de) | Pufferbaustein und Verfahren zum Ansteuern von einer oder mehreren Speicheranordnungen | |
DE4210857A1 (de) | Halbleiterspeichereinrichtung und verfahren zum uebertragen von daten | |
DE69123987T2 (de) | Stossbetrieb für Mikroprozessor mit externem Systemspeicher | |
DE3588061T2 (de) | Speicherzugriffs-Steuerungssystem und -Verfahren für ein Informationsverarbeitungsgerät. | |
DE69119149T2 (de) | Struktur zur direkten Speicher-zu-Speicher-Übertragung | |
AT389951B (de) | Datenuebertragungseinrichtung | |
DE69029815T2 (de) | Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung | |
DE3911721C2 (de) | ||
DE10215362A1 (de) | Integrierter Speicher mit einem Speicherzellenfeld mit mehreren Speicherbänken und Schaltungsanordnung mit einem integrierten Speicher | |
DE68924893T2 (de) | Datenübertragungsverfahren. | |
DE69025782T2 (de) | Registerbankschaltung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8330 | Complete renunciation |