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-mikrocomputersystem

Info

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
Application number
DE3911721A
Other languages
English (en)
Other versions
DE3911721C2 (de
Inventor
Ralph Murray Begun
Patrick Maurice Bland
Mark Edward Dean
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE3911721A1 publication Critical patent/DE3911721A1/de
Application granted granted Critical
Publication of DE3911721C2 publication Critical patent/DE3911721C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches

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,
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
Logische Gleichungen
/BUSRD:=BUSRD & BUSCYC385 & /BADS & /(BW/R) & CLK
+ 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)
/PIPECYC385:=PIPECYC385 & /BADS & /BUSCYC385 & CLK & /BREADY
+ 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)
/CPUNA:=/MISS1 & CLK & CPUNA & /NACACHE
+ /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)
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
. . . 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
  • 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.
DE3911721A 1988-05-26 1989-04-11 Schaltung zur verzoegerten freigabe eines schreibvorganges in einen vorratsspeicher fuer ein zweifachbus-mikrocomputersystem Granted DE3911721A1 (de)

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)

* Cited by examiner, † Cited by third party
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
US6487626B2 (en) 1992-09-29 2002-11-26 Intel Corporaiton Method and apparatus of bus interface for a processor
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
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)

* Cited by examiner, † Cited by third party
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 Nec Corp 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

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
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

Publication number Publication date
SG110991G (en) 1992-02-14
IT8920649A0 (it) 1989-05-25
FI96244C (fi) 1996-05-27
CO4520299A1 (es) 1997-10-15
AU615542B2 (en) 1991-10-03
MY106968A (en) 1995-08-30
FR2632092A1 (fr) 1989-12-01
AU3409689A (en) 1989-11-30
US5175826A (en) 1992-12-29
NO175837B (no) 1994-09-05
JPH0271344A (ja) 1990-03-09
NO175837C (no) 1994-12-14
HK11592A (en) 1992-02-21
DE68924368D1 (de) 1995-11-02
BR8902383A (pt) 1990-01-16
MX170835B (es) 1993-09-20
GB2219111A (en) 1989-11-29
DK170677B1 (da) 1995-11-27
CN1040104A (zh) 1990-02-28
DE3911721C2 (de) 1990-05-31
GB8904920D0 (en) 1989-04-12
EP0343989B1 (de) 1995-09-27
GB2219111B (en) 1991-05-29
JP2755330B2 (ja) 1998-05-20
DK189689A (da) 1989-11-27
KR930001584B1 (ko) 1993-03-05
DE68924368T2 (de) 1996-05-02
NL8901327A (nl) 1989-12-18
GB8912019D0 (en) 1989-07-12
IT1230208B (it) 1991-10-18
FI891788A0 (fi) 1989-04-14
KR890017619A (ko) 1989-12-16
FI96244B (fi) 1996-02-15
FI891788A (fi) 1989-11-27
CA1314103C (en) 1993-03-02
NO891583L (no) 1989-11-27
EP0343989A3 (de) 1991-03-13
EP0343989A2 (de) 1989-11-29
CN1019151B (zh) 1992-11-18
SE8901308L (sv) 1989-11-27
NO891583D0 (no) 1989-04-18
SE8901308D0 (sv) 1989-04-11
ES2078237T3 (es) 1995-12-16
BE1002653A4 (fr) 1991-04-23
DK189689D0 (da) 1989-04-19
ATE128566T1 (de) 1995-10-15

Similar Documents

Publication Publication Date Title
DE3909896C2 (de)
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
EP0013737B1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE3911721C2 (de)
CH619309A5 (de)
DE2817431C2 (de) Speichereinrichtung mit auf Durchspeichern(store thru) beruhender Speicherhierarchie mit Teilspeicherung
DE2916658A1 (de) Selbstprogrammierbarer mikroprozessor
DE3011552A1 (de) Datenverarbeitungsanlage mit einem hauptspeicher sowie wenigsten einem datenprozessor mit zugeordnetem adressenumformer
DE2523372B2 (de) Eingabe-ZAusgabe-Anschlußsteuereinrichtung
DE3502147C2 (de)
EP0500973B1 (de) EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM
DE4117672A1 (de) Verfahren und vorrichtung zur steuerung eines zwischen einer zentraleinheit und einem arbeitsspeicher angeordneten cache-speichers
DE1524773B2 (de) Adressierungssystem für Speichervorrichtungen
DE1549548A1 (de) Vorrichtung zur Aktivierung eines bestimmten Befehls aus einer Vielzahl von Befehlen,die in einem Befehlsspeicher eines Rechners gespeichert sind
DE69908772T2 (de) Geraet mit kontextumschaltungsfaehigkeit
DE4114053A1 (de) Computersystem mit cachespeicher
DE4302754C1 (de) Monolithisch integrierte Datenspeicheranordnung und Verfahren zu deren Betrieb
DE3340956C2 (de)
DE3000012A1 (de) Schaltungsanordnung zur ausfuehrung eines uebertragungsbefehls in einer datenverarbeitungsanlage
DE3200042C2 (de)
DE3235264C2 (de)
DE2750126A1 (de) Datenverarbeitungssystem mit einem zwischenpufferspeicher
EP0970426B1 (de) Abhängigkeitssteuerung für überlappende speicherzugriffe
DE4114545C2 (de) Schaltungsanordnung für einen Mikrocomputer

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