-
Diese
Erfindung bezieht sich auf ein Verfahren zum schnellen Übergeben
der Kontrolle des Zugriffs auf einen Hauptspeicher über einen
Speicherbus von einer die Kontrolle innehabenden Speichersteuereinrichtung
auf eine die Kontrolle wünschende, mit
dem Speicherbus gekoppelte weitere Steuereinrichtung sowie auf ein
ein solches Verfahren ausführendes
Computersystem mit einer CPU, einem Hauptspeicher, einer mit der
CPU und – über einen Speicherbus – mit dem
Hauptspeicher gekoppelten Speichersteuereinrichtung (Speicher-Controller)
und einer mit dem Speicherbus gekoppelten weiteren Steuereinrichtung
(Controller), wobei die Speichersteuereinrichtung und die weitere
Steuereinrichtung derart mit dem Speicherbus gekoppelt sind, dass
entweder die Speichersteuereinrichtung oder die weitere Steuereinrichtung
die Kontrolle über
den Speicherbus inne hat und auf den Hauptspeicher zugreifen kann.
-
In
dem Maße,
in dem sich die Fähigkeiten von
Computersystemen erweiterten, erhöhte sich auch die von diesen
Systemen zum Speichern von Daten und Programmen verwendete Menge
des Speicherraums. Beispielsweise kann ein typischer Desktop-Computer
mit einem einzelnen Intel-Pentium-Mikroprozessor 16 Megabyte eines
als Hauptspeicher verwendeten dynamischen Speichers mit wahlfreiem
Zugriff (DRAM), eine Gigabyte eines als Langzeitspeicher verwendeten
elektromechanischen Festplattenspeichers, ein bis vier Megabyte
eines als Teil eines grafischen Einzelbildpuffers verwendeten DRAM
oder Video-RAM (VRAM) und eine Reihe anderer spezialisierter Speicher-Arrays
aufweisen. Es scheint, dass sowohl die Menge als auch die Kosten des
bei einem solchen System verwendeten Speichers zukünftig wachsen.
-
In
der Vergangenheit wurden für
Einzelbildpuffer oftmals schnellere und aufwändigere Speicherbauelemente
(wie beispielsweise VRAM) verwendet, während der Hauptspeicher langsamere DRAM
benutzte. Schnellere Prozessoren und eine verbesserte Systemarchitektur
brachten eine wesentliche Erhöhung
der Geschwindigkeit hervor, bei welcher der Hauptspeicher betrieben
werden kann. Beispielsweise ist es gegenwärtig üblich, den Hauptspeicher an
einem separaten Speicherbus zusammen mit einer Speichersteuereinrichtung
zu positionieren, die den Zugriff auf diesen Bus steuert. Die erhöhte Geschwindigkeit,
bei welcher auf den Hauptspeicher zugegriffen werden kann und eine
Erhöhung
der durchschnittlichen Größe dieses
Speichers gestattete eine Verringerung der Systemgesamtkosten, indem
ein Teil des Hauptspeichers verwendet wird, um die grafische Ausgabe
zu speichern und zu manipulieren.
-
Um
dies auszuführen
ist es notwendig, dass eine Grafiksteuereinrichtung ebenfalls in
der Lage ist, schnell auf den Hauptspeicher zuzugreifen. Eine Grafiksteuereinrichtung
wurde in der Vergangenheit verwendet, um verschiedene Manipulationen
(Bit-Blit und dergleichen) innerhalb einer Einzelbildpuffermatrix
zu implementieren. Wenn ein Abschnitt des Hauptspeichers verwendet
wird, um den Einzelbildpufferspeicher zu ersetzen, sollte eine solche
Grafiksteuereinrichtung in der Lage sein, die gleichen Operationen
mit Grafikdaten in dem zugewiesenen Abschnitt des Hauptspeichers
auszuführen.
Um auf den Hauptspeicher zuzugreifen, muss eine Grafiksteuereinrichtung
(oder ein anderer Bus-Master) Zugriff auf den Speicherbus erlangen,
welcher sich unter der primären
Kontrolle der Speichersteuereinrichtung befindet. Die Notwendigkeit,
die Kontrolle über
den Zugriff auf den Hauptspeicher zwischen der Speichersteuereinrichtung
und anderen Steuereinrichtungen oder Bus-Mastern in der kürzestmöglichen
Zeit umzuschalten, ist folglich sehr wichtig.
-
Es
ist erwünscht,
die für
einen Bus-Master in einem Personalcomputersystem erforderliche Zeit abzukürzen, die
dieser benötigt,
um Zugriff auf eine geteilte/gemeinsame Ressource in einem Computersystem
mit einer Mehrzahl von Bus-Mastern oder Steuereinrichtungen zu erlangen,
und insbesondere die Zeit zu verkürzen, die eine Grafiksteuereinrichtung
benötigt,
um auf einen Hauptspeicherbus zuzugreifen, den sie sich mit einer
Speichersteuereinrichtung teilt.
-
Aus
der Patentschrift
US 5,289,584 ist
ein Computersystem bekannt, bei welchem eine CPU über einen
Bus mit einem Speicher-Controller
und der Controller über
einen Speicherbus mit einem DRAM-Speicher verbunden ist. Der Speicher-Controller
enthält
unter anderem eine Zustandsmaschine, die mit einer RAS-Logik und
einer CAS-Logik gekoppelt ist, so dass die Zustandsmaschine unter
anderem die Erzeugung der Zeilen-Adress-Strobe-(RAS) und Spalten-Adress-Strobe-Signale
(CAS) steuert. Wenn eine Zugriffsanforderung vorliegt, aber noch keine
ausreichende Voraufladezeit seit dem vorangegangenen Zugriff vergangen
ist, so befindet sich die Zustandsmaschine in einem Wartezustand
(WATT state). Die Druckschrift beschreibt ferner, dass dann, wenn
während
einer Burst-Schreib-Sequenz ein Voraufladen erforderlich ist, die
Zustandsmaschine in dem Warte-Zustand bleibt, bis das Voraufladen
abgeschlossen ist. In vielen Fällen
jedoch sei die Vorauflade-Bedingung erfüllt, weil das Speichersystem
zuvor ausreichend lange untätig
gewesen ist.
-
Aus
der Patentschrift
US 5,301,278 ist
ein flexibler Speicher-Controller
bekannt, über
den ein Mikroprozessor und weitere Controller auf einen aus DRAM-Bänken und
VRAM-Bänken
bestehenden Speicher zugreifen. Der Controller legt dabei, unter anderem
mittels einer Veränderung
der Voraufladezeit, die Geschwindigkeit des Speicherzugriffs fest. Bei
dieser Festlegung wird nicht nur die Art der Speicherbank, sondern
auch die Quelle des Zugriffs berücksichtigt.
-
Aus
der nachveröffentlichten
WO 97/29432 A1 ist
der Zugriff zweier unterschiedlicher Controller über einen gemeinsamen Speicherbus
auf einen Hauptspeicher bekannt, wobei eine Arbitrierungseinheit,
die in einem der Controller enthalten sein kann, die Speicherzugriffe
koordiniert.
-
Aufgabe
der Erfindung ist es, bei einem Computersystem mit einer CPU, einem
Hauptspeicher, einer mit der CPU und – über einen Speicherbus – mit dem
Hauptspeicher gekoppelten Speichersteuereinrichtung (Speicher-Controller)
und einer mit dem Speicherbus gekoppelten weiteren Steuereinrichtung
(Controller), wobei die Speichersteuereinrichtung und die weitere
Steuereinrichtung derart mit dem Speicherbus gekoppelt sind, dass
entweder die Speichersteuereinrichtung oder die weitere Steuereinrichtung
die Kontrolle über
den Speicherbus inne hat und auf den Hauptspeicher zugreifen kann,
die durchschnittliche Zugriffsgeschwindigkeit zu erhöhen, indem
unnötige
Voraufladezeiten bei Speicherzugriffen reduziert werden.
-
Diese
Aufgabe wird erfindungsgemäß durch ein
Verfahren mit den Merkmalen des Anspruchs 1 bzw. durch ein Computersystem
mit den Merkmalen des Anspruchs 6 gelöst. Vorteilhafte und/oder bevorzugte
Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
-
Kurzbeschreibung der Zeichnungen
-
1 ist
ein Blockschaltbild der Architektur eines gemäß dem Stand der Technik aufgebauten Computersystems.
-
2 ist
ein Blockschaltbild der Architektur eines Computersystems, das gemäß der vorliegenden
Erfindung konstruiert ist.
-
3 ist
ein Blockschaltbild, das ein Ausführungsbeispiel der erfindungsgemäßen Schaltung zum
Erhöhen
der Geschwindig keit darstellt, mit der auf einen Hauptspeicher an
einem Speicherbus durch einen lokalen Bus-Master zugegriffen wird.
-
4 ist
ein Zeitdiagramm, das einen Zugriff auf den Speicherbus durch einen
lokalen Bus-Master veranschaulicht, wenn der Speicherbus nicht in
Benutzung ist.
-
5 ist
ein Zeitdiagramm, das einen Zugriff auf den Speicherbus durch einen
lokalen Bus-Master veranschaulicht, wenn der Speicherbus in Benutzung ist.
-
6 ist
ein Ablaufdiagramm, das die Schritte eines erfindungsgemäßen Verfahrens
anzeigt.
-
In
dieser Beschreibung wird ein Signal, welches ein ”#” in seinem
Namen enthält,
als ein aktiv-niedriges Signal betrachtet. Der auf ein Signal angewendete
Begriff ”anlegen” zeigt
an, dass das Signal aktiv ist, unabhängig davon, ob der Pegel des
Signals niedrig oder hoch ist. Der Begriff ”wegnehmen” zeigt an, dass ein Signal
inaktiv ist.
-
Es
wird jetzt auf 1 Bezug genommen, in der ein
typisches Computersystem 10 aus dem Stand der Technik veranschaulicht
ist. Obwohl das System 10 ein beliebiges Computersystem
sein kann, welches in der beschriebenen allgemeinen Weise funktioniert,
werden solche Systeme gut von Systemen repräsentiert, die zur Verwendung
von Mikroprozessoren konstruiert sind, wie beispielsweise dem Pentium-Mikroprozessor,
einem von der Intel Corporation aus Santa Clara, Kalifornien, entworfenen
und hergestellten Typ. Das dargestellte System 10 umfasst eine
zentrale Verarbeitungseinheit 11, welche die verschiedenen,
beim Betrieb des Systems 10 gelieferten Befehle ausführt. Die
zentrale Verarbeitungseinheit 11 ist üblicherweise über einen
Prozessorbus mit einer Brückenschaltung 14 verbunden,
welche den Zugriff auf einen lokalen Bus 12 steuert, der
Informationen zwischen den verschiedenen Komponenten des Systems 10 transportieren
kann. In 1 ist der Bus 12 vorzugsweise ein
Peripheriekomponentenschnittstellen(PCI)-Bus oder ein anderer lokaler
Hochgeschwindigkeitsbus, der insbesondere schnelle Datenübertragungen
zur Verfügung
stellen kann. Bei einem typischen System 10 sind verschiedene
Eingabe/Ausgabe-Einrichtungen
mit dem Bus 12 als Bus-Master- und Bus-Slave-Schaltungen verbunden.
Bei der vorliegenden Darstellung kann beispielsweise eine Grafiksteuereinrichtung 16,
welche einen Einzelbildpuffer 17 steuert, mit dem PCI-Bus 12 als
Bus-Master oder Bus-Slawe verbunden sein. Andere Eingabe/Ausgabe-Einrichtungen,
wie beispielsweise Audiokarten, Einzelbildpuffer oder dergleichen,
können
ebenfalls mit dem Bus 12 in einer ähnlichen Weise verbunden sein.
-
Die
Brückenschaltung 14 ist
darüber
hinaus über
einen Speicherbus mit dem Hauptspeicher 13 verbunden. Der
Hauptspeicher 13 ist typischerweise aus dynamischen Speichern
mit wahlfreiem Zugriff (DRAM) aufgebaut, die in einer dem Fachmann
gut bekannten Weise angeordnet sind, um Informationen während der
Zeit zu speichern, in der das System 10 mit Strom versorgt
wird. In Abhängigkeit
von der speziellen Konfiguration enthält die Brückenschaltung 14 typischerweise
eine sekundäre
Cache-Steuereinrichtung,
einen sekundären
Cache-Speicher (oftmals bezeichnet als L2-Cache),
eine Speichersteuereinrichtung 15 und eine Anzahl von Puffern
zum Speichern von Daten während
ihrer Übertragung
zwischen dem Prozessor, dem Hauptspeicher und dem lokalen Bus. Diese
Komponenten können
ein integraler Teil der Brückenschaltung 14 oder,
alternativ, auf einer Schaltungsplatine mit den anderen Komponenten
vereinigt sein.
-
In
der Anordnung gemäß 1 werden
die Operationen durch die zentrale Verarbeitungseinheit 11 unter
der Steuerung eines Betriebssystems geleitet, welches mit Anwendungsprogrammen
kooperiert, um Daten zu den verschiedenen Komponenten des Systems 10 zu übertragen.
Beispielsweise werden zum Hauptspeicher 13 adressierte
Daten auf den Speicherbus unter der Steuerung der Speichersteuereinrichtung 15 übertragen.
In ähnlicher
Weise werden von der zentralen Verarbeitungseinheit 11 gelesene Daten
vom Hauptspeicher 13 auf den Speicherbus unter Steuerung
der Speichersteuereinrichtung 15 übertragen. Andererseits werden
Daten, die gesteuert durch die Grafiksteuereinrichtung 16 zu
einer Einzelbildpuffer-adresse zur Speicherung in dem Einzelbildpuffer 17 und
zur Anzeige auf dem Ausgabedisplay 18 übertragen werden, über einen
Datenpfad innerhalb der Brückenschaltung 14 zu
dem Bus 12 übertragen.
Wenn diese Daten von der zentralen Verarbeitungseinheit 11 übertragen
werden, dann werden die Daten und Adressen mit Hilfe der Brückenschaltung
zu dem Bus 12 übertragen.
Wenn die Daten aus dem Hauptspeicher 13 übertragen
werden, steuert die Speichersteuereinrichtung 15 die Übertragung
von dem Hauptspeicher zu der Brückenschaltung 14,
wo sie in den Brücken-Datenpfad
zu dem Bus 12 eingegeben werden. Obwohl die Brückenschaltung 14 üblicherweise
die Kontrolle des Busses 12 bei Fehlen von Operationen
anderer Bus-Master besitzt,
gibt es Zeiten, zu welchen die Brückenschaltung 14 sich
um den Busbesitz des Busses 12 bewerben und Zugriff zu
dem Bus 12 erlangen muss, um Daten auf den Bus 12 für eine Übertragung
zu der Grafiksteuereinrichtung 16 zu plazieren.
-
Für den Fachmann
ist es klar, dass dann, wenn der Einzelbildpuffer 17 aus
der Architektur des Systems 10 entfernt und die Einzelbildpufferoperationen
in einem Abschnitt des Speicherraums im Hauptspeicher 13 ausgeführt werden,
die Grafiksteuereinrichtung 16 den langen Pfad über den
Bus 12 und die Speichersteuereinrichtung 13 benutzen
muss, um die Daten zu manipulieren und zu übertragen. Um diese Verzögerung zu
verringern, wurde eine verbesserte Architektur entworfen, um Operationen
unter der Steuerung einer Grafiksteuereinrichtung zu beschleunigen,
wenn der von dem Einzelbildpuffer 17 in dem System gemäß 1 zur
Verfügung
gestellte Speicher durch Speicherraum im Hauptspeicher ersetzt werden
soll.
-
2 veranschaulicht
eine verbesserte Architektur, die entworfen wurde, um die Operationen unter
der Steuerung einer Grafiksteuereinrichtung zu beschleunigen, wenn
Speicherraum für
unter der Steuerung einer Grafiksteuereinrichtung anzuzeigende Daten
im Hauptspeicher zur Verfügung
gestellt wird. Wie man bei dem System 20 gemäß 2 sehen
kann, enthält
das dargestellte System 20 eine zentrale Verarbeitungseinheit 11,
welche über
einen Prozessorbus mit einer Brückenschaltung 24 verbunden
ist, welche den Zugriff auf einen lokalen Hochgeschwindigkeitsbus 22 steuert,
der Informationen zwischen verschiedenen Komponenten des Systems 10 transportieren
kann. Bei einem typischen System 20 sind verschiedene Eingabe/Ausgabe-Einrichtungen mit
dem Bus 22 als Bus-Master- und Bus-Slave-Schaltungen verbunden.
Bei der vorliegenden Darstellung kann beispielsweise die Grafiksteuereinrichtung 26,
welche die Manipulationen und Übertragung
von Daten an ein Ausgabedisplay 18 steuert, mit dem Bus 22 als
Bus-Master oder -Slave verbunden sein. Andere Eingabe/Ausgabe-Einrichtungen, wie
beispielsweise Sound-Karten, Einzelbildpuffer und dergleichen, können ebenfalls
mit dem Bus 22 in einer ähnlichen Weise verbunden sein.
-
Die
Brückenschaltung 24 ist
außerdem über einen
Speicherbus mit dem Hauptspeicher 13 verbunden. Der Hauptspeicher 13 kann
aus DRAM, VRAM oder anderen Speichern mit wahlfreiem Zugriff aufgebaut
sein, die in einer für
den Fachmann gut bekannten Weise angeordnet sind, um während einer
Zeit, in welcher die Stromversorgung dem System 20 zur
Verfügung
gestellt wird, Informationen zu speichern. Wie bei dem System 10 gemäß 1 kann
die Brückenschaltung 24 eine
sekundäre
Cache-Steuereinrichtung, einen sekundären Cache (oftmals als L2-Cache bezeichnet), eine Speichersteuereinrichtung 25,
eine Anzahl von Puffern zum Speichern von Daten sowie Daten- und
Adresspfade zum Ermöglichen
der Übertragung
von Daten und Adressen zwischen dem Prozessor, dem Hauptspeicher und
dem lokalen Bus enthalten. Diese Komponenten können ein integraler Teil der
Brückenschaltung 24 oder,
alternativ, auf einer Schaltungsplatine mit anderen Komponenten
vereinigt sein.
-
Im
Unterschied zum System 10 ist die Grafiksteuereinrichtung 26 des
Systems 20 nicht nur mit dem Bus 22, sondern auch
mit Speicherbus verbunden. Durch diese Verbindungen kann die Grafiksteuereinrichtung 26 die Übertragung
von Daten direkt zu sich selbst und zum Display 18 steuern,
wenn sie Zugriff auf den Speicherbus hat. Mit diesem Zugriff auf den
Hauptspeicher 13 kann die Grafiksteuereinrichtung 26 Daten
innerhalb des Hauptspeichers 13 derart speichern, lesen
und manipulieren, dass Abschnitte des Hauptspeichers 13 in
der Weise eines Einzelbildpuffers funktionieren können.
-
3 ist
ein detailliertes Blockschaltbild eines Ausführungsbeispiels eines Abschnitts
der in 2 dargestellten Schaltung zum Ausführen der Erfindung.
Um einen Abschnitt des Hauptspeichers zum Ersetzen der Funktionen
eines Grafikeinzelbildpuffers benutzen zu können, ist es notwendig, dass eine
Grafiksteuereinrichtung Zugriff auf den Hauptspeicher hat, um in
der Lage zu sein, die verschiedenen Manipulationen auszuführen, die
für die
Anzeige von Grafik notwendig sind. In 3 sind die
Speichersteuereinrichtung 25, die Grafiksteuereinrichtung 26 und
der Hauptspeicher 13 gezeigt. Die Speichersteuereinrichtung 25 ist
derart eingekoppelt, dass sie Informationen zum Bus 12 senden
und von ihm empfangen kann, und empfängt ein Takteingangssignal
CLK. In ähnlicher
Weise ist die Grafiksteuereinrichtung 26 mit dem Bus 12 zum
Empfangen und Senden von Informationen gekoppelt und empfängt ein
Takteingangssignal CLK. Sowohl die Speichersteuereinrichtung 25 als
auch die Grafiksteuereinrichtung 26 sind so gekoppelt,
dass sie eine Mehrzahl von Steuersignalen zum Hauptspeicher 13 zur
Verfügung
stellen können.
Diese Signale umfassen einen Schreibfreigabesignal WE#, ein Zeilenzugriffs-Strobe-Signal,
RAS# und ein Spaltenzugriffs-Strobe-Signal CAS#. Zusätzlich wird
eine Speicheradresse MADDR während
des Speicherzugriffs auf den Speicheradressbus getrieben. Daten
werden zum und vom Hauptspeicher 13 auf einen Speicherdatenbus
unter der Steuerung dieser Signale übertragen.
-
Grundsätzlich wird
dann, wenn eine Steuereinrichtung Zugriff auf den Speicherbus hat
und eine Speicheroperation auftreten soll, eine gültige Speicheradresse
MADDR auf den Bus getrieben; dann wird das Signal RAS# angelegt,
um unter Verwendung der Speicheradresse die Auswahl der richtigen Zeile
zu gestatten, gefolgt vom Anlegen eines oder mehrerer Signale CAS#,
um die Auswahl einer adressierten Spalte oder adressierter Spalten
zu ermöglichen.
-
Bei
einem System, in welchem die Erfindung verwendet werden kann, hat
die Speichersteuereinrichtung 25 die primäre Kontrolle über den
Speicherbus, so dass immer dann, wenn der Speicherbus freigegeben
wird, die Kontrolle zur Speichersteuereinrichtung zurückkehrt.
Bei anderen Systemen könnte jede
von zwei oder mehreren Steuereinrichtungen nach dem Abschluss einer
Verwendung die Steuerung über
den Bus beibehalten, bis ein Zugriff von einer anderen Steuereinrichtung
angefordert würde.
-
Angenommen,
dass die Speichersteuereinrichtung die Kontrolle über den
Speicherbus hat, so legt bei der Schaltung gemäß 3 die Grafiksteuereinrichtung 26,
wenn sie eine Speicheroperation auszuführen wünscht, ein Speicherbusanforderungssignal
MREQ# an, was der Speichersteuereinrichtung anzeigt, dass die Grafiksteuereinrichtung
auf den Speicherbus zuzugreifen wünscht. Wenn die Speichersteuereinrichtung
den Speicherbus nicht verwendet, so antwortet die Speichersteuerreinrichtung 25,
indem sie ein Speicherbusgewährungssignal MGNT#
an die Grafiksteuereinrichtung 26 ausgibt. Dieses Signal
zeigt der Grafiksteuereinrichtung 26 an, dass sie die Kontrolle über den
Speicherbus hat und auf dem Bus lesen oder schreiben kann. Wenn andererseits
die Speichersteuereinrichtung 25 den Speicherbus gerade
verwendet, so schließt
die Speichersteuereinrichtung 25 ihre Operation ab, bevor
sie den Bus an die Grafiksteuereinrichtung 26 freigibt. Die
Speichersteuereinrichtung gibt den Speicherbus frei, indem sie die
Speicheradressleitungen tri-state-entkoppelt, die Signale RAS# und
CAS# weg nimmt und ein Speicherbusgewährungssignal MGNT# an die Grafiksteuereinrichtung 26 ausgibt.
-
Ein
Problem, welches auftritt, wenn zwei Steuereinrichtungen direkt
auf den Speicherbus zugreifen können,
besteht darin, dass eine vorgegebene Periode erforderlich ist, um
die Zeilen- und
Spaltenauswahlschaltungen voraufzuladen, nachdem das Signal RAS#
von der die Kontrolle über
den Bus an eine andere Steuereinrichtung übergebenden Steuereinrichtung
weggenommen worden ist. Die Voraufladezeit variiert in Abhängigkeit
von dem speziellen System, da sie sowohl von der Taktrate als auch
den einzelnen Bauelementen innerhalb der DRAM-Speichermatrix abhängig ist.
Bei einem System ist diese Voraufladezeit drei Taktzyklen lang.
In anderen Systemen sind andere Voraufladezeiten erforderlich. Da
das Voraufladen auftreten muss, bevor das Zeilenzugriffs-Strobe-Signal
angelegt wird, um eine richtige Zeilenauswahl zu sichern, ist es
notwendig, nach der Freigabe des Busses durch eine Steuereinrichtung
und dem Anlegen der anderen Steuereinrichtung zumindest diese Zeitmenge
zur Verfügung
zu stellen. Andererseits ist es wünschenswert, die Zeitdauer,
in der das Voraufladen auftritt, auf diese bekannte Periode zu begrenzen,
so dass keine Zyklen während
der Übergabe
der Kontrolle zwischen den Steuereinrichtungen verschwendet werden.
-
Die
vorliegende Erfindung stellt die kürzestmögliche Übergangszeit zur Übergabe
der Speicherbuskontrolle von der Speichersteuereinrichtung 25 auf
die Grafiksteuereinrichtung 26 in den beiden verschiedenen
Situationen zur Verfügung,
welche möglich
sind, wenn die Grafiksteuereinrichtung 26 den Zugriff auf
den Hauptspeicher 13 anfordert. Die 4 und 5 veranschaulichen
den zeitlichen Ablauf von zwei verschiedenen Operationen, welche bei
dem speziellen Ausführungsbeispiel
der Erfindung auftreten. 4 veranschaulicht den zeitlichen Ablauf
der dann stattfindenden Operationen, wenn die Speichersteuereinrichtung
die Kontrolle hat, aber den Speicherbus gerade nicht verwendet,
während 5 den
zeitlichen Ablauf der Operationen zeigt, wenn die Speichersteuereinrichtung
den Speicherbus gerade verwendet. 6 veranschaulicht
die beim Ausführen
der Erfindung involvierten Schritte.
-
Um
die kürzeste
Zeit zum Übertragen
oder Übergeben
der Buskontrolle zu verwirklichen, bestimmt die Speichersteuereinrichtung 25 zunächst den
Zustand der RAS-Leitungen, wenn die Grafiksteuereinrichtung 26 das
Signal MREQ# anlegt (Punkt ”a” in jeder
der 4 und 5). Der Zustand der RAS-Leitungen
wird von der Speichersteuereinrichtung 25 auf der Flanke
des nächsten
Taktes am Punkt ”b” bestimmt.
Wenn das RAS-Signal hoch ist, wie es in 4 gezeigt
ist, so zeigt dies an, dass RAS# von der Speichersteuereinrichtung 25 nicht
angelegt ist, so dass die stattfindende Übergabeoperation eine schnelle Übergabeoperation
ist; während dann,
wenn das RAS-Signal niedrig ist, wie es in 5 gezeigt
ist, was anzeigt, dass RAS# von der Speichersteuereinrichtung 25 angelegt
ist, die Übergabeoperation
eine langsame Operation ist.
-
Wenn
das RAS-Signal niedrig ist, wie es in 5 gezeigt
ist, was anzeigt, dass RAS# von der Speichersteuereinrichtung 25 angelegt
ist, dann passiert nichts, bis die Speichersteuereinrichtung 25 bereit
ist, den Speicherbus am Ende der ausgeführten Operation freizugeben.
Das Ende der Operation tritt in 5 während des
Zyklus 3 auf. Da die Speichersteuereinrichtung 25 weiß, dass
das Ende der Operation aufgetreten ist, und dass das Signal MREQ# von
der Grafiksteuereinrichtung angelegt worden ist, führt die
Speichersteuereinrichtung unmittelbar nach Abschluss der Speicheroperation
drei Dinge aus. Die Speichersteuereinrichtung 25 treibt
die RAS-Leitungen hoch, um das RAS#-Signal zu deaktivieren, und beginnt
das RAS-Voraufladen
(siehe Punkt ”e” in 5),
tri-state-entkoppelt, die Speicheradressleitungen (siehe Punkt ”i” in 5)
und legt das Speicherbusgewährungssig-nal
MGNT# an die Grafiksteuereinrichtung 26 an. Dies zeigt
der Grafiksteuereinrichtung 26 an, dass sie die Kontrolle über den Speicherbus übernehmen
kann. Einen Zyklus später führt die
Speichersteuerein richtung 25 eine Tri-State-Entkopplung
der RAS-Leitungen aus, so dass die Grafiksteuereinrichtung 26 diese
Leitungen treiben kann.
-
Um
so schnell wie möglich
zu funktionieren, enthält
die Grafiksteuereinrichtung 26 eine Zeitgabeschaltung 27 (oder
eine ähnliche
Zeitschaltung), welche an dem Intervall beginnt, in dem die Grafiksteuereinrichtung
das Signal MREQ# anlegt. Die Zeitgabeschaltung 27 erfasst
das Signal MGNT#, wenn es zurückgegeben
wird. Wenn das Signal MGNT# innerhalb des nächsten Taktes nach dem ersten
Anlegen des Signals MREQ# zurückgegeben
wird, dann kann die Grafiksteuereinrichtung sofort. die Kontrolle über den
Bus übernehmen
und geht in eine schnelle Übergabeoperation über, um
dies auszuführen.
In 5 jedoch wird das Signal MGNT# von der Speichersteuereinrichtung
nicht zurückgegeben,
bis die Speicheroperation abgeschlossen worden ist. Wenn dies auftritt,
treibt die Speichersteuereinrichtung 25 die RAS-Leitungen
für einen
Zyklus auf hohen Pegel und legt das Signal MGNT# an der Taktflanke
an (bezeichnet mit Punkt ”c” in 5).
Weil das Signal MGNT# von der Zeitgabeschaltung nicht innerhalb des
voreingestellten Zeitintervalls abgetastet worden ist, versetzt
die Zeitgabeschaltung 27 der Grafiksteuereinrichtung 26 die Übergabeoperation
in eine langsame Übergabeoperation.
Nach dem Treiben der RAS-Leitungen für einen Takt entkoppelt (Tri-State) die
Speichersteuereinrichtung 25 die RAS-Leitungen (am Punkt ”f” in 5),
welche geringfügig
auf einen tieferen Pegel driften, aber auf hohem Pegel durch einen
Pull-up-Widerstand gehalten werden (beispielhaft dargestellt durch
den Widerstand 28 in 3). Beim
Ausführen
der langsamen Übergabeoperation treibt
die Grafiksteuereinrichtung 26 in dem dem Erfassen des
Signals MGNT# nachfolgenden Zyklus die RAS-Leitungen wiederum auf
einen hohen Pegel (im Punkt ”g” in 5),
bevor sie auf einen niedrigeren Pegel driften können, nachdem sie von der Speichersteuereinrichtung
tri-state-entkoppelt worden sind. Gleichzeitig treibt die Grafiksteuereinrichtung 26 die
Speicheradresse auf die Speicheradressleitungen (im Punkt ”j” in 5).
Dann, einen Zyklus später,
legt die Grafiksteuereinrichtung 26 das Signal RAS# an
(durch den Punkt ”h” in 5 angezeigt), indem
sie die RAS-Leitungen auf niedrigen Pegel treibt.
-
Wie
man in 5, welche die nach Anlegen des Signals MREQ# und
Benutzung des Busses durch die Speichersteuereinrichtung stattfindende langsame Übergabe
des Speicherbusses von der Speichersteuereinrichtung 25 auf
die Grafiksteuereinrichtung 26 veranschaulicht, erkennen
kann, ist die Zeitdauer vom Ende der Operation auf dem Bus durch
die Speichersteuereinrichtung 25 (angezeigt durch die Punkte ”c” und ”e” in 5)
bis zum Anlegen des Signals RAS# durch die Grafiksteuereinrichtung 26 (angezeigt
durch den Punkt ”h” in 5)
nur drei Zyklen. Bei der Beispielschaltung ist dies die kürzestmögliche Zeit
zur Übergabe,
da das RAS-Aufladen sofort nach dem Ende der Speichersteuereinrichtungsoperation
beginnt und exakt die Zeit dauert, die zum Vorauf laden der RAS-Leitungen
erforderlich ist. Demzufolge stellt die Erfindung die bestmögliche Zeit
zur Übergabe
der Kontrolle zwischen den zwei Steuereinrichtungen unter Verwendung
der langsamen Übergabesequenz
zur Verfügung.
-
In
dem in 4 veranschaulichten Fall, in welchem die Speichersteuereinrichtung 25 die
Kontrolle über
den Bus hat, aber diesen nicht benutzt, wenn das Signal MREQ# von
der Grafiksteuereinrichtung 26 angelegt wird, ermittelt
die Speichersteuereinrichtung 25 wiederum den Zustand des
RAS-Signals, wenn das Signal MREQ# von der Grafiksteuereinrichtung 26 angelegt
wird (Punkt ”a” in 4), indem
sie den Zustand der RAS-Leitungen an der Flanke des nächsten Taktes
im Punkt ”b” erfasst. Wenn
das Signal RAS hoch ist (wie es in 4 gezeigt
ist), was anzeigt, dass die Speichersteuereinrichtung 25 keinerlei
Operationen auf dem Speicherbus ausführt und dass das Aufladen der
RAS-Leitungen für
zumindest einen Zyklus ausgeführt
worden ist (zumindest seit Punkt ”e” in 4), so antwortet
die Speichersteuereinrichtung 25 auf das Signal MREQ#,
indem sie die zuvor auf hohen Pegel getriebenen RAS-Leitungen tri-state-entkoppelt
(siehe Punkt ”f” in 4), die
Speicheradressleitungen tri-state-entkoppelt (siehe Punkt ”i” in 4)
und das Speicherbusgewährungssignal
MGNT# an die Grafiksteuereinrichtung 26 anlegt.
-
Das
Signal MGNT# zeigt der Grafiksteuereinrichtung 26 an, daß sie die
Kontrolle über
den Speicherbus annehmen kann. Die Grafiksteuereinrichtung 26 erfasst
das Signal MGNT# an der nächsten
Taktflanke (siehe Punkt ”d” in 4)
innerhalb des Intervalls nach dem Anlegen von MREQ#, was eine schnelle Übergabeoperation
anzeigt. Die Zeitgabeschaltung 27 erfasst den Empfang,
der innerhalb des vorgegebenen Intervalls auftrat, und schaltet
die Grafiksteuereinrichtung 26 in die schnelle Übergabeoperation
um. Bei der schnellen Übergabe treibt
die Grafiksteuereinrichtung 26 unverzüglich nach dem Erfassen des
Signals MGNT# im selben Taktzyklus die RAS-Leitungen auf hohen Pegel
(im Punkt ”g” in 4),
so dass das RAS-Leitungsaufladen fortgesetzt wird. Gleichzeitig
treibt die Grafiksteuereinrichtung 26 ihre Speicheradresse
auf die Speicheradressleitungen (im Punkt ”j” in 4). Dann,
einen Zyklus später,
legt die Grafiksteuereinrichtung 26 das Signal RAS# an
(was durch den Punkt ”h” in 4 angezeigt
wird), indem sie die RAS-Leitungen auf niedrigen Pegel treibt.
-
In 4,
welche den dann, wenn die Speichersteuereinrichtung den Bus nicht
verwendet, stattfindende schnelle Übergabe des Speicherbusses
von der Speichersteuereinrichtung 25 auf die Grafiksteuereinrichtung 26 veranschaulicht,
sei angemerkt, dass in demselben Zyklus, in dem das Signal MGNT#
erfasst worden ist, die RAS-Leitungen auf hohen Pegel getrieben
und die Speicheradresse ausgegeben wird. Dies gestattet es wie bei
der langsamen Übergabeoperation,
dass die Periode vom Ende der Operation der Speichersteuereinrichtung 25 (die
als zumindest im Punkt ”e” in 4 auftretend angezeigt
ist) bis zum Anlegen des Signals RAS# durch die Grafiksteuereinrichtung 26 (angezeigt durch
Punkt ”h” in 4)
nur drei Zyklen beträgt. Dies
ist die kürzestmögliche Zeit,
um einen Abschluss des RAS-Leitungs-Aufladens zu sichern, da das
Erfassen des ho hen Zustands der RAS-Leitungen die schnelle Übergabesequenz
initiiert, aber nicht anzeigt, wie lange die Leitungen auf hohem
Pegel waren, wenn sie abgetastet worden sind (die dem Punkt ”e” in 4 vorangehende
Schraffur zeigt an, dass die Leitungen an einem beliebigen Punkt
auf hohem Pegel gegangen sein können);
demzufolge muss eine ausreichende Zeit zur Verfügung gestellt werden für eine vollständige Voraufladung
der RAS-Leitungen. Bei der Beispielschaltung ist dies die kürzestmögliche Zeit
für eine Übergabe,
da die Messung der RAS-Voraufladezeit unmittelbar nach Anlegen des
Signal MREQ# an die Speichersteuereinrichtung beginnt und exakt
die Zeitdauer fortgesetzt wird, die zum Voraufladen der RAS-Leitungen
erforderlich ist. Demzufolge schafft die Erfindung die bestmögliche Zeit
zur Übergabe
der Kontrolle zwischen den zwei Steuereinrichtungen.