DE3787638T2 - Steuereinrichtung zur Speicherung von Adressen in einem Adressenübersetzungspufferspeicher. - Google Patents

Steuereinrichtung zur Speicherung von Adressen in einem Adressenübersetzungspufferspeicher.

Info

Publication number
DE3787638T2
DE3787638T2 DE87119015T DE3787638T DE3787638T2 DE 3787638 T2 DE3787638 T2 DE 3787638T2 DE 87119015 T DE87119015 T DE 87119015T DE 3787638 T DE3787638 T DE 3787638T DE 3787638 T2 DE3787638 T2 DE 3787638T2
Authority
DE
Germany
Prior art keywords
address
signal
control device
real
processing 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.)
Expired - Fee Related
Application number
DE87119015T
Other languages
English (en)
Other versions
DE3787638D1 (de
Inventor
Kouji C O Nec Corpor Kinoshita
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Publication of DE3787638D1 publication Critical patent/DE3787638D1/de
Application granted granted Critical
Publication of DE3787638T2 publication Critical patent/DE3787638T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

  • 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.

Claims (3)

1. Adreßsteuereinrichtung (11) zur Verwendung beim Steuern einer Zugriffsoperation einer Ausführungsverarbeitungseinheit (12) auf einen Speicherabschnitt (13) als Reaktion auf eine von der Ausführungsverarbeitungseinheit (12) zugeführte Meldungsfolge (RQ, QC, VA, DS, CA), wobei die Adreßsteuereinrichtung (11) von der Ausführungsverarbeitungseinheit (12) eine virtuelle Eingabeadresse (VA) erhält, die in einer aktuellen Meldungsfolge enthalten ist, und aufweist: eine Adreßspeichereinrichtung (21) zum Speichern mehrerer virtueller Adreßteile und mehrerer, den jeweiligen virtuellen Adreßteilen entsprechender realer Adreßteile, auf die die virtuelle Eingabeadresse zugreifen soll, und zum Feststellen, ob ein real er Adreßteil in Übereinstimmung mit der virtuellen Eingabeadresse in der Adreßspeichereinrichtung (21) gespeichert ist, sowie eine Speichersteuereinrichtung (22, 23, 41, 42, 81, 82), die auf die virtuelle Eingabeadresse reagiert und mit der Adreßspeichereinrichtung (21) gekoppelt ist, zum Steuern einer Adreßspeicheroperation der Adreßspeichereinrichtung in bezug auf die virtuelle Eingabeadresse, um den realen Adreßteil der virtuellen Eingabeadresse von dem Speicherabschnitt (13) zu speichern, wenn der fragliche reale Adreßteil nicht in der Adreßspeichereinrichtung (21) gespeichert ist, gekennzeichnet durch: eine Gültigkeitssteuereinrichtung (43, 46, 51, 53, 55, 56, 57, 59, 62, 63, 67, 68, 71, 74, 77), die mit der Speichersteuereinrichtung (22, 23, 41, 42, 81, 82) gekoppelt ist und auf jede Meldung zum Bestätigen der Gültigkeit der Adreßspeicheroperation der Adreßspeichereinrichtung auch bei Empfang einer nachfolgenden Meldung reagiert, die eine Annullierung der Zugriffsoperation anzeigt.
2. Adreßspeichereinrichtung nach Anspruch 1, wobei die Ausführungsverarbeitungseinheit (12) voraussehend Befehle, einschließlich eines bedingten Verzweigungsbefehls, vorabruft und die nachfolgende, die Annullierung der Zugriffsoperation darstellende Meldung erzeugt, wenn der voraussehende Vorabruf zu einer Nichterfüllung im Zusammenhang mit dem bedingten Verzweigungsbefehl führt, wobei die nachfolgende Meldung ein die Annullierung der Zugriffsoperation anzeigendes Annullierungssignal (CA) aufweist, die Speichersteuereinrichtung (22, 23, 41, 42, 81, 82) ein Abwesenheitssignal und ein Beendigungssignal erzeugt, wenn die reale Adresse nicht in Übereinstimmung mit der virtuellen Eingabeadresse in der Adreßspeichereinrichtung (21) gespeichert bzw. wenn die Adreßspeicheroperation beendet ist, wobei die Gültigkeitssteuereinrichtung aufweist:
eine mit der Speichersteuereinrichtung (22, 23, 41, 42, 81, 82) gekoppelte Einrichtung zum Aufbewahren des Abwesenheitssignals bis zum Empfang des Beendigungssignals, um ein internes Steuersignal (UN) zu erzeugen, das die Tatsache darstellt, daß die Adreßspeicheroperation in Gang ist; und
eine auf das interne Steuersignal (UN) reagierende und mit der Ausführungsverarbeitungseinheit (12) gekoppelte Einrichtung zum Ablehnen des Empfangs des Annullierungssignals (CA) während des Empfangs des internen Steuersignals, um die Gültigkeit der Adreßspeicheroperation zu bestätigen.
3. Verfahren zum Steuern einer Zugriffsoperation einer Ausführungsverarbeitungseinheit (12) auf einen Speicherabschnitt (13) in einer Adreßsteuereinrichtung (11), wobei der Adreßsteuereinrichtung von der Ausführungsverarbeitungseinheit (12) ein virtuelles Eingabeadreßsignal (VA) zugeführt wird, das in einer aktuellen Meldungsfolge (RQ, QC, VA, DS, CA) enthalten ist, wobei das Verfahren die Schritte aufweist: Feststellen, ob ein realer Adreßteil in Übereinstimmung mit dem virtuellen Eingabeadreßsignal in der Adreßsteuereinrichtung (11) vorhanden ist, und Durchführen einer Adreßspeicheroperation des realen Adreßteils der virtuellen Eingabeadresse von dem Speicherabschnitt (13), wenn der reale Adreßteil in der Adreßspeichereinrichtung (11) abwesend ist, gekennzeichnet durch den Schritt des:
Bestätigens der Gültigkeit der Adreßspeicheroperation auch bei Empfang einer nachfolgenden Meldung, die eine Annullierung der Adreßspeicheroperation für die aktuelle Befehlsfolge anzeigt.
DE87119015T 1986-12-23 1987-12-22 Steuereinrichtung zur Speicherung von Adressen in einem Adressenübersetzungspufferspeicher. Expired - Fee Related DE3787638T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30736186 1986-12-23

Publications (2)

Publication Number Publication Date
DE3787638D1 DE3787638D1 (de) 1993-11-04
DE3787638T2 true DE3787638T2 (de) 1994-04-28

Family

ID=17968162

Family Applications (1)

Application Number Title Priority Date Filing Date
DE87119015T Expired - Fee Related DE3787638T2 (de) 1986-12-23 1987-12-22 Steuereinrichtung zur Speicherung von Adressen in einem Adressenübersetzungspufferspeicher.

Country Status (3)

Country Link
EP (1) EP0275530B1 (de)
AU (1) AU608796B2 (de)
DE (1) DE3787638T2 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5125083A (en) * 1989-02-03 1992-06-23 Digital Equipment Corporation Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4520441A (en) * 1980-12-15 1985-05-28 Hitachi, Ltd. Data processing system

Also Published As

Publication number Publication date
AU608796B2 (en) 1991-04-18
EP0275530A3 (en) 1990-06-20
EP0275530A2 (de) 1988-07-27
EP0275530B1 (de) 1993-09-29
AU8291687A (en) 1988-06-23
DE3787638D1 (de) 1993-11-04

Similar Documents

Publication Publication Date Title
DE2224537C2 (de) Einrichtung und Verfahren zur Instruktionsauswahl in einem Fließbandprozessor
DE69130630T2 (de) Synchrones Verfahren und Gerät für Prozessoren
DE2161886C2 (de) Befehlsausführungseinheit in einer elektronischen Datenverarbeitungszentrale für die gleichzeitige Verarbeitung mehrerer Befehle
DE69534113T2 (de) Kompression der Befehlswörter eines Rechners
DE3638572C2 (de)
DE2953861C2 (de)
DE2630323A1 (de) Datenspeichereinrichtung
DE3750740T2 (de) Verfahren zur Steuerung von Mehradressräumen.
DE2317417A1 (de) Takt- und steuerlogikschaltung
DE1966633B2 (de) Datenverarbeitungsanlage mit überlappter Arbeitswelse bei Verwendung eines Haupt- und Pufferspeichers
DE2657848A1 (de) Steuereinheit fuer ein datenverarbeitungssystem
DE1524882A1 (de) Vorrangschaltung fuer Speicher verschiedener Zugriffszeiten
DE1915818B2 (de) Steuerschaltung für ein elektronisches Datenverarbeitungssystem
DE2036729A1 (de) Digital Datenverarbeiter
DE2755616A1 (de) Asymmetrischer multiprozessor
DE3688400T2 (de) Cachespeicherschaltung geeignet zur verarbeitung einer leseanforderung waehrend der uebertragung eines datenblocks.
DE2755611A1 (de) Steuereinheit fuer datenverarbeitungsanlagen
DE68927747T2 (de) Sperrschaltung für einen erweiterten Pufferspeicher
DE4034009C2 (de) Verfahren zur Befehlsabrufsteuerung
DE2364323C2 (de) Verfahren zur Behandlung von Unterbrechungsbedingungen in einer Datenverarbeitungsanlage
DE2530599C2 (de) Verfahren und Schaltungsanordnung zur Steuerung von Ein-/Ausgabe-Geräten
DE2617485C3 (de) Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
DE2539929C2 (de) Datenverarbeitungsanlage mit einer zentralen Einheit und über einen Bus mit der zentralen Einheit verbundenen Peripheriegeräte-Steueranordnungen
DE69429492T2 (de) Mikroprozessor mit Registerbankarchitektur
EP0409330B1 (de) Schaltungsanordnung zum Steuern des Zugriffs auf einen Speicher

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee