-
Die Erfindung betrifft eine Adreßsteuereinrichtung zur
Verwendung zwischen einer Ausführungsverarbeitungseinheit und
einem Speicherabschnitt in einem
Informationsverarbeitungssystem.
-
In einem Informationsverarbeitungssystem der
beschriebenen Art wird häufig eine Pipelinesteuerung eingesetzt, um
eine Befehlsfolge mit hoher Geschwindigkeit zu verarbeiten.
Dazu führt eine Ausführungsverarbeitungseinheit einen
Vorabruf von oder Vorgriff auf Befehle aus einem Hauptspeicher vor
Ausführung der vorabgerufenen Befehle durch. Dies zeigt, daß
durch die Ausführungsverarbeitungseinheit zwangsläufig auf
den Hauptspeicher zugegriffen wird.
-
Beim Zugreifen auf den Hauptspeicher wird von der
Ausführungsverarbeitungseinheit eine virtuelle Adresse erzeugt,
die folglich in eine entsprechende reale Adresse des
Hauptspeichers umgewandelt oder umgesetzt werden muß. Anders
ausgedrückt, ist für ein solches
Informationsverarbeitungssystem die Adreßumwandlung oder -umsetzung einer virtuellen
Adresse in eine reale Adresse unverzichtbar und kann durch
Nachschlagen in einer Adreßumwandlungs- oder Umsetztabelle
erfolgen, die im Hauptspeicher gespeichert ist. Ein
derartiges Nachschlagen in der Tabelle erschwert jedoch die
Pipelinesteuerung, da jedesmal, wenn die Adreßumwandlung
durchgeführt wird, auf den Hauptspeicher zugegriffen werden muß.
-
Um die Pipelinesteuerung zu ermöglichen, wird eine
Adreßsteuereinrichtung zum Durchführen der Adreßumwandlung
einer virtuellen Adresse in eine reale Adresse mit hoher
Geschwindigkeit verwendet, die in Zusammenarbeit mit einem
Cache-Speicher arbeitet. Eine Kombination aus Hauptspeicher
und Cache-Speicher wird nachfolgend gemeinsam als
Speicherabschnitt bezeichnet.
-
Eine herkömmliche Adreßsteuereinrichtung weist einen
Adreßumsetzpuffer (TLB) auf, der eine vorbestimmte Anzahl von
Einträgen in bezug auf virtuelle Adressen aufbewahrt oder
speichert, die bereits von der
Ausführungsverarbeitungseinheit ausgegeben wurden. Bei diesem Aufbau wird durch eine
virtuelle Adresse zunächst im Adreßumsetzpuffer
nachgeschlagen, und dieser führt eine schnelle Adreßumwandlung der
virtuellen Adresse in eine reale Adresse durch, solange ein
Eintrag in Übereinstimmung mit der fraglichen virtuellen
Adresse gespeichert ist.
-
Anders ausgedrückt, wird auf die Adreßumwandlungstabelle
des Hauptspeichers nur bei Abwesenheit eines der fraglichen
virtuellen Adresse entsprechenden Eintrags zugegriffen.
Dadurch werden Zeitverluste minimiert, die infolge einer
Zugriffsoperation auf den Hauptspeicher auftreten könnten.
-
Hierbei soll nunmehr angenommen werden, daß ein
bedingter Verzweigungsbefehl (ein Befehl "Verzweigen bei
Bedingung") als vorabgerufener Befehl in der
Ausführungsverarbeitungseinheit vorabgerufen wird. Eine solche Vorabrufoperation
könnte für den bedingten Verzweigungsbefehl in der Annahme
durchgeführt werden, daß eine Voraussage über den Erfolg,
also die Erfüllung einer Verzweigungsbedingung, oder den
Mißerfolg, also die Nichterfüllung der Verzweigungsbedingung,
getroffen wird. Zusätzlich könnten Befehle oder Operanden für
die Befehle auch im Cache-Speicher entsprechend der
getroffenen Voraussage für den bedingten Verzweigungsbefehl
vorabgerufen werden. Unter diesen Umständen könnte eine solche
Voraussage einer Verzweigungsbedingung häufig falsch sein
oder zu einer Nichterfüllung führen.
-
In einem herkömmlichen Informationsverarbeitungssystem
könnten die vorabgerufenen Operanden bei Auftreten der
falschen Voraussage annulliert werden, indem eine
Annulliermeldung von der Ausführungsverarbeitungseinheit zur
Adreßsteuereinrichtung gesendet wird. Dadurch wird verhindert, daß die
vorabgerufenen Operanden zur Ausführungsverarbeitungseinheit
in Verbindung mit der falschen Voraussage geführt werden.
-
Hierbei führt die Adreßsteuereinrichtung eine
Adreßspeicheroperation über eine vorbestimmte Zeitdauer durch, wenn im
Adreßumsetzpuffer kein Eintrag in bezug auf eine virtuelle
Eingabeadresse gespeichert ist. Wird die vorstehend erwähnte
Annulliermeldung von der Ausführungsverarbeitungseinheit zur
Adreßsteuereinrichtung während der Adreßspeicheroperation
geführt, könnte die Adreßspeicheroperation in der
Adreßsteuereinrichtung unterbrochen werden, die sich im Verlauf der
Annullierung befindet. Eine solche Unterbrechung einer
Adreßspeicheroperation erfordert eine komplizierte Steuerung in
der Adreßsteuereinrichtung.
-
Selbst dann, wenn die Voraussage über eine
Verzweigungsbedingung eines bedingten Verzweigungsbefehls ein einziges
Mal falsch ist, geschieht es dennoch häufig, daß eine
ähnliche Voraussage als richtig bewertet wird, wenn der fragliche
bedingte Verzweigungsbefehl erneut oder mehrmals mit einer
bestimmten Häufigkeit ausgeführt wird. In diesem Fall muß
sich eine Verzweigungsoperation auf die zuvor vorabgerufenen
Operanden richten, die im Adreßumsetzpuffer bereits
annulliert wurden. Dementsprechend sollte die in ihrem Verlauf
unterbrochene Adreßspeicheroperation von Beginn der
Adreßspeicheroperation an erneut durchgeführt werden. Dies zeigt,
daß die Adreßspeicheroperation zu einem unerwünschten
Zeitverlust in der Adreßsteuereinrichtung führt, was eine
schlechtere Leistung im Informationsverarbeitungssystem mit
sich bringt.
-
Die US-A-4 520 441 betrifft ein Datenverarbeitungssystem
zum Unterstützen eines virtuellen Speichers. Vor Beginn der
Schreiboperation im Hauptspeicher kontrolliert ein Prozessor,
ob ein Speicherpuffer einen freien Bereich zum Speichern von
Daten hat, die in einen Hauptspeicher geschrieben werden
sollen, um einen aktuellen Befehl auszuführen. Kommt es
während der Schreiboperation im Hauptspeicher zu einem
Seitenfehler, speichert der Prozessor weiter die nachfolgenden
Schreibdaten für den aktuellen Befehl und die entsprechenden
virtuellen oder logischen Adressen im Speicherpuffer, um die
Ausführung des aktuellen Befehls zu beenden. Die US-A-4 520
441 offenbart eine Adreßsteuereinrichtung und ein Verfahren
zum Steuern einer Zugriffsoperation auf den Speicher gemäß
dem Oberbegriff von Anspruch 1 und 3.
-
Eine Aufgabe der Erfindung besteht darin, eine
Adreßsteuereinrichtung zu schaffen, die eine
Adreßspeicheroperation auch dann plausibel und wirksam steuern kann, wenn die
Voraussage über eine Verzweigungsbedingung eines bedingten
Verzweigungsbefehls in einer Ausführungsverarbeitungseinheit
falsch ist.
-
Eine weitere Aufgabe der Erfindung besteht darin, eine
Adreßsteuereinrichtung der beschriebenen Art zu schaffen, die
Zeitverluste vermeiden kann, die sich ansonsten aus der
Adreßspeicheroperation ergeben könnten.
-
Eine andere Aufgabe der Erfindung besteht darin, eine
Adreßsteuereinrichtung der beschriebenen Art zu schaffen, die
eine Steueroperation in ihr vereinfachen kann.
-
Diese Aufgaben werden durch eine Adreßsteuereinrichtung
und ein entsprechendes Verfahren gemäß Anspruch 1 bzw. 3
gelöst.
Kurze Beschreibung der Zeichnungen
-
Fig. 1 ist ein Blockschaltbild eines
Informationsverarbeitungssystems, auf das die Erfindung anwendbar ist;
-
Fig. 2 ist ein Blockschaltbild einer
Adreßsteuereinrichtung gemäß einer bevorzugten Ausführungsform der Erfindung;
-
Fig. 3 ist eine Ansicht zum Beschreiben eines bei der
Adreßsteuereinrichtung in Fig. 2 zugeführten virtuellen
Adreßsignals;
-
Fig. 4 ist eine Ansicht zum Beschreiben eines
Adreßumsetzpuffers, der in der Adreßsteuereinrichtung gemäß Fig. 2
enthalten ist;
-
Fig. 5 ist ein Blockschaltbild eines
Adreßumwandlungssteuerabschnitts, der in der Adreßsteuereinrichtung verwendet
wird;
-
Fig. 6 ist ein Blockschaltbild eines
Antwortsteuerabschnitts, der in der Adreßsteuereinrichtung verwendet wird;
-
Fig. 7 ist ein Zeitdiagramm zum Beschreiben eines
Betriebs der Adreßsteuereinrichtung; und
-
Fig. 8 ist ein Zeitdiagramm zum Beschreiben eines
weiteren Betriebs der Adreßsteuereinrichtung.
Beschreibung der bevorzugten Ausführungsformen
-
Entsprechend der Darstellung in Fig. 1 ist eine
Adreßsteuereinrichtung gemäß einer bevorzugten Ausführungsform der
Erfindung zwischen einer Ausführungsverarbeitungseinheit 12
und einem Speicherabschnitt 13 angeordnet. Die dargestellte
Ausführungsverarbeitungseinheit 12 führt eine
Befehlsvorgriffssteuerung, also eine Vorabrufsteuerung, für eine
Befehlsfolge durch, die einen oder mehrere bedingte
Verzweigungsbefehle (Befehle "Verzweigen bei Bedingung") und die
übrigen Befehle enthalten kann. Die übrigen Befehle werden
als normale Befehle bezeichnet. Jeder der Befehle wird in der
Ausführungsverarbeitungseinheit 12 auf bekannte Weise
ausgeführt. Als Ausführungsergebnis übermittelt die
Ausführungsverarbeitungseinheit 12 dem Speicherabschnitt 13 über die
Adreßsteuerung 11 eine Meldungsfolge, die nachstehend
beschrieben wird.
-
Jede Meldung weist ein Anforderungssignal RQ, ein
virtuelles Adreßsignal VA zum Anzeigen einer virtuellen Adresse
und ein Anforderungscodesignal QC zum Anzeigen eines
Anforderungscodes auf. Zusätzlich können die Meldungen selektiv
ein Speicherdatensignal DS und ein Annullierungssignal CA
aufweisen. Das Annullierungssignal CA zeigt die Annullierung
einer Zugriffsoperation an, die zuvor für den
Speicherabschnitt 13 angefordert wurde, und wird von der
Ausführungsverarbeitungseinheit 12 erzeugt, wenn eine Voraussage über
eine Verzweigungsoperation des jeweiligen bedingten
Verzweigungsbefehls falsch ist, wenn also festgestellt oder
entschieden wird, daß die Voraussage nicht erfüllt wird. Das
virtuelle Adreßsignal VA wird lediglich zur
Adreßsteuereinrichtung 11 übermittelt; von dort aus wird es zum
Speicherabschnitt 13 als reales Adreßsignal RA geführt. Das
Annullierungssignal CA wird lediglich in der
Adreßsteuereinrichtung
11 beim Modifizieren des Anforderungssignals zu einem
modifizierten Anforderungssignal RQ' verwendet.
-
Ferner erhält die Ausführungsverarbeitungseinheit 12 ein
Antwortsignal RP und ein Auslesedatensignal RD vom
Speicherabschnitt 13 über die Adreßsteuereinrichtung 11. Insbesondere
wird das Antwortsignal RP zur Adreßsteuereinrichtung 11
übermittelt und von dort aus zur
Ausführungsverarbeitungseinheit 12 als Steuerantwortsignal RP' geführt.
-
In dem veranschaulichten Beispiel weist der
Speicherabschnitt 13 eine Speichersteuereinheit 14, einen
Cache-Speicher 15 und einen Hauptspeicher 16 auf, die sämtlich bekannt
sind. Die Speichersteuereinheit 14 steuert den Cache-Speicher
15 und den Hauptspeicher 16 auf bekannte Weise. Auf eine
Beschreibung der Speichersteuereinheit 14, des
Cache-Speichers 15 und des Hauptspeichers 16 wird verzichtet, da diese
nicht direkt mit der Erfindung zusammenhängen. Als
Erläuterung mag genügen, daß im Hauptspeicher 16 eine
Adreßumwandlungs- oder Umsetztabelle geladen ist, um virtuelle Adressen
in entsprechende reale, dem Hauptspeicher 16 zugewiesene
Adressen umzuwandeln oder umzusetzen, und daß der Cache-
Speicher 15 mit der Adreßsteuereinrichtung 11
zusammenarbeitet.
-
Die Adreßsteuereinrichtung 11 wandelt jedes virtuelle
Adreßsignal VA in das reale Adreßsignal RA zum Anzeigen einer
jeder virtuellen Adresse entsprechenden realen Adresse auf
eine später zu beschreibende Weise um. Zusätzlich werden das
Anforderungscodesignal QC und das Speicherdatensignal DS über
die Adreßsteuereinrichtung 11 zur Speichersteuereinheit 14
auf bekannte Weise gesendet.
-
Gemäß Fig. 2 im Zusammenhang mit Fig. 1 erhält die
Adreßsteuereinrichtung 11 von der
Ausführungsverarbeitungseinheit 12 das Anforderungssignal RQ, das virtuelle
Adreßsignal VA und das Annullierungssignal CA. In Übereinstimmung
mit dem Annullierungssignal CA wird das Anforderungssignal RQ
zum modifizierten Anforderungssignal RQ' auf eine zu
beschreibende Weise modifiziert. Wie nachfolgend deutlich wird,
wird das virtuelle Adreßsignal VA in das reale Adreßsignal RA
umgewandelt oder umgesetzt.
-
Andererseits werden das Antwortdatensignal RP und das
Auslesedatensignal RD von der Speichersteuereinheit 14 zur
Adreßsteuereinrichtung 11 gesendet und zur
Ausführungsverarbeitungseinheit 12 auf eine näher zu beschreibende Weise
übermittelt.
-
Unter zeitweiliger Bezugnahme auf Fig. 3 zusätzlich zu
Fig. 2 wird deutlich, daß jedes virtuelle Eingabeadreßsignal
VA eine virtuelle Adresse mit vierunddreißig Bits, numeriert
mit 0 bis 33, darstellt und in einem virtuellen Adreßregister
20 aufbewahrt wird. Das virtuelle Adreßregister 20 hat einen
ersten bis dritten Teilbereich 20-1, 20-2 und 20-3, die
jeweils eine Bitlänge von fünfzehn Bits, neun Bits und zehn
Bits haben. Im ersten und zweiten Teilbereich 20-1 und 20-2
wird das erste und zweite Teilseitenzahlfeld jedes virtuellen
Eingabeadreßsignals VA geladen, weshalb diese zusammen als
Seitenzahlbereich bezeichnet werden können. Im dritten
Teilbereich 20-3 wird ein Versatzfeld innerhalb einer Seite
geladen, das durch eine Kombination aus dem ersten und
zweiten Teilseitenzahlfeld jedes virtuellen Eingabeadreßsignals
VA festgelegt ist und als seiteninterner Versatzbereich
bezeichnet werden kann. In jedem Fall wird jedes virtuelle
Adreßsignal VA im virtuellen Adreßregister 20 als
aufbewahrtes virtuelles Adreßsignal aufbewahrt.
-
Ist das aufbewahrte virtuelle Adreßsignal gültig, werden
das erste und zweite Teilseitenzahlfeld 20-1 und 20-2 des
aufbewahrten virtuellen Adreßsignals zu einem
Adreßumsetzpuffer (TLB) 21 über eine erste und zweite Signalleitung 20a
bzw. 20b und zu einem Adreßumwandlungs- oder
Umsetzsteuerabschnitt 22 über eine dritte Signalleitung 20c gesendet.
Zusätzlich wird das erste Teilseitenzahlfeld auch zu einem
Komparator 23 gesendet.
-
Gemäß Fig. 4 hat der TLB 21 Adressen, die zahlenmäßig 28
entsprechen und von denen jede in einen virtuellen
Adreßteilabschnitt 21-1 mit fünfzehn Bits und einen realen
Adreßteilabschnitt 21-2 mit achtzehn Bits aufgeteilt ist. Aus dieser
Tatsache wird leicht ersichtlich, daß das zweite
Teilseitenzahlfeld des aufbewahrten virtuellen Adreßsignals zum TLB 21
als Adreßsignal geführt wird, das eine zu schreibende oder
lesende Position anzeigt, während das erste
Teilseitenzahlfeld des aufbewahrten virtuellen Adreßsignals an der durch
das zweite Teilseitenzahlfeld festgelegten Position
aufbewahrt wird.
-
Unter diesen Umständen wird im realen Adreßteilabschnitt
21-2 eine reales Teiladreßsignal mit achtzehn Bits an jeder
Position geladen, die durch das zweite Teilseitenzahlfeld
angezeigt wird, was später deutlich werden wird. Somit
speichert der reale Adreßteilabschnitt 21-2 mehrere reale
Teiladreßsignale, von denen jedes als reale Seitenadresse des
Hauptspeichers 16 dient. In diesem Zusammenhang kann darauf
verwiesen werden, daß jedes im realen Adreßteilabschnitt 21-2
gespeicherte reale Teiladreßsignal eine Anfangsadresse jeder
realen Seitenadresse festlegt.
-
Hierbei wird nunmehr angenommen, daß im virtuellen und
realen Adreßteilabschnitt 21-1 und 21-2 des TLB 21 bereits
mehrere erste Teilseitenzahlfelder und die entsprechenden
realen Teiladreßsignale geladen wurden. Die im virtuellen
Adreßteilabschnitt 21-1 geladenen ersten Teilseitenzahlfelder
können der Einfachheit halber als virtuelle Teiladreßsignale
bezeichnet werden.
-
Unter diesen Umständen wird angenommen, daß ein
spezifisches virtuelles Adreßsignal als virtuelles
Eingabeadreßsignal VA von der Ausführungsverarbeitungseinheit 12 gesendet
und im virtuellen Adreßregister 20 aufbewahrt wird. Das erste
Teilseitenzahlfeld des spezifischen virtuellen Adreßsignals
wird zum Komparator 23 bzw. zum TLB 21 übermittelt. In diesem
Fall wird das zweite Teilseitenzahlfeld zum TLB 21 als
Ausleseadresse geführt. Nach dem Zugriff durch das zweite
Teilseitenzahlenfeld erzeugt der TLB 21 ein ausgewähltes Signal der
virtuellen Teiladreßsignale, die an einer durch das zweite
Teilseitenzahlfeld festgelegten Position gehalten werden.
Gleichzeitig wird ein ausgewähltes Signal der realen
Teiladreßsignale ebenfalls aus dem realen Adreßteilabschnitt 21-2
ausgelesen und legt eine Anfangsadresse einer spezifischen
realen Seitenadresse fest, die dem zweiten Teilseitenzahlfeld
der im virtuellen Adreßregister 20 aufbewahrten spezifischen
virtuellen Adresse entspricht. Eine solche Anfangsadresse
kann als reale Anfangsseitenadresse bezeichnet werden.
-
Nachdem ihm das erste Teilseitenzahlfeld des
spezifischen virtuellen Adreßsignals und das ausgewählte virtuelle
Teiladreßsignal zugeführt wurden, vergleicht der Komparator
23 das erste Teilseitenzahlfeld mit dem ausgewählten
virtuellen Teiladreßsignal und erzeugt ein Vergleichsergebnissignal
CP, das ein Vergleichsergebnis darstellt. Bei festgestellter
Nichtübereinstimmung zwischen dem ersten Teilseitenzahlfeld
und dem ausgewählten virtuellen Teiladreßsignal nimmt das
Vergleichsergebnissignal CP einen logischen Pegel "1" an.
Ansonsten nimmt das Vergleichsergebnissignal CP einen
logischen Pegel "0" an. Die vorstehend genannte
Nichtübereinstimmung verweist darauf, daß im TLB 21 keine reale
Anfangsseitenadresse gespeichert oder vorhanden ist, die dem
spezifischen virtuellen Eingabeadreßsignal entspricht.
Dementsprechend kann das Vergleichsergebnissignal CP mit dem logischen
Pegel "1" als Abwesenheitssignal bezeichnet werden.
-
Das Vergleichsergebnissignal CP wird über eine mit 23a
bezeichnete Signalleitung zum Adreßumwandlungssteuerabschnitt
22 und auch zu anderen Schaltungselementen gesendet, die
später näher beschrieben werden.
-
Gemäß Fig. 5 zusätzlich zu Fig. 2 wird der
Adreßumwandlungssteuerabschnitt 22 in einen aktiven Zustand als Reaktion
auf das Vergleichsergebnissignal CP mit dem logischen Pegel
"1" versetzt. Insbesondere wird der
Adreßumwandlungssteuerabschnitt 22 bei festgestellter Nichtübereinstimmung im
Komparator 23 aktiviert, um in der im Hauptspeicher 16 (Fig. 1)
gespeicherten Adreßumwandlungstabelle nachzuschlagen und ein
vom Speicherabschnitt 13 gesendetes Antwortsignal RP zu
empfangen.
-
Dazu weist der Adreßumwandlungssteuerabschnitt 22 ein
Start-Flipflop (F/F) 31 für die Adreßumwandlung oder
-umsetzung und ein Seitenzahlregister 32 zum Speichern des
Vergleichsergebnissignals CP und des ersten bzw. zweiten
Teilseitenzahlfelds des spezifischen virtuellen Adreßsignals
auf. Das erste und zweite Seitenzahlfeld werden vom
virtuellen Adreßregister 20 zum Seitenzahlregister 32 über die
dritte Signalleitung 20c gesendet und im Seitenzahlregister
32 aufbewahrt, wenn das Vergleichsergebnissignal CP den
logischen Pegel "1" annimmt.
-
Hierbei ist zu beachten, daß eine Adreßspeicheroperation
durchgeführt werden muß, um eine vorgewählte Anzahl realer
Adressen aus dem Hauptspeicher 16 abzurufen, wenn keine reale
Anfangsseitenadresse im TLB 21 in bezug auf die im virtuellen
Adreßregister 20 (Fig. 2) aufbewahrte spezifische virtuelle
Adresse gespeichert ist. In diesem Fall muß auf den
Hauptspeicher 16 zugegriffen werden, wobei der aktive Zustand für
den Adreßumwandlungssteuerabschnitt 22 beibehalten wird.
-
Als Reaktion auf das Vergleichsergebnissignal CP mit dem
logischen Pegel "1" wird das Start-Flipflop 31 für die
Adreßumwandlung (Fig. 6) auf den logischen Pegel "1" gesetzt, der
zu einem Anforderungsflag-Register 33 geführt wird, um den
logischen Pegel "1" auch im Anforderungsflag-Register 33 zu
setzen. Der logische Pegel "1" des Anforderungsflag-Registers
33 wird über eine Anforderungsflag-Signalleitung 33a als
lokales Anforderungssignal erzeugt. Das lokale
Anforderungssignal wird zur Speichersteuereinheit 14 (Fig. 1) als
modifiziertes Anforderungssignal RQ' auf eine später zu
beschreibende Weise übermittelt.
-
Außerdem werden das erste und zweite Teilseitenzahlfeld
des spezifischen virtuellen Adreßsignals gemeinsam als
gehaltenes Seitenzahlsignal HP vom Seitenzahlregister 32 zu einem
Addierer 34 gesendet, der mit einem Tabellenkopfadreßregister
35 verbunden ist, das ein Kopfadreßsignal HT zum Festlegen
einer Tabellenkopfadresse der im Hauptspeicher 16
gespeicherten Adreßumwandlungstabelle aufbewahrt. Die
Tabellenkopfadresse wird in Form einer realen Adresse übermittelt.
-
Der Addierer 34 addiert das gehaltene Seitenzahlsignal
HP mit dem Kopfadreßsignal HT und erzeugt ein Summensignal
SS, das eine Summe aus der Tabellenkopfadresse und einer
Seitenzahl darstellt, die durch das gehaltene
Seitenzahlsignal HP festgelegt ist. Aus dieser Tatsache wird deutlich,
daß die vorstehend genannte Summe eine Seitenadresse
festlegt, die dem im virtuellen Adreßregister 20 aufbewahrten,
spezifischen virtuellen Adreßsignal entspricht.
-
Das Summensignal SS wird vom Addierer 34 zu einem
Anforderungsadreßregister 35' gesendet und als
Anforderungsadreßsignal im Anforderungsadreßregister 35' mit fünfundzwanzig
Bits gehalten. In diesem Zusammenhang hat auch das
Anforderungsadreßsignal fünfundzwanzig Bits, die in einen
höherwertigen Teil mit achtzehn Bits und einen niederwertigen Teil
mit sieben Bits aufgeteilt werden können.
-
Der höherwertige Teil mit achtzehn Bits wird als erstes
Adreßsignal mit achtzehn Bits vom Anforderungsadreßregister
35' über eine erste Adreßsignalleitung 35a erzeugt.
Andererseits wird der niederwertige Teil mit sieben Bits mit drei
Bits "000" zu einem zweiten Adreßsignal mit zehn Bits
kombiniert. Die drei Bits "000" bilden die niederwertigen Bits des
zweiten Adreßsignals. Das zweite Adreßsignal wird vom
Anforderungsadreßregister 35' über eine zweite Adreßsignalleitung
35b erzeugt.
-
Während der Adreßspeicheroperation wird, wie vorstehend
erwähnt, der aktive Zustand für den
Adreßumwandlungssteuerabschnitt 22 beibehalten. Dazu ist das
Anforderungsflag-Register 33 mit einem Antwort-Warte-Flipflop 36 zum Warten auf
das Antwortsignal RP verbunden, das von der
Speichersteuereinheit 14 gesendet wird. Insbesondere wird das Antwort-
Warte-Flipflop 36 als Reaktion auf das lokale
Anforderungssignal gesetzt und als Reaktion auf das Antwortsignal RP
zurückgesetzt. Als Ergebnis dessen führt das Antwort-Warte-
Flipflop 36 während seines gesetzten Zustands ein Antwort-
Warteflag-Signal mit dem logischen Pegel "1" zu einem UND-
Gatter 37. Als Reaktion auf das Antwort-Warteflag-Signal und
das Antwortsignal RP wird das UND-Gatter 37 kurzzeitig
geöffnet und sendet ein Gatterausgabesignal mit dem logischen
Pegel "1" zu einem Beendigungsflag-Flipflop 38. Das
Gatterausgabesignal mit dem logischen Pegel "1" stellt die
Beendigung
der Adreßspeicheroperation dar und wird als
Beendigungsflag-Signal CF vom Beendigungsflag-Flipflop 38 über eine mit
38a bezeichnete Beendigungsflag-Signalleitung erzeugt.
-
Unter erneutem Bezug auf Fig. 2 ist die erste
Adreßsignalleitung 35a mit einem ersten Selektor 41 zusammen mit
dem realen Adreßteilabschnitt 21-2 (Fig. 4) des TLB 21
verbunden, während die zweite Adreßsignalleitung 35b mit einem
zweiten Selektor 42 verbunden ist, der mit dem seiteninternen
Versatzbereich 20-3 des virtuellen Adreßregisters 20 über
eine mit 20d bezeichnete vierte Signalleitung verbunden ist.
Gleichermaßen ist die Anforderungsflag-Signalleitung 33a mit
einem dritten Selektor 43 verbunden.
-
Gemäß Fig. 2 werden der erste bis dritte Selektor 41 bis
43 durch ein Flipflop-Signal eines Flipflops 46 gesteuert,
das durch das Vergleichsergebnissignal CP mit dem logischen
Pegel "1" gesetzt und durch das über die Beendigungsflag-
Signalleitung 38a gesendete Beendigungsflag-Signal CF mit dem
logischen Pegel "1" zurückgesetzt wird. Dies zeigt, daß das
Flipflop 46 ein Signal mit dem logischen Pegel "1" als
Flipflop-Signal im Verlauf oder während der
Adreßspeicheroperation erzeugt, und daher als "operationsbegleitendes"
Flipflop bezeichnet werden kann. In diesem Zusammenhang wird
das Flipflop-Signal des "operationsbegleitenden" Flipflops 46
als "operationsbegleitendes" Signal UN mit dem logischen
Pegel "1" oder als internes Steuersignal bezeichnet.
-
Das "operationsbegleitende" Signal UN wird nicht nur zum
ersten bis dritten Selektor 41 bis 43, sondern auch zu einem
ersten ODER-Gatter 51 gesendet, zu dem das
Vergleichsergebnissignal CP geführt wird. Das erste ODER-Gatter 51 steuert
das virtuelle Adreßregister 20 und ist mit einem
Adreßgültigkeits-Flipflop 53 und einem ersten Inverter 55 verbunden. Der
erste Inverter 55 ist mit einem ersten UND-Gatter 56
verbunden, zu dem das Anforderungssignal RQ von der
Ausführungsverarbeitungseinheit 12 geführt wird und das ferner mit dem
Adreßgültigkeits-Flipflop 53 und einem Zyklusgültigkeits-
Flipflop 57 über ein zweites ODER-Gatter 59 verbunden ist.
-
Bei diesem Aufbau übermittelt das erste ODER-Gatter 51
das Signal mit dem logischen Pegel "1" zum Adreßgültigkeits-
Flipflop 53, zum virtuellen Adreßregister 20 und zum ersten
Inverter 55, wenn das Vergleichsergebnissignal CP mit dem
logischen Pegel "1" durch den Komparator 23 erzeugt oder im
"operationsbegleitenden" Flipflop 46 als
"operationsbegleitendes" Signal UN gespeichert wird.
-
Das Adreßgültigkeits-Flipflop wird als Reaktion auf das
vom ersten UND-Gatter 56 gesendete Signal mit dem logischen
Pegel "1" in einen gesetzten Zustand versetzt, und es wird
als Reaktion auf das als Halt-Meldungssignal vom ersten ODER-
Gatter 51 gesendete Signal mit dem logischen Pegel "1" in
einen Haltezustand versetzt. Zusätzlich wird das
Adreßgültigkeits-Flipflop 53 als Reaktion auf das Annullierungssignal CA
in einen zurückgesetzten Zustand versetzt. Bei gleichzeitiger
Erzeugung des Halt-Meldungssignals und -des
Annullierungssignals CA vom ersten ODER-Gatter 51 bzw. von der
Ausführungsverarbeitungseinheit 12 wird das Annullierungssignal CA
vorrangig vor dem Halt-Meldungssignal verarbeitet. Daraus
ergibt sich, daß bei gleichzeitigem Empfang des
Halt-Meldungssignals und des Annullierungssignals das
Adreßgültigkeits-Flipflop 53 in den zurückgesetzten Zustand versetzt
wird.
-
In jedem Fall zeigt der gesetzte und zurückgesetzte
Zustand des Adreßgültigkeits-Flipflops 53 die Gültigkeit bzw.
Ungültigkeit des im virtuellen Adreßregisters 20 aufbewahrten
spezifischen virtuellen Adreßsignals an. Somit läßt sich
sagen, daß beim Versetzen in den gesetzten bzw.
zurückgesetzten Zustand das Adreßgültigkeits-Flipflop 53 ein
Gültigkeitssignal bzw. Ungültigkeitssignal erzeugt, das die Gültigkeit
bzw. Ungültigkeit des spezifischen virtuellen Adreßsignals
darstellt.
-
Ein zweites UND-Gatter 62 ist mit dem Adreßgültigkeits-
Flipflop 53 und dem Adreßumwandlungssteuerabschnitt 22 über
die Beendigungsflag-Signalleitung 38a verbunden. Infolge
dessen führt das zweite UND-Gatter 62 das Signal mit dem
logischen Pegel "1" zum zweiten ODER-Gatter 59, wenn das
Adreßgültigkeits-Flipflop 53 das Gültigkeitssignal erzeugt,
wobei das Beendigungsflag-Signal CF mit dem logischen Pegel
"1" vom Adreßumwandlungssteuerabschnitt 22 zugeführt wird.
-
Daher wird das Zyklusgültigkeits-Flipflop 57 in einen
gesetzten Zustand versetzt, wenn die Adreßspeicheroperation
beendet ist oder wenn das erste UND-Gatter 56 das Signal mit
dem logischen Pegel "1" erzeugt. Im gesetzten Zustand erzeugt
das Zyklusgültigkeits-Flipflop 57 ein gültiges Zyklussignal
mit dem logischen Pegel "1" zum Anzeigen der Gültigkeit des
Anforderungssignals RQ. Anders ausgedrückt, dient das gültige
Zyklussignal als Flag, das einen Zeitpunkt darstellt, der
einen Zyklus für das Anforderungssignal RQ definiert, das das
virtuelle Eingabeadreßsignal VA begleitet. Das gültige
Zyklussignal wird einerseits zum Komparator 23 und andererseits
zu einem dritten UND-Gatter 63 übermittelt.
-
Das dritte UND-Gatter 63 erhält ebenfalls das
Vergleichsergebnissignal CP über einen zweiten Inverter 67 sowie
das Annullierungssignal CA über einen dritten Inverter 68.
Daher führt das dritte UND-Gatter 63 das Signal mit dem
logischen Pegel "1" zum dritten Selektor 43, wenn lediglich
das gültige Zyklussignal vom Zyklusgültigkeits-Flipflop 57
zugeführt und wobei weder das Vergleichsergebnissignal CP
noch das Annullierungssignal CA erzeugt wird. In diesem Fall
wird das Anforderungssignal RQ als gültiges Zyklussignal vom
ersten UND-Gatter 56 zum dritten UND-Gatter 63 über das
zweite ODER-Gatter 59 und das Zyklusgültigkeits-Flipflop 57
geführt.
-
Aus dieser Tatsache wird verständlich, daß der dritte
Selektor 43 das Anforderungssignal RQ über die vorstehend
erwähnte Route und das lokale Anforderungssignal vom
Adreßumwandlungssteuerabschnitt 22 über die
Anforderungsflag-Signalleitung 33a (Fig. 5) erhält. Der dritte Selektor 43 wählt das
Anforderungssignal RQ oder das lokale Anforderungssignal
entsprechend dem "operationsbegleitenden" Signal UN aus und
führt ein Auswahlsignal zu einem Anforderungsflag-Register
oder -Flipflop 71. Das Auswahlsignal wird im
Anforderungsflag-Flipflop 71 aufbewahrt und über ein viertes UND-Gatter
74 als modifiziertes Anforderungssignal RQ' gesendet, solange
das Annullierungssignal CA nicht von der
Ausführungsverarbeitungseinheit 12 übermittelt wird. Dies erfolgt, weil das
Annullierungssignal CA zum vierten UND-Gatter 74 über den
dritten Inverter 68 und ein drittes ODER-Gatter 77 geführt
wird, dem das "operationsbegleitende" Signal UN vom
"operationsbegleitenden" Flipflop 46 übermittelt wird.
-
Bei Abwesenheit des Annullierungssignals CA und des
"operationsbegleitenden" Signals wird das Anforderungssignal
RQ über das erste UND-Gatter 56, das zweite ODER-Gatter 59,
das Zyklusgültigkeits-Flipflop 57 und das dritte UND-Gatter
63 zum dritten Selektor 43 geführt und durch den dritten
Selektor 43 ausgewählt, um als modifiziertes
Anforderungssignal RQ' erzeugt zu werden.
-
Andererseits wird das lokale Anforderungssignal als
modifiziertes Anforderungssignal RQ' trotz des vorhandenen
Annullierungssignals CA erzeugt. Das bedeutet, daß das
modifizierte Anforderungssignal RQ' auch bei Anwesenheit des
Annullierungssignals CA nicht annulliert wird, solange das
lokale Anforderungssignal vom Adreßumwandlungssteuerabschnitt
22 erzeugt wird. Anders ausgedrückt, wird die
Adreßspeicheroperation zwischen der Adreßsteuereinrichtung 11 und dem
Speicherabschnitt 11 auch dann fortgesetzt oder in ihrer
Gültigkeit bestätigt, wenn das Annullierungssignal CA während
der Erzeugung des lokalen Anforderungssignals und des
"operationsbegleitenden" Signals UN erscheint.
-
Die Adreßspeicheroperation des TLB 21 wird in
Zusammenarbeit mit einem Antwortsteuerabschnitt 81 unter Verwendung
eines realen Adreßregisters 82 durchgeführt, das mit dem
ersten und zweiten Selektor 41 und 42 verbunden ist. Dazu ist
der dargestellte Antwortsteuerabschnitt 81 mit dem dritten
UND-Gatter 63 und dem dritten Inverter 68 über eine mit 63a
bzw. 68a bezeichnete erste und zweite interne Signalleitung
verbunden und erhält das Antwortsignal RP sowie das
Auslesedatensignal RD vom Speicherabschnitt 13.
-
Daher besteht die Funktion der Flipflops 46, 53, 57 und
71, der UND-Gatter 56, 62, 63 und 74, der ODER-Gatter 51, 59
und 77, der Inverter 55, 67 und 68 und des dritten Selektors
43 darin, die Gültigkeit der Adreßspeicheroperation des TLB
21 zu bestätigen; somit können diese als
Gültigkeits-Steuerschaltungsanordnung bezeichnet werden.
-
Gemäß Fig. 6 zusammen mit Fig. 2 weist der
Antwortsteuerabschnitt 81 ein Datenregister 86 auf, das eine
Bitkapazität von z. B. zweiundsiebzig Bits hat und dem das
Auslesedatensignal RD zugeführt wird. Das Auslesedatensignal RD wird
vom Datenregister 86 zur Ausführungsverarbeitungseinheit 12
übermittelt, während achtzehn niederwertige Bits des
Auslesedatensignals RD zum TLB 21 über eine mit 81a bezeichnete
Datenleitung übermittelt werden.
-
Das Antwortsignal RP wird vom Speicherabschnitt 13 zum
Antwortsteuerabschnitt 81 geführt und als Steuerantwortsignal
RP' zur Ausführungsverarbeitungseinheit 12 auf eine in Kürze
zu beschreibende Weise gesendet. Hierbei ist erneut zu
bedenken, daß das Anforderungssignal RQ auf der ersten internen
Signalleitung 63a in Form eines Signals mit dem logischen
Pegel "1" in Abwesenheit des Annullierungssignals CA und des
"operationsbegleitenden" Signals UN erscheint, und daß das
Signal mit dem logischen Pegel "1" auf der zweiten internen
Signalleitung 68a in Abwesenheit des Annullierungssignals CA
erscheint.
-
Die erste interne Signalleitung 63a ist mit einem
Antwort-Warteflag-Flipflop 87 verbunden, während die zweite
interne Signalleitung 68a mit dem Antwort-Warteflag-Flipflop
87 über einen Inverter 88 und ein ODER-Gatter 89 einerseits
und direkt mit einem UND-Gatter 91 andererseits verbunden
ist. Zum UND-Gatter 91 wird das Antwortsignal RP, ein
Ausgabesignal des Antwort-Warteflag-Flipflops 87 und das-logische
Signal auf der ersten internen Signalleitung 63a geführt. Ein
Ausgabesignal des UND-Gatters 91 wird über eine Antwortflag-
Flipflop 92 zur Ausführungsverarbeitungseinheit 12 als
Steuerantwortsignal RP' gesendet.
-
Bei diesem Aufbau wird das Antwort-Warteflag-Flipflop 87
in einen gesetzten Zustand als Reaktion auf das über die
erste interne Signalleitung 63a auf die vorstehend genannte
Weise gesendete Anforderungssignal RQ versetzt, und es wird
in einen zurückgesetzten Zustand als Reaktion auf das
Antwortsignal RP versetzt, das zum Antwort-Warteflag-Flipflop 87
über das ODER-Gatter 89 geführt wird.
-
Das Antwort-Warteflag-Flipflop 87 wird auch
zurückgesetzt, wenn das Annullierungssignal CA über den dritten
Inverter 68 (Fig. 2), den Inverter 88 und das ODER-Gatter 89
zum Antwort-Warteflag-Flipflop 87 gesendet wird. Das
bedeutet, daß das Antwortsignal RP durch das UND-Gatter 91
unterbrochen und kein Steuerantwortsignal RP' zur
Ausführungsverarbeitungseinheit 12 geführt wird, wenn das
Annullierungssignal CA von der Ausführungsverarbeitungseinheit 12
übermittelt wird.
-
Gemäß Fig. 2 wird das Antwortsignal RP direkt zum
Adreßumwandlungssteuerabschnitt 22 gesendet, um diesen auf die
vorstehend beschriebene Weise zu betreiben, während das
Steuerantwortsignal RP' zur Ausführungsverarbeitungseinheit
12 übermittelt wird.
-
Nachstehend sollen nun der erste bis dritte Selektor 41
bis 43 betrachtet werden, die eine Auswahloperation
entsprechend dem "operationsbegleitenden" Signal UN durchführen. Dem
ersten Selektor 41 wird das erste Adreßsignal mit achtzehn
Bits über die erste Adreßsignalleitung 35a und das reale
Anfangsseitenadreßsignal, also das ausgewählte reale
Teiladreßsignal mit achtzehn Bits, vom realen Adreßteilabschnitt
21-2 (Fig. 4) des TLB 21 zugeführt. Dem zweiten Selektor 42
wird das Versatzfeld des im virtuellen Adreßregister 20
aufbewahrten, spezifischen virtuellen Adreßsignals und das
zweite Adreßsignal mit zehn Bits über die zweite
Adreßsignalleitung 35b zugeführt.
-
Der erste und zweite Selektor 41 und 42 wählen das reale
Anfangsseitenadreßsignal und das Versatzfeld bei Abwesenheit
des "operationsbegleitenden" Signals aus, um auf übliche
Weise ein reales Adreßsignal in das reale Adreßregister 82 zu
laden. In diesem Fall erfolgt der Zugriff auf den
Speicherabschnitt 13, insbesondere auf den Cache-Speicher 15, durch das
im realen Adreßregister 82 aufbewahrte reale Adreßsignal.
-
Andererseits wählen der erste und zweite Selektor 41 und
42 das erste und zweite Adreßsignal aus, die vom
Adreßumwandlungssteuerabschnitt 22 gesendet werden, wenn das
"operationsbegleitende" Signal UN durch das
"operationsbegleitende" Flipflop 46 erzeugt wird. In diesem Fall wird ein
reales Adreßsignal im realen Adreßregister 82 aufbewahrt, um
zum Speicherabschnitt 13 übermittelt zu werden.
-
Der dritte Selektor 43 zum Erzeugen des modifizierten
Anforderungssignals RQ' wurde bereits beschrieben. Daher wird
auf eine weitere Beschreibung des dritten Selektors 43
nachstehend verzichtet.
-
In jedem Fall werden das Antwortsignal RP und das
Auslesedatensignal RD vom Speicherabschnitt 13 zum
Antwortsteuerabschnitt 81 zurückgesendet.
-
Wie vorstehend erwähnt wurde, dient eine Kombination aus
Adreßumwandlungssteuerabschnitt 22, Komparator 23 und
Antwortsteuerabschnitt 81 in Zusammenarbeit mit dem ersten und
zweiten Selektor 41 und 42 sowie dem realen Adreßregister 82
während der Erzeugung des lokalen Anforderungssignals zum
Steuern der Adreßspeicheroperation des TLB 21 in bezug auf
das spezifische virtuelle Adreßsignal, das im virtuellen
Adreßregister 20 aufbewahrt wird. In diesem Zusammenhang
können die vorstehend erwähnte Kombination, der erste und
zweite Selektor 41 und 42 sowie das reale Adreßregister 82
als Speicheroperations-Steueranordnung bezeichnet werden.
-
Gemäß Fig. 7 zusätzlich zu Fig. 2 wird nachstehend der
Betrieb unter der Voraussetzung näher beschrieben, daß die
Ausführungsverarbeitungseinheit 12 kein Annullierungssignal
CA zur Adreßsteuereinrichtung 11 als Ergebnis der Tatsache
sendet, daß Befehle in der Ausführungsverarbeitungseinheit 12
vorteilhaft vorabgerufen werden. In Fig. 7 sind ein erstes
bis viertes aufeinanderfolgendes Zeitintervall T1 bis T4 auf
der Abszisse zusammen mit einem ersten bis vierten
aufeinanderfolgenden Zusatzintervall Ta, Tb, Tc und Td dargestellt,
die vom vierten Intervall T4 beabstandet sind. Das
Anforderungssignal RQ mit dem logischen Pegel "1" wird von der
Ausführungsverarbeitungseinheit 12 im ersten Zeitintervall T1
erzeugt und zum Zyklusgültigkeits-Flipflop 57 und
Adreßgültigkeits-Flipflop 53 gesendet. In Fig. 7 wird angenommen, daß
sowohl das Vergleichsergebnissignal CP als auch das
"operationsbegleitende" Signal UN im ersten Intervall T1
abwesend ist und daher jeweils den logischen Pegel "0"
annimmt.
-
Unter diesen Umständen wird das Zyklusgültigkeits-
Flipflop 57 über das erste UND-Gatter 56 und das zweite ODER-
Gatter 59 im zweiten Intervall T2 in einen gesetzten Zustand
versetzt, um das Signal mit dem logischen Pegel "1" zu
erzeugen. Gleichermaßen wird das Adreßgültigkeits-Flipflop 53 über
das erste UND-Gatter 56 in den gesetzten Zustand versetzt.
Das virtuelle Eingabeadreßsignal VA wird in das virtuelle
Adreßregister 20 im zweiten Intervall T2 geladen, obwohl das
in Fig. 7 nicht dargestellt ist. Im zweiten Intervall T2 wird
der Komparator 23 durch das Zyklusgültigkeits-Flipflop 57
aktiviert, um den vorstehend erwähnten Vergleich
durchzuführen und das Vergleichsergebnissignal CP zu erzeugen.
Insbesondere wird das im virtuellen Adreßregister 20 aufbewahrte
erste Teilseitenzahlfeld mit fünfzehn Bits mit der aus dem
TLB 21 ausgelesenen ausgewählten Teilseitenadresse
verglichen. In jedem Fall wird das Vergleichsergebnissignal CP vom
Komparator 23 zum Adreßumwandlungssteuerabschnitt 22, zum
ersten ODER-Gatter 51 und zum zweiten Inverter 67
übermittelt.
-
Erhält das Vergleichsergebnissignal CP den logischen
Pegel "1" als Ergebnis einer Nichtübereinstimmung zwischen
dem ersten Teilseitenzahlfeld und der ausgewählten
Teilseitenadresse, beginnt die Adreßspeicheroperation im
Adreßumwandlungssteuerabschnitt 22 auf die vorstehend beschriebene
Weise. Ansonsten wird ein reales Adreßsignal zum
Speicherabschnitt 13 gesendet, um auf übliche Weise das Antwortsignal
RP und das Antwortdatensignal RD zu empfangen.
-
Die nachfolgende Beschreibung beruht auf der Annahme,
daß das Vergleichsergebnissignal CP den logischen Pegel "1"
im zweiten Intervall T2 erhält. In dieser Situation wird das
"operationsbegleitende" Flipflop 46 in den gesetzten Zustand
im dritten Intervall T3 versetzt, um das
"operationsbegleitende" Signal UN zu erzeugen. Das Adreßgültigkeits-Flipflop
53 wird als Reaktion auf das "operationsbegleitende" Signal
UN im gesetzten Zustand gehalten, das vom
"operationsbegleitenden" Flipflop 46 über das erste ODER-Gatter 51 übermittelt
wird. Gleichermaßen wird das virtuelle Adreßregister 20 in
den Haltezustand versetzt, um das virtuelle
Eingabeadreßsignal VA auf zubewahren.
-
Bei Erzeugung des "operationsbegleitenden" Signals UN
wird das erste UND-Gatter 56 über das erste ODER-Gatter 51
und den ersten Inverter 55 geschlossen. Dadurch wird ein
Empfang des nachfolgenden Anforderungssignals RQ bei
Erzeugung des "operationsbegleitenden" Signals UN abgelehnt, und
das Zyklusgültigkeits-Flipflop 57 wird in den zurückgesetzten
Zustand im dritten Intervall T3 versetzt.
-
Im Adreßumwandlungssteuerabschnitt 22 beginnt die
Adreßspeicheroperation als Reaktion auf das im zweiten Intervall
T2 erzeugte Vergleichsergebnissignal CP mit dem logischen
Pegel "1" und dauert solange, bis das Beendigungsflag-Signal
CF vom Adreßumwandlungssteuerabschnitt 22 auf die vorstehend
erwähnte Weise erzeugt wird. Insbesondere wird das
Vergleichsergebnissignal CP im Adreßumwandlungs-Flipflop 31
(Fig. 5) des Adreßumwandlungssteuerabschnitts 22 aufbewahrt.
Gleichzeitig wird das erste und zweite Teilseitenzahlfeld vom
virtuellen Adreßregister 20 gesendet und als gehaltenes
Seitenzahlsignal HP mit vierundzwanzig Bit im zweiten
Intervall T2 im Seitenzahlregister 32 (Fig. 5) gehalten.
-
Im dritten Intervall T3 addiert der Addierer 34 das
gehaltene Seitenzahlsignal HP zum Kopfadreßsignal HT, um eine
Adresse eines Eintrags zu berechnen, die dem im virtuellen
Adreßregister 20 gespeicherten spezifischen virtuellen
Adreßsignal entspricht und die als Anforderungsadreßsignal im
Anforderungsadreßregister 35' gespeichert wird. Das
Anforderungsflag-Flipflop 33 wird im dritten Intervall T3 in den
gesetzten Zustand versetzt, und anschließend wird das
Antwort-Warte-Flipflop 36 in den gesetzten Zustand versetzt.
-
In Fig. 7 erscheint das "operationsbegleitende" Signal
UN mit dem logischen Pegel "1" vom dritten Intervall T3 bis
zum zweiten Zusatzintervall Tb. Während der Dauer des
"operationsbegleitenden" Signals UN wird das lokale
Anforderungssignal als modifiziertes Anforderungssignal RQ' vom
Adreßumwandlungssteuerabschnitt 22 zum Speicherabschnitt 13
über die Anforderungsflag-Signalleitung 33a, den dritten
Selektor 43, das Anforderungsflag-Flipflop 71 und das vierte
UND-Gatter 74 gesendet. Gleichermaßen werden das erste und
zweite Adreßsignal als reales Adreßsignal RA vom
Adreßumwandlungssteuerabschnitt 22 zum Speicherabschnitt 13 über die
erste und zweite Adreßleitung 35a und 35b, den ersten und
zweiten Selektor 41 und 42 und das reale Adreßregister 82
gesendet.
-
Gemäß Fig. 7 wird nunmehr ferner angenommen, daß das
Antwortsignal RP zur Adreßsteuereinrichtung 11 als Reaktion
auf das vorstehend genannte modifizierte Anforderungssignal
RQ' zurückgesendet wird.
-
Als Reaktion auf das Antwortsignal RP wird das
UND-Gatter 37 (Fig. 5) kurzzeitig geöffnet, um das Signal mit dem
logischen Pegel "1" zum Beendigungsflag-Flipflop 38 (Fig. 5)
zu führen. Das Beendigungsflag-Signal CF wird im zweiten
Zusatzintervall Tb vom Adreßumwandlungssteuerabschnitt 22 zum
"operationsbegleitenden" Flipflop 46, zum zweiten UND-Gatter
62 und zum TLB 21 übermittelt.
-
Das Auslesedatensignal RD wird im zweiten
Zusatzintervall Tb im Datenregister 86 (Fig. 6) des
Antwortsteuerabschnitts 81 aufbewahrt.
-
Nach dem Zuführen des Beendigungsflag-Signals CF wird
der TLB 21 im zweiten Zusatzintervall Tb aktiviert. Als
Ergebnis wird das erste Teilseitenzahlfeld mit fünfzehn Bits
(20-1) im virtuellen Adreßregister 20 gehalten und im virtuellen
Adreßteilabschnitt 21-1 (Fig. 4) gespeichert.
Gleichermaßen werden die achtzehn niederwertigen Bits des
Auslesedatensignals RD vom Datenregister 86 (Fig. 6) zum realen
Adreßteilabschnitt 21-2 (Fig. 4) des TLB 21 gesendet und als
Seitenkopfadresse oder reale Anfangsseitenadresse
gespeichert.
-
Während der Erzeugung des Beendigungsflag-Signals CF
erhält das Zyklusgültigkeits-Flipflop 57 das Signal mit dem
logischen Pegel "1" über das zweite UND-Gatter 62 und das
zweite ODER-Gatter 59, da für das Adreßgültigkeits-Flipflop 53
während des zweiten Zusatzintervalls Tb der gesetzte Zustand
beibehalten wird. Daher wird das Zyklusgültigkeits-Flipflop
57 am Ende des zweiten Zusatzintervalls Tb, also zu Beginn
des dritten Zusatzintervalls Tc, in den gesetzten Zustand
versetzt. Gleichzeitig wird das "operationsbegleitende"
Flipflop 46 mit dem Wegfall des Beendigungsflag-Signals CF in
den zurückgesetzten Zustand versetzt.
-
Als Ergebnis der vorstehend genannten
Adreßspeicheroperation wird die Seitenkopfadresse im zweiten Zusatzintervall
Tb im TLB 21 gespeichert und entspricht der durch das
spezifische virtuelle Adreßsignal angezeigten Seitenzahl.
-
Dementsprechend erhält das Beendigungsflag-Signal CF den
logischen Pegel "0" zu Beginn des dritten Zusatzintervalls Tc
als Reaktion auf das im virtuellen Adreßregister 20
aufbewahrte spezifische virtuelle Adreßsignal. Im dritten
Zusatzintervall Tc hält das virtuelle Adreßregister 20
kontinuierlich das spezifische virtuelle Adreßsignal, wobei für das
Zyklusgültigkeits-Flipflop 57 der gesetzte Zustand
beibehalten wird. Sofern kein "operationsbegleitendes" Signal vom
"operationsbegleitenden" Flipflop 46 zum ersten bis dritten
Selektor 41 bis 43 übermittelt wird, wird das
Anforderungsflag-Flipflop 71 über das dritte UND-Gatter 63 und den
dritten Selektor 43 gesetzt, während der erste und zweite
Selektor 41 und 42 ein Seitenkopfadreßsignal und ein Versatzfeld
mit zehn Bits auswählen, die im TLB 21 bzw. im virtuellen
Adreßregister 20 gespeichert werden. Ein reales Adreßsignal
RA wird durch eine Kombination aus dem vorstehend genannten
Seitenkopfadreßsignal und dem Versatzfeld gebildet und im
realen Adreßregister 82 aufbewahrt.
-
Unter diesen Umständen wird das Anforderungssignal RQ
als modifiziertes Anforderungssignal RQ' im vierten
Zusatzintervall
Td zum Speicherabschnitt 13 über das vierte UND-
Gatter 74 gesendet. Gleichzeitig wird das reale Adreßsignal
RA vom realen Adreßregister 82 zum Speicherabschnitt 13
übermittelt.
-
Gemäß Fig. 8 zusammen mit Fig. 2 wird nachstehend die
Betriebsdurchführung bei Zuführen des Annullierungssignals CA
von der Ausführungsverarbeitungseinheit 12 beschrieben. Für
den Ablauf eines solchen Betriebs wird eine Zeitskala
angenommen, die in ein erstes bis viertes aufeinanderfolgendes
Zeitintervall und in ein erstes bis viertes
aufeinanderfolgendes Zusatzzeitintervall wie in Fig. 7 aufgeteilt ist. In
Fig. 8 wird das Annullierungssignal CA von der
Ausführungsverarbeitungseinheit 12 zur Adreßsteuereinrichtung 11 im
dritten Intervall T3 übermittelt. In diesem Zusammenhang
arbeitet die Adreßsteuereinrichtung 11 im ersten und zweiten
Intervall T1 und T2 vor Empfang des Annullierungssignals CA
auf ähnliche Weise wie in Fig. 7. Daher werden das
Zyklusgültigkeits-Flipflop 57 und das Adreßgültigkeits-Flipflop 53 im
zweiten Intervall T2 in den gesetzten Zustand als Reaktion
auf das Anforderungssignal RQ versetzt, das von der
Ausführungsverarbeitungseinheit 12 im ersten Intervall T1
ausgegeben wird. Das Vergleichsergebnissignal CP wird vom Komparator
23 während des zweiten Intervalls T2 erzeugt und nimmt den
logischen Pegel "1" an, wenn eine Nichtübereinstimmung auf
die vorstehend genannte Weise festgestellt wird.
-
Unter diesen Umständen wird das "operationsbegleitende"
Flipflop 46 zu Beginn des dritten Intervalls T3 in den
gesetzten Zustand versetzt. Wird das Annullierungssignal CA von
der Ausführungsverarbeitungseinheit 12 im dritten Intervall
T3 gesendet, wird das Adreßgültigkeits-Flipflop 53 am Ende
des dritten Intervalls T3, also zu Beginn des vierten
Intervalls T4, zurückgesetzt. Dabei wird der gesetzte Zustand für
das "operationsbegleitende" Flipflop 46 jedoch beibehalten.
Daraus geht hervor, daß das virtuelle Adreßregister 20 im
Haltezustand verbleibt.
-
Der Adreßumwandlungssteuerabschnitt 22 beginnt die
Adreßspeicheroperation als Reaktion auf das
Vergleichsergebnissignal
CP mit dem logischen Pegel "1" und setzt die
Adreßspeicheroperation trotz Empfang des Annullierungssignals CA
fort. Folglich wird im TLB 21 die Seitenkopfadresse auf die
vorstehend beschriebene Weise geladen, die dem im virtuellen
Adreßregister 20 aufbewahrten virtuellen Adreßsignal
entspricht.
-
Während der Erzeugung des "operationsbegleitenden"
Signals UN wird das lokale Anforderungssignal vom
Adreßumwandlungssteuerabschnitt 22 als modifiziertes
Anforderungssignal RQ' über den dritten Selektor 43, das
Anforderungsflag-Flipflop 71 und das vierte UND-Gatter 74 gesendet, wobei
das Annullierungssignal CA durch den dritten Inverter 68 und
das dritte ODER-Gatter 77 unterdrückt wird.
-
In Fig. 8 wird das Beendigungsflag-Signal CF im zweiten
Zusatzintervall Tb vom Adreßumwandlungssteuerabschnitt 22 zum
"operationsbegleitenden" Flipflop 46 gesendet. Dadurch wird
das "operationsbegleitende" Flipflop 46 am Ende des dritten
Zusatzintervalls Tc in den zurückgesetzten Zustand versetzt.
-
Das Adreßgültigkeits-Flipflop 53 ist bereits als
Reaktion auf das im dritten Intervall T3 empfangene
Annullierungssignal CA zurückgesetzt. Daher bleibt das zweite UND-
Gatter 62 auch dann geschlossen, wenn das Beendigungsflag-
Signal CF mit dem logischen Pegel "1" zum zweiten UND-Gatter
62 geführt wird.
-
Im zweiten Zusatzintervall Tb wird für das
"operationsbegleitende" Flipflop 46 noch der gesetzte Zustand
beibehalten. Unter diesen Umständen wird für das
Zyklusgültigkeits-Flipflop 57 der zurückgesetzte Zustand beibehalten,
da der erste Inverter 55 und das erste UND-Gatter 56
geschlossen sind.
-
Das zeigt, daß das Anforderungssignal RQ nicht in der
Adreßsteuereinrichtung 11 ausgeführt wird, wenn es im ersten
Intervall T1 ausgegeben und während der
Adreßspeicheroperation annulliert wird.
-
Hierbei wird angenommen, daß ein zusätzliches
Anforderungssignal RQ nach dem zweiten Zusatzintervall Tb von der
Ausführungsverarbeitungseinheit 12 ausgegeben wird und das
gleiche virtuelle Adreßsignal wie das vorstehend genannte
Anforderungssignal RQ begleitet, das im ersten Intervall T1
ausgegeben wurde. In diesem Fall wurde die
Adreßspeicheroperation bereits nach dem zweiten Zusatzintervall Tb für das
fragliche virtuelle Adreßsignal beendet. Daraus geht hervor,
daß die Seitenkopfadresse für das fragliche virtuelle
Adreßsignal im TLB 21 gespeichert wird. Somit ist im
Adreßumwandlungssteuerabschnitt 22 keine Adreßspeicheroperation
notwendig.