DE3911721A1 - Schaltung zur verzoegerten freigabe eines schreibvorganges in einen vorratsspeicher fuer ein zweifachbus-mikrocomputersystem - Google Patents
Schaltung zur verzoegerten freigabe eines schreibvorganges in einen vorratsspeicher fuer ein zweifachbus-mikrocomputersystemInfo
- Publication number
- DE3911721A1 DE3911721A1 DE3911721A DE3911721A DE3911721A1 DE 3911721 A1 DE3911721 A1 DE 3911721A1 DE 3911721 A DE3911721 A DE 3911721A DE 3911721 A DE3911721 A DE 3911721A DE 3911721 A1 DE3911721 A1 DE 3911721A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- write enable
- bus
- storage
- input
- 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.)
- Granted
Links
Classifications
-
- 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Bus Control (AREA)
- Hardware Redundancy (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
- Multi Processors (AREA)
- Microcomputers (AREA)
- Saccharide Compounds (AREA)
Description
Die vorliegende Erfindung betrifft ein Mehrfachbus-
Mikrocomputersystem mit einem Vorratsspeicher-Untersystem
und insbesondere eine Verbesserung zur Erhöhung
der Toleranz hinsichtlich langsamer Speichereinheiten
bei erfolglosen Lesevorgängen aus dem Vorratsspeicher,
ohne dabei auf Parameter von Wartezuständen einzuwirken.
Hintergrundinformationen bezüglich des 80386, seiner
Eigenschaften und seiner Verwendung in Mikrocomputersystemen
einschließlich Vorratsspeicher-Untersystemen
sind in den Intel-Veröffentlichungen "Introduction to
the 80386", April 1986, und "80386 Hardware Reference
Manual", 1986, beschrieben. Die Eigenschaften und
Betriebsleistungen des 82385 sind in der Intel-Veröffentlichung
"82385 High Performance 32-Bit Cash
Controller", 1987, beschrieben.
In Mikrocomputersystemen ist, wie in anderen Computersystemen,
die Betriebsgeschwindigkeit ein wichtiges
Kriterium, das in den meisten Fällen sich mit den
Systemkosten im Gleichgewicht halten muß. Viele Merkmale,
die zuerst zur Erhöhung der Verarbeitungsgeschwindigkeit
bei mittleren und Minicomputern eingeführt
worden sind, finden jetzt den Weg zu Mikrocomputersystemen.
Diese Merkmale enthalten Vorratsspeicher-
Untersysteme.
Die Verwendung von Vorratsspeicher-Untersystemen hat
eine Mehrfachbus-Computer-Architektur zur Folge.
Insbesondere verbindet in einem Mikroprozessorsystem
mit einem Vorratsspeicher-Untersystem ein erster Bus,
zur Vereinfachung als lokaler CPU-Bus gekennzeichnet,
den Mikroprozessor (beispielsweise einen 80386), eine
Vorratsspeicher-Verwaltung (die einen 82385-Cash-
Controller enthalten kann) und einen Speicher mit
wahlfreiem Zugriff, der als Vorratsspeicher dient. Der
lokale CPU-Bus kann über einen Puffer mit einem zweiten
Bussystem zusammengeschaltet sein, das zur Vereinfachung
als Systembus bezeichnet ist. Andere Einheiten können
an den Systembus angeschlossen sein (entweder direkt
oder indirekt), so ein Hauptspeicher, Eingabe/Ausgabe-
Vorrichtungen, Nur-Lese-Speicher usw.
Ein wesentlicher Grund für die Verwendung eines Vorratsspeicher-
Untersystems ist die Erhöhung der Geschwindigkeit
von Speicheroperationen, indem dem Prozessor
erlaubt wird, in dem Ausmaß von dem Vorratsspeicher-
Untersystem zu lesen, wie die benötigten Informationen
dort gespeichert sind. Das Vorratsspeicher-Untersystem
hat normalerweise einen Geschwindigkeits-Vorteil
gegenüber dem Hauptspeicher. In dem Ausmaß, in dem
Speicherzugriffe auf das Vorratsspeicher-Untersystem
beschränkt werden können, benötigt der Prozessor keinen
Zugriff auf den Systembus. Dies macht den Systembus in
bedeutendem Umfang frei für die Verwendung bei anderen
Operationen, z. B. Eingabe/Ausgabe-Operationen, DMA
usw. Das ist ein weiterer Vorteil von Mikrocomputersystemen
mit Vorratsspeicher-Untersystemen.
Zur Aufrechterhaltung eines ordnungsgemäßen Ablaufs der
verschiedenen, auszuführenden Operationen, sind die
Operationen in Zeiteinheiten aufgeteilt, die als
Taktzustände bezeichnet sind. In einem Mikrocomputersystem,
das beispielsweise den 80386-Prozessor und den
82385-Cash-Controller verwendet, benötigt die schnellste
Speicheroperation zwei Taktzyklen, von denen jede
aus zwei Taktzuständen besteht. Andere Operationen, die
mehr als zwei Taktzyklen benötigen, sind dadurch
gekennzeichnet, daß sie diejenige Anzahl von Wartezuständen
aufweisen, die gleich ist der Differenz zwischen
der Anzahl der für die Operation benötigten
Taktzyklen und den minimalen zwei Taktzyklen (die
ebenfalls als "Null"-Wartezustand bezeichnet sind).
Da die Verarbeitungsgeschwindigkeit ein wichtiges
Kriterium ist, ist es ein Vorteil, wenn gewährleistet
werden kann, daß es sich bei den Operationen in einem
möglichst großen Umfang um Null-Wartezustands-Operationen
handelt, im Gegensatz zu Ein- oder Zwei-Wartezustands-
Operationen usw.
Zugriffe auf den Vorratsspeicher stellen eine Art von
Null-Wartezustands-Operationen dar.
Während wünschenswerterweise so viel Speicherzugriffe
als möglich über das Vorratsspeicher-Untersystem abgewickelt
werden, ist es natürlich zeitweise erforderlich,
auf den Hauptspeicher zuzugreifen. Ein beim Betrieb
eines Vorratsspeicher-Untersystems verwendetes Prinzip
ist es, daß im Falle eines erfolglosen Lesevorgangs,
d. h. bei einer Leseoperation, bei der die benötigte
Information nicht im Vorratsspeicher-Untersystem
gefunden worden ist, daß dann die Information sofort
nach dem Auslesen aus dem Hauptspeicher in das Vorratsspeicher-
Untersystem eingeschrieben wird. Durch die
Benützung dieses Prinzips ist die ausgelesene Information
danach in dem Vorratsspeicher-Untersystem verfügbar
(sofern sie nicht überschrieben worden ist), so daß
nachfolgende Zugriffe zu derselben Information nicht
auf den Hauptspeicher zugreifen müssen.
Demnach sind im Falle eines erfolglosen Lesevorgangs
zwei Operationen erforderlich, nämlich (1) der Zugriff
auf den Hauptspeicher, um die benötigte Information
auszulesen und dem Prozessor verfügbar zu machen und
(2) das Einschreiben der gerade aus dem Hauptspeicher
ausgelesenen Information in das Vorratsspeicher-Untersystem.
Es ist eine Eigenart der technischen Ausführung des
82385, daß im Falle eines erfolglosen Lesevorgangs die
Information, auf die im Hauptspeicher zugegriffen
werden soll, vor demjenigen Zeitpunkt in das Vorratsspeicher-
Untersystem eingeschrieben sein muß, in dem
die Information für den Prozessor verfügbar sein muß.
Der Chip-Hersteller erkennt diesen Zustand und schlägt
eine von zwei Alternativen vor, nämlich entweder die
Auswahl von ausreichend schnellen Hauptspeichern, so
daß auf die Daten zugegriffen werden kann und sie
innerhalb der für eine feststehende Wartezustands-
Operation erforderlichen Zeitdauer für den 82385
verfügbar gemacht werden können, oder die Erhöhung der
normalerweise benötigten Länge des Zyklus durch die
Hinzufügung von zusätzlichen, erforderlichen Wartezuständen.
Obwohl beide Alternativen praktikabel sind,
hat die erste Alternative Systemkosten zur Folge, da
die schnelleren Speicher, die zur Bewältigung der
Zeit-Bedingungen des 82385 erforderlich sind, notwendigerweise
teurer sind, während die zweite Alternative
bei jedem erfolglosen Lesevorgang durch das
Einschieben von einem oder mehreren Wartezuständen
Verzögerungen bewirkt.
Aus diesem Grund ist es ein Ziel der vorliegenden
Erfindung, das Erfordernis dieser Auswahl zu eliminieren
und auf diese Weise die Systemtoleranz hinsichtlich
langsamerer Speicherbausteine zu erhöhen,
ohne dadurch auf Wartezustands-Parameter bei erfolglosen
Leseoperationen einzuwirken.
Die Erfindung begegnet diesem und anderen Zielen der
Erfindung durch die Bereitstellung einer logischen
Schaltung zur Verzögerung von ausgewählten Freigabesignalen
für Vorratsspeicher-Schreibvorgänge im Falle
des Zustands eines erfolglosen Lesevorgangs.
Insbesondere erhält die logische Schaltung Mittel zur
Erkennung des Zustands eines erfolglosen Lesevorgangs.
Der Zustand eines erfolglosen Lesevorgangs wird dadurch
angezeigt, daß ein Systembus-Lesesignal (BUSRD) aktiv
ist und ein Vorratsspeicher-Schreib-Freigabesignal
(CWE) ebenfalls aktiv ist. Die logische Schaltung
enthält des weiteren Mittel, die von einem Vorratsspeicher-
Schreib-Freigabe-Ausgangssignal (CWE) des
82385 abhängig sind, um das aktive Vorratsspeicher-
Schreib-Freigabesignal im Falle einer erkannten,
erfolglosen Leseoperation zu verzögern.
Bei einer bestimmten Ausführungsform der Erfindung, die
beschrieben werden wird, besteht das Vorratsspeicher-
Untersystem aus einem zweiteiligen, zusammengehörigen
Vorratsspeicher, der also zwei Speicherbänke enthält.
Der 82385 stellt ein spezielles Vorratsspeicher-Schreib-
Freigabesignal für jede der Speicherbänke zur Verfügung.
Der 82385 erzeugt ebenfalls ein Freigabesignal für
eine Vorratsspeicher-Adressenzwischenspeicherung
(CALEN) sowie Chip-Auswahlsignale (CS0, CS1, CS2 und
CS3).
Entsprechend der vorliegenden Erfindung wirkt die
logische Schaltung auf die Vorratsspeicher-Schreib-
Freigabesignale ein, und zwar die Vorratsspeicher-
Schreib-Freigabesignale von beiden Speicherbänken A
und B: Wenn eine erfolglose Leseoperation erkannt wird,
dann wird eines von zwei (Vorratsspeicher-Schreib-Freigabe-)
Toren teilweise freigegeben durch die aktive "1"
der Vorratsspeicher-Schreib-Freigabesignale (entweder
das der Bank A zugeordnete oder das der Bank B). Die
logische Schaltung erkennt das aktive BUSRD-Signal und
reagiert ebenfalls auf die Vorratsspeicher-Schreib-Freigabesignale,
jeweils für das bestimmte, freigegebene
Signal (Bank A oder Bank B). Die logische Schaltung
verzögert das aktive Signal der Vorratsspeicher-
Schreib-Freigabesignale und gibt dann nach der Vorgabe
der ausgewählten Verzögerung dasjenige der Tore vollständig
frei, das der Vorratsspeicher-Bank zugeordnet
ist, auf die geschrieben werden soll.
Die erfindungsgemäße logische Schaltung enthält des
weiteren eine Mehrzahl von Puffern, jeweils einer für
das CALEN-, CS0-, CS1-, CS2- und CS3-Signal, wobei
diese Signale über den jeweils zugeordneten Puffer dem
Vorratsspeicher-Untersystem zugeführt sind.
Auf diese Weise wird im Falle einer erfolglosen Leseoperation
das zugeordnete Schreib-Freigabesignal verzögert.
Die Puffer bewirken eine Gatter-Verzögerung für die
CALEN-, CS0-, CS1-, CS2- und CS3-Signale entsprechend
der durch das Vorratsspeicher-Schreib-Freigabesignal-
Tor erzeugten Verzögerung.
In dem Fall, daß ein Vorratsspeicher-Schreib-Freigabesignal
aktiv wird (z. B. für die Ausführung eines
Vorratsspeicher-Schreib-Vorgangs, der nicht mit dem
Zustand eines erfolglosen Lesevorgangs einhergeht),
dann erkennt die logische Schaltung natürlich nicht den
Zustand eines erfolglosen Lesevorgangs, so daß keine
Verzögerung des Vorratsspeicher-Schreib-Freigabesignals
durch die logische Schaltung erzeugt wird. Das zugehörige
Tor verursacht jedoch eine Gatter-Verzögerung dieses
Signals, und die Puffer erzeugen eine im wesentlichen
gleiche Verzögerung der zugehörigen CALEN-, CS0-, CS1-,
CS2- und CS3-Signale.
So wird also unter einem Gesichtspunkt der Erfindung
ein verbessertes 80386/82385-Vorratsspeicher-Mehrfachbus-
Mikrocomputersystem geschaffen, mit dem in ausgewählter
Weise Vorratsspeicher-Schreib-Signale verzögert
werden, die einem erfolglosen Lesevorgang folgen, um
dadurch die Systemtoleranz hinsichtlich langsamerer
Speicherkomponenten zu verbessern, ohne auf Parameter
von Wartezuständen für die erfolglosen Leseoperationen
einzuwirken, wobei dieses Mikrocomputersystem ein
Vorratsspeicher-Untersystem umfaßt, das den 82385-
Cash-Controller enthält, einen Vorratsspeicher und
einen lokalen Bus, der den 82385-Cash-Controller und
den Vorratsspeicher mit dem 80386-Prozessor verbindet,
sowie logische Verzögerungsmittel, die auf einen durch
einen erfolglosen Lesevorgang hervorgerufenen Vorratsspeicher-
Schreibvorgang reagieren und in ausgewählter
Weise Vorratsspeicher-Schreib-Freigabesignale verzögern,
wobei diese logischen Verzögerungsmittel (a) Mittel in
der Form von programmierbaren logischen Feldern enthalten,
deren Eingang mit den Schreib-Freigabesignalen des
82385-Cash-Controllers verbunden sind, um an einem
Schreib-Freigabe-Anschluß als Antwort auf ein aktives
Bus-Lese-Signal ein verzögertes Schreib-Freigabe-Signal
zu erzeugen, sowie (b) ein erstes logisches Gatter mit
einem ersten Eingang, der abhängig ist von dem Schreib-
Freigabesignal des 82385-Cash-Controllers, sowie mit
einem zweiten Eingang, der an den Schreib-Freigabe-Anschluß
angeschlossen ist, und schließlich mit einem
Ausgang, der mit einem Schreib-Freigabe-Eingang des
Vorratsspeichers verbunden ist.
Fig. 1 ist ein dreidimensionaler Überblick über ein
typisches Mikrocomputersystem, das die
vorliegende Erfindung verwendet;
Fig. 2 ist ein detailliertes Blockdiagramm der
Mehrzahl der Komponenten eines typischen
Mikrocomputersystems, das die vorliegende
Erfindung verwendet;
Fig. 3 ist ein detailliertes Blockdiagramm des
82385, des Vorratsspeichers mit wahlfreiem
Zugriff der logischen Schaltung und des
Puffers der vorliegenden Erfindung;
Fig. 4 ist ein Zeitdiagramm, das die verschiedenen
zeitlichen Anforderungen des 82385 und des
80386 darstellt; und
Fig. 5a bis 5c zeigen die Funktionsweise der Erfindung
für Vorratsspeicher-Schreibvorgänge bei
erfolglosen Lesevorgängen wie auch bei
Vorratsspeicher-Schreibvorgängen, die
nicht durch erfolglose Lesevorgänge
hervorgerufen wurden.
Fig. 1 zeigt ein typisches Mikrocomputersystem, in dem
die vorliegende Erfindung verwendet werden kann. Wie
dargestellt, enthält ein Mikrocomputersystem 10 eine
Anzahl Komponenten, die miteinander verbunden sind.
Insbesondere ist eine Systemeinheit 30 an einen Bildschirm
20 (beispielsweise einen bekannten Video-Bildschirm)
angeschlossen und steuert diesen. Die Systemeinheit
30 ist ebenfalls mit Eingangsgeräten, wie
beispielsweise einer Tastatur 40 und einer Maus 50
verbunden. Ein Ausgangsgerät, wie beispielsweise ein
Drucker 60, kann ebenfalls an die Systemeinheit 30
angeschlossen sein. Schließlich kann die Systemeinheit
30 eine oder mehrere Diskettenlaufwerke enthalten, wie
beispielsweise ein Diskettenlaufwerk 70. Wie nachfolgend
beschrieben werden wird, antwortet die Systemeinheit
30 auf die Eingabegeräte, wie die Tastatur 40 und
die Maus 50, sowie auf Eingabe/Ausgabegeräte, wie das
Diskettenlaufwerk 70, und stellt Signale bereit, die
die Ausgangsgeräte, wie den Bildschirm 20 und den
Drucker 60 ansteuern.
Selbstverständlich ist sich ein Fachmann darüber im
klaren, daß auch andere bekannte Komponenten mit der
Systemeinheit verbunden werden können, um mit ihr
zusammenzuarbeiten. Entsprechend der vorliegenden
Erfindung enthält das Mikrocomputersystem 10 (wie
nachfolgend noch beschrieben werden wird) ein Vorratsspeicher-
Untersystem, bestehend aus einem lokalen
CPU-Bus, der einen Prozessor, eine Vorratsspeicher-
Verwaltung und einen Vorratsspeicher miteinander
verbindet, wobei der lokale CPU-Bus über einen Puffer
an einen Systembus angeschlossen ist. Der Systembus ist
mit den E/A-Geräten verbunden und arbeitet mit diesen
zusammen, wie beispielsweise die Tastatur 40, die Maus
50, das Diskettenlaufwerk 70, der Bildschirm 20 und der
Drucker 60. Des weiteren kann entsprechend der vorliegenden
Erfindung die Systemeinheit 30 auch einen dritten
Bus enthalten, der aus einem Mikrokanal-Bus besteht,
und der der Zusammenschaltung zwischen dem Systembus
und anderen (zusätzlichen) Eingabe/Ausgabe-Geräten,
Speichern usw. dient.
Fig. 2 ist ein ausführliches Blockdiagramm, das die
verschiedenen Komponenten eines typischen, der vorliegenden
Erfindung entsprechenden Mikrocomputersystems
zeigt. Ein lokaler CPU-Bus 230 (der Daten-, Adreß- und
Steuerbestandteile enthält) ist für die Verbindung
eines Mikroprozessors 225 (beispielsweise eines 80386),
einer Vorratsspeicher-Verwaltung 260 (die einen 82385-
Cash-Controller enthalten kann) und eines Vorratsspeichers
mit wahlfreiem Zugriff 255 vorgesehen. Des
weiteren ist an dem lokalen CPU-Bus 230 ein Puffer 240
angeschlossen. Der Puffer 240 selbst ist mit einem
Systembus 250 verbunden, der ebenfalls Adressen-,
Daten- und Steuerbestandteile enthält. Der Systembus
250 erstreckt sich zwischen dem Puffer 240 und einem
weiteren Puffer 253.
Der Systembus 250 ist ebenfalls mit einer Bussteuer-
und Zeitablauf-Einheit 265 und einer DMA-Verwaltung 325
verbunden. Eine Buszuteilungsverwaltung 340 verbindet
die Bussteuer- und Zeitablaufeinheit 265 mit einer
zentralen Zuteilungseinheit 335. Ein Speicher 350 ist
ebenfalls an den Systembus 250 angeschlossen. Der
Speicher 350 enthält eine Speicherverwaltung 351, einen
Adreßmultiplexer 352 und einen Datenpuffer 353. Diese
Bestandteile sind mit den Speichereinheiten 360 bis 364
zusammengeschaltet, wie dies in der Fig. 2 dargestellt
ist.
Ein weiterer Puffer 254 ist zwischen den Systembus 250
und einen Planarbus 270 geschaltet. Der Planarbus 270
enthält jeweils Adresse-, Daten- und Steuerbestandteile.
Entlang dem Planarbus 270 sind verschiedene E/A-
Adapter und andere Bestandteile angeschlossen, wie
beispielsweise ein Bildschirmadapter 275 (der zur
Ansteuerung des Bildschirms 20 verwendet wird), ein
Zeitgeber 280, zusätzliche Speicher mit wahlfreiem
Zugriff 285, ein RS-232-Adapter 290 (der für serielle
E/A-Operationen verwendet wird), ein Druckeradapter 295
(der zur Ansteuerung des Druckers 60 verwendet werden
kann), ein Zeitgeber 300, ein Disketten-Adapter 305
(der mit der Diskettenstation 70 zusammenarbeitet),
eine Unterbrechungsverwaltung 310 sowie Nur-Lese-Speicher
315. Der Puffer 253 stellt eine Schnittstelle dar
zwischen dem Systembus 250 und einem Bus für zusätzliche
Geräte, wie beispielsweise einem Mikrokanal-Bus
320, der durch die Mikrokanal-Sockel dargestellt ist.
Geräte, wie beispielsweise ein Speicher 331, können an
den Bus 320 angeschlossen werden.
Während Daten für Vorratsspeicher-Schreibvorgänge aus
dem Speicher 350 abgeleitet werden können, ist es auch
möglich, diese Daten aus anderen Speichern zu entnehmen,
wie beispielsweise aus den an den Mikrokanal-Bus
angeschlossenen Speichern.
In einem bekannten 80386/82385-Mikrocomputersystem ist
der Benutzer damit konfrontiert, im Zusammenhang mit
Speicheroperationen und insbesondere mit Operationen,
die einem erfolglosen Lesevorgang folgen, aus zwei
wenig verlockenden Alternativen auswählen zu müssen.
In einem solchen System legt der Mikroprozessor während
eines Lesezyklus eine Adresse auf den Adreßbestandteil
des lokalen CPU-Busses 230 an. Die Vorratsspeicher-
Verwaltung 260 antwortet auf die Adresse und stellt
fest, ob die benötigte Information im Vorratsspeicher
255 enthalten ist. Im Falle, daß die Information im
Vorratsspeicher 255 gefunden wird, wird der Vorratsspeicher
255 adressiert, und die Daten werden auf den
Datenbestandteil des lokalen CPU-Busses angelegt, wo
sie für den Mikroprozessor 225 verfügbar sind. In
demjenigen Fall jedoch, bei dem die benötigten Informationen
sich nicht im Vorratsspeicher 255 befinden,
gibt die Vorratsspeicher-Verwaltung 260 den Puffer 240
frei, so daß die Adresse vom lokalen CPU-Bus 230 zum
Systembus 250 weitergegeben werden kann. Wenn die
benötigte Adresse den Systembus 250 erreicht, so ist
sie für den Speicher 350 verfügbar, und nach einer
aufgrund der Eigenschaften des Speichers 350 erforderlichen
Zeitdauer erscheinen die adressierten Daten auf
dem Datenbestandteil des Systembusses 250. Die Daten
werden in den Puffer 240 eingegeben, von wo aus sie
dann für beide, den Vorratsspeicher 255 und den Mikroprozessor
225, verfügbar sind. Die Information wird im
Vorratsspeicher 255 dazu verwendet, um sie in diesen
Speicher einzuschreiben, so daß, falls dieselbe Information
nochmals benötigt wird, ein weiterer Zugriff zum
Speicher 350 nicht erforderlich ist. Gleiche Operationen
können im Zusammenhang mit Speichern auftreten, die an
den Planarbus 270 oder den Bus für zusätzliche Geräte
angeschlossen sind. Im Falle des Busses für zusätzliche
Geräte wird die Adreßinformation über den Puffer 253 zu
dem an diesen Bus angeschlossenen Speicher weitergegeben.
Daten von diesem Speicher gelangen über den Puffer 253
zurück zum Systembus 250 und über den Puffer 240 zum
lokalen CPU-Bus 230.
Wie jedoch bereits erwähnt wurde, erfordern die Eigenarten
des 82385, daß die als Ergebnis eines erfolglosen
Lesevorgangs gewonnenen Informationen zum Einschreiben
in den Vorratsspeicher 255 auf dem lokalen CPU-Bus
verfügbar sein müssen, bevor sie vom Prozessor 225
benötigt werden. Mit anderen Worten sind die an den
Speicher 350 oder an andere Speicher durch den 82385
gestellten zeitlichen Anforderungen strenger als die
von 80386 vorgegebenen zeitlichen Anforderungen. Der
Hersteller des 82385 schlägt deshalb vor, daß der
Benutzer entweder
- 1. Speicherelemente für den Hauptspeicher 350 oder einen anderen Speicher auswählt (beispielsweise die Einheiten 361 bis 364), die schnell genug sind, um die zeitlichen Anforderungen des 82385 mit einem festgelegten Wartezustand zu erfüllen oder
- 2. sicherstellt, daß die durch einen erfolglosen Lesevorgang hervorgerufene Zweifach-Operation einen zusätzlichen Wartezustand belegt.
Wie nachfolgend beschrieben werden wird, beseitigt die
vorliegende Erfindung dieses Erfordernis, aus zwei
unerwünschten Alternativen eine auswählen zu müssen,
indem sie die harten, von dem 82385 vorgegebenen
zeitlichen Anforderungen beseitigt, so daß die an den
Hauptspeicher 350 oder einen anderen Speicher gestellten
zeitlichen Anforderungen nicht mehr strenger sind
als die von dem 80386-Prozessor vorgegebenen Anforderungen.
Für die Ausführung der Erfindung sind der Vorratsspeicher-
Verwaltung 260 zusätzlich zum 82385-Chip verschiedene
logische Bausteine hinzugefügt, wie dies in der
Fig. 3 dargestellt ist.
Fig. 3 zeigt in Form eines Blockdiagramms detailliert
die Baueinheiten der Vorratsspeicher-Verwaltung 260 und
des Vorratsspeichers 255. Insbesondere ist der Vorratsspeicher
255 an den Datenbestandteil des lokalen
CPU-Busses 230 angeschlossen und über einen Zwischenspeicher
255 L an die Adreßkomponente des lokalen
CPU-Busses 230.
Die Vorratsspeicher-Verwaltung 260 enthält den 82385-
Cash-Controller sowie einen logischen Baustein 261.
Fig. 3 zeigt diejenigen Ausgangssignale des 82385, die
zu Vorratsspeicher-Schreiboperationen zugehörig sind.
Diese Signale sind das Vorratsspeicher-Zwischenspeicher-
Freigabesignal (CALEN), die Vorratsspeicher-Schreib-
Freigabesignale CWEA (für die Bank A) und CWEB (für die
Bank B) sowie die Chip-Auswahlsignale CS0, CS1, CS2 und
CS3.
Wie in Fig. 3 gezeigt, empfängt die Logik 261 als
Eingangssignale die CWEA- und CWEB-Signale zusammen mit
zwei taktgebenden Signalen, CLK und CLK2 (das erstere
besitzt genau die halbe Taktfrequenz des letzteren)
sowie ein BUSRD-Signal (das einen Lesevorgang auf dem
Systembus anzeigt). BUSRD wird bei Operationen aktiv,
die auf dem Systembus 250 stattfinden. Jeder Speicher-
Lesevorgang (außer demjenigen aus dem Vorratsspeicher)
findet (zumindest teilweise) auf dem Systembus 250
statt.
Die Logik 261 antwortet auf ihre Eingangssignale und
erzeugt unter den entsprechenden Bedingungen ein
DCWEA-Signal (verzögertes Vorratsspeicher-Schreib-
Freigabesignal A) oder ein DCWEB-Signal (verzögertes
Vorratsspeicher-Schreib-Freigabesignal B). Insbesondere
wenn CWEA und BUSRD aktiv sind (was unmißverständlich
einen erfolglosen Lesevorgang anzeigt), dann wird zu
gegebener Zeit das DCWEA-Signal erzeugt. In entsprechender
Weise wird bei Vorliegen eines aktiven CWEB-Signals
und eines aktiven BUSRD-Signals zu gegebener Zeit das
DCWEB-Signal erzeugt.
Die Ausgangssignale DCWEA und DCWEB der Logik 261
stellen jeweils eine Eingabe in das zugehörige logische
Gatter 263 A oder 263 B dar. Jedes dieser Gatter empfängt
des weiteren eine entsprechende Eingabe von den zugehörigen
Ausgängen des 82385, d. h., das Gatter 263 A wird an
seinem anderen Eingang mit dem CWEA-Signal versorgt und
entsprechend das Gatter 263 B an seinem anderen Eingang
mit dem CWEB-Signal.
Zusätzlich zu den logischen Gattern 263 A und 263 B
enthält die Vorratsspeicher-Verwaltung 260 des weiteren
einen Puffer 262, der aus den Pufferbestandteilen 262 a
bis 262 e zusammengesetzt ist, von denen jedes einem der
Signale CALEN, CS0, CS1, CS2 und CS3 zugeordnet ist.
Wie in der Fig. 3 gezeigt, ist jedes der Elemente des
Puffers 262 in logisches Gatter, das andauernd teilweise
freigegeben ist (indem ein Eingang an die vorgegebene
Spannung angeschlossen ist). Der andere Eingang
der Pufferelemente ist mit dem entsprechenden Ausgang
des 82385 verbunden. Der Ausgang des Pufferelements
262 a beaufschlagt als Steuereingang den Zwischenspeicher
255 L. Die Ausgänge der Pufferelemente 262 b bis
262 e sind direkt als CS0 bis CS3 an den Vorratsspeicher
255 angeschlossen.
Bevor die Funktionsweise der Bestandteile der Fig. 3
beschrieben wird, wird auf die Fig. 4 verwiesen, um den
vorgegebenen Zeitablauf darzustellen.
Fig. 4 zeigt drei Zeitdiagramme. Jedes der Diagramme
beginnt in dem Zeitpunkt, in dem eine Systembus-
Operation erfolgt, d. h., wenn das BUSRD-Signal aktiv
wird. Die mit 80386 bezeichnete Linie zeigt, daß nach
einer Zeitdauer MT1 nach dem Beginn eines erfolglosen
Lesevorgangs ("Read Miss"), die vom Speicher ausgegebenen
Daten gültig werden. Die Zeitdauer MT1 ist die
dem Speicher durch die Anforderungen des 80386 vorgegebene
Zeittoleranz.
Mit der in der Fig. 4 mit 82385 gekennzeichneten Linie
sind die durch die 82385 vorgegebenen zeitlichen
Erfordernisse dargestellt. Insbesondere erzeugt der
82385 die Signale CWEA und CWEB derart, daß gültige
Daten nach der Zeitdauer MT2 vom Speicher verfügbar
sein müssen, d. h. zu einem Zeitpunkt, bevor gültige
Daten vom 80386 benötigt werden. Auf diese Weise zeigt
Fig. 4 die härteren zeitlichen Anforderungen (MT2) des
82385 im Vergleich zu den milderen zeitlichen Anforderungen
(MT1) des 80386.
Fig. 4 zeigt auch die Wirkung der Logik 261. Insbesondere
folgen die DCWEA- und/oder DCWEB-Ausgangssignale
der Logik 261 den milderen zeitlichen Anforderungen des
80386. Insbesondere sind die DCWEA- und/oder DCWEB-
Signale um die in Fig. 4 gezeigte "Verzögerung" gegenüber
den CWEA- und CWEB-Signalen verzögert. Auf diese
Weise, also durch diese Verzögerung, sind die milderen
zeitlichen Anforderungen des 80386 die einzigen, im
Falle eines erfolglosen Lesevorgangs an den Hauptspeicher
350 gestellten zeitlichen Anforderungen. Dies ermöglicht
es, weniger kostspielige Speicherkomponenten zu benutzen
im Vergleich zu denjenigen Komponenten, die für die
82385 benötigt werden würden, um einen erfolglosen
Lesevorgang innerhalb einer bestimmten Anzahl von
Wartezuständen zu vervollständigen.
Die internen Bauteile der Logik 261 verwirklichen die
folgenden logischen Gleichungen:
/DCWEA := /BUSRD & /CLK & /CWEA
/DCWEB := /BUSRD & /CLK & /CWEB,
/DCWEB := /BUSRD & /CLK & /CWEB,
wobei der Operator "&" eine logische UND-Verknüpfung
und der Operator "/" eine Negation darstellt sowie die
anderen Signale (außer BUSRD) bereits definiert wurden.
Die Fig. 5a bis 5c sind bei der Erklärung der Funktionsweise
der in der Fig. 3 gezeigten Bauelemente
hilfreich. Insbesondere zeigt Fig. 5a ein typisches
CWE-Signal. Das Signal hat zwei Übergänge, ein erster
nach "low" gehender Übergang und ein zweiter, nach
"high" gehender Übergang. Der Vorratsspeicher 255 ist
derart eingerichtet, daß er einen Schreibvorgang
bewirkt bei dem nach "high" gehenden Übergang des
CWE-Signals, wie dies in der Fig. 5a dargestellt ist.
Fig. 5b zeigt typische CWE-, DCWE-Signale und das
Ausgangssignal des Gatters (entweder 263 A oder 263 B) im
Zustand eines erfolglosen Lesevorgangs. Wie mit einer
ersten Linie dargestellt ist, wird das CWE-Signal vom
82385 erzeugt. Im Zustand eines erfolglosen Lesevorgangs
erzeugt das logische Element 261 das DCWE-Signal
hinsichtlich des CWE-Signals um eine vorgegebene Verzögerung
verspätet. Die dritte Linie der Fig. 5b (mit
Gate gekennzeichnet) zeigt das Ausgangssignal des
entsprechenden Gatters (263 A oder 263 B). Insbesondere
weist das Ausgangssignal des Gatters 263 einen nach
"low" gehenden Übergang auf, der als ein Ergebnis des
nach "low" gehenden Übergangs des Signals CWE erzeugt
wird. Wenn das CWE-Signal einem nach "high" gehenden
Übergang unterzogen wird, verbleibt der Gatterausgang
"low" wegen der "low"-Eingabe durch das DCWE-Signal.
Nur wenn das DCWE-Signal nach "high" übergeht, geht
auch das Ausgangssignal des Gatters nach "high" über,
so daß der Zeitablauf des Schreibvorgangs durch den
nach "high" gehenden Übergang des DCWE-Signals ausgelöst
wird. Wie aus der dritten Zeile der Fig. 5b
hervorgeht, wird der Schreibvorgang verglichen mit dem
nach "high" gehenden Übergang des DCWE-Signals verzögert,
und zwar um die durch das logische Element 261
bewirkte Verzögerung.
Fig. 5c zeigt die Funktionsweise während eines Vorratsspeicher-
Schreibvorgangs im Unterschied zu derjenigen
bei einem erfolglosen Lesevorgang auftretenden Funktionsweise.
Die erste Linie der Fig. 5c (als CWE
gekennzeichnet) zeigt das CWE-Signal, wie es vom 82385
erzeugt wird. Da die Fig. 5c einen Vorratsspeicher-
Schreibvorgang darstellt, der nicht durch einen erfolglosen
Lesevorgang hervorgerufen wird, weist das DCWE-
Signal überhaupt keinen Übergang auf (das BUSRD-Signal
verbleibt inaktiv). Demgemäß verläuft das Ausgangssignal
des Gatters (263 A oder 263 B) synchron mit dem CWE-Signal,
so daß der Schreibvorgang überhaupt nicht verzögert
ist.
In einer tatsächlich gebauten Ausführungsform der
Erfindung liegt die Verzögerungszeitdauer etwa in der
Größenordnung von 25 Nanosekunden.
Die logischen Gleichungen, auf die vorstehend Bezug
genommen worden ist, werden nachfolgend nochmals
wiedergegeben. In diesen Unterlagen haben die Symbole
die folgenden ihnen zugeordneten Bedeutungen:
Symbol | |
Definition | |
/ | |
Negation | |
:= | ein registrierter Ausdruck ist gleich . . . |
= | ein kombinatorischer Ausdruck ist gleich . . . |
& | logisch UND |
+ | logisch ODER |
/BUSRD:=BUSRD & BUSCYC385 & /BADS & /(BW/R) & CLK
+ BUSRD & /PIPECYCLE385 & /(BW/R) & CLK
+ /BUSRD & BREADY
+ /BUSRD & /MISS1
+ /BUSRD & /CLK (1)
+ BUSRD & /PIPECYCLE385 & /(BW/R) & CLK
+ /BUSRD & BREADY
+ /BUSRD & /MISS1
+ /BUSRD & /CLK (1)
/BUSCYC385:=BUSCYC385 & /BADS & CLK
+ BUSCYC385 & /PIPECYC385 & CLK
+ BUSCYC385 & /BT2 & CLK
+ /BUSCYC385 & BREADY
+ /BUSCYC385 & /CLK (2)
+ BUSCYC385 & /PIPECYC385 & CLK
+ BUSCYC385 & /BT2 & CLK
+ /BUSCYC385 & BREADY
+ /BUSCYC385 & /CLK (2)
/PIPECYC385:=PIPECYC385 & /BADS & /BUSCYC385 & CLK & /BREADY
+ PIPECYC385 & /MISS1 & BT2 & /BUSCYC385 & CLK & /BREADY
+ /PIPECYC385 & /CLK (3)
+ PIPECYC385 & /MISS1 & BT2 & /BUSCYC385 & CLK & /BREADY
+ /PIPECYC385 & /CLK (3)
/MISS1:=MISS1 & BUSCYC385 & CPUNA & /BADS & /(BW/R) & CLK & NCA
+ MISS1 & /BUSCYC385 & /BADS & /(BW/R) & CLK & NCA & /BREADY
+ /MISS1 & /CLK
+ /MISS1 & BREADY (4)
+ MISS1 & /BUSCYC385 & /BADS & /(BW/R) & CLK & NCA & /BREADY
+ /MISS1 & /CLK
+ /MISS1 & BREADY (4)
/CPUNA:=/MISS1 & CLK & CPUNA & /NACACHE
+ /MISS1 & CLK & CPUNA & /BREADY & /BUSCYC385
+ /CPUNA & /CLK
+ /CPUNA & /MISS1 & CLK
+ /CPUNA & CLK & BREADY
+ /CPUNA & BUSCYC385 & NACACHE & CLK (5)
+ /MISS1 & CLK & CPUNA & /BREADY & /BUSCYC385
+ /CPUNA & /CLK
+ /CPUNA & /MISS1 & CLK
+ /CPUNA & CLK & BREADY
+ /CPUNA & BUSCYC385 & NACACHE & CLK (5)
/BT2:=BUSCYC385 & PIPECYC385 & /BADS & CLK & BT2
+ BUSCYC385 & /PIPECYC385 & BADS & CLK & NACACHE & BT2
+ MISS1 & /BUSCYC385 & /BADS & /(BW/R) & CLK & NCA & /BREADY
+ /MISS1 & /BREADY & /BUSCYC385 & CLK
+ /BT2 & BREADY & NACACHE
+ /CLK & /BT2 (6)
+ BUSCYC385 & /PIPECYC385 & BADS & CLK & NACACHE & BT2
+ MISS1 & /BUSCYC385 & /BADS & /(BW/R) & CLK & NCA & /BREADY
+ /MISS1 & /BREADY & /BUSCYC385 & CLK
+ /BT2 & BREADY & NACACHE
+ /CLK & /BT2 (6)
In den vorstehenden logischen Gleichungen sind die nachfolgenden
Signale in den eingangs genannten Intel-Beschreibungen
erläutert oder wird auf sie Bezug genommen:
BADS | ||
BREADY @ | (BW/R) | tatsächlich als BW/R bezeichnet, die Klammern werden dazu benutzt, darauf hinzuweisen, daß der gesamte Ausdruck ein einziges Signal ist, |
CLK. |
BADS kennzeichnet im aktiven Zustand eine gültige
Adresse auf dem Systembus 250. BREADY ist ein Bereitsignal
vom Systembus 250 zum lokalen CPU-Bus 230. BW/R
definiert einen Schreib- oder Lesevorgang auf dem
Systembus 250. CLK ist ein Prozessor-Taktsignal, das
mit dem Prozessor 225 phasengleich ist.
Die Gleichungen (1) bis (6) definieren . . .
BT2
BUSCYC385
BUSRD
CPUNA
MISS1
PIPECYC385
BUSCYC385
BUSRD
CPUNA
MISS1
PIPECYC385
. . . in Ausdrücken der definierten Signale, der in den
genannten Intel-Veröffentlichungen beschrieben oder
in Bezug genommenen Signale und der Signale NCA und
NACACHE.
BT2 stellt den Zustand des Systembusses 250 dar. Der
Zustand BT2 ist ein in der genannten Intel-Veröffentlichung
definierter Zustand.
BUSCYC385 stellt ebenso den Zustand des Systembusses
250 dar. Es ist "high" für Buszustände BTI, BT1, BT1P
und "low" für Buszustände BT2, BT2P und BT2I (dies sind
wieder Buszustände, die in den angegebenen Intel-Veröffentlichungen
genannt sind).
BUSRD ist während Lesevorgängen aktiv, die sich auf dem
Systembus 250 ereignen.
CPUNA ist ein Signal für den 80386, das aufeinanderfolgende
Operationen erlaubt.
MISS1 definiert im aktiven Zustand den ersten Zyklus in
einem Zweifach-Zyklus bei der Handhabung eines 64-Bit-
Lesevorgangs von einem mit der Breite des Vorratsspeichers
übereinstimmenden Gerät.
PIPECYC385 ist während BT1P aktiv (was ein in den
genannten Intel-Veröffentlichungen erwähnter Buszustand
ist).
NCA ist ein Signal, das durch die Decodierung der auf
dem lokalen CPU-Bus 230 vorhandenen Adreß-Komponente
geschaffen wird, und das im aktiven Zustand einen nicht
der Breite des Vorratsspeichers entsprechenden Zugriff
anzeigt. Diese Vorratsspeicher-Verträglichkeit wird
durch eine Kennzeichen-Komponente (A31 bis A17) festgelegt,
sowie durch programmierbare Informationen, die
definieren, welche Kennzeichen (wenn überhaupt) zu der
Breite des Vorratsspeichers entsprechenden Adressen
gehören und welche entgegengesetzt zu nicht entsprechenden
Adressen gehören.
NACACHE ist ein dem BNA-Signal ähnliches Signal. BNA
ist ein vom System erzeugtes Signal, mit dem eine
nächste Adresse vom lokalen CPU-Bus 230 angefordert
wird, und auf das in den genannten Intel-Veröffentlichungen
Bezug genommen wird. NACACHE unterscheidet
sich von BNA nur hinsichtlich der Tatsache, daß BNA für
einen 32K-Vorratsspeicher erzeugt wird und NACACHE für
einen 64K-Vorratsspeicher. Solange der Vorratsspeicher
32K umfaßt, wie dies in der Intel-Veröffentlichung
genannt ist, kann das NACACHE-Signal durch das BNA-
Signal ersetzt werden.
In einer tatsächlich gebauten Ausführungsform war das
logische Element 262 in der Form eines programmierbaren
logischen Feldes ausgeführt. Es ist offensichtlich, daß
andere und weitere logische Einrichtungen verwendet
werden können, um die identische Funktion auszuführen.
Während eine bevorzugte Ausführungsform der Erfindung
nunmehr beschrieben worden ist, ist es offensichtlich,
daß viele und verschiedenartige Änderungen gemacht werden
können, ohne den Kern und das Ausmaß der Erfindung zu
verlassen, die nicht durch das vorstehend beschriebene
Beispiel, sondern durch die nachfolgenden Ansprüche
begrenzt sein soll.
Claims (11)
1. Mehrfachbus-Mikrocomputersystem mit einem Prozessor
und einem Vorratsspeicher-Untersystem, die durch
einen lokalen CPU-Bus miteinander verbunden sind,
wobei das Vorratsspeicher-Untersystem eine Vorratsspeicher-
Verwaltung und einen Vorratsspeicher
enthält, und mit logischen Mitteln, die Schreib-
Freigabesignale von der Vorratsspeicher-Verwaltung
zu dem Vorratsspeicher weiterleiten, wobei die
logischen Mittel
- a) logische Verzögerungsmittel enthalten, die auf einen durch einen erfolglosen Lesevorgang hervorgehobenen Vorratsspeicher-Schreibvorgang sowie auf ein Schreib-Freigabe-Ausgangssignal der Vorratsspeicher-Verwaltung reagieren, und die einen Schreib-Freigabe-Anschluß aufweisen, um ein verzögertes Schreib-Freigabesignal an dem Schreib-Freigabe-Anschluß zu erzeugen, sowie
- b) ein logisches Gatter mit einem ersten Eingang aufweisen, an den der Schreib-Freigabe-Ausgang der Vorratsspeicher-Verwaltung angeschlossen ist, dessen zweiter Eingang mit dem Schreib- Freigabe-Anschluß verbunden ist und dessen Ausgang an einen Schreib-Freigabe-Eingang des Vorratsspeichers angeschlossen ist.
2. System nach Anspruch 1, bei dem die logischen
Mittel des weiteren Chip-Freigabe-Signale von der
Vorratsspeicher-Verwaltung zu dem Vorratsspeicher
weiterleiten, wobei die logischen Mittel des
weiteren
- c) Puffermittel enthalten, um die Übertragung der Chip-Freigabesignale zu verzögern, wobei die Puffermittel jeweils mit einem Eingang für jedes der Chip-Freigabesignale und einen Ausgang für jedes der Chip-Freigabesignale versehen ist und die Ausgänge der Puffermittel mit den Chip-Freigabe-Anschlüssen des Vorratsspeichers verbunden sind.
3. Ein System nach Anspruch 2, bei dem die Puffermittel
des weiteren einen Eingang für ein Vorratsspeicher-
Zwischenspeicher-Freigabesignal von der
Vorratsspeicher-Verwaltung sowie einen Ausgang
enthalten, der an einen Adreß-Zwischenspeicher des
Vorratsspeichers angeschlossen ist.
4. Ein System nach Anspruch 1, bei dem der Vorratsspeicher
eine erste und eine zweite Speicherbank
enthält, und die Vorratsspeicher-Verwaltung einen
ersten, der ersten Speicherbank zugehörigen
Schreib-Freigabe-Ausgang und einen zweiten, der
zweiten Speicherbank zugehörigen Schreib-Freigabe-
Ausgang aufweist, und bei dem die logischen
Verzögerungsmittel getrennt voneinander auf das
erste oder das zweite Schreib-Freigabe-Ausgangssignal
der Vorratsspeicher-Verwaltung antworten,
indem sie einen ersten und einen zweiten Freigabe-
Anschluß aufweisen, um ein dem ersten Schreib-
Freigabe-Ausgangssignal zugehöriges erstes verzögertes
Schreib-Freigabesignal an dem ersten
Schreib-Freigabe-Anschluß zu erzeugen und ein dem
zweiten Schreib-Freigabe-Ausgangssignal zugehöriges
zweites verzögertes Schreib-Freigabesignal an
dem zweiten Schreib-Freigabe-Anschluß zu erzeugen,
wobei das logische Gatter mit dem ersten Eingang
an den ersten Schreib-Freigabe-Ausgang der
Vorratsspeicher-Verwaltung, mit dem zweiten
Eingang an den ersten Schreib-Freigabe-Anschluß
und mit dem Ausgang an den Schreib-Freigabe-Eingang
der ersten Speicherbank des Vorratsspeichers
angeschlossen ist, und ein zweites logisches
Gatter vorgesehen ist, dessen erster Eingang mit
dem zweiten Schreib-Freigabe-Ausgang der Vorratsspeicher-
Verwaltung, dessen zweiter Eingang mit
dem zweiten Schreib-Freigabe-Anschluß und dessen
Ausgang mit dem Schreib-Freigabe-Eingang der
zweiten Speicherbank des Vorratsspeichers verbunden
ist.
5. Ein System nach Anspruch 1, das des weiteren einen
Systembus enthält, einen an den Systembus angeschlossenen
Speicher, Mittel zur Verbindung des Systembusses
mit dem lokalen CPU-Bus, und bei dem die
Vorratsspeicher-Verwaltung erste Mittel aufweist,
die auf einen Zustand eines erfolglosen Lesevorgangs
reagieren und Adreßinformationen zur Adressierung
des eingangs genannten Speichers von dem lokalen
CPU-Bus zum Systembus weiterleiten, und wobei die
Vorratsspeicher-Verwaltung zweite Mittel aufweist,
die auf aus dem genannten Speicher ausgelesene und
auf dem Systembus vorhandene Daten reagieren und
diese Daten zum lokalen CPU-Bus weiterleiten,
wodurch die aus dem Speicher ausgelesenen Daten
mittels des verzögerten Schreib-Freigabe-Signals in
den Vorratsspeicher eingeschrieben werden.
6. Ein System nach Anspruch 5, bei dem der Systembus
mit einem Bus für zusätzliche Geräte verbunden ist
und ein Speichermittel an diesen Bus für zusätzliche
Geräte angeschlossen ist, wobei der an diesen Bus
für zusätzliche Geräte angeschlossene Speicher
adressiert wird und die adressierten Daten über
den Systembus zum lokalen CPU-Bus zurückgeführt
werden.
7. Ein verbessertes Vorratsspeicher-Mehrfachbus-
Mikrocomputersystem zur voneinander getrennten
Verzögerung von einem erfolglosen Lesevorgang
folgenden Vorratsspeicher-Schreib-Signalen zur
Verbesserung der Systemtoleranz hinsichtlich
langsamerer Speicherbausteine, ohne dabei
Wartezustands-Parameter von erfolglosen
Leseoperationen zu beeinflussen, enthält:
ein Vorratsspeicher-Untersystem, das eine Vorratsspeicher-Verwaltung, einen Vorratsspeicher und einen die Vorratsspeicher-Verwaltung und den Vorratsspeicher mit dem Prozessor verbindenden lokalen Bus enthält, sowie
logische Mittel, die auf einen durch einen erfolglosen Lesevorgang hervorgerufenen Vorratsspeicher- Schreibvorgang reagieren, um getrennt voneinander Vorratsspeicher-Schreib-Freigabe-Signale zu verzögern, wobei die logischen Verzögerungsmittel
ein Vorratsspeicher-Untersystem, das eine Vorratsspeicher-Verwaltung, einen Vorratsspeicher und einen die Vorratsspeicher-Verwaltung und den Vorratsspeicher mit dem Prozessor verbindenden lokalen Bus enthält, sowie
logische Mittel, die auf einen durch einen erfolglosen Lesevorgang hervorgerufenen Vorratsspeicher- Schreibvorgang reagieren, um getrennt voneinander Vorratsspeicher-Schreib-Freigabe-Signale zu verzögern, wobei die logischen Verzögerungsmittel
- a) Mittel enthalten, die auf einen Lesevorgang auf dem Systembus reagieren, und deren Eingang von einem Schreib-Freigabe-Signal der Vorratsspeicher-Verwaltung beaufschlagt ist, um an einem Schreib-Freigabe-Anschluß ein verzögertes Schreib-Freigabe-Signal zu erzeugen,
- b) sowie ein logisches Gatter mit einem ersten Eingang, der an einen Schreib-Freigabe-Ausgang der Vorratsspeicher-Verwaltung angeschlossen ist, mit einem zweiten Eingang, der mit dem Schreib-Freigabe-Anschluß verbunden ist, und mit einem Ausgang, der an einen Schreib- Freigabe-Eingang des Vorratsspeichers angeschlossen ist,
- c) sowie mit Puffermitteln zur Verzögerung der Übertragung von Chip-Auswahlsignalen der Vorratsspeicher-Verwaltung, wobei die Puffermittel mit einem Eingang für jedes der Chip-Auswahlsignale und einem Ausgang für jedes der Chip-Auswahlsignale versehen ist, und die Ausgänge der Puffermittel an Chip- Auswahl-Anschlüsse des Vorratsspeichers angeschlossen sind.
8. System nach Anspruch 7, das des weiteren einen
Systembus enthält, einen an den Systembus angeschlossenen
Speicher sowie Mittel zur Verbindung
des Systembusses mit dem lokalen CPU-Bus, wobei
die Vorratsspeicher-Verwaltung Mittel enthält, die
auf einen erfolglosen Lesevorgang vom Vorratsspeicher
reagieren und Adreßinformationen zur Adressierung
des genannten Speichers von dem lokalen CPU-Bus
zum Systembus weiterleiten, und wobei die Vorratsspeicher-
Verwaltung des weiteren Mittel enthält,
die auf aus dem genannten Speicher ausgelesene,
und auf dem Systembus vorhandene Daten reagieren
und die Daten dem lokalen CPU-Bus zuführen, wobei
die aus dem Speicher ausgelesenen Daten mittels
des verzögerten Schreib-Freigabe-Signals in den
Vorratsspeicher eingeschrieben werden.
9. System nach Anspruch 8, bei dem der Systembus mit
einem Bus für zusätzliche Geräte verbunden ist,
und Speichermittel an diesem Bus für zusätzliche
Geräte angeschlossen sind, wobei die Speichermittel
auf eine von dem lokalen CPU-Bus über den
Systembus und den Bus für zusätzliche Geräte
erhaltene Adresse reagieren, die in dieser Adresse
gespeicherten Daten auslesen und den Bus für
zusätzliche Geräte mit diesen Daten ansteuern,
wobei die aus den genannten Speichermitteln
ausgelesenen Daten mittels des verzögerten
Vorratsspeicher-Schreib-Freigabe-Signals in den
Vorratsspeicher eingeschrieben werden.
10. System nach Anspruch 9, bei dem die Puffermittel
des weiteren einen Eingang für ein Vorratsspeicher-
Zwischenspeicher-Freigabe-Signal von der Vorratsspeicher-
Verwaltung enthalten sowie einen Ausgang,
der an einen Adreß-Zwischenspeicher des Vorratsspeichers
angeschlossen ist.
11. System nach Anspruch 9, bei dem der Vorratsspeicher
eine erste und zweite Speicherbank enthält,
und bei dem die Vorratsspeicher-Verwaltung einen
ersten, der ersten Speicherbank zugehörigen
Schreib-Freigabe-Ausgang und einen zweiten, der
zweiten Speicherbank zugehörigen Schreib-Freigabe-
Ausgang aufweist, und bei dem des weiteren die
logischen Verzögerungsmittel getrennt voneinander
auf das erste und das zweite Schreib-Freigabe-
Ausgangssignal der Vorratsspeicher-Verwaltung
reagieren und erste und zweite Schreib-Freigabe-
Anschlüsse aufweisen, um ein erstes, dem ersten
Schreib-Freigabe-Ausgangssignal zugehöriges
verzögertes Schreib-Freigabe-Signal an den ersten
Schreib-Freigabe-Anschluß sowie ein zweites, dem
zweiten Schreib-Freigabe-Ausgangssignal zugehöriges
verzögertes Schreib-Freigabe-Signal an dem
zweiten Schreib-Freigabe-Anschluß zu erzeugen, und
das logische Gatter mit seinem ersten Eingang an
den ersten Schreib-Freigabe-Ausgang der Vorratsspeicher-
Verwaltung angeschlossen ist, mit dem
zweiten Eingang an den ersten Schreib-Freigabe-
Anschluß angeschlossen ist und mit seinem Ausgang
an einen Schreib-Freigabe-Eingang der ersten
Speicherbank des Vorratsspeichers angeschlossen
ist, sowie ein zweites logisches Gatter vorgesehen
ist, dessen erster Eingang mit dem zweiten Schreib-
Freigabe-Ausgang der Vorratsspeicher-Verwaltung
verbunden ist, dessen zweiter Eingang an den
zweiten Schreib-Freigabe-Anschluß angeschlossen
ist und dessen Ausgang einem Schreib-Freigabe-Eingang
der zweiten Speicherbank des Vorratsspeichers
zugeführt ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/198,890 US5175826A (en) | 1988-05-26 | 1988-05-26 | Delayed cache write enable circuit for a dual bus microcomputer system with an 80386 and 82385 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3911721A1 true DE3911721A1 (de) | 1989-11-30 |
DE3911721C2 DE3911721C2 (de) | 1990-05-31 |
Family
ID=22735299
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3911721A Granted DE3911721A1 (de) | 1988-05-26 | 1989-04-11 | Schaltung zur verzoegerten freigabe eines schreibvorganges in einen vorratsspeicher fuer ein zweifachbus-mikrocomputersystem |
DE68924368T Expired - Fee Related DE68924368T2 (de) | 1988-05-26 | 1989-05-25 | Datenverarbeitungssystem mit verzögertem Cache-Schreibvorgang. |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE68924368T Expired - Fee Related DE68924368T2 (de) | 1988-05-26 | 1989-05-25 | Datenverarbeitungssystem mit verzögertem Cache-Schreibvorgang. |
Country Status (25)
Country | Link |
---|---|
US (1) | US5175826A (de) |
EP (1) | EP0343989B1 (de) |
JP (1) | JP2755330B2 (de) |
KR (1) | KR930001584B1 (de) |
CN (1) | CN1019151B (de) |
AT (1) | ATE128566T1 (de) |
AU (1) | AU615542B2 (de) |
BE (1) | BE1002653A4 (de) |
BR (1) | BR8902383A (de) |
CA (1) | CA1314103C (de) |
CO (1) | CO4520299A1 (de) |
DE (2) | DE3911721A1 (de) |
DK (1) | DK170677B1 (de) |
ES (1) | ES2078237T3 (de) |
FI (1) | FI96244C (de) |
FR (1) | FR2632092A1 (de) |
GB (2) | GB8904920D0 (de) |
HK (1) | HK11592A (de) |
IT (1) | IT1230208B (de) |
MX (1) | MX170835B (de) |
MY (1) | MY106968A (de) |
NL (1) | NL8901327A (de) |
NO (1) | NO175837C (de) |
SE (1) | SE8901308L (de) |
SG (1) | SG110991G (de) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5586302A (en) * | 1991-06-06 | 1996-12-17 | International Business Machines Corporation | Personal computer system having storage controller with memory write control |
US5361368A (en) * | 1991-09-05 | 1994-11-01 | International Business Machines Corporation | Cross interrogate synchronization mechanism including logic means and delay register |
US5802548A (en) * | 1991-10-25 | 1998-09-01 | Chips And Technologies, Inc. | Software programmable edge delay for SRAM write enable signals on dual purpose cache controllers |
US5333276A (en) * | 1991-12-27 | 1994-07-26 | Intel Corporation | Method and apparatus for priority selection of commands |
US5426739A (en) * | 1992-03-16 | 1995-06-20 | Opti, Inc. | Local bus - I/O Bus Computer Architecture |
US5309568A (en) * | 1992-03-16 | 1994-05-03 | Opti, Inc. | Local bus design |
US5471585A (en) * | 1992-09-17 | 1995-11-28 | International Business Machines Corp. | Personal computer system with input/output controller having serial/parallel ports and a feedback line indicating readiness of the ports |
US5898894A (en) | 1992-09-29 | 1999-04-27 | Intel Corporation | CPU reads data from slow bus if I/O devices connected to fast bus do not acknowledge to a read request after a predetermined time interval |
US6487626B2 (en) | 1992-09-29 | 2002-11-26 | Intel Corporaiton | Method and apparatus of bus interface for a processor |
US5613153A (en) * | 1994-10-03 | 1997-03-18 | International Business Machines Corporation | Coherency and synchronization mechanisms for I/O channel controllers in a data processing system |
US5890216A (en) * | 1995-04-21 | 1999-03-30 | International Business Machines Corporation | Apparatus and method for decreasing the access time to non-cacheable address space in a computer system |
US6397295B1 (en) | 1999-01-04 | 2002-05-28 | Emc Corporation | Cache mechanism for shared resources in a multibus data processing system |
US6874039B2 (en) | 2000-09-08 | 2005-03-29 | Intel Corporation | Method and apparatus for distributed direct memory access for systems on chip |
JP2005221731A (ja) * | 2004-02-05 | 2005-08-18 | Konica Minolta Photo Imaging Inc | 撮像装置 |
US8996833B2 (en) * | 2013-03-11 | 2015-03-31 | Intel Corporation | Multi latency configurable cache |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4190885A (en) * | 1977-12-22 | 1980-02-26 | Honeywell Information Systems Inc. | Out of store indicator for a cache store in test mode |
US4171538A (en) * | 1978-01-23 | 1979-10-16 | Rockwell International Corporation | Elastic store slip circuit apparatus for preventing read and write operations interference |
US4189770A (en) * | 1978-03-16 | 1980-02-19 | International Business Machines Corporation | Cache bypass control for operand fetches |
JPS58169958A (ja) * | 1982-03-31 | 1983-10-06 | Fujitsu Ltd | Misスタテイツク・ランダムアクセスメモリ |
US4494190A (en) * | 1982-05-12 | 1985-01-15 | Honeywell Information Systems Inc. | FIFO buffer to cache memory |
US4513372A (en) * | 1982-11-15 | 1985-04-23 | Data General Corporation | Universal memory |
US4686621A (en) * | 1983-06-30 | 1987-08-11 | Honeywell Information Systems Inc. | Test apparatus for testing a multilevel cache system with graceful degradation capability |
JPH0795395B2 (ja) * | 1984-02-13 | 1995-10-11 | 株式会社日立製作所 | 半導体集積回路 |
US4736293A (en) * | 1984-04-11 | 1988-04-05 | American Telephone And Telegraph Company, At&T Bell Laboratories | Interleaved set-associative memory |
US4623990A (en) * | 1984-10-31 | 1986-11-18 | Advanced Micro Devices, Inc. | Dual-port read/write RAM with single array |
DE3688400T2 (de) * | 1985-02-01 | 1993-08-26 | Nippon Electric Co | Cachespeicherschaltung geeignet zur verarbeitung einer leseanforderung waehrend der uebertragung eines datenblocks. |
US4630239A (en) * | 1985-07-01 | 1986-12-16 | Motorola, Inc. | Chip select speed-up circuit for a memory |
JPS6261135A (ja) * | 1985-09-11 | 1987-03-17 | Nec Corp | キヤツシユメモリ |
JPS62194563A (ja) * | 1986-02-21 | 1987-08-27 | Hitachi Ltd | バツフア記憶装置 |
US4710903A (en) * | 1986-03-31 | 1987-12-01 | Wang Laboratories, Inc. | Pseudo-static memory subsystem |
US4905188A (en) * | 1988-02-22 | 1990-02-27 | International Business Machines Corporation | Functional cache memory chip architecture for improved cache access |
-
1988
- 1988-05-26 US US07/198,890 patent/US5175826A/en not_active Expired - Fee Related
-
1989
- 1989-03-03 GB GB898904920A patent/GB8904920D0/en active Pending
- 1989-04-11 SE SE8901308A patent/SE8901308L/ not_active Application Discontinuation
- 1989-04-11 FR FR8905079A patent/FR2632092A1/fr active Pending
- 1989-04-11 DE DE3911721A patent/DE3911721A1/de active Granted
- 1989-04-14 FI FI891788A patent/FI96244C/fi not_active IP Right Cessation
- 1989-04-18 NO NO891583A patent/NO175837C/no unknown
- 1989-04-19 DK DK189689A patent/DK170677B1/da active
- 1989-04-20 BE BE8900440A patent/BE1002653A4/fr not_active IP Right Cessation
- 1989-04-25 CN CN89102658A patent/CN1019151B/zh not_active Expired
- 1989-04-26 MY MYPI89000552A patent/MY106968A/en unknown
- 1989-04-26 KR KR1019890005468A patent/KR930001584B1/ko not_active IP Right Cessation
- 1989-04-26 CA CA000597892A patent/CA1314103C/en not_active Expired - Fee Related
- 1989-05-05 AU AU34096/89A patent/AU615542B2/en not_active Ceased
- 1989-05-12 JP JP1117622A patent/JP2755330B2/ja not_active Expired - Lifetime
- 1989-05-16 CO CO92302647A patent/CO4520299A1/es unknown
- 1989-05-24 BR BR898902383A patent/BR8902383A/pt not_active Application Discontinuation
- 1989-05-24 MX MX016169A patent/MX170835B/es unknown
- 1989-05-25 AT AT89305307T patent/ATE128566T1/de not_active IP Right Cessation
- 1989-05-25 DE DE68924368T patent/DE68924368T2/de not_active Expired - Fee Related
- 1989-05-25 GB GB8912019A patent/GB2219111B/en not_active Expired - Fee Related
- 1989-05-25 IT IT8920649A patent/IT1230208B/it active
- 1989-05-25 EP EP89305307A patent/EP0343989B1/de not_active Expired - Lifetime
- 1989-05-25 ES ES89305307T patent/ES2078237T3/es not_active Expired - Lifetime
- 1989-05-26 NL NL8901327A patent/NL8901327A/nl not_active Application Discontinuation
-
1991
- 1991-12-31 SG SG1109/91A patent/SG110991G/en unknown
-
1992
- 1992-02-13 HK HK115/92A patent/HK11592A/xx unknown
Non-Patent Citations (2)
Title |
---|
GB-B.: MITCHELL, H.J., 32-Bit Microprocessors, William Collins Sons u. Co. Ltd., London, 1986, S. 192-194 * |
US-Firmenschrift: INTEL, Microprocessor and Peripheral Handbook, Vol. I, Microprocessor, 1988, Intel Corp. Literature Distrib., Santa Clara, CA, 1987, S. 4-287 bis 4-294 * |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3909896C2 (de) | ||
DE3588009T2 (de) | Vorrichtung und Verfahren zum Rekonfigurieren eines Speichers in einer Datenverarbeitungsanordnung. | |
DE2806024C2 (de) | ||
DE2716051C2 (de) | Datenverarbeitungsanlage mit einem oder mehreren Prozessoren mit mindestem einem Ein-/Ausgabekanal mit mehreren Unterkanälen und mit einer Speicheranordnung, bei der zum Speicherzugriff Schlüssel verwendet werden | |
DE3911721C2 (de) | ||
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE68907518T2 (de) | Inhaltsadressierte Speicheranordnung. | |
CH619309A5 (de) | ||
DE2916658A1 (de) | Selbstprogrammierbarer mikroprozessor | |
DE2523372B2 (de) | Eingabe-ZAusgabe-Anschlußsteuereinrichtung | |
DE3502147C2 (de) | ||
CH615521A5 (de) | ||
EP0500973B1 (de) | EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM | |
DE69119149T2 (de) | Struktur zur direkten Speicher-zu-Speicher-Übertragung | |
DE69605820T2 (de) | Datenfehler-detektion und -korrektur für gemeinsamen speicher | |
DE69029815T2 (de) | Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung | |
DE68927306T2 (de) | Emulationssystem, fähig zur Anpassung an Mikrorechner mit verschiedenen On-Chip-Speicherkapazitäten | |
DE3814875A1 (de) | Logische verknuepfungseinrichtung und logisches verknuepfungsverfahren | |
DE69908772T2 (de) | Geraet mit kontextumschaltungsfaehigkeit | |
DE4114053A1 (de) | Computersystem mit cachespeicher | |
DE4302754C1 (de) | Monolithisch integrierte Datenspeicheranordnung und Verfahren zu deren Betrieb | |
DE3850212T2 (de) | Vielfach-CPU-System mit gemeinschaftlichem Speicher. | |
DE69808700T2 (de) | Cachespeichervorrichtung | |
DE60128596T2 (de) | Interrupt-steuerung für einen mikroprozessor | |
DE3235264C2 (de) |
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 | ||
8339 | Ceased/non-payment of the annual fee |