DE3909909A1 - Verfahren und anordnung fuer selektive abgekoppelte schreibzyklen - Google Patents
Verfahren und anordnung fuer selektive abgekoppelte schreibzyklenInfo
- Publication number
- DE3909909A1 DE3909909A1 DE3909909A DE3909909A DE3909909A1 DE 3909909 A1 DE3909909 A1 DE 3909909A1 DE 3909909 A DE3909909 A DE 3909909A DE 3909909 A DE3909909 A DE 3909909A DE 3909909 A1 DE3909909 A1 DE 3909909A1
- Authority
- DE
- Germany
- Prior art keywords
- bus
- address
- signal
- data
- central unit
- 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
-
- 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
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Microcomputers (AREA)
- Hardware Redundancy (AREA)
- Compositions Of Macromolecular Compounds (AREA)
- Peptides Or Proteins (AREA)
- Medicines Containing Material From Animals Or Micro-Organisms (AREA)
- Preparation Of Compounds By Using Micro-Organisms (AREA)
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
- Mobile Radio Communication Systems (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
Die vorliegende Erfindung bezieht sich auf Mikrocomputersysteme,
insbesondere auf Mikrocomputersysteme
mit einem Vorratsspeicher-Untersystem und einem
82385-Cache-Controller, welcher eine Anordnung für
selektive abgekoppelte Schreibvorgänge umfaßt.
Die Verwendung von Vorratsspeicher-Untersystemen in
Mikrocomputersystemen führt zu einer Anzahl von attraktiven
Betriebsvorteilen. Ein Mikrocomputersystem mit
einem Vorratsspeicher-Untersystem ist im Grunde genommen
ein Zweifach-Bus-Mikrocomputer. Die Zentraleinheit
und das Vorratsspeicher-Untersystem sind mit etwas
verbunden, was man als einen lokalen Zentraleinheitsbus
bezeichnen kann. Getrennt vom lokalen Zentraleinheitsbus
ist ein Systembus vorgesehen, mit dem andere Vorrichtungen
(Eingangs-/Ausgangsvorrichtungen, zusätzliche
Speicher, usw.) verbunden werden können. Das Vorratsspeicher-
Untersystem befreit den Systembus von jedem
Lesespeicherzugriff in dem Umfang, in dem die gesuchte
Information im Vorratsspeicher-Untersystem gefunden
wird. Da nicht alle erforderliche Information im
Vorratsspeicher-Untersystem gefunden werden und
Speichervorgänge im allgemeinen an das Vorratsspeicher-
Untersystem wie auch an den Speicher gerichtet sind,
muß offensichtlich eine Verbindung zwischen dem
Systembus und dem lokalen Zentraleinheitsbus vorhanden
sein. Wenn es sich bei dieser Verbindung um einen
Zwischenspeicher handelt, so können sich zusätzliche
Vorteile, insbesondere abgekoppelte Schreibvorgänge,
ergeben.
Insbesondere bei Schreibvorgängen wird der Zugriff
auf den Speicher erforderlich (der nicht am lokalen
Zentraleinheitsbus anliegt). Die Information (Daten
und Adresse) für den Schreibzugriff liegt anfänglich
auf dem lokalen Zentraleinheitsbus, wo sie zum
Schreiben in das Vorratsspeicher-Untersystem verwendet
werden kann. Da die Schnittstelle zwischen dem lokalen
Zentraleinheitsbus und dem Systembus ein Zwischenspeicher
ist, können dieselben Daten in dem Puffer
zwischengespeichert werden. Sobald diese Information
in dem Puffer gespeichert ist, braucht sie nicht mehr
durch die Zentraleinheit gehalten zu werden. Ein
abgekoppelter Schreibzyklus verläßt sich somit auf die
Tatsache, daß die Adressen- und Dateninformation für
einen Speicher-Einschreibvorgang vom Zwischenspeicher
bereitgestellt wird. Das Abschließen dieses Schreibzyklus
kann ohne Mitarbeit der Zentraleinheit stattfinden.
Auf diese Weise werden in einem "abgekoppelten"
Schreibvorgang Daten und Adresse für den Schreibzyklus
in dem Puffer zwischen dem lokalen Zentraleinheitsbus
und dem Systembus zwischengespeichert, worauf die
Zentraleinheit mit dem Einleiten eines nachfolgenden
Zyklus fortfahren kann. Das Vorratsspeicher-Steuersystem
(einschließlich des Cache-Controller) kann dann das
Abschließen des Schreibvorgangs in den Speicher
überwachen.
Mikrocomputersysteme mit einem 80386-Prozessor und einem
82385-Cache-Controller sind so ausgelegt, daß sie
abgekoppelte Schreibvorgänge auf genau diese Weise
nützlich anwenden können.
Der 80386 sowie die von ihm erzeugten Signale werden
in "Introduction to the 80386 Including the 80386
Data Sheet" von Intel (April 1986) beschrieben. Der
82385-Cache-Controller und die von ihm erzeugten
Signale werden in "82385 High Perfomance 32-Bit
Cache Controller" beschrieben, erhältlich von Intel
(Juli 1987).
Ein weiteres interessantes Merkmal des 80386 liegt
darin, daß er mit der sogenannten dynamischen
Busanpassung betrieben werden kann. Der 80386 ist
nominell eine 32-Bit-Maschine, d. h. ihr Datenbus ist
32 Bits breit. Der Begriff dynamische Busanpassung
bezieht sich auf die Fähigkeit des 80386-Prozessors,
nicht nur mit Vorrichtungen mit 32 Bits zu arbeiten,
(Speicher, E/A, usw.), sondern auch mit Vorrichtungen,
die nicht 32 Bits umfassen, d. h. die nicht 32
Datenbits in einem einzigen Zyklus übertragen können.
Es gibt beispielsweise viele verschiedene Speicher und/oder
E/A-Vorrichtungen, bei denen es sich um
16-Bit-Vorrichtungen, handelt, d. h. die nicht mehr als
16 Datenbits in einem bestimmten Zyklus übertragen
können. Außerdem gibt es 8-Bit-E/A-Vorrichtungen,
Speicher und andere Vorrichtungen, die nur 8 Datenbits
in einem bestimmten Zyklus übertragen können.
Der 80386 ist für ein BS16-Signal ausgelegt. Wenn
dieses Signal auftritt, hat es folgenden Effekt.
Wenn der 80386 einen Zyklus von 32 Bits, d. h. 32
Datenbits erzeugt hat und/oder deren Annahme
erwartet, so zeigt das BS16-Signal dem 80386 an,
daß es nicht mit einer 32-Bit-Vorrichtung arbeitet. Das
BS16-Signal wird während des 32-Bit-Zyklus automatisch
das Erzeugen eines zweiten Zyklus einleiten. Jede
16-Bit-Vorrichtung überträgt konventionell eine
bestimmte Gruppe von 16 Bits vom Datenbus mit 32 Bits.
Im zweiten durch das Erscheinen des BS16-Signals
erzeugten Zyklus wird der 80386 diejenige Gruppe von
16 Datenbits, die im ersten Zyklus nicht in der
bestimmten Gruppe von Datenbits war, auf eine bestimmte
Gruppe von Datenleitungen setzen, welche der bestimmten
Gruppe von 16 Bits zugeordnet ist. Im ersten der zwei
Zyklen wird die Vorrichtung mit 16 Bits darum einen
bestimmten Satz von 16 Bits aus dem Bereich der 32
Datenbits übertragen. Im zweiten Zyklus überträgt die
16-Bit-Vorrichtung weitere 16 Datenbits, so daß die
zwei 16-Bit-Zyklen zusammen 32 Bits übertragen.
Es besteht jedoch eine Unvereinbarkeit zwischen
abgekoppelten Schreibzyklen und dynamischer Busanpassung,
aus folgendem Grund: Angenommen, der 80386 startet einen
abgekoppelten Schreibvorgang. Die Daten und Adresse für
den abgekoppelten Schreibzyklus sind in dem Puffer
zwischen dem lokalen Zentraleinheitsbus und dem
Systembus eingespeichert. Obgleich der Schreibzyklus
noch nicht abgeschlossen ist, wird ein Bereit-Signal
zum 80386 zurückgegeben, was den Abschluß des Zyklus
simuliert, so daß der 80386 einen nächsten Vorgang
einleiten kann. Da das BS16-Signal (das zum 80386
zurückgeführt wird, um die Größe der Vorrichtung anzuzeigen,
mit der er arbeitet) durch die Vorrichtung
erzeugt wird, wird dieses Signal erst dann erzeugt,
wenn die Vorrichtung seine Adresse erkannt hat. In
Fortführung des Beispiels, und angenommen, daß die
Vorrichtung für den abgekoppelten Schreibzyklus eine
Vorrichtung mit 16 Bits ist, hat der 80386 bei
der Rückkehr des BS16-Signals den betreffenden Vorgang
bereits überschritten und bearbeitet den nächstfolgenden.
Der 80386 kann daher den zweiten erforderlichen Zyklus
für die 16-Bit-Vorrichtung nicht erzeugen.
Es ist darum eine Aufgabe der Erfindung, Schreibzyklen
selektiv abzukoppeln. Da ein abgekoppelter Schreibzyklus
durch ein frühes Erzeugen eines Bereit-Signals
für den 80386 identifiziert wird, sieht die Erfindung
logische Mittel vor zum Erzeugen des Bereit-Signals für
den 80386 nur dann, wenn ein abgekoppelter Schreibvorgang
angebracht ist. Gemäß der Erfindung gelten alle
Vorrichtungen, mit denen der 80386 betrieben werden
kann (E/A, Speicher usw.) entweder als pufferbare oder
nicht pufferbare Vorrichtungen. Die allen Vorrichtungen
zugeordnete Adresse hat eine Markierung, gemäß welcher
es sich um eine pufferbare oder eine nicht pufferbare
Vorrichtung handelt. Gemäß der Erfindung ist ein
Adressendekodierer an dem lokalen Zentraleinheitsbus
vorgesehen, welcher auf die aufgetretene Adresse auf
dem lokalen Zentraleinheitsbus anspricht und ein NCA-
Signal anzeigt, wenn der Zugriff zu einer nicht
pufferbaren Vorrichtung erfolgt.
Während der 82385-Cache-Controller außerdem zum Erzeugen
des Bereit-Signals ausgelegt ist, wird das Signal nicht
mit dem 80386 verbunden, sondern mit logischen Mitteln
gemäß der vorliegenden Erfindung. Diese logischen
Mittel erzeugen in Abhängigkeit von einer Reihe
weiterer aufgetretener Signale ein CPUREADY-Signal
(das Bereit-Signal ersetzend) nur wenn erforderlich.
Genauer gesagt erzeugen die logischen Mittel der
vorliegenden Erfindung das CPUREADY-Signal, um
abgekoppelte Schreibzyklen nur dann zu erlauben,
wenn der Zugriff zu einer pufferbaren Vorrichtung
stattfindet, d. h. in Abwesenheit des NCA-Signals.
Andererseits halten die logischen Mittel in
Anwesenheit des NCA-Signals die Erzeugung des
CPUREADY-Signals zurück, so daß keine abgekoppelten
Schreibvorgänge stattfinden.
Die Erfindung sieht also gemäß einer Ausführung ein
Mikrocomputersystem vor, welches folgendes umfaßt:
Einen eine Zentraleinheit und ein Vorratsspeicher- Untersystem miteinander verbindenden lokalen Zentraleinheitsbus, wobei die Zentraleinheit Mittel für abgekoppelte Schreibvorgänge als Antwort auf den Erhalt eines die Bereitschaft der Zentraleinheit anzeigenden Signals vor Abschluß eines Schreibvorgangs aufweist,
einen Systembus zum Verbinden eines Speichers mit wahlfreiem Zugriff mit mehreren adressierbaren Funktionseinheiten, wobei der Systembus nach Abschluß eines Schreibvorgangs ein Bereit-Signal abgibt,
Mittel zum zweiseitig gerichteten Verbinden des Systembus und des lokalen Zentraleinheitsbus, sowie
logische Mittel zum selektiven Verhindern abgekoppelter Schreibvorgänge, folgendes enthaltend:
Einen eine Zentraleinheit und ein Vorratsspeicher- Untersystem miteinander verbindenden lokalen Zentraleinheitsbus, wobei die Zentraleinheit Mittel für abgekoppelte Schreibvorgänge als Antwort auf den Erhalt eines die Bereitschaft der Zentraleinheit anzeigenden Signals vor Abschluß eines Schreibvorgangs aufweist,
einen Systembus zum Verbinden eines Speichers mit wahlfreiem Zugriff mit mehreren adressierbaren Funktionseinheiten, wobei der Systembus nach Abschluß eines Schreibvorgangs ein Bereit-Signal abgibt,
Mittel zum zweiseitig gerichteten Verbinden des Systembus und des lokalen Zentraleinheitsbus, sowie
logische Mittel zum selektiven Verhindern abgekoppelter Schreibvorgänge, folgendes enthaltend:
- a) einen mit einem Adreßbusbestandteil des lokalen Zentraleinheitsbus gekoppelten Adressendekodierer zum Erzeugen eines NCA-Signals, welches das Auftreten einer Adresse im lokalen Zentraleinheitsbus außerhalb eines dem Vorratsspeicher-Untersystem zugeordneten Adressenbereiches anzeigt, und
- b) auf das NCA-Signal ansprechende Mittel zum Zurückhalten des die Bereitschaft der Zentraleinheit anzeigenden Signals bis zum Eintreffen des Einheits-Bereit-Signals von einer der adressierbaren Funktionseinheiten.
Fig. 1 ist eine dreidimensionale Gesamtansicht
eines typischen, die vorliegende Erfindung
umfassenden Mikrocomputersystems;
Fig. 2 ist ein detailliertes Blockdiagramm einer
Mehrheit der Bestandteile eines typischen,
die vorliegende Erfindung umfassenden
Mikrocomputersystems;
Fig. 3 ist ein Blockdiagramm, welches detaillierter
ist als Fig. 2 und die Verbindungen zwischen
einem 80386 und 82386 zeigt, die vom
Hersteller empfohlen werden, und das für das
Verständnis darüber hilfreich ist, warum eine
solche Anordnung mit einer dynamischen
Busanpassung unvereinbar ist; und
Fig. 4 ist ein Blockdiagramm ähnlich der Fig. 3, aber
mit der Darstellung der Anwendung der
vorliegenden Erfindung für das selektive Abkoppeln
von Schreibzyklen.
Fig. 1 zeigt ein typisches Mikrocomputersystem, in
welchem die vorliegende Erfindung verwendet werden
kann. Wie dargestellt, enthält das Mikrocomputersystem
10 eine Anzahl von untereinander verbundenen
Komponenten. Eine Systemeinheit 30 ist mit einem
Monitor 20 (wie z. B. einem konventionellen
Videoschirm) verbunden und treibt diesen an. Die
Systemeinheit 30 ist außerdem mit Eingabevorrichtungen
wie einer Tastatur 40 und einer Maus 50 verbunden.
Eine Ausgabevorrichtung wie ein Drucker 60 kann
ebenfalls mit der Systemeinheit 30 verbunden sein.
Schließlich kann die Systemeinheit 30 einen oder
mehrere Plattenspeicher wie den Plattenspeicher 70
enthalten. Wie unten beschrieben spricht die
Systemeinheit 30 auf Eingabevorrichtungen wie die
Tastatur 40 und die Maus 50 an sowie auf Eingabe/
Ausgabevorrichtungen wie den Plattenspeicher 70,
um Signale an Ausgabevorrichtungen wie den Monitor
20 und den Drucker 60 abzugeben. Für den Fachmann
ist es offensichtlich, daß auch andere und
konventionelle Komponenten zum Betrieb mit der
Systemeinheit 30 angeschlossen werden können. Gemäß
der vorliegenden Erfindung enthält das Mikrocomputersystem 10
(wie im folgenden ausführlicher beschrieben)
ein Vorratsspeicher-Untersystem, bei dem ein lokaler
Zentraleinheitsbus einen Prozessor, eine Vorratsspeicher-
Steuervorrichtung und einen Vorratsspeicher
untereinander verbindet, wobei der lokale Zentraleinheitsbus
über einen Puffer mit einem Systembus
verbunden ist. Der Systembus befindet sich in
Wirkverbindung mit den Eingabe/Ausgabe-Vorrichtungen
wie der Tastatur 40, der Maus 50, dem Plattenantrieb 70,
dem Monitor 20 und dem Drucker 60. Außerdem kann
gemäß der vorliegenden Erfindung die Systemeinheit 30
auch einen dritten Bus mit einem Mikrokanal-Bus zur
Verbindung zwichen dem Systembus und anderen
(wahlfreien) E/A-Vorrichtungen enthalten.
Fig. 2 ist ein ausführliches Blockdiagramm und stellt
die verschiedenen Komponenten eines typischen Mikrocomputersystems
gemäß der vorliegenden Erfindung dar.
Ein lokaler Zentraleinheitsbus 230 (mit Adreß-
Daten- und Steuerbestandteilen) verbindet einen
Mikroprozessor 225 (z. B. einen 80386), eine Vorratsspeicher-
Steuervorrichtung 260 (die einen 82385-
Cache-Controller enthalten kann) und einen Speicher
255 mit wahlfreiem Zugriff. Mit dem lokalen Zentraleinheitsbus
230 ist außerdem ein Puffer 240 verbunden,
welcher selbst mit dem Systembus 250 verbunden ist,
der auch Adreß-, 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
Bussteuereinheit und dem Zeitgeber 265 sowie einer
DMA-Steuervorrichtung 325 verbunden. Ein Zuteilungssteuerbus
340 verbindet die Bussteuereinheit und
den Zeitgebar 265 sowie einen Zuteilungsüberwacher
335. Der Hauptspeicher 350 ist ebenfalls mit dem
Systembus 250 verbunden und enthält ein Speichersteuerelement
351, einen Adressenmultiplexor 352
und einen Datenpuffer 353. Diese Elemente sind mit
den Speicherelementen 360 bis 264 wie in Fig. 2
gezeigt verbunden. Speicher, die in ihrer Bitbreite
dem Vorratsspeicher entsprechen oder auch nicht,
können mit dem Bus 320 verbunden werden; ein typischer
Speicher 331 ist in Fig. 2 dargestellt.
Ein weiterer Puffer 254 ist zwischen dem Systembus
250 und einem planaren Bus 270 vorgesehen. Der planare
Bus 270 enthält Adreß-, Daten- und Steuerbestandteile.
Entlang dem planaren Bus 270 sind mehrere E/A-Adapter
und andere Bestandteile angeschlossen, wie z. B. ein
Anzeigeadapter 275 (zum Antrieb des Monitors 20), ein
Taktgeber 280, ein zusätzlicher Speicher 285 mit wahlfreiem
Zugriff, ein RS-332-Adapter 290 (für serielle
E/A-Vorgänge), ein Druckeradapter 295 (der zum Antreiben
des Druckers 60 verwendet werden kann), ein Zeitgeber
300, ein Diskettenadapter (der mit dem Plattenspeicher
70 zusammenarbeitet), eine Unterbrechungssteuerung
310 und ein Festwertspeicher 315. Ein weiterer
Puffer 253 ist zwischen dem Systembus 250 und
einem weiteren Bus wie einem Mikrokanal-Bus 320 für die
Verbindung der wahlfreien Zusatzeinheiten vorgesehen.
Fig. 3 ist ein Blockdiagramm der vorgeschlagenen
gegenseitigen Verbindung zwischen dem 80386, dem 82385-
Cache-Controller und dem Zwischenspeicher 240, welcher
die Schnittstelle zwischen dem lokalen Zentraleinheitsbus
und dem Systembus wie vom Hersteller vorgeschlagen
darstellt. Fig. 3 zeigt, daß die Adreß- und Steuerbusbestandteile
des lokalen Zentraleinheitsbus CPULBA
(einschließlich der Adressenleitungen A2 bis A31 und
der Steuerleitungen D/C, W/R sowie M/IO) mit einem
Eingang des gesteuerten Adressenzwischenspeichers (AL)
verbunden sind, welcher ein Element des Puffers 240
darstellt. Ein Ausgang des Zwischenspeichers AL geht
zum Adressenbestandteil des Systembus SBA. Ebenso ist
der Dateneingangs-/-ausgangsanschluß des 80386 (mit
den Leitungen D0 bis D31) mit einem Anschluß des
Datenzwischenspeichers (DL) zwischen dem lokalen
Zentraleinheitsbus und dem ein weiteres Element des
Puffers 240 darstellenden Systembus verbunden. Der
andere Anschluß des DL ist der Datenbestandteil des
Systembus SBD. Fig. 3 zeigt, daß der 82385-Cache-
Controller ein READYO-Signal über eine durch eine
UND-Schaltung 300 und eine ODER-Schaltung
310 dargestellt externe Logik vorsieht. READYI ist
das Bereit-Signal, das anzeigt, daß der Buszyklus
entweder abgeschlossen ist oder vor dem Abschluß des
Systembuszyklus während eines abgekoppelten
Schreibvorgangs auftritt. Da der DL zweiseitig
gerichtet ist, kann er Daten entweder vom Bestandteil
des lokalen Zentraleinheitsbus (D0 bis D31) oder vom
Datenbestandteil des Systembus (SBD) zwischenspeichern.
Der 82385 sieht außerdem ein Richtungssignal (BT/R)
vor, um anzuzeigen, ob der DL Daten vom lokalen
Zentraleinheitsbus oder vom Systembus überträgt. Die
Signale BE0 bis BE3 (und zwar sowohl die vom 80386
ausgegebenen als auch die wiederholten vom 82385
ausgegebenen Signale) sind zusätzliche Adressiersignale.
Das 80386/82385-Mikrocomputersystem ist für jeden
Hauptspeicherzugriff so angeordnet, daß es auf eine
"Zeile" von Daten zugreift, welche 4 Bytes darstellt.
Die 4-Bit-Adressiersignale (BE0 bis BE3) können zum
Auswählen von einem oder mehreren Bytes von den 4
Bytes in der "Zeile" verwendet werden. Die Signale
BHOLD und BHLDA sind ein Bus-Halte-, Bus-Halte-
Bestätigungs-Signalpaar zwischen dem 82385-Cache-
Controller und dem Zuleitungsüberwacher 335. BADS ist
ein Signal, das anzeigt, daß das adressierende Element
des Systembus SBA eine gültige Adresse erzeugt. BREADY
ist ein Bereit-Signal vom Systembus 250 zum 82385.
Wie in Fig. 3 gezeigt und in den oben erwähnten
INTEL-Handbüchern erläutert, werden alle Schreibvorgänge
abgekoppelt, d. h. Adressen und Daten
werden in den Elementen DL und AL des Puffers 240
zwischengespeichert, worauf der 82385 das READYO-
Signal anlegt und so einen nachfolgenden Vorgang
durch den 80386 einleitet. Der abgekoppelte Schreibvorgang
kann anschließend von den Daten AL und DL
unter Kontrolle durch den 82385 abgeschlossen werden.
Soweit es sich bei den Vorrichtungen, an welche die
abgekoppelten Schreibvorgänge gerichtet sind, um
32-Bit-Vorrichtungen handelt, so daß der Schreibvorgang
in einem einzigen Zyklus durchgeführt werden kann, oder
soweit der abgekoppelte Schreibvorgang 16 Bits für eine
16-Bit-Vorrichtung umfaßt usw., können abgekoppelte
Schreibvorgänge erfolgreich durchgeführt werden. Wenn
jedoch ein abgekoppelter Schreibvorgang mehr Daten umfaßt
als die Vorrichtung, für die er bestimmt ist, so
ist dieser Vorgang nicht durchführbar, und zwar weil
in allen diesen Fällen zusätzliche Zyklen erforderlich
sind (ein 32-Bit-Zyklus für eine 16-Bit-Vorrichtung
erfordert 2 Zyklen usw.). Zu dem Zeitpunkt, an welchem
der 80386 ein BS16-Signal empfängt, gemäß welchem (für
den Zyklus von 32 Bits) der abgekoppelte Schreibvorgang
an eine 16-Bit-Vorrichtung gerichtet ist, befindet er
sich bereits im nächstfolgenden Vorgang und kann den
früheren Zyklus nicht mehr wiederholen.
Fig. 4 ist Fig. 3 ähnlich, stellt aber dar, wie der
80386, der 82385, AL, DL, der lokale Zentraleinheitsbus
230 sowie der Systembus 250 gemäß der vorliegenden Erfindung
miteinander verbunden sind. Der BT/R-Ausgang des
82385 wird nun, anstatt mit dem DL verbunden zu sein, in
ein neues Steuerelement C eingelesen. Zu den weiteren
Eingaben in das Steuerelement C zählen ds DOE- und das
WB-Signal vom 82385, sowie das READYO (welches zuvor
mit dem 80386 verbunden war - siehe Fig. 3). Ein Dekodierer
CADR ist mit dem Adressenbestandteil des lokalen
Zentraleinheitsbus (CPULBA) verbunden, und insbesondere
mit Markierungsbits A17 bis A26 und A31. Der CADR
liefert ein Signal NCA, welches in das Steuerelement C
einglesen wird zum Hinweis auf die anstehende
Adresse auf dem CPULBA, bei der es sich um eine
Adresse an eine nicht pufferbare Vorrichtung handelt.
Ebenso stammen Steuersignale für das Element DL,
insbesondere LEAB (zum Zwischenspeichern von Daten in
das Element DL) und OEAB (zur Freigabe des Ausgangs
des DL-Elements) vom Steuerelement C. Eine weitere
Eingabe in das Steuerelement C ist das Signal BREADY
vom Systembus.
Zusätzlich zu den Eingaben der Bits A17 bis A26 und
A31 des CPULBA empfängt der Dekodierer CADR programmierbare
Pufferbarkeitsbits (PCB). In einem realisierten
Ausführungsbeispiel stellt das erste dieser drei
Bits eine Entscheidung dar, um das Vorratsspeichern
von ROM Raum zu ermöglichen. Ein zweites Bit gibt
entweder den Dekodierer CADR zur Ausgabe von NCA
basierend auf der dekodierten Information frei, oder
als Alternative zur Definition aller Zugriffe als
nicht pufferbar, d. h. zum Erzeughen von NCA unabhängig
von der Adresse auf dem CPULBA. Schließlich zeigt ein
drittes Bit in einem Zustand an, daß der Adressenraum
zwischen 0 und 8 Megabytes pufferbar, und der Adressenraum
zwischen 8 und 16 Megabytes nicht pufferbar ist. Im
anderen Zustand zeigt das Bit an, daß der Adressenraum in
der Reichweite von 0 bis 16 Megabytes voll pufferbar
ist. Wenn gewünscht, kann der Effekt dieses Bits
vervielfacht werden, indem einfach der Status der
ersten 16 Megabytes durch die folgenden 16 Megabytebereiche
ausgedrückt wird. Natürlich ist die
Anwendung dieser besonderen Pufferbarkeitindikatoren
(oder anderer Indikatoren) nicht für die Erfindung
wesentlich, jedoch wichtig zum Anordnen des CADR auf
solche Weise, daß er seine Eingänge schnell dekodieren
und NCA erzeugen kann. In einem realisierten
Ausführungsbeispiel war die Zeitspanne für das
Erzeugen von NCA aus gültigen Adressen auf
dem CPULBA sehr kurz, d. h. in der Größenordnung von
10 Nanosekunden.
Der Begriff CPUREADY wird unten definiert (siehe
Gleichung 7). Die fünfte Zeile der Gleichung (rechts
vom Gleichheitszeichen) zeigt die Abhängigkeit von
CPUREADY von NCA, d. h. wenn NCA zusammen mit READYO
auftritt, wird CPUREADY negiert.
Gleichzeitig mit dem Auftreten von CPUREADY muß LEAB
erzeugt werden, um die zu schreibenden Daten in DL
zwischenzuspeichern. Das Signal LEAB wird in der unten
aufgführten Gleichung 8 definiert. Es umfaßt einen festen
Terminus (auf der ersten Zeile, rechts vom Gleichheitszeichen)
und zwei Hold-Termini in den zweiten und
dritten Zeilen. Der feste Terminus erfordert die
Verbindung von /BUSCYC386, /CPUREADY, (W/R), CLK und
ADS.
In einem realisierten Ausführungsbeispiel der
Erfindung wird die Steuerlogik C (sowie andere, nicht
abgebildete Steuerlogik, die andere der unten
angegebenen Gleichungen 1 bis 11 ausführen) in der
Form einer programmierbaren Anordnungslogik (Array)
ausgeführt. Es ist für den Fachmann offensichtlich,
daß andere konventionelle logische Ausführungen
ebenfalls verfügbar sind.
Somit sind durch die Anwendung der in Fig. 4 gezeigten
externen Logik (wie im folgenden in Verbindung mit den
logischen Gleichungen erläutert) abgekoppelte Schreibvorgänge
nur für pufferbare Zugriffe verfügbar. Als
pufferbarer Zugriff kann eine Vorrichtung für 32 Bits
definiert werden, obgleich es andere 32-Bit-Vorrichtungen
geben kann, die nicht pufferbar sind. Die wichtigste
Entscheidung zur Ausführung der vorliegenden Erfindung
besteht darin, ob ein abgekoppelter Schreibvorgang
erforderlich ist. Ist diese Entscheidung einmal gemacht,
so wird sie durch die Entwicklung der entsprechenden
Steuersignale zum DL und AL realisiert. Die vom 82385
erzeugten Signale sind in dem Umfang geeignet, als sie
mit der Entscheidung zugunsten eines abgekoppelten
Schreibvorgangs vereinbar sind.
Darum können mittels der Erfindung abgekoppelte
Vorgänge trotz der Tatsache ausgeführt werden, daß
Vorrichtungen mit weniger als 32 Bits mit dem Systembus
und/oder dem wahlfreien Zusatzbus verbunden sein können.
Die oben erwähnten logischen Gleichungen werden nun im
folgenden wiedergegeben. Hier haben die Symbole die
folgenden Bedeutungen:
Symbol | |
Definition | |
/ | |
Negation | |
:= | ein registrierter Ausdruck ist gleich |
= | ein kombinatorischer Ausdruck ist gleich |
& | Logisches UND |
+ | Logisches ODER |
/BREADY385=/BUSCYC385 & /BREADY & MISSI (1)
/BT2:=BUSCYC385 & PIPECYC385 & /BADS & CLK & BT2
+ BUSCYC385 & /PIPECYC385 & BADS & CLK & NACACHE & BT2
+ MISSI & /BUSCYC385 & /BADS & /(BW/R) & CLK & /BREADY
+ /MISSI & /BREADY + /BUSCYC385 & CLK
+ /BT2 & BREADY & NACACHE
+ /CLK + /BT2 (2)
+ BUSCYC385 & /PIPECYC385 & BADS & CLK & NACACHE & BT2
+ MISSI & /BUSCYC385 & /BADS & /(BW/R) & CLK & /BREADY
+ /MISSI & /BREADY + /BUSCYC385 & CLK
+ /BT2 & BREADY & NACACHE
+ /CLK + /BT2 (2)
/BUFWREND:=WBS & /BUSCYC385 & /BREADY & CLK (3)
/BUSCYC385:=BUSCYC385 & /BADS & CLK
+ BUSCYC385 & /PIPECYC385 & CLK
+ BUSCYC385 & /BT2 & CLK
+ /BUSCYC385 & BREADY
+ /BUSCYC385 & /CLK (4)
+ BUSCYC385 & /PIPECYC385 & CLK
+ BUSCYC385 & /BT2 & CLK
+ /BUSCYC385 & BREADY
+ /BUSCYC385 & /CLK (4)
/BUSCYC386:=BUSCYC386 & /ADS & CLK /RESET
+ BUSCYC386 & /PIPECYC386 & CLK & /RESET
+ /BUSCYC386 & CPUREADY & /RESET
+ /BUSCYC386 & /CLK & /RESET (5)
+ BUSCYC386 & /PIPECYC386 & CLK & /RESET
+ /BUSCYC386 & CPUREADY & /RESET
+ /BUSCYC386 & /CLK & /RESET (5)
/CPUNA:=/MISSI & CLK & CPUNA & /NACACHE
+ /MISS1 & CLK & CPUNA & /BREADY & /BUSCYC385
+ /CPUNA & /CLK
+ /CPUNA & /MISS1 & CLK
+ /CPUNA & CLK & BREADY
+ /CPUNA & BUSCYC385 & NACACHE & CLK (6)
+ /MISS1 & CLK & CPUNA & /BREADY & /BUSCYC385
+ /CPUNA & /CLK
+ /CPUNA & /MISS1 & CLK
+ /CPUNA & CLK & BREADY
+ /CPUNA & BUSCYC385 & NACACHE & CLK (6)
/CPUREADY=/READYO & /(W/R)
+ /BRDYEN & /BREADY & MISS1 & /BUSCYC385
+ /READYO387
+ /BREADY385 & (W/R) & /LEAB
+ /READYO & (W/R) & NCA
+ /RDY387PAL (7)
+ /BRDYEN & /BREADY & MISS1 & /BUSCYC385
+ /READYO387
+ /BREADY385 & (W/R) & /LEAB
+ /READYO & (W/R) & NCA
+ /RDY387PAL (7)
LEAB:=/LEAB & /BUSCYC386 & /CPUREADY & (W/R) & CLK & ADS
+ LEAB & BUFWREND & /CLK
+ LEAB & WBS & CLK (8)
+ LEAB & BUFWREND & /CLK
+ LEAB & WBS & CLK (8)
/MISS1:=MISS1 & BUSCYC385 & CPUNA &/BADS & /(BW/R) & CLK & NCA
+ MISS1 & BUSCYC385 & /BADS & /(BW/R) & CLK & NCA & /BREADY
+ /MISS1 & /CLK
+ /MISS1 & BREADY (9)
+ MISS1 & BUSCYC385 & /BADS & /(BW/R) & CLK & NCA & /BREADY
+ /MISS1 & /CLK
+ /MISS1 & BREADY (9)
/PIPECYC385:=PIPECYC385 & /BADS & /BUSCYC385 & CLK & /BREADY
+ PIPECYC385 & /MISS1 & BT2 & /BUSCYC385 & CLK & /BREADY
+ /PIPECYC385 & /CLK (10)
+ PIPECYC385 & /MISS1 & BT2 & /BUSCYC385 & CLK & /BREADY
+ /PIPECYC385 & /CLK (10)
/PIPECYC386:=PIPECYC386 & /ADS & CLK & /CPUREADY & /RESET & /BUSCYC386
+ PIPECYC386 & /CLK & /RESET (11)
+ PIPECYC386 & /CLK & /RESET (11)
In den oben aufgeführten logischen Gleichungen werden
die folgenden Signale beschrieben oder in den angegebenen
INTEL-Veröffentlichungen erwähnt:
ADS | |||||
BADS @ | BRDYEN @ | BREADY @ | (BW/R) | wird als BW/R aufgeführt - die Klammern weisen darauf hin, daß der gesamte Ausdruck ein Signal darstellt | |
CLK @ | READYO @ | RESET @ | WBS @ | (W/R) | wird als W/R aufgeführt - die Klammern weisen darauf hin, daß der gesamte Ausdruck ein Signal darstellt |
ADS im aktiven Zustand weist auf eine gültige Adresse
auf dem lokalen Zentraleinheitsbus 230 hin. BADS deutet
im aktiven Zustand auf eine gültige Adresse auf dem
Systembus 250 hin. BRDYEN wird om 82385 ausgegeben,
und zwar vor den READY-Signalen. BREADY ist ein
Bereit-Signal vom Systembus 250 zum lokalen
Zentraleinheitsbus 230. BW/R definiert einen Systembus-
250-Schreib- oder Lesevorgang. CLK ist ein Prozessor-
Takt-Signal, phasengleich mit dem Prozessor 225 READYO
wird ebenfalls vom 82385 in der Reihe der Bereit-
Signale ausgegeben. RESET bedarf keiner Erläuterung.
WBS zeigt den Status des Schreibpuffers an. (W/R)
ist das konventionelle Schreib- oder Lesesignal für
den lokalen Zentraleinheitsbus 230.
Die Gleichungen (1) bis (11) definieren folgendes:
BREADY385
BT2
BUFWREND
BUSCYC385
BUSCYC386
CPUNA
LEAB
MISS1
PIPECYC385
PIPECYC386
CPUREADY
BT2
BUFWREND
BUSCYC385
BUSCYC386
CPUNA
LEAB
MISS1
PIPECYC385
PIPECYC386
CPUREADY
als definierte Signale, als die in den obengenannten
INTEL Veröffentlichungen beschriebenen oder erwähnten
Signale, und als NCA, NACACHE, READYO387 und RDY387PAL.
BREADY385 ist ein Signal wie BREADY, das in einem
realisierten Ausführungsbeispiel an einen
64K-Vorratsspeicher angepaßt wurde. Bei einem
32K-Vorratsspeicher (wie vom Hersteller empfohlen)
kan BREADY anstelle von BREADY385 verwendet werden.
BT2 gibt den Status des Systembus 250 wieder. Der BT2-
Status wird in den genannten INTEL-Veröffentlichungen
definiert.
BUFWREND stellt das Ende eines gepufferten
Schreibzyklus dar.
BUSCYC385 stellt ebenfalls den Status des Systembus 250
dar. Er ist "HIGH" für den Busstatus BTI, BT1, BT1P und
"LOW" für BT2, BT2P und BT2I (ebenfalls in den
erwähnten INTEL-Veröffentlichungen aufgeführt).
BUSCYC386 ist "HIGH" während der Zustände TI, T1, T1P,
T2I des lokalen Bus 230, und "LOW" während T2. Es ist
ebenfalls "LOW" für T2P, wenn T2I nicht zuerst
auftritt.
CPUNA ist ein Signal zum 80386 und erlaubt
Fließbandbetrieb.
LEAB ist die Zwischenspeicherfreigabe (zum Puffer 240)
für abgekoppelte Schreibvorgänge.
MISS1 definiert im aktiven Zustand den ersten Zyklus
in einem Doppelzyklus zur Ausführung von 64-Bit-
Lesevorgängen zu pufferbaren Vorrichtungen.
PIPECYC385 ist aktiv während BT1P (einem in den
erwähnten INTEL-Veröffentlichungen aufgeführten
Buszustand).
PIPECYC386 ist niedrig während P1P des lokalen
Zentraleinheitsbus 230.
CPUREADY ist die Bereit-Eingabe zum 80386.
NCA ist ein Signal, das dadurch erzeugt wird, daß der
Adressenbestandteil auf dem lokalen Zentraleinheitsbus
230 so dekodiert wird, daß er im aktiven Zustand einen
nicht pufferbaren Zugriff wiedergibt. Pufferbarkeit
wird durch einen Markierungsbestandteil (A31 bis A17)
sowie durch programmierbare Information darüber
bestimmt, welche Markierungen (wenn überhaupt) sich
auf hinsichtlich der Bitbreite des Vorratsspeichers
pufferbare gegenüber nicht pufferbaren Adressen
beziehen.
NACACHE ist ein dem BNA-Signal ähnliches Signal. BNA
ist ein systemerzeugtes Signal, das eine nächste Adresse
vom lokalen Zentraleinheitsbus 230 anfordert und in den
erwähnten INTEL-Veröffentlichungen aufgeführt ist.
NACACHE unterscheidet sich von BNA nur darin, daß BNA
für einen 32K-Vorratsspeicher erzeugt wird, während
NACACHE für einen 64K-Speicher gebildet wird.
Soweit der Vorratsspeicher ein 32K-Speicher ist,
wie in den INTEL-Veröffentlichungen erwähnt, kann
das hier erwähnte NACACHE-Signal durch ein BNA-Signal
ersetzt werden.
READYO387 ist der Bereit-Ausgang des mathematischen
80387-Zusatzprozessors.
RDY387PAL ist ein Ausgangssignal einer externen Logik,
die dann angewandt wird, wenn kein 80387-Zusatzprozessor
vorgesehen ist, um zu verhindern, daß
dessen Fehlen den Systembetrieb beeinträchtigt.
Es wird somit deutlich, daß die vorliegnede Erfindung
eine mögliche Unvereinbarkeit zwischen dynamischer
Busanpassung und abgekoppelten Schreibvorgängen überwunden
hat, und zwar genauer gesagt dadurch, daß
festgestellt wird, obe die auf dem lokalen Zentraleinheitsbus
230 anstehende Adresse sich innerhalb
eines als hinsichtlich der Bitbreite des Vorratsspeichers
pufferbar identifizierten Adressenbereichs
befindet oder nicht. Abgekoppelte Schreibvorgänge sind
nur an derart pufferbare Vorrichtungen möglich.
CPUREADY wird erzeugt, um der Zentraleinheit das
Fortschreiten zum nächsten Vorgang zu ermöglichen. Es
kann vor der Fertigstellung eines anstehenden Vorgangs
erzeugt werden oder nicht.
In Gleichung 7 bezieht sich der in Zeile 1 definierte
Terminus auf erfolgreiches Lesen. Dieser Vorgang
findet zusammen mit einem Speichervorgang statt und
ist ein Vorgang ohne Wartezustand, so daß CPUREADY aktiv
ist. Zeile 2 bezieht sich auf erfolglose Vorratsspeicher-
Lesevorgänge. CPUREADY wird nur aktiv, wenn BREADY
aktiv ist, d. h. der Zyklus wird nicht abgekoppelt.
Zeile 4 bezieht sich auf einen nicht abgekoppelten
Schreibvorgang, d. h. CPUREADY ist nur aktiv, wenn
BREADY385 (ähnlich BREADY) aktiv ist. Zeile 5 bezieht
sich auf einen pufferbaren (NCA inaktiv) Schreibvorgang,
so daß es sich um einen abgekoppelten Vorgang handelt,
d. h. CPUREADY ist aktiv ohne BREADY oder BREADY385.
In einem realisierten Ausführugsbeispiel der
Erfindung wird die erwähnte Zusatzlogik in der Form
einer programmierbaren logischen Anordnung gemäß den
hier gezeigten logischen Gleichungen ausgeführt. Nach
Prüfung der Beschreibung ist es jedoch offensichtich,
daß die hier beschriebenen logischen Gleichungen nicht
als programmierbare logische Anordnung ausgeführt
werden müssen, sondern in anderen logischen Formen
ausführbar sind. Weiterhin macht die Anwendung der
Erfindung nicht die Verwendung der hier dargelegten
speziellen logischen Gleichungen erforderlich. Darum
ist die Erfindung nicht gemäß dem hier beschriebenen
speziellen Beispiel auszulegen, sondern gemäß den
beigefügten Ansprüchen.
Claims (7)
1. Mikrocomputersystem, folgendes enthaltend:
einen eine Zentraleinheit und ein Vorratsspeicher- Untersystem miteinander verbindenden lokalen Zentraleinheitsbus, wobei die Zentraleinheit Mittel für abgekoppelte Schreibvorgänge als Antwort auf den Erhalt eines die Bereitschaft der Zentraleinheit anzeigenden Signals vor Abschluß eines Schreibvorgangs aufweist,
einen Systembus zum Verbinden eines Speichers mit wahlfreiem Zugriff mit mehreren adressierbaren Funktionseinheiten, wobei der Systembus nach Abschluß eines Schreibvorgangs ein Bereit-Signal abgibt,
Mittel zum zweiseitig gerichteten Verbinden des Systembus und des lokalen Zentraleinheitsbus,
logische Mittel zum selektiven Verhindern abgekoppelter Schreibvorgänge, folgendes enthaltend:
einen eine Zentraleinheit und ein Vorratsspeicher- Untersystem miteinander verbindenden lokalen Zentraleinheitsbus, wobei die Zentraleinheit Mittel für abgekoppelte Schreibvorgänge als Antwort auf den Erhalt eines die Bereitschaft der Zentraleinheit anzeigenden Signals vor Abschluß eines Schreibvorgangs aufweist,
einen Systembus zum Verbinden eines Speichers mit wahlfreiem Zugriff mit mehreren adressierbaren Funktionseinheiten, wobei der Systembus nach Abschluß eines Schreibvorgangs ein Bereit-Signal abgibt,
Mittel zum zweiseitig gerichteten Verbinden des Systembus und des lokalen Zentraleinheitsbus,
logische Mittel zum selektiven Verhindern abgekoppelter Schreibvorgänge, folgendes enthaltend:
- a) einen mit einem Adreßbusbestandteil des lokalen Zentraleinheitsbus gekoppelten Adressendekodierer zum Erzeugen eines Signals, welches das Auftreten einer Adresse im lokalen Zentraleinheitsbus außerhalb eines dem Vorratsspeicher-Untersysstem zugeordneten Adressenbereichs anzeigt,
- b) auf das Signal ansprechende Mittel zum Zurückhalten des die Bereitschaft der Zentraleinheit anzeigenden Signals bis zum Eintreffen des Bereit-Signals vom Systembus.
2. System nach Anspruch 1, weiterhin folgendes
enthaltend:
einen wahlweisen Zusatzbus mit mehreren zusätzlichen Einsteck-Öffnungen zum Anschließen einer oder mehrerer wahlweiser Zusatzeinheiten in einer beliebigen Einsteck-Öffnung, wobei die adressierbaren wahlweisen Zusatzeinheiten eine Datenbreite aufweisen können, welche allen anderen Bestandteilen gleich oder ungleich ist,
zweite Verbindungsmittel für ds zweiseitig gerichtete Verbinden des wahlweisen Zusatzbus mit dem Systembus, so daß dieser beim Abschluß eines Schreibvorgangs das Bereit-Signal an eine der adresierbaren wahweisen Zusatzeinheiten zurückgibt,
wobei die logischen Mittel abgekoppelte Schreibvorgänge für jede wahlweise Zusatzeinheit mit solchen Adressen selektiv verhindern, welche außerhalb eines dem Vorratsspeicher-Untersystem zugeordneten Adressenbereiches liegen.
einen wahlweisen Zusatzbus mit mehreren zusätzlichen Einsteck-Öffnungen zum Anschließen einer oder mehrerer wahlweiser Zusatzeinheiten in einer beliebigen Einsteck-Öffnung, wobei die adressierbaren wahlweisen Zusatzeinheiten eine Datenbreite aufweisen können, welche allen anderen Bestandteilen gleich oder ungleich ist,
zweite Verbindungsmittel für ds zweiseitig gerichtete Verbinden des wahlweisen Zusatzbus mit dem Systembus, so daß dieser beim Abschluß eines Schreibvorgangs das Bereit-Signal an eine der adresierbaren wahweisen Zusatzeinheiten zurückgibt,
wobei die logischen Mittel abgekoppelte Schreibvorgänge für jede wahlweise Zusatzeinheit mit solchen Adressen selektiv verhindern, welche außerhalb eines dem Vorratsspeicher-Untersystem zugeordneten Adressenbereiches liegen.
3. System nach Anspruch 1, bei dem die
Verbindungemittel folgendes enthalten:
einen Adressenpuffer mit einem Eingang vom lokalen Zentraleinheitsbus und einem Ausgang zum Systembus, wobei der Adresenpuffer weiterhin einen Steuereingang zur Freigabe der Zwischenspeicherung und einen Steuereingang zur Freigabe des Ausgangs aufweist, einen zweiseitig gerichteten Datenpuffer mit einem ersten, mit dem lokalen Zentraleinheitsbus verbundenen Anschluß, und mit einem zweiten, mit dem Systembus verbundenen Anschluß, wobei der zweiseitig gerichtete Datenpuffer weiterhin einen Steuereingang zur Freigabe des Eingangs, einen Steuereingang zur Freigabe des Ausgangs sowie einen Richtungs-Steuereingang enthält,
wobei die logischen Mittel weiterhin Steuermittel zum Erzeugen aller Steuereingaben sowohl zum Adressenpuffer als auch zum zweiseitig gerichteten Datenpuffer einschließen.
einen Adressenpuffer mit einem Eingang vom lokalen Zentraleinheitsbus und einem Ausgang zum Systembus, wobei der Adresenpuffer weiterhin einen Steuereingang zur Freigabe der Zwischenspeicherung und einen Steuereingang zur Freigabe des Ausgangs aufweist, einen zweiseitig gerichteten Datenpuffer mit einem ersten, mit dem lokalen Zentraleinheitsbus verbundenen Anschluß, und mit einem zweiten, mit dem Systembus verbundenen Anschluß, wobei der zweiseitig gerichtete Datenpuffer weiterhin einen Steuereingang zur Freigabe des Eingangs, einen Steuereingang zur Freigabe des Ausgangs sowie einen Richtungs-Steuereingang enthält,
wobei die logischen Mittel weiterhin Steuermittel zum Erzeugen aller Steuereingaben sowohl zum Adressenpuffer als auch zum zweiseitig gerichteten Datenpuffer einschließen.
4. System nach Anspruch 3, bei welchem die logischen
Mittel auf ein Signal vom Adressendekodierer
ansprechende Mittel aufweisen, welche das
Auftreten einer Adresse innerhalb eines
Adressenbereichs anzeigen, die dem
Vorratsspeicher-Untersystem zum Erzeugen des die
Bereitschaft der Zentraleinheit anzeigenden
Signals vor dem Eintreffen des Bereit-Signals vom
Systembus zugeordnet ist.
5. System nach Anspruch 4, bei welchem der
Adressendekodierer auf weniger als alle der
aufgetretenen Adressen anspricht, um
festzustellen, ob sich die aufgetretene Adresse
inerhalb eines dem Vorratsspeicher-Untersystem
zugeordneten Bereichs befindet.
6. System nach Anspruch 5, bei welchem die auf das
Signal ansprechenden Mittel eine programmierbare
logische Anordnung enthalten.
7. System nach Anspruch 6, bei welchem die
Zentraleinheit einen 80386 enthält, wobei das
Vorratsspeicher-Untersystem einen 82385-
Cache-Controller, einen Cache-Speicher und die
programmierbare logische Anordnung enthält.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US19889388A | 1988-05-26 | 1988-05-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3909909A1 true DE3909909A1 (de) | 1989-11-30 |
DE3909909C2 DE3909909C2 (de) | 1990-05-31 |
Family
ID=22735311
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE68923402T Expired - Fee Related DE68923402T2 (de) | 1988-05-26 | 1989-03-03 | Mikrorechnersystem, der ein Cache-Subsystem mit Nachschreibfähigkeit enthält. |
DE3909909A Granted DE3909909A1 (de) | 1988-05-26 | 1989-03-25 | Verfahren und anordnung fuer selektive abgekoppelte schreibzyklen |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE68923402T Expired - Fee Related DE68923402T2 (de) | 1988-05-26 | 1989-03-03 | Mikrorechnersystem, der ein Cache-Subsystem mit Nachschreibfähigkeit enthält. |
Country Status (24)
Country | Link |
---|---|
EP (1) | EP0343768B1 (de) |
JP (1) | JPH0218640A (de) |
KR (1) | KR930001585B1 (de) |
CN (1) | CN1019153B (de) |
AT (1) | ATE125051T1 (de) |
AU (1) | AU611288B2 (de) |
BE (1) | BE1002652A4 (de) |
BR (1) | BR8902381A (de) |
CA (1) | CA1314330C (de) |
DE (2) | DE68923402T2 (de) |
DK (1) | DK189789A (de) |
ES (1) | ES2075044T3 (de) |
FI (1) | FI891785A (de) |
FR (1) | FR2632095A1 (de) |
GB (1) | GB2219107A (de) |
HK (1) | HK23796A (de) |
IT (1) | IT1230190B (de) |
MX (1) | MX171667B (de) |
MY (1) | MY108557A (de) |
NL (1) | NL8901255A (de) |
NO (1) | NO174984C (de) |
NZ (1) | NZ228784A (de) |
PT (1) | PT90632B (de) |
SE (1) | SE8901305L (de) |
-
1989
- 1989-03-03 DE DE68923402T patent/DE68923402T2/de not_active Expired - Fee Related
- 1989-03-03 GB GB8904918A patent/GB2219107A/en not_active Withdrawn
- 1989-03-03 EP EP89302135A patent/EP0343768B1/de not_active Expired - Lifetime
- 1989-03-03 ES ES89302135T patent/ES2075044T3/es not_active Expired - Lifetime
- 1989-03-03 AT AT89302135T patent/ATE125051T1/de not_active IP Right Cessation
- 1989-03-25 DE DE3909909A patent/DE3909909A1/de active Granted
- 1989-04-11 SE SE8901305A patent/SE8901305L/ not_active Application Discontinuation
- 1989-04-11 FR FR8905076A patent/FR2632095A1/fr active Pending
- 1989-04-14 FI FI891785A patent/FI891785A/fi not_active Application Discontinuation
- 1989-04-18 NZ NZ228784A patent/NZ228784A/en unknown
- 1989-04-18 NO NO891582A patent/NO174984C/no unknown
- 1989-04-19 DK DK189789A patent/DK189789A/da not_active Application Discontinuation
- 1989-04-20 BE BE8900438A patent/BE1002652A4/fr not_active IP Right Cessation
- 1989-04-25 CN CN89102629A patent/CN1019153B/zh not_active Expired
- 1989-04-26 KR KR1019890005469A patent/KR930001585B1/ko not_active IP Right Cessation
- 1989-04-26 CA CA000597891A patent/CA1314330C/en not_active Expired - Fee Related
- 1989-04-26 MY MYPI89000550A patent/MY108557A/en unknown
- 1989-05-05 AU AU34098/89A patent/AU611288B2/en not_active Ceased
- 1989-05-12 JP JP1117621A patent/JPH0218640A/ja active Pending
- 1989-05-19 NL NL8901255A patent/NL8901255A/nl not_active Application Discontinuation
- 1989-05-23 PT PT90632A patent/PT90632B/pt not_active IP Right Cessation
- 1989-05-24 BR BR898902381A patent/BR8902381A/pt unknown
- 1989-05-24 IT IT8920625A patent/IT1230190B/it active
- 1989-05-26 MX MX016202A patent/MX171667B/es unknown
-
1996
- 1996-02-08 HK HK23796A patent/HK23796A/xx not_active IP Right Cessation
Non-Patent Citations (2)
Title |
---|
US-Firmenschrift: INTEL, 80386 Hardware Reference Manual, 1987, Intel Corp., Santa Clara, CA, S. 3-20 bis 3-25 * |
US-Firmenschrift: INTEL, Microprocessor and Peripheral Handbook, Vol. 1, Microprocessor, 1988, Intel Corp., Santa Clara, CA, 1987, S. 4-70 bis 4-83 * |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE3909896C2 (de) | ||
DE3914265C2 (de) | ||
DE69018100T2 (de) | Datenübertragung über Busadressleitungen. | |
DE69215538T2 (de) | Verfahren zur verbesserung von partiellen streifenschreib-operationen einer speicherplattenanordnung | |
DE19580990C2 (de) | Verfahren und Einrichtung zum Ausführen verzögerter Transaktionen | |
DE3689042T2 (de) | Gerät zur Pufferung von Schreibanforderungen. | |
DE69028066T2 (de) | Kombinierte synchrone und asynchrone Speichersteuerung | |
DE69127101T2 (de) | System für verteilte mehrfachrechnerkommunikation | |
DE69132652T2 (de) | Rechnerdatenleitweglenkungssystem | |
DE68923944T2 (de) | RAM mit doppelten Ein/Ausgängen. | |
DE69031658T2 (de) | Vorrichtung und verfahren für instandhaltung von cache/zentralspeicherkonsistenz | |
DE69109803T2 (de) | Verfahren und Vorrichtung zur Aufrechterhaltung der Integrität eines Cachespeichers. | |
DE3781794T2 (de) | Vorrichtung und verfahren zum versehen eines cachespeichers mit einer schreiboperation mit zwei systemtaktzyklen. | |
DE69119149T2 (de) | Struktur zur direkten Speicher-zu-Speicher-Übertragung | |
DE3850514T2 (de) | Cachespeicher mit Treffervorhersagelogik. | |
DE4018481A1 (de) | Mikroprozessor hold- und lock-schaltung | |
DE19882975B4 (de) | Zugreifen auf eine Nachrichtenaustauscheinheit von einem sekundären Bus aus | |
DE69029815T2 (de) | Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung | |
DE3911721C2 (de) | ||
DE3009530C2 (de) | ||
DE69729598T2 (de) | Verfahren und Vorrichtung zur Adressenparitätsprüfung für mehrfache überlappende Addressbereiche auf einem gemeinsamen Bus | |
DE2713304C2 (de) | ||
DE3909909C2 (de) | ||
DE69031365T2 (de) | Mehrrechnersystem mit hierarchischem Cache-Speicher |
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 |