[go: up one dir, main page]

DE2949571A1 - Cachespeichereinheit fuer die verwendung in verbindung mit einer datenverarbeitungseinheit - Google Patents

Cachespeichereinheit fuer die verwendung in verbindung mit einer datenverarbeitungseinheit

Info

Publication number
DE2949571A1
DE2949571A1 DE19792949571 DE2949571A DE2949571A1 DE 2949571 A1 DE2949571 A1 DE 2949571A1 DE 19792949571 DE19792949571 DE 19792949571 DE 2949571 A DE2949571 A DE 2949571A DE 2949571 A1 DE2949571 A1 DE 2949571A1
Authority
DE
Germany
Prior art keywords
address
relevant
signals
cache memory
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19792949571
Other languages
English (en)
Other versions
DE2949571C2 (de
Inventor
Jun Robert W Norman
Marion G Porter
William A Shelly
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.)
Bull HN Information Systems Inc
Original Assignee
Honeywell Information Systems Italia SpA
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
Priority claimed from US05/968,312 external-priority patent/US4245304A/en
Priority claimed from US05/968,521 external-priority patent/US4208716A/en
Application filed by Honeywell Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
Publication of DE2949571A1 publication Critical patent/DE2949571A1/de
Application granted granted Critical
Publication of DE2949571C2 publication Critical patent/DE2949571C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline

Landscapes

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

Description

DIPL. ING. HEINZ BARDEHLiE München, Τ Ο. Dezember 1979
1949571
PATENTANWALT F
P 9QQ1
Aktenzeichen: Mein Zeichen: r t7:"
Honeywell Information Systems ine, 200 Smith Street
Waltham, Mass.
V. St. v. A.
Cachespeichereinheit für die Verwendung in Verbindung mit einer Datenverarbeitungseinheit
030025/0769
29A9571
D ι ρ 2991
Beschreibung
Die Erfindung bezieht sich auf Datenverarbeitungssysteme und insbesondere auf auch als Notizblockspeichersysteme bezeichnete Cachespeichersysteme.
.^s ist bekannt, hierarchische Speicherorganisationen bereitzustellen, bei denen ein großer Hauptspeicher mit geringer Geschwindigkeit in Verbindung mit einer kleinen Pufferspeichereinheit oder Cachespeichereinheit betrieoen wird, die mit hoher Geschwindigkeit arbeitet. Bei derartigen Anordnungen kann die Zentraleinheit (CPU) zu Operandendaten und/oder Befehlen mit einer Geschwindigkeit zugreifen, die noch näher an die Geschwindigkeit der Maschine herankommt. Während des normalen Betriebs, wenn die Zentraleinheit die Adresse der Information bereitstellt, zu der ein Zugriff erfolgen soll, führen Steuerschaltungen einen Suchvorgang in einer Adreßliste aus, in der zugehörige Adressen gespeichert sind, die festlegen, welche Informationsblöcke in dem Cachespeicher enthalten sind (d.h., daß die betreffenden Adressen einen sogenannten Trefferzustand festlegen). Wenn festgestellt wird, daß die Information in dem Cachespeicher vorhanden ist, dann erfolgt ein Zugriff zu der Information, die zu der Zentraleinheit hin übertragen wird. Wenn die geforderte Information nicht in dem Cachespeicher enthalten ist, fordern die Steuerschaltungen die Information aus dem Hauptspeicher an. Auf die Aufnahme der betreffenden Information hin wird diese in den Cachespeicher eingeschrieben, und zwar zu dem Zeitpunkt, zu dem zu ihr ein Zugriff erfolgen kann.
Beispiele für derartige Systeme sind an anderer Stelle beschrieben (siehe US-PS 35 88 829). In dem betreffenden
030025/0769
bekannten System enthält der Cachespeicher vier Ebenen, die durch dieselbe Reihe von Adressensignalen adressiert werden, um zu vier Wörtern eines Befehlsblockes oder von Daten zuzugreifen.
Da Speicherdaten auf einer Echzeitbasis verarbeitet werden müssen, wird das Schreiben der Speicherdaten normalerweise mit dem Zugriff zu derartigen Befehlen gestört. Um diese Störung zu überwinden, sind bei den bisher bekannten Anordnungen die Prozessoroperationen solange angehalten worden, bis die Speicherdaten in den Cachespeicher eingeschrieben sind. Dies hat sich jedoch als ein die Gesamtzugriffsrate der Zentraleinheit einschränkender Vorgang erwiesen, was zu einer Herabsetzung der Leistungsfähigkeit der Zentraleinheit führt.
Der Erfindung liegt demgemäß die Aufgabe zugrunde, eine Notizblock- bzw. Cachespeicheranordnung bereitzustellen, die einer Zentraleinheit einen schnellen Informationszugriff ermöglicht.
Gelöst wird die vorstehend aufgezeigte Aufgabe durch die in den Patentansprüchen erfaßte Erfindung.
Es ist erkannt worden, daß der einschränkende Faktor bezüglich der Geschwindigkeit, mit der Cachespeicher-Zugriffe erfolgen können, durch die Zeitspanne gegeben ist, die erforderlich ist, um eine Adreßlistensuche auszuführen. Im allgemeinen ist ein vollständiger Cachespeicher-Betriebszyklus erforderlich, um überhaupt festzustellen, ob die geforderte Information in dem Cachespeicher enthalten ist (dies bedeutet, daß ein Adreßlisten-Zugriff erfolgt und daß zugehörige Adressen verglichen werden).
Im Falle des Vorliegens eines Trefferzustands, der eine Anzeige dafür liefert, daß die aufzurufende oder zu aktualisierende Information in dem Cachespeicher enthalten
030025/0769
ist, ist ein weiterer Zugriff für die Beendigung der Prozessoroperation erforderlich, und zwar entweder durch Zugriff zu Operandendaten oder durch Einschreiben von Daten in den Cachespeicher. Da die Cachespeicherdaten auf einer Echtzeitbasis verarbeitet werden müssen und da Befehlszugriffe aus dem Cachespeicher
sich vorgenommen werden müssen, stören/normalerweise das Einschreiben von Speicherdaten und BefehlsZugriffe derartiger Operationen. Um derartige Störungen zu überwinden, sind bei den bisher bekanntgewordenen Anordnungen die Prozessoroperationen solange angehalten worden, bis die Speicherdaten in den Cachespeicher eingeschrieben worden sind oder bis Zugriffe zu Befehlen hin erfolgt sind. Dies hat sich jedoch als ein die Gesamtzugriffsgeschwindigkeit der Zentraleinheit beschränkender Vorgang herausgestellt, durch den die Leistungsfähigkeit der Zentraleinheit vermindert wird.
Um die somit vorhandene Störung zwischen den verschiedenen Arten von auszuführenden Operationen zu vermeiden, ist gemäß der Erfindung eine neue Cachespeicheranordnung geschaffen worden, die für die Verwendung in Verbindung mit einer Datenverarbeitungseinheit vorgesehen ist und die einen schnellen Zugriff zu Informationen mit sich bringt, die aus einem mit der betreffenden CacheSpeichereinheit verbundenen Hauptspeicher abgeholt werden, und zwar auf Befehle hin, die von der Datenverarbeitungseinheit abgegeben werden. Diese Cachespeichereinheit umfaßt einen Pufferspeicher mit ein»r Vielzahl von Wortspeicherplätzen, die in einer Vielzahl von Ebenen zur Informationsspeicherung organisiert sind. Außerdem umfaßt die Cachespeichereinheit eine Vielzahl von Adressenschalt-Auswahleinrichtungen, deren Anzahl der Vielzahl von Ebenen entspricht und die jeweils eine Anzahl von Eingängen aufweisen, welche eine entsprechende Anzahl von Adressen von einer entsprechenden Anzahl
03 0 025/0769
von identischen Adressenquellen aufnehmen. Außerdem weisen die betreffenden Adressenschalt-Auswahleinrichtungen einen Ausgang auf. Darüber hinaus ist eine Vielzahl von Adreßregistereinrichtungen vorgesehen, deren Anzahl der Vielzahl von Ebenen entspricht und die jeweils mit einer anderen Auswahleinrichtung der in einer Vielzahl vorgesehenen Adressenschalt-Auswahleinrichtungen und mit jeweils einer anderen der in einer Vielzahl vorgesehenen Ebenen verbunden sind. Jede Adreßregistereinrichtung dient dabei zur Speicherung der Adresse, die den WortSpeicherplatz bezeichnet, zu dem ein Zugriff während eines Cachespeicher-Betriebszyklus erfolgt. Darüber hinaus ist mit jeder der Adressenschalt-Auswahleinrichtungen und mit einer der Adressenquellen eine Steuerschaltungseinrichtung gekoppelt, die zur Aufnahme einer Reihe von Ebenensignalen dient und die eine Vielzahl von Reihen von Steuersignalen erzeugt, die angeben, welche der in einer Vielzahl vorgesehenen Adressenquellen die in die jeweilige Adreßregistereinrichtung zu ladende Adresse abgibt. Die betreffende Steuerschaltungseinrichtung ist auf das Auftreten der betreffenden Reihe von Ebenensignalen hin derart in Betrieb, daß sie eine Reihe der Vielzahl von Reihen von Steuersignalen veranlaßt, die Adressenschalt-Auswahleinrichtung - die durch die betreffende Reihe von Ebenen-Signalen bezeichnet ist - dafür auszuwählen, in die zugehörige Ädreßregistereinrichtung eine Adresse aus der betreffenden einen Adressenquelle zu laden. Die übrigen Adressenschaltauswahleinrichtungen werden hingegen dazu ausgewählt, in die übrigen Adreßregistereinrichtungen eine Adresse von einer anderen Adressenquelle der Adressenquellen zu laden. Dies ermöglicht das Einschreiben einer Information in die betreffende eine Ebene und zwar gleichzeitig mit dem Zugriff zu einer Information aus den übrigen Ebenen während des betreffenden Cachespeicher-Betriebszyklus.
030025/0769
8949571
Durch die Erfindung ist ferner eine Cachespeichereinheit für den Einsatz in Verbindung mit einer Datenverarbeitungseinheit geschaffen, wobei ein schneller Zugriff zu einer Information erfolgt, die aus einem mit der Cachespeichereinheit verbundenen Hauptspeicher abgeholt bzw. aufgerufen wird, und zwar auf das Auftreten von Befehlen hin, die von der Datenverarbeitungseinheit aufgenommen werden. Diese CacheSpeichereinheit umfaßt einen Pufferspeicher mit einer Vielzahl von adressierbaren Wortspeicherplätzen, die zur Informationsspeicherung dienen. Außerdem ist eine Adressenschalterauswahleinrichtung mit einer Anzahl von Eingängen zur Aufnahme einer entsprechenden Anzahl von Adressen von einer entsprechenden Anzahl von Adressenquellen und mit einem Ausgang vorgesehen. Mit dem betreffenden Ausgang und dem Pufferspeicher ist eine Adreßregistereinrichtung gekoppelt, die zur Speicherung der Adresse dient, welche den Wortspeicherplatz bezeichnet, zu dem ein Zugriff während eines Cachespeicher-Betriebszyklus erfolgt. Darüber hinaus ist eine Zeitsteuereinrichtung vorgesehen, die mit der betreffenden Adressenschalterauswahleinrichtung verbunden ist und die zur Erzeugung von codierten Steuersignalen dient, die angeben, welche Adressenquelle angeschlossen bzw. wirksam ist, um die Adresse an die Adreßregistereinrichtung abzugeben.
Schließlich ist eine Zeitsteuereinrichtung vorgesehen, die Zeitsteuersignale zur Festlegung einer Anzahl von Intervallen in dem Cachespeicher-Betriebszyklus erzeugt. Diese Zeitsteuereinrichtung ist mit der betreffenden Steuereinrichtung verbunden, die durch die betreffende Zeitsteuereinrichtung während eines der betreffenden Intervalle derart gesteuert ist, daß die betreffende Adressenauswahleinrichtung freigegeben ist, um eine Adresse zum Laden in die Adreßregistereinrichtung von einer der Adressenquelle her auszuwählen. Die betreffende Steuereinrichtung wird während eines anderen Inter-
030025/0769
J* g?49§71
vails derart gesteuert, daß die betreffende Adressenschalterauswahleinrichtung freigegeben ist, eine Adresse zum Laden in das betreffende Adressenregister von einer anderen Adressenquelle her auszuwählen, um den Zugriff zu der Information zu ermöglichen, die durch die beiden Adressenquellen festgelegt ist, und zwar während desselben Cachespeicherzyklus, ohne daß eine Störung auftritt.
Gemäß einer bevorzugten Ausführungsform umfaßt die Cachespeicheranordnung eine mit hoher Geschwindigkeit arbeitende Speichereinheit oder Cachespeichereinheit, die in einer Vielzahl von Ebenen organisiert ist. Jede Ebene umfaßt eine Anzahl von Mehrwortblöcken mit einer zugehörigen entsprechenden Anzahl von Adressenauswahlschaltern und Adressenregistern.
Jeder Adressenschalter weist eine Anzahl von unterschiedlichen Positionen auf, in denen er Adressensignale von einer Vielzahl von Adressenquellen her aufzunehmen und selektiv an das zugehörige Adreßregister abzugeben vermag. Auf die zuvor erfolgte Bereitstellung der Ebenen-Signale hin, die derart codiert sind, daß sie eine Ebene festlegen, in die während eines Cachespeicher-Betriebszyklus eingeschrieben wird, veranlaßt die Decoderschaltung einen bestimmten Schalter der in einer Anzahl vorgesehenen Schalter, von einer ersten Stellung in eine zweite Stellung umzuschalten, während die übrigen Adressenschalter in der die erste Stellung auswählenden Stellung verbleiben.
Während eines Cachespeicher-Betriebszyklus bzw. -Operationszyklus wird eine Adresse, die die Cachespeicherstelle angibt, in die Speicherdaten einzuschreiben sind, durch Taktsteuerung in ein Adreßregister über die zweite Stellung des Adressenauswahlschalters abgegeben. Eine Adresse, welche die Cachespeichrstelle angibt, aus der
030025/0769
ein nächster Befehl abzuholen ist, wird durch Taktsteuerung in die übrigen Adressenregister über die erste Stellung der anderen Adressenauswahlschalter abgegeben.
Die Befehlsadresse wird taktgesteuert in die übrigen Adreßregister eingeleitet, wenn kein Konflikt zwischen den Ebenen ermittelt worden ist. Dies bedeutet, daß die Cachespeicheranordnung eine Vergleicherschaltung umfaßt, mit deren Hilfe Signale - welche die Ebene angeben, in die Speicherdaten einzuschreiben sind - mit Signalen verglichen werden - welche die Ebene angeben, aus der ein nächster Befehl abzurufen ist. Wenn ein Konflikt vorliegt, erzeugt die Vergleicherschaltung Signale, die den Befehlszugriff verzögern.
Die Anordnung gennß der bevorzugten Ausführungsfοrm der Erfindung ermöglicht das Einschreiben von Speicherdaten in eine Cachespeicherebene, während ein nächster Befehl aus einer der übrigen Ebenen während eines Cachespeicher-Operationszyklus abgerufen wird. Demgemäß ist die Forderung nach Zurückhalten oder Verzögern des Zugriffs von Befehlen zu Schreibspeicherdaten beseitigt. Das Ergebnis ist eine erhöhte Leistungsfähigkeit.
Dabei ist selbstverständlich angenommen, daß eine geringe Anzahl von Konflikten in den Ebenen vorhanden ist. Es dürfte jedoch einzusehen sein, daß bei erhöhter Anzahl von Ebenen eine entsprechende Verringerung der Wahrscheinlichkeit des Auftretens von Konflikten vorhanden sein wird. Bei der bevorzugten Ausführungsform sind acht Ebenen ausgewählt worden. Es dürfte jedoch einzusehen sein, daß die Erfindung in keiner Weise auf eine derartige Zahl beschränkt ist.
Ein Cachespeicher-Operationszyklus ist in eine erste Hälfte und in eine zweite Hälfte aufgeteilt. Während
030025/0769
der ersten Hälfte des Cachespeicherzyklus werden Befehlszugriffe und Speicherdaten-Schreiboperationen ausgeführt, während Zentraleinheits-Lese- und -Schreiboperationen während der zweiten Hälfte des Cachespeicherzyklus ausgeführt werden.
Bei einer derartigen geteilten Zyklusanordnung wird bei Anwendung der Lehren der vorliegenden Erfindung die Adresse des CacheSpeicherplatzes, in den Speicherdaten einzuschreiben sind, durch Taktsteuerung in ein Adreßregister zu Beginn des Cachespeicherzyklus eingeführt. Die Befehlsadresse wird durch Taktsteuerung in die anderen Adreßregister zum selben Zeitpunkt eingeführt, solange dabei kein Konflikt ermittelt wird. Die Speicherdaten werden dann in den Cachespeieher eingeschrieben, während der nächste Befehl in ein Ausgaberegister während der ersten Hälfte desselben Cachespeicherzyklus geladen wird.
Normalerweise wird eine Adresse aus der Zentraleinheit CPU in sämtliche Adreßregister zu Beginn des zweiten Halbzyklus geladen, um eine mögliche Lese- oder Schreiboperation am Ende des zweiten Halbzyklus auszulösen bzw. zu initiieren. Deshalb kann in solchen Fällen, wenn Befehlszugriffkonflikte bezüglich des Einschreibens von Speicherdaten vorhanden sind, die zweite Hälfte des Cachespeicherzyklus dazu herangezogen werden, eine CPU-Leseoperation und eine Speicherdaten-Schreiboperation gleichzeitig auszuführen. In entsprechender Weise zu den oben erläuterten Vorgängen wird zu Beginn der zweiten Hälfte des Zyklus die Schreibspeicher-Datenadresse in eines der Adreßregister geladen. Die CPU- bzw. Zentraleinheits-Adresse wird in die übrigen Adreßregister geladen. Während der zweiten Hälfte des Zyklus werden angeforderte Daten an die Zentraleinheit CPU ausgelesen, während die Speicherdaten in den Cachespeicher eingeschrieben werden. Diese Anordnung führt ebenfalls zu
030025/0769
-ßa -einer gesteigerten Leistungsfähigkeit der Zentraleinheit.
Im ersten Falle ermöglichen somit die Lehren der vorliegenden Erfindung die Ausführung des Einschreibens von Speicherinformationen/Daten gleichzeitig mit dem Zugriff zu Befehlen, und zwar unter der Voraussetzung, daß die Ebene, in die Speicherdaten einzuschreiben sind, verschieden ist von der Ebene, zu deren Befehlen ein Zugriff erfolgt. Im zweiten Falle setzt die Ausführung des Einschreibens von Speicherinformationen/Daten gleichzeitig mit dem Zugriff zu Operanden voraus, daß die Ebene, in die Speicherdaten einzuschreiben sind, verschieden ist von der Ebene, aus der Operanden per Zugriff abgerufen werden.
Eine Adreßliste ist in eine Vielzahl von Ebenen für die Speicherung von Adresseninformationen organisiert, mit deren Hilfe ein Zugriff zu den Blöcken erfolgt, die in den Ebenen des CacheSpeichers gespeichert sind. Durch Zeitsteuerschaltungen bzw. Taktschaltungen werden Zeitsteuersignale erzeugt, die erste und zweite Intervalle eines Cachespeicherzyklus festlegen.
Die Steuerschaltungen, die mit den Zeitsteuerschaltungen verbunden sind, erzeugen Ausgangssignale, mit deren Hilfe die Operation bzw. der Betrieb des Adressenauswahlschalters gesteuert wird. Im Betrieb erzeugen während des zweiten Intervalls eines Cachespeicherzyklus die Steuerschaltungen auf das Auftreten der Zeitsteuersignale von den Zeitsteuerschaltungen her Signale, mit deren Hilfe die Adresse von einer Adressenquelle in das Adreßregister geladen wird. Dies ermöglicht entweder den Zugriff zu Befehlen in bzw. aus einer der Ebenen des Cachespeichers oder das Einschreiben von Speicherinformationsdaten während des ersten Intervalls des folgenden Cachespeicherzyklus.
030025/0769
Während des ersten Intervalls wählt der Adressenauswahlschalter außerdem eine Adresse von einer anderen Adressenquelle aus, welche Adresse dann durch Taktsteuerung in das Adreßregister eingegeben wird. Dies ermöglicht die Ausführung von Prozessoroperationen, wie den Zugriff zu Operandendaten oder das Einschreiben von CPU/Prozessordaten während des zweiten Intervalls desselben Cachespeieherzyklus.
Es dürfte einzusehen sein, daß zum Zwecke einer wirksamen Verarbeitung die Information, die für einen Zugriff erforderlich ist, in dem Cachespeicher vorhanden ist bzw. sein sollte. Dies führt zu einem hohen Trefferverhältnis für den Fall, daß die Mehrzahl der Cachespeicher-Zugriffe normalerweise bezüglich Befehle erfolgt. Deshalb ist es wichtig, daß der Zugriff zu Befehlen nicht durch den Zugriff nach Operandendaten gestört wird. Demgemäß kann in dem Fall, daß eine Anforderung nach einem Befehl aufgenommen worden ist, zu diesem Befehl zugegriffen werden, und der betreffende Befehl kann dann zu dem Prozessor hin während des ersten Intervalls desselben Zyklus übertragen werden, zu dem ein von dem Prozessor angeforderter Operand per Zugriff bereitgestellt und übertragen wird. Auf diese Weise sind jegliche Störungen oder Konflikte beseitigt, die daraus entstehen, daß ein Zugriff zu Befehlen bzw. Instruktionen erfolgt und daß außerdem Operanden übertragen werden. Von größerer Bedeutung ist noch, daß derartige Konflikte eliminiert sind, ohne daß die Leistungsfähigkeit des Prozessors herabgesetzt ist. Dieses Merkmal ist besonders wünschenswert in CacheSpeicher-Organisationen, bei denen Zugriffe auf einer Einzelwortbasls anstelle auf einer Blockbasis abgewickelt werden.
Darüber hinaus ist es wünschenswert, übertragene Speicherdaten auf einer Echtzeitbasis einschreiben zu können. Wenn Speicherdaten aufgenommen werden, können sie somit unverzüglich in den Cachespeieher während des ersten Intervalls
030025/0769
desselben Zyklus eingeschrieben werden, zu dem ein Zugriff zu einem von dem Prozessor her angeforderten Operanden her erfolgt und zu dem der betreffende Operation zu dem Prozessor hin übertragen wird. Auf diese Art und Weise sind jegliche Störung oder Konflikte eliminiert, die sich daraus ergeben, daß Speicherdaten eingeschrieben werden und daß außerdem Prozessoroperanden übertragen werden.
Im Falle des Zugriffs zu Befehlen ist die Quelle der Adressen ein Befehlsadressenregister. Wenn keine Forderung dahingehend besteht, Speicherdaten einzuschreiben, wählen die Steuerschaltungen als Adressenquelle das Befehlsregister aus, dessen Inhalt die Adresse des nächsten Befehls bezeichnet, der aus dem Cachespeicher abzuholen ist. Wenn die Speicherinformation/Daten einzuschreiben sind, ist die Adressenquelle ein Puffer. In derartigen Fällen wählen die Steuerschaltungen als Adressenquelle den Puffer aus, dessen Inhalt die Adresse in dem Cachespeicher bezeichnet, unter der die angeforderte Speicherinformation abzuspeichern ist.
Die Quelle der Adressen für die Prozessoroperationen ist ein Register, welches eine Adresse enthält, die von dem Prozessor her aufgenommen worden ist. Während eines vorhergehenden Cachespeicherzyklus wird die Adreßliste abgesucht um zu bestimmen, ob die durch dieselbe Adresse bezeichnete Information in dem Cachespeieher enthalten ist. Die Ergebnisse der Adreßlistensuche werden während der zweiten Hälfte des nächsten Cachespeicherzyklus verarbeitet, wie dies oben erläutert worden ist, indem die gespeicherte Prozessoradresse herangezogen wird. Durch Steuern des Adressenschalters zum Zwecke der Auswahl unterschiedlicher Adressenquellen während der ersten und zweiten Intervalle eines Cachespeicherzyklus eliminiert die Cachespeicheranordnung der vorliegenden Erfindung die Arten von Störungen aus der Anzahl der oben beschriebenen,
030025/0769
29*9571
miteinander gewissermaßen in Wettbewerb stehenden Quellen/Aktivitäten.
Anhand von Zeichnungen wird die Erfindung nachstehend beispielsweise näher erläutert.
Fig. 1 zeigt in einem Blockdiagramm ein die Prinzipien der vorliegenden Erfindung anwendendes System. Fig. 2 zeigt in einem Blockdiagramm einen im System gemäß Fig. 1 vorgesehenen Hauptprozessor und eine Cachespeichereinheit.
Fig. 3a bis 3e zeigen im einzelnen einzelne der in Fig. 2 dargestellten Blöcke.
Fig. 4 zeigt in einem Blockdiagramm die in Fig. 2 dargestellte Cachespeichereinheit.
Fig. 5 zeigt im einzelnen eine Cachespeicher-Prozessor-Schnittstelleneinrichtung.
Fig. 6a veranschaulicht das Format der Steuerspeicher-Steuereinheit des Systems gemäß Fig. 1. Fig» bb veranschaulicht das Format von Mikrobefehlswörtern eines Ablaufsteuerspeichers gemäß Fig. 2 und Fig. 7a bis 7e veranschaulichen im einzelnen unterschiedliche Bereiche der Cachespeichereinheit. Fig. 8 zeigt ein Zeitdiagramm, welches zur Erläuterung der Arbeitsweise einer bevorzugten Ausführungsform der Erfindung herangezogen wird.
030025/0769
_63 2349571
Wie aus Fig. 1 ersichtlich ist, weist das die Prinzipien der vorliegenden Erfindung umfassende System zumindest einen Eingabe/Ausgabe-Prozessor 200, eine System-Schnittstelleneinheit 100, einen mit hoher Geschwindigkeit arbeitenden Multiplexer 300, einen mit niedriger Geschwindigkeit arbeitenden Multiplexer 400, einen Hauptprozessor 700, einen Cachespeicher bzw. Notizblockspeicher 750 und zumindest ein Speichermodul entsprechend einem örtlichen Speichermodul 500 und zumindest ein Speichermodul entsprechend einem Speichermodul 800 auf. Die verschiedenen Moduln sind mit einer Anzahl von Anschlüssen der Systernschnittstelleneinheit über eine Vielzahl von Leitungen unterschiedlicher Arten von Schnittstelleneinrichtungen 600 bis 6θ4 verbunden. So sind insbesondere der Eingabe/Ausgabe-Prozessor 200, der Cachespeicher 750 und der mit hoher Geschwindigkeit arbeitende Multiplexer 300 mit den Anschlüssen G, E bzw. A verbunden, während der mit niedriger Geschwindigkeit arbeitende Multiplexer 400, das örtliche Speichermodul 500 und das Hauptspeichermodul 800 mit den Anschlüssen J, LMO bzw. RMO verbunden sind. Der Hauptprozessor 700 ist mit dem Cache speicher 750 verbunden.
Im folgenden werden die System-Schnittstelleneinrichtungen erläutert. Bevor der Prozessor 700 und die Cachespeichereinheit 750 im einzelnen beschrieben werden, die gemäß den Prinzipien der vorliegenden Erfindung aufgebaut sind, werden zunächst die Schnittstelleneinrichtungen bis 604 betrachtet.
Die Daten-Schnittstelleneinrichtung 600 ist eine der Schnittstelleneinrichtungen, die für einen Informationsaustausch zwischen einem aktiven Modul und der Systemschnittstelleneinheit 100 sorgen. Der Informationsaustausch wird dadurch bewirkt, daß die Verknüpfungszustände verschiedener Signalleitungen in Ubereinsteimmung mit vorgegebenen Regeln gesteuert werden, die durch eine
030025/0769
Folge von Signalen ausgeführt werden, welche als "Dialog11 bezeichnet werden.
Die Schnittstelleneinrichtung 601 ist eine programmierbare Schnittstelleneinrichtung, die für eine Befehlsinformationsübertragung von einem aktiven Modul zu einem bezeichneten Modul hin sorgt. Die Übertragung wird dadurch bewirkt, daß die Verknüpfungszustände der verschiedenen Signalleitungen in Übereinstimmung mit vorher festgelegten Regeln gesteuert werden, die durch eine Reihenfolge von Signalen ausgeführt werden, welche als "Dialog" bezeichnet ist.
Eine weitere Schnittstelleneinrichtung ist die Unterbrechungs-Schnittstelleneinrichtung 602, die für eine Unterbrechungs-Verarbeitung durch den Eingabe/Ausgabe-Prozessor 200 sorgt. Dies bedeutet, daß die Schnittstelleneinrichtung die übertragung einer Unterbrechungsinformation durch ein aktives Modul der Systemschnittstelleneinheit 100 zu dem Eingabe/Ausgabe-Prozessor hin zum Zwecke der Verarbeitung ermöglicht. In entsprechender Weise wird bezüglich der anderen Schnittstelleneinrichtung die übertragung von Unterbrechungsanforderungen dadurch vorgenommen, daß die Verknüpfungszustände der verschiedenen Signalleitungen in Übereinstimmung mit vorher festgelegten Regeln gesteuert werden, die durch eine als "Dialog" bezeichnete Folge von Signalen ausgeführt werden.
Eine nächste Reihe von Schnittstellenleitungen, die von bestimmten Moduln gemäß Fig. 1 verwendet sind, entspricht der örtlichen Speicherschnittstelleneinrichtung 603. Diese Schnittstelleneinrichtung sorgt für einen Informationsaustausch zwischen dem örtlichen Speicher 500 und den Moduln des Systems. Der Informationsaustausch wird dadurch bewirkt, daß Verknüpfungszustände der verschiedenen Signalschnittstellenleitungen in Übereinstimmung
030025/0769
mit vorher festgelegten Regeln gesteuert werden, die durch eine Dialog-Folge von Signalen ausgeführt werden.
Die Speicher- und die programmierbaren Schnittstellenbefehle werden von denselben physikalischen Datenleitungen der Schnittstelleneinrichtung übertragen. Die Schnittstelleneinrichtung umfaßt nicht eine Reihe von Leitungen zur Verarbeitung von Unterbrechungsanforderungen, weshalb die über die Systemschnittstelleneinheit 100 mit dem örtlichen Speicher verbundenen Moduln nicht direkt eine Speicherunterbrechung hervorrufen können.
Bezüglich einer detaillierten Beschreibung der Elemente des in Fig. 1 dargestellten Systems und der Schnittstelleneinrichtungen 600 bis 603 sei auf die US-PS 40 06 466 hingewiesen.
Die letzte Schnittstelleneinrichtung 604 ist eine interne Schnittstelleneinrichtung, die zwischen der Cachespeichereinheit 750 und dem zentralen Prozessor vorgesehen ist. Dies entspricht den Cachespeicher/Zentral einheits-Schnittstellenleitungen gemäß Fig. 5. Diese Schnittstelleneinrichtung sorgt für den Informationsaustausch und den Austausch von Steuersignalen zwischen dem Prozessor 700 und der Cachespeichereinheit 750. Der betreffende Signalaustausch wird dadurch bewirkt, daß die Verknüpfungszustände der verschiedenen Signal-Schnittstellenleitungen gesteuert werden. Die Cachespeicher/ Zentraleinheits-Schnittstelleneinrichtung umfaßt eine Vielzahl von Daten für die Prozessorleitungen (ZDI 0-35, P0-P3), eine Vielzahl von ZAC- und Schreibdatenleitungen (ZADO 0-23, RADO24-35, P0-P3), eine Prozessor-Anforderungssignalleitung (DREQ-CAC), eine Vielzahl von Cachespeicher-Befehlsleitungen (DMEM 0-3), eine Halte-Cachespeicherleitung (HOLD-C-CU), eine Löschleitung
030025/0769
(CANCEL-C), eine Überleitungs-Leitung (CAC-FLUSH), eine Lesewortleitung (RD-EVEN), eine Lesebefehlspufferleitung (RD-IBUF), eine Lesedoppelleitung (FRD-DBLE), eine ungeradzahlige Leitung (FODD), eine Vielzahl von Befehlsleitungen (ZIBO-35, P0-P3), eine Steuerleitung (DSZ), eine Lese-I-Pufferdatenleitung (RD-IBUF/ZDI), eine Vielzahl von Zonenbitleitungen (DZD 0-3), eine Nebenweg-Cachespeicherleitung (BYP-CAC), eine Schreibsignalleitung (WRT-SGN), eine Befehlspuffei^-Leer-Leitung (IBUF-EMPTY), eine Befehlspuffer-Bereitschaftsleitung (IBUF-RDY),
eine CP-Stopleitung (CP-STOP), eine CP-Steuerleitung (DATA-RECOV), eine Deskriptor-Steuerleitung (FPIM-EIS), eine Transfer-Stop-Leitung (NO-GO) und eine Vielzahl von Tfcrtadressenleitungen (ZPTRORTO-1).
Die Instruktionen bzw. Befehle, Cachespeicherbefehle und Daten werden der Cachespeichereinheit 750 über verschiedene Leitungen dieser Leitungen zugeführt. Darüber hinaus wird der Betrieb des Prozessors 700 über bestimmte Leitungen dieser Leitungen freigegeben bzw. gesperrt, wie dies noch erläutert werden wird. Nachstehend werden die Zentraleinheits/Cachespeicher-SchnittStellenleitungen im einzelnen beschrieben.
Zentraleinheits/Cachespeicher-SchnittStellenleitungen
Bezeichnung Beschreibung
DREQ-CAC Diese Leitung verläuft von dem
Prozessor 700 zu der Cachespeichereinheit 750 hin. Wenn die Leitung DREQ-CAC ein Binärsignal 1 führt, dann wird ein ZAC-Befehl zu dem Cachespeicher 750 hin über tragen. Im Falle des Auftretens eines Schreib-ZAC-Befehls werden Schreibdatenwörter in dem einen
030025/0769
oder den beiden auf den ZAC-Befehl hin folgenden Zyklen übertragen, und Datenwörter werden von dem Prozessor 700 über den Cachespeicher 750 ohne eine Modifikation zu der Systemschnittstelleneinheit 100 hin übertragen.
DMEMO,1,2,3 Diese Leitungen verlaufen von dem
Prozessor 700 zu dem Cache speicher hin. Diese Leitungen führen eine solche Codierung, daß der Befehl bezeichnet wird, den der Cachespeicher 750 auszuführen hat. Dabei ist folgende Codierung vorgesehen: DMEM=OOOO - keine Operation dabei wird keine Maßnahme getroffen, und keine Cachespeicher-Anforderung wird hervorgerufen.
DMEM = 0001 - direkt - der direkte Befehl ermöglicht dem Prozessor 700, eine direkte Übertragung eines Operandenwertes ohne eine Wirkung auf den Teil des Cachespeichers 750 auszuführen. Damit wird keine Cachespeicheranforderung durch diesen Befehlstyp erzeugt.
DMEM = 0010 - Adreßbefehl in zyklischer Adreßfolge (ADD-WRAP): Dieser Befehl wird ausgeführt, um zu dem Befehl zurückzukehren, der dem Cachespeicher 750 von dem Prozessor 700 her gegeben worden ist. In demselben Zyklus wird der Befehl an den Prozessor 700 über die ZDI-Leitungen 0-35 abgegeben.
030025/0769
DMEM = 0100 - Laden des Befehlspuffers, Befehlsaufruf 1 (LD-1BUF-1F1J: Der Ladebefehls-Pufferbefehl wird dazu herangezogen, die Adresse des nächsten Blocks von Befehlen in das andere Register RICA/RICB zu laden.
Es gibt drei mögliche Betriebsablauffolgen für diesen Befehl.
1. im Falle einer Cachespeicheränderung werden dann, wenn der Cachespeicher 750 nicht umgangen wird, die in dem Cachespeicher gespeicherte Blockadresse und die in diesem Speicher gespeicherte Ebene in das andere Befehlsregister geladen. Ein Cachespeicherzugriff wird dann vorgenommen, um den erwünschten Befehl aufzurufen, der zu dem Prozessor 700 über die ZDl-Leitungen 0-35 auf das Auftreten des folgenden T-Taktimpulses hin übertragen wird. Das andere Befehlsregister wird nunmehr zu dem benutzten Befehlsregister.
2. Im Falle von Cachespeicher-Verfehlen, also dann, wenn der Cachespeicher 750 nicht umgangen wird, werden die durch die Umlaufschaltungen bezeichnete Blockadresse und die durch die bezeichneten Schaltungen bezeichnete Ebene in das andere Befehlsregister geladen. Der Prozessor wird abgeschaltet oder auf das Auftreten des folgen-T-Taktirapulses hin festgehalten
Θ30025/0769
b1
um zu bestimmen, ob die Erzeugung des IF1-Befehls auf einen Transferbefehl hin erfolgt. Wenn dies der Fall ist und wenn der Transferbefehl ein Stopbefehl
ist, dann wird das gerade benutzte Befehlsregister dazu herangezogen, zum nächsten Befehl zuzugreifen, und der Prozessor 700 wird eingeschaltet. Wenn der IF1-Befehl durch einen Übertragungsbzw. Transferbefehl hervorgerufen wird, bei dem es sich um einen GO-Befehl handelt, dann sendet der Cachespeicher 750 eine Speicheranforderung an die Systemschnittstelleneinheit 100 bezüglich des erwünschten Blockes von Informationen aus, und ferner wird eine Adreßlistenzuordnung bezüglich des fehlenden Blockes vorgenommen. Die von dem Speicher aufgenommenen Befehle werden zunächst in den Befehlspuffer eingeschrieben und dann in den Cache speicher. Der angeforderte Befehl wird zu dem Prozessor 700 hin über die ZDI-Leitungen übertragen, und der Prozessor 700 wird auf das Auftreten des folgenden T-Taktimpulses hin eingeschaltet oder ausgelöst. Die übrigen Befehle des Blockes werden von dem Befehlspuffer über die ZIB-Leitungen zu dem Prozessor 700 hin übertragen.
030025/0769
3. Wenn der Cachespeicher zu umgehen ist, liegt ein Treffer- bzw. Änderungssignal vor, wobei das Voll/Leer-Bit für den betreffenden Block zurückgesetzt wird. Sämtliche übrigen Operationen stimmen mit den Operationen des Ausweich-Falles überein, allerdings abgesehen davon, daß keine Adreßlisten-Zuordnung vorgenommen wird und daß der Block nicht in den Cachespeicher eingeschrieben wird.
DMEM =0101 - Laden des Befehlspuffers - Befehlsaufruf 2 (LD-I3UF-IF2): Der Ladebefehls-Pufferbefehl wird dazu herangezogen, die Ebene des zweiten Blockes von Befehlen in das gerade benutzte Befehlsregister zu laden. Der Prozessor 700 wird im Falle eines Ausweichzustands nicht abgeschaltet. Außerdem sind drei mögliche Betriebsfolgen für diesen Befehl vorhanden.
1. Im Falle des Vorliegens eines Cache spe i ehe r-Trefferzustands und bei Vorliegen keiner Umgehung wird die Ebene des zweiten Blocks der Befehle in das gerade benutzte Befehlsregister geladen.
2. Im Falle eines Cachespeicher-Umgehungszustands und bei Vorliegen keiner Umgehung wird in dem Fall, daß der IF1-Befehl als Ergebnis eines Transferbefehl-Stopzustands ermittelt worden ist, die IF1-Operation gelöscht. In einem anderen Fall als einem Stop-Zustand wird eine
Ö30025/0769
Adreßlisten-Zuordnung bezüglich des zweiten Blockes von Befehlen vorgenommen, und die aus den Umlaufschaltungen her erhaltene L'bene wird in das gerade benutzte Befehlsregister eingeschrieben» Der Cachespeicher 750 sendet eine Speicheranforderung an den Speicher bezüglich des Blockes aus. Wenn die Befehle aufgenommen sind, werden sie zunächst in den Befehlspuffer und später in den Cachespeicher 750 eingeschrieben. Wenn die Befehle benötigt werden, werden sie aus dem Befehlspuffer ausgelesen und über die ZIB Leitungen 0-35 zu dem Prozessor 700 hin übertragen.
. Im Falle eines Nebenweges bzw. einer Umgehung wird in dem Fall, daß ein Treffer- bzw. Änderungszustand vorhanden ist, das Voll/Leer-Bit für den betreffenden Block zurückgesetzt. Alle anderen Operationen stimmen mit jenen Operationen im Falle einer Cachespeicher-Umgehung überein, allerdings abgesehen davon, daß keine Adreßlisten-Zuordnung erfolgt und daß der Block nicht in den Cachespeicher 750 eingeschrieben wird.
DMEM = 0110 - Laden eines Vierer-Befehls: Das Laden eines Vierer-Befehls wird dazu herangezogen, die Blockadresse für Daten (nicht
Θ30025/0769
29A9571
Befehle) in das andere Befehlsregister zu laden. Dieser Vorgang ist ähnlich dem Vorgang beim Auftreten des Signals IF2, allerdings abgesehen davon, daß die Adresse und die Ebene (Umlaufschaltungen stellen die Ebene bereit, wenn ein Cachespeicher-Verfehlungszustand vorliegt) in das andere Befehlsregister geschrieben werden. Wenn die Daten nicht in dem Cachespeicher 750 enthalten sind und wenn der Prozessor 700 diese Daten anfordert, bevor sie aus dem Speicher aufgenommen worden sind, dann wird der Prozessor angehalten oder stillgesetzt, bis die Daten aufgenommen sind.
DMEM=OI11 - Vor-Lesen (PR-RD): Der Vor-Lesebefehl wird dazu herangezogen, den Cachespeicher mit den Daten zu laden, die der Prozessor 700 für die Verwendung in der nahen Zukunft erwartet. Dabei sind die folgenden drei möglichen Betriebsablauffolgen vorhanden:
1. Bei einem Cachespeicher-Treffer und ohne Vorliegen einer Umgehung wird der Vorlesebefehl als ein keine Operation bewirkender Befehl ausgeführt.
2. Bei einem Cachespeicher-Ausweichsignal und ohne Vorliegen einer Umgehung erzeugt der Cachespeicher 750 eine
Ö30025/0769
294957t
Speicheranforderung bezüglich des Blockes, und außerdem wird eine Adreßlistenzuordnung bezüglich des fehlenden Blocks vorgenommen. Wenn die Daten von dem Speicher aufgenommen sind, werden sie in den Cachespeicher eingeschrieben. Der Prozessor 700 wird bezüglich dieses Zustande festgehalten. 3. Bei einer Cachespeicher-Umgehung wird der Vorlesebefehl als keine Operation bewirkender Befehl behandelt.
DI4EM=1000 - Einfachlesebefehl CRD-SNG): Der Einfachlesebefehl wird dazu herangezogen, ein einzelnes Datenwort zu dem Prozessor 700 zu übertragen. Dabei gibt es vier mögliche Betriebsablauffolgen für diesen Befehl.
1. Im Falle eines Cachespeicher-Treffers und ohne eine Umgehung wird das adressierte Wort aus dem Cachespeicher 750 gelesen und auf das Auftreten des nächsten T-Taktimpulses hin über die ZDI-Leitungen 0-35 zu dem Prozessor 700 hin übertragen.
2. Im Falle einer Cachespeicher-Ausweichung und ohne Vorliegen einer Umgehung wird der Prozessor 700 angehalten, und der fehlende Block wird in der
030025/0769
294957t
Adreßliste bezeichnet. Der Cachespeicher 750 überträgt die Speicheranforderung zu dem Hauptspeicher hin. Die Datenwörter werden in den Cachespeicher eingeschrieben, wenn sie aufgenommen werden. Wenn das angeforderte Datenwort aufgenommen wird, wird der Prozessor 700 auf das Auftreten des folgenden T-Taktimpulses hin eingeschaltet. Im Falle eines Cachespeicher-Treffers und einer Umgehung wird das Voll/Leer-Bit des adressierten Blocks zurückgesetzt, und der Prozessor 700 wird abgeschaltet oder festgehalten. Der Cachespeicher 750 überträgt die Anforderung bezüglich eines Wortes zu dem Speicher hin, und der Prozessor 700 wird auf das Auftreten des folgenden T-Taktimpulses hin eingeschaltet, und zwar auf die Aufnahme des angeforderten Datenwortes hin. Das Datenwort wird nicht in den Cachespeicher 750 eingeschrieben. Bei einer Cachespeicher-Ausweichung und einer Umgehung laufen dieselben Operationen ab wie bei Vorliegen des Cachespeicher-Treffers und einer Umgehung, allerdings abgesehen davon, daß das Voll/Leer-Bit des adressierten Blocks nicht geändert wird.
030025/0769
DMEM=I001 - Löschlesebefenl (,RD-CLH):
Der Löschlesebefehl bzw. Leselöschbefehl wird dazu herangezogen, ein Datenwort aus dem Speicher zum Prozessor 700 hin zu übertragen und außerdem dieses Datenwort aus dem betreffenden Speicher zu löschen. Dabei sind zwei mögliche Betriebsablauffolgen bezüglich dieses Befehls vorhanden.
1. Bei einem Cachespeicher-Treffer wird das Voll/Leer-Bit bezüglich dieses Blockes zurückgesetzt, und der Prozessor 700 wird abgeschaltet. Der Cachespeicher 750 führt eine Speicheranforderung bezüglich eines Datenwortes aus. Der Speicher löscht den betreffenden Speicherplatz. Wenn das Wort aufgenommen ist, überträgt der Cachespeicher 750 das Wort zum Prozessor 700 hin und schaltet den Prozessor 700 mit dem nächsten T-Taktimpuls ein. Das Wort wird nicht in den Cachespeicher 750 eingeschrieben.
2. Bei einer Cachespeicher-Ausweichung laufen dieselben Operationen wie bei Vorliegen eines Cachespeicher-Treffers ab, allerdings abgesehen davon, daß keine Änderung der Voll/Leer-Bits des adressierten Blocks erfolgt.
DMEM=1010 - Lesedoppel-Befehl (RD-DBL): Der Lesedoppel-Befehl wird dazu heran-
Θ30025/0769
294957t
gezogen, zwei Datenwörter zum Prozessor 700 hin zu übertragen. Dabei gibt es zwei Typen von Lesedoppel-Befehlen, die sich in der Reihenfolge unterscheiden, in der die Datenwörter dem Prozessor 700 zugeführt werden. Wenn die Leitung DSZ1 ein Binärsignal 11O" führt, dann ist die Reihenfolge gegeben durch ein ungeradzahliges Wort und ein geradzahliges Wort. Wenn die Leitung DSZ1 ein Binärsignal "1" führt, dann ist die Reihenfolge gegeben durch ein geradzahliges Wort und dann durch das Auftreten eines ungeradzahligen Wortes. Dabei existieren vier mögliche Betriebsablauffolgen für diesen Befehl.
1. Bei einem Cachespeicher-Treffer und Fehlen einer Umgehung wird das erste Wort zu dem Prozessor 700 hin über die ZDI-Leitungen 0-35 mit Auftreten des folgenden T-Taktimpulses übertragen. Auf das Auftreten des nächsten T-Taktimpulses hin wird das zweite Datenwort über die ZDI-Leitungen 0-35 zu dem Prozessor 700 hin übertragen.
2. Bei einer Cachespeicher-Ausweichung und Fehlen einer Umgehung wird der Prozessor 700 abgeschaltet, und eine Adreßlistenzuordnung wird bezüglich
Θ30025/0769
2949871
des Blockes vorgenommen, der das adressierte Wortpaar enthält. Der Cachespeicher 750 überträgt die Speicheranforderung an die Systemschnittstelleneinheit 100 bezüglich des Blockes. Wenn die Datenwörter aufgenommen sind, werden sie in den Cachespeicher eingeschrieben. Wenn das angeforderte Wortpaar verfügbar ist, wird das erste Wort zu dem Prozessor 700 hin übertragen, der auf das Auftreten des nachfolgenden T-Taktimpulses hin eingeschaltet oder ausgelöst wird. Der Cachespeicher 750 überträgt das zweite Wort zu dem Prozessor 700 hin auf das Auftreten des nächsten T-Taktimpulses hin.
Bei Vorliegen eines Cachespeicher-Treffers und einer Umgehung wird das Voll/Leer-Bit des adressierten Blocks zurückgesetzt, und der Prozessor 700 wird abgeschaltet. Der Cachespeicher 750 überträgt die Anforderung bezüglich der beiden Datenwärter zu dem Speicher hin. Sobald die beiden Wörter verfügbar sind, wird der Prozessor 700 eingeschaltet, und das erste Datenwort wird diesem Prozessor auf das Auftreten des folgenden T-Taktimpulses hin
Ö30025/0769
*9A9571
zugeführt. Der Pi'ozessor 700 nimmt das zweite Datenwort auf das Auftreten des nächsten T-Taktimpulses hin auf. Die Datenwörter werden nicht in den Cachespeicher eingeschrieben. 4. Bei einer Cachespeicher-Ausweichung und einer Umgehung laufen dieselben Operationen wie im Falle des Vorliegens eines Cachespeicher-Treffers und einer Umgehung ab, allerdings abgesehen davon, daß keine Änderung der Voll/Leer-Bits erfolgt.
DMEM=1011 - Fernlesebefehl (RD-RMT): Der Fernlesebefehl wird dazu herangezogen, die normalen Cachespeicher-Lesevorgänge zu umgehen. Wenn der Befehl aufgenommen ist, wird der Prozessor 700 abgeschaltet, und dio Anforderung wird zu dem Hauptspeicher hin übertragen. Wenn das angeforderte Wortpaar aus dem Speicher abgeholt ist, dann wird dem Prozessor 700 das erste Wort zugeführt, der auf das Auftreten des nachfolgenden T-Taktimpulses hin eingeschaltet wird. Das zweite Datenwort wird dem Prozessor 700 auf das Auftreten des nächsten T-Taktimpulses hin zugeführt. Die Reihenfolge, in der die Datenwörter übertragen werden, ist so, daß erst ein ungeradzahliges Wort und dann ein geradzahliges Wort
030025/0769
auftreten. Innerhalb des Cachespeichers 750 erfolgen keine Änderungen.
DMEM=HOO - Einzelschreibbefehl (WRT-SNG):
Der Einzelschreibbefehl wird dazu herangezogen, Daten in den Speicher einzuschreiben. Dabei gibt es zwei mögliche Betriebsablauffolgen bezüglich dieses Befehls.
1. Bei einem Cachespeicher-Treffer überträgt der Cachespeicher 750 die Anforderung zu dem Speicher hin. Wenn diese Anforderung angenommen wird, wird das Datenwort zu dem Speicher übertragen. Das Datenwort wird außerdem in den Cachespeicher 750 eingeschrieben.
2. Bei einer Cachespeicher-Ausweichung laufen dieselben Operationen ab wie bei einem Cachespeicher-Treffer, allerdings abgesehen davon, daß keine Änderung bezüglich des Cachespeichers 750 erfolgt.
DMEM=I110 - Doppelschreibbefehl CWRT-DBL):
Der Doppelschreibbefehl wird dazu herangezogen, zwei Datenwörter in den Speicher einzuschreiben. Dieser Befehl wird in ähnlicher Weise ausgeführt wie der EinzelSchreibbefehl, allerdings abgesehen davon, daß zwei Wörter anstelle eines Wortes übertragen/eingeschrieben werden.
»30025/0769
- 1JST-
%cr
HOLD-C-CU CANCEL-C CAC-FLUSH DMEM=H 11 - Fern-Schreibbefehl (WRT-RMT):
Der Fern-Schreibbefehl wird dazu herangezogen, die normalen Cachespeicher-Schreibvorgänge zu umgehen, und zwar insofern, als dann, wenn die adressierten Wörter in dem Cachespeicher 750 vorhanden sind, diese Wörter nicht aktualisiert werden. Der Cachespeicher 750 überträgt die Anforderung zu dem Speicher hin, und wenn sie dort angenommen ist, werden zwei Datenwörter zu dem Speicher hin übertragen. Diese Leitung verläuft vom Prozessor 700 zu dem Cachespeicher 750 hin. Wenn diese Leitung ein Binärsignal 1 führt, dann legt dieses Steuersignal fest, daß der Cachespeicher 750 als im HOLD-Zustand bezüglich Anforderungen oder Datenübertragungen anzunehmen ist. Diese Leitung verläuft vom Prozessor 700 zu dem Cachespeicher 750. Wenn diese Leitung ein Binärsignal 1 führt, zeigt das betreffende Steuersignal an, daß der Cachespeicher 750 jeglichen Prozessorbefehl unberücksichtxgt lassen sollte, der gerade ausgeführt wird.
Diese Leitung verläuft vom Prozessor 700 zu dem Cachespeicher 750 hin. Wenn diese Leitung ein Binärsignal 1 führt, wird ein
030025/0769
294857t
Durchlauf des Cachespeichers begonnen (dies bedeutet, daß der Cachespeicher 750 in einen Zustand gebracht wird, in dem er leer erscheint, indem sämtliche Voll/Leer-3its zurückgesetzt werden).
RD-SVEN Diese Leitung verläuft von dem
Prozessor 700 zu dem Cachespeicher 750 hin. Wenn der Cachespeicher eine Doppelwortanforderung an die Systemschnittstelleneinheit hin richtet, dann wird das geradzahlige Wort in einem Spezialregister (REVN) aufbewahrt. Wenn die Leitung RD-EVEN ein Binärsignal 1 führt, dann wird der Inhalt des REVN-Registers über den ZDIN-Schalter an die ZDI--Leitungen abgegeben.
ZADO 0-23 Diese vierzig, Signale in einer
RADO 24-35, Richtung übertragenden Leitungen
P0-P3 verlaufen vom Prozessor 700 zu
dem Cachespeicher 750 hin. Die betreffenden Leitungen werden dazu herangezogen, ZAC-Befehle und Schreibdatenwörter zum Cachespeicher 750 hin zu übertragen. Wenn die Leitung DREQ CAC ein Binärsignal 1 führt, werden der ZAC-Befehl und im Falle eines Schreibbefehls die Schreibdatenwörter während eines oder zweier Zyklen auf den ZAC-Befehl hin übertragen. Die auf den DMEM-Leitungen codiert auftretenden Befehle
030025/0769
können die gleichen Befehle sein wie der ZAC-Befehl.
RD-IBUF Diese Leitung verläuft vom Pro
zessor 700 zu dem Cachespeicher 750 hin. Wenn diese Leitung ein Binärsignal 1 führt, so zeigt diese Leitung an, daß der Prozessor 700 den Befehl von dem Befehlsregister RIRA her aufnimmt. In den meisten Fällen wird der betreffende Befehl dazu herangezogen, das Abholen des nächsten in das Register RIRA zu ladenden Befehls zu beginnen.
DZD 0-3 Diese vier Leitungen vcrDaufen von
dem Prozessor 700 zu dem Cachespeicher 750 hin. Sie übertragen Zonenbit-Signale des ungeradzahligen Worts bezüglich der Doppelschreibbefehle .
BYP-CAC Diese Leitung verläuft von dem
Prozessor 700 zu dem Cachespeicher 750 hin. Wenn sie ein Binärsignal 1 führt, dann wird der Cachespeicher 750 veranlaßt, Datenwörter aus dem Hauptspeicher auf Lesebefehle hin anzufordern. Wenn ein Cachespeicher-Treffer auftritt, wird der die angeforderten Daten enthaltende Block aus dem Cachespeicher 750 herausgeführt, indem das damit verbundene VoIl/Leer-Bit zurückgesetzt wird. Bezüglich der Einzelschreib- oder Doppelschreibbefehle werden die Daten in den Cachespeicher 750 eingeschrieben,
Ö30025/0769
WRT-SGN
FPIM-EIS DSZ1
NO-GO
wenn ein Cachespeicher-Treffer auftritt.
Diese Leitung verläuft von dem Cachespeicher 750 zu dem Prozessor 700 hin. Sie wird dazu herangezogen, dem Prozessor 700 während der Schreibbefehle zu signalisieren, daß der Cachespeicher 750 die übertragung der ZAC-Befehle und Datenwörter zu der Systemschnittstelleneinheit 100 hin beendet hat. Diese Leitung verläuft von dem Prozessor 700 zu dem Cachespeicher 750 hin. Wenn sie ein Binärsignal 1 führt, wird dem Cachespeicher 750 signalisiert, daß der Prozessor 700 einen IFI-Befehl für zusätzliche EIS-Deskriptoren abgibt.
Diese Leitung verläuft von dem Prozessor 700 zu dem Cachespeicher 750 hin. Der Zustand dieser Leitung legt für den Cachespeicher 750 fest, in welcher Reihenfolge die Wörter an den Prozessor 700 auszusenden sind, wenn ein Doppellesebefehl ausgeführt wird.
Diese Leitung verläuft von dem Prozessor 700 zu dem Cachespeicher 750 hin. Wenn sie ein Binärsignal 1 führt, zeigt dies an, daß der Prozessor 700 einen übertragungs- bzw. Transferbefehl ausführt, der ein Befehl NO-GO ist. Dadurch wird dem Cachespeicher
0 025/076
RD-IBUF/ZDI
FRD-DBL FODD
-sage
signalisiert, daß er den IFI-Befehl löschen sollte, den er im Ausweichzustand aufgenommen hatte, und daß außerdem der IF2-Befehl unberücksichtigt bleiben sollte, der gerade an die DMEM-Leitungen abgegeben wird.
Diese Leitung verläuft von dem Prozessor 700 zu dem Cachespeicher hin. Sie bewirkt, daß der Cachespeicher 750 einen Zugriff zu dem Datenwort unter der Adresse vornimmt, die in dem anderen Befehlsregister enthalten ist, und diese Daten an die ZDI-Leitungen abgibt. Mit Rücksicht auf einen ausstehenden LDQAD-Befehl hält der Cachespeicher 750 den Prozessor 700 an, wenn die Leitung RD-IBUF/ZDI ein Binärsignal 1 führt.
Diese Leitung verläuft von dem Prozessor 700 zu dem Cachespeicher 750 hin. Sie signalisiert dem Cachespeicher 750 im Voraus, daß der Prozessor 700 die Ausführung einer Doppelleseoperation anfordert.
Diese Leitung verläuft von dem Prozessor 700 zu dem Cachespeicher hin. Sie wird in Verbindung mit der Leitung FRD-DBLE dazu herangezogen, die Reihenfolge der angeforderten Wörter zu signalisieren. Wenn diese Leitung ein Binärsignal 1 führt, zeigt dies an, daß die Reihenfolge ungeradzahlig - geradzahlig ist.
030025/0769
ZDI 0-35 Diese vierzig Leitungen, die Signa-
P0,P1,P2,P3 Ie in einer Richtung übertragen,
verlaufen von dom Cachespeicher 750 zu dem Prozessor 700 hin. Sie geben Daten von dem Cachespeicher 750 an den Prozessor 700 ab.
ZIB 0-35 Diese vierzig Leitungen, die Signa-
PO,P1,P2,P3 Ie in einer Richtung übertragen, verlaufen von dem Cachespeicher 750 zu dem Prozessor 700 hin. Sie geben Befehle an den Prozessor 700 ab. BUF-EMPTY Diese Leitung verläuft von dem
Cachespeicher 750 zu dem Prozessor 700 hin. Wenn sie ein Binärsignal 1 führt, zeigt dies an, daß der Cachespeicher 750 den letzten Befehl aus dem vorliegenden Befehlsblock übertragen hat.
BUF-RDY Diese Leitung verläuft von dem Cache
speicher 750 zu dem Prozessor 700 hin. Wenn sie ein Binärsignal 1 führt, zeigt dies an, daß zumindest ein Befehl in dem vorliegenden Befehlsblock in dem Cachespeicher 750 vorhanden ist. Das Auftreten eines Binärsignals 0 auf dieser Leitung zeigt einen NicntDereitschaftszustand dann an,
1. wenn die Befehlsadresse
eines IF1-Blockes in dem Cachespeicher auf den ersten Befehl eines IF2-Blockes umschaltet, der nicht in dem Cachespeieher und nicht in dem IBUF2-Buffer enthalten ist,
2. und wenn Befehle aus dem IBUF1-Puffer oder aus dem IBUF2-Puffer
030025/0769
BUF-FULL
CP STOP
abgeholt werden und wenn der nächste aufzurufende Befehl in einem Zwei—Wort-Puffer enthalten ist, welcher yqn dem Speicher nicht aufgenommen worden ist.
Diese Leitung verläuft von dem Cachespeicher 750 zu dem Prozessor 700 hin. Sie zeigt an, daß zumindest vier Befehle in dem vorliegenden Befehlsblock vorhanden sind oder daß zumindest ein Befehl und eine ausstehende IF2-Anforderung vorliegen. Diese Leitung verläuft von dem Cachespeicher 750 zu dem Prozessor 700 hin. Wenn sie ein Binärsignal 1 führt, zeigt dies an, daß der Prozessor 700 angehalten ist oder bezüglich seiner Operation einen Warte- oder Haltzustand erfordert. Im Falle eines Leseausweichzustands infolge eines PrQ" zessorbefehls wird der Prozessor auf den anschließend auftretenden T-Taktzyklusimpuls hin festgehalten» Wenn der Prozessor ausgelöst wird, führt die Leitung DATA RECOV ©in Binärsignal 1, wodurch die betroffenen Prozessor-Register wieder eine Abtastung erfahren, Wenn die. Leitung RDIBUF/ZDI ein Binärsignal 1 führt, bevor die Daten aus <j§m Speicher aufgenommen sind, dann Wir4 der Prozessor 700 vor dem anschließend auftretenden T-Taktimpuls festgehalten. Wenn er ausgelöst wird, werden
030025/0769
2149571
die angeforderten Daten für den Prozessor 700 auf den ZDI-Leitungen verfügbar gemacht und auf den anschließend auftretenden T-Taktimpuls hin verwendet.
DATA-RECOV Diese Leitung verläuft von dem
Cachespeicher 750 zu dem Prozessor 700 hin. Sie wird dazu herangezogen, die Prozessor-Register nach erfolgter Stillsetzung des Prozessors 700 wieder abzutasten, und zwar auf die Ermittelung eines Cachespeicher-Ausweichzustands oder eine Lese-Umgehungszustands hin. Am Ende des Zyklus, innerhalb dessen auf der Leitung DREQ GAC ein Binärsignal 1 auftritt, wird der Ausweichzustand ermittelt, wobei der Prozessor 700 jedoch nicht stillgesetzt werden kann, und zwar bis nach Auftreten des folgenden T-Taktimpulses. Demgemäß werden Fehldaten/Befehle in die Prozessorregister von den Leitungen ZDI/ZIB her eingetastet. Wenn die geforderten Daten/Befehle verfügbar werden, wird an die Leitung DATA RECOV ein Binärsignal 1 abgegeben, um die Register wieder abzutasten, die während der letzten Cachespeicher-Anforderung abgetastet wurden.
ZPTR-OUT 0-1 Diese beiden Leitungen verlaufen
von dem Cachespeicher 750 zu dem Prozessor 700 hin. Sie führen derart codierte Signale, daß die
030025/0769
beiden Bits niedrigster Wertigkeit der Adresse des Befehls spezifiziert sind, der in dem RIRA-Befehlsregister oder in dem I-Puffer enthalten ist.
Im folgenden wird der Prozessor 700 gemäß Fig. 2 generell beschrieben. Wie aus Fig. 2 ersichtlich ist, umfaßt der Hauptprozessor 700 eine AblaufSteuereinheit 701, eine Steuereinheit 704, eine Ablauf- bzw. Ausführungseinheit 714, eine Zeicheneinheit 720, eine Hilfs-Rechen- und Steuereinheit 722 und eine Multiplikations/Divisions-Einheit 728. Diese Einheiten sind in der aus Fig.2 ersichtlichen Weise miteinander verbunden. Die Steuereinheit 704 weist darüber hinaus eine Anzahl von Verbindungen mit der Cachespeichereinheit 750 auf, wie dies dargestellt ist.
Die Ablaufsteuereinheit 701 umfaßt eine Ausführungs-Steuer speicher- Adre ssenvorbereitungs- und Verzweigungseinheit 701-1 und einen Ablaufsteuerspeicher 701-2. Der Speicher 701-2 und die Einheit 701-1 sind als über Busleitungen 701-3 und 701-6 miteinander verbunden dargestellt.
Die Steuereinheit 704 weist eine Steuerlogikeinheit 704-1 einen Steuerspeicher 704-2, eine Adressenvorbereitungs-
030025/0769
einheit 704-3, Daten- und Adressenausgabeschaltungen
704-4 und einen XAQ-Registerbereich 704-5 auf, der mit den betreffenden Einheiten in der ersichtlichen Weise verbunden ist.
Wie aus Fig. 2 ersichtlich ist, führt von der Systemschnittstelleneinheit 600 eine Anzahl von Eingangsleitungen zu der Cachespeichereinheit 750 hin. Die Leitungen dieser Schnittstelleneinrichtung sind zuvor im einzelnen beschrieben worden. In Verbindung mit dem Betrieb der Cachespeichereinheit 750 ist jedoch anzumerken, daß bestimmte dieser Leitungen in der nachstehend angegebenen Weise speziell codierte Signale führen.
1. MITS 0-3 für Lesevorgänge sind wie folgt codiert:
Bits 0-1 = 00,
Bits 2-3 = Transitblockpufferadresse, die den ZAC-Befehl für die vorliegende Leseoperation enthält.
Für die Schreiboperation sind die Bits 0-3 = ungeradzahlige Wortzone.
2. MIPS-Leitungen führen folgende codierte Signale:
Bit 0=0,
Bit 1=0, geradzahlige Wortpaare (Worte 0, 1)
Bit 1=1 ungeradzahlige Wortpaare (Worte 2, 3)
Bits 2-3 = Transitblockpufferadresse, die den ZAC-
Befehl für die empfangenen Daten enthält.
Im Hinblick auf die Schnittstellenleitungen DPS 00-35, P0-P3 sei angemerkt, daß diese Leitungen Lesedaten zu der Cachespeichereinheit 750 hin führen. Die Leitungen
DTS 00-35, P0-P3 werden dazu herangezogen,
Daten aus dem Cache speicher 750 zu der Systemschnittstelleneinheit 100 hin zu übertragen.
Die Steuereinheit 704 nimmt die notwendige Steuerung zur Ausführung von Adressenvorbereitungsoperationen, Befehls-
030025/0769
aufruf/Ausführungsoperationen und bezüglich der sequentiellen Steuerung der verschiedenen Betriebszyklen und/oder Maschinenzustände vor. Die Steuerung wird durch Verknüpfungsschaltungen des Blocks 704-1 und durch die AblaufSteuereinheit 701 bezüglich der verschiedenen Teile der Steuereinheit 704 ausgeführt.
Der XAQ-Registerbereich 704-5 umfaßt eine Anzahl von Sichtprogrammregistern, wie Indexregister, ein Akkumulatorregister und ein Quotientenregister. Andere Sichtprogrammregister, wie der Befehlszähler und Adreßregister, sind in der Adressenvorbereitungseinheit 704-3 enthalten.
Wie aus Fig. 2 hervorgeht, nimmt der Bereich 704-5 Signale von der Einheit 704-3 auf, die kennzeichnend sind für den Inhalt des Befehlszählers. Diese Signale gelangen über die Leitungen RIC 00-17. Außerdem werden über die Leitungen ZRESA 00-35 Ausgangssignale von der Ablaufeinheit 714 abgegeben. Diese Signale entsprechen den Ergebnissen der Operationen, die auf die verschiedenen Operanden hin ausgeführt sind. Der Bereich 704-5 erhält ferner ein Ausgangssignal von der Hilfs-Rechen- und Steuereinheit her über die Leitungen RAAUO-8 zugeführt.
Der Bereich 704-5 gibt Signale ab, die kennzeichnend sind für den Inhalt eines der Register, die innerhalb des betreffenden Bereiches vorgesehen sind. Diese Signale werden als Eingangsgröße an die Adressenvorbereitungseinheit 704-3 abgegeben. Die Adressenvorbereitungseinheit bzw. Adressenbildungseinheit 704-3 leitet die betreffende Information über einen Schalter zu der Ausführungseinheit 714 hin, und zwar über die Leitungen ZDO 0-35. In entsprechender Weise kann der Inhalt bestimmter Register der in dem Bereich 704-5 enthaltenen Register zu der Ablaufeinheit 714 hin über die Leitungen ZEB 00-35 übertragen werden. Schließlich kann der Inhalt von ausgewählten Registern dieser Register aus dem
030025/0769
Bereich 704-5 zu der Multiplikations/Divisions-Einheit 728 hin über die Leitungen ZAQ 00-35 übertragen werden.
Die Adressenbildungseinheit bzw. Adressenvorbereitungseinheit 704-3 erzeugt Adressen aus dem Inhalt der verschiedenen Register, die in der betreffenden Einheit enthalten sind, und gibt die sich ergebenden Verknüpfungssignale, effektiven Adressen und/oder absoluten Adressen zur Verteilung an die anderen Einheiten über die Leitungen ASFA 00-35 ab. Die Adressenbildungseinheit 704-3 nimmt die Ergebnisse der Operationen auf, die auf zwei Operanden hin durch die Ablaufeinheit 714 ausgeführt worden sind. Diese Srgebnissignale werden über die Leitungen ZRESB 00-35 aufgenommen. Die Einheit 704-3 nimmt Signale auf, die kennzeichnend sind für den Inhalt zweier Basiszeigerregister, und zwar von der Steuerlogikeinheit 704 her über die Leitungen RBASA und RBASBO-1 Die Ausgangssignale der Multiplikations/Divisions-Einheit 728 werden an die Adressenbildungseinheit 704-3 abgegeben. Schließlich wird der Inhalt eines Sekundär-Befehlsregisters (RSIR) als Eingangssignal über die Leitungen RSIR 00-35 an die Einheit 704-13 abgegeben.
Die Daten- und Adressenausgabeschaltungen 704-4 erzeugen die Cachespeicher-Adressensignale, die über die Leitungen RADO/ZADO 00-35 an die Cache Speichereinheit 750 abgegeben werden. Diese Adressensignale entsprechen den Signalen, die an eine Eingangsleitung der Reihe von Eingangsleitungen ZDI 00-35, ASFA 00-35 und ZRESB 00-35 abgegeben sind. Dabei werden die betreffenden Leitungen durch Schalter ausgewählt, die in den Schaltungen des Blockes 704-4 enthalten sind. Diese Schaltungen werden nachstehend im einzelnen erläutert werden.
Die Steuerlogikeinheit 704-1 stellt Datenwege bereit, die eine Schnittstellenbeziehung mit den verschiedenen
030025/0769
Einheiten aufweisen, welche in der Cachespeichereinheit 750 enthalten sind. Wie hier im einzelnen beschrieben sorgen die Leitungen ZIB 00-35 für eine Schnittstelle zu einem Befehlspuffer, der in dem Cachespeicher 750 enthalten ist. Die Leitungen ZDI 00-35 werden dazu herangezogen, Datensignale von dem Cachespeicher 750 zu der Steuerlogikeinheit 704-1 zu übertragen. Die ZPTROUT-Leitungen werden dazu herangezogen, eine Adresseninformation aus dem Cachespeicher 750 zu der Einheit 704-1 hin zu übertragen. Andere Signale werden über die anderen Daten- und Steuerleitungen der Cachespeicher-Zentralprozessor-Schnittstelleneinrichtung 704 abgegeben. Diese Leitungen umfassen die in Fig. 2 gesondert dargestellte Leitung CP-STOP.
Wie aus Fig. 2 ersichtlich, liefert die Steuerlogikeinheit 704-1 eine Anzahl von Ausgangssignalgruppen. Diese Ausgangssignale umfassen den Inhalt bestimmter Register, wie beispielsweise eines Basisbefehlsregisters(RBIR), dessen Inhalt als Eingangsgröße dem Steuerspeicher 704-2 über die Leitungen RBIR 18-27 zugeführt wird. Die Steuerlogikeinheit 704-1 nimmt bestimmte Steuersignale auf, die aus dem Steuerspeicher 704-2 ausgelesen und über die Leitungen CCSDO 13-31 übertragen werden.
Die Steuerlogikeinheit 704-1 umfaßt ferner ein sekundäres Befehlsregister (RSIR), welches parallel mit dem Basisbefehlsregister zu Beginn einer Befehlsverarbeitung geladen wird. Der Inhalt des sekundären Befehlsregisters RSIR 00-35 wird, wie zuvor erwähnt, als Eingangsgröße der Adressenbildungseinheit 704-3 zugeführt. Darüber hinaus wird ein Teil des Inhalts des sekundären Befehlsregisters als Eingangsgröße der Hilfs-Rechensteuereinheit 722 über die Leitungen RSIR 1-9 und 24-35 zugeführt.
Der Steuerspeicher 704-2 bewirkt, wie hier erläutert, eine Anfangsdecodierung von Programmbefehls-Operations-
030025/0769
codes, weshalb er so ausgelegt ist, daß er eine Anzahl von Speicherplätze^ 1024), und zwar einen für jeden möglichen Befehlsoperationscode, aufweist.
Wie bereits erwähnt, werden die an die Leitungen RBIR 18-27 abgegebenen Signale als Eingangssignale dem Steuerspeicher 704-2 zugeführt. Durch diese Signale wird einer der 1024 möglichen Speicherplätze ausgewählt. Der Inhalt des jeweils ausgewählten Speicherplatzes wird an die Leitungen CCSDO 13-31 und CCSDO 00-12 abgegeben, wie dies aus Fig. 2 ersichtlich ist. Die an die Leitungen CCSDO 00-12 abgegebenen Signale entsprechen den Adressensignalen, die zur Adressierung der Ablaufsteuereinheit 701 herangezogen werden, wie dies hier erläutert wird.
Die übrigen Bereiche des Prozessors 700 werden nunmehr kurz beschrieben. Die Ablaufeinheit 714 sorgt für einen Befehlsablauf, im Zuge dessen die Einheit 714 Rechen- und/oder Verschiebeoperationen auf Operanden hin ausführt, die von den verschiedenen Eingangsgrößen ausgewählt sind. Die Ergebnisse derartiger Operationen werden ausgewählten Ausgängen zugeführt. Die Ablaufeinheit 714 nimmt Daten von einer Dateneingangsbusleitung her auf, die den Leitungen RDI 00-35 entspricht. Die Quelle dieser Daten ist die Steuerlogikeinheit 704-1. Der Inhalt der Akkumulator- und Quotientenregister, die in dem Bereich 704-5 enthalten sind, wird an die Ablaufeinheit 714 über die zuvor erwähnten Leitungen ZEB 00-35 abgegeben. Die an die Eingangsbusleitungen ZDO 00-35 von der Adressenbildungseinheit 704-3 abgegebenen Signale werden über in der Ablaufeinheit 714 enthaltene Schalter al,s Ausgangssignale an die in Fig. 2 dargestellten Leitungen ZRESA 00-35 und ZRESB 00-35 abgegeben. Darüber hinaus nimmt die Ablaufeinheit 714 eine Reihe von Notizblockspeicher-Adressensignalen von der Hilfs-Rechen- und Steuereinheit 722 her auf, welche Signale über die Leitungen ZRSPA 00-06
030025/0769
abgegeben werden. Überdies gibt die Einheit 722 eine Verschiebeinformation über die Leitungen ZRSC 00-35 an die Einheit 714 ab.
Die Zeicheneinheit 720 wird dazu herangezogen, Zeichenbefehle auszuführen, die solche Operationen erfordern, wie die übersetzung und Aufbereitung von Datenfeldern. Wie hier erläutert, werden diese Befehlstypen als erweiterte Befehlssatz-(EISJ-Befehle bezeichnet. Derartige Befehle, die die Zeicheneinheit 720 ausführt, umfassen die ÜbertragungenAbtast- und Vergleicherbefehle. Signale, die kennzeichnend sind für Operanden, werden über die Leitungen ZRESA 00-35 abgegeben. Informationen bezüglich des Typs der Zeichenposition innerhalb eines Wortes und bezüglich der Anzahl der Bits werden an die Zeicheneinheit 720 über die Eingangsleitungen ZDB 00-07 abgegeben.
informationen, die kennzeichnend sind für die Ergebnisse bestimmter Datenoperationen, werden über die Leitungen ZOC 00-08 an die Einheit 722 abgegeben. Eine derartige Information umfaßt Exponentendaten und Daten in Hexadezimalform. Die Zeicheneinheit 720 gibt Ausgangs-Operandendaten und eine Steuerinformation an die Einheit 722 bzw. an die Einheit 728 über die Leitungen RCHU 00-35 ab.
Die Hilfs-Rechen- und Steuereinheit 722 führt Rechenoperationen auf eine Steuerinformation hin aus, wie auf Exponenten hin, die bei Gleitkommaoperationen verwendet werden. Außerdem berechnet die betreffende Einheit Operandenlängen und Zeiger und erzeugt eine Zählinformation. Die Ergebnisse dieser Operationen werden über die Leitungen ZRSPA 00-06 und über die Leitungen ZRSC 00-06, die oben erwähnt worden sind, an die Ablaufeinheit 714 abgegeben. Die Informationssignale, die Zeichen entsprechen, wie 9-Bit-Zeichen, 6-Bit-Zeichen, aus eingangsseitigen Hexadezimaldaten umgesetzten Dezimaldaten,
030025/0769
Quotienteninformationen und Vorzeicheninformationen, werden über die Leitungen RAAU 00-08 an den Bereich 704-5 abgegeben.
Wie aus Fig. 2 ersichtlich ist, nimmt die Einheit 722 eine Anzahl von Eingangssignalen auf. Die Zeichenzeigerinformation wird über die Leitungen ASFA 33-36 zugeführt. Eine numerische EIS-Maßstabs-Information sowie eine alphanumerische Feldlängeninformation werden über dio Leitungen RSIR 24-35 der Einheit 722 zugeführt. Weitere Signale, die sich auf das Aufrufen von speziellen Befehlen beziehen, werden über die Leitungen RSIR 01-09 zugeführt. Die Exponentensignale für die üleitkommadaten werden der Einheit 722 über die Leitungen ZOC 00-08 zugeführt, während Gleitkomma-Exponentendatensignale von der Einheit 704-1 über die Leitungen RDI 00-08 zugeführt werden. Verschiebe-Zählinformationssignale für die verschiedenen Befehle (z.B. binäre Verschiebebefehle) werden an die Einheit über die Leitungen RDI 11-17 abgegeben. Im Hinblick auf die an die Leitungen RCHU 00-35 abgegebenen Eingangssignale sei bemerkt, daß die Leitungen 24-35 Signale entsprechend der Länge der EIS-Befehlsfelder führen, während die Leitungen 18-23 Adressenmodifikationssignale zu der Einheit 722 hin führen.
Die letzte Einheit ist die Multiplikation/Divisions-Einheit 728, die für eine schnelle Ausführung von Multiplikations- und Divisionsbefehlen sorgt. Diese Einheit kann von herkömmlichem Aufbau sein und beispielsweise in der Form ausgeführt sein, wie die in der US-PS 40 41 292 beschriebene Multiplikationseinheit. Die in Fig. 2 angedeutete Einheit 728 nimmt über die Leitungen RCHU 00-35 Multiplikator-, Dividend- und Divisor-Eingangssignale auf. Die Multiplikanden-Eingangssignale aus dem Registerbereich 704-5 werden über die Leitungen ZAQ 00-35 zugeführt. Die Ergebnisse der
030025/0769
durch die Einheit 728 ausgeführten Rechenvorgänge werden als Ausgangssignale an die Leitungen ZMD 00-35 abgegeben.
Wie bereits erwähnt, überträgt die Cachespeichereinheit 750 Daten und Steuersignale zu der Systemschnittstelleneinheit 100 und nimmt derartige Signale von dieser Einheit her über die Datenschnittstellenleitung auf. Die Cachespeichereinheit 750 überträgt Daten und Steuersignale zu dem Prozessor 700 und empfängt derartige Informationen von diesem Prozessor über die Leitungen der Schnittstelleneinrichtung 604. Schließlich nimmt die Cachespeichereinheit 750 Adressen und Datensignale von den Schaltungen 704-4 über die Leitungen RADO/ZADO 00-35 auf.
im folgenden wird der Prozessor 700 im einzelnen beschrieben. Bestimmte Bereiche der vorgesehenen Bereiche, die den in Fig. 2 dargestellten Prozessor bilden, werden nunmehr unter Bezugnahme auf Fig. 3a bis 3e im einzelnen beschrieben.
Aus Fig. 3a und 3b ist ersichtlich, daß der Prozessor zwei Steuerspeicher aufweist: (1) Den Steuereinheit-Steuerspeicher 704-200, der einen Teil der Steuereinheit 704 bildet,und (2) den AblaufSteuerspeicher 701-3, der in der AblaufSteuereinheit 701 enthalten ist.
Der cachspeicherorientierte Prozessor 700 enthält bei der bevorzugten Ausführungsform der vorliegenden Erfindung ein dreistufiges sogenannte Pipeline-System. Dies bedeutet, daß der Prozessor 700 zumindest drei Prozessorzyklen erforderlich macht, um die Verarbeitung eines gegebenen Programmbefehls zu beenden, und daß er einen neuen Befehlsbeginn dieses Zyklus ausgeben kann. Damit kann die Anzahl der Programmbefehle in einer bestimmten Verarbeitungsstufe zu irgendeinem vorgegebenen Zeitpunkt vorliegen.
030025/0769
Gemäß der bevorzugten Ausführungsform enthält der Prozessor 700 folgende Stufen: einen Befehlszyklus (I.), in welchem eine Befehlsauswertung, eine Operationscode-Decodierung und eine Adressenbildung erfolgen, einen Cachespeicher-Zyklus (C), in welchem ein Zugriff zu der Cachespeichereinheit 750 vorgenommen wird, um einen Betrieb hoher Leistungsfähigkeit sicherzustellen, und einen Ausführungszyklus (E), in welchem die Befehlsausführung unter einer Mikroprogrammsteuerung stattfindet.
Im Hinblick auf die Steuerung sei angemerkt, daß während
des I-Zyklus der Operationscode des über die Leitungen abgegebenen Befehls
RBIR Ί&-27 /für einen Zugriff zu einer Speicherstelle bzw. zu einem Speicherplatz innerhalb des Steuerspeichers 704-2 herangezogen wird. Während eines C-Zyklus wird der Inhalt, zu dem im Steuerspeicher 704-2 ein Zugriff erfolgt ist, an die Leitungen CCS DO 00-12 abgegeben und für einen Zugriff zu einem der Speicherplätze des Ablaufsteuerspeichers 701-2 herangezogen. Während des C-Zyklus werden die Mikrobefehle des zur Ausführung des Befehls benutzten Mikroprogramms aus dem Ablaufsteuerspeicher 701-2 in ein 144-Bit-Ausgaberegister 701-4 gelesen. Die mit MEMDO 00-143 bezeichneten Signale werden auf die verschiedenen Funktionseinheiten des Prozessors 700 verteilt. Während eines E-Zyklus führt der Prozessor die durch den Mikrobefehl spezifizierte Operation aus.
Unter spezieller Bezugnahme auf Fig. 2 dürfte ersichtlich sein, daß der Steuerspeicher 704-2 einen Steuereinheit-Steuerspeicher 704-200 umfaßt, der durch die Operationscodesignale adressiert wird, die an die Leitungen RBIR 18-27 angelegt werden. Der betreffende Steuerspeicher 704-200 umfaßt 1024 Speicherplätze, deren Inhalt während eines I-Betriebszyklus in ein Ausgaberegister 704-202 gelesen wird. In Fig. 6a ist schematisch das Format
630025/0769
der Wörter veranschaulicht, die in dem Steuerspeicher 704-200 gespeichert sind.
Aus Fig. 6a dürfte ersichtlich sein, daß jedes Steuereinheit-Steuerspeicherwort fünf Felder umfaßt. Das erste Feld ist ein 13-ßit-Feld, welches einen ECS-Startadressenplatz für den Befehl umfaßt, bezüglich dessen ein Operationscode an die Leitungen RBIR 18-27 abgegeben ist. Das nächste Feld ist ein 3-Bit-Feld (CCS0), welches zur Steuerung bestimmter Operationen dient. Die Bit-Interpretationen des Feldes hängen von ihrer Bestimmung und davon ab, ob sie durch bestimmte Verknüpfungsschaltungen oder unter einer Mikroprogrammsteuerung decodiert werden. Das nächste Feld ist ein 4-ßit-Feld, welches bestimmten Kegistersteueroperationen dient.
Das nächste Feld ist ein 6-Bit-Folgesteuerfeld bzw. Sequenzsteuerfeld, welches so codiert ist, daß es eine Folge von Operationen bezeichnet, die unter einer hardwaremäßig verdrahteten Verknüpfungssteuerschaltung ebenso auszuführen sind wie die Cachespeicher-Operation. Bei der vorliegenden Ausführungsform ist dieses Feld als 75g codiert. Das letzte Feld ist ein 6-Bit-Anzeigefeld, welches für das Verständnis der vorliegenden Erfindung nicht wichtig ist.
Wie aus Fig. 3a ersichtlich ist, werden die dem CCSA-FeId eines Steuereinheit-Steuerspeicherwortes entsprechenden Signale über einen Verbindungsweg 704-204 als Eingangssignal an die Ablauferzeugerschaltungen 701-7 abgegeben. Die dem CCSR-FeId entsprechenden Signale werden als Eingangssignale an die Ablaufeinheit 714 über den Verbindungsweg 704-206 abgegeben. Darüber hinaus werden dieselben Signale als Eingangssignale an die Adressenbildungseinheit 704-3 über einen weiteren Verbindungsweg 704-208 abgegeben.
030025/0769
Die für das AblaufSteuerfeld kennzeichnenden Signale werden als Eingangssignale an die Folgesteuerungs-Verknüpfungsschaltungen 704-100 über den Verbindungsweg 704-210 abgegeben. Wie hier erläutert, decodieren diese Schaltungen das Folgesteuerfeld und erzeugen Signale, durch die die Cachespeichereinheit 750 in den Stand versetzt wird, die bezeichnete Operation auszuführen.
Wie zuvor erwähnt, erhält die Ablaufadressenerzeugerschaltung 701-1 eine Eingangsadresse, die dem Feld CCSA von dem Steuerspeicher 704-2 her entspricht. Wie aus Fig. 3b ersichtlich ist, umfassen diese Schaltungen ein Eingabeadreßregister 701-10, dessen Ausgang mit einer Position eines 4-Stellungs-Schalters 701-12 verbunden ist; diese Stellung ist mit ZECSA bezeichnet. Der Ausgang des betreffenden Schalters dient als Adressenquelle für den Steuerspeicher 701-2. In der ersten Stellung des Schalters 701-12 wird eine Adresse von dem MICA-Register 701-14 her aufgenommen. Der Inhalt des Registers 701-14 wird am Ende jedes Zyklus aktualisiert, um auf die Stelle innerhalb des ECS-Steuerspeichers hinzuzeigen, die derjenigen Stelle bzw. demjenigen Speicherplatz folgt, dessen Inhalt während des betreffenden Zyklus ausgelesen wurde.
In der zweiten Stellung wird die von den ZCSBRA-Auswahlschalter 701-18 hervorgerufene Adresse ausgewählt. In der dritten Stellung wird die Adresse des ersten Mikrobefehls in jedem Mikroprogramm ausgewählt, welches von dem CCS-Steuerspeicher geliefert wird, wobei ein Laden in das REXA-Register 701-10 erfolgt. Wenn das CCS-Ausgangssignal am Ende eines Mikroprogramms nicht verfügbar ist, wird automatisch eine vorbestimmte Adresse (Octaladresse 14) ausgewählt.
In der ersten Stellung des Verzweigungsschalters 701-18
030025/0769
werden Signale aufgenommen, die einer Verzweigungsadresse entsprechen, welche aus dt . Speicher 701-2 in das Register 701-4 gelesen worden ist und die ihrerseits zu einem Rückkehr-Steuerregister 701-20 hin weitergeleitet worden ist. In der zweiten und vierten Stellung des Schalters 701-18 werden Signale von dem RSCR-Register 701-20 bzw. einem MIC-Register 701-15 bzw. der Inhalt einer Anzahl von Vektorverzweigungsregistern 701-36 aufgenommen. Das MIC-Register 701-15 speichert eine Adresse, die auf das Mlkrobefehls__wort hinzeigt, welches dem Mikrobefehlswort folgt, welches ausgeführt wird. Die^e Adresse entqprieht der Adresse von dem Schalter 701-12 her, wobei eine Erhöhung um eins durch eine Erhöhungs- bzw. Inkrementierungsschaltung 701-12 erfolgt.
Die Vektorverzweigungsregister umfassen ein 4-Bit-Vektorverzweigungsregister 0 (RVBO), ein 2-Bit-Vektorverzweigungsregister 1 (RVB1) und ein 2-Bit-Vektorverzweigungsregister 2 (RVB2). Diese Register werden während eines Betriebszyklus mit Adressenwerten geladen, die aus Signalen abgeleitet sind, welche in einer Anzahl von verschiedenen Anzeige-Flipflops und Registern gespeichert sind und die als Eingangssignale an die Anzahl von Gruppen von Eingangs-Multiplexerauswahlschaltungen 701-32 und 701-34 abgegeben werden. Die Ausgangssignale der betreffenden Schaltungen 701-32 und 701-34 werden als Eingangssignale an Zwei-Stellungs-Auswahlschaltungen 701-30 abgegeben. Diese Schaltungen erzeugen ihrerseits die Ausgangssignale ZVBRO, ZVBR1 und ZVBR2, die in dem Register 701-36 gespeichert werden.
Der Schalter 701-36 liefert eine Adresse auf der Basis der Prüfung bzw. des Testens der verschiedenen Hardware-Anzeigesignale und Zustands-Flipflops-Signale, die über ein INDGRP-FeId ausgewählt werden. Die Verzweigungsentscheidung wird durch eine Maskierung (ANDING) des
030025/0769
ausgewählten Anzeigesatzes mit den Feldern INDMSKU und INDMSKL eines Mikrobefehlswortes bestimmt. Wenn eine Vektorverzweigung ausgewählt ist, wird das Feld INMSKU als ein vier Null-Bits enthaltendes Feld behandelt. Das ODER-Signal der acht Bits wird mit dem Zustand verglichen, der durch die Mikrobefehlsfelder TYPG und GO definiert ist. Die Hardware-Signale werden über eine Anzahl von Daten-Auswahlschaltungen 701-28 abgegeben, von denen lediglich eine Auswahlschaltung veranschaulicht ist. Die Ausgangssignale dieser Auswahlschaltungen werden nacheinander als Eingangssignale einer weiteren Fünf-Stellungs-Multiplexerauswahlschaltung 701-26 zugeführt. Das Ausgangssignal der Multiplexerschaltung 701-26 wird einer Vergleicherschaltung zugeführt, die die Anzeigesignale mit den Maskensignalen undmäßig zusammenfaßt, um die Ergebnissignale MSKCBRO-7 zu erzeugen.
Die Signale MSKCBRO-7 werden einer weiteren Vergleicherschaltung zugeführt, welche die betreffenden Signale mit den Zustandsverzweigungstestsignalen TYPGGO undmäßig zusammenfaßt, um ein Verzweigungsentscheidungs-Flipflop 701-22 zu setzen oder zurückzusetzen. Dieses Flipflop erzeugt ein Signal RBDGO, dessen Zustand anzeigt, ob eine Verzweigung stattfindet. Das Ausgangssignal RBDGO wird als ein Steuereingangssignal dem ersten Eingang von zwei Eingängen bzw. Positionen des Schalters 701-12 zugeführt. Wenn die Verzweigungstestbedingung nicht erfüllt ist (d.h., daß das Signal RBDGO = 0 ist), dann wird die inkrementierte bzw. vergrößerte Adresse von dem MICA-Register 701-14 ausgewählt.
In einigen Fällen, wie im vorliegenden Fall,ist es nicht möglich, den Zustand einer Anzeige auf den Zyklus hin zu testen, der der Bildung der betreffenden Anzeige folgt. Aus diesem Grunde sind die historische Entwicklung
030025/0769
aufzeichnende Entwicklungsregister HR0-HR7 (nicht dargestellt) für die Registerspeicherung der zur Gruppe 2 gehörenden Anzeigen vorgesehen. Die Zustände der so gespeicherten Anzeigen werden ausgewählt und in einer ähnlichen Weise getestet wie die übrigen Anzeigen (das sind Maskierungsfelder).
Die Einheit 701-1 umfaßt darüber hinaus eine Anzahl von Anzeigeschaltungen, von denen bestimmte Anzeigescnaltungen dazu herangezogen werden, den Betrieb von bestimmten Teilen des Prozessors 700 zu steuern, wenn die Zeichenfolgen, die durch bestimmte Befehlstypen verarbeitet werden, ausgegeben worden sind. Diese Anzeigeschaltungen sind in dem Block 701-42 enthalten; sie werden unter der Steuerung eines Feldes innerhalb des Mikrobefehlswortes gemäß Fig. 6a gesetzt und zurückgesetzt (das ist das IND6-Feld). Die Bits dieses Feldes, die aus dem ECS-Ausgaberegister 701-A ausgelesen sind, werden an ein RMI-Register 701-38 abgegeben, um durch einen Decoder 701-40 decodiert zu werden. Auf der Grundlage des Zustand der Statusanzeigesignale, die von den verschiedenen Prozessoreinheiten her aufgenommen werden (z.B. 714, 720, 722, etd.), werden die in Frage kommenden Hilfs-Flipflops in die binären Zustände 1 geschaltet. Die Ausgangssignale dieser Flipflops werden über die verschiedenen Stellungen eines Vier-Stellungs-Schalters 701-44 an die GP3-Stellung des Schalters 701-26 abgegeben, um einen Test durchzuführen. Dieselben Ausgangssignale werden einerjzweiten Stellung eines ZIR-Schalters 701-43 zugeführt, um über den ZDO-Schalter 704-340 eine Einspeicherung hervorzurufen. Der ZIR-Schalter 701-43 nimmt außerdem Anzeigesignale von dem Anzeigeregister (IR) 701-41 her auf. Dieses Register wird über die RDI-Leitungen 18-30 und 32 auf das Auftreten von bestimmten Befehlen hin geladen.
030025/0769
Die Anzeigestatussignale umfassen beispielsweise die Ausgangssignale der verschiedenen Addiererschaltungen (AL, AXP) der Einheit 720. Diese Signale setzen unterschiedliche Flipflops der in einer Anzahl vorgesehenen Ausgabe-Kennzeichen-Flipflops, die mit FE11, FE12,FE13, FE1E, FE2E, FE2 und FE3 bezeichnet sind. Die Flipflops FE1E und FE2E werden während jedes FPOA-Zyklus eines Befehls gesetzt. Diese Flipflops bewirken ihrerseits das Setzen der Flipflops FE11, FE12 und FE13, wenn die Ausgangssignale von den Addiererschaltungen AL oder AXP der Einheit 720 auftreten. Das Setzen und Zurücksetzen dieser Anzeigen wird nachstehend weiter im einzelnen in Verbindung mit der Erläuterung der Arbeitsweise beschrieben. Die Abgabe-Kennzeichen-Flipflops, die für die Ausführungsform wichtig sind, werden entsprechend den nachstehenden Boolschen Ausdrucken gesetzt bzw. zurückgesetzt, wobei das Setzen jeweils mit SET und das Zurücksetzen jeweils mit RESET angedeutet ist.
SET : FLlE = KPOA + 1ND6FLD Feld · IiESET : FEIE = IND6FLD Feld .
SLT : FE2E = FPOA + IND6FLD Feld .
RESET : FE2E - IND6FLD Feld .
SET : FEIl = IND6FLD Feld .FEIE (ALES + AXPES +
DESCl ·ΑΡΟ-4 = 0) + IND6FLD - FeIdFElE-DESCl-(AP0-5=0+APZN+ALZN) + IND6FLD Feld
KLSET : FEIl = FPOA + IUD6FLD Feld .
SLT : FE12 = IND6FLD FeId-FElE-(ALES + AXPES + FE13).
RESET : FE12 = FPOA + IND6FLD Feld.
SET : FE13 = IND6FLD Feld -FElE-ALES + IND6FLD Feld RLSET : FEl3 = FPOA + IND6FLD Feld.
SET : FE2 = IND6FLD Feld ·FE2E-ALES + IND6FLD Feld · FE2E-DESC2 · (APO-4-0 + ΛΡ0-5=·0 + APZN + ALZN) + (1ND6FLD Feld ) FE2E.DESC2 + IND6FLD.
RESET : FE2 = FPOA + 1ND6FLD Feld.
030025/0769
SET : KE3 = INDOFLD Feld · DIiSC3 · (AP0-4 = 0 + APO-5 + ΛΡ2Ν + ALZN) + IND6FLD Feld -DESC3 + IND6FLD.
RL1SLT ; FL3 = FPOA + IND6FLD Feld · Wobei INDoFLD* einen bestimmten Code abgibt.
ALES = AL=O or AL-C;
AXPLS = AXP=O or AXI5-C;
APZN = APO-7 s 0; Und,
ALZN = ALO-Il ^ 0.
Der ZCSBRA-Schalter 701-18 ist normalerweise freigegeben, wenn das Verzweigungs-Entscheidungs-Flipflop RBD nicht in den Binärzustand 1 während des vorhergehenden Zyklus gesetzt wurde. In der ersten Stellung wird eine 13-Bit-Verzweigungsadresse von dem gerade vorliegenden Mikrobefehl ausgewählt, der über das RCR-Register 701-20 abgegeben wird. Die Verzweigungsadresse gibt die direkte Adressierung irgendeines Speicherplatzes der Speicherplätze des ECS-Steuerspeichers frei. In der zweiten Stellung wird die Verkettung der sechs niederwertigen Adressenbits von dem vorliegenden Mikrobefehl ausgewählt, der über das MIC-Register 701-15 abgegeben wird, und der sieben oberen Bits der Verzweigungsadresse von dem vorliegenden Mikrobefehl her, der über das RCR-Register 701-20 abgegeben wird. Dies ermöglicht Verzweigungen innerhalb einer 64-Wort-Seite, wie dies durch den Inhalt des MIC-Registers 701-15 festgelegt ist (vorliegender Speicherplatz +1).
In der dritten Position wird die Verkettung der vier niederwertigen Bits von dem RVBO-Vektorverzweigungsregister.der sechs Bits von dem Verzweigungsfeld des in dem RCSR-Register gespeicherten vorliegenden Mikrobefehls und der drei oberen Bits der Adresse vorgenommen, die in dem MIC-Register gespeichert ist. Dies ermöglicht I6fache Verzweigungen. In der vierten Stellung
030025/0769
wird die Verkettung der zwei niederwertigen Nullen mit den vier Bits von dem Vektorverzweigungsregister RVBO sowie mit den vier höchstwertigen Bits des Verzweigungsadressenfeldes des vorliegenden Mikrobefehls und mit den drei oberen Bits der vorliegenden Adresse ausgewählt, die in dem MIC-Register gespeichert ist. Dies ermöglicht I6fache Verzweigungen in den drei Steuerspeicherplätzen zwischen jedem benachbarten Bestimmungsadressenpaar.
In der fünften Stellung wird die Verkettung der zwei niederwertigen Nullen mit zwei Bits von dem Vektorverzweigungsregister RVB1 sowie mit den sechs Bits der Verzweigungsadresse des gerade vorliegenden Mikrobefehls und den oberen drei Bits von dem MIC-Register her ausgewählt. Dies ermöglicht Verzweigungen mit vier möglichen Bestimmungen bei drei Steuerspeicherplätzen zwischen dem jeweiligen benachbarten Bestimmungsadressenpaar.
in der sechsten Stellung wird die Verkettung der zwei niederwertigen Nullen mit zwei Bits von dem Vektorverzweigungsregister RVB2 her sowie mit den sechs Bits der Verzweigungsadresse des gerade vorliegenden Mikrobefehls und den oberen drei Bits von dem MIC-Register her ausgewählt. Dies ermöglicht vierfache Verzweigungen bei drei Steuerspeicherplätzen zwischen dem jeweiligen benachbarten BeStimmungsadressenpaar.
Die Ausgangssignale des Schalters 701-12 adressieren einen bestimmten Speicherplatz innerhalb des Steuerspeichers 701-2, der das Auslesen eines Mikrobefehlswortes mit einem in Fig. 6b dargestellten Format hervorruft. Aus Fig. 6b geht dabei hervor, daß dieses Mikrobefehlswort derart codiert ist, daß es eine Anzahl
030025/0769
von unterschiedlichen Feldern umfaßt, die dazu herangezogen werden, die verschiedenen Funktionseinheiten innerhalb des Prozessors 700 zu steuern. Dabei werden hier lediglich diejenigen Felder beschrieben, die sich auf die vorliegende Ausführungsform beziehen.
Bits 0-1 Für zukünftige Verwendung
reserviert
Bit 2 EUFMT Definiert das Format, mit
dem EU beschrieben wird. Durch EUFMT-O ist ein erstes Mikrobefehlsformat festgelegt, während durch EUFMT=I ein anderes Mikrobefehlsformat definiert ist, Bits 3-5 TRL TR bedeutet bei niedrigem
Pegel eine Schreibsteuerung. Schreibsteuerung der EU-Kurzzeitregister TR0-TR3.
Bits 6-8
OXX Keine Änderung Keine Änderung
100 Schreiben TRO Schreiben TR4
101 Schreiben TR1 Schreiben TR5
110 Schreiben TR2 Schreiben TR6
111 Schreiben TR3 Schreiben TR7
TRH TR mit hohem Pegel bedeutet
Schreibsteuerung
Schreibsteuerung der EU-Kurzzeit-
Register TR4-TR7.
OXX
100
101
110
111
Bits 9-12 ZOPA ZOPA-Schaltersteuerung
030025/0769
Auswahl des Ausgangssignal des ZOPΑ-Schalters.
0) 0000 TRO
1 ) 0001 TR1
2) 0010 TR2
3) 0011 TR3
4) 0100 TR4
5) 0101 TR5
6) 0110 TR6
7) 0111 TR7 8-11) 10XX RDI
12) 1100 ZEB
13) 1101 ZEB
14) 1110 ZEB
15) 1111 0 (.unwirksam).
Bits 13-16 ZOPB ZOPB-Schaltersteuerung.
Auswahl des Ausgangssignal des
ZOPB-Schalters.
Bits 17-18 ZRESA ZRESA-Schaltersteuerung.
Auswahl des Ausgangssignal des
ZRESA-Schalters.
00 Rechen- und Verknüpfungswerk
01 Verschiebeeinrichtung
0O Notizblockspeicher/RDI-Schalter
11 ZDO
Bits 19-20 Z.RESB ZRESB-Scnaltersteuerung.
Auswahl des Ausgangssignals des ZRESB-Schalters.
00 Rechen- und Verknüpfungswerk
01 Verschiebeeinrichtung
10 Notizblockspeicher/RDI-Schalter
11 ZDO
Bit 21 RSPB Notizblockspeicher-Pufferabtast
steuerung. Abtasten von RSPB mit ZRESB-Daten
0 keine Abtastung
1 Abtasten von RSPB 030025/0769
Bit 22 RSP Notizblockspeicher-Schreib
steuerung.
0 Lesen des Notizblockspeichers
1 Schreiben des Notizblockspeichers
Bit 23 ZSPDI Notizblockspeicher/RDI-Schalter-
steuerung
Auswahl des Ausgangssignals des Notizblockspeicher s/RDI-Schalte rs
0 Notizblockspeicher-Ausgangssignal
1 RDI
Bits 24-25 ZSHFOP Verschieben der Operanden-Schalter steuerung
Auswahl des linken Operanden für die Verschiebeeinrichtung
00 ZOPA-Ausgangssignal
01 EIS-Ausgangssignal
10 0
11 Auswahl von 0 oder -1 in Abhängigkeit vom Bit 0 des rechten Operanden für die Verschiebeeinrichtung
Bits 24-27 Rechen- und Verknüpfungswerk
ALU (Rechen- und Verknüpfungswerk)-
Funktionssteuerung
Auswahl der Operation, die bezüglich
der beiden Eingangssignale (A und B)
für das Rechen- und Verknüpfungswerk
anzuwenden sind.
Bits 24-29 N/a
Bits 26-31 RFU Für zukünftige Verwendung
reserviert
Bits 30-31 ZALU ALU-Schaltersteuerung
Auswahl des Ausgangssignals des ZALU-Schalters
030025/0769
29A9571
/ft 9
Bits 32-33 NXTD Nächste Deskriptorsteuerung
Abtasten der RBASB und RDESC-Register
00 RBASB 00 RDESC 01
01 RBASB 01 RDESC 01
10 RBASB Alt RDESC 10
11 Keine Abtastungen (nicht eingehalten) Bits 32-35 CCM Steuer-Konstantenfeld auf das
durch das CONTF-FeId Bezugjgenommen
wird
Bits 34-35 IBPIPE IBUF/Pipeline-Steuerung
Auswahl des Lesens von IBUF oder der Pipeline-Operation
00 Keine Operation
01 Lesen von IBUF/ZDI (Alt)
10 Typ 1 einer Neustart-Auslösung oder
11 Typ 4 Neustart-Warten Bits 36-37 FMTD
Auswahl des Ladens der verschiedenen der CU-Register und Anzeige der Interpretation, die dem MEMADR-FeId für eine geringe CU-Steuerung zu geben ist.
00 Keine Operation
01 RADO ASFA
10 RADO ZRESB
11 RADO ASFA
Bits 38-40 MEMADR Cachespeichersteuerung
Auswahl der Cachespeicheroperationen. Die vollständige Interpretation bezüglich dieser Steuerung ist eine Funktion der FMTD-Steuerung.
000 Keine Operation
001 Einfachlesen 010 Vierer-Ladung
030025/0769
011 Vor-Leson
100 Einzel-Schreiben
101 Doppel-Schreiben
110 Einzel-Leseübertragung (lediglich bei FMTD =11)
111 Einzelwort-Schreiben (lediglich bei FMTD = 11J
Bit 41 ZONE Zonensteuerung
Hierdurch wird eine Zone oder keine Zone für eine geringe CU-Steuerung angezeigt.
0 Keine Zone
1 Zone
Bits 42-44 TYPA Typ-A-Kennzeichen
Hierdurch wird angezeigt, daß der den
Feldern überlagerte Typ A verwendet
wird.
000 Typ—A=O-Felder
100 Typ-A=4-Felder
Bits 44-46 PIPE Pipeline-Steuerung Keine Operation
Auswahl des Typs des auszulesenden Neustart Typ 1 und Auslösung
Neustarts Neustart Typ 2
000 Neustart Typ 3
001 Neustart Typ 4
010 Neustart Typ 5
011 Neustart Typ 6
100 Hilfsregister-Schreib-
101 steuerung
110 eines Hilfsregisters oder
Bits 44-47 AUXREG von Registerkombinationen,
Auswahl
030025/0769
Bits 45-4b
die mit Daten abzutasten sind, welche durch das AUXIN-Steuerfeld ausgewählt sind.
O) 0000 Koine Abtastung Felder benutzt werden.
D 0001 RRDXA Typ-B=O-Felder
2) 0010 R29
3) 0011 R29,PRDXA,FRL,RID
4) 0100 RRDXB
5) 0101 RTYP
6) 0110 RBASA
V) 0111 RBASA, RTYP
8) 1000 RBASB
9) 1001 RD]SSC
10) RBASA, R29, RRDXA
TYPB Kennzeichentyp B
Hierdurch wird angezeigt, daß vom Typ B
überlagerte
OO
11 Typ-B=3-Felder Bit 47 RSC RSC-Abtaststeuerung
Abtasten des RSC-Register (Verschieben
der Zählerstellung) Bit 47 RSPA RSPA-Abtaststeuerung
Abtasten des RSPA-Registers Bits 47-48 N/A
Bit 47 RAAU RAUU-Abtaststeuerung
Abtasten des RAAU-Registers Bits 48-49 ZLX ZLX-Schaltersteuerung
Auswahl des Ausgangssignals des
ZLX-Schalters
Bits 48-49 ZSPA ZSPA-Schaltersteuerung
030025/0769
Auswahl des Ausgangssignal des
ZSPA-Schalters
Bits 48-50 AUXIN Hilfsregister-Eingabe-
steuerung
Auswahl der in dem/den Hilfsregister(n)
abzutastenden Daten Bit 49 ZADSP ZADSP-Schaltersteuerung
Auswahl des Ausgangssignals des
ZADSP-Schalters
Bits 50-52 ZSC ZSC-Schaltersteuerung
Auswahl des Ausgangssignals des
ZSC-Schalters
Bits 50-52 ZRSPA ZRSPA-Schaltersteuerung
Auswahl des Ausgangssignals des
ZRSPA-Schalters
Bits 50-52 ZAAU ZAUU-Schaltersteuerung Bit 51 RSIR RSIR-Registerabtastung
Abtasten des RSIR-Registers als
Funktion des AUXIN-Feldes Bit 53 RDW R1DW, R2DW-Registerabtastung.
Abtasten des R1DW- oder R2RW-Registers
als Funktion des RDESC-Registers Bits 53-54 ZLNA ZLNA-Schaltersteuerung.
Auswahl des Ausgangssignal des ZLNA-
Schalters.
Bits 54-57 CONTF Verschiedene Flipflop-Steuerung
Auswahl einer Gruppe von vier Gruppen
von Steuer-Flipflops, die durch das
Steuerungs-Konstantenfeld (CCM) zu
setzen oder zurückzusetzen sind.
Die Flipflops umfassen jene Flipflops
der Blöcke 704-104 und 704-110. Bits 55-56 ZLNB ZLNB-Schaltersteuerung.
Auswahl des Ausgangssignals des ZLNB-
Schalters.
Bits 55-56 ZSPA(2) Typ A=2, ZSPA-Schalter,
RSPA-Registersteuerung.
03Q025/0769
Auswahl des Ausgangssignals des ZSPA-Schalters und Abtasten des RSPA-Registers.
Bits 57-58 ZPB ZPB-Schaltersteuerung.
Auswahl des Ausgangssignals des ZPC-Schalters.
Bits 59-62 ZXP ZXP-Schalter, RXP-Register,
Bankensteuerung.
Auswahl des Ausgangssignals des ZXP-Schalters und des RXP-Registers, in das einzuschreiben ist.
Bits 59-63 ZLN(IJ ZLN-Schalter, RLN-Register
(Typ A=1J Bankensteuerung Auswahl des Ausgangssignals des ZLN-Schalters und des RLN-Registers, in das eingeschrieben wird.
Bits 59-60 ZPA ZPA-Schaltersteuerung.
Auswahl des Ausgangssignals des ZPA-
Schalters.
00 = RPO
11 = RP3
Bits 61-62 ZPB ZPB-Schaltersteuerung
Auswahl des Ausgangssignals des
ZPB-Schalters.
00 = RPO
11 = RP3
Bits 63-64 ZXPL ZXPL-Schaltersteuerung
(Typ A=O)
Auswahl des Ausgangssignals des ZYPL-Schalters.
030025/0769
OO = RXPA
11 = RXPD
Bit 63 ZLNC2) ZLN-Schalter, RLN-Register
(Typ A=2) Bankensteuerung Auswahl des ZLN-Schalterausgangssignals und des RLN-Registers, in das eingeschrieben wird.
Bits 63-66 RDIN RDI-Eingabesteuerung.
Auswahl der in das RDI-Register zu tastenden Daten und Auswahl eines der Modifikations-Steuerfelder (MF1-MF3, TAG) eines Befehlswortes. Die RDI-Abtastung kann auch durch das MISCREG-FeId gesteuert werden.
Bit 64 ZXPL(I) ZXPL-Schaltersteuerung.
(Typ A=1)
Auswahl des Ausgangssignals des ZXPL-Schalters.
Bits 64-68 ZRPAC ZRAP-Schalter, ZAPC-Schalter,
(Typ A=2), HPO-3-Registerbankensteuerung.
Auswahl der Ausgangssignale des ZRPC- und ZRPA-Schalters und des RPO-3-Registers, in das das ZRPA-Ausgangssignal eingeschrieben wird.
Bits 65-66 ZXPR ZXPR-Schaltersteuerung.
(Typ A=O)
Auswahl des Ausgangssignals des ZXPR-Schalters.
Bits 65-66 ZXPU) ZXP-Schalter, RXP-Register
(Typ A= 1) Banksteuerung Auswahl des Ausgangssignals des
030025/0769
ZXP-Schalters und des RXP-Registers, in welches das Ausgangssignal eingeschrieben wird.
Bits 67-68 ZPD ZPD-Schaltersteuerung.
(Typ A=O)
Auswahl des Ausgangssignals des ZPD-Schalters.
Bit 67 ZPAC(4) ZRPA-Schalter,
ZRPC-Schalters,
(Typ A=4) RPO-3-Registerbank-
steuerung
Auswahl von CP4 vom ZRPA-Schalter und Abtasten des RP1-Registers.
Bit 67 TYPD Typ D-Kennzeichen
Typ D-Kennzeichen zeigt D überlagerte Felder an.
Bit 68 ZRPB(4) ZRPB-Schalter, RP4-7 Register,
Banksteuerung
(Typ A=4)
Auswahl der O vom ZRPB-Schalter und Abtasten des RP4-Registers.
Bits 68-71 MEM Cachespeichersteuerung.
Auswahl der Cachespeicheroperation in Verbindung mit der SZ-Steuerung. 0) 0000 Keine Operation
15) 1111 Fern-Schreiben Bits 68-70 IBUF IBUF-Lesesteuerung.
Auswahl der Bestimmung der IBUF-Daten, wenn IBUF gelesen wird. Bits 69-73 AXP ZXPA-Schalter, ZXPB-Schalter,
(Typ A=O) AXP-Addierer, ZAXP-Schalter, RE-Registersteuerung.
03002&/0769
Auswahl der Ausgangssignale des ZXPA- und ZYPB-Schalters, bezüglich der die AXP-Addiererfunktion ausgeübt wird, und des Ausgangssignals des ZXP-Schalters. Ferner Abtasten des RE-Registers.
Bits 69-73 ZRPB ZRPB-Schalter, Register RP4-7
Bankensteuerung (Typ A=1) Auswahl des Ausgangssignals des ZRPB-Schalters und des RP4-7-Registers, in das das betreffende Ausgangssignal eingeschrieben wird.
Bits 69-71 ZRPAC-3 ZRPA-Schalter, ZRPC-Schal-
ter RPO-3 Registerbanksteuerung (Typ A=O)
Auswahl der Ausgangssignale des ZRPC- und ZRPA-Schalters und des Registers RPO-O, in welches das ZRPA-Ausgangssignal eingeschrieben wird.
Bits 72-74 ZRPB(3) ZRPB-Schalter, Register RP4-7,
Banksteuerung (Typ =3) Auswahl des Ausgangssignals des ZRPB-Schalters und des Registers RP4-7, in welches dieses Ausgangssignal eingeschrieben wird.
Bits 72-73 SZ Größen/Zonen-Cachespeichersteuerung.
Die Steuerung der Cachespeicheroperationen erfolgt in Verbindung mit den MEM-Steuerfeld.
Bits 74-78 ZRPB(3) ZRPB-Schalter, Register
RP4-7-Register
Bank-steuerung (Typ A=O) Auswahl des Ausgangssignals des ZRP-Schalters und des Registers RP4-7,
030025/0769
in welches das betreffende Ausgangssignal eingeschrieben wird.
Bits 74-78 AL ZALA-Schalter, ZALB-Schalter,
AL-Addierersteuerung (Typ A=1) Auswahl der Ausgangssignal des ZALA-Schalters und des ZALB-Schalters und der AL-Addiererfunktion, die bezüglich dieser Ausgangssignale angewandt wird.
Bits Tk TYPE Typ E-Kennzeichen
Das Kennzeichen des Typs E zeigt den Feldern überlagerten Typ E an.
Bits 75-77 ZXP(3) ZXP-Schalter, RXP-Register-
bank_steuerung (Typ A=3) Auswahl des ZXP-Schalterausgangssignals und des RXP-Registers, in welches das betreffende Ausgangssignal eingeschrieben wird.
Bits 75-78 MISCiIEG Verschiedene Register
steuerung.
Auswahl von verschiedenen Operationen in verschiedenen Registern (z.B. RBIR, RDI, RLEN, RSPP).
Bits 75-78 ZDO ZDO-Schaltersteuerung.
Auswahl des Ausgangssignals des ZDO-Schalters.
Bit 78 ZIZN ZIZN-Schaltersteuerung.
Auswahl des Ausgangssignals des ZIZN-Schalters.
Bits 79-03 AP ΖΑΡΑ-Schalter, ZAPB-Schalter,
AP-Addierersteuerung.
Auswahl des ZAPA- und des ZAPB-Schalterausgangssignals und der AP-Addiererfunktion, die auf diese Ausgangssignale angewandt wird.
Bits 79-81 ZLN(3)
(Typ A=3) ZLN-Schalter,
030025/0769
-yyf- 29A9571
RLN-Registerbanksteuerung. Auswahl des ZLN-Schalterausgangssignals und des ZLN-Registers, in welches das betreffende Ausgangssignal eingeschrieben wird.
Bits 79-83 ZLN(4J
(Typ A=4) ZLN-Schalter, RLN-Registerbanksteuerung.
Auswahl des ZLN-Ausgangssignals und des RLN-Registers, in welches das betreffende Ausgangssignal eingeschrieben wird.
Bits 80-81 RAAU RAAU/RJS-Registerabtastung.
Auswahl der in die Register RAAU und RiD durch Steuern verschiedener Schalter und Addierer in der Einheit 722 einzutastenden Daten.
Bits 82-83 AP(3) ΖΑΡΑ-Schalter, ZAPB-
(Typ A=3) Schalter, AP-Addierersteuerung.
Auswahl der ZAPA und ZAPB-Schalterausgangssignals und der auf diese angewandten AP-Addiererfunktion.
Bit 84 ZRSC ZRSC-Schaltersteuerung.
(Typ A=O)
Auswahl des Ausgangssignals des ZRSC-Schalters.
Bits 85-86 N/A
Bit 86 RLEN RLEN-Abtaststeuerung.
(Typ A=3)
Die RLEN-Abtastungen werden ferner durch Hardware oder durch MISCREG-FeId gesteuert.
Bit 87 FMT Format-Kennzeichen, welches
den Formattyp anzeigt.
030025/0769
Bits 88-89 TYPF
Zeigt den Typ der Uberlagerungsfelder an.
Bit 90 Bits 90-93
00 - Notizblockspeicheradresse zukünftige Verwendung CHROP Zeicheneinheitsoperations- 0000 Keine Operation
01 = Zeicheneinheit-Steuerung reserviert code. 0001 Laden von Daten
10 = Multiplikations/Divisions- % Hauptoperation, die von 0010 MOP-Ablauf
Steuerung Auswahl der Zeicheneinheit auszuführen ist, 0011 Einzelvergleich
11 = N/A der der Interpretation, die dem 0100 Doppelvergleich
RFU Für und CHSUBOP-FeId zu geben ist. 0101 Registerladen
0) 0110 Aktualisieren von CN
D 0111 Undefiniert
2) 1000 Setzen der RCH-Operation A
3) 1001 Setzen von RTF1
4) 1010 Setzen von RTF2
5) 1011 Setzen von RTF3
6) 1100 Setzen von RCN1
7) 1101 Setzen von RCN2
8) 1110 Setzen von Aufbereitungs
9) kennzeichen
10) 1111 Löschen der CH-Einheit
11) RCH-Registerabtastung
12)
13)
14)
15)
RCH
Bit 90
Abtasten des OP1-RCH-Registers
Bit 90 RFU Für zukünftige Verwendung
reserviert.
030025/0769
Bits 91-97
Bits 91-93
Bits 94-97
SPA Notizblockspeicheradresse. Sie enthält die Adresse, die zur Adressierung des EU-Notizblockspeichers verwendet werden kann. N/A
CHSUBOP Zeicheneinheits-Sub-
operationscode.
Auswahl der detaillierten Funktion der Zeicheneinheit; oder sie können eine Konstante enthalten. Die Interpretation dieses Feldes ist eine Funktion der CHROP-Steuerung, wie dies weiter unten gezeigt wird. CHROP = OQOQ Keine Operation CHSUBOP0-3
XXXX Keine Interpretation CHROP = 0001 Laden der Datenoperation
CHSUBOP0-1 (Suboperation)
00 Operation 1 Laden durch
CN1 und FT1
01 Operation 1 Laden in
umgekehrter Richtung
durch CN1 und TF1
10 Operation 2 Laden durch
CN2 und TF2 und Testzeichen
11 Laden des Vorzeichens
CHSUBOP2-3 (.Füllsteuerung)
1X Füllzeichen geladen in
ZCU
X1 Füllzeichen in ZCV geladen
CHROP =0010 MOP-Ausführungsoperation
CHSUBOP0-1 (Suboperation)
OO MOP durch CN2 gesetzt
01 MOP-Ablauf
10 Undefiniert
11 Undefiniert
030025/0769
Bit 99
Bits 99-106
Bits 99-106
Bits 99-106
CHUBOP2-3
XX
CHROP =0101 Keine Interpretation Laderegisteroperation
CHSUBOP
0-1
CHSUBOP
2-3 (,Auswahl des Ausgangssignals von RCH)
(,Auswahl des Ausgangssignals des ZOC-Schalters)
CHROP = 1011 Setzen der RTF3-0peration
CHSUBOP
0-1
CHSUBOP2 , CHROP = 1110 (Auswahl von Daten, die auf 00 zu überwachen sind, Anzeige eines 9-Bit-Zeichens) (.Konstantenfeld)
Setzen der Bearbeitun/^s-
CHSUBOP
0-3
IXXX
X1XX
XX1X
XXX1
Bits 9^-97 RFU
Bits 97-97 N/A
Bit 98 TYPC
kennzeichenoperation (Zu setzende Konstanten-Auswahlkennzeichen) Setzen von ES (Endunterdrückung)
Setzen von SN (Vorzeichen) Setzen von Z (Null) Setzen von BZ (leer wenn Null) Für zukünftige Verwendung reserviert
Kennzeichentyp G Dies zeigt den Typ der überlagerten Felder an.
0 = BRADRU-FeId
1 = IND6-Feld
GO Zustand des Bedingungs-
verzweigungstestes
BRADRU Obere Verzweigungsadresse IND6FLD Anzeigesteuerung Auswahl einer Anzeige.
Bit 99 = 0 legt einen Änderungsanzeigebefehl fest.
030025/0769
Bit 99 = 1 legt einen Setz/Rücksetz-Anzeigebefehl fest (Setzen oder Rücksetzen wird durch das X-Bit als 0 oder 1 angezeigt)
Bits 100-104 105=1 106=1 0000
1100X Ausgabe 1 Ausgabe 2
1101X Ausgabe 3 N/A
1110X Ausgabe 1 Ausgabe 2
Ef f. Ef f.
Bits 107-112 BRADRL Untere Verzweigungsadresse,
die den unteren Teil einer für eine Verzweigung benutzten ECS-Adresse enthält.
Bit 113 EXIT Auswahl der Ausgangs-Schalter
steuerung.
Die Auswahl des Ausgangs zeigt das Ende eines Mikroprogramms an.
Bits 114-116 ZCSBRA ZCSBRA-Schaltersteuerung.
Hierdurch wird die Position ausgewählt, die in einem Steuerspeicher-Verzweigungsadressenschalter auszuwählen ist.
Bits 117-118 N/A
Bits 119-123 INDGRP Bedingungs-Verzweigungs-Anzeige-
Grupp e nst eue rung.
Die ersten beiden Bits (119-120) wählen die "Gruppe" der Mikroprogrammanzeigen aus. Die letzten drei Bits (121-123) wählen das "Setzen" der Anzeigen innerhalb jeder "Gruppe" aus.
Bit 124 TYPH Typ H-FeId, welches vom Typ H
überlagerte Felder anzeigt.
030025/0769
0 = INDMSKU
1 = VCTR-FeId
Bits 125-128 INDSMSKU Obere Bedingungs-Ver-
zweigungsanzeigemaske. Sie enthält die oberen vier Bits der Anzeißenmaske im Feld des Typs H =0.
Bits 125-129 VCTR Vektorauswahl.
Auswahl der Verzweigungsvektoren, die in die Register RVBO, RVB1 und RVB2 zu tasten sind. Das Bit (125) höchster Wertigkeit bestimmt, welche der beiden Gruppen 0 oder 1, 2 oder 3 bzw. 4 oder 5 in di·; Register RVBO, RVB1 bzw. RVB2 getastet wird. Die übrigen drei Bits wählen den Vektor innerhalb der jeweiligen Gruppe aus.
Bits 129-132 INDMSKL Untere Bedingungs-Verzweigung sanzeigemaske .
Es werden die vier niederen Bits der Anzeigemaske umfaßt.
Bits 133-135 N/A
Bits 136-139 CNSTU Obere Konstante;
umfassen die oberen vier Bits des Konstantenfeldes.
Bits 140-143 CNSTL Untere Konstante. Sie
umfassen die unteren vier Bits des Konstantenfelde s.
030025/076?
Im folgenden wird die Steuerlogikeinheit 704-1 näher erläutert. Diese Einheit umfaßt die Ablauf-Decodierverknüpfungsschaltungen 704-100,wie sie bereits erwähnt worden sind und deren Ausgangssignale einer Vielzahl von I-Zyklus-Steuerzustands-Flipflops des Blocks 704-102 zugeführt werden. Diese Flipflops erzeugen auf das Auftreten von Signalen von den Schaltungen 704-100 her sowie auf Mikrobefehlssignale von dem Register 701-4 (DMEMR038-40, die dem MEM-Adressenfeld MEMADR gemäß Fig. 6b entsprechen« die verschiedenen geforderten I-Zyklus-Steuerzuständen, die bezüglich der Ausführung von Programmbefehlen erforderlich sind. Es ist angenommen, daß der Block 704-102 ferner Verknüpf ungsschaltungsn aufweist, die Register-Haltesignale erzeugen (HOLDEOO, die in dem Prozessor 700 verteilt werden) .
Wie aus Fig. 3c ersichtlich ist, nehmen die I-Zyklus-Steuerzustands-Flipflops Steuereingangssignale über Steuerleitungen, einschließlich einer Leitung CPSTOPOO, von der CacheSpeichereinheit 750 her auf. Wie hier erläutert, bestimmt der Zustand der CPSTOPOO-Leitung, ob die Prozessoroperation fortgesetzt wird, wenn die Leitung ein Binärsignal 0 führt. Die Halte- oder Freigabesignale für die I-Zyklus-Steuerzustands-Flipflops und die anderen Speicherregister werden ebenfalls in den Nullzustand gebracht. Die Haltesignale, die den Signalen HOLDIOO und HOLDEOO entsprechen, werden in dec Weise verarbeitet, daß der Zustand des Prozessors 700 festgehalten oder gehalten wird. Da keine Erhöhung der Steuerspeicheradresse stattfinden kann, liest der ECS-Steuerspeicher dasselbe Mikrobefehlswort aus. Die Signale HOLDI und HOLDE werden in Übereinstimmung mit den folgenden Booleschen Ausdrücken gesetzt: HOLDI = CACHE HOLD + TERMB (DREQ-IF-DIR) + HOLD REL, wobei der Zustand des Signals CACHE HOLD dem Zustand des Signals CPSTOP entspricht und wobei die Signale TERMB (DREQ-IF-DIR)
030025/0769
Binärsignale 1 während des Steuerzustands FPOA sind, wenn der Cachespeicherbefehl eine I-Aufruf- oder direkte Operation spezifiziert und das Signal HOLD REL ein Binärsignal 1 ist, bis es zu einem Binärsignal 0 durch die Erzeugung eines Mikroprogramm-Auslösesignals umgeschaltet wird. Ferner ist HOLD >J = HOLD I.
Wie aus Fig. 3c hervorgeht, werden den I-Zyklus-Steuerungszuständen entsprechende Signale als Eingangssignale einer Vielzahl von Steuerungs-Flipflops des Blocks 704-104, den Decoderschaltungen des Blocks 704-106, einer Anzahl von Steuerverknüpfungsschaltungen des Blocks 704-108 und einer Vielzahl von Steuerkennzeichen-Flipflops des Blocks 704-110 zugeführt. Außerdem dürfte ersichtlich sein, daß die verschiedenen Anzeige-Flipflops des Blocks 704-110 Mikrobefehls-Eingangssignale über die Leitungen MEMDO54-57 von der AbiaufSteuereinheit 701-4 her aufnehmen.
Wie aus Fig. 3c ersichtlich ist, fallen die durch die Harware-Steuerverknüpfungsschaltungen 704-108 erzeugten Signale in eine von drei Gruppen, und zwar als Funktion der Einheiten, deren Operationen gesteuert werden. Dies bedeutet, daß die Gruppen gegeben sind durch die Befehls-
030025/0769
puffersteuerung, durch die Hardwaresteuerung und die Hardwarespeiehersteuerung.
In jedem Falle wird jede Gruppe von Signalen odermäßig mit entsprechenden bzw. äquivalenten Signalen zusammengefaßt, die von anderen Quellen erzeugt werden, und sodann erfolgt eine Decodierung. Die anderen Quellen entsprechen den Feldern innerhalb der beiden unterschiedlichen Formate des Mikrobefehlswortes gemäß Fig. 6a, die von dem ECS-Ausgaberegister 701-4 in das RCSR-Register 704-112 geladen werden.
Ein.Feld entspricht den Bits 32-83 des einen Formates (CU lang), und ein anderes Feld (CU kurz) entspricht den Bits 32-41 eines anderen Formats. Diese Felder werden durch den Decoder 704-114 in die Sätze der bezeichneten Bits decodiert und in den Decodern 704-116, 704-124, 704-126 und 704-128 kombiniert. Eine weitere Decodierung wird durch die Schaltungen der Blöcke 704-118, 704-135 und 704-120 vorgenommen. Die Ergebnisse der Decodierung derartiger Felder werden entweder in dem Prozessor 700 verteilt, oder aber sie werden in einem RMEM-Register 704-130, einem RSZ-Flipflop 704-132, einem FREQDIR-Flipflop 704-136 und einem FREQCAC-Flipflop 704-134 gespeichert.
Eine zusätzliche Decodierung der langen und kurzen CU-Felder und Signale von den I-Zykluszustands-Schaltungen des Blocks 704-112 erfolgt über einen Decoder 704-106 und einen Decoder 704-107. Der Decoder 704-106 erzeugt Steuersignale zum Laden unterschiedlicher Register der vorgesehenen Register und zur Freigabe verschiedener Multiplexer-Auswahlschalter innerhalb des Prozessors 700. Der Decoder 704-107 arbeitet in der Weise, daß er Signale zum Setzen eines Paares (RBASB) der Basiszeiger-B-Flipflops 704-144 erzeugt. Andere Kombinationen dieser Signale werden zum Setzen bzw. Zurücksetzen der Deskriptor-
030025/0769
nummer-Flipflops der Blöcke 704-140 und 704-142 herangezogen.
Aus Fig. 3c geht hervor, daß der Decoder 704-116 ein Steuersignal EXHOO aufnimmt, welches von den Decoderschaltungen des Blocks 704-117 erzeugt wird. Diese Schaltungen nehmen Signale von dem RDESC-Register 704-140 her auf sowie Signale von den Abgabe-Flipflops des Blocks 701-1. In Übereinstimmung mit den Zuständen dieser Signale geben die betreffenden Schaltungen das Signal EXHOO als Binärsignal 0 ab, um die Erzeugung eines Cachespeicherbefehls auf das Auftreten eines Ausgabezustands hin zu sperren. Das Signal EXHOOO wird in Übereinstimmung mit folgendem Boolschen Ausdruck erzeugt.
EXHOOO = DESCO · FE11 + DESC1 . FE2 + DESC2 . FE3.
Das Flipflop FNUM wird normalerweise auf das Auftreten des CCS-OP-Feldes des Mikrobefehlswortes hin gesetzt. Wenn das betreffende Flipflop in den Binärzustand 1 gesetzt ist, zeigt dies an, daß der verarbeitete Deskriptor vom Zifferntyp bzw. numerischen Typ ist.
Im Folgenden werden die verschiedenen Flipflops des Blocks 704-104 im einzelnen erläutert. Das Flipflop FCHAR ruft dabei im einzelnen Änderungen in der Steuerung der Adressenerzeugung hervor. Wenn das FCHAR-Flipflop in den Binärzustand 1 während der Verarbeitung sines Ladebefehls gesetzt ist, der eine Zeichenmodifikation spezifiziert, dann wird der Inhalt des RDI-Registers unter dem Einfluß der Hardware-Steuerung nicht geändert. Dies ermöglicht, das RDI-Register mit Daten unter einer Mikroprogrammsteuerung vor dem Beginn der Pipeline-Operation zu laden. Wenn das FCHAR-Flipflop in den Binärzustand 1 während des Vorhandenseins eines Speicherbefehls gesetzt ist, der eine Zeichenmodifikation spezifiziert, dann wird außerdem die Ausführungsadresse für diesen Befehl unter der Hard-
C3C025/0769
steuerung modifiziert, um auf eine eindeutige Adresse der Mikrobefehlsfolge in dem ECS-Steuerspeicher hinzuzeigen, gemäß der dieser Befehlstyp zu verarbeiten ist.
Das Flipflop FDT-FOUR führt zu einer zusätzlichen Steuerung bezüglich des Auslesens des Adreßregisters (ZAR0 ) des Blocks 704-304. Das Flipflop FADR-WD sorgt für eine zusätzliche Steuerung bezüglich des ZDO-Schalters 704-340. Wenn dieses Flipflop in einen Binärzustand gesetzt ist, dann wird in der ZAR-Stellung des ZDO-Schalters eine Wortadresse ausgewählt. Das Flipflop FAD-B bewirkt eine zusätzliche Steuerung bezüglich des ZDO-Multiplexerschalters. Wenn dieses Flipflop im Binärzustand 1 ist, dann wird über die ZAR-Stellung des ZDO-Schalters eine Byteadresse ausgewählt. Das Flipflop FNUM wird normalerweise in Abhängigkeit von dem Feld CCS-OP des Mikrobefehlswortes gesetzt. Wenn das betreffende Flipflop in den Binärzustand 1 gesetzt ist, zeigt dies an, daß der verarbeitete Deskriptor ein solcher vom numerischen Typ ist. Das Flipflop FIG-LEN sorgt für eine zusätzliche Steuerung über das Laden der Register innerhalb der Einheit 722 (Längenregister) und über die Speicheroperationen hinaus . Wenn das betreffende Flipflop in den Binärzustand 1 gesetzt ist, werden die Register RXP und JRLN innerhalb der Einheit 722 von dem RSIR-Register 704-154 während bestimmter Zustände der Prozessorsteuerzustände FROP nicht geladen.
Das Flipflop FINH-ADR sperrt die Operation der Adressen-Bildungseinheit 704-3. Wenn das betreffende Flipflop in den Binärzustand 1 gesetzt ist, umfaßt ein Adressenzyklus (FPOA/FPOP) das Addieren des Inhalts eines eine Effektivadresse enthaltenden Kurzzeit-Speicherregisters REA-T zu Null. Das Register REA-T wird mit der Adresse vor Ausführen eines FPOA-FPOP-Zyklus geladen sein. Das FABS-Flipflop ermöglicht die Erzeugung von absoluten Adressen. Wenn das betreffende Flipflop in den Binärzustand 1 ge-
030025/0769
setzt ist, wird eine 24 Bit umfassende absolute Adresse verwendet. Im Hinblick auf das Kennzeichen oder die Kennzeichnung des Flipflops des Blockes 704-110 sei bemerkt, daß das Flipflop FID dann, wenn es in den Binärzustand 1 gesetzt ist, eine Anzeige darüber liefert, daß eine indirekte Adressenmodifikation während eines Befehls bezüglich des Deskriptors erforderlich ist, der in das RSIR-Register geladen ist.
Das FRL-Flipflop zeigt im gesetzten Zustand (Binärzustand 1) an, daß die Länge in einem Register spezifiziert ist, der dem Befehl zugehörig ist, welcher in die verschiedenen Befehlsregister geladen ist. Die drei Flipflops FINDA, FINDB und FlNDC liefern Anzeigen, die zur Verarbeitung von Befehlen des Speichertyps herangezogen werden. Das Flipflop FINDA wird in einen Binärzustand 1 gesetzt, wenn eine Länge in einem Register spezifiziert ist oder wenn das Flipflop FAFI in den Binärzustand 1 gesetzt ist. Das Flipflop FlNDB wird in einen Binärzustand 1 dann gesetzt, wenn der Deskriptor nicht 9-Bit-Zeichen umfaßt. Das Flipflop FINDC wird in einen Binärzustand 1 gesetzt, wenn der Deskriptor 6-Bit-Zeichen enthält.
Das FAFl-Flipflop wird in einen Binärzustand 1 dann gesetzt, wenn die Prozessorschaltungen feststellen, daß das Anzeigebit 30 des IR-Registers 701-41 in den Binärzustand während der Ausführung eines EIS-Befehls gesetzt war, der kennzeichnend ist für eine Mitten-Befehlsunterbrechung (die erforderlich ist zur Einstellung des Zeigers und der Längenwerte aufgrund der Unterbrechung). Die Flipflops FTRGP, TTNGO und FTRF-TST werden in Verbindung mit Transfer-Befehlen in Binärzustände 1 gesetzt. Das FTRGP-Flipflop liefert insbesondere eine Mikroprogrammanzeige des Gesetztseins in dem Binärzustand 1, wenn die Prozessorschaltungen das Auslesen eines Befehls vom Transfertyp während der Ausführung eines Doppelablauf-(XED)
030025/0769 ORIGINAL INSPECTED
oder eines Wiederhol_ungs-Befehls ermitteln. Das FTNGO-Flipflop liefert eine Mikroprogranimanzeige darüber, daß es im Binärzustand 1 gesetzt ist, wenn die durch die Ablaufsteuereinheit 701 signalisierte Ubertragungsbedingung ein NOGO-Transfer war (was bedeutet, daß der Transfer nicht stattfindet). Das Ausgangssignal dieses Flipflops wird der Leitung NOGO der Schnittstellenschaltung 604 zugeführt. Das Flipflop FTRF-TST dieser Gruppe liefert eine Anzeige, wenn das betreffende Flipflop in den Binärzustand 1 gesetzt ist, wodurch angezeigt wird, daß der von dem Prozessor 700 zuvor ausgeführte Befehl ein Befehl vom Transfertyp war und daß der gerade ausgeführte I-Zyklus vom Vorhandensein eines Transfer-GO-(TRGO)-Signals von der Steuereinheit 701 her abhängt.
Die Schaltungen des Blockes 704-110 umfassen darüber hinaus eine Anzahl von Flipflops, die zur Ausführung von indirekten Adressierungsoperationen unter einer fest verdrahteten Steuerung ausgenutzt sind, und zwar für andere Befehle als für die EIS-Befehle. Diese Flipflops umfassen die Flipflops FIR, FIRT, FIRL und FRI, die in die Binärzustände 1 als Funktionen unterschiedlicher Arten von indirekten Adressierungsmodifikationen gesetzt werden, die auszuführen erforderlich ist. So signalisiert beispielsweise das FRI-Flipflop einem Register sodann eine indirekte Adressenmodifikation, und das betreffende Flipflop wird in einen Bimrzustand 1 umgeschaltet, wenn eine indirekte Registeranzeige (RI) durch ein Binärsignal 1 gegeben ist. Das FRI-Flipflop wird in einen Binärzustand dann umgeschaltet, wenn eine indirekte Registeranzeige (IR) als binäre 1 auftritt. Dieses Flipflop signalisiert den Beginn einer indirekten, sodann erfolgenden Registeradresseamodifikation. Das FIRL-Flipflop wird dann in einen Binärzustand 1 umgeschaltet, wenn bei indirektem Betrieb eine indirekte Zähleranzeige (IT-I) eine binäre 1 ist. Dieses Flipflop signalisiert eine letzte indirekte
-£30 025/07-6 9-ORlGlNAL INSPECTED
Operation. Lin weiteres Flipflop TSX2 liefert eine Anzeige, die bei der Verarbeitung eines Transfers herangezogen wird, und setzt Indexbefehle, während ein Flipflop STR-CPR im Zuge der Verarbeitung von Speicherbefehlen ausgenutzt wird.
Wie aus Fig. 3c ersichtlich ist, werden die Ausgangssignale von den Steuerkennzeichen-Flipflops des Blockes 704-110 als Eingangssignale an die Verzweigungsanzeigeschaltungen des Blockes 700-1 abgegeben. Außerdem werden die Ausgangssignale von den Steuerkennzeichen-Flipflops als Eingangssignale den I-Zyklus-Flipflops des Blockes 704-102 zugeführt.
Im folgenden wird der Registerbereich 704-150 näher erläutert. Wie aus Fig. 3c hervorgeht, umfaßt die Steuerlogikeinheit 704-1 ferner einen Registerbereich 704-150. Dieser Bereich umfaßt das Basisbefehlsregister (RBIR) 704-152, das sekundäre Befehlsregister (RSIR) 704-154, ein Basiszeiger-A-Register (RBASA) 704-156, welches zur Auswahl eines der Adressenregister RARO bis RAR7 des Blockes 704-304 herangezogen wird, ein Leseindexregister A(RRDXA) 704-158, welches zur Auswahl von Indexregistern innerhalb des Bereiches 704-5 (nicht dargestellt) ausgenutzt wird und welches zur Auswahl von Ausgangssignalen des ZDO-Multiplexerschalters 704-340 herangezogen wird, sowie ein Lese-Index-A-Aufbewahrungsregister (RRDXAS) 704-159 und ein Deskriptor-Register (RTYP) 704-160, welches den Typ der Datenzeichen angibt, auf die durch den Deskriptorwert hingezeigt wird (z.B. 9-Bit, 6-Bit, 4-Bit). Der Auswahlbereich 704-150 umfaßt ferner ein 1-Bit-Befehls/EIS-Deskriptorregister, welches mit R29 des Blockes 704-162 bezeichnet ist. Der Zustand dieses Bits in Verbindung mit dem Inhalt des Registers RBAS-A 704-158 wird dazu herangezogen, das bestimmte Adressenregister auszuwählen, welches für die Adressenbildung herangezogen wird. Wenn das Register R29 des
030025/0769
^2, 294957t
Blockes 704-162 in den Binärzustand 1 gesetzt ist, zeigt dies an, daß keine der Adressenregister des Blockes 704-304 während der Adressenbildung herangezogen werden. Die letzten Register des Bereiches 704-150 umfassen ein Daten- bzw. Dateneingaberegister (RDI) des Blockes 704-164 und ein Lese-Indexregister B (RRDXB), welches auf Register hinzeigt, die von der Ablaufeinheit 714 benutzt werden.
Wie aus Fig. 3c ersichtlich ist, wird das RBIR-Register 704-152 über einen in zwei Stellungen einstellbaren Schalter 740-170 geladen, der so geschaltet ist, daß er Signale von den bezeichneten Quellen her aufnimmt (das sind ein Schalter ZIB-B 704-172 und Leitungen ZDI 0-35). Das RSIR-Register 704-154 nimmt in entsprechender Weise Signale von den ZDI-Leitungen und dem Schalter 704-172 her auf. Das RBASA-Register 704-156 nimmt Signale von der ZDI-Leitung 0-2 zusätzlich zu Signalen von einem weiteren Schalter ZBASA des Blockes 704-174 auf. Das RDDXA-Register und das RTYP-Register nehmen Signale von den ZDI-Leitungen sowie von einem Schalter 704-176 und 704-178 her auf, wie dies veranschaulicht ist. Außerdem nimmt das RRDXA-Register Signale von dem RRDXAS-Register 704-159 her auf.
Der Schalter 704-172 ist ein in zwei Stellungen einstellbarer Schalter, der Eingangssignale von den Schaltern ZIB bzw. ZRESB her aus der Cachespeichereinheit 750 bzw. von der Ablaufeinheit 714 her zugeführt erhält. Der Schalter 704-174 ist ein drei Eingänge aufweisender Schalter, der zwei Eingangssignale von den Ablaufeinheiten 714 und das Ausgangssignal des ZIB-Schalters der Cachespeichereinheit 750 her aufnimmt.
Der Schalter 704-176 ist ein vier Eingänge aufweisender Schalter, der zwei seiner Eingangssignale von der Ablaufeinheit 714 und ein einzelnes Eingangssignal von der
030025/0769
29A9571
Cachespeichereinheit 750 zugeführt erhält. In der ersten Stellung des ZRDXA-Schalters 704-176 wird das Ausgangssignal eines ZRDXM-Schalters 704-185 ausgewählt, in einer Stellung dieses Schalters wird ein Kennzeichenfeldwert von den Bitpositionen 5-8, 14-17 und 32-35 des RBIR-Registers 704-152 bzw. von den Bitpositionen 32-35 des RSIR-Registers 704-154 bereitgestellt, was durch den ZIDD-Schalter 704-180 und einen in zwei Stellungen einstellbaren ZMF-Schalter 740-176 ausgewählt wird.
in der zweiten Stellung des Schalters 704-185 wird ein konstanter Wert vom Ausgang des ECS-Ausgaberegisters 704-1 abgegeben (CCM-FeId 32-34). Die von den Leitungen ZIDD 27-35 her Kommenden Signale werden als Eingangssignale an die Steuerkennzeichen-Flipflops des Blocks 704-110 abgegeben. Der Schalter 704-178 nimmt ein Eingangssignal von dem Steuerspeicher 704-2 her auf sov/ie ein Eingangssignal von der Cache Speichereinheit 750 und ein Eingangssignal von der Ablaufeinheit 714.
Das Dateneingaberegister 704-164 nimmt eine Reihe von Eingangsdaten von einem ZIDD-Schalter 704-180 her auf, der in Reihe zu einem ZDIA-Schalter 704-181 liegt, dessen Ausgangssignal ein Eingangssignal für einen weiteren Schalter 704-182 darstellt, welches direkt in das RDI-Register 704-164 geladen wird. Der ZDIA-Schalter 704-181 liefert ein weiteres Eingangssignal an einen drei Eingänge aufweisenden Schalter 704-183, der an den anderen bezeichneten Eingängen Signale von der Cache Speichereinheit 750 und der Ablaufeinheit 714 zugeführt erhält.
Der ZIDD-Schalter 704-180 erhält eine effektive Adresse über den Schalter 704-186 von der Adressenbildungseinheit 704-3 sowie Eingangssignale von dem RBIR-Register 704-152, von dem RSIR-Register 704-154 und von einem in zwei Stellungen einstellbaren ZMF-Schalter 704-187
030025/0769
zugeführt. Die Positionen 18 bis 35 der REA-Stellung des Schalters 704-180 werden, wie veranschaulicht, von dem ZDIA-Schalter 704-181 abgeleitet. Der ZDIA-Schalter 704-181 erhält Signale von den ZDI-Leitungen 0-35 zugeführt sowie einen konstanten Wert, der aus den Eingangssignalen für eine erste Schalterstellung erzeugt wird, und zwar zusätzlich zu Signalen vom Ausgang des ZIDD-Schalters 704-80 und des ZRESB-Schalters in der Ablaufeinheit 714. Der Schalter 704-182 nimmt des Ausgangssignal des ZDIA-Schalters und die Signale von den ZDI-Leitungen 0-35 auf. Das RRDXB-Register 704-189 wird mittels eines in drei Stellungen einstellbaren Schalters 704-188 geladen. Der Schalter nimmt in einer ersten Stellung Signale von einem RREG-Register auf, welches in der Ablaufeinheit enthalten ist. Einen konstanten Wert nimmt der betreffende Schalter von dem Steuerspeicher 701-2 in einer zweiten Stellung auf, und in einer dritten Stellung nimmt er Signale von dem ZIDD-Schalter her auf.
Der Bereich 704-150 umfaßt ferner einen in zwei Positionen einstellbaren Schalter 704-185 sowie ein Notizblockspeicher-Zeigerregister 704-186, dessen Ausgangssignal von der Einheit 722 dazu herangezogen wird, Adressen für einen Zugriff zu dem Notizblockspeicher der Einheit zu bilden. In der ersten Schalterstellung wird ein konstaner Wert bereitgestellt, der unter Hardware-Steuerung ausgewählt wird (FP0A«R29). In der zweiten Schalterstellung wird als Ausgangssignal der Inhalt des RBASA-Registers 704-156 abgegeben. Diese Stellung wird sowohl unter Hardware-Steuerung als auch unter Mikroprogrammsteuerung ausgewählt (d.h. FP0A-R29 oder MISCREG-FeId).
Es sei darauf hingewiesen, daß die erforderlichen Zeitsteuerungs- bzw. Taktsignale für den Betriebsbereich sowie für die anderen Bereiche des Porzessors 700 und der Cachespeichereinheit 750 von zentral angeordneten
Θ30025/0769
2943571
Taktschaltungen geliefert werden. So sind beispielsweise bei der bevorzugten Ausführungsform gemäß Fig. 1 die Taktschaltungen in dem Eingabe/Ausgabe-Prozessorsystem untergebracht. Derartige Taktschaltungen können als in herkömmlicher Weise aufgebaut betrachtet werden; sie können einen quarzgesteuerten Oszillator und Zählerschaltungen umfassen. Die Zeitsteuerungs- oder Taktsignale von den Taktschaltungen her werden in herkömmlicher Weise an die verschiedenen Teile des Systems gemäß Fig. 1 zur Erzielung eines synchronisierten Betriebs verteilt. Aus derartigen Zeitsteuersignalen leiten in dem Prozessor 700 vorgesehene Schaltungen zusätzliche Taktsigriale bei Bedarf ab. Hierauf wird weiter unten im Zusammenhang mit der Erläuterung der Cachespeichereinheit 750 gemäß Fig. 4 eingegangen.
Im folgenden wird die Adressenbildungseinheit 704-1 näher erläutert. Die Adressenbildungseinheit 704-3 umfaßt eine Anzahl von Registern und Addierern. Die Register enthalten eine Anzahl von Basisregistern (d.h. TBASEO bis TBASEB) des Blockes 704-300, die zur Speicherung von Deskriptorwerten eines Befehls verwendet werden, zwei Kurzzeitregister zur Speicherung von effektiven Adressen (TEAO, TEA1) und zwei Befehlszähler (ICBA, ICBB), die in dem Block 704-302 enthalten sind, der zur Adressierung des Befehlspuffers herangezogen wird. Außerdem sind acht Adreßregister (RARO bis RAR7) des Blockes 704-304 während der Adressenbildungsoperationen ausgenutzt. Die Einheit 704-3 umfaßt ferner einen Befehlszähler 704-310.
Die Addierer umfassen den Addierer 704-312, der zur Aktualisierung des Befehlszählers 304-310 über die Schalter 704-311 und 704-314 verwendet wird, sowie zwei Addierer 704-320 und 704-322. Der Addierer 704-322 wird dazu herangezogen, einen effektiven Adressenwert zu erzeugen, der in einem Register 704-342 gespeichert wird und als ein Eingangssignal an die Steuereinheit 704-1
030025/0769
abgegeben wird. Die effektive Adresse wird von einer Anzahl von Quellen erzeugt, die einen ZY-Schalter 704-326, dessen Ausgangssignal über eine Anzahl von UND-Gliedern des Blockes 704-327 abgegeben wird, ausgewählte Adreßregister des Blockes 704-304 oder ausgewählte Kurzzeit-Adreßregir.ter TKAO und TEA1 des Blockes 704-302 umfassen, wobei die Adressenabgabe über einen weiteren Schalter 704-328 erfolgt. Die betreffenden Quellen können aber auch Indexadressignale ZXO-20 von der Einheit 704-5 umfassen. Darüber hinaus wird der Addierer 704-322 dazu herangezogen, den Inhalt des Befehlszählers des Cachespeicher-Befehlspuffers zu aktualisieren.
Wie aus Fig. 3d hervorgeht, werden die Ausgangssignale des Addierers 704-322 außerdem als Eingangssignale dem Addierer 704-320 zugeführt. Der Addierer 704-320 wird dazu herangezogen, den in irgendeinem der Kurzzeit-Basisregister TBASEO bis TBASEB gespeicherten Basiswert mit den Adressensignalen ACSOSO-19 vom Addierer 704-322 her zu kombinieren. Die dadurch erzielten Bits werden als Eingangsgröße einem weiteren Addierernetzwerk 704-320 zugeführt, welches eine Verknüpfungsadresse erzeugt, die über einen Addierer 704-321 an die Leitungen ASFAO-36 abgegeben wird. Dieser Addierer summiert die Operanden-Eingangssignale mit den Ubertrags-Eingangssignalen von den Blöcken 704-300 und 704-320 auf. Die effektive Adresse wird dazu herangezogen, eine absolute Adresse zu erhalten, wenn das System in einem Seiten- bzw. Seitenwechselbetrieb betrieben ist. Da diese Operation für die vorliegende Erfindung nicht wichtig ist, wird sie hier nicht weiter erläutert. Zur weiteren Information bezüglich einer Adressenbildung sei auf die US-PS 39 76 978 hingewiesen.
Die als Kurzzeitregister bezeichneten Zwischenspeicherbasisregister des Blocks 704-300 werden über einen Schalter 704-332 geladen. Der Schalter erhält ein
030025/0769
- i*r- 294957 t
Eingangssignal von der Ablauf einheit 714 und das Ausgangssignal von dem Block 704-300 zugeführt. Die Ablaufeinheit 714 gibt weitere ivLngangssignale an die Register des Blockes 704-302 über einen Schalter 704-334 sowie an die Adreßregister des Blockes 704-304 ab. Ein Ausgangs-Multiplexer-(ZD0)-5chalter 704-340 gibt die Auswahl der verschiedenen Register innerhalb der Adressenbildungseinheit 704-3 und eine Einheit 704-5 für den Transfer der Inhalte der betreffenden Einheiten zu der Ablaufeinheit 714 hin über die Leitungen ZDO 0-35 frei. Außerdem gibt der ZDO-Schalter 704-340 den Inhalt der verschiedenen Register und Steuer-Flipflops der Einheit 704-1 frei, um über eine vierte Stellung (ZDO-A) ausgelesen zu werden. In der fünften Stellung sind die Zustände der verschiedenen Anzeigen innerhalb der Steuerspeicherschaltungen des Blockes 701-1 zum Zwecke einer Auswahl zwecks Überprüfung freigegeben.
Im folgenden wird der Daten/Adreß-Ausgabebereich 704-4 gemäß Fig. 3e näher betrachtet. Dieser Bereich umfaßt die Register und Schalter, die zur übertragung von Befehlen und Daten zu dem Cachespeicher 750 hin verwendet werden. Derartige Transferoperationen erfordern normalerweise zumindest zwei Zyklen, einen zum Aussenden einer Adresse und einen weiteren zum Aussenden der Daten. Die Bits 5-8 eines Befehlswortes werden vom Ausgangssignal eines 4-Stellungs-Schalters 704-40 gewonnen. Dieser Schalter erhält einen ersten konstanten Wert über eine erste Schalterstellung, den Inhalt eines RZN-Registers 704-42 über eine zweite Stellung, einen zweiten konstanten Wert über eine dritte Stellung und einen dritten konstanten Wert über eine vierte Stellung.
Die Bits 1-4 eines Befehls werden von den Schaltungen des Blockes 704-1 einer ODER-Verknüpfungsschaltung 704-44 zusammen mit den Bits 5-8 zugeführt. Das ODER-Glied 704-44 erhält außerdem über einen ZADO-Schalter 704-46 die
030025/0769
Bits 1-8 eines IIADO-Register 704-48 zugeführt. Das RADO-Register 704-48 ist ein Adressen- und Datenausgaberegister, welches in einer ersten Stellung eines ZADOB-Schalters 704-48 eine (virtuelle) Verknüpfungsadresse von der Adressenbildungseinheit 704-3 über die Leitungen ASFAO-35 und Datenausgangssignale von der Einheit 714 über die Leitungen ZRESBO-35 aufnimmt. Die Einstellungen des ZADOB-Schalters 704-48 erfolgen unter der Steuerung des FMTD-Feldes für ein kleines CU-Format und unter der Steuerung des RADO-Feldes im Falle eines großen CU-Formates.
Wie aus Fig. 3e ersichtlich ist, werden entweder die Bits ZZN1-8 oder die ZADO-Bits 1 bis 8 als Ausgangssignale an die RADO/ZADO-Leitungen abgegeben, und zwar als Funktion des Zustands des Steuersignals RADO-ZADO. Die Bits 0 und I führen stets binäre Einsen, während die Bits 10-35 von den RADO-Registern 704-46 geliefert werden.
Eine weitere Information bezüglich der übrigen Bereiche des Prozessors 700 sowie bezüglich der Bereiche gemäß Fig. 3a bis 3e findet sich der eingangs erwähnten anderen Stelle.
Im folgenden wird die Cachespeichereinheit 750 gemäß Fig. 4 näher erläutert. Die Cachespeichereinheit 750 ist in fünf Hauptbereiche unterteilt: Einen Transitpuffer und einen Befehlsschlangenbereich 750-1, einen Cachespeicherbereich 750-3, einen Adreßlisten- und Treffer-Steuerbereich 750-5, einen Befehlspufferbereich 750-7 und einen Befehlszählerbereich 750-9.
Nachstehend wird der Transit-Puffer- und ßefehlsschlangenbereich 750-1 näher betrachtet. Dieser Bereich umfaßt als Hauptelemente einen Vier-Wort-Schreibbefehlspuffer 750-100 und einen Vier-Wort-Transitblockpuffer-
G30025/0769
Lesebefehlspuffer 750-102. Diese Puffer werden über zv/ei Zählerschaltungen 750-104 und 750-106 adressiert. Darüber hinaus umfaßt der betreffende Bereich eine Befehlsschlange 750-107 mit zugehörigen Eingabe- und Äusgabeadressenzeiger- und Vergleicherschaltungen der Blocke 750-108 bis 750-110. Der Schreibpuffer 750-100 sorgt für die Speicherung eines Zweier-Einfachschreiboder eines einzigen Doppelschreibbefehls, während der Transitblock 750-102 für eine Speicherung bis zu vier Lesebefehlen sorgt. Der Transitblockpuffer 750-102 speichert ferner eine Information, die derartigen Lesebefehlen zugehörig ist und die zur Steuerung des •iinschreibens von Speicherdatenwörtern lnpugeteilten Bereiche des Cachespeicherbereichs 750-3 dient (das sind die Ebenen). Die vier Register ermöglichen bis zu vier Spricherlesevorgänge zu einem vorgegebenen Zeitpunkt fortschreitend auszuführen.
Der Bereich 750-1 umfaßt ferner einen Steuerbereich 750-112. Dieser Bereich enthält Reihen von unterschiedlichen Steuerschaltungen, wie den Befehlsdecoder und Steuerschaltungen des Blockes 750-113 und 750-114, die Schnittstellen-Steuerschaltungen der Blöcke 750-115 und 750-116 und HalteSteuerschaltungen des Blockes 750-117.
Die Schaltungen der Blöcke 750-113 und 750-114 decodieren
die Befehle, die von dem Prozessor 700 über die RADO/ZADO-Leitungen der Schnittstellenschaltung 604 übertragen sind. Außerdem erzeugen die betreffenden Schaltungen Steuersignale, um Einträge in die Befehlsschlange 750-107 vorzunehmen, um Werte in den Eingabe-Zeiger- und Ausgabe-Zeiger-Schaltungen der Blöcke 750-108 und 750-109 zu inkrementieren bzw. zu vergrößern bzw. zu setzen. Außerdem erzeugen die Schaltungen Steuersignale zur Abspeicherung von Befehlen ent-
030025/0769
weder im Schreibpuffer 750-100 oder im Transit-Blockpuffer 750-102.
Die Schnittstellen-Steuerschaltungen der Blöcke 750-115 und 750-116 erzeugen Signale zur Steuerung des Transfers von von der Systemschnittstelleneinheit 100 her aufgenommenen Datensignalen in den Bereich 750-7 bzw. die Übertragung von Befehlen, die den Transfer derartiger Befehle zu der Systemschnittstelleneinheit umfassen. Die Halteschaltungen des Blockes 750-117, die Signale von der Decoderschaltung 750-113 her aufnehmen, erzeugen Steuersignale zum Festhalten der Abwicklung bzw. Ausführung von Befehlen in geeigneten Situationen (z.B. Adreßlistenbereich belegt) und zur Steuerung des Ladens von Daten in den Bereich 750-7.
Aus Fig. 2 geht hervor, daß der Transfer von Schreibbefehls-Steuerwörtern von dem Puffer 750-100 ausgeht und über die dritte Stellung eines in vier Stellungen einstellbaren ZDTS-Schalters 750-118, ein Datenregister 715-119 und die erste Stellung des in zwei Stellungen einstellbaren Schalters 750-120 verläuft. Die Schreibdatenwörter werden von dem Puffer 750-100 zu der Systemschnittstelleneinheit 100 über ein Schreibdatenregister 750-121 und die zweite Stellung des Schalters 750-120 übertragen. Die RWRT-Stellung des Schalters 750-120 wird für ein Taktintervall (,Einzelschreibbefehl; oder für zwei Taktintervalle (Doppelschreibbefehl) auf die Aufnahme eines Signals von der Systemschnittstelleneinheit 100 über die ARA-Leitung ausgewählt, und zwar in Abhängigkeit davon, daß ein Signal an eine Leitung AOPR von dem Cachespeicher 750 für die übertragung eines Schreibbefehls abgegeben wird. Lesebefehle werden von dem Lesebefehlsteil des Transitblockpuffers 750-102 der Systeraschnittstelleneinheit 100 über die vierte Stellung (ZTBC) des ZDTS-Schalters 750-118, das
030025/0769
Register 750-119 und die erste Stellung des Schalters 750-120 übertragen.
über die Mehrfachanschluß-Identifizierungsleitungen RMITS werden die Zonen-Bitsignale aufgenommen, und zwar über ein RMITS-Register 750-124 und einen in zwei Stellungen einstellbaren Schalter 750-125 bezüglich des zweiten Datenwortes in dem Fall, daß ein Doppelschreibbefehl vorliegt. Wie aus der gerade betrachteten Figur hervorgeht, nimmt dieser Schalter Signale von der Befehlsschlange 750-107 und dem Prozessor 700 auf. Dies bedeutet, daß dann, wenn der Cachespeich r 750 einen Lesebefehl abgibt, die Transitblocknummer-Signale von der Schlange 750-107 in die Bitpositionen 2 und 3 des RMITS-Registers 750-124 geladen werden.
Die Transitblocknummersignale werden durch die Systemschnittstelleneinheit 100 an die MIFS-Leitungen mit dem Lesedatenwort zurückgeführt. Diese Signale werden in ein RMIFS-Register 750-127 über einen Vielfach-Stellungs-Schalter 750-126 geladen. Danach wird der Inhalt der Bitpositionen 2 und 3 über die erste stellung eines in zwei Stellungen einstellbaren Schalters 750-128 an zwei Adresseneingangsanschlüsse des Transitblockpuffers 750-102 abgegeben. Ein zweites DMIPS—Register 750-129 dient der Kurzzeit- bzw. Zwischenspeicherung der Transitblocknummernsignale für Mehrfachworttransfers (d.h. für Vier-Lesebefehle).
Die Ausgangssignale von dem Schalter 750-128 werden außerdem an die Steuereingangsanschlüsse eines in vier Stellungen einstellbaren ZTBA-Schalters 750-130 abgegeben, um die in Frage kommenden Adressensignale auszuwählen, die an den Cachespeicherbereich 750-3 zur Speicherung der Datenwörter anzulegen sind. Der Adresseninhalt des Transitblockpuffers 750-102 wird
030025/0769
außerdem einer Reihe von Eingan^sanschlüssen einer bestimmten Vergleicherschaltung einer Gruppe von Vergleicherschaltungen 750-132 bis 750-135 zugeführt, um dort einen Vergleich mit dem Adressenbereich eines nächsten Befehls vorzunehmen, der einer zweiten Reihe von Eingangsanschlüssen der Vergleicherschaltungen über die RADO/ZADO-Leitungen zugeführt wird. Das durch ein NAND-Glied 750-136 erzeugte Vergleichssignal wird an die Haltesteu^rschaltungen des Blockes 750-117 abgegeben.
Wie aus Fig. 4 ersichtlich ist, werden die Zonenbitsignale des ZAC-Befehls, der an die ZADOB-Leitungen 5-8 im Falle eines Einzelschreibbefehls oder bei einem geradzahligen Wort eines Doppelschreibbefehls abgegeben ist, in ein RZONE-Register 750-140 geladen, wenn der Schreibbefehl in den Schreibbefehlsdatenpuffer 750-100 geladen ist. Das Ausgangssignal des RZONE-Registers 750-140 wird an die erste Stellung eines in zwei Stellungen einstellbaren ZONE-Schalters 750-144 abgegeben. Die Zonenbitsignale ZDZDO-3, die an die Leitungen DZDO-3 von dem Prozessor 700 her für das ungeradzahlige Wort des Doppelschreibbefehls abgegeben werden, werden in ein RDZD-Register 750-142 geladen. Das Ausgangssignal des RDZD-Registers 750-142 wird an die zweite Stellung des ZONE-Schalters 750-144 abgegeben. Die Ausgangssignale ZONEO-3 werden an die Schaltungen des Bereichs 750-9 zur Steuerung des Einschreibens von Prozessordaten in den Cachespeicher 750-300 abgegeben, wie dies noch erläutert wird.
Nachstehend wird der Cachespeicherbereich 750-3 näher betrachtet. Dieser Bereicn umfaßt den Cachespeicher 750-300 mit 8192 (8K) 36-Bit-Wortspeicherplätzen, die in 128 Reihen von acht Acht-Wort-Blöcken organisiert sind. Die Einheit 750-300 ist aus bipolaren Speicherchips mit wahlfreiem
030025/0769
Zugriff in herkömmlicher Ausführungsform aufgebaut.
Die Cachespeich^reinheit 750-300 wird durch eine 10-Bit-Adresse RADR 24-33 adressiert, die über irgendeinen der in einer Anzahl vorliegenden 4 X 4-Crossbar-Schalter (beispielsweise 75O-3O2a) zugeführt wird, welche von herkömmlichem Aufbau sind. Die Adressierung erfolgt dabei durch den betreffenden Schaltern zugehörige Adreßregister. Wie aus der vorliegenden Figur hervorgeht, nimmt der Crossbar-Schalter Adressensignale von verschiedenen Quellen her auf, die den Bereich 750-5, den ZTBA-Schalter 750-130 und den Bereich 750-7 umfassen. Die am Ausgang des Crossbar-Schalters auftretenden Adressensignale werden kurzzeitig in dem zugehörigen Adressenregister zwischengespeichert und an die Adresseneingangsanschlüsse der Cachespeichereinheit 750-300 abgegeben.
Viährend eines Schreibzyklus des Betriebs werden die vier oätze von Schreibsteuersignalen (WRT00100-VRT70100 bis WRTO31OO-731OO), die von dem Bereich 750-9 erzeugt werden, an die Cachespeichereinheit 750-300 abgegeben und dazu herangezogen, Taktsignale an die Schreibabtasteingangsanschlüsse der Speicherchips abzugeben oder zu diesen hinzuleiten. Dies ermöglicht, ein bis vier Bytes entweder eines Datenwortes von dem Prozessor 700 über die ZADO/RADO-Leitungen oder ein Speicherdatenwort vom Bereich 750-7 in eine adressierte Ebene von acht Ebenen der Cachespeichereinheit 750-300 einzuschreiben. Bei Prozessordaten werden die Schreibsignale dadurch erzeugt, daß die Signale Ζ0ΝΈ0-3 von dem Schalter 750-144 her decodiert werden. Bei Speicherdatenwörtern werden sämtliche Zonensignale in Binärsignale 1 überführt.
Die in Frage kommende Ebene wird durch die Zustände der Signale RTBLEVO100-2100 von dem Transitblockpuffer 750-102
03G025/0769
festgelegt, wenn Schreibspeicherdaten vorliegen, und durch die Treffer-Ebene, die durch die Adreßlistenschaltungen des Blocks 750-512 ermittelt wird, wenn Schreibprozessordaten vorliegen. Diese Signale werden durch eine Decoderschaltung 750-303 decodiert, wenn die Freigabe durch ein Signal KNBMEMLEV100 von dem Bereich 750-9 her vorliegt.
Während eines Lesebetriebszyklus wird das 36-Bit-Wort jedes der acht Blöcke (,Ebenen) als Eingangssignal an einen i-aus-8-ZCD-Schalter 750-306 abgegeben. Die Auswahl des in Frage kommenden Wortes wird durch die Zustände einer Reihe von Treffer-Ebenensignalen ZCD010-210 festgelegt, die durch den Bereich 750-5 erzeugt werden. Diese Signale werden an die Steuereingangsanschlüsse des ZCD-Schalters 750-306 abgegeben.
Wie aus der vorliegenden Figur ersichtlich ist, wird das ausgewählte Wort an zwei Register 750-308 und 750-310, an einen i-aus-8-ZDI-Schalter 750-312 und an einen i-aus-4-ZIB-Schalter 750-314 abgegeben. Die RIRA- und RlRB-Register 750-308 bzw. 750-310 geben ihre Inhalte an verschiedene Stellungen bzw. Positionen der ZIB- und ZDI-Schalter 750-312 bzw. 750-314 ab. Der Zlß-Schalter 750-314 wählt Befehle aus, die an den Befehlsbus (.ZlB) des Prozessors 700 abgegeben werden, während der ZDl-Schalter 750-312 Daten oder Operanden auswählt, die an die Dateneingabebusleitung (ZDI) des Prozessors 700 abgegeben werden.
Zusätzlich zur Abgabe der Befehlswortsignale, die aus dem Cachespeicher 750-300 ausgelesen sind, gibt der ZIB-Schalter 750-314 außerdem Befehlswortsignale, die er von dem Bereich 750-7 her erhalten hat, an den Prozessor 700 ab. Der ZDI-Schalter 750-312 gibt außerdem Datensignale, die er von dem ZCDIN-Schalter 750-304 und den Bereich 750-7 her erhalten hat, an den Prozessor
03G025/0769
ab. Die Zustände der Steuersignale ZIB010-110 und ZDI010-210, die an die Steuereingangsanschlüsse der Schalter 750-314 bzw. 750-312 abgegeben sind, führen zur Auswahl der Quellen der Befehle bzv/. Datenwörter, die durch die betreffenden Schalter zum Prozessor 700 zu übertragen sind. Die Steuersignale werden durch die Schaltungen des Bereichs 750-9 erzeugt.
Die Signale ZIB010-110 sind so codiert, daß die Stellung Nr. 2 des Schalters 750-314 für eine erste Befehlsübertragung ausgewählt wird, und zwar auf die Ermittelung eines Adrei31isten-Treffers hin bezüglich eines I-Abruf-1-Befehls oder eines Adreßlisten-Treffers bezüglich eines I-Abruf-2-Befehls, der einem I-Abruf-1-Befehl für das letzte Wort in einem Block folgt. Die Steuersignale sind so codiert, daß die RIRA-Position Nr. 1 für nachfolgende Befehlsübertragungen ausgewählt wird, die einem Adreßlisten-Treffer folgen, der auf einen I-Abruf-1- oder auf einen I-Abruf-2-Befehl hin erzeugt wird.
In dem Fall, daß der I-Abruf-1-Befehl oder der I-Abruf-Zweierbefehl zu einer Adreßlisten-Ausweichung führt, werden die Signale ZIB010-110 codiert, um die Schalterposition Nr. 3 des ZIB—Schalters 750-314 für die Übertragung von Befehlswörtern auszuwählen, die aus dem Bereich 750-7 aufgenommen werden bzw. sind.
Im Hinblick auf den ZDI-Schalter 750-312 sei bemerkt, daß die ZCD-Stellung Nr. 1 in Abhängigkeit von der Ermittelung von Adreßlisten-Treffern und Signalen ausge wählt wird, die an die RDIBUF/ZDI-Leitung auf das Auftreten eines Adreßlisten-Treffers hin erzeugt werden, der für einen LDQUAD-Befehl erzeugt wird. Speicherdaten wörter werden an den Prozessor 700 über die ZDIN-Stellung Nr. 3 des Schalters 750-312 im Anschluß an eine Adreß-
030025/0769
listen-Ausweichung übertragen. Im Anschluß an das Festhalten des Prozessors 700 bezüglich eines Befehlsaufrufs aus dem Hauptspeicher werden die Signale ZDI010-210 codiert, um die ZDIN-Stellung des Schalters 750-312 für die Übertragung des ersten Befehls auf dessen Aufnahme durch den Bereich 750-7 auszuwählen. Die übrigen Befehle werden über den ZIB-Schalter 750-314 übertragen.
Die ZCDIN-Stellung Nr. 2 des Schalters 750-312 wird für Diagnosezwecke herangezogen, um Signale von den ZADO-B/RADO-Leitungen zu übertragen. Die übrigen Stellungen bzw. Positionen des ZDI-Schalters 750-312 werden für Anzeigezwecke ausgenutzt (,das sind die Stellungen RIRB, ZRIB und RIRA). Außerdem wird die Stellung RIRB dazu ausgewählt, Datenwörter zum Prozessor 700 hin im Falle eines LDQUAD-Befehls zu übertragen, wenn dort ein Adreßlisten-Treffer vorliegt.
im folgenden worden die Adreßliste und der Treffer-Steuerbereich 750-5 näher betrachtet. Dieser Bereich umfaßt eine 8-Ebenen-Steuerungsadreßliste 750-500 und eine einem 8-Ebenen-Satz zugehörige Adreßliste 750-502. Die Adreßliste 750-502 enthält 128 Speicherplätze, deren jeder eine 14 Bit umfassende assoziative Adresse für jede Ebene enthält. Ein in vier Stellungen einstellbarer ZDAD-Schalter 750-530 liefert Speicheradressen für einen wahlfreien Speicherzugriff (RAM) zum Zwecke der Adressierung der Adreßlisten 750-500 und 750-502, und zwar zusätzlich zur Adressierung der Cachespeichereinheit 750-300.
Während eines Adreßlisten-Suchoperationszyklus wählt der Schalter 750-530 unter der Steuerung von Signalen SELZDADCO100-1100, die durch die Schaltungen innerhalb des Blockes 750-526 erzeugt werden, die RADO-Stellung aus. Dadurch werden die 14-Bit-Adressensignale eines ZAC-Befehls von den Leitungen RADO 24-33 des Prozessors
030025/0769
her an die Ausgangsanschlüsse des ZDAD-Schalters 750-530 abgegeben. Diese Signale werden an die Adresseneingangsanschlüsse der Adreßlisten 750-500 und 750-502 abgegeben. Während des Suchzyklus wird der Inhalt der acht Block/ Ebenen-Adressen ausgelesen und als Eingangsgröße an jede Vergleicherschaltung einer Gruppe von acht Vergleicherschaltungen 750-536 bis 750-543 abgegeben. Jede Vergleicherschaltung vergleicht ihre Block/Ebenen-Adresse mit den Bits 10-23 des ZAC-Befehls, um das Vorliegen eines Treffer- oder Ausweich-Zustands zu bestimmen. Die durch die Schaltungen 750-536 bis 750-54-3 erzeugten Ergebnissignale werden an die entsprechenden Eingänge einer Gruppe von UND-Gliedern 750-545 bis 750-552 abgegeben. Jede Vergleicherschaltung besteht aus bis zu vier Bereichen, wobei die Ergebnisse dieser Bereiche in einem UND-Glied der UND-Glieder 750-545 bis 750-552 kombiniert werden. Die Endergebnis-Treff er signale ZHT0100 bis ZHR7100 werden als Eingangssignale an Treffer/Ausweich-Netzwerkschaltungen des Blockes 750-512 abgegeben, wie dies noch erläutert wird.
Die ZAC-Adressensignale werden außerdem in einem RDAD-Register 750-532 aufbewahrt, wenn kein Trefferzustand ermittelt wird (d.h. dann, wenn das Signal HOLD-DMEM von der Einheit 750-112 her ein Binärsignal 0 ist). Während des Adreßlisten-Zuteilungszyklus, der dem Suchzyklus folgt, in welchem ein Ausweichzustand ermittelt wurde, wählen die Signale SELZDADCO100-100 die RDAD-Stellung 1 des ZDAD-Schalters 750-530 aus. Außerdem wird ein RDRIN-Register 750-534 mit den 14-Bit-Assoziativ-Adressensignalen von den ZADO-B-Leitungen 10-23 her geladen, wenn der Adreßlisten-Suchzyklus für das Einschreiben in die Adreßliste 750-502 beendet ist.
Die Steueradreßliste 750-500 weist ferner 128 Speicherplätze auf, deren jeder eine bestimmte Anzahl von Bitpositionen zur Speicherung einer Steuerinformation umfaßt.
030025/0769
iiine derartige Information umfaßt die Voll/Leer-(F/E)-Bits für die acht Ebenen und Umlauf-(RR)-Zählbits zusätzlich zu Paritätsprüfbits (.nicht dargestellt).
Die Voll/Leer-Bits zeigen an, ob die bestimmten Adreßlisten-Adressen irgendeine Bedeutung haben (d.h. gültig sind). Damit ein Cachespeicher-Treffer auftritt, muß das F/E-Bit als binäre 1 auftreten. Eine binäre 0 zeigt das Vorhandensein eines Leerblocks oder Leerbereiches in dem betreffenden Bereich an. Die Umlaufbits führen zu einer Zählerstellung, die anzeigt, welcher Block zuletzt ersetzt wurde. Diese Zählerstellung wird normalerweise dann, wenn sie über eine der beiden Reihen von UHD-Gliedern des Blockes 750-400 in das Register 750-5Ob ausgelesen ist, durch eine inkrementierungs-Addiererschaltung 750-508 erhöht. Die sich ergebenden Signale NXTRR0-RR2 werden in die Adreßliste 750-500 eingeschrieben, um den nächsten zu ersetzenden Block zu bezeichnen.
Wie aus der gerade betrachteten Figur hervorgeht, wird der F/E-Bit-inhalt der Speicherstelle über die Stellung eines in zwei Stellungen einstellbaren ZFER-Auswahl-
und
schalters 750-506 ausgelesen/als Eingangsgröße an die Adreßlisten-Treffer/Ausweich- und Treffer-Steuerschaltungen des Blockes 750-512 abgegeben. Durch den ZFER-Schalter 750-506 wird ausgewählt,welche Hälfte einer Gruppe von F/E-Bits von den Schaltungen des Blockes 750-512 für eine Treffer-Ausweich-Anzeige auszunutzen ist und welche Hälfte der Gruppe der F/E-Bits von derartigen Schaltungen für eine andere Treffer-Bestimmung heranzuziehen ist. Ein Adressenbitsignal ZDAD31 steuert die Auswahl der SchalterStellungen.
Die Schaltungen des Blockes 750-510 umfassen eine Mehrbereichs-Multiplexerschaltung, die die Ausgangssignale FEDAT0100 und FEDAT1100 als Funktion des Treffer- und Ausweichdatenmusters erzeugt. Demgemäß werden diese
030025/0769
Signale in Abhängigkeit von den ALTHIT-Signalen des Blockes 750-512 gesetzt. Zwei Decoderschaltungen 750-520 und 750-521 arbeiten in der V/eise, daß sie die Ebenen-Informationssignale ZLEV0100-2100 decodieren, um geeignete Reihen von Schreibfreigabe-Abtastsignalen R/WFE010-210 und R/WLV010-710 für die Steuerungs-Adreßliste 750-500 bzw. für die Adreßliste 750-502 zu erzeugen. Demgemäß wird der Ebenen-(ZLEV)-Schalter 750-522 derart betrieben, daß die Ebene gesteuert wird, in der die F/E-Bits gesetzt oder zurückgesetzt werden^und die Ebene in der Adreßliste 750-502, in der neue Adressen während eines Adreßlisten-Zuteilungszyklus des Betriebs eingeschrieben werden.
Wie aus der vorliegenden Figur ersichtlich ist, werden in der ausgewählten ersten Stellung des ZLEV-Schalters 750-522 die Signale 0LDRR010-210 von der Adreßliste 750-500 abgegeben. In der ausgewählten zweiten Stellung des Schalters 750-522 werden die Ausgangsanschlußsignale RLEVR0-R2 von einem Ebenen-Register 750-524 abgegeben. Das Ebenen-Register 750-524 wird dazu herangezogen, die letzte Reihe von Treffer-Ebenen-Signalen aufzubewahren, die durch die Treffer/Ausweich-Ebenennetzwerkschaltungen des Blockes 750-512 erzeugt werden. Dies ermöglicht die Verteilung des Treffer-Ebenenwertes auf andere Bereiche des Cachespeichers 750 für eine anschließende Ausnutzung (das sind die Signale RHITLEVO-2).
In der ausgewählten dritten Stellung des Schalters 750-522 werden von dessen Ausgangsanschlüssen die Signale LEVR0-R2 abgegeben, die durch die Schaltungen des Blockes 750-512 erzeugt werden. Der Schalter 750-522 wird durch Signale von Steuerungs-Flipflops gesteuert, die in dem Block 750-526 enthalten sind (das sind die Signale FBYPCAC und DIRBUSY). Wie aus der betreffenden
030025/0769
Figur hervorgeht, werden die Komplementwerte der den Signalen RHITLEVO10-210 entsprechenden Ebenen-Signale, die in dem Register 750-524 gespeichert sind, über eine Gruppe von UND-Gliedern an die Steuerschaltungen innerhalb des Bereiches 750-9 abgegeben.
Während des Suchbetriebszyklus ermitteln die Treffer/Ausweich-Ebenennetzwerkschaltungen, welche Ebene, wenn überhaupt, eine Adresse enthält, die mit der ZAC-Adresse übereinstimmt. Im Falle einer Übereinstimmung wird das Signal RAWHITI00 als Binärsignal 1 auftreten, und daraus wird die Reihe von Treffer-Ebenensignalen ZCD010-210 und HITLEVC7010-7210 über eine Codierschaltung erzeugt. Die Signale werden in Übereinstimmung mit den Zuständen der F/E-Bits-Signale ZFE010-710 erzeugt. Dies bedeutet, daß zum Zwecke des Auftretens eines Cachespeicher-Treffers in einer bestimmten Ebene das F/E-Bit ein 1-Bit sein muß. Wie oben erwähnt, zeigt eine binäre 0 das Vorhandensein einer leeren Blockebene an. Jede Codierschaltung enthält UND-/ODER-Verknüpfungsschaltungen von herkömmlichem Aufbau die die Ebenen-Signale entsprechend folgendem Boolschen Ausdruck erzeugen ~,
Ti- 1^
L 1 - e=0
Darüber hinaus können die Signale ZCD010-210 ebenfalls aus den Ebenen-Signalen ZNICLEVOOO-2100 erzeugt werden, die durch den Bereich 750-9 während der Befehlsaufrufe bereitgestellt werden.
Der Block 750-512 enthält ferner ein anderes Treffer-Netzwerk, welches außerdem in der Zuteilung bzw. Zuordnung eines 8-Wort-Blockes verwendet werden kann, indem ein anderes Treffersignal ALTHIT100 erzeugt wird und indem eine Reihe von Signalen ALTHITLEV0100-2100 zum Laden in das Register 750-504 anstelle der Umlaufzuordnungssignale C7RR0100-2100 erzeugt wird. Zum Zwecke der vorliegenden Erfindung können derartige
030025/0769
Anordnungen als in herkömmlicher Weise ausgeführt betrachtet werden. In diesem Zusammenhang sei jedoch auf die US-PS 3ü 20 078 hingewiesen.
Wie aus den Zeichnungen hervorgeht, erzeugen die Schaltungen des Blockes 750-512 andere Treffersignale HITT0TB100, HITT0C7100 und HITT0IC100. Diese Signale werden aus dem Signal RAWHIT100 entsprechend den nachstehenden ßoolschen Ausdrucken abgeleitet:
1. HITT0C7100 = RAWHIT100 · BYPCACOOO
2. HITTOIC100 = HITT0C7100
3. HITT0TB100 = RAWHIT100 · BYPCA000+PRERD100.BYPCACIOO.
Die Schaltungen des Blockes 750-512 nehmen die Cachespeicher-Umgehungssignale BYPCACOOO und BYPCAC100 von dem Block 750-526 her auf. Wie bereits erwähnt, enthält dieser Block eine Anzahl von Steuerzustands-Flipflops, die Signale zur sequentiellen Hindurchführung des Bereiches 750-5 durch die verschiedenen geforderten Operationen umfaßt, die zur Verarbeitung der verschiedenen Befehlstypen dienen. Darüber hinaus enthält der Block 750-512 Verknüpfungsschaltungen zur Erzeugung der geforderten Steuersignale während derartiger Operationen. Zum Zwecke der vorliegenden Erfindung können diese Schaltungen in herkömmlicher Weise ausgeführt sein. Zur Vereinfachung der Beschreibung werden daher hier lediglich eine kurze Beschreibung und die Boolschen Ausdrücke bezüglich bestimmter Steuerzustands-Flipflops und Steuerverknüpfungsschaltungen gegeben, soweit dies für ein Verständnis der Arbeitsweise der vorliegenden Erfindung erforderlich ist.
Im folgenden werden die Steuerzustands-Flipflops näher betrachtet. Das FJAM1-Flipflop wird auf das Auftreten eines Treffer-Zustands am Ende eines Adreßlisten-Suchzyklus für einen Doppellesebefehl gesetzt. Das Flipflop
030025/0769
hält die unteren Adressenbits in dem bzw. den Register(n) 750-32 fest, wodurch der Zugriff zu dem zweiten Wort aus der Cachespeichereinheit 750-300 im Falle eines Doppellesebefehls freigegeben ist. Außerdem wird das Flipflop auf das Auftreten eines Einzelschreibbefehls hin gesetzt, um die Auswahl der RRAD-Stellung des ZDAD-Schalters 750-530 zu bewirken, damit dieselbe Adresse abgegeben bzw. bereitgestellt wird, um an die Cachespeichereinheit 750-500 für ein weiteres Taktintervall oder einen weiteren Zyklus abgegeben zu werden. Bei Fehlen eines Haltezustands (.Signal HOLDDMEM=I) bleibt das FJAM1-Flipflop für einen Zyklus gesetzt, und zv/ar in Übereinstimmung mit folgendem Boolschen Ausdruck: SET=FJAMI=REQCOMB.RAWHIT.BYPCAC^RDDBL+WRTSNG)+ HOLüDMEM.FJAM2+HOLDDMEM·FJAM1.
Das FJAM2-Flipflop wird auf das Vorliegen eines Treffer-Zustands am Ende eines Adreßlisten-Sucnzyklus nach einem Doppelschreibbefehl gesetzt. Das Setzen des FJAM2-Flipflop bewirkt das Setzen des FJAM1-Flipflops am Ende des nächsten Taktintervalls. Der Steuerzustand des FJAM2-Flipflops zusammen mit dem FJAM1-Flipflop bewirkt die Auswahl der RDAD-Stellung des ZDAD-Schalters 750-530, um die richtige Adresse zum Einschreiben von Daten in die Cachespeichereinheit 750-300 bereitzustellen.
Das FJAM2-Flipflop bleibt außerdem während eines Zyklus gesetzt, und zwar in Übereinstimmung mit folgendem Boolschen Ausdruck:
SET=FJAM2=REQC0MB0·RAWHIT·BYPCAC·WRTDBL+HOLDDMEM·FJAM2.
Ein Flipflop NRMPTC1 steuert direkt den ZDAD-Schalter 750-530; es wird in Übereinstimmung mit den Zuständen von Signalen gesetzt, die durch die anderen Steuerzustands-Flipflops erzeugt werden.
030025/0769
2849571
"753
Das NRMPTC1-Flipflop bleibt normalerweise während eines Zyklus gesetzt, und zwar in Übereinstimmung mit folgendem Boolschen Ausdruck:
SET=NRMPTC1=(.WRTDBL·REQCOMBO·RAWHIT·BYPCAC) + FJAM2+SETFJAM1+REQCOMBO·(RDTYPE· BYPCAC+RDTYP.RAWHIT) · (FJAM1·FJAM2+ HOLD).
Das FDIRASN-Flipflop spezifiziert einen Adreßlisten-Betriebszuteilungszyklus, in welchem ein assoziativer Adresseneintrag in die Adreßliste 750-500 im Falle von Ausweichzuständen der Cachespeicher-Umgehungsoperationen für Lesebefehle eingeschrieben wird.
Das FDIRASN-Flipflop wird für einen Zyklus in Übereinstimmung mit folgendem Boolschen Ausdruck gesetzt: SET=FDIRASN=REQCOMBO-RDTYp.(BYPCAC+RAWHIT).
Das FICENAB-Flipflop gibt das Laden des Befehlsregisters frei; es wird für einen Zyklus auf das Auftreten eines 1/2 T-Taktimpulses hin entsprechend der nachstehenden Boolschen Gleichung gesetzt: SET=FHTIOO.
Das FRCIC-Flipflop wird für einen Zyklus auf das Auftreten eines 1/2 T-Taktimpulses hin entsprechend folgendem boolschen Ausdruck gesetzt: SET = FJAMZNICLEV.
Im folgenden werden die Steuerverknüpfungssignale näher betrachtet.
1. Das ALTHIT-Signal zeigt das Vorhandensein eines Pseudo-Trefferzustands an.
ALTHIT=ALTLEVO+ALTLEVI+...ALTLEV7.
2. Die Signale ALTHITLEVO, ALTHITLEV1 und ALTHITLEV2 bilden einen 3-Bit-Code, der die Ebene spezifiziert, in der ein Pseudo-Trefferzustand aufgetreten ist.
030025/0769
/JSH
Die Signale sind dabei wie folgt codiert:
a) ALTHITLEV0=ALTLEV4+ALTLEV5+ALTELV6+ALTLEV7.
b) ALTHITLjSVI =ALTLEV2+ALTLEV3+ALTLEV6+ALTLEV7.
c) ALTHITLEV2=ALTLWV1+ALTLEV3+ALTLEV5+ALTLEV7.
3. Die Signale ALTLEVO bis ALTLEV7 zeigen an, welche der acht Ebenen, wenn überhaupt, einen Pseudo-Trefferzustand ermittelt hat.
a) ALTLEV0=ZHT0·ZFEÖ .
b) ALTLEV7=ZHT7«ZFE7.
4. Das DIRADDE-Signal ist ein Freigabesignal für den Decoder 750-521, welches die Erzeugung von Schreibabtastsignalen ermöglicht, die an die Adressen-Adreßliste 750-500 abgegeben werden. DIRADDE=NOGu.FDIRASN.
5. Das DIRBUSY-Signal zeigt an, wenn die Adreßlisten 750-500 und 750-502 belegt sind. D1RBUSY=FLSH+FJAM2+FJAM1+FDIRASN.
6. Das FEDCODE-Signal ist ein Freigabesignal für den Decoder 750-520, welches die Erzeugung von Schreibabtastsignalen ermöglicht, die an die Steueradreßliste 750-500 abgegeben werden. FEDCODE=FDIRASN«NÖGO.
7. Das FORCEBYP-Signal gibt den Ablauf eines Cachespeicher-Umgehungsbetriebs frei. FORCEBYp=FSKIPRR+FBYPCAC.
8. Das GSRCH-Signal zeigt an, wann ein Suchbetriebszyklus ablaufen soll.
GSRCH=RDDBLZCDE.FICENAB·FRCIC.
030025/0769
/J56
9. Die Signale HITLEVC70, HITLEVC71 und HITLEVC72 bilden einen 3-Bit-Code, der die Ebene spezifiziert, in der ein Trefferzustand aufgetreten ist.
a) HITLEVC70=HITLEV4+HITLSV5+HITLEV6+HITLEV7.
b) HITLEVC71=HITLEV2+HITLEV3+HITLEV6+HITLEV7. c J HITLEVC72=HITLEV1+HITLEV3+HITLEV5+HITLEV7.
10. Die Signale HITLEVO bis HITLEV7 zeigen an, welche der acht Ebenen, wenn überhaupt, einen Trefferzustand ermittelt hat.
a) HITLEVO=ZFEO-ZHTo.
b) HITLEV7-ZFE7-ZHT7.
11. Das RAWHIT-Signal zeigt die Ermittelung eines Trefferzustands an.
RAWHIt=HITLEVO+...+HITLEV7.
12. Die Signale HITT0C7 und HITTOIC zeigen jeweils die Ermittelung eines Trefferzustands bei bestimmten Schaltungen innerhalb des Bereichs 750-9 an. HITT0C7=HITT0IC=RAWHIT.BYPCAC.
13. Das HITTOTB-Signal zeigt die Ermittelung eines Trefferzustands oder eine Vor-Lesebefehls an, wenn im Nebenweg- bzw. Umgehungsbetrieb für die Transitblockpufferschaltungen gearbeitet wird. HITTOTB=RAWhIT-BYPCAC+PRERD·BYPCAC.
14. Das LDRAD-Signal gibt das Laden des RDAD-Registers 750-532 frei.
LDRDAD=HOLDDMEm.
030025/0769
-156- 2349571
15. Das LDRDRIH-Signal gibt das Laden des RDRIN-Registers 750-534 frei.
LDRDRIN=FDIRASn.
16. Das Signal RDDBLZCDE wird dazu herangezogen, den ZCD-Schalter 750-306 im Falle eines Doppellesebefehls freizugeben.
RDDBLZCDE=FICENAb.(FDIRASN+FJAM1+FJAM2).
17. Das REQCOMBO-Signal zeigt das Vorhandensein einer Cachespeicher-Anforderung an.
REQCOMBO=NOGo. HOLDDMEM · CANCELC. DRIiQCAC
18. Die Signale ZCDO, ZCD1 und ZCD2 wprden dazu herangezogen, den Betrieb des ZCD-Schalters 750-306 zu steuern.
a) ZCD0=ZCDL4+ZCDL5+ZCDL6+ZCDL7+ZNICLEV0.
ZCDICENAB+RDDBLLO.
b) ZCD1=ZCDL2+ZDEL3+ZCDL6+ZCDL7+ZNICLEV1.
ZCDICENAB+RDDBLL1.
c) ZCD2=ZCDL1+ZCDL3+ZCDL5+ZCDL7+ZN1CLEV2.
ZCD1CENAB+RDDBLL2
dabei ist der jeweilige Ausdruck ZCDLi gegeben durch ZCDLEVi.
19. Das ZFEDATWT1-Signal ist ein Daten-Schreibabtastsignal, das zum Einschreiben der F/E-ßit-Signale FEDAT0100 und FEDAT1100 in die Adressliste 750-500 dient.
ZFEDAl1WTI =FE1RASN«ZDAD31.
20. Das FEDATO100-Signal entspricht dem ersten Voll/Leer-Bit.
FEDAT0100=FBYPCAC000+FALTHIT100.
21. Das FEDAT1100-Signal entspricht dem zweiten
030025/0769
Voll/Leer-Bit.
F2DAT110O=FALTHITI00+FBYPCACOOO.
22. Das SELZDADC1-Signal steuert den Betrieb des ZDAD-Schalters 750-530.
SELZDADCi=WRMP1JL1CI .
23. Das RWRR-Signal ist ein Umlauf-Schreibssignal, welches zum Wiedereinschreiben der RR-Bit-Signale in die Adreßliste 750-500 dient.
RWRR = FDIRASN-NOGO.SCLOCK.
Aus den Zeichnungen dürfte ersichtlich sein, daß die unterschiedlichen decodierten Befehlssignale durch eine Decoderschaltung 750-528 auf das Auftreten von Signalen erzeugt werden, die von dem Prozessor 700 an die DMEM-Leitungen 0-3 abgegeben werden. Der Decoder 750-528 wird durch ein Signal von der DREQCAC-Leitung her freigegeben. Die decodierten Befehlssignale (.beispielsweise WRTDBL, WRTSNG, PRERD, RDTYPEj werden zusammen mit anderen Steuersignalen, wie den Signalen HOLDDMEM, FSKIPRROO und jenen Signalen von den Leitungen CAJMCELC und BYPCAC als Eingangssignale an die Schaltungen des Blocks 750-526 abgegeben.
Im folgenden wird der Befehlspufferbereich 750-7 näher erläutert. Dieser Bereich nimmt Speicherdaten und Befehle von den DFS-Leitungen her auf, die zu dem Prozessor 700 hin über den ZDI-Schalter 750-312 bzw. den ZIB-Schalter 750-314 übertragen werden. Die Speichersignale werden in ein RDFS-Register 750-702 über eine Stellung eines in zwei Stellungen einstellbaren Schalters 750-700 geladen.
Die Speicherdaten, die als Ergebnis eines fehlerhaften Zustande bzw. Ausweichzustands auf entsprechende
030025/0769
Aufnahme hin abgeholt werden, werden an den ZDI-Schalter 750-312 über die RDFS-Stellung Nr. 0 eines 1-aus-4-Stellungs-(ZDIN)-Schalters 750-708 abgegeben. Im Falle eines Vierer-Ladebefehls werden die Speicherdaten in den Vierer-Speicherplatz-(LQBUF,)-Puffer 750-706 geladen, wenn das Signal LQüUF als Verknüpfungssignal 1 auftritt. Die Schreib/Lese-Adressensignale WRTBUFO10-110/ RDBUF010-110 von dem Bereich 750-112 her steuern das Einschreiben und Lesen von Daten in bzw. aus den Speicherplätzen des Puffers 750-706.
Die in dem LQBUF-Puffer 750-7Ob gespeicherten Speicherdaten werden dann über die RLQBUF-Steilung Nr. 2 des ZDIN-Schalters 750-708 an die ZDI-Mnrichtung übertragen.
Im Falle des Vorliegens eines Doppellesebefehls wird das geradzahlige Wort des Wortpaares in ein REVN-Register 750-710 übertragen. Danach wird das geradzahlige Wort zu dem ZDI-Schalter 750-312 hin über die Stellung Nr. 1 des ZDIN-Schalters 750-708 übertragen, und zwar zur Ausführung einer ungeradzahligen Doppellese-Befehlsanforderung oder auf die Aufnahme eines RD-EVEN-Signals von dem Prozessor 700.
Wie aus den Zeichnungen hervorgeht, wird jedes Speicherdatenwort außerdem in das RDFSB-Register 750-712 geladen und danach in die Cachespeichereinheit 750-300 über den ZCDIN-Schalter 750-304 eingeschrieben, und zwar in der Ebene, die durch den Inhalt des RADR-Registers 750-32 spezifiziert ist.
Im Falle von Instruktions- bzw. Befehlstransfers wird jeder aus dem Speicher aufgenommene Befehl in einen der vier Speicherplätze eines spezifizierten (IBUF1/IBUF2) Befehlspuffers zweier Befehlspuffer 750-715 und 750-717
030025/0769
geladen. Die IBUF1- und IBUF2-Puffer 750-715 und 750-717 werden dazu herangezogen, bis zu zwei Vier-Wort-Blöcke zu puffern, die durch Zugriff aus dem Speicher erhalten werden können, und zwar auf I-Abruf-1- oder I-Abruf-2-Befehle hin, bezüglich der ein Ausweichzustand ermittelt worden ist.
Die Befehle werden in den Speicherplatz eines der IBUF1- und IBUF2-Puffer 750-715 und 750-717 eingeschrieben. Der betreffende Puffer wird durch die Signale WRTBUF0100-1100 unter der Steuerung von Schreibabtastsignalen IBUF1/IBUF2 festgelegt. Die Lesesteuersignale RDBUF0100-1100 geben das Auslesen derartiger Befehle für die übertragung zu dem Prozessor 700 hin frei, wenn der Speicherplatz IBUF1 oder IBUF2, der durch die Signale ZEXT0100-1100 bezeichnet ist, einen Befehl enthält. Der Befehl wird zu dem Prozessor 700 hin über die Stellung 1 oder 2 eines in zwei Stellungen einstellbaren Schalters 750-720 und über die ZRIB-Schalterstellung eines ZIB-Schalters 750-314 übertragen.
Die IBUF1- und IBUF2-Puffer 750-715 und 750-717 geben gültige Ausgangssignale IBUF1V100 bzw. IBUF2V100 an die IBUFREADY-Schaltungen des Blockes 750-722 ab. Diese Schaltungen überführen die IBUFRDY-Leitung in den Binärzustand 1, wodurch angezeigt wird, daß zumindest ein Befehl in dem I-Puffer adressiert wird (vorliegender Befehlsblock). Wie aus den Zeichnungen hervorgeht, nehmen die IBUFREADY-Schaltungen Eingangssignale (beispielsweise USETBRDY, IFETCHRDY) von den Steuerschaltungen innerhalb des Bereiches 750-9 auf.
Im folgenden wird der Befehlszählerbereich 750-9 näher erläutert. Dieser Bereich speichert Cachespeicher-Adressensignale (24-33) zur Anzeige des nächsten Befehls, zu dem ein Zugriff erfolgt. Diese Speicherung erfolgt in einem von zwei Befehlsadressenregistern
030025/076 9
(RICA/RICB) 750-900 und 750-902. Die Cachespeicher-Adressensignale 24-33 werden in das Befehlsregister RICA/RICB geladen, welches nicht benutzt wird, wenn ein IFETCH1-Befehl von dem Prozessor 700 her aufgenommen wird. Die Cachespeicheradresse wird über die RIDO-Stellung des ZDAD-Schalters 750-530 und über eine ZDAD-Stellung Nr. 0 eines in vier Stellungen einstellbaren ZICIN-Schalters 750-904 übertragen.
Jeweils dann, wenn der Prozessor 700 einen Zugriff zu einem Befehl hin ausführt, wird der Inhalt des Befehlsregisters RICA/RICB, der über eine Stellu__ng des in zwei Stellungen einstellbaren ZIC-Schalters 750-906 ausgelesen ist, mittels einer Inkrementierungsschaltung 750-908 um 1 erhöht. Der erhöhte Inhalt wird in das Befehlsregister RICA/RICB wieder zurückgeführt, und zwar über die RNIC-Stellung Nr. 1 des ZICIN-Schalters 750-904.
Wie aus den Zeichnungen hervorgeht, speichert jedes Befehlsregister zwei Ebenen-Felder, um erste und zweite Befehlsblöcke auf das Auftreten der Befehle IFETCH1 und IFETCH2 hin abzuholen. Die beiden Paare von Ebenen-Feldsignalen werden an unterschiedliche Schalterstellungen eines in vier Stellungen einstellbaren Crossbar-Schalters 750-910 abgegeben. Die ausgewählten Ebenen-Signale ZNICLEV0100-2100, die als Eingangssignale an den Block 750-512 abgegeben werden, werden zur Steuerung des Betriebs des ZCD-Schalters 750-306 herangezogen, um zu den Befehlen zuzugreifen, die durch das Befehlsregister RICA/RICB spezifiziert sind. Die Ebenen-Feldsignale entsprechen den Signalen HITLEVC70100-2100, die durch die Schaltung des Blockes 750-512 erzeugt werden. Diese Signale werden in eines der Befehlsregister geladen, und zwar auf einen Adreßlisten-Zuteilungsbetriebszyklus hin.
030025/0769
Zusätzlich zu den Ebenen-Feldsignalen speichern die RICA- und RICB-Befehlsadressenregister weitere Signale, die für verschiedene Steuerungszwecke herangezogen werden, auf die nachstehend in dem erforderlichen Umfang eingegangen wird.
Die von dem ZDAD-Schaltor 750-530 her eintreffenden Cachespeicher-Adressensignale werden mittels einer weiteren Inkrementierungsschaltung 750-912 um 1 erhöht. Die erhöhten bzw. inkrementierten Adressensignale worden über die INC-Stellung Nr. 3 des ZICIN-Schalters 750-904 in das RICA/RICB-Befehlsregister geladen. Die beiden Bits 32-33 niedrigster Wertigkeit der CacheSpeicheradresse bilden die IBUFI- oder IBUF2-Adresse (das sind die Signale ZJyXTOI00-1100), um aus dem Speicher Befehlsblöcke auszulesen, zu donen hin ein Zugriff erfolgt ist.
is sei darauf hingewiesen, daß die beiden Ebenen-Feldsignale LEY1 und LEV2 von anderen ausgängen des Schalters 750-910 als Eingangssignale an zwei Vergleicherschaltungen 750-912 und 750-914 abgegeben werden. Die Schaltungen 750-912 und 750-914 vergleichen die Ebenen-Signale LEV1 und LEV2 des gerade vorliegenden Befehlsblocks von den Schalter 750-910 her mit den Eingangs-Ebenensignalen C7RR0100-2100, die der Umlaufzählerstellung für den nächsten verfügbaren Block entsprechen. Außerdem nimmt die Vergleicherschaltung 750-912 als Eingangssignale die Speicher-Ebenensignale RTBLEV0100-2100 und die Befehls-Ebenensignale ZNICLEV0100-2100 von dem Schalter 750-910 her auf, um zusätzlich zum Vergleich mit den Ebenen-Signalen ZIC0100-2100 einen Vergleich mit den Signalen C7RR0100-2100 vorzunehmen. Die Cachespeicher-Adressensignale werden durch eine Inkrementierungsschaltung 750-918 um vier erhöht und als Eingangssignale an Umlauf-Sprungsteuerschaltungen des Blockes 750-916 abgegeben. Diese Schaltungen nehmen als weiteres Eingangssignalpaar die Eingangs-Cachespeicher-Adressen-
030025/0769
signale 24-30 von dem ZDAD-Schalter 750-530 und die Cachespeicher-Adressensignale des gerade vorliegenden Befehlsblocks von dem ZIC-Schalter 750-906 her auf, um einen Vergleich durch die vorhandenen Schaltungen vorzunehmen.
Die Ergebnisse der Signalpaar-Vergleiche der Cachespeicher-Adressensignale und des Ebenen-Signals werden in weiteren Schaltungen kombiniert bzw. verknüpft, die in den Umlauf-Sprungsteuerschaltungen des Blockes 750-91ö enthalten sind. Die Schaltungen des Blockes 750-91 fc> erzeugen auf das Auftreten der decodierten Signale von einer Decoderschaltung 750-922 her Ausgangssteuersignale, die Adressenkonflikte vermeiden. Eine weitere Erläuterung des Betriebs derartiger Schaltungen findet sich an der eingangs erwähnten anderen Stelle.
Die Ausgangssteuersignale des Blockes 750-91 β werden als Eingangssignale an die Schaltungen des lC-Steuerblockes 750-920 abgegeben. Darüber hinaus nehmen die Steuerschaltungen des Blockes 750-920 die Ergebnissignale der Decodierung der Befehlssignale auf, die von der Decoderschaltung 750-922 an die DMEM-Leitungen abgegeben werden, wenn diese Schaltung durch ein Signal von DREQCAC-Leitung her freigegeben ist. Zusammen mit den anderen an den Block 750-920 abgegebenen Signalen aus den Bereichen 750-1 und 750-5 erzeugen die Steuerschaltungen des Blockes 750-920 Adressen- und Steuersignale für den Ablaufbereich 750-9 über die erforderlichen Betriebszyklen, um bestimmte Typen von Befehlen zu verarbeiten (beispielsweise die Befehle IFETCH1, IFETCH2 und LDQUAD).
Der Block 750-920 enthält eine Anzahl von Steuerzustands-Flipflops und Verknüpfungsschaltungen zur Erzeugung der erforderlichen Steuersignale. Aus denselben
030025/0769
Gründen, die in Verbindung mit dem Bereich 750-5 erwähnt worden sind, werden lediglich eine kurze Erläuterung und die Boolschen Ausdrücke bezüglich bestimmter Zustands-Flipflops und Steuerschaltungen gegeben.
Im folgenden werden die Steuerzustands-Flipflops näher betrachtet. Das FABCURLEV1-Flipflop definiert die gerade vorliegende Ebene für das RICA/RICB-Befehlsregister. Dieses Flipflop wird auf das Auftreten eines T-Taktsignals entsprechend folgenden Boolschen Ausdrücken gesetzt bzw. zurückgesetzt. Der Setzzustand korrigiert dabei den Rücksetzzustand. Wenn das Signal FA/FBCURLEV ein Binärsignal 1 ist, dann wird die Ebene 1 ausgewählt, und wenn das betreffende Signal ein Binärsignal 1 ist, dann wird die Ebene 2 ausgewählt.
bUT · DECÜDEIFl· F-WrMETS-FHOLDDMEM- [CANCELC-ZDAD08· ZDAüOg-llIT-FACTVRIClOO/OOO + ZEXTO· ZEXTl -RDIDUF- 1I0LDLXECRDIBUF · FA/FBCURLEVOOO· UECObELDQUAD-FLDQUAD-DECODEEIS-FACTVRICIOO/OOO· NUGÜ + ZEXTO·ZEXTl·FLDQUAD·RDIBUF·HÖLDEXECRDIBUF •FACTVRICIOO/OOO-NÖGÖ.
RESET- ÜEC0DEIF1 · FFPIMEIS ·[HOLDDMEM- ICANCELC · FACTVRICIOO/OOO + DECODELDQUAD-[HOLbDMEH · [CANCELC-FACTVRICIOO/OOO + ZEXTO-ZEXTl· DECODELDQUAD-FLDQUAD.DECODEIFl.FA/PBCMPLEV100 ' FACTVRICOOO/IOO-RDIBUF-HOLDEXECRDIBUF-NÖSS.
030025/0769
Das FACTVRIC-Flipflop legt das gerade aktive Befehlsregister RICA/RICB fest. Wenn das Flipflop in den 1-Zustand gesetzt ist, ist das RICA-Register spezifiziert; ist das betreffende Flipflop in den Null-Zustand gesetzt, so ist das RICB-Register bezeichnet. Das betreffende Flipflop wird auf das Auftreten eines T-Taktimpulssignals hin entsprechend folgenden Boolschen Ausdrucken gesetzt bzw. zurückgesetzt.
FACTVRIC - 1'ACTVRIC-TGLACTVRIC
TGLACTVRIC " DECODEIFl'THOLDDMEM-[CANCELC
FFFTReTs + fnewifi-nogo.
FACTVlUC = FACTVRICTG1LACTVRIc
TGLACTVRIC - (DECODEIF1I +(HOLDDMEM + [CANCELC + FFPIMEIS)·(FNLWIFl + NOCO).
Das FCPUWRTREQ-Flipflop legt die Zeitspanne bzw. den Zeitpunkt fest, währenddessen Prozessordaten in den Cachespeicher einzuschreiben sind. Das betreffende Flipflop wird auf das Auftreten eines T-Taktimpulses hin in Übereinstimmung mit folgenden Boolschen Ausdrücken gesetzt bzw. zurückgesetzt.
SET ο (DECODEWRTSNGL + DECODEWRTDDL)-HIT·[HOLDDMEM
• [CANCELC.
RESLT-- FWRTOLlL · HOLDCACHECPuWRTSTfö.
Das FDBLMISS-Flipflop definiert einen Doppellese-Ausweichzustand; es wird dazu herangezogen, die ZDIN-Stellung des ZDI-Schalters 750-312 während des Zyklus auszuwählen, der der Datenwiederbereitstellung folgt. Das betreffende Flipflop wird auf das Auftreten eines T-Taktimpulses hin in Übereinstimmung mit folgenden Boolschen Ausdrücken gesetzt bzw. zurückgesetzt.
030025/0769
SET ■-■ (DECODERDDBL + DECODE RD RMT )· ITTOTdDMEM ·
TCÄNCELC-MISS.
KKSET- FRDMlSS.
Das FEVENODD-Flipflop bestimmt, welches Wort des Zwei-Wortpaare-Prozessors 700 wartet, wenn ein Einzellese-Ausweichzustand auftritt. Das Flipflop bestimmt außerdem die Reihenfolge, in der die Datenwörter zum Prozessor 700 im Falle eines Doppellese-Ausweichzustands zurückzuführen sind.
Darüber hinaus wird das Flipflop während eines Doppellese-Trefferzustands dazu herangezogen, zu dem zweiten Datenwort zuzugreifen. Dieses Flipflop wird auf das Auftreten eines T-Taktimpulses hin in Übereinstimmung mit folgenden Boolschen Ausdrucken gesetzt bzw. zurückgesetzt,
SL1T = (DECODKRDSNGL + DECODEIFl. FFPlMElS) · liTOLDDMEM*. IcTBTÜELC". ZDADO9 + DECODERDDBL·
TnOLDDMEM · Yc\* Zo LvJ · DS Z1.
RESl-JT« (UECODERDSNGL + DECODEIFl)
[CANCELC- ZDADOD* + DECODERDDBL-lHOLDDMEM· TCANCELC-DSZl + DECODERDRMT-1HOLDDMEM-[CANCELC.
Das FFPlMEIS-Flipflop spezifiziert, daß der letzte Prozessorzustand ein FPIMEIS-Zustand war, was bedeutet, daß der IF1-Befehl auf den DMEN-Leitungen eine Anforderung nach zusätzlichem ElS-Deskriptoren ist. Dieses Flipflop wird auf das Auftreten eines T-Taktimpulses hin entsprechend folgenden Boolschen Ausdrucken gesetzt bzw. zurückgesetzt.
030025/0769
SET = FPIMEIS.
RESET = DECODEIFI. CANCELCHOLDDMEM.
Das FHOLDIF1-Flipflop bestimmt, wann der Prozessor 700 aufgrund des Vorliegens eines IF1-Ausweichzustands festgehalten wird, so daß bei Aufnahme des Befehls aus dem Speicher das für den vorliegenden Befehl benutzte Register RICA/RICB durch das FDATARECOV-Flipflop aktualisiert werden kann. Das Flipflop wird auf das Auftreten eines T-Taktimpulses hin entsprechend folgenden Boolschen Ausdrucken gesetzt bzw. zurückgesetzt. SiT = DECODEIFI·IFPIMEIS.HOLDDMEM.CANCELC.MISS. RESET = FNEWIFI-NOGO + FDATARECOV.
Deis FINHRDY-Flipflop wird dazu herangezogen, din Signalisierung eines IBUFRDY-Zustands zu dem Prozessor 700 hin zu sperren, wenn ein Konflikt zwischen der Befehls-(IC)-Ebene und der Speicherdatenebene zu dem Zeitpunkt auftritt , zu dem der Prozessor 700 den Befehl übernommen hat, der aus dem Cachespeicher in das Register RIRA/RIRB geladen worden ist. Das betreffende Flipflop wird.auf das Auftreten eines T-Taktimpulses hin gesetzt, und es wird auf das Auftreten des nächsten T-Taktimpulses hin unbedingt gesetzt, wenn kein Setzzustand vorliegt. Das Setzen erfolgt in Übereinstimmung mit folgendem Boolschen Ausdruck.
STKT - SETI
worin Sktirterm ·- cmpüatajclev * m£mwrt«£q·
\ ZEXTO · ZEXTl · IF2 · fCÄNCELC'MD + DECODEIFl-FFPIMEIS + FINHRDY).
RKSET = SET.
030025/0769
29 A 9571
Das FJAMZNICLEV-Flipflop wird dazu herangezogen, die Ebenen-Signale ZNICLEVOOO-2100 des nächsten Befehls an die Steuereingangsanschlüsse des ZCD-Schalters 750-306 abzugeben (das sind die Signale ZCD010-210), und zwar auf das Auftreten eines 1F1-Befehls hin, der nicht das letzte Wort in dem Block bezeichnet hat. Das Flipflop wird auf das Auftreten eines T-Taktimpulses hin in Übereinstimmung mit dem nachstehend angegebenen Boolschen Ausdruck gesetzt; es wird auf das Auftreten des nächsten T-Taktimpulses hin zurückgesetzt. SET= DEC0DEIF1.FFPIMEIS.HIT.HOLDDMEM.CANCELC CANCELC.CZDAD08·ZDAD09).
Das FNEW1F1-Flipflop definiert den Zyklus, nachjdem ein IF1-Befehl von dem Prozessor 700 her aufgenommen ist. Das betreffende Flipflop wird für einen Zyklus auf das Auftreten eines T-Taktimpulses hin in Übereinstimmung mit folgendem Boolschen Ausdruck gesetzt: SET = DEC0DE1F1.FFPIMEIS.HOLDDMEM-CANCELC.
Das FRDIBUF-Flipflop wird dazu herangezogen zu bestimmen, daß ein Signal auf der RDlBUF-Leitung von dem Prozessor 700 her während des letzten Betriebszyklus aufgenommen wurde. Dieses Flipflop wird in Übereinstimmung mit dem nachstehend angegebenen Boolschen Ausdruck gesetzt; es wird während des nächsten Zyklus bei Fehlen eines Setzzustands zurückgesetzt. SET = RDIBUF · HOLDEXECRDIBUF. TTÜGÖ.
Das FRDMISS-Flipflop wird dazu herangezogen, das Halten des Prozessors 700 auf die Ermittelung eines Ausweich-Zustands bezüglich irgendeines Lesebefehls zu bewirken. Dieses Flipflop wird auf das Auftreten eines T-Taktimpulses hin in Übereinstimmung mit folgenden Boolschen Ausdrucken gesetzt bzw. zurückgesetzt.
030025/0769
SLT = (DECODERDSNGL + (DECODEIFl-FFPIMEfS") + DECODERDRMT + DECODERDCLR + DECODERDDBL) -[HOLDDMEM-[CANCELC'MISS.
FDATARECOV + FNEWIFl·NOGO.
Das FRDREQ-Flipflop bestimmt, wann das zweite auf einen ein RDDüL-Befehl hin bezüglich eines Trefferzustands aufgerufene Wort aus dem Cachespeicher auszulesen ist. Das betreffende Flipflop wird auf einen T-Taktimpuls hin in Übereinstimmung mit folgenden Boolschen Ausdrücken gesetzt bzw. zurückgesetzt. SET = DKC ODERDDBL · Hi T · HOLDDMiSM · CAlMCELC.
RESET = HOLDDMEM.
Das FDATARECOV-Flipflop sperrt das inkrementieren des Befehlsregisters RICA/RICB, wenn der IF1-Befehl für das letzte Wort in dem Block zutrifft und wenn der IF2-Befehl gelöscht ist. Das betreffende Flipflop wird auf einen T-Taktimpuls hin in Übereinstimmung mit folgenden Boolschen Ausdrücken gesetzt bzw. zurückgesetzt:
SET = DATARECOV-FLASTINST.[HOLDDMEM.[CANCELC + DATARECOV
• flastinst· [cancelc- [holddmem* + datarecov· fTästTnsT.
reset= [holddmlm-fdatarecov. ·
030025/0789
294^571
Im folgenden werden die Steu^rverknüpfungssignale näher betrachtet.
1. Das FA/FBL£V1VAL-Signal wird dazu herangezogen, den Zustand einer ersten gültigen Bitposition des RICA/RICB-Befehlsregisters zu bestimmen. Dieses Flipflop wird auf einen T-Taktimpuls hin entsprechend folgenden Boolschen Ausdrücken gesetzt bzw. zurückgesetzt. Der Rücksetz-Zustand korrigiert dabei den Setzzustand.
a. FA/FBLLV1VALSET <= UECODEIFl · I^FPIMEIS · TflOLDDMEM-
[CAiJCELC · FACTVRICl 00/000 + DECODEIFl '· FfPIMEIS-ThÖLDDMEM-
EISIF2·FACTVRICOOO/IOO + DECODELDQUAD •THÖLDDMEM TcÄNSIZf FACTVRICIOO/ 000.
b. FA/FBLLVIVAI RESET = DECODEIFl·FFPIMEIS·tHOLDDMEM-
TCÄNCELC·HIT·ZDAD08·ZDAD09· FACTVRIClOO/000 + ZEXTO·ZEXTl-DECODElFl·DECODELDQUAD·FLDOUAD * RDIBUF- HOLDEXECRDIBUF-FACTVRICOOO/ 100-FA/FBCMPLEVOOO-hföSÖ + ZEXTO-ZEXTl · FLDQUAD-RDIDUF-IIOLDEXECRDIBUF • FACTVRICl00/0 00 N
wobei RICA= FACTVRIC = 1 und RICB = FACTVRIC = 1 sind. 2. Das FA/FBL]'JV2VAL-Signal wird dazu herangezogen, den Zustand einer zweiten gültigen Bitposition des RICA/RICB-Befehlsregisters festzulegen. Dieses Flipflop wird auf oinen T-Taktimpuls hin entsprechend folgenden Boolschen Ausdrücken gesetzt bzw. zurückgesetzt.
a. FA/FBLEV2VALSET « DECODE IF2 -1HOLDDMEM · [ CANCELC ·
FACTVRICOOO/100-NOGO + DECODEIFl
FFPIMEIS-IHOLDDMEM-[CANCELC-FACTVRIC000/100-EISIF2 .
030025/0769
-jar- 29A9571
b. FA/F0LLV2VALRESET = DECODEIFl · FFPIMEIS-IHOLDDMEM
[CANCELC-FACTVRIC100/000 + DECODELDOUAD -ΤηΓΟΧΟΒμΊΪ •FACTVRICIOO/OOO + ZEXTO-ZEXTl DECODEIFl-DECODELDQUAD·FLDQUAD FA/FBCURLEV-FACTVRICOOO/IOO-RDIBUF-HOLDEXECRDIBUF·NOGO.
wobei RICA = FACTYRIC = 1 und RICB = FACTVRIC = 1 sind.
3. Die Signale ZIBO und ZIB1 steuern den ZIB-Schalter für Befehlstransfers von dem Cachespeicher 750 zu dem Prozessor 700 über die ZIB-Leitungen. a. ZIBO = IFETCHRDY»PNEWIF1.
b. ZIB1 = IFETCHRDY.
4. Die Signale ZDIO, ZDH und ZDI2 steuern den ZDI-Schalter für Befehlstransfers und Datontransfers von dem Cachespeicher 750 zu dem Prozessor 700 hin über die ZDI-Leitungen. Dem Steuersignal ZDIO, welches dem Bit höchster Wertigkeit des 3-Bit-Codes entspricht, kann eine binäre gegeben werden, sofern nicht die Positionen k bis 7 für Anzeigezwecke herangezogen werden, a. ZDH = DATARECOV + FEBLMISS + RDEVEN.
b. ZDI2 = RDIBUF/ZDI.(HITTOIC + FRDREQ).
5. Die Signale ZICINO und ZICIN1 steuern den ZICIN-Schalter, um Adressensignale in die RICA bzw. RICB-Befehlsadressenregister 750-900 bzw. 750-902 zu laden.
a. ZICINO = ALTCHMD1OO·FDFN2HT·HOLDDMEM.
b. ZICIN1 = FDFN1HT·FNEWIF1 + FDFN2HT.
6. Die Signale ENABRIC1 und ENABRIC2 werden dazu herangezogen, das Laden der Register RICA und RICAB freizugeben.
030025/Q769
294957
IiNABHICl -■ KlICLDiFl · FNUWIfI · Λ AMZNICLE V ·
[HOLDDMEM-FDATARECOV + FIlOLDIFl · OATARECOV.
ENABRIC2 = FINHRDY · S"ETINHRDY · DFN2HT wherein OET-INHRDY = DFN2T-[MEhWRTREQ
(ZEXTu-ZEXTl-EXECIF2-[CANCLCMD +
+ PSUEDOIFl + PSUED0IF2) +
CMPDATA/ICLEV j.
7. Das Signal DATARECOV definiert den Zeitpunkt, zu dem neue Daten in die Register des Prozessors geladen worden sind (z.B. RDI oder RBIR) und zu dem der Prozessor freigegeben ist. Dieses Signal wird durch ein Flipflop des Bereichs 750-1 erzeugt, welches in den Binärzustand 1 gesetzt wird, wenn ein T-Taktimpuls auftritt und eine identische Übereinstimmung zwischen den Adressensignalen, die das Wort bezeichnen, welches für einen Zugriff durch den Prozessor 700 angefordert ist, und den Signalen vorliegt , die das Wort kennzeichnen, welches in die Cachespeichereinheit 750 übertragen wird. Der Vergleich zeigt an, daß die Signale DATA, MIFS2, MIFS3, MIFS1 und DATAODD identisch sind mit den Signalen FHT, FHOLDTBO, FH0LDTB1, RADR32 bzw. DOUBLEODD, wobei folgende Beziehungen gelten
wobei Signal FHOLDTBO = FRDMISS·LDTBVALID-
■ FIF2ASSIGN-FTBPTRO; Signal FHOLDTBl «' FRDMISS·LDTBVALID·
FIF2ASSIGN-FTBPTRl;
Signal DOUBLEODD= FEVENODD-FDPFS; und Signal DATA «= FARDA + FDPFS.
030025/0769
fJi* 294957 t
Nunmehr wird der Bereich
750-1 detailliert beschrieben.
In Fig. 7a sind in weiteren Einzelheiten verschiedene Blöcke der Blöcke des Bereichs 750-1 veranschaulicht. ;Js sei darauf hingewiesen, daß zum Zwecke einer Erleichterung des Verständnisses der vorliegenden Erfindung dieselben Bezugszeichen soweit wie möglich für entsprechende Elemente in Fig. 4 wieder verwendet sind, in vielen Fällen umfaßt ein einzelner in Fig. 4 angedeuteter Block mehrere Gruppen von Schaltungen zur Steuerung ihres Betriebs und/oder zur Erzeugung von zugehörigen Steuersignalen. Deshalb sind einige Blöcke mit den in Frage kommenden Bezugszeichen als Teil der verschiedenen Blöcke des Bereichs 750-1 vorgesehen.
Wie aus den Zeichnungen hervorgeht, sind bestimmte Bereiche des Blockes 750-102 in weiteren Einzelheiten gezeigt. Der Transitblockpuffer 750-102 umfaßt, wie dargestellt, eine erste Gruppe von Schaltungen, die Datenwörter bereithalten, die aus dem Speicher auf das Auftreten eines Vierer-Lesebefehls hin aufgenommen worden sind. Diese Schaltungen umfassen eine Vielzahl von taktgesteuerten Paaren von Zähl-Flipflops, welche ein Vier-Bit-Register 750-10200, eine Multiplexerschaltung 750-10202, eine Vielzahl von NAND-Gliedern 750-10204 bis 750-10210 und eine Decoderschaltung 750-10212 bilden. Es sei darauf hingewiesen, daß ein Zähl-Flipfloppaar für jede Transit-Pufferstelle vorgesehen ist.
Darüber hinaus umfaßt die erste Gruppe von Schaltungen eine Vielzahl von taktgesteuerten Transitblock-Gültigkeits-Flipflops, die ein 4-Bit-Register 750-10214 bilden. Die 1-Ausgänge der Flipflops sind jeweils mit einem entsprechenden Flipflop der vier Paare von Zähl-Flipflops verbunden, wie dies dargestellt ist.
in Abhängigkeit vom Auftreten eines Viererlesebefehls
030025/0769
hin wird ein erstes Paar von Wörtern an den Cachespeicher 750 ausgesendet. Darauf folgt eine Lücke, und dann wird ein zweites Paar von Wörtern an den Cachespeicher 750 ausgesendet. Auf das dem Transitblockpufferplatz zugehörige Paar von Zählflipflops wird dadurch Bezug genommen, daß eine Spezifizierung durch die Zustände der Signale MIFS2110 und M1FS3110 erfolgt, wobei dieses Flipflop dann in den Binärzustand 1 über ein erstes UND-Glied mit Auftreten des T-Taktsignals CLKT022 hin gesetzt wird, wenn das Signal DATA0DD100 durch die Schaltungen des Blocks 750-114 als Binärsignal 1 abgegeben wird. Das RESETTBV100-Signal ist zunächst ein Binärsignal 0, und die Decoderschaltung 750-10212 gibt eines der ersten vier Ausgangssignale SETPCO100 bis 5ETPC3100 in Übereinstimmung mit den Zuständen der Signale MIFS2110 und MIFS3110 von dem Schalter 75O-12Ü ab.
Das Paar-Zähl-Flipflop wird im Binärzustand 1 über das andere eingangsseitige UND-Glied gehalten, und zwar durch ein Transit-Block-Gültigkeitssignal, welches als Binärsignal 1 auftritt. Das zugehörige eine Flipflop der Transit-Block-Gültigkeitsbit-Flipflops, welches durch die Decoderschaltung 750-10601 bezeichnet ist (das sind die Signale IN0100 bis IN3100), wird über ein erstes UND-Glied dann in den Binärzustand 1 gesetzt, wenn eine Umschaltung erfolgt, um das Signal INCTBIN100 auf das Auftreten eines T-Taktsignals CLKT022 hin in ein Binärsignal 1 zu überführen.
Die Multiplexerschaltung 750-10202 wählt in Übereinstimmung mit den Zuständen der Signale DMIFS2100 und DMIFS3100 von dem Schalter 750-128 das in Frage kommende Binärsignal 1 der vier Paar-Zählflipflops aus, um es an das NAND-Glied 750-10204 abzugeben. Dadurch gibt das NAND-Glied 750-10204 das Signal LAST0DD100
030025/0769
294957 t
als Binärsignal O ab. Dies führt dazu, daß das NAND-Glied 750-10206 das Signal LASTDTAODDOOO als Binärsignal 1 abgibt.
Wenn das nächste Paar von Datenwörtern aufgenommen wird, veranlaßt dies das NAND-Glied 750-10206, das Signal LASTDTAODDOOO als Binärsignal 0 abzugeben. Dies wiederum veranlaßt das NAND-Glied 750-10210, das Rücksetzsignal RESETTBV1100 als Binärsignal 1 abzugeben. Die Decoderschaltung 750-10212 wird durch das Signal RESETTBV100 veranlaßt, an einem der vier Ausgangsanschlüsse 4 bis ein Binärsignal 1 abzugeben. Dadurch wird wiederum das in Frage kommende eine Flipflop der Transitblock-Gültigkeitsbit-Flipflops über das andere UND-Glied zurückgesetzt. Sobald das TB-Gültigkeits-Flipflop zurückgesetzt ist, setzt es das ihm zugehörige Paar-Zähl-Flipflop über sein anderes UND-Glied zurück. Es dürfte einzusehen sein, daß eine derartige Umschaltung auf das Auftreten des T-Taktsignals CLKT022 hin erfolgt.
Wie aus Fig. 7a ersichtlich ist, umfaßt die erste Gruppe der Schaltungen des Blocks 750-102 ferner eine Vielzahl von NAND-Gliedern 750-10216 bis 750-10222, deren Jedes so geschaltet ist, daß es ein anderes Ausgangs-Binärsignal 1 von dem Register 750-10214 her aufnimmt. Die binären 1-Ausgangssignale FTBV0100 bis FTBV3100 werden ferner den Steuereingangsanschlüssen der Transitblock-Adressenvergleicherschaltungen 750-132 bis 750-136 zugeführt.
Die NAND-Glieder 750-10216 bis 750-10222 sind ferner so geschaltet, daß sie jeweils ein anderes Signal der Signale IN0100 bis IN3100 von der Decoderschaltung 750-10601 her aufnehmen. Die Ausgangssignale dieser Verknüpfungsglieder werden einem UND-Glied 750-10244 zugeführt. Die Signale VALIDOOO bis VALID3000 werden dazu herangezogen, eine Anzeige dann zu liefern, wenn ein Transitblock-Registerplatz für einen Schreibvorgang verfügbar ist.
030025/0769
Dies bedeutet, daß dann, wenn ein ausgev/ähltes Transitblock-Gültigkeitsbit-Flipflop sich im Rücksetzzustand befindet, das UND-Glied 750-10224 das Signal VALlDiNOOO als Binärsignal 1 aufrechterhält.
Durch das VALIDINOOO-Signal wird ein weiteres UND/NAND-Glied 750-10226 veranlaßt, ein Steuersignal RTB100 als Binärsignal 1 während der zweiten Hälfte eines Betriebszyklus (das ist das Signal FHT020 als Binärsignal 1) im Falle eines Lesebefehls (was bedeutet, daß das Signal DREQREAD100 als Binärsignal 1 auftritt) zu dem Zeitpunkt abzugeben, zu dem eine Adreßlistenzuteilung nicht vorgenommen wird (das heißt, daß das Signal FLDTBVALIDOOO als Binärsignal 1 auftritt).
Wie aus Fig. 7a hervorgeht, wird das Steuersignal RTB100 über eine Treiberschaltung 750-10228 an eine Decoderschaltung 750-10230 abgegeben. Das steuersignal RTB110 veranlaßt die Decoderschaltung 750-10230, ein in Frage kommendes Ausgangssignal der Ausgangssignale RTB0100 bis RTB3100 abzugeben, und zwar dasjenige Ausgangssignal, welches durch die Zustände der Signale FTBPTR0100 und FTBPT1100 bezeichnet ist, die über zwei Treiberschaltungen 750-10232 und 750-10234 abgegeben werden. Das betreffende erwähnte Ausgangssignal tritt dann als Binärsignal 1 auf. Dadurch werden wiederum die Bitpositionen 24-31 eines der Transitblock-Registerplätze mit Adressensignalen geladen, die über die RADO-Leitungen 24-31 zugeführt werden. Das Komplementsignal RTBOOO wird als Eingangssignal an den Block 750-107 abgegeben, um das Laden der Befehlsschlange 750-107 zu steuern.
Eine zweite Gruppe von Schaltungen des Blocks 750-102 umfaßt, wie dies im einzelnen veranschaulicht ist, den Transitblock-Pufferkennzeichen-Speicherbereich 750-10238 des Puffers 750-102. Dieser Bereich sowie der Bereich des
030025/0769
Puffers 750-102 (nicht dargestellt) ist aus einem simultan betriebenen 4 χ 4-Doppel-Lese/Schreib-Speicher. Der Speicher ist ein 16-I3it-3peicher, der in vier Wörter· a vier Bits organisiert ist, von denen lediglich drei Bits angedeutet sind. Die Wörter können unabhängig voneinander aus irgendwelchen zwei Speicherplätzen zur gleichen Zeit gelesen werden, zu der eine Information in irgendeinen Speicherplatz eingeschrieben wird. Die Signale FTBPTRO100 und FTBPTR1100 werden an die Schreibadressenanschlüsse abgegeben, während die Leseadressen durch das VCC-Signal freigegeben werden, welGhes an die Anschlüsse G1 und G2 angelegt wird. Die Y-Bit-Plätze werden in Übereinstimmung mit den Zuständen der Leseadressensignalf MIFS3100 und I4IFS21OO von dem Schalter 750-128 her ausgewählt. Die Z-Bit-Plätze werden in Übereinstimmung mit den Zuständen der Signale DMIF3100 und DMIF2100 von dem Schalter 750-128 her ausgewählt. Da diese Plätze nicht wichtig sind, werden sie hier nicht weiter erläutert.
Der Speicher kann von herkömmlichem Aufbau sein und beispielsweise die Form der Schaltungen haben, wie sie in der US-PS 40 70 657 angegeben sind. Auf die Aufnahme von Speicherdaten hin wird der Kennzeichenbitinhalt des Transitblockplatzes, der durch die Signale MIFS2100 und MIFS3100 bezeichnet ist, an die Y-Ausgangsanschlüsse abgegeben. Diese Signale werden ihrerseits an die Blöcke 750-102, 750-115 und 750-117 abgegeben, wie dies veranschaulicht ist. Während des Adreßlisten-Zuteilungszyklus für einen Cachespeicher-Leseausweichvorgang werden die Kennzeichenbitpositionen des Transitblockplatzes, die durch die Signale Fl'BPTROIOO und FTBPTR1100 bezeichnet sind, mit den Signalen FORCEBYPOOO, FRDQUAD100 und FLDQUAD100 geladen, die durch die Schaltungen der Blöcke 750-5 und 750-114 erzeugt werden.
030025/0769
Aus Fig. 7a geht ferner hervor, daß der Block 750-102 außerdem eine Gruppe von Befehlsaufruf-Kennzeichenschaltungen umfaßt, die der Operation des Transitblockpuffers 750-102 zugehörig sind. Diese Schaltungen umfassen zwei Sätze von Eingangs-UND-Gliedern750-10240 bis 750-10243 und 750-10250 bis 750-10253, zwei Multiplexer-Auswahlschaltungen 750-10255 und 750-10256, ein IF1-Register und ein IF2-Kennzeichenspeicherregister 750-10258 sowie eine Ausgangs-Multiplexerschaltung 750-10260. Diese Schaltungen sind in der dargestellten Weise angeordnet.
Die binären Ausganc;ssignale 1 der einzelnen IF1- und IF2-Flipflops werden entsprechenden UND-Gliedern der Reihen der UND-Glieder 750-10240 bis 750-10243 und 750-10250 bis 750-10253 zugeführt. Diese UND-Glieder erhalten außerdem Ein^angssignale von den Schaltungen de?s Blocks 750-106 her zugeführt, die auf das Auftreten der Eingabezeigersignale FTBPTROOOO und FTBPTR1000 erzeugt werden, welche zur Adressierung der verschiedenen Registerplätze innerhalb des Puffers 750-102 herangezogen werden, wie dies oben bereits erwähnt worden ist.
Die Multiplexerschaltung 750-10255 ist so geschaltet, daß sie als Steuereingangssignal das Signal FIF1ASSIGN100 von dem FIF1ASSIGN-Flipflop 750-1418 aufnimmt. Die Multiplexerschaltung 750-10256 ist so geschaltet, daß sie als Steuereirigangssignal das Signal FIF2ASSIGN100 von dem FIF2ASSIGN-Flipflop 750-1410 her aufnimmt. Dies ermöglicht das Setzen und/oder Rücksetzen der Flipflops IF1 und IF2 des Registers 750-10258 auf das Auftreten der Signale FIF1ASSIGN100 bzw. FIF2ASSIGN100 hin. Das Umschalten erfolgt auf das Auftreten des T-Taktsignals CLKT022 während des Ladens eines Transitblock-Registerplatzes, wenn das Steuersignal LDTBVALID100 über ein UND-Glied 750-11428 als Binärsignal 1 abgegeben wird.
030025/0769
üs sei darauf hingewiesen, daß das Register 750-10258 einen IF1-Kennzeichenbitplatz und einen IF2-Kennzeichenbitplatz für jeden Transitblock-Registerplatz aufweist. Dies bedeutet, daß das Register Flipflops FIF10, FIF20 bis FIF13, FIF23 für die Transitblock-Registerplätze 0 bis 3 umfaßt. Jedes der binären 1-Ausgangssignale der IF1- und IF2-Kennzeichen-Flipflops wird außerdem unterschiedlichen Eingangsanschlüssen der Ausgangs-Multiplexerschaltung 750-10260 zugeführt. Die Schaltung 750-11450 enthält zwei Bereiche. Dies ermöglicht, die Signale DMIFS2100 und DMIFS3100 an die Steueranschlüsse der Multiplexerschaltung 750-10260 von dem Block 750-128 her abzugeben, um als Ausgangsbzw. Eingangssignale Signale sowohl von einem IF1-Kennzeichen-Flipflop als auch von einem 1F2-Kennzeichen-Flipflop auszuwählen. Das ausgewählte Signalpaar bewirkt seinerseits, daß Kennzeichensignale ZIF1FLG100 und ZIF2FLG100 bereitgestellt werden, die an den Block 750-115 abgegeben werden. Diese Signale werden dazu herangezogen, das Einschreiben einer Speicherinformation in die 1BUF1- und 1BUF2-Puffer 750-715 bzw. 750-717 zu steuern. Darüber hinaus werden die Komplementärsignale der Ausgangssignale der Multiplexerschaltung 750-10260, die den Signalen ZIF1FLGOOO und ZIF2FLG000 entsprechen, zwei Eingangsanschlüssen einer Multibereichs-Vergleicherschaltung 750-110/750-11435 zugeführt.
Es sei darauf hingewiesen, daß der letzte Bereich jeder der Multiplexerschaltungen 750-10255 und 750-10256 in Reihe geschaltet ist, um das Freigabe-Transitblock-Pufferbereit schaft signal ENABTBRDY100 zu erzeugen, welches an den Block 750-114 abgegeben wird. Wie dargestellt, wird dem "O"-Eingangsanschluß des letzten Bereiches der Multiplexerschaltung 750-10255 eine Spannung VCC zugeführt (die kennzeichnend ist für eine binäre 1), während der "1"-Eingangsanschluß mit Erde bzw. Masse
030025/0769
verbunden ist (was kennzeichnend ist für eine binäre O). Der Ausgangsanschluß des letzten Bereiches der Multiplexerschaltung 750-10255 ist mit dem "0"-Eingangsanschluß des letzten Bereiches der Multiplexerschaltung 750-10256 verbunden, während der "1"-Eingangsanschluß mit Erde bzw. Hasse verbunden ist. Die Multiplexerschaltungen 750-10255 und 750-10256 arbeiten in der Weise, daß das Signal ENABTBRDY100 als Binärsignal 1 lediglich nach Beendigung eines Befehlsaufruf-Zuteilungszyklus abgegeben wird, wenn die beiden Signale FIF1ASSIGN100 und FIF2ASSIGN100 als Binärsignale 0 auftreten. Deshalb werden die Signale an den "O"-Eingangsanschlüssen als Ausgangssignale von der Multiplexerschaltung 750-10255 and 750-10256 ausgewählt, was dazu führt, daß das Signal ENABTBRDY100 als Binärsignal 1 abgegeben wird. Dies stellt die unbeabsichtigte Erzeugung des Signals IBUFRDY100 dar, wie dies hier erläutert wird.
Wie aus Fig. 7a hervorgeht, enthalten die Schaltungen des Transitpuffers in dem Zeigerblock 750-106 ein takt-» gesteuertes 2-Bit-Register 750-10600 und eine Decoderschaltung 750-10601. Dem Register 750-10600 sind ein NAND/UND-GIied 750-10602 und ein zwei Eingänge aufweisendes UND/ODER-Glied 750-10604 zugehörig; diese Verknüpfungsglieder sind in einer Zähleranordnung miteinander verbunden. Dies bedeutet, daß das NAND-Glied 750-10602 auf das Auftreten eines Lade signals FLDTBVALID111 von dem Block 750-114 her und auf das Auftreten des Signals N0G0020 ein inkrementierungssignal INCTBIN100 als Binärsignal 1 abgibt. Dadurch wird der in dem Register 75O-IO6OO gespeicherte Adressenwert um 1 inkrementiert bzw. erhöht. Das vergrößerte Signal INCTBIN100 wird an die Schaltungen des Blockes 750-102 abgegeben.
Die Bitposition höchster Wertigkeit des Registers 750-10600 wird über das Verknüpfungsglied 750-10604 in den Binärzustand 1 gesetzt, und zwar entweder auf
030025/0769
das Auftreten der Signale FTBPTR0100 oder auf
FTBPTR11OO das Auftreten der Signale FTBPTR Oi OO/und FTBPTROOOO als Binärsignale 1. Die komplementären binären 1-Ausgangssignale der Register-Bitpositionen, die den Signalen FTBPTROOOO und FTBPTR1000 entsprechen, werden durch die Decoderschaltung 750-10601 decodiert. Diese Decoderschaltung 750-10601 gibt auf das Auftreten der Signale FTBPTROOOO und FRTBPTR1000 hin an einem der vier Paare von Ausgangsanschlüssen ein .Binärsignal 1 ab.
Der Befehlssteuerungs-Schaltungsblock 750-114 enthält ein synchron betriebenes Be fehl sauf ruf -2-Such-( FIF2SEACRCH)· Flipflop 750-11400 vom D-Typ. Das Flipflop 750-11400 wird auf das Auftreten eines T-Taktsignals CLKT020 hin dann in den Binärzustand 1 gesetzt, wenn ein zwei Eingänge aufweisendes UND/ODER-Glied 750-11402 und ein UND-Glied 750-11400 ein Signal SETIF2SEARCH-100 als Binärsignal 1 abgeben. Dies tritt dann auf, wenn entweder ein 1F1-Befehl ein sogenannter Treffer ist oder wenn ein 1F2-Befehl von dem Prozessor 700 während eines 1F1-Zuteilungszyklus aufgenommen ist.
Im Falle des Auftretens eines IF1-Befehls ist angenommen, daß kein Haltezustand vorliegt (was bedeutet, daß das Signal H0LDDMEM000 von dem Block 750-117 als Binärsignal 1 auftritt) und daß durch einen Adreßlisten-Suchvorgang ein Treffersignal erzeugt worden ist (d.h., daß das Signal H1T0TB100 als Binärsignal 1 auftritt) wodurch angezeigt wird, daß der angeforderte Befehlsblock in dem Cachespeicher 750-300 enthalten ist. Bezüglich eines IF2-Befehls ist angenommen, daß ein Adreßlisten-Zuteilungszyklus vorliegt, de eine Adreßlistenabsuche folgt, im Zuge derer eine Ausweichung bzw. Verfehlung vorgelegen hat, und zwar auf den IF1-Befehl hin (dies bedeutet, daß das Signal FIF1ASSEGN100 als Binärsignal 1 auftritt).
030025/0769
2349571
In jeder der erwähnten Situationen gibt das Verknüpfungsglied 750-11402 das Signal SETIF2TIME100 als Binärsignal 1 ab. Wenn der Instruktionsaufrufbefehl durch einen Transfer- oder Verzweigungsbefehl hervorgerufen worden ist, bei dem es sich nicht um einen NOGO-Befehl handelt (was bedeutet, daß das Signal NOGCO30 als Binärsignal 1 auftritt), so zeigt dies an, daß der IF2-Befehl verarbeitet werden sollte, der gerade an die Befehlsleitungen angelegt ist (d.h., daß eine Anzeige durch das/Binärsignal 1 auftretende Signal DREQCAC112 vorliegt). Außerdem gibt das UND-Glied 750-11404 das Signal SETIF2SEARCH100 als Binärsignal 1 ab. Dadurch wird das Flipflop 750-11400 in den Binärzustand 1 umgeschaltet, wenn das Signal CANCEL012 als Binärsignal 1 auftritt.
Wie aus Fig. 7a hervorgeht, wird das am Ausgang des Flipflops 750-11400 auftretende Binärsignal 0 als Eingangssignal an die Halteschaltungen des Blocks 750-117 abgegeben. Das Signal FIF2SEARCH000 wird durch eine Pufferschaltung 750-11406 verzögert und dem einen Eingang eines NAND-Gliedes 750-11408 eines Befehls-Aufruf-Zwei-Zuteilungs-(IFIF2ASSIGN)-Flipflops 750-11410 zugeführt.
Das Signal FIF2SEARCH010 bewirkt zusammen mit dem Signal EISIF2000 (welches einen Nicht-EIS-Befehl anzeigt), daß das NAND-Glied 750-11408 das FIF2ASSIGN-Flipflop 750-11410 in den Binärzustand 1 auf das Auftreten eines Verknüpfungs- bzw. Tastsignals SETBVALID100 und eines T-Taktsignals CLKT020 umschaltet. Der Zustand dieses Flipflops sowie der übrigen Elemente wird als Ausgangssignal abgegeben, wenn das Signal FLDTBVALID110 ein Binärsignal 1 ist.
Es sei darauf hingewiesen, daß das Signal FLTBVALID110
030025/0769
über ein UND-Glied 750-11412, über ein taktgesteuertes Flipflop 750-11414 und über eine Verzögerungspufferschaltung 750-11416 im Falle eines Ausv/eich- bzw. Verfehlungszustands als Binärsignal 1 abgegeben wird (was bedeutet, daß das Signal HITT0TB010 ein Binärsignal 1 ist). Dieser Zustand wird dabei in Abhängigkeit von einer Adreßlisten-Absuche erzeugt, die bezüglich eines Lesebefehls (z.B. IF2) vorgenommen wird. Dabei ist angenommen, daß kein Haltezustand vorliegt (was bedeutet, daß das Signal HOLDDMEMOOO ein Binärsignal 1 ist). Außerdem ist angenommen, daß im Falle eines 1F2-Befehls der betreffende Zustand nicht vorhanden war aufgrund eines NOGO-Transfers (was bedeutet, daß das Signal N0G0O20 ein Binärsignal 1 ist), und daßkeine Löschbedingung vorliegt (was bedeutet, daß das Signal CANCELC010 ein Binärsignal 1 ist), und zwar für eine Leseoperation, die durch die Schaltungen des Blockes 750-113 auf den Lesebefehl hin decodiert wird, der an die Befehlsleitungen angelegt wird (was bedeutet, daß das Signal DREQREAD100 ein Binärsignal 1 ist, wobei DREQREAD10O=READI00.DREQCAC112 gilt).
Unter ähnlichen Bedingungen wird ein Befehlsaufruf-1-Zuteilungs-(FIF1 ASSIGN)-Flipflop 750-11418 über ein eingangsseitiges UND-Glied 750-11420 auf das Auftreten eines IF1-Befehls hin in den Binärzustand 1 gesetzt (d.h. dann, wenn das Signal IF1100 ein ßinärsignal 1 ist), wobei eine Ausweichung bzw. ein Aussetzen ermittelt wurde (was bedeutet, daß das Signal SETTBVAID100 als Binärsignal 1 auftritt). Das Ladetransitpuffer-Gültigkeits-Flipflop 750-11414 bleibt solange gesetzt, bis das Signal SETLDTBVALID100 als Binärsignal 0 auftritt. Es sei darauf hingewiesen, daß das binäre O-Ausgangssignal FLDTBVALIDOOO an Schaltungen abgegeben wird, die als Teil des Blockes 750-102 vorgesehen sind.
Das andere Paar der Flipflops 750-11422 und 750-11424 wird im Falle eines Ausweich- bzw. Aussetzerzustands
030025/0789
auf das Auftreten des Signals SETLDTBVALID1OO hin gesetzt. Das Lade-Vierer-Flipflop 750-11524 wird dann in den Binärzustand 1 gesetzt, wenn der an die DMEM-Befehlsleitungen abgegebene Befehl als LDQUAD-Befehl decodiort wird (was bedeutet, daß das Signal LDQUAD100 von dem Decoder 750-113 her ein Binarsignal 1 ist) und daß der an die ZADOB-Leitungen abgegebene ZAC-Befehl derart codiert ist, daß er eine Lese-Vierer-Operation erfordert (was bedeutet, daß die durch das Signal ZAD0B04100 spezifizierten Befehle IF1, IF2, LDQUAD, PRERD und RDSNGLE als Binärsignale 1 gesetzt auftreten).
Das RDQUAD-Flipflop 750-11422 wird über ein UND-Glied 750-11426 dann in den Binärzustand 1 gesetzt, wenn ein Signal CQIK1100 von den in dem Befehlsschlangenblock 750-107 enthaltenen Schaltungen her ein Binarsignal 1 ist, wodurch ein Befehl doppelter Genauigkeit gekennzeichnet ist (was bedeutet, daß das Signal ZAD0B02100 ein Binärsignal 1 ist).
Aus Fig. 7a geht hervor, daß der Block 750-114 ferner eine Vergleicherschaltung 750-11435 umfaßt. Diese Schaltung kann als in herkömmlicher Weise ausgeführt betrachtet werden; sie kann beispielsweise die Form von Schaltungen besitzen, wie sie in der US-PS 39 55 angegeben sind.
Die Vergleicherschaltung 750-11435 wird durch Signale USETBRDY100 und DATA100 freigegeben. Das Signal USETBPDY100 zeigt an, daß der Cachespeicher auf Befehle wartet, die aus dem Speicher in die Puffer IBUF1 oder 1BUF2 zu laden sind. Das Signal DATA100 wird von einem NAND-Glied 750-11436 als Binärsignal 1 abgegeben, was kennzeichnend ist für die Aufnahme einer Information aus dem Speicher. Die Vergleicherschaltung umfaßt zwei Bereiche. Der eine Bereich vergleicht die Befehlsschlangen-Eingangszeiger signale und die Ausgangszeigersignale von
030025/0769
den Blöcken 750-108 bzw. 750-109. Dieser Bereich gibt die Signale CQCMP100 und CQBMPOOO als Binärsignale bzw. als Binärsignal 0 dann ab, wenn die Zeigersignale gleich sind. Der Bereich entspricht dem Block 750-110 in Fig. A.
Der andere Bereich vergleicht die Eingangssignale an den Anschlüssen A1, A2 und B1, B2 - wobei die Steuersignale ZRIB100, ZIB010 den Eingangsanschlüssen A1, A2 zugeführt werden - mit den Zuständen der i-Abruf-1- und I-Abruf-2-Kennzeichensignale ZIF1FLGOOO, ZIF2FLG000, die an die Anschlüsse B1, B2 angelegt werden. Wenn Gleichheit vorliegt, zeigt dies an, dai3 die Information aus dem Speicher zu diesem Zeitpunkt entweder auf einen i-Abruf-1- oder auf einen I-Abruf-2-Befehl hin aufgenommen wird bzw. worden ist. Es sei darauf hingewiesen, daß das Steuersignal ZRIB100 den ZRIB-Schalter 750-720 steuert.
An den Eingangsanschlüssen A4, A8 werden die Signale ZEXTO100, ZEXT1100 mit den Signalen M1FS110Q und DATA0DD100 verglichen, die an die Anschlüsse B4, B8 angelegt werden. Dadurch wird angezeigt, ob die innerhalb des Befehlspuffers adressierte Information gleich der empfangenen Information ist. Dabei werden insbesondere die Signale ZEXT0100 und ZEXT1100 durch die Schaltungen des Blockes 750-920 von der die beiden Bits niedrigster Wertigkeit umfassenden Adresse des in dem RIRA-Register gespeicherten Befehls erzeugt. Damit wird die Wortspeicherstelle spezifiziert, die innerhalb des I-Puffers adressiert ist. Das Signal MIFS1100 ist so codiert, daß festgelegt wird, ob die erste Hälfte oder die zweite Hälfte des Blockes für die Aufnahme dient. Das Signal DATA0DD100 legt fest, ob das erste Wort oder das zweite Wort der ersten 2-Wort-Paare aufgenommen wird. Das Signal DATA0DD100
©30025/0769
wird durch das UND-Glied 750-11437 erzeugt.
Schließlich vergleicht die Vergleicherschaltung 750-11435 ein Signal ENABTBiIDYIOO, welches dem Anschluß A16 von dem Block 750-102 her zugeführt wird, mit der Spannung VCC, die kennzeichnend ist für eine binäre 1 und die dem Anschluß B1b zugeführt wird. Bei Vorliegen einer tatsächlichen Übereinstimmung zwischen den beiden Reihen von sämtlichen sechs Signalen gibt die Schaltung 750-11435 ausgabeseitig ein Binärsignal 1 ab. Dies führt dazu, daß am komplementären Ausgangsanschluß das Signal IBUFCMPROOO als Binärsignal 0 auftritt. Dadurch wird der Block 750-722 veranlaßt, das IBUFRDYIOO-Signal als Binärsignal 1 abzugeben.
Darüber hinaus umfaßt der Bereich 750-114 ein UND-Glied 750-11417. Während der ersten Hälfte eines Cachespeicher-Zyklus (das heißt bei Auftreten des Signals FHT120 von der Verzögerungsschaltung 750-11810 als Binärsignal 1) wird dann, wenn das FLDTBVALID-Flipflop 750-11414 im Binärzustand 1 ist, das UND-Glied 750-11417 das Steuersignal RTB5-8100 als Binärsignal 1 abgeben. Dieses Signal v/ird als Taktabtast-Eingangssignal dem Ebenen-Speicherbereich des Transitblockpuffers 750-102 zugeführt. Dieser Bereich ist aus einem simultan betriebenen 4 X 4-Doppel-Lese/Schreib-16-Bit-Speicher aufgebaut, der in vier Wörtern mit einer Länge von vier Bits ähnlich der Speichereinrichtung des Blockes 750-10238 organisiert ist und ähnlich den Speichereinrichtungen, die für den Aufbau des 36-Bit-Lesebefehls-Pufferbereichs des Blocks 750-102 sowie des Schreibbefehls/Datenpuffers 750-100 verwendet sind.
030025/0769
29A9571
In Fig. 7a ist veranschaulicht, daß der Datenaufnahme- und Steuerblock 750-115 eine Vielzahl von NAND-Gliedern 750-11500 bis 750-11510 und eine Vielzahl von UND-Gliedern 750-11511 bis 750-11514 enthält, die in der gezeigten Weise angeschlossen bzw. miteinander verbunden sind, um die Steuerabtast-Freigabesignale LQBUF100, IBUF1100 und 1BUF2100 sowie das Rücksetz-Puffersignal RESETBUF100 und das Schreibsteuer-Puffersignal WRTBUFO100 zu erzeugen. Diese Signale werden dazu herangezogen, den Betrieb der Pufferschaltungen des Bereichs 750-7 zu steuern. Wie aus Fig. 7a hervorgeht, wird das andere Schreibsteuer-Puffersignal WRTBUF1100 von einer Pufferverzögerungsschaltung 750-11515 auf das Auftreten des Signals FARDA010 hin erzeugt. Das Signal WRTBUF0100 wird vom Ausgang der zwei Eingänge aufweisenden Datenwähler/Multiplexerschaltung 750-128 abgeleitet, die entweder das Signal RMIFS1100 von dem Register 750-127 oder das Signal RMIFSB1100 von dem Register 750-129 auswählt. Die Auswahl erfolgt in Übereinstimmung mit dem Zustand des FARADAOOO-Signales, das auf
030025/0769
der Annahmeleitung ARDA der Datencchnittstellenschaltung 600 erzeugt wird. Die Multiplexerschaltung 750-128 erzeugt in Übereinstimmung mit dem Zustand des Signals FSARDAOOO die beiden Reihen von Signalen MIFS2100, HIFS3100 und DMIFS2100, DMIFS3100, die an die Leseadresseneingänge des Puffers 750-102 angelegt werden.
Es sei darauf hingewiesen, daß der Bereich bzw. Abschnitt 750-115 ferner ein Flipflop 750-11517 vom D-Typ für doppelte Genauigkeit (FDPFSX) enthält, welches auf das Auftreten einos Taktsignals CLKT020 hin über ein erstes eingangsseitiges UND-Glied in den Binärzustand 1 gesetzt wird, und zwar in Übereinstimmung mit dem Zustand des Signals PTXDPFS100, welches dem betreffenden UND-Glied über eine Verstärkerschaltung 750-11518 von der DPFS-Leitung durch die Systemschnittstelleneinheit 100 zugeführt wird. Die DPFS-Leitung zeigt im Setzzustand an, daß zwei Datenwörter von der Systemschnittstelleneinheit 100 her ausgesendet worden sind. Das Umschalten erfolgt, wenn die Systemschnittstelleneinheit 100 das Signal PTXARDA100, welches ihr über eine Verstärkerschaltung 750-11519 von der ARDA-Leitung der Schnittstelleneinheit 600 her zugeführt worden ist, als Binärsignal 1 abgibt. Die ARDA-Leitung zeigt an, daß die von dem Cachespeicher 750 angeforderten Lesedaten auf den DFS-Leitungen von der Systemschnittstelleneinheit 100 vorhanden sind. Das Ausgangssignal eines FARDA-Flipflops (nicht gezeigt), welches das Signal ARDA um eine Taktperiode verzögert, wird einem zweiten Halt-UND-Glied zusammen mit dem Signal FDPFSX100 zugeführt. Das FDPFSX-Flipflop 750-11517 bleibt für zwei Taktperioden gesetzt. Dies bedeutet, daß das Flipflop 750-11517 in Übereinstimmung mit der Anzahl der Reaktionen bzw. Antwortsignale (DPFS-Signale) der Systemschnittstelleneinheit gesetzt ist. Im Falle eines Einzellesebefehls erzeugt die Systemschnitt-
030025/0769
Stelleneinheit zwei Antwortsignale, deren jedes ein Paar von Wörtern einbringt, in jedem Fall ermöglicht dies das Einschreiben der beiden Wörter in den Cachespeicher, wenn das Signal KWRCACFLG1OO als Binärsignal 1 auftritt.
Das binäre O-Ausgangssignal des Flipflops 750-11517 wird durch ein NAND/UND-Glied 750-11521 invertiert und durch eine Pufferverzögerungsschaltung 750-11522 verzögert, bevor es an das UND-Glied 750-11512 abgegeben wird. Dasselbe binäre O-Ausgangssignal wird ohne Invertierung mittels einer Pufferverzögerungsschaltung 750-11523 verzögert und an Schaltungen abgegeben, welche die Zustände der Bitstellen eines Transitpuffer-Gültigkeitsbit-Registers zurücksetzen, welches einen Teil des Transitpuffers 750-102 darstellt.
Es sei ferner darauf hingewiesen, daß das einer doppelten Genauigkeit dienenden Signals FDPF110 in einem UND-Glied 750-11524 mit einem Schreib-Cachespeicher-Kennzeichnungssignal RWRTCACFLG100 von dem Transitblockpuffer-Kennzeichenspeicherteil des Puffers 750-102 verknüpft wird. Das UND-Glied 750-1152 erzeugt ein Speicher-Schreibanforderungssignal MEMERTREQ100, welches an den Bereich bzw. Abschnitt 750-9 abgegeben wird, um das Einschreiben von Speicherdaten in den Cachespeicher freizugeben (d.h. die Adressenschalter-Auswahl zu steuern).
Wie aus Fig. 7a hervorgeht, enthält der Auslöse-Anforderungssteuerschaltungsblock 750-116 ein aktives Ausgangsanschluß-Anforderungs-Flipflop 750-116OO. Dieses Flipflop ist ein taktgesteuertes Flipflop vom D-Typ» welches zwei eingangsseitige UND/ODER-Verknüpfungsschaltungen enthält. Das Flipflop 750-11600 wird auf das Auftreten des Taktsignals CLKT020 hin
030025/0769
dann in den Binärzustand 1 gesetzt, wenn der Block 750-114 zwei Signale ENABSETA0PR100 und SETA0PR100 als Binärsignale 1 abgibt. Wenn dieses Flipflop in den Binärzustand 1 gesetzt ist, führt dies wiederum dazu, daß die AOPR-Leitung der Schnittstelleneinrichtung 600 eingestellt wird, wodurch der Systemschnittstelleneinheit 100 eine Datentransferanforderung signalisiert wird. Das Binärsignal 0 des Flipflops 750-11600 wird mittels einer Inverterschaltung 750-11602 invertiert, mittels einer Verzögerungspufferschaltung 750-11604 verzögert und einem Halte-UND-Glied zugeführt. Das Flipflop 750-11600 bleibt solange gesetzt, bis zum Taktzeitpunkt das Signal FARA020 in ein Binärsignal 0 umschaltet. Dadurch wird angezeigt, daß die Systemschnittstelleneinheit 100 die Cache Speicheranforderung angenommen hat.
Der Halte steuerblock 750-117 umfaßt, wie dargestellt, ein Sperr-Transitpuffer-Treffer-FINHTBHIT-Flipflop 750-11700, ein UND-Glied 750-11702 und eine Vielzahl von UND/NAND-Gliedern 750-11704 bis 750-11716. Das Flipflop 750-11700 wird über ein erstes eingangsseitiges UND-Glied und ein NAND-Glied 750-11704 auf das Auftreten eines T-Taktsignals CLKT020 hin dann in den Binärzustand 1 gesetzt, wenn die Signale 1NHTBHIT100 und TBHIT100 als Binärsignale 1 auftreten. Das NAND-Glied 750-11701 gibt das Signal 1NHTBHIT100 als Binärsignal 1 im Falle einer Löschbedingung ab (was bedeutet, daß das Signal CANCELC012 als Binärsignal 0 auftritt).
Von der komplementären Ausgangsseite des Flipflops 750-11700 wird das Signal FINHTBHITOOO als ein Eingangssignal an das UND-Glied 750-11702 abgegeben. Ein Adreß-Iisten-Belegtsignal DIRBUSYOOO von dem Block 750-526 wird dem anderen Eingang des UND-Gliedes 750-11702
030025/0789
zugeführt. Wenn die AdreOliste keinen Suchvorgang ausführt (d.h., daß das Signal DiRUUSYOOO ein Binärsignal 1 ist) und wenn das Signal 1NHTBHITIOO ein Binärsignal 1 ist, dann gibt das UND-Glied 75Ο-1Ί702 das Signal 1NHTBACMP000 als Binärsignal 1 ab. Dies bewirkt, daß das Verknüpfungsglied 750-11704 das Signal ΤΒΗΠΊ00 als Binär signal 1 abgibt, wenn das UND-Glied 750-136 ein Transitblock-Adressenvergleichssignals TBACMP100 als Binärsignal 1 abgibt. Zugleich gibt das Verknüpfungsglied 750-11704 das Signal TBHITOOO als Binärsignal 0 ab.
Die UND/NAND-Glieder 750-11708 bis 750-117110 erzeugen die Signale CPSTOPOOO bis CPST0P003, die dem Prozessor zugeführt werden, um das vorliegen eines Haltezustands anzuzeigen. Die anderen UND/NAND-Glieder 750-11714 bis 750-11716 erzeugen die Signale HOLDDMEMOOO bis H0LDDMEM003, um einen internen Haltezustand anzugeben, durch den die anderen Bereiche bzw. Abschnitte des CacheSpeichers daran gehindert werden, den Befehl auszuführen, der von dem Prozessor 700 an die Befehlsleitungen abgegeben ist. Wenn ein Haltebefehlszustand (d.h., daß das Signal HOLDCMDOOO als Binärsignal 0 auftritt), ein Ausweichoder Ausfallzustand (was bedeutet, daß das Signal FRDMISS020 als Binärsignal 0 auftritt), ein Halte-Viererzustand von dem Block 750-916 (was bedeutet, daß das Signal HOLDLDQUADOOO als Binärsignal 0 auftritt) oder ein Transitblock-Trefferzustand vorliegt (was bedeutet, daß das Signal TBHITOOO als Binarsignal 0 auftritt), dann geben die Verknüpfungsglieder 750-11708 bis 750-11710 ihre Ausgangssignal CPST0P003 bis CPSTOPOOO als Binärsignaüe 0 und die Signale CPST0P103 bis CPST0P100 als Binärsignale 1 ab. Dadurch wird der Prozessor 700 veranlaßt, den Betrieb anzuhalten.
Unter entsprechenden Bedingungen wird zusätzlich zu
030025/0769
einem Haltesuchzustand (d.h. dann,wenn das Signal HOLDSEARCHOOO ein Binärsignal 0 ist), wie dies durch das UND-Glied 750-11712 angezeigt wird, das Signal EARLYHOLDOOO als Binärsignal 0 abgegeben, oder in einem Halte-Cachespeicherzustand (d.h., daß das Signal HOLDCCUOOO als Binärsignal 0 auftritt) geben die Verknüpfungsglieder 750-11714 bis 750-11716 ihre Ausgangssignale HOLDDMEMOOO bis H0LDDMEM003 als Binärsignale 0 ab, während die Signale H0LDDMEM100 bis H0LDDKÜM103 als Binärsignale 1 auftreten.
Aus den Zeichnungen geht hervor, daß die Zeitsteuerschaltungen des Blockes 750-118 ein synchron betriebenes Flipflop 750-11800 vom D-Typ mit zwei UND/ODER-Eingangs-Gchaltungen umfassen. Das Flipflop 750-11800 nimmt tlas 1/2JL'-Taktsignal CLKHT100 über das Verknüpfungsirlied 750-11802 und die Inverterschaltung 750-11804 auf. IJin Begrenzungs-T-Taktsignal DEFTCLK110 wird einem der Dateneingänge über zwei Verzögerungspufferschaltungen 750-11806 und 750-11808 zugeführt. Jede Pufferschaltung bringt eine minimale Verzögerung von 5 ns mit sich.
Die beiden Signale CLKHT100 und DEFTCLK110 werden durch die gemeinsame Takt- bzw. Zeitsteuersignalquelle erzeugt. Auf das Auftreten dieser Signale hin schaltet das HaIt-T-Flipflop 750-11800 in den Binärzustand 1 um, und zwar auf die Rückflanke des DEFTCLKHO-Signales hin. Das betreffende Flipflop schaltet in den Binärzustand 1 auf das Auftreten des nächsten CLKHTIOO-Signals hin um (an der Rückflanke).
Die Signale FHT100 und FHTOOO werden zusätzlich zu den Signalen FHT120, FHT010 und FHT020, die von den Ausgangsanschlüssen 1 und 0 des Flipflops 750-11800 abgeleitet sind, an die übrigen Schaltungen des Bereichs 750-1 sowie an die übrigen Bereiche (das sind die Bereiche 750-5, 750-9 und 750-114) verteilt. Die
030025/0 769
294957t
in
Signale 1-1HTI20, FHT020 und FHT010 werden über ein weiteres Paar von Verzögerungspufferschaltungen 750-11810 und 750-11812 sowie über eine Treiberschaltung 750-11814 verteilt.
Die T-Taktsignale, wie die Taktsignale CLKT020 und CLKT022, die von der gemeinsamen Zeitsteuersignalquelle erzeugt werden, werden in ihrer "Ursprungs"-Form auf die verschiedenen Flipflops der Register verteilt. Wenn eine Forderung dahingehend existiert, ein Ί/2-T-Taktsignal zu erzeugen, dann wird das 1/2-T-Taktsigrial CLKHT020 mit dem 1/2-T-Begrenzungssignal (FHT100) zum Eingang des Flipflops oder Registers hin geleitet. Der Zustand des Signal FHT100 wird dazu herangezogen, die ersten und zweiten Hälften eines T-Zyklus festzulegen. Wenn das Signal FHT100 ein Binärsignal 1 ist, dann legt dies ein Zeitintervall entsprechend der ersten Halte eines T-Taktzyklus fest. Wenn demgegenüber das Signal FHT100 ein Binärsignal 0 ist, dann legt dies ein Zeitintervall entsprechend der zweiten Halte eines T-Taktzyklus fest.
Im Rahmen der vorliegenden Erfindung können die Datenwiedergewinnungsschaltungen als in herkömmlicher Weise ausgeführt angesehen werden; sie können beispielsweise die Form der Schaltungen haben, die in den angegebenen Literaturstellen beschrieben sind. Diese Schaltungen erzeugen ein Datenwiedergewinnungssignal zur Abgabe an den Prozessor 700 durch undmäßiges Verknüpfen des 1/2-T-Taktsignals FHTOOO mit einem Signal, welches kennzeichnend ist dafür, daß Daten in die Prozessor-Register getastet werden. Dadurch wird das Datenwiedergewinnungssignal lediglich während der zweiten Hälfte eines T-Taktzyklus erzeugt, wenn derartige Daten in die Prozessor-Register getastet sind.
030025/07S9
294957t
In Falle der Abschnitte bzw. Bereiche 750-5 und 750-9 wird das Signal FHT100 dazu herangezogen, das Umschalten der anderen Zeitsteuerungs- und Steuer-Flipflops zu steuern, wie dies erläutert wird.
iiunnehr sei der Bereich 750-3 näher erläutert. In Fig. 7b sind spezielle Blöcke der Blöcke des Bereichs 750-3 näher veranschaulicht. Dabei sind soweit wie möglich entsprechende Bezugszeichen verwendet worden.
Aus Fig. 7b geht hervor, daß die Decoderschaltungen des Blockes 750-303 eine Decoderschaltung 750-30300 enthalten, die für den Betrieb durch das Signal ENBMEMLEV100 von den Schaltungen des Blockes 750-920 her freigegeben wird. Die Signale von den nichtinvertierenden Ausgangsanschlüssen der Decoderschaltung 750-30300 werden an die Eingangsanschlüsse einer ersten Multiplexerschaltung 750-30302 abgegeben. Die an den invertierenden Ausgangsanschlüssen auftretenden Signale werden an die Eingangcanschlüsse einer zweiten ITultiplexerschaltung 750-30304 abgegeben. Die Hultiplexerschaltung 750-30302 ist für den Betrieb stets freigegeben, während die Multiplexerscnaltung 750-30304 lediglich dann freigegeben ist, wenn das Signal ENBADR1100 durch die Schaltungen des Blockes 750-920 als Binärsignal 1 abgegeben wird. Es sei angenommen, daß di· "O"-Stellungen beider Multiplexerschaltungen stets ausgewählt werden.
Bestimmte Kombinationen der beiden Reihen von Steuersignalen ZADRO1100 bis ZADR71100 und der Signale ZADR00100 bis ZADR70100 werden an die Steuereingangsanschlüsse jedes der acht Crossbar-Adressenauswahlschalter 750-302a bis 75O-3O2h abgegeben. Dabei ist ersichtlich, daß jeder Crossbar-Schalter eine Anzahl von Abschnitten bzw. Bereichen aufweist, deren jeder drei Teile umfaßt, die durch voll ausgezogene Linien
030025/0769
zwischen den betreffenden Bereichen angedeutet sind. Der Einfachheit halber ist die Anzahl der Bereiche je Schalter zusammen dargestellt. Der Einfachheit halber ist außerdem der Steuerbereich jedes Abschnittes bzw. Bereiches lediglich einmal dargesteLlt, da er für sämtlich^ Abschnitte bzw. Bereiche gleich ist, die erforderlich sind, um den Schalter zu bilden.
Wie aus der vorliegenden Zeichnung hervorgeht, werden in Abhängigkeit von den Zuständen der Paare der Steuersignale ZADROO1OO, ZADRO11OO bis ZADR7O1OO, ZADR71100 die Signale von einer der drei Quellen an jede Reihe der Anschlüsse V/, X, Y und Z gleichzeitig abgegeben.
Nunmehr sei der Bereich 750-5 näher erläutert. In Fig.7c sind spezielle Blöcke der Blöcke dos Bereichs 750-5 im einzelnen gezeigt. Dabei sind soweit wie möglich entsprechende Bezugszeichen verwendet.
Aus Fig. 7c ist dabei ersichtlich, daß die Adreßlisten-Treffer/Fehler-Steuerschaltungen des Blockes 750-512 ein Codiernetzwerk enthalten, welches aus einer Vielzahl von NAND-Glieder 750-51200 bis 750-51220 und aus einer Vielzahl von Verstärkerschaltungen 750-51224 bis 750-21228 besteht. Die NAND-Verknüpfungsschaltungen sind so geschaltet, daß die Reihe der Signale ZFE1100 bis ZFE7100 von dem Block 750-506 her und die Reihe der Signale ZHTHOO bis ZHT7100 von den Blöcken 750-640 bis 750-552 her in den 3-Bit-Code codiert werden, der zur Steuerung des Betriebs des Schalters 750-306 dient.
Das Signal GSRCH100 wird durch die Schaltungen des Blockes 750-526 erzeugt. Wie erläutert, wird dieses Signal lediglich während der zweiten Hälfte eines T-Taktzyklus als Binärsignal 1 abgegeben. Damit wird ein Ausgangssignal von einem der NAND-Glieder 750-51200 bis 750-51208 lediglich während dieses Intervalls erzeugt.
030025/0769
29A957T
Dabei bewirkt insbesondere das durch den Zustand des Voll/Leer-Bits festgelegte Treffersignal, daß eines der Signale ZCDLEV1000 bis ZCDLEV7000 als Binärsignal 0 abgegeben wird. Dadurch worden wiederum die NAND-Glieder 750-51216 bis 750-51220 in den Stand versetzt, den in Frage kommenden 3-Bit-Code zu erzeugen.
Das Signal ZCDICENAB1OO, welches ebenfalls durch die Schaltungen des Blockes 750-526 erzeugt wird, wird als Binärsignal 1 lediglich während der ersten Hälfte eines T-Taktzyklus auftreten. Damit werden die Ausgangssignale von den NAND-Gliedern 750-51210 bis 750-51214 lediglich während dieses Intervalls erzeugt. Dies bedeutet, daß die Instruktions- bzw. Befehlsadressen-Ebenensignale ZUICLEV0100 bis ZNICLEV2100 von dem Block 750-910 her die Signale ICLOOOO bis 1CL2000 erzeugen, die ihrerseits die Signale ZCD0100 bis ZCD2100 erzeugen. Es sei darauf hingewiesen, daß die Signale ZCD0100 bis ZCD2100 den Signalen ZNICLEV0100 bis ZNICLEV2100 entsprechen.
Die Signale RDDBLLOOOO bis RDDBLL2000 werden dazu herangezogen, den zweiten Betriebszyklus für einen Lesedoppel befehl zu definieren. Wenn irgendeines der Signale RDDBLLOOOO bis RDDBLL2000 als Binärsignal 0 auftritt, dann wird dadurch ein entsprechendes Signal der Signale ZCD0100 bis ZCD2100 als Binärsignal 1 auftreten.
Die Signale ZCD0100 bis ZCD2100 werden an unterschiedliche Eingänge entsprechender Verstärkertreiberschaltungen 750-51224 bis 750-51228 abgegeben. Diese Schaltungen geben die Steuersignale ZCD0100 bis ZCD2100 an die Steueranschlüsse des Schalters 750-3Ob ab.
Ein weiterer in Fig. 7c im einzelnen dargestellter Block ist der Block 750-526. Wie bereits erwähnt, enthält der Block 75O-52b eine Anzahl von Adreßlisten-
Q30025/0769
Steuerungs-Flipflops. Die Steuerungs-Zustands-Flipflops enthalten, wie dargestellt, das Adreßlisten-Zute ilungs-(FDlRSAN j-Steuerzustands-Flipflop 750-52Ö00 und eine Vielzahl von Zeitsteuerungs-Flipflops eines Registers 750-52610.
Das Flipflop 750-52b00 ist ein taktgesteuertes D-Flipflop, welches in dem Binärzustand 1 über ein erstes eingangsseitiges UND-Glied im Falle einer Befehlsanforderung (d.h. bei Vorliegen des Signals REQCOMBO100 als Binärsignal 1) bezüglich eines Lesebefehls (d.h. bei Vorliegen des Signals RDTYP100 als Binärsignal 1) gesetzt ist, wenn der Prozessor 700 Daten aus dem Speicher und nicht aus dem Cachespeicher anfordert (d.h., daß das Signal BYPCAC110 ein Binärsignal 1 ist;. Bei Fehlen eines Haltezustands (d.h. dann, wenn das Signal HOLDOOO als Binärsignal 1 an ein UND-Glied 750-52602 abgegeben wird) sowie bei Vorliegen einer weiterführenden übertragung (d.h. bei als Binärsignal 1 auftretendem Signal N0G0021) und ohne Vorliegen eines Löschzustands (d.h., daß das Signal CANCELCO10 ein Binärsignal 1 ist) und bei Signalisierung einer Anforderung durch den Prozessor 700 (was bedeutet, daß das Signal DREQCAC111 als Binärsignal 1 auftritt) gibt das UND-Glied 750-52604 das Signal REQCOMBO100 als Binärsignal 1 ab.
Ein UND-Glied 750-52606 gibt das Signal SET0NBYP100 als Binärsignal 1 im Falle eines Lesens ab, wenn die Decoderschaltung 750-528 das Signal RDTYP100 als Binärsignal 1 abgibt und wenn der Prozessor 700 das Umgehungs-Cachespeichersignal BYPCAC110 als Binärsignal 1 abgibt. Das Ergebnis davon ist, daß das FDIRASN-Flipflop 750-52600 in den Binärzustand 1 umschaltet, wodurch ein Adreßlisten-Zuteilungsbetriebszyklus bezeichnet ist.
030025/0769
Das Flipflop 750-52600 wird außerdem über ein zv/eites eingangsseitiges UND-Glied im Falle einer Befehlsanforderung in den Binärzustand 1 gesetzt (d.h., daß dann das Signal REQCOMBO100 als Binärsignal 1 auftritt), und zwar dann, wenn ein Ausweich- bzw. Fehl-Zustand bezüglich des Blockes ermittelt worden ist, den zu lesen angefordert ist (was bedeutet, daß das Signal SETONMISS100 als üinärsignal 1 auftritt). Das Signal SET0NMISS100 wird als Binärsignal 1 von dem UND-Glied 750-52608 dann abgegeben, wenn das Signal RDTYP100 als Binärsignal 1 auftritt und wenn das Signal RAWHITOOO von dem Block 750-512 als Binärsignal 1 auftritt. Das Flipflop 750-52600 wird auf das Auftreten eines Taktsignal:; CL0CK112 hin in den Binärzustand 0 zurückgesetzt; das betreffende Taktsignal wird von der geneinsamen Signalquelle bei Fehlen eines Setz-Ausgangssignals von den beiden eingangsseitigen UND-Gliedern her erzeugt.
3in erstes Flipflop (FICJCNAB) des Registers 750-52610 wird dazu herangezogen, die Zeitspanne innerhalb eines T-Taktzyklus festzulegen, innerhalb der Instruktionen bzw. Befehle oder Operanden aus dem Cachespeicher 750 abzuholen bzw. abzurufen sind.
Dieses Flipflop wird in den Binärzustand 1 über ein erstes UND-Glied auf das Auftreten eines Taktsignals CLOCK120 hin umgeschaltet, wenn das durch die Zeitsteuerschaltungen des Blockes 750-112 erzeugte Signal FHT100 als Binärsignal 1 auftritt. Das Taktsignal CL0CKD120 von der gemeinsamen Zeitsteuersignalquelle her wird über ein UND-Glied 750-52612 und eine inverterschaltung 750-52612 sowie eine Inverterschaltung 750-52514 abgegeben. Das FICENAB-Flipflop wird auf das folgende Taktsignal hin zurückgesetzt, wenn das Signal FHT-100 als Öinärsignal 0 auftritt.
030025/0769
Das zweite, ein bistabiles Kippglied darstellende Flipflop des Registers 750-52610 wird dazu herangezogen, ein Intervall festzulegen, währenddessen Operanden (nicht Befehle) aus dem Cachespeicher 750 als Folge einer speziellen Bedingung abgerufen werden, die durch einen IF1-Befehl hervorgerufen wird, der nicht das letzte Wort in einem Befehlsblock bezeichnet hat. Das FRCIC-Flipflop wird über ein erstes eingangsseitiges UND-Glied auf das Auftreten des Taktsignals CLACKD120 hin dann in den Binärzustand 1 umgeschaltet, wenn das Signal FJAMZMICLEVOOO als Binärsignal 1 auftritt. Das FKCIC-Flipflop wird auf das Auftreten des folgenden Taktimpulses hin zurückgesetzt, wenn das Signal FJAMZNICLEVOOO als Binärsignal 0 auftritt.
Wie dargestellt, entspricht das am Null-Ausgangsanschluß des FICENAB-Flipflops auftretende Signal dem Verknüpfungs-Halb-T-Taktsignal GATiHFTCHLKI10, welches an die Schaltungen des Blockes 750-920 verteilt wird.
Das Signal FICENABOOO wird mit dem Signal FRCICOOO und dem Signal RDDBLZCDEOOO in einem UND-Glied 750-52616 verknüpft, um das Signal GSRCH100 zu erzeugen. Das Signal RDDBLZCDEOOO kommt von der Decoderschaltung her. Dadurch wird das Signal GSRCH100 als Binärsignal 1 während der zweiten Hälfte eines T-Taktzyklus auftreten, wenn Operanden abgerufen worden (was bedeutet, daß das Signal FICENABOOO als Binärsignal q auftritt), wobei eine Ausnahme im Falle eines Lesedoppelbefehls vorhanden ist (d.h. dann, wenn das Signal RDDBLZCDSOOO als Binärsignal 1 auftritt).
Das am Null-Ausgang des FICENAB-Flipflops auftretende binäre Ausgangssignal wird mix/Signal FRCICOOO in einen NAND-Glied 750-52618 verknüpft. Dieses NAND-Glied gibt
030025/0769
das Signal ZCDINCENAB100 als Binärsignal 1 während des ersten halben T-Intervalls ab, wenn Befehle abgerufen werden (d.h. dann, wenn das Signal FICENABOOO als Binärsignal 0 auftritt) oder im Falle des oben beschriebenen IF1-Befehls (.d.h. dann, wenn das Signal FRCICOOO ein Binärsignal 0 ist).
Die Schaltungen des Blockes 750-526 enthalten ferner ein NAND-Glied 750-52620 und eine Vielzahl von UND-Gliedern 750-52Ö22 bis 750-52628, die in der dargestellten Weise geschaltet sind. Die betreffenden Schaltungen erzeugen ein erstes Freigabesteuersignal DIRADDE100 zur Steuerung des Betriebs der Decoderschaltung 750-521. Darüber hinaus erzeugen die betreffenden Schaltungen ein zweites Freigabe steuersignal FEDC0DE100 zur Steuerung des Betriebs einer Decoderschaltung 750-52000 des Blockes 750-520.
Während eines Adreßlisten-Zuteilungszyklus (d.h. dann, wenn das Signal FDIRASN100 ein Binärsignal 1 ist) wird bei Fehlen eines einen Transfer und keine übertragung betreffenden Zustands (,d.h. dann, wenn das Signal N0G021 als Binärsignal 1 auftritt) das UND-Glied 750-52626 das Signal D1RN0G0100 als Binärsignal 1 abgeben. Wenn ein Signal FSKIPRROOO von den Schaltungen des Blockes 750-916 als Binärsignal 1 abgegeben wird, dann veranlaßt dies das UND-Glied 750-52628, das Signal DIRADDE100 als Binärsignal 1 abzugeben, wodurch die Decoderschaltung 750-521 für den Betrieb freigegeben ist. Wenn das Signal DIRN0G0100 oder das Signal FSKiPRROOO als Binärsignal 0 auftritt, dann veranlaßt dies das UND-Glied 750-52628, die Decoderschaltung 750-521 unwirksam zu machen, indem das Signal DIRADDE100 als Binärsignal 0 auftritt.
030025/0 7 69
Unter denselben Bedingungen gibt dar, UND-Glied 750-52b24 das Signal FiDDCODEI OO als Binär signal 1 ab, wodurch die Decoderschaltung 7lpO-i?2OOO für den Betrieb freigegeben ist. Das UND-Glied 75O-52Ö3O veranlaßt eine Verstärkerschaltung 750-52Ö32, das Signal FORCEBYPOOO als Binärsignal 1 dann abzugeben, wenn beide Signale FSKIPRROOO und FBYPCACOO als Binärsignale 1 auftreten. Das Signal FORCEBYPOOO wird an den Transitblock-Kennzeichenbereich des Blockes 750-102 abgegeben. Das Signal FBYPCACOOO wird in herkömmlicher Weise erzeugt, gemäß der das Signal an die Leitung BYPCAC durch den Prozessor 700 abgegeben wird. Das Signal wird in einem Flipflop (nicht dargestellt) gespeichert, dessen am Null-Ausgang auftretendes Ausgangssignal dem Signal FBYPCACOOO entspricht.
Die Schaltungen des dargestellten Blockes 750-520 umfassen die Decoderschaltung 750-52000 und zwei Multiplexerschaltungen 750-52002 und 750-52004. Dabei ist angenommen, daß normalerweise die an die "O"-Jiingangsanschlüsse der Multiplexerschaltungen 750-52002 und 750-52004 abgegebenen Signale ausgewählt sind, um als Ausgangssignale abgegeben zu werden (dies bedeutet, daß das an den G-Eingang abgegebene Signal ein Binärsignal 0 ist). Demgemäß werder^ann, wenn die Decoderschaltung 750-520000 freigegeben ist, die Ausgangssignale FED0100 bis FED7100 zur Erzeugung der Signale RWFE0100 bis RV/FE7100 auf das Auftreten des Taktsignals CLOCKOOO hin führen.
In Fig. 7c ist ferner in weiteren Einzelheiten das Register 750-507 veranschaulicht, welches ein taktgesteuertes vierstufiges Register 750-50400 und eine Vielzahl von Verstärkerschaltungen 750-50402 bis 750-50602 enthält. Das Register 750-50400 enthält D-Flipflops, von denen die ersten drei Flipflops derart miteinander verbunden sind, daß sie Umlaufsignale 0LDRR0100
030025/0769
bis 0LDRR2100 speichern. Das vierte Flipflop ist so geschaltet, daß es das Vorhandensein eines anderen Trefferzustands anzeigt, der durch die Schaltungen des Blockes 750-562 (nicht dargestellt) ermittelt worden ist. Dies bedeutet, daß dieses Flipflop in den 1-Zustand dann gesetzt ist, wenn das Signal ALTHIT100 als Binärsignal 1 auftritt.
Es sei darauf hingewiesen, daß die Flipflops des Registers 750-50400 lediglich auf das Auftreten eines Taktsignals CL0CK112 hin dann freigegeben sind, wenn das Signal FDIRASNOOO als Binärsignal 1 auftritt, was kennzeichnend ist dafür, daß kein Adreßlisten-Zuteilungszyklus ausgeführt wird (ein Treffer-Zustand).
Im Falle der Ermittelung eines Treffer-Zustands innerhalb der berücksichtigten Hälfte eines Blocks wird das Signal ALTHITOOO als Binärsignal 0 abgegeben. Dadurch werden die ersten drei Flipflops des Registers 750-50400 über eine erste Reihe von eingangsseitigen UND-Gliedern mit den Umlaufsignalen RRO100 bis RR2100 von dem Block 750-500 her geladen. Wenn ein Treffer-Zustand innerhalb der anderen Hälfte (alternative Hälfte) des Blockes ermittelt wird, auf den Bezug genommen ist, dann geben die Schaltungen des Blockes 750-512 das Signal ALTHIT100 als Binärsignal 1 ab. Dies bewirkt, daß die drei Flipflops über eine zweite Reihe von eingangsseiten UND-Gliedern mit den anderen Ebenen-Signalen ALTHITLEV0100 bis ALTHITLEV2100 geladen werden, die durch die Schaltungen des Blockes 750-512 erzeugt werden.
Die binären 1-Signale des Registers 750-50400 werden als üingangssignale den Verstärker-Treiberschaltungen 750-50402 bis 750-50406 zur Speicherung in dem Transitblock-Puffer 750-102 zugeführt. Dieselben Signale werden den A-Operanden-Eingangsanschlüssen einer Addiererschaltung
030 025/076 9
des Blockes 750-500 zugeführt. Die Addiererschaltung addiert oder inkrementiert die Signale 0LDRR0100 bis 0LDRR2100 zu bzw. um eins, indem eine binäre 1 an den C1-Anschluß der Addiererschaltung abgegeben wird.
Die an den F-Ausgangsanschlüssen erzeugten Summensignale NXTRR0100 bis NXTRR2100 werden in den Umlaufbereich der Steueradreßliste 750-500 eingeschrieben.
Schließlich werden die Signale OLDItROIOO bis 0LDRR2100 als Eingangssignale an eine weitere Reihe von Verstärkertreiberschaltungen 750-50408 bis 750-50412 abgegeben, um in einem der Befehlsadressenregister 750-900 und 750-902 gemäß Fig. 7e eingespeichert zu v/erden.
Nunmehr wird der Bereich 750-7 näher erläutert. Dieser Bereich ist in Fig. 7d im einzelnen veranschaulicht. Wie aus Fig. 7d hervorgeht, enthält der Block 750-722 eine Vielzahl von in Reihe geschalteten NAND-Gliedern 750-72230 bis 750-72234. Die NAND-Glieder 750-72230 und 750-72231 sind so geschaltet, daß sie Befehlspuffer-Gültigkeits- und Befehlssteuersignale 1BUF1V100, ZRIB010 und IBUF2V100, ZRIB100 von den I-Puffern 750-715 und 750-717 sowie von dem Block 750-920 her aufnehmen. Die Signale IBUF1V100 und IBUF2V100 zeigen den Befehlspuffer an, in den eine Information geladen wird. Dies bedeutet, daß dann, wenn das Signal iBUF1V100 als Binärsignal 1 auftritt, festgelegt ist, daß der I-Puffer 750-715 geladen wird. Wenn das Signal IBUF2V100 als Binärsignal 1 auftritt, ist dadurch spezifiziert, daß der I-Puffer 750-717 mit einem Befehlswort geladen wird.
Die Steuersignale ZRIB010 und ZRIB100 legen fest, welches Befehlspuffer-Gültigkeitsbit zu überprüfen ist, was dem adressierten Befehlspuffer entspricht. Dies bedeutet, daß dann, wenn das Signal ZRIB010 ein Binärsignal 1 ist,
030025/0769
294957t
das IBUF1-Gültigkeitsbit durch die Schaltungen des Blocks 750-920 spezifiziert ist. Wenn das Signal ZHIB100 ein Binärsignal 1 ist, dann ist das IBUF2-Gültigkeitsbit spezifiziert. Wenn das Signal IBUF1RDY000 oder das Signal 1BUF2RDY000 als Binärsignal 0 auftritt, dann gibt das NAND-Glied 750-72232 das Signal TBIBUFRDY100 als Binärsignal 1 ab, was kennzeichnend ist für einen Bereitschaftszustand.
Die Schaltungen des Blockes 750-920 geben ein Freigabesi-gnal USSTBRDY100 als Binär signal 1 auf das Umschalten des in Frage kommenden i-Puffer-Gültigkeitsbits hin ab. Dies bewirkt, daß das NAND-Glied 750-72233 das Signal TBRDYOOO als Binärsignal 0 abgibt. Dies führt dazu, daß das NAND-Glied 750-72234 das Signal 1BUFRDY100 als Binärsignal 1 abgibt, wodurch der Bereitschaftzustand signalisiert ist.
i'.s sei ferner darauf hingewiesen, daß das NAND-Glied 750-7223^ außerdem das Signal IBUFRDY100 als Binärsignal 1 dann abgibt, wenn ein Befehlsaufruf-Bereitschaftsignal IFiCTCHRDYOOO als Binärsignal 0 von den Schaltungen des Blockes 750-920 abgegeben wird. Das Signal IFETCHRDYOOO ist ein Binärsignal 0, allerdings abgesehen davon, daß die Befehle aus einem Block in dem Cache speicher herausgenommen werden. Schließlich gibt das NAND-Glied 750-72234 das Signal 1BUFRDY100 als Binärsignal 1 dann ab, wenn ein Befehlspuffer-Vergleichssignal 1BUFCMPR000 als Binär-Gignal 1 von der Vergleicherschaltung 750-11435 abgegeben wird.
030025/0769
Nunmehr wird der Bereich 750-9 näher erläutert. Die einzelnen Blöcke des Bereichs 750-9 sind in Fig. 7e im einzelnen dargestellt. Dabei sind soweit wie möglich entsprechende Bezugszeichen verwendet worden.
Aus Fig. 7e geht hervor, daß der Block 750-920 eine erste Gruppe von Schaltungen des Blockes 750-92000 enthält, die die vier Reihen von Schreibsteuersignalen WRT00100 bis WRT70100, WRT01100 bis WRT71100, WRT02110 bis WRT72100 und WRT0300 bis WRT73100 erzeugen. Wie aus Fig. 7e ferner hervorgeht, enthalten diese Schaltungen zwei Multiplexerschaltungen 750-92002 und 750-92004, ein Register 750-92006 und vier Oktal-Decoderschaltungen 750-92008 bis 750-92014. Diese Schaltungseinrichtungen sind dabei in der dargestellten Weise miteinander verbunden.
Die Multiplexerschaltung 750-92002 erhält Signale RHITLEV0100 bis RHITLEV2100 von dem Block 750-512 her zugeführt, die der Reihe von "O"-Eingangsanschlüssen zugeführt werden, während die Signale RTBLEV0100
030025/0769
bis RTBLEV2100 der Reihe der "1"-Eingangsanschlüsse zugeführt werden. Während der ersten Hälfte eines T-Zyklus werden dann, wenn das Signal FDFN2HT100 als Binärsignal O dem Steueranschluß G0/G1 zugeführt wird, die Signale RHITLEV0100 und RHITLEV2100 den Ausgangsanschlüssen zugeführt. Die betreffenden Signale werden taktgesteuert in die oberen drei Flipflops des Registers 750-92006 auf das Auftreten des T-Taktsignals CLKHT02 eingeführt. Dies ermöglicht dem Prozessor, Operanden in den Cachespeicher 750-300 während der zweiten Hälfte des T-Taktzyklus einzuschreiben. Während der zweiten Hälfte eines T-Zyklus werden dann, wenn das Signal FDFN2HT100 als Binärsignal 1 auftritt, die Signale RTBLEV0100 bis RTBLEV2100 taktgesteuert in das Register 750-92006 auf das Auftreten des T-Taktsignals CLKHT02 eingeführt. Dies ermöglicht, Speicherdaten in den Cachespeicher 750-300 während der ersten Hälfte des nächsten Zyklus einzuschreiben.
Die zweite Multiplexerschaltung 750-92004 erhält Signale Z0NE0100 bis Z0NE3100 von dem Schalter 750-144 her zugeführt, die an die Reihe der "O"-Eingangsanschlüsse abgegeben werden, während das Signal MEMWRTREQ. 100 von dem Block 750-112 an die Reihe der "1"-Eingangsanschlüsse abgegeben wird. Wenn das Signal FDFN2HT100 als Binärsignal 0 auftritt, dann werden die Signale Z0NEO10O bis Z0NE3100 an die Ausgangsanschlüsse abgegeben. Die betreffenden Signale werden taktgesteuert in die unteren drei Flipflops des Registers 750-9206 auf das Auftreten des T-Taktsignals CLKHT02 hin eingeführt. Während der ersxen Hälfte eines T-Taktzyklus gibt das NAND-Glied 750-92005 das Signal ENBWRT100 als Binärsignal 1 ab, wodurch ermöglicht ist, die zuvor geladenen Signale an die Ausgangsanschlüsse abzugeben. Dies ermöglicht, die Prozessor-Zonenbits dazu heranzuziehen festzulegen, welche Operandenbytes zu aktualisieren sind, wenn Prozessor-Daten
030025/0769
in die spezifizierte Ebene "des Cachespeichers geschrieben werden. Wenn das Signal FDFN2HT100 als Binärsignal 1 auftritt, dann wird das Signal MEMWRTREQ100 taktgesteuert in das Register 750-92006 eingeführt. Dies bewirkt, daß sämtliche Zonenbits als binäre Einsen auftreten, wodurch sämtliche Bytes des von dem Speicher aufgenommenen jeweiligen Datenworts in die bezeichnete Ebene des Cachespeichers während der ersten Hälfte des nächsten T-Taktzyklus eingeschrieben werden.
Wie aus Fig. 7e ersichtlich ist, werden unterschiedliche Signale der Signale RWRTLEV0100 bis RWRTLEV2100 an die Freigabe-Eingangsanschlüsse der Oktal-Decoderschaltungen 750-92008 bis 750-92-14 abgegeben. Die Signale RWRTLEV0100 bis RWRTLEV2100 werden an die Eingangsanschlüsse jeder der Oktal-Decoderschaltungen 750-92008 bis 750-92014 abgegeben.
Der Block 750-920 enthält eine zweite Gruppe von Schaltungen des Blockes 750-92020. Diese Schaltungen erzeugen das 1/2-T-Taktsignal, welches an die Schaltungen des Blockes 750-92000 abgegeben wird, das Freigabe-Speicherebenensignal ENABMEMLEV100 und das Freigabeadressensignal ENADR1100, das an die Schaltungen des Blockes 750-303 abgegeben wird. Außerdem erzeugen diese Schaltungen die Reihe der Steuersignale ZIC010, ZIC110 und RICA100, RICB100, die an die Schaltungen der Befehlsadressenregister 750-900 und 750-902 zusätzlich zu den Steuersignalen RIRA100 und RICB100 abgegeben werden, die den Registern 750-308 und 750-310 zugeführt werden.
Die Schaltungen des Blockes 750-92020 enthalten zwei HalbbegTOEungs-Flipflops eines Registers 750-92022, eine Gruppe von drei Steuer-Flipflops des Register 750-92024 und ein taktgesteuertes Flipflop 750-92026. Die Schaltungen enthalten ferner eine Anzahl von UND-Gliedern, NAND-Glieder, UND/NAND-Glieder und UND/ODER-
030025/0769
Glieder 750-92030 bis 750-92041.
Die in Reihe geschalteten Verknüpfungsglieder, nämlich das UND/NAND-Glied 750-92030, das UND/ODER-GIied 750-92032 und die UND-Glieder 750-92034 und 750-92035 erzeugen auf das Auftreten eines Signals FLDQUAD100 von der Einrichtung 750-916 her, auf das Auftreten eines Signals FWFIDESC010 von dem Prozessor 700 her und auf das Auftreten der Signale FACTVRICOOO und FACTVRIC100 von dem Register 750-92024 her Steuersignale ZICOOO, ZIC010 und ZIC110. Diese Signale werden dazu herangezogen, den Betrieb des ZIC-Schalters 750-906 und der verschiedenen Bereiche der Register 750-900 und 750-902 (beispielsweise die Ebenen-Gültigkeitsbit-Speicherung und die Ebenen-Bitspeicherung) zusätzlich zu den zugehörigen Registern zu steuern.
Die in Reihe geschalteten Verknüpfungsglieder, nämlich das UND-Glied 750-92036, das UND/NAND-Glied 750-92037 und NAND-Glieder 750-92038 bis 750-92041 werden in der Weise betrieben, daß Registerabtastsignale RICA100 und R1CB100 erzeugt werden. Diese Signale steuern das Laden der Register 750-900 und 750-902. Das UND-Glied 750-92036 bewirkt die Abgabe des Signals VALRDIBUFIuO als Binärsignal 1, wenn ein Trefferzustand im Falle eines Lesebefehls ermittelt worden ist (d.h. dann, wenn das Signal FRDMISSOOO als Binärsignal 1 auftritt), wenn ferner die übertragung bzw. der Transfer durch einen Übertragungsbefehl gegeben war (d.h., daß das Signal N0G0020 als Binärsignal 1 aufgetreten ist) und wenn das Signal CMPDATA/ICLEVOOO von der Vergleicherschaltung des Blockes 750-912 her ein Binärsignal 1 ist.
Das Signal FRDMISSOOO wird vom Null-Ausgang des Flipflops (nicht dargestellt) erhalten, welches - wie erwähnt - entsprechend folgendem Boolschen Ausdruck gesetzt wird:
030025/0769
Q.09
FRDMISS = (RDCMD.HOLDDMEM·HITTOIC·CANCELC}.
Die Signale G00DFTCHA100 und G00DFTCHB100, die von (nicht dargestellten) Schaltungen erzeugt werden, zeigen an, ob das RICA-Register 750-900 oder das RICB-Register 750-902 zu dem betreffenden Zeitpunkt benutzt worden ist; die Inhalte der betreffenden Register werden erhöht. So wird beispielsweise das Signal G00DFTCHA100 entsprechend folgendem Boolschen Ausdruck erzeugt: GOODFTCHA = INSTIF3T · FLDQUAD· FACTVRIC · FDEN2HT + FDFN2HT·
FLDQUAD.FACTVRIC.
Das Signal GOODFTCHB wird in einer entsprechenden Weise erzeugt, allerdings abgesehen davon, daß die Zustände der Signale FACTVRIC und FACTVRIC umgekehrt sind.
Es dürfte ersichtlich sein, daß dann, wenn das Signal EXECRDIBUF100 als Binärsignal 1 auftritt, währenddessen der Prozessor 700 das Signal RDIBUF110 als Binärsignal 1 abgibt, das NAND-Glied 750-92039 das NAND-Glied 750-92041 veranlaßt, das Signal RICA100 als Binärsignal 1 dann abzugeben, wenn das Signal G00DFTCHA100 als Binärsignal 1 auftritt. Das Signal ENBSTRBAOOO zeigt an, .wann das RICA-Register 750-900 anfangs geladen wird. Dies bedeutet, daß dann, wenn das Signal ENBSTRBAOOO als Binärsignal 0 auftritt, das NAND-Glied 750-92041 das Signal RICA100 als Binärsignal 1 abgibt. Das Signal ENBSTRBA wird speziell entsprechend folgendem Boolschen Ausdruck erzeugt:
ENbSTRBA = FLDQUAD·FACTVRIC·FNEWlFl. FDFNlIlT + FDFNlHT-FACTVRIC-FJAWZNICLEV.FHOLDiTT + (INSTIFl + DCDLDQUAD) · F/vCTVRIC · FDFN2HT . (CANCLCMD
+ FDFi>l2HT.T2IC-INH2HT-EN;vB2HT. Dabei siniENAB2HT = ENABRICl + ENABRIC2 INHlHT «= [CANCLCMD. FL AST INST.
Unter jeder Reihe von Bedingungen geben die Signale RICA100 und RICB100 die Abtastung ihrer entsprechenden Register
030025/0769
frei, wenn diese zunächst geladen worden sind, oder im Anschluß an eine Inkrementierung, wie dann, wenn Befehle aufgehoben oder aus dem Cachespeicher herausgeführt werden.
Das NAND-Glied 750-92042, das UND/NAND-Glied 750-92043 und die NAND-Glieder 750-92044 bis 750-92049 sind derart geschaltet, daß Registerabtastsignale RIRA100 und RIRB100 in ähnlicher Weise erzeugt werden wie die Registerabtastsignale RICA100 und RICB100.
Das NAND-Glied 750-92046 gibt das Signal RIRA100 als Binärsignal 1 im Falle eines neuen Befehlsabrufes ab (d.h. dann, wenn das Signal NEWINSTOOO ein Binärsignal 0 ist) oder dann, wenn der Prozessor 700 einen Befehl aus dem RIRA-Register 750-308 entnimmt (d.h. dann, wenn das Signal TAKEINSTOOO ein Binärsignal 0 ist). Das NAND-Glied 750-92049 gibt das Signal RIRB100 im Falle eines neuen Operandenaufrufs ab (d.h. dann, wenn das Signal NEWDATAOOO ein Binärsignal 0 ist) oder dann, wenn der Prozessor 700 ein Datenwort aus dem RIRB-Register 750-310 entnimmt (d.h. dann, wenn das Signal TAKEDATAOOO ein Binärsignal 0 ist).
Das UND-Glied 750-92050 und das UND/NAND-Glied 750-92051 erzeugen das Signal ENBMEMLEV100 während der zweiten Hälfte eines T-Taktzyklus (was bedeutet, daß das Signal FDFN2HT101 ein Binärsignal 1 ist), wenn die Schaltungen des ülockes 750-112 das Speicherschreib-Anforderungssignal MEMWRTREQ100 als Binärsignal 1 abgeben. Das NAND-Glied 750-92052 erzeugt das Signal ENBADR1100 während der zweiten Hälfte eines T-Taktzyklus (was bedeutet, daß das Signal FDFN1HT101 als Binärsignal 0 auftritt) oder dann, wenn der Befehlszähler benutzt wird (was bedeutet, daß das Signal USEICOOO ein Binärsignal 0 ist).
03G0 25/0769
Im Hinblick auf die Flipflop-Register ist ersichtlich, daß das Flipflop des Registers 750-92026 in den Binärzustand 1 über ein erstes UND-Glied dann geschaltet wird, wenn das UND-Glied 750-92053 veranlaßt wird, das Signal INSTIF1100 als Binärsignal 1 abzugeben, und zwar in Abhängigkeit davon, daß ein IF1-Befehl durch die Decoderschaltung 750-922 decodiert wird (was bedeutet, daß das Signal DCDIF1100 ein Binärsignal 1 ist). Dieser Befehl bzw. dieser Vorgang erfordert dabei keine zusätzlichen Deskriptoren (was bedeutet, daß das Signal FFPIMEIS020 von dem Prozessor 700 her ein Binärsignal 1 ist). Außerdem gibt das UND-Glied 750-92054 das Signal CANCELCMDOOO als Binärsignal 1 auf das Vorliegen keines Löschzustandes hin ab (was bedeutet, daß das Signal CANCELC010 ein Binäi signal 1 ist). Außerdem liegt kein Haltezustand vor, was bedeutet, daß das Signal H0LDDMEM001 ein Binärsignal 0 ist.
Das Flipflop-Register 750-92026 wird in den Binärzustand über ein zweites eingangsseitig vorgesehenes UND-Glied zurückgesetzt, welches die Signale ENABNEWINSTOOO und NEWIF1FDBK100 von zwei NAND-Gliedern 750-92042 und 750-92043 und dem UND-Glied 750-92055 her aufnimmt. Das am 1-Ausga ng des Flipflop-Registers 750-92026 auftretende Ausgangssignal wird dem NAND-Glied 750-92056 zugeführt. Dieses NAND-Glied gibt während der ersten Halte eines T-Taktzyklus (was bedeutet, daß das Signal FDFN1HT100 als Binärsignal 1 auftritt) das Signal USEICOOO als Binärsignal 0 ab, wenn das Signal FNEWIF1100 als Binärsignal 1 auftritt.
Das zweite Flipflop-Register 750-92022 umfaßt die beiden Zeitsteuerungs-Flipflops, die beide in den Binärzustand auf das Auftreten des Signals GATEHFTCLK100 hin gesetzt werden, welches aus dem Bereich 750-5 stammt, und zwar das Auftreten des 1/2-T-Taktsignals CLKHT021 hin. Die
03CU25/0769
Flipflops des Registers 750-92022 werden in den Nullzustand auf das Auftreten des nächsten 1/2-T-Taktsignals CLKHT021 hin zurückgesetzt.
Die Flipflops des Registers 750-92024 liefern, wie bereits erwähnt, verschiedene Zustandssteuersignale. Das erste Flipflop (FRDIBUF) wird in den Binärzustand 1 dann umgeschaltet, wenn das NAND-Glied 750-92060 das Signal SETRDIBUF100 als Binärsignal 1 auf das Auftreten eines Lese-I-Pufferanforderungssignals von dem Prozessor 700 hin abgibt (das bedeutet, daß das Signal EXECRDIBUFOOO als Binärsignal 0 auftritt) oder bei Vorliegen eines Sperr-Bereitschaftszustands (was bedeutet, daß das Signal FINHRDX010 als Binärsignal 0 auftritt), wenn das UND-Glied 750-92061 das Signal ENABSETRDIBUF100 als Binärsignal 1 abgibt. Das Signal ENABSETRDIBUF100 wird als Binärsignal 1 im Falle eines Befehles abgegeben, der nicht ein Lade-Vierer-Befehl ist (was bedeutet, daß das Signal FLDQUADOOO ein Binärsignal 1 ist) oder im Falle eines Instruktion-Aufruf-1-Befehls (was bedeutet, daß das Signal G00D1F1000 ein Binärsignal 1 ist). Das FRDIBUF-Flipflop wird eine Taktperiode später auf das Auftreten des T-Taktsignals CLKT021 über ein zweites eingangsseitiges UND-Glied zurückgesetzt.
Das zweite Flipflop (FACTVRIC) des Registers 750-92024 wird in Übereinstimmung mit den oben angegebenen Boolschen Ausdrücken über die NAND-Glieder 750-92062 und 750-92064, über das UND-Glied 750-92063 und das UND/NAND-Glied 750-92065 gesetzt bzw. zurückgesetzt. Das dritte Flipflop (FRDDATA) wird in den Binärzustand über ein erstes eingangsseitiges UND-Glied auf das Auftreten des Signals SETRDIBUF100 gesetzt, wenn der Befehl ein Lade-Vierer-Befehl ist (was bedeutet, daß das Signal FLDQUAD100 ein Binärsignal 1 ist). Das FRDDATA-Flipflop wird in den Binärzustand 0 eine
030025/0769
2 ΊΆ
Taktperiode später zurückgesetzt, und zwar über ein zweites eingangsseitiges UND-Glied auf das Auftreten des T-Takteignals CLKT021 hin.
Die nächste Gruppe von Schaltungen innerhalb des Blockes 750-920 umfaßt die Schaltungen des Blockes 750-92070. Wie aus Fig. 7e hervorgeht, umfassen diese Schaltungen eine erste Vielzahl von UND-Gliedern, UND/NAND-Gliedern und NAND-Gliedern 750-92071 bis 750-92086. Diese Verknüpfungsglieder sind dabei in der dargestellten Weise geschaltet. Sie erzeugen Steuersignale SETACURLEV100, RICACNTL100 und RSTACURLEV2000, die das Setzen und Rücksetzen der vorliegenden Ebenen- und der Ebenen-Gültigkeitsbit-Positionen des RICA-Registers 750-900 in Übereinstimmung mit den Zuständen der Signale SETALEV1VAL100, RSTALEV1VALOOO und SETLEV2VAL100 steuern. Diese Signale werden durch eine weitere Vielzahl von UND-Gliedern und NAND-Gliedern 750-92087 bis 750-92095 erzeugt.
Eine zweite Vielzahl von UND-Gliedern, UND/NAND-Gliedern und NAND-Gliedern 750-92100 bis 750-92116 erzeugt in einer entsprechenden Weise Signale SETBCURLEV100, RSTBCURLEV200 und RICBCNTL100, durch die die vorliegenden Ebenen- und GUltigkeitsbits für das RICB-Register 750-902 gesetzt bzw. zurückgesetzt werden, und zwar in Übereinstimmung mit den Signalen SETBLEV1VAL100, RSTBLEV1VALOOO und SETBLEV2VAL100. Diese Signale werden in einer weiteren Vielzahl von UND-Gliedern und NAND-Gliedern 750-92120 bis 750-92125 erzeugt.
Eine Vielzahl von UND-Gliedern 750-92126 bis 750-92129 erzeugt auf das Auftreten der Signale SETALEV1VAL100, SETBLEV1VAL100, SETALEV2VAL100 und SETBLEV1VAL100 hin Steuersignale RICALEV1100 bis RICBLEV2100, wenn das Signal CANCELCMDOOO ein Binärsignal 1 ist. Diese
030025/0769
Signale werden an die Steuereingangsanschlüsse der Ebenen-Bitspeicherbereiche der RICA- und RICB-Register 750-900 und 750-902 zur Steuerung des Ladens der Treffer-Ebenensignale aus dem Bereich 750-512 abgegeben.
Eine weitere Vielzahl von UND/NAND-Gliedern, UND/ODER-Gliedem und NAND-Gliedern 750-92130 bis 750-92137 gibt auf Signale von den Ebenen-Gültigkeitsbit-Speicherungsund Ebenen-Speicherbereichen der Register 750-900 und 750-902 das Verwendungs-Transitpuffer-Bereitschaftssignal USETBDY100 und die Steuersignale ZRIB010 und ZIB100 ab, die an die Schaltungen des Blockes 750-114 abgegeben werden.
Es ist ferner ersichtlich, daß der Block 750-92070 ein vier D-Flipflops umfassenden Register 750-92140, zwei UND-Glieder 750-92141 und 750-92142, zwei UND/NAND-Glieder 750-92143 und 750-92144 sowie zwei UND/ODER-Glieder 750-92145 und 750-92146 umfaßt, die in der dargestellten Weise angeschlossen sind. Die Flipflops des Registers 7^0-92140 werden mit dem Inhalt der Bitpositionen 8 und 9 der RICA- und RICB-Register 750-900 und 750-902 auf das Auftreten des T-Taktsignals CLKHT020 hin unter der Steuerung der Signale RICA100 und RICB100 geladen. Dies bedeutet, daß das obere Paar der Register-Flipflops taktgesteuert wird, wenn das an den Anschluß C1 angelegte Signal RCIA100 als Binärsignal 1 auftritt, während das untere Paar der Register-Flipflops dann taktgesteuert wird, wenn das an den Anschluß G2 angelegte Signal RICB100 als Binärsignal 1 auftritt. Die an die Anschlüsse G3 und G4 abgegebenen Signale ZICOOO und ZU00 steuern unabhängig voneinander die Erzeugung von Ausgangssign_alen von dem oberen Paar der Flipflops bzw. von dem unteren Paar der Flipflops an den entsprechenden Reihen von Ausgangsanschlüssen.
Q30025/0769
Die Paare von binären O-Ausgangssignalen werden mittels der UND-Glieder 750-92141 und 750-92142 verknüpft, um Adressensignale ZEXT0100 und ZEXTHOO zusätzlich zu Jenen Signalen zu erzeugen, die für die Erzeugung des Steuersignals NEXTLEVVA100 erforderlich sind, welches an die Steuereingangsanschlüsse der Vergleicherschaltung 750-912 abgegeben wird.
Eine letzte Gruppe von Schaltungen umfaßt ein Flipflop-Register 750-92150 und eine Vielzahl von UND-Gliedern, ein UND/NAND-Glied, NAND-Glieder und UND/ODER-Glieder 750-92151 bis 750-92156. Diese Schaltungen sind so geschaltet, daß das Signal IFETCHRDYOOO erzeugt wird, welches an die Schaltungen des Bereiches 750-114 abgegeben wird. Die Verknüpfungsglieder 750-92153 und 750-92154 sind so geschaltet, daß Zeitsteuersignale DFN2HT101 und DFN2HT100 auf das Auftreten eines Signals FHT010 von dem Block 750-112 her erzeugt werden. Diese Signale werden als Binärsignale 1 während der zweiten Hälfte eines T-Taktbetriebszyklus auftreten.
Das Flipflop-Register 750-92150 wird über ein erstes eingangsseitiges UND-Glied dann in den Binärzustand 1 gesetzt, wenn die UND-Glieder 750-92151 und 750-92152 die Signale SETINHRDY100 und CANCELINHRDYOOO als Binärsignale 1 abgeben. Das betreffende Register wird in den Binärzustand 0 über ein zweites eingangsseitiges UND-Glied dann zurückgesetzt, wenn das NAND-Glied 750-92155 das Signal RSINHRDYOOO als Binärsignal 0 abgibt. Das am Null-Ausgang des Registers 750-92150 auftretende Binärsignal wird dem UND/ODER-GIied 750-92156 zugeführt. Wenn das Signal FINHRDYOOO als Binärsignal 0 auftritt, veranlaßt dies das Verknüpfungsglied 750-92156, das Signal IFETCHRDYOOO als Binärsignal 1 abzugeben.
Darüber hinaus zeigt Fig. 7e im einzelnen den Schalter 750-910 und die Vergleicherschaltungen der Blöcke 750-912
Θ30025/0769
und 750-914. Der Schalter 750-910 ist ein Crossbar-Schalter, der in der oben beschriebenen Weise arbeitet. Die W-Ausgangssignale wählen eines der beiden Reihen von Signalen aus, die an die Anschlüsse AO und A1 abgegeben sind, und zwar in Übereinstimmung mit dem Zustand des Signals ZIC110. Die X-Ausgangssignale wählen eine der beiden Reihen von Signalen aus, die an die Anschlüsse A3 und A4 abgegeben sind, und zwar in Übereinstimmung mit dem Zustand des Signals ZIC110. Die Ausgangssignale Y und Z wählen eine der vier Reihen von Signalen aus, die an die Anschlüsse A0-A4 angelegt sind, und zwar in Übereinstimmung mit den Zuständen der Signale ZIC110, ZN1CLEV100 und ZIC110, ZCURLEV100.
Die Ausgangssignale ZNICLEV0100 bis ZNICLEV2100 von den Y-Ausgangsanschlüssen der Schaltung 750-910 her werden den B-Eingangsanschlüssen der Vergleicherschaltung 750-912 zum Vergleich mit den Signalen RTBLEV0100 bis RTBLEV2100 aus dem Bereich 750-102 zugeführt. Die Vergleicherschaltung 750-912 ist dann freigegeben, wenn die Decoderschaltung 750-922 einen IF1-Befehl decodiert hat (was bedeutet, daß das Signal DEC0DEIF1010 als Binärsignal 1 auftritt) und wenn das Signal NEXTLEWAL100 als Binärsignal 1 auftritt. Der Vergleich führt zur Erzeugung von Signalen CMPDATA/ICLEV100 und ZMPDATA/ICLEVOOO.
Die anderen Vergleicherschaltungen der Blöcke 750-912 und 750-914 arbeiten in einer entsprechenden Weise, um Signale CMPC0RLEV100 und CMPALTLEV100 zu erzeugen. Der andere Bereich der Schaltung 750-912 vergleicht im einzelnen die Signale ZICLEV0100 bis ZICLEV2100 mit den Signalen C7RR0100 bis C7RR2100. Wenn eine Übereinstimmung vorliegt, wird das Signal CMPCURLEV100 als Binärsignal 1 abgegeben. Dieser Bereich wird über ein NAND-Glied 750-91202 dann freigegeben, wenn entweder das Signal ZLEV1VAL000 oder das Signal ZLEV2VAL000 als Binärsignal 0 auftritt.
030025/0769
Die Vergleicherschaltung 750-914 weist zwei Abschnitte bzw. Bereiche auf, die durch Paare von Signalen ZCURLEV100, ZLEV1VAL100 und ZCURLEVOOO, ZLEV2VAL100 freigegeben werden. Der erste Bereich vergleich die Ebenen-1-Signale ZLEV10100 bis ZLEV12100 mit den Umlaufsignalen C7RR0100 bis C7RR2100. Wenn eine Übereinstimmung erzielt wird, wird das am Anschluß A=B auftretende Ausgangssignal als Binärsignal 0 auftreten, wodurch das NAND-Glied 750-91402 veranlaßt wird, das Signal CMPALTLEV100 als Binärsignal 1 abzugeben.
In entsprechender Weise vergleicht der zweite Bereich die Ebenen-2-Signale ZLEV20100 bis ZLEV22100 mit den Umlaufsignalen C7RR0100 bis C7RR21OO. Wenn eine Übereinstimmung ermittelt wird, tritt das Ausgangssignal als Binärsignal 0 auf, wodurch das NAND-Glied 750-91402 veranlaßt wird, das Signal CMPALTLEV100 als Binärsignal 1 abzugeben.
680025/0769
Unter Bezugnahme auf Fig. 1 bis 7e und unter Bezugnahme auf das in Fig. 8 dargestellte Zeitdiagramm wird nunmehr die Arbeitsweise der bevorzugten Ausführungsform der Erfindung näher erläutert.
Aus Fig. 8 geht hervor, daß ein T-Taktzyklus in eine erste Hälfte und in eine zweite Hälfte aufgeteilt ist, wie dies durch den Signalverlauf D veranschaulicht ist. Dies bedeutet, daß dann, wenn das Signal FHT1OO ein Binärsignal 1 ist, was in Fig. 8 durch den negativen Signalteil veranschaulicht ist, dadurch die erste Hälfte eines T-Taktzyklus festgelegt ist. Wenn das Signal FHT1OO ein Binärsignal 0 ist, wie dies durch den positiven Signalteil veranschaulicht ist, dann ist dadurch die zweite Hälfte eines T-Taktzyklus festgelegt.
Während der ersten Hälfte des T-Taktzyklus werden Befehle bzw. Instruktionen aufgerufen, und Speicherdaten werden in den Cachespeicher 750-300 eingeschrieben, wenn kein Konflikt vorhanden ist, wie dies hier erläutert wird. In beiden Fällen wird die Ebene, zu der ein Zugriff erfolgt, bereits bereitgestellt. Dies bedeutet im Hinblick auf Befehle, daß die Ebene entweder in dem RICA-Befehlsadreßregister oder in demRICB-Befehlsadreßregister zu dem Zeitpunkt gespeichert ist, zu dem ein IF1-Befehl oder ein IF2-Befehl ausgeführt worden ist, der von dem Prozessor 700 her aufgenommen worden ist. Im Hinblick auf Speicherdaten bedeutet dies, daß die Ebene in einem der Registerspeicherplätze des Transitblockpuffers 750-102 gespeichert ist, und zwar infolge der Tatsache, daß die Schaltungen des Blockes 750-520 einen Fehl-Zustand ermittelt haben, durch den der Cachespeicher 750 veranlaßt worden ist, die angeforderten Daten aus dem Speicher aufzurufen. Während der zweiten Hälfte eines T-Taktzyklus erfolgt entweder ein Zugriff zu Operandendaten aus dem Cachespeicher, oder
Θ80025/0769
2949S71
Prozessordaten werden in den Cachespeicher eingeschrieben. Dies erfolgt in Übereinstimmung mit den Ergebnissen eines Adreßlisten-Suchvorgangs.
Demgemäß ermöglicht es die Anordnung der bevorzugten Ausführungsform der vorliegenden Erfindung, Speicherdaten in eine Cachespeicher-Ebene einzuschreiben, während ein nächster Befehl aus einer der übrigen Ebenen während eines T-Taktbetriebszyklus aufgerufen wird. Dadurch ist die Forderung nach Abhalten oder Verzögern des Zugriffs zu Befehlen zum Zwecke des Einschreibens von Speicherinformationen/Daten vermieden. Wenn die Ebene, in die Speicherdaten eingeschrieben werden, die gleiche Ebene ist wie jene, aus der ein Befehl aufgerufen wird, dann wird der Zugriff eines Befehls solange verzögert, bis das Schreiben von Speicherdaten beendet worden ist.
Wie oben beschrieben, wird eine Adresse von dem Prozessor 700 her in sämtliche Adreßregister zu Beginn der zweiten Hälfte des Zyklus geladen, um eine mögliche Lese- oder Schreiboperation mit dem zweiten Halbzyklus des T-Taktzyklus zu initiieren. Deshalb ermöglicht in solchen Fällen, in denen das Einschreiben von Speicherdaten in Konflikt steht mit einem ßefehlszugriff.eine alternative Anordnung die Ausnutzung der zweiten Hälfte T-Taktzyklus, um eine Prozessor-Leseoperation und eine Speicherdaten-Schreiboperation auszuführen.
Diese zuletzt genannte Anordnung ermöglicht es, Speicherdaten in eine Cachespeicher-Ebene einzuschreiben, während ein Operand aus einer der übrigen Ebenen während eines T-Taktbetriebszyklus aufgerufen wird.
Wenn die Ebene, in die die Speicherdaten eingeschrieben werden, die gleiche Ebene ist, aus der ein Prozessoroperand aufzurufen ist, dann wird der Zugriff zu den Ope-
030025/0769
randen jedoch so weit verzögert, bis das Einschreiben der Speicherdaten abgeschlossen worden ist. Ein Konflikt ergibt sich außerdem dann, wenn Speicherdaten in eine Ebene eingeschrieben werden und wenn der Prozessor Operandendaten in eine andere Ebene einschreibt.
Um die obigen Operationen zu veranschaulichen, sei beispielsweise angenommen, daß der Prozessor 700 die Folge von Befehlen verarbeitet, die einen Lade-A-Befehl (LDA), einen Speicher—Α-Befehl (STA), einen Lade-A-Befehl (LDA), einen Speicher-A-Befehl (STA) und einen nächsten Befehl umfassen, wie dies in Fig. 8 veranschaulicht ist. Das Format dieser Befehle ist an anderer Stelle näher erläutert (siehe die Druckschrift "Series (Level 66)/6000 MACRO Assembler Program (GMAP)" der Firma Honeywell Information Systems, Inc., Copyright 1977, Bestell Nr. DDOBB, Rev. 0. Es dürfte einzusehen sein, daß der Prozessor 700 die vier Befehle in einem sogenannten Pipeline-Vorgang ausführt, wie dies an anderer Stelle näher veranschaulicht ist.
Der Prozessor 700 führt verschiedene Operationen während der I-, C- und E-Operationszyklen im Zuge der Ausführung von Befehlen aus. Dies führt zur Abgabe von Cachespeicher-Befehlen von dem Prozessor 700 an die CacheSpeichereinheit 750. Zum Zwecke einer einfachen Erläuterung sei angenommen, daß die Befehle in der Cachespeichereinheit 750-300 enthalten sind.
Es dürfte einzusehen sein, daß an einer gewissen Stelle während der Befehlsverarbeitung der Prozessor 700 eines der Befehlsadreßregister RICA/RICB mit der Adressen- und Ebenen-Information lädt. Dies ergibt sich üblicherweise als Folge der Ausführung eines Transfer- oder Verzweigungsbefehls durch den Prozessor, was dazu führt, daß der Prozessor 700 einen Befehl IF1 ausführt, dem ein IF2-Befehl folgt. Auf die Ausführung dieser Befehle
030025/0769
29A9S71
durch die CacheSpeichereinheit 750 hin läuft der Aufruf von Befehlen während der ersten Hälfte eines T-Taktzyklus und von Operanden während der zweiten Hälfte des T-Taktzyklus in der aus Fig. 8 ersichtlichen Weise ab.
Zum Zwecke einer einfachen Erläuterung sei angenommen, daß der IF1-Befehl eine Adresse um_faßt, die das Abholen bzw. den Aufruf des ersten Befehlswortes eines Blockes von Befehlen in den Cachespeicher festlegt, welcher Block die oben erwähnte Folge von Befehlen umfaßt. Nunmehr sei die Arbeitsweise der Cachespeichereinheit 750 hinsichtlich der Ausführung der Befehle 1F1 und IF2 kurz erläutert. Der IF1-Befehl wird auf die Aufnahme durch die Cachespeichereinheit 750 mittels der Decoderschaltungen 750-922 decodiert„ Diese Decoderschaltungen veranlassen die Schaltungen des Blockes 750-920, Signale zu erzeugen, durch die das andere Befehlsadreßregister geladen wird, welches als das Register RICA angenommen wird, in dieses andere Register werden Signale geladen, die dem inkrementierten Wert der in dem IF1-Befehl enthaltenen Adresse entsprechen.
Dies bedeutet, daß die Adressensignale von dem Schalter 750-530 her während des ersten T-Taktzyklus um 1 inkrementiert werden, was durch die Schaltung 750-912 geschieht, und daß der inkrementierte Wert in das RICA-Befehlsadreßregister 750-900 auf das Auftreten des 1/2-T-Taktsignale CLKHT100 hin geladen wird, wenn das Signal RICA100 als Binärsignal 1 auftritt. Das Signal RICA100 wird als ^inärsignal 1 von den Schaltungen 750-920 dann abgegeben, wenn das Signal ENBSTRBAOOO gemäß Fig. 7e als Binärsignal 0 während der ersten Hälfte des ersten T-Taktzyklus auftritt.
Während der ersten Hälfte des ersten T-Taktzyklus wird die IF1-Befehlsadresse in sämtliche RADRO-7-Register 75O-3D1A
030025/0769
bis 750-301N über die ZADRO-7-Adressenauswahlschalter 75O-3O2A bis 750-302N auf das Auftreten des Signals CLKHT100 hin geladen. Während der ersten Hälfte des T-Taktzyklus tritt das Signal ENBMEMLEV100 als Binärsignal 0 auf. Außerdem ist das Signal ENBADR1100 ein Binärsignal 0 (was bedeutet, daß das Steuerzustands-FNEVIF1-Flipflop 750-92026 auf das Auftreten des T-Taktsignals hin bei Vorliegen des Signals CLKT021 umschaltet, wie dies hier erläutert wird). Deshalb sind die Signalpaare ZADR01100, ZADR00100 bis ZADR71100, ZADR70100 jeweils durch Binärsignale 0 gegeben, wodurch die Position 0 als Adressenquelle für sämtliche acht Adreßregister 750-301A bis 750-301N ausgewählt wird.
Die 1F1-Befehlsadresse wird außerdem als Eingangssignal an die Adreßlistenschaltungen des Blockes 750-502 über den ZDAD-Schalter 750-530 für einen Suchoperationszyklus abgegeben. Da der Befehlsblock in dem Cachespeicher enthalten ist, erzeugen die Schaltungen des Blockes 750-512 die geeigneten Treffer-Signale HITT0C7100 und die Treffer-Ebenen-Signale HITLEVC70100-2100, die an den Bereich 750-9 abgegeben werden. Die Decodierung des IF1-Befehls bewirkt, daß die Treffer-Ebenen-Signale HITLEVC70100-2100 in die Ebene-1-Bitpositionen des RICA-Befehlsadreßregisters geladen werden. Außerdem werden das Ebene-1-GUltigkeitsbit und die Treffer/Fehl-Bitpositionen des RICA-Registers 750-900 binäre Einsen erhalten (was bedeutet, daß das Treffer-Signal HITT0C7100 die Treffer/ Fehl-Bitposition in eine binäre 1 umschaltet). Der gespeicherte Ebene-1-Wert wird danach dazu herangezogen, den Betrieb des ZCD-Schalters 750-306 während der nachfolgenden Befehlsaufrufe zu steuern, wie dies erläutert wird.
Der erste Befehl, zu dem ein Zugriff von der Stelle aus erfolgt, die durch die 1F1-Adresse bezeichnet ist, wird
030025/0769
als Operandenwort dem Prozessor 700 während der zweiten Hälfte des ersten T-'i'aktzyklus über die Stellung 1 des ZDI-Schalters 750-312 zugeführt, und zwar während des Endes des ersten T-Taktzyklus. Der erste Befehl wird durch Taktsteuerung in das RBIR-Register 704-152 des Prozessors 700 eingeführt, und zwar auf das Auftreten des T-Taktsignals CLKT100 hin.
Das Signal FJAMZNICLEVOOO gibt die Übertragung des nächsten Befehls zu dem Prozessor 700 hin während der zweiten Hälfte des zweiten T-Taktzyklus frei. Dieses Signal wird als ßinärsignal 0 von den Schaltungen des Blockes 750-920 abgegeben. Das Signal FJAMZNICLEVOOO veranlaßt wiederum, daß die von dem RICA-Register 750-900 her erhaltenen Ebenen-Signale ZNlCLEVOOO-2100 als Eingangssignale an die SteuereingangsanschlUsse des ZCD-Schalters 750-306 auf die Ausführung des IF1-Befehles hin abgegeben werden. Unter Bezugnahme auf J?"ig. 7c ergibt sich somit, daß das Signal FJAMZNICLEVOOO die Abgabe des Signals FRCICOOO als Binärsignal 0 veranlaßt. Dadurch wird das NAND-Glied 750-52618 veranlaßt, das Signal ZCDINCENAB100 als Binärsignal 1 während der zweiten Hälfte des zweiten T-Taktzyklus abzugeben. Das Signal ZCDINCENAB100 veranlaßt die NAND-Glieder 750-51210 bis 750-51214, die Signale ZCD0100 bis ZCD2100 aus den Signalen ZNICLEV0100 bis ZNICLEV2100 zu erzeugen.
Durch den mittels der Decoderschaltung 750-922 decodierten IF1-Befehl wird das FNEWIF1-Flipflop 750-92026 ebenfalls veranlaßt, auf das Auftreten des T-Taktsignals CLKTO20 hin in den 1-Zustand umzuschalten. Wie oben bereits erwähnt, legt das betreffende Flipflop die Operationen während des (zweiten) Zyklus fest, nachdem der IF1-Befehl aufgenommen wurde. Während der ersten Hälfte des zweiten T-Taktzyklus veranlaßt das
030025/0763
NEWIF1-Flipflop 750-92026 das NAND-Glied 750-92056 insbesondere dazu, das Signal USEICOOO als Binärsignal 0 abzugeben. Das Signal USEICOOO veranlaßt das NAND-Glied 750-92052, das Signal ENBADR1100 als Binärsignal 1 abzugeben. Da zu diesem Zeitpunkt kein Speicherdaten-Transferororgang stattfindet, wird die Decoderschaltung 750-30300 zu diesem Zeitpunkt nicht freigegeben (was bedeutet, daß das Signal ENBMEMLEV100 ein Binärsignal 0 ist). Damit sind die Signale MEMLEV0000 bis MEMLEV7000 Binärsignale 1, während die Signale MEMLEV0100 bis MEMLEV7100 Binärsignale 0 sind.
Die Multiplexerschaltung 750-30304 gibt ihrerseits die Binärsignale 1 an ihren Ausgangsanschlüssen ab. Dies führt dazu, daß die Ausgangssignale ZADR00100 bis ZADR70100 als Binärsignale 1 auftreten, während die Multiplexerschaltung 750-30302 die Signale ZADR01100 bis ZADR71100 als Binärsignale 0 abgibt. Diese Signalpaare veranlassen die Adressenauswahlschalter 750-302a bis 750-302n, als Adressensignalquelle das RICA-Befehlsadressenregister auszuwählen, welches mit der Schalterstellung 1 während der ersten Hälfte des zweiten T-Taktzyklus verbunden ist.
Demgemäß werden die RADRO-7-Adreßregister 750-302a bis 750-302n über den ZIC-Schalter 750-906 mit den Adressensignalen aus dem RICA-Register 750-900 auf das Auftreten des 1/2-T-Taktsignales CLKHT100 hin während der ersten Hälfte des zweiten Zyklus geladen. Das RICA-Register 750-900 wird ausgewählt, da zu diesem Zeitpunkt das Signal ZIC100 als Binärsignal 0 auftritt. Dies bedeutet, daß das Signal ENBALT100 ein Binärsignal 0 ist und daß das Signal FACTVRIC100 vom Null-Ausgang des FACTVRiC-Flipflops des Registers 750-92024 ein Binärsignal 0 ist. Diese Signale veranlassen das UND/ODER-Glied 750-92032, das Signal ZIC100 als Binärsignal 0
030025/0769
abzugeben. Der an die Cachespeichereinheit 750-300 abgegebene Adresseninhalt bewirkt, daß das zweite Wort aus der jeweiligen Ebene zu dem ZCD-Schalter 750-306 hin ausgelesen wird. Die Ebenen-Signale ZNICLEVO100-2100 führen zur Auswahl des Wortes, welches einem zweiten Befehl in der betreffenden Ebene entspricht, die durch den Inhalt des RICA-Registers 750-900 festgelegt ist, der an die ZIB-Leitungen abgegeben wird. Der betreffende Inhalt wird an die ZIB-Leitungen über die Stellung 0 des ZiB-Schalters 750-314 abgegeben.
Während der ersten Hälfte des zweiten Zyklus werden die Adressensignale von dem RICA-Register 750-900 durch die Schaltung 750-902 wieder um 1 erhöht und über die Stellung 1 des ZlClN-Schalters 750-902 auf das Auftreten des 1/2-T-Taktsignales CLKHl1IOO hin dann in das RICA-Register 750-900 geladen, wenn das Abtastsignal RICA100 ein Binärsignal 1 ist. Auch hier wird das Signal RICA100 als Binärsignal 1 dann abgegeben, wenn das Signal ENBSTRBAOO als Binärsignal 0 während der zweiten Hälfte des zweiten T-Taktzyklus abgegeben wird. Zum T-Taktzeitpunkt ist die Adresse des dritten Befehls in dem RICA-Register 750-900 enthalten. Dieser Befehl entspricht dem LDA-Befehl gemäß Fig. 8.
Das Signal FJAMZNICLEVOOO bewirkt dann, wenn es als Binärsignal 0 auftritt, daß das NAND-Glied 750-92044 das Signal NEWINSTOOO als Binärsignal 0 während der zweiten Hälfte des zweiten T-Taktzyklus abgibt. Dies bewirkt, daß das NAND-Glied 750-92046 das Signal RIRA100 als Binärsignal 1 abgibt. Auf das Auftreten des T-Taktsignals am Ende des zweiten T-Taktzyklus wird außerdem der von dem ZCD-Schalter 750-306 her ausgelesene Befehl in das RIRA-Register 750-308 geladen. Dies ermöglicht dem Prozessor 700, den zweiten Befehl in sein RBI-Register auf das Auftreten des T-Taktsignals
030025/0769
CLKT100 am Ende des zweiten T-Taktzyklus zu laden,
wenn der betreffende Prozessor die Ausführung des
vorhergehenden Befehls beendet hat.
Wenn der Prozessor 700 die Ausführung des ersten Befehls beendet hat, gibt er ein Binärsignal 1 an die
RDIBUF-Leitung ab. Das von dem Prozessor 700 an die
RDIBUF-Leitung abgegebene Signal veranlaßt die Schaltungen des Blockes 750-92020, das FRDIBUF-Flipflop des Registers 750-92024 auf das Auftreten des T-Taktsignals CLKT020 hin in den 1-Zustand umzuschalten. Damit entspricht das Signal FRDIBUF100 dem an die RDIBUF-Leitung abgegebenen Signal, welches um eine Taktperiode verzögert ist. Damit gibt das betreffende Signal an, daß während des letzten Zyklus ein Signal auf der
RDIBUF-Leitung von dem Prozessor 700 her aufgenommen worden ist. Dies zeigt an, ob das RIRA-Register 750-308 mit einem weiteren Befehl während der ersten Hälfte des dritten T-Taktzyklus wieder zu füllen ist. Wenn der Prozessor 700 die Ausführung des vorhergehenden Befehls nicht beendet, wird das RDIBUF-Leitungs-Signal nicht erzeugt werden. Wenn der nächste Befehl, zu dem ein
Zugriff zu erfolgen hat, bereits in das RIRA-Register 750-308 geladen worden ist, wird das Register während der ersten Hälfte des nächsten T-Taktbetriebszyklus
nicht wieder geladen.
Die Ausführung des 1F2-Befehls durch die Cachespeichereinheit 750 entspricht der Ausführung des IF1-Befehls. Die in dem IF2-ßefehl enthaltene Adresse wird Jedoch lediglich für die Ausführung eines Adreßlisten-Suchvorgangs in dem Fall ausgenutzt, daß ein Treffer bei diesem Beispiel angenommen ist. Das Ergebnis besteht darin, daß die Treffer-Ebenen-Signale HITLEVC70100-2100, die von den Schaltungen des Blockes 750-512 erzeugt werden, in die Ebene-2-Bitpositionen des RICA-Registers 750-900
030025/0769
- 22Ö -
geladen werden. Außerdem werden die Gültigkeitsbit- und Treffer/Fehl-Bitpositionen in ßinärzustände 1 gesetzt (was bedeutet, daß das Vorliegen einer Freigabebedingung angenommen ist).
Bei diesem Beispiel ist angenommen, daß der Prozessor seine Ausführung des vorhergehenden Befehls beendet hat und an die RDIBUF-Leitung ein Binärsignal 1 abgegeben hat, wie dies in Fig. 8 durch den ersten negativen Signalteil des Signalverlaufes E veranschaulicht ist. Während der ersten Hälfte des dritten T-Taktzyklus veranlaßt das Signal FRD1BUF100, daß der durch den Ebenen-Signalinhalt des RICA-Registers 750-900 bezeichnete LDA-Befehl in das RIRA-Register 750-308 (Signalverlauf K) geladen wird und daß der Inhalt des RICA-Registers um 1 erhöht und wieder in das RICA-Register 750-900 zurückgeladen wird. Die RADRO-7-Register 750-302a bis 75O-3O2n wurden, wie oben erwähnt, von dem RICA-Register 750-308 her über die ZIC-Stellung der ZADRO-7-Adressenauswahlschalter 75O-3O2a bis 750-302n auf das Auftreten des T-Taktzyklus des vorhergehenden Zyklus geladen.
Während der ersten Hälfte des dritten Zyklus bewirken die von den RADRO-7-Adreßregistern 750-302a bis 750-302n an die CacheSpeichereinheit 750-300 abgegebenen Adressensignale, daß acht Wörter aus den adressierten Speicherplätzen der acht Ebenen ausgelesen werden. Außerdem bewirken die Schaltungen des Blockes 750-526 gemäß Fig. 7c, daß während der ersten Hälfte des dritten Zyklus das Signal ZCDICENAB100 als Binärsignal 1 abgegeben wird (was bedeutet, daß das Signal FICENABOOO als Binärsignal 0 abgegeben wird). Dadurch werden die Schaltungen des Blockes 750-512 veranlaßt, die Signale ZNICLEV0100 bis ZNICLEV2100 als Steuersignale ZCD0100 bis ZCD2100 an den ZCD-Schalter 750-306 abzugeben. Dies bewirkt, daß der erste LDA-Befehl für das Laden in das RIRA-Register 750-308
030025/0769
durch den ZCD-Schalter 750-306 ausgewählt wird (siehe den Signalverlauf K). Danach wird der LDA-Befehl in das RBIR-Register des Prozessors 700 auf das Auftreten des T-Taktsignales am Ende des dritten Zyklus hin geladen, und zwar auf das Auftreten des Signales CLKT100 hin. Außerdem werden auf das Auftreten des T-Taktsignals des vorhergehenden Zyklus (dritten Zyklus) hin die RADRO-7-Register 750-301a bis 750-301η von dem RICA-Register 750-308 über die ZIC-Stellung der ZADRO-7-Adressenauswahlschalter 750-302a bis 750-302n geladen (Signalverlauf J).
Auf das Auftreten des 1/2-T-Taktsignals der ersten Hälfte des vierten Zyklus hin bewirken die von den RARO-7-Registern an die acht Cachespeicher-Ebenen abgegebenen Adressensignale, daß acht Wörter, die den STA-Befehl umfassen, zu dem ZCD-Schalter 750-306 hin ausgelesen werden. Zu diesem Zeitpunkt wird die Adresse von dem RICA-Register 750-900 her um 1 erhöht und wieder abgespeichert. Außerdem wählen die Signale ZNICLEV0100-2100 von den Ebene-1-Bitpositionen des RICA-Registers 750-900 das STA-Befehlswort zum Laden in das RIRA-Register 750-308 aus (Signalverlauf K). Der STA-Befehl wird dann in das RBIR-Register auf das Auftreten des T-Taktsignals am Ende des vierten Zyklus geladen.
Am Ende des vierten Zyklus sind sämtliche RADRO-7-Register 750-301a bis 750-301η mit der nächsten Befehlsadresse von dem RICA-Register 750-900 geladen. Wie aus Fig. 8 ersichtlich ist, ist Jedoch bezüglich der von dem Hauptspeicher 800 auf das Auftreten eines vorhergehenden Lese-Vierer-Befehls übertragenen Datenwörter angenommen, daß diese von der Cachespeichereinheit aufgenommen werden. Bezüglich des Lese-Vierer-Befehls ist angenommen, daß er von der CacheSpeichereinheit 750 abgegeben wird, bevor deren Ausführung des IF1-Befehls erfolgt, wie dies oben als Ergebnis eines Fehl-
030025/0769
Zustandes erläutert worden ist (was bedeutet, daß der angeforderte Block nicht in dem Cachespeicher enthalten istJ. Zu diesem Zeitpunkt werden die Blockadressensignale und die Ebenen-Signale zusätzlich zu anderen Steuersignalen in dem Transitblockpuffer 750-102 gespeichert. Dies bedeutet, daß die Schreib-Cachespeicher Kennzeichen- und Lese-Vierer-Kennzeichen-Bitpositionen des Transitblockpuffers 750-102 Binärsignale 1 führen. Die Blockadressensignale entsprechen der Lese-Vierer-Adresse, die von dem Prozessor 700 an die RADO-Leitungen 24-31 abgegeben wird. Die in den Transitblockpuffer 750-102 eingeschriebenen Ebenen-Signale TBRR0100-2100 werden aus dem Umlaufregister 750-504 als Folge eines Adreßlisten-Zuteilungsoperationszyklus erhalten, der mit Rücksicht darauf erforderlich ist, daß der Fehl-Zustand ermittelt worden ist.
Wenn die Systemschnittstelleneinheit 100 mit der Übertragung von Daten beginnt, geben die Schaltungen des Blockes 750-115 gemäß Fig. 4 das Speicher-Schreibanforderungssignal MEMWRTREQ100 als Binärsignal 1 ab. Dies bedeutet, daß die Systemschnittstelleneinheit ein Binärsignal 1 an die DPFS-Leitung abgibt, wodurch angezeigt wird, daß die ersten beiden Wörter übertragen werden (Signalverlauf P). Die Systemschnittstelleneinheit 100 gibt außerdem ein Binärsignal 1 an die ARDA-Leitung ab, wodurch angezeigt wird, daß die angeforderten Lesedaten auf den DFS-Leitungen auftreten. Außerdem werden die Zustände der Leitungen ARDA und DPFS durch Taktsteuerung in die FARDA- und FDPFS-Flipflops des Blockes 750-115 eingeführt. Das Vorhandensein von Signalen in diesen beiden Flipflops zusammen mit dem Schreib-Cachespeicher-Kennzeichensignal als Binärsignal 1 führt dazu, daß die Schaltungen des Blockes 750-115 das Signal MEMWRTREQ100 als Binärsignal 1 abgeben. Zur gleichen Zeit gibt die Systemschnittstelleneinheit Signale an die MIFS-Leitungen
030025/0769
ab, wobei die Bits 2 und 3 den Transitblockpuffer 750-102 veranlassen, die Adressen- und Ebenen-Signale zum Einschreiben der beiden Datenwörter in die Cachespeichereinheit 750-300 auszulesen. Außerdem wird der Inhalt der Steuerbitpositionen, die das Schreib-Cachespeicher-Kennzeichenbit umfassen, ausgelesen.
Das MEMWRTREQ-Signal bewirkt als Binärsignal 1 die Freigabe der Decoderschaltung 750-30300 gemäß Fig. 7b. Auf die Decodierung der aus dem Puffer 750-102 ausgelesenen Ebenen-Signale TBLEV0100-2100 gibt die Decoderschaltung 750-30300 eines der acht Signale MEMLIiV0100 bis MEMLEV7100 als Binärsignal 1 ab. Zur gleichen Zeit wird das Komplementärsignal des einen Signals der acht Signale als Binärsignal 0 abgegeben (das ist eines der Signale MEMLEVOOOOO bis MEMLEV7000J. Das Ergebnis dieses Vorgangs besteht darin, daß der in Frage kommende eine Schalter der ZADRO-7-Adressenauswahlschalter 750-3O2a bis 750-302n veranlaßt wird, die Stellung 2 und nicht die Stellung auszuwählen (Signalverlauf R). Dabei ist es lediglich der durch die TB-Ebenen-SignaIe bezeichnete Adressenauswahlschalter, der die Stellung 2 auswählt. Die übri gen Adressenauswahlschalter für die übrigen sieben Ebenen wählen die Stellung 1 aus. Wie erläutert, ist dabei angenommen, daß kein Konflikt zwischen den Befehls- und Speicherdatenebenen vorliegt.
Deshalb wird, wie dies aus Fig. 8 hervorgeht (Signalverlauf R) die Transitblockadresse auf das Auftreten des T-Taktsignals hin in eines der RADRO-7-Register geladen, während die Befehlsregisteradresse von dem RIRA-Kegister 750-900 her in die übrigen RADR-Register geladen wird (Signalverlauf J), Dies ermöglicht das Einschreiben des ersten Speicherdatenwortes, welches auf das Auftreten des T-Taktsignals hin in das RDFSB-Register 750-712 geladen worden ist, in die Cachespeicher-
030025/0769
einheit 750-300 in der bezeichneten Ebene, und zwar auf das Auftreten des 1/2-T-Taktsignals hin gleichzeitig mit dem Zugriff zu einem Befehlswort aus den übrigen sieben Ebenen. Das in Frage kommende Befehlswort wird als Ausgangssignal von dem ZCD-Schalter 750-306 unter der Steuerung der Ebene-1-Signale ZNICLEV0100-2100 von dem RICA-Register 750-900 her ausgewählt. Da die RDIBUF-Leitung auf das Auftreten des letzten T-Taktsignals hin ein Binärsignal 1 geführt hat, wird das LDA-Befehlswort von dem ZCD-Schalter 750-306 her in das RIRA-Register 750-308 geladen, und zwar auf das Auftreten des 1/2-T-Taktsignales hin (Signalverlauf K). Auf das Auftreten des nächsten T-Taktsignales hin wird der zweite LDA-Befehl in das RBIR-Register des Prozessors 700 geladen (Signalverlauf F).
Da sieben Ebenen verfügbar sind, bezüglich derer ein Zugriff zu Befehlen gleichzeitig mit dem Einschreiben von Speicherdaten erfolgen kann, ist das Auftreten von Konflikten erheblich vermindert. Wenn Jedoch ein Konflikt durch die Vergleicherschaltungen der Blöcke 750-914 und 750-916 ermittelt ist, veranlaßt dies die Schaltungen des Blockes 750-920, die Befehlsadressierung anzuhalten. Da der Prozessor 700 Befehle aus dem Cachespeicher 750 nicht auf jedes T-Taktsignal hin herauszieht, hat dies, wenn überhaupt, lediglich eine geringe Auswirkung auf die Prozessoroperation.
Wenn ein Konflikt vorhanden ist, wird das Signal CMPDATA/ ICLEY100 als Binärsignal 1 abgegeben bzw. umgeschaltet. Dies ist durch den gestrichelten Teil des Signalverlaufea V in Fig. 8 veranschaulicht. Aus Fig. 7d geht dabei im einzelnen hervor, daß das Speicher-Schreibanforderungssignal MEMWRTREQ100 als Binärsignal 1 dazu führt, daß einer der Bereiche der Vergleicherschaltungen der Blöcke 750-912 und 750-914 das Signal CMPDATA/ICLEV100
030025/0789
als Binärsignal 1 und das Signal CMPDATA/ICLEVOOO als Binärsignal 0 abgeben, wenn die Transitblockpuffer-Ebenen-Signale RTBLEV0100-2100 mit den Befehls-Ebene-1-Signalen ZNICLEV0100-2100 übereinstimmen.
Das Signal CMPDATA/ICLEV100 schaltet das FINHRDY-Flipflop 750-92150 auf das Auftreten eines T-Taktsignals während der zweiten Hälfte des vierten Zyklus dann in den 1-Zustand um, wenn der Prozessor 700 ein Binärsignal 1 an die RDIBUF-Leitung abgibt. Das Flipflop 750-92150 veranlaßt im 1-Zustand das UND/ODER-GIied 750-92156, das Signal IFETCHRDYOOO als Binärsignal 1 abzugeben. Das Ergebnis dieser Maßnahme besteht darin, daß die Schaltungen des Blockes 750-114 ein Binärsignal 0 an die Leitung IBUFRDY abgeben. Dies ist in Fig. 8 durch den gestrichelten Teil des Signalverlaufes W veranschaulicht. Die Signale CMPDATA/ICLEVOOO und FINHRDYOOO sperren bzw. hindern die Schaltungen des Blockes 750-920 daran, den Adresseninhalt des RICA-Registers 750-900 zu erhöhen und das RIRA-Register 750-308 abzutasten Iwas bedeutet, daß die Erzeugung von Signalen R1CA100, R1RA100 und das Setzen des FRDIBUF-FIifpflops verhindert ist).
Die obigen Konflikte führen zu einer Verzögerung des Zugriffs zu Befehlen, bis das erste 1/2-T-Taktsignal nach Einschreiben der vier Wörter der Speicherdaten in die Cache Speichereinheit 750-300 aufgetreten ist. Dies ist durch die gestrichelten Teile der Signalverläufe H, I und K in Fig. 8 veranschaulicht. Demgemäß wird der zweite LDA-Befehl bis zu einem Zeitpunkt nicht in das RBIR-Register des Prozessors geladen, bis drei T-Taktzyklen vergangen sind.
Die übrigen drei Speicherdatenwörter werden in der zuvor beschriebenen Weise in die CacheSpeichereinheit 750-300 eingeschrieben. In dem Fall, daß kein Konflikt vorhanden ist, wird selbstverständlich Jedes der betreffenden drei
030025/0769
Wörter in die Cachespeichereinheit 750-300 gleichzeitig mit der Herausführung von Befehlswörtern aus der Cachespeichereinheit 750-300 eingeschrieben (Signalverläufe R, S und J, K gemäß Fig. 8). Dies bedeutet, daß solange, wie das aus dem Transitblockpuffer 750-102 ausgelesene Schreib-Cachespeicher-Kennzeichensteuerbit ein 1-Bit ist, das Datenwort durch Taktsteuerung aus dem RDFS-Register 750-702 in das RDFSB-Register 750-712 auf das Auftreten eines nächsten T-Taktsignals hin eingeführt und auf das folgende 1/2-T-Taktsignal in die Cachespeichereinheit 750-300 eingeschrieben wird. Diese Operationen wiederholen sich zweimal je Paar der von der Systemschnittstelleneinheit 100 her erhaltenen Lese-Vierer-Datenwörter.
Außerdem beginnt der Prozessor 700 während eines ersten T-Taktzyklus (der vierte Zyklus entspricht einem I-Zyklus) damit, den LDA-Befehl auszuführen, wie dies erläutert wird. Dieser Vorgang umfaßt die Bildung einer Adresse, die in einem Einzellesebefehl enthalten ist, der von dem Prozessorbereich 704-4 gemäß Fig. 3e an die Cachespeichereinheit 750 abgegeben wird. Der betreffende Befehl ist derart codiert, daß er eine Speicher-Lese-Vierer-Operation bezeichnet, durch die ein 4-Wort-Block aus dem Speicher 800 aufgerufen bzw. abgeholt wird. Im einzelnen dient die erzeugte Adresse, die in das RADO-Register 704-46 geladen ist, als Befehlsadresse. Darüber hinaus werden die Befehlsbits 1-4 und die Zonenbits 5-8 durch die Schaltungen 704-118 gemäß Fig. 5c und den Schalter 704-40 erzeugt. Die Zonenbits 5-8 werden so eingestellt, daß sie als binäre Einsen auftreten, da sie für Lesebefehle nicht
in
verwendet werden. Die Befehlsbits 1-4 werden/einem Befehlscode als 0111 von den Decoderschaltungen des Blockes 704-118 abgegeben (d.h., daß eine Vierer-Operation vorliegt). Die Schaltungen des Blockes 704-118 erzeugen die Cachespeicher-Befehls signale, die so codiert sind, daß sie einen Einzellesebefehl bezeichnen, der an die DMEM-Leitungeη abgegeben
030025/0769
2349571
wird. Der Decoder 704-140 gibt ein Binärsignal 1 an die DREQCAC-Leitung ab. Wie aus Fig. 8 hervorgeht, signalisiert der Prozessor 700 während des nächsten T-'i'aktzyklus 5, der einem C-Zyklus entspricht, dem Cachespeicher 750 das Vorliegen einer Cachespeicher-Anforderung, indem ein Binärsignal 1 an die Leitung DREQCAC abgegeben wird (siehe den Signalverlauf G).
Die in dem Lesebefehl enthaltene Adresse wird über den ZDAD-Schalter 750-530 als ein Eingangssignal an die ZADRO-7-Schalter 750-301a bis 750-301 η abgegeben, und zwar zusätzlich zur Abgabe an die Adreßlistenschaltungen der Blöcke 750-500 und 750-502. Wie aus Fig. 7c ersichtlich ist, geben das UND/NAND-ülied 750-92051 und das NAND-Glied 750-92052 während der ersten Hälfte des fünften Zyklus die Signale ENBMEMLEV100 bzw. ENBADR1100 als Binärsignaüß 0 ab. Das Ergebnis dieser Maßnahme besteht darin, daß die Schaltungen des Blockes 750-303 die Steuersignalpaare ZADR00100, ZADR01100 bis ZADR70100, ZADR71100 als Binärsignale 0 abgeben. Demgemäß wählen die ZADRO-7-Schalter 750-302a bis 750-302n den ZDAD-Schalter 750-532 als Adressenquelle aus.
Wie aus Fig. 8 ersichtlich ist, wird die Lesebefehlsadresse in die RADRO-7-Register 750-301a bis 750-301η zur Abgabe an sämtliche Ebenen auf ein 1/2-T-Taktsignal hin mit Auftreten des Signals CLKHT100 geladen (siehe den Signalverlauf H). Wenn durch die Schaltungen des Blockes 750-512 ein Trefferzustand ermittelt wird, veranlaßt dies das Auslesen des Operandenadressenwortes in der bezeichneten Ebene aus dem ZCD-Schalter 750-306 während der zweiten Hälfte des T-Taktzyklus, wie dies in Fig. 8 veranschaulicht ist (siehe den Signalverlauf I),
Unter Bezugnahme auf Fig. 7c dürfte im einzelnen ersichtlich sein, daß die Schaltungen des Blockes 750-526 das Signal GSRC11100 als Binärsignal 1 während der zweiten
030025/0769
Hälfte eines T-Taktzyklus abgeben. Die Treffersignale ZHT1100 bis ZHT7100 von den Schaltungen 750-546 bis 750-552 her werden dazu herangezogen, den Betrieb des ZCD-Schalters 750-306 in Übereinstimmung mit den Ergebnissen der gerade ausgeführten Suchoperation zu steuern. Im Falle des Vorliegens eines Trefferzustands, wenn also eines der Signale ZHT1100 bis ZHT7100 als Binärsignal 1 auftritt, wird die bezüglich des Treffers ermittelte Ebene dazu herangezogen, die Signale ZCD0100 bis ZCD2100 zu erzeugen. Dies führt zur Abgabe des Operandenadressenwortes aus der Ebene, in der der Treffer aufgetreten ist, wobei das betreffende Wort an die ZDI-Leitungen über die Stellung 1 des ZDI-Schalters 750-312 abgegeben wird. Aus Fig. 8 geht dabei hervor, daß der Vergleich der Bits 10-23 der Lesebefehlsadresse, die Codierung der Treffer-Ebenen-Signale bei Vorliegen eines Treffers und die Freigabe des ZCD-Schalters 750-526 einen vollständigen T-Taktbetriebszyklus erfordern.
Das an die ZDI-Leitungen abgegebene Operandenwort wird auf das Auftreten des T-Taktsignals CLKT100 hin in das RDI-Datenregister 704-164 gemäß Fig. 3c des Prozessors geladen (Signalverlauf I gemäß Fig. 8).
Wenn ein Trefferzustand nicht ermittelt wird, werden die an die ZDI-Leitun^gen abgegebenen Ausgangssignale dennoch in das RDI-Datenregister 704-164 geladen, wobei der Prozessor 700 indessen daran gehindert wird, eine weitere Verarbeitung vorzunehmen, oder er wird über die CPSTOP-Leitung festgehalten. Wenn die angeforderte Information aus dem Speicher von der Cachespeichereinheit 750 erhalten ist, wird der Inhalt des RDI-Datenregisters 704-164 zu dem Zeitpunkt ersetzt, zu dem die DATARECOV-Leitung .ein Binärsignal 1 führt und zu dem dem Prozessor 700 ermöglicht ist, die Verarbeitung fortzusetzen (dies bedeutet, daß die Leitung CPSTOPOOO ein Binärsignal 1 führt).
030025/076
ZSS
Während ersichtlich sein dürfte, daß die Lesebefehlsadresse von dem Prozessor 700 her in das RADR-Register 750-300 auf das Auftreten des 1/2-T-Taktsignals CLKHT100 hin geladen worden ist, werden auch andere Adressen in das RADR-Register 750-300 während der anderen 1/2-T-Taktzeitpunkte geladen. Diese Adressen sind jedoch ohne Bedeutung. Demgemäß sind sie in Fig. 8 nicht dargestellt.
Im Hinblick auf i?'ig. 8 sei darauf hingewiesen, daß der Prozessor 700 vor der Erzeugung des Lesebefehls ein Binärsignal 1 an die Leitung RDIJ3UF zum zweitenmal während des dritten Zyklus abgibt. Dadurch wird der CacheSpeichereinheit 750 signalisiert, daß der Prozessor 700 den ersten LDA-Befehl auf den vorhergehenden T-Takt aufgenommen hat. Während des ersten Halb-T-Taktzyklus des vierten Zyklus füllt die Cachespeichereinheit 750 somit das RlRA-Register 750-308 wieder mit dem nächsten Befehl. Dies entspricht dem STA-Befehl gemäß Fig. 8.
im einzelnen geht aus Fig. 7c dabei hervor, daß die Schaltungen des Blockes 750-526 das Signal ZCDICENAB100 als Binärsignal 1 abgeben. Dadurch werden die Schaltungen des Blockes 750-512 veranlaßt, die Ebenen-Signale ZNICLEV0100 bis ZNICLEV2100 von dem RICA-Befehlsregister 750-900 als Steuersignale ZCD0100 bis ZCD2100 an den ZCD-Schalter 750-306 abzugeben. Dies bewirkt, daß der STA-Befehl an der durch den Adresseninhalt des RADR-Registers 750-301 bezeichneten Speicherstelle, die auf das Auftreten des vorhergehenden T-Taktsignals hin geladen worden ist (Signalverlauf J), für das Laden in das RIRA-Register 750-308 über den ZCD-Schalter 750-360 ausgewählt wird (siehe den Signalverlauf K). Danach wird der LDA-Befehl in das RBIR-Register des Prozessors 700 auf das Auftreten des T-Taktsignals CLKT100 hin geladen (siehe den Signalverlauf L).
030Ü25/0769
Der LDA-Befehl verbleibt lediglich für die Dauer einer Taktperiode in dem HBIR-Kegister. Deshalb wird der S'i'A-Jöefehl in das RBIR-Kegister auf das Auftreten des T-Taktsignals hin geladen, wie dies oben erläutert worden ist. in Fig. 8 ist die Arbeitsweise einer alternativen Ausführungsform der vorliegenden Erfindung veranschaulicht. Bei dieser Ausführungsform werden Befehle stets während der ersten Hälfte eines T-Taktzyklus aufgerufen bzw. abgeholt. Das Einschreiben von Speicherdaten tritt gleichzeitig mit dem Zugriff zu Befehlen auf, w«nn kein Konflikt zwischen Ebenen vorliegt.
Im Falle der Ermittelung eines Konfliktes während der ersten Hälfte des T-Taktzyklus werden jedoch Speicherdaten während der zweiten Hälfte des T-Taktzyklus geschrieben. Das Einschreiben von Speicherdaten läuft gleichzeitig mit dem Zugriff zu Operanden durch den Prozessor ab, wenn die Ebenen nicht gleich sind. In dem Fall, daß ein Prozessor-Lesebefehl einen Zugriff zu einem Operanden in derselben Ebene bezeichnet, in die die Speicherdaten eingeschrieben werden, wird der Zugriff des Operanden um zumindest eine T-Taktzeit verzögert, bis kein Konflikt vorhanden ist. Selbstverständlich wird ein Prozessor-Schreibbefehl einen Konflikt hervorrufen, da das Einschreiben von Daten lediglich über den ZCDIN-Schalter 750-304 abgewickelt werden kann.
Es dürfte einzusehen sein, daß die alternative Ausführungsform zusätzliche Schaltungen zur Speicherung von Trffer-Ebenen-Signalen, zur Ermittelung des Konfliktes und zur Steuerung der Halte-Verknüpfungsschaltungen des Blockes 750-116 und zur Steuerung des Betriebs der hier erläuterten Datenwiedergewinnungsschaltungen erfordert .
Die Signalverlaufe H und T veranschaulichen den Fall,
030025/0769
-SMS.
daß eine Speicherdatenadresse in ein bezeichnetes Register der RADRO-7-Kegister 750-301a bis 75O-3O1n geladen wird, währenddessen die Prozessor-Lesebefehlsadresse in sieben Register der Adressenregister 750-301 a bis 75O-3O1n geladen wird. Dies bedeutet, daß das Speicher-Schreibanforderungssignal MEMWRTREQ100 als Binärsignal 1 während der zweiten Hälfte des fünften T-Taktzyklus abgegeben wird, wodurch einer der ZADRO-7-Adressenauswahlschalter 750-302a bis 750-302n - der durch die Ebenen-Signale RTBLEV0100-2100 bezeichnet ist - veranlaßt wird, von der Position 0 zur Position 2 umzuschalten. Dadurch wird wiederum in eines der RADRO-7-Register die Adresse von dem Transitblockpuffer 750-102 geladen. Die übrigen sieben Register werden mit der Lesebefehlsadresse von dem ZDAD-Schalter 750-530 her geladen.
Auf das Auftreten des T-Taktsignals zu dem Zeitpunkt,zu dem das Operanden-Ausgangssignal von dem Cachespeicher 750, welches über den ZDI-Schalter 750-312 an die ZDI-Leitungen abgegeben wird, in das RDI-Register des Prozessors geladen wird (Signalverlauf I), erfolgt ein Vergleich zwischen der Treffer-Ebene und der Ebene, in die die Speicherdaten eingeschrieben werden. Der Vergleich wird mit Hilfe von Vergleicherschaltungen durchgeführt, wie mit Hilfe der Vergleicherschaltungen der Blöcke 750-912 und 750-914 gemäß Fig. 7d. Jeweils dann, wenn die Vergleicherschaltunger feststellen, daß die aus dem Suchbetriebszyklus sich ergebenden Treffer-Ebenen-Signale (das sind die Signale ZCD0100-ZCD2100; übereinstimmen mit den Ebenen-Signalen RTBLEV0100-2100, geben die betreffenden Schaltungen das Vergleicherausgangssignal CMPDATA/OPERLEV als Binärsignal 1 ab (Signalverlauf XJ. Dadurch werden die Halte schaltungen des .Blockes 750-11b veranlaßt ein ßinärsignal 0 an die Leitung CPSTOPOOO abzugeben (Signalverlauf Y), Der tatsächliche Vergleich
030025/0769
bzw. die Übereinstimmung bewirkt tatsächlich, daß die Cachespeieherschaltungen einen Fehl-Zustand solange simulieren, bis der Koni'likt des Einschreibens von Speicherdaten und der Operanden-Zugriffe nicht länger vorhanden ist.
Wie aus den Signalverläufen H und i gemäß Fig. 8 hervorgeht, verzögert die Ermittelung eines Koniliktes den Zugriff zu dem Operanden, bis das Einschreiben von Speicherdaten beendet ist. Zu diesem Zeitpunkt erfolgt ein Zugriff zu dem Operanden in der Cachespeichereinheit 750-300 und die Eintastung des betreffenden Operanden in das RDI-Register des Prozessors 700 durch die Datenwiedergewinnungsschaltungen. Zu dem betreffenden Zeitpunkt wird der Prozessor 700 freigegeben (was bedeutet, daß ein Binärsignal 1 an die Leitung CPSTOPOOO abgegeben wird).
Es dürfte einzusehen sein, daß dann, wenn das Speicher-Schreibanforderungssignal MEMWRTREQ100 als Binärsignal 1 während der ersten Hälfte eines T-Taktzyklus abgegeben wird, die Ebenen-Signale RTBLEV0100-2100 von dem Transitblockpuffer 750-102 her in einem Register aufbewahrt werden, um die Speicherdaten während der zweiten Hälfte eines T-Taktzyklus einzuschreiben.
Nunmehr wird die Beschreibung der Fig. 8 unter Bezugnahme auf die erste Ausführungsform abgeschlossen. Dies bedeutet, daß der STA-Befehl den Prozessor 700 veranlaßt, eine zweite Cachespeicheranforderung an die Cachespeichereinheit abzugeben. Im einzelnen erfordert der STA-Befehl zwei Prozessorzyklen für die Beendigung. Während des ersten Zyklus führt der Prozessor 700 ähnliche Operationen aus, wie sie für den LDA-Befehle gefordert sind. Dies führt zur Erzeugung der Adresse. Diese Adresse ist in dem Einzel-
030025/07S9
Schreibbefehl enthalten,den der Prozessor 700 an die Cache Speichereinheit 750 abgibt und das Ende des ersten CacheSpeicherzyklus angibt. Zu diesem Zeitpunkt gibt der Prozessor 700 ein Binärsignal 1 an die DREQCAC-Leitung ab (Signalverlauf M).
Wie aus Fig. 8 ersichtlich ist, wird die an die ZADOB/ RADO-Leitungen abgegebene Schreibbefehlsadresse von der Stellung 1 des ZADR-Schalters 750-302 her in das RADR-Register 750-301 geladen. Während der ersten Hälfte des sechsten Zyklus geben die Schaltungen des Blockes 750-92000 gemäß Fig. 7d dann, wenn keine Speicherdatenubertragung vorliegt, die Signale ENBMEMLEV100 und ENBADR100 als Binärsignale 0 ab. Dies bewirkt, daß die Schaltungen des Blockes 750-303 die Reihen der Signale ZADROO100, ZADRO1100 bis ZADR70100, ZADR71100 als Binärsignale 0 abgeben. Demgemäß verbinden die ZADRO-7-Schalter 750-302a bis 750-302n den Adressenausgang des ZDAD-Schalters 750-530 mit dem Adresseneingang der RADRO-7-Register 750-301a bis 750-301n. Während die Befehlsschreibadresse in die RADRO-7-Register auf das Auftreten des 1/2-T-Taktsignals CLKHT100 hin eingeführt und an sämtliche Ebenen abgegeben wird, geschieht zu diesem Zeitpunkt sonst nichts, da die Adreßlisten-Suche bezüglich des Schreibbefehls ausgeführt werden muß (dies bedeutet, daß keine Schreibsignale erzeugt werden). Die Schreibbefehlsadresse wird in dem RDAD-Register 750-532 aufbewahrt, um das Prozessor-Datenwort während des nächsten T-'i'aktzyklus einzuschreiben.
Die Schreibbefehlsadresse wird außerdem an die Adreßlisten 750-500 und 750-502 abgegeben, um einen Suchoperati onszyklus auszuführen. Wie bereits erwähnt, erfordert die Suchoperation einen vollständigen T-Taktzykluso Wie aus Fig. 8 ersichtlich ist, wird die Schreib befehlsadresse, die in dem RDAD-Register 750-532 aufbe-
030025/0769
wahrt ist, über die Stellung 1 des ZDAD-Schalters 750-530 an die ZADRO-7-Schalter 750-302 während der ersten Hälfte des siebten Taktzyklus abgegeben. Auch hierbei verbinden die ZADRO-7-Schalter 750-302 den Adressenausgang des ZDAD-Schalters 750-530 mit dem Adresseneingang der RADRO-7-Register 750-301a bis 750-301n. Die Schreibbefehlsadresse wird erneut in die Adreßregister 750-301 a bis 750-301η auf das Auftreten des 1/2-T-Taktsignals CLKHT100 hin eingeführt.
Aus Fig. 7e ist ersichtlich, daß während der zweiten Hälfte des siebten T-Taktzyklus die Multiplexerschaltung 750-92002 die Treffer-Ebenen-Signale RHITLEV0100 bis RHITLEV2100 von den Schaltungen des Blockes 750-512 her als Eingangssignale an das Register 750-92006 abgibt. Diese Signale werden auf das Auftreten des 1/2-T-Taktsignals CLKHT021 hin in das Register 750-92006 taktgesteuert eingeleitet und an die Eingänge der Decoderschaltungen 750-92008 bis 750-92014 abgegeben. Zur gleichen Zeit werden die Zonen-Signale Z0NE0100 bis Z0NE3100 von dem Schalter 750-144 her, die von dem Prozessor 700 her erhalten sind, ebenfalls während der zweiten Hälfte des Zyklus in das Register 750-92006 geladen.
Während des zweiten Zyklus des STA-Befehls überträgt der Prozessor 700 das Datenwort über die ZADO-Leitungen und das RADO-Register zu der Cachespeichereinheit 750 hin. Zu diesem Zeitpunkt veranlassen die Schaltungen des Blockes 750-526 den ZCDIN-Schalter 750-304, das Prozessor-Datenwort über die Stellung 1 als Eingangssignal an sämtliche Ebenen der Cachespeichereinheit 750-300 abzugeben. Die Decoderschaltungen des Blockes 750-920000 geben eines der Schreibsignale aus einer Reihe von Schreibsignalen (z.B. das Signal WRT00100) zum Einschreiben des Datenwortes in die in Frage kommende Zone ab (Signalverlauf OJ.
030025/0769
-a«. 29A9571
2»f
Wie aus Fig. 8 hervorgeht, gibt der Prozessor 700 während des dritten Zyklus wieder ein Binärsignal 1 an die RDIBUF-Leitung ab, wodurch angezeigt wird, daß der STA-Befehl in das RBIR-Kegister geladen worden ist. Während der ersten Hälfte des fünften Zyklus bewirkt das RDIBUF-Flipflop des Registers 750-92024, welches durch das RDIBUF-Signal gesetzt ist, daß der zweite LDA-Befehl, der in dem durch den inhalt des RADR-Registers 750-301 bezeichneten Speicherplatz gespeichert ist, in das RIRA-Register 750-308 geladen wird ^Signalverlauf K). Die bedeutet, daß das RDlBUF-Flipflop die Abgabe des Signal TAKE1NST000 als Binärsignal 0 bewirkt, wodurch das Signal RIRA100 als Binärsignal 1 abgegeben wird.
Die RADRO-7-Register 75O-3O1a bis 75O-3O1n werden mit einer Adresse aus dem RICA-Befehlsregister 750-900 während der zweiten Hälfte des vierten Zyklus über den ZIC-Schalter 750-906 und die Stellung 1 des ZADR-Schalters 750-302 geladen (Signalverlauf J). Diese Adresse wird an die Adresseneingänge sämtlicher Ebenen der CacheSpeichereinheit 750-300 abgegeben. Außerdem wird während der ersten Hälfte des fünften Zyklus der Adresseninhalt des RICA-Registers 750-900 um 1 erhöht und in das Register 750-900 wieder zurückgeladen. Das Auslesen des in Frage kommenden Befehls aus dem ZCD-Schalter 750-306 erfolgt unter der Steuerung des Ebenen-Signale ZNICLEV0100-2100 von dem Schalter 750-910 her. Diese Signale werden dazu herangezogen, die Signale ZCD0100-2100 zu erzeugen.
Während das RIRA-Register 750-308 mit dem zweiten LDA-Befehl geladen wird, zeigt Fig. 8, daß der betreffende Befehl nicht zu dem RBIR-Register hin übertragen wird, und zwar bis zum sechsten Zyklus (Signalverlauf F). Der Grund hierfür besteht darin, daß der STA-Befehl, wie bereits oben erwähnt, zwei Zyklen erfordert.
030025/0769
294957t
Auf die Beendigung der Ausführung des I-Zyklus des STA-ßefehls hin gibt der Prozessor 700 ein Binärsignal 1 an die Leitung RDIBUF ab (Signalverlauf E). Wie aus Fig. 8 hervorgeht, führt der zweite LDA-Befehl auf sein Laden in das RBIR-Register dazu, daß der Prozessor 700 einen zweiten Lesebefehl an den Cachespeicher 750 abgibt, wie dies dadurch signalisiert wird, daß ein Binärsignal 1 an die Leitung DREQCAC abgegeben wird (Signalverlauf G). In der beschriebenen Art und Weise wird die Lesebefehlsadresse von dem Prozessor 700 her in die RADRO-7-Kegister 750-301a bis 750-301n während der ersten Hälfte des achten Zyklus auf das Auftreten des Signals CLKHT100 geladen (Signalverlauf HJ. Während der zweiten Hälfte des Zyklus wird das Operanden-Adressenwort aus der Ebene, in der der Treffer-Zustand aufgetreten ist, über die ZDI-Leitungen in das RDI-Kegister des Prozessors geladen.
üa während des sechsten Zyklus ein Binärsignal 1 über die Leitung RDlBUF abgegeben worden ist, veranlaßt dies erneut das Laden eines dem zweiten STA-ßefehl entsprechenden neuen Befehls in das RIRA-Register 750-308 während der ersten Hälfte des siebten Zyklus (Signalverlauf K). Der STA-Befehl wird in das RBIR-Register des Prozessors auf das Auftreten des T-Taktsignals hin während der zweiten Hälfte des siebten Zyklus geladen (Signalverlauf L).
In der beschriebenen Art und Weise erzeugt der Prozessor 700 einen zweiten Schreibbefehl, der während des neunten Zyklus an die Cachespeichereinheit 750 abgegeben wird. Dies wird dadurch signalisiert, daß ein Binärsignal 1 an die Leitung DREQCAC abgegeben wird (Signalverlauf M). Die Schreib-Befehlsadresse wird in die KADRO-7-Register 750-301 a bis 750-301 η von den RADO-Leitungen her und dem RDAD-Register 750-532 her auf das Auftreten des 1/2-T-Taktsignals hin geladen, und zwar auf das Auftreten der
030022/0769
294957t 2Ϋ3
Signale CLKHT100 hin (Signalverlauf N). Während der zweiten Hälfte des zehnten Zyklus wird das Prozessor-Datenwort in die Cachespeichereinheit 750-300 eingeschrieben. Außerdem wird der nächste Befehl während der ersten Hälfte des achten Zyklus in das RIRA-Register 750-308 geladen (Signalverlauf K).
Aus vorstehendem dürfte somit ersichtlich sein, wie die Anordnung der bevorzugten Ausführungsform den gleichzeitigen Ablauf einer Vielzahl von Operationen ermöglicht und wie die Anordnung der bevorzugten Ausführungsform die Störung zwischen den verschiedenen Typen von Operationen minimiert, die von einem Cachespeichersystem auszuführen erforderlich ist. Demgemäß führt dies zu einer gesteigerten Systemleistungsfähigkeit hinsichtlich der Effizienz und hinsichtlich des Trefferverhältnisses.
s dürfte ferner ersichtlich sein, wie die Anordnung der bevorzugten Ausführungsform den Zugriff zu Befehlen von der Cachespeichereinheit 750-300 her während der ersten Hälfte eines T-Taktzyklus und das Einschreiben oder Auslesen von Prozessor-Operanden in die bzw. aus der Cachespeichereinheit 750-300 während der zweiten Hälfte desselben T-Taktzyklus ermöglicht.
Js dürfte einzusehen sein, daß bei einem System mit einem hohen Trefferverhältnis, wie bei der bevorzugten Ausführungsform der Erfindung, zu erheblich mehr Befehlen zugegriffen werden kann von der Cachespeichereinheit als Speicherdaten in den Cachespeicher eingeschrieben werden. Damit minimiert die geteilte Zyklusanordnung das Auftreten einer Störung zwischen derartigen Befehlen und Prozessoroperanden-Zugriffen.
Außerdem vermeidet die betreffende Anordnung Störungen zwischen dem Einschreiben von Speicherdaten und Prozessoroperanden-Zugriffen. Wie erwähnt, geben die Schaltungen
030025/0769
des Blockes 750-115 während des ersten Teiles des jeweiligen T-Taktzyklus in dem Fall, daß Daten in die CacheSpeichereinheit 750-300 einzuschreiben sind, das Speicher-Schreibanforderungssignal als Binärsignal 1 ab. Dies ergibt sich aus dem Auftreten von MIFS-Steuersign_#len, die von dem Hauptspeicher 800 her zurückgeführt werden. Die Bits 2 und 3 werden dazu herangezogen, den Adresseninhalt eines der Transitblockpuffer-Speicherplätze für das Auslesen in das RADR-Hegister 750-301 auszuwählen.
Unter Bezugnahme auf Fig. 7e ergibt sich, daß das Signal MEMWRTREQ100 von der Einheit 750115 her das UND/NAND-Glied 750-9205 veranlaßt, das Signal EWBMEMLEV100 als Binärsignal 1 und das Signal EiMBMEMLEVOOO als Binärsignal 0 abzugeben. Dies veranlaßt das UND-Glied 750-30302 und das UND-Glied 750-30304,die Steuersignale ZADR01100 ZADR00100 als Binärsignale 1 bzw. 0 abzugeben. Das Ergebnis dieses Vorgangs besteht darin, daß der ZADR-Schalter 750-302 die Stellung 2 (ZTA) anstatt der Stellung 1 auswählt. Demgemäß ist der Transitblockpuffer als Adressenquelle für das RADR-Register 750-301 angeschlossen.
Auf das Auftreten des T-Taktsignals hin wird die Transitblockpufferadresse in das RADR-Register geladen. Auf das Auftreten des dem T-Taktsignal folgenden 1/2-T-Taktsignals hin werden die Speicherdatensignale, die in das RDFSB-Register 750-712 geladen sind, in die CacheSpeichereinheit 750-300 über den ZCDIN-Schalter 750-304 unter der Adresse eingeschrieben, die aus dem Puffer 750-102 ausgelesen worden ist.
Wie aus Fig. 7e hervorgeht, setzt das Signal MEMWRTREQ100 die unteren drei Flipflops des Registers 750-92006 in die 1-Zustände. Dadurch sind sämtliche Decoderschaltungen 750-92008 bis 750-92014 für den Betrieb freigegeben. Demgemäß decodiert jede dieser Schaltungen die Ebenen-
030025/0769
QIS
Signale RTBLL1VOIOO bis RTBLEV2100 und gibt ausgangsseitig ein Binärsignal 1 ab. Dadurch werden sämtliche vier Datenwort-Bytes in die Cachespeichereinheit 750-300 eingeschrieben. Es dürfte einzusehen sein, daß die übrigen Datenblockwörter in die Cachespeichereinheit 750-300 in derselben Art und V/eise während der ersten Hälfte der folgenden T-Taktbetriebszyklen eingeschrieben werden.
Es sei darauf hingewiesen, daß in denjenigen Fällen, in denen Speicherdaten aufgenommen und Befehlszugriffe verhindert sind, die Schaltungen des Blockes 750-920 verhindern, daß die IBUFRDY-Leitung einen Bereitschaftszustand anzeigt. Dies bedeutet, daß das Signal MEMWRTREQ100 das Sperr-Befehlsbereitschafts-FINHRDY-Flipflop 750-92150 veranlaßt, in den 1-Zustand zu gelangen. Dadurch wird das UND/ODER-Glied 750-92156 veranlaßt, das Signal IEEi1CHRDYOOO als Binärsignal 1 abzugeben. Das Ergebnis dieser Maßnahme besteht darin, daß das von den Schaltungen des Blockes 750-115 erzeugte Signal IBUFRDY100 als Binärsignal 0 auftritt, wodurch das Vorliegen eines Nichtbereitschafts-Zustands angezeigt wird.
Durch die Erfindung ist also ein als Cachespeichersystem bezeichnetes Notizblockspeichersystem geschaffen, welches eine Speichereinheit aufweist, die in einer Vielzahl von Ebenen organisiert ist, deren jede eine Anzahl von Mehrwortblöcken aufweist. Außerdem ist eine entsprechende Anzahl von Adressenauswahlschaltern und Adressenregistern vorgesehen. Jeder Adressenauswahlschalter weist eine Vielzahl von verschiedenen Stellungen auf, die Adressensignale von einer Vielzahl von Adressenquellen her aufnehmen. Eine Decoderschaltung erzeugt Ausgangssignale zur Steuerung des Betriebs der Adressenauswahlschalter. Auf das Auftreten von zuvor festgelegten Ebenen-Signalen gibt die Decoderschaltung einen festgelegten Schalter der in einer Anzahl vorgesehenen Schalter dafür frei, von einer ersten
030026/0789
Stellung in eine zweite Stellung umzuschalten. Eine Adresse gibt dabei den Speicherplatz an, in den Speicherdaten einzuschreiben sind. Diese Adresse wird durch Taktsteuerung in ein Adressenregister eingeführt, während die Adresse, welche den Speicherplatz bezeichnet, aus dem ein befehl abzuholen ist, durch Taktsteuerung in die übrigen Adressenregister eingeführt wird. Eine Vergleicherschaltung vergleicht die Signale, welcne die Ebene angeben, in die Speicherdaten einzuschreiben sind, mit Signalen, die kennzeichnend sind für die Ebene, aus der ein nächster Befehl abzuholen ist. Die Vergleicherschaltung erzeugt Signale, die die Verzögerung des Befehlszugriffes in dem Fall bewirken, daß ein Konflikt zwischen dem Einschreiben von Speicherdaten und dem Zugriff von Befehlen vorhanden ist.
Das System umfaßt ferner eine Adx-eßliste, die in einer Vielzahl von Ebenen zur Speicherung einer Adresseninformation organisiert ist, welche für den Zugriff von Blöcken aus der CacheSpeichereinheit erforderlich ist. Außerdem sind ZeitSteuerschaltungen vorgesehen, die erste und zweite Hälften eines Cachespeicher-Operationszyklus festlegen. Mit den Zeitsteuerschaltungen sind Steuerschaltungen verbunden, die Steuersignale zur Steuerung des Betriebs des Adressenauswahlschalters erzeugen. Während des vorhergehenden Zyklus veranlassen die Steuerschaltungen den Adressenauswahlschalter, eine Adresse auszuwählen, die in das Adressenregister während des vorhergehenden halben Zyklus geladen wird. Dadurch wird entweder der Zugriff zu Befehlen von der Cachespeichereinheit her freigegeben, oder das Einschreiben von Daten in die Cachespeichereinheit wird während der ersten Hälfte des nächsten Cachespeicherzyklus freigegeben. Während der ersten Hälfte des Zyklus wird die durch den Adressenschalter auf das Auftreten von Steuersignalen von den Steuerschaltungen her ausgewählte Adresse durch Taktsteuerung in das Adressenregister eingeführt. Dies
030025/0769
ermöglicht die Ausführung von Prozessoroperationen, wie den Zugriff zu Operandendaten oder das Einschreiben von Daten in die Cachespeichereinheit während der zweiten Hälfte desselben Zyklus.
03 0 025/0769
Leerseite

Claims (1)

  1. DIPLINCHEINZBARDEHLE München, lO.D^ppber 1979
    PATENTANWALT ο R 4 9 S 7
    Aktenzeichen: Mein Zeichen: ^ 2991
    Patentansprüche
    Cachespeichereinheit für die Verwendung in Verbindung mit einer Datenverarbeitungseinheit zum Zwecke der Schaffung eines schnellen Zugriffs zu einer Information, die aus einem angeschlossenen Hauptspeicher auf Befehle hin aufgeholt wird,die von der Datenverarbeitungseinheit her aufgenommen worden sind, dadurch gekennzeichnet, daß ein Pufferspeicher mit einer Vielzahl von WortSpeicherplätzen vorgesehen ist, die in einer Vielzahl von Ebenen zur Informationsspeicherung organisiert sind, daß eine Vielzahl von Adressen-Schalterauswahleinrichtungen vorgesehen ist, deren Anzahl der Anzahl der Ebenen entspricht und die jeweils eine Anzahl von Eingängen zur Aufnahme einer entsprechenden Anzahl von Adressen von einer entsprechenden Anzahl von übereinstimmenden Adressenquellen und einen Ausgang aufweisen, daß eine Vielzahl von Adressenregistereinrichtungen vorgesehen ist, deren Anzahl der Vielzahl von Ebenen entspricht und die jeweils an einer anderen der in einer Vielzahl vorgesehenen Adressen-Schalterauswahleinrichtungen sowie an einer anderen der in einer Vielzahl vorgesehenen Ebenen angeschlossen sind, daß jede der Adressen-Registereinrichtungen zur Speicherung der Adresse dient, welche den Wortspeicherplatz bezeichnet, zu dem wänrend eines Cachespeicher—Operationszyklus ein Zugriff erfolgt, daß mit jeder Adressen-Schalterauswahleinrichtung und mit einer der Adressenquellen eine Steuerschaltung verbunden ist, die zur Aufnahme einer Reihe von Ebenen-Signalen dient und die eine Vielzahl von Reihen von Steuersignalen erzeugt, durch die festge-
    03 Π 02 5/0769
    INSPECTED
    -2- 29A9D
    legt ist, welche der in einer Vielzahl vorgesehenen Adressenquellen wirksam geschaltet ist für die Abgabe der in die Jeweilige Adressenregistereinrichtung zu ladenden Adresse, daß die Steuerschaltungseinrichtung auf das Auftreten der betreffenden Reihe von Ebenen-Signalen hin derart betrieben ist, daß eine der in einer Vielzahl vorgesehenen Reihen von Steuersignalen veranlaßt ist, die Adressen-Schalterauswahleinrichtung in eine durch die betreffende Reihe der Ebenen-Signale bestimmte Stellung zu steuern, derart, daß in die betreffende zugehörige Adressenregistereinrichtung eine Adresse von einer der Adressenquellen geladen wird,und daß die übrigen der in einer Vielzahl vorgesehenen Adressen-Schalterauswahleinrichtungen dazu ausgewählt werden, in die übrigen Adressenregistereinrichtungen eine Adresse von einer weiteren Adressenquelle her zu laden, derart, daß das Einschreiben einer Information in die betreffende eine Ebene gleichzeitig mit einem Zugriff zu einer Information aus den übrigen Ebenen während des Cachespeicher-Operationszyklus freigegeben ist.
    2. Cachespeichereinheit nach Anspruch 1, dadurch gekennzeichnet, daß eine Vergleicherschaltungsanordnung zur Ermittelung des Vorhandenseins eines Konfliktzustandes vorgesehen ist, daß die Vergleicherschaltungsanordnung zwei Reihen von Eingängen aufweist, daß die eine Reihe der Eingänge die Reihe der Ebenen-Signale aufzunehmen vermag, daß die andere Reihe der Eingänge eine weitere Reihe von Ebenen-Signalen von einer weiteren Adressenquelle aufzunehmen vermag und daß die Vergleicherschaltungsanordnung derart betrieben ist, daß sie ein Ausgangssignal zu erzeugen vermag, welches kennzeichnend ist für das Vorhandensein eines Konfliktzustands in dem Fall, daß die Operation des
    030025/0769
    ^A9S
    Einschreibens der Information und die Operation des Zugriffs zu einer Information auf dieselbe Ebene bezogen sind, wobei die betreffende Vergleicherschaltungsanordnung mit einer bestimmten Adressenquelle der vorgesehenen Adressenquellen derart verbunden ist, daß eine bestimmte Operation der betreffenden Operationen soweit verzögerbar ist, bis der betreffende Konfliktzustand als nicht mehr vorhanden ermittelt ist.
    3. Cachespeiehereinheit nach Anspruch 1, dadurch gekennzeichnet, daß die Vielzahl der Ebenen einer bestimmten Anzahl von Ebenen entspricht und daß die betreffende bestimmte Anzahl so gewählt ist, daß mögliche Konflikte beim Einschreiben und Auslesen von Informationen bezüglich ein und derselben Ebene minimiert sind.
    4. Cachespeichereinheit nach Anspruch 3, dadurch gekennzeichnet, daß die betreffende bestimmte Anzahl gleich 8 ist.
    5. Cachespeichereinheit nach Anspruch 1, dadurch gekennzeichnet, daß die Information Daten und Befehle umfaßt und daß die Ebenen vertikal derart organisiert sind, daß der Zugriff zu Daten und Befehlen auf einer Wortbasis erfolgt.
    6. Cachespeichereinheit nach Anspruch 2, dadurch gekennzeichnet, daß die Information Daten und Befehle umfaßt und daß eine weitere Adressenquelle der vorgesehenen Adressenquellen eine Beiehlsadreßregistereinrichtung aufweist, die mit der Datenverarbeitungseinheit, der Vergleicherschaltungsanordnung und einem der Eingänge der Adressenschalterauswahleinrichtung wirksam verbunden ist und die eine Anzahl von Bitpositionen umfaßt, von denen eine erste Gruppe von
    ORIGINAL INSPECTiD
    Bitpositionen zur Speicherung einer Adresse dient, welche einen nächsten Speicherplatz innerhalb des Pufferspeichers festlegt, aus dem ein Befehlswort per Zugriff abgeholt wird, und daß eine zweite Gruppe der Bitpositionen der betreffenden Befehlsadressenregistereinrichtung zur Speicherung der betreffenden anderen Reihe von Ebenen-Signalen dient, welche die Ebene bezeichnen, aus der das Befehlwort per Zugriff abrufbar ist.
    7. Cachespeichereinheit nach Anspruch 6, dadurch gekennzeichnet, daß die betreffende bestimmte Operation dem Zugriff von Befehlen entspricht, daß die betreffende bestimmte eine Adressenquelle der betreffenden anderen Adressenquelle entspricht, daß eine Befehlsbereitschafts SteuerSchaltungseinrichtung vorgesehen ist, die ein Ausgangssignal an die Datenverarbeitungseinheit abzugeben vermag, welches signalisiert, wenn das nächste Befehlswort per Zugriff aus dem Datenspeicher abrufbar ist, und daß mit der Befehlsbereitschafteinrichtung und der Vergleichereinrichtung eine Sperr-Steuereinrichtung verbunden ist, die durch die betreffende Vergleichereinrichtung derart steuerbar ist, daß sie die Befehlsbereitschafteinrichtung an der Erzeugung des Ausgangssignals in dem Fall hindert, daß der Konfliktzustand den Zugriff zu dem betreffenden Befehlswort verzögert.
    8. Cachespeichereinheit nach Anspruch 7, dadurch gekennzeichnet, daß die SteuerSchaltungseinrichtung eine Decoderschaltungseinrichtung mit einer Vielzahl von Eingangsanschlüssen, die zur Aufnahme der betreffenden Reihe von Ebenen-Signalen dienen, mit einem Freigabeeingangsanschluß zur Aufnahme eines Spelcher-Schreibanforderungssignals und mit einer ersten und zweiten Reihe von Ausgangsanschlüssen enthält, daß eine erste Multiplexerschaltung mit einer
    030025/07fifi
    A 9 5 7 Ί
    Vielzahl von Eingangsanschlüssen, die mit der betreffenden ersten Reihe von Ausgangsanschlüssen verbunden sind, und mit einer Vielzahl von Ausgangsanschlüssen vorgesehen ist, deren jeder an einer anderen der in einer Vielzahl vorgesehenen Adressen-Schalterauswahleinrichtungen angeschlossen ist, daß eine zweite Multiplexerschaltung mit einer Vielzahl von Eingangsanschlüssen, die an der betreffenden zweiten Reihe von Ausgangsanschlüssen angeschlossen sind, mit einem Freigabeeingangsanschluß zur Aufnahme eines Adressenfreigabesignals und mit einer Vielzahl von Ausgangsanschlüssen vorgesehen ist, deren jeder an einer anderen der in einer Vielzahl vorgesehenen Adressen-Schalterauswahleinrichtungen angeschlossen ist, daß die Decoderschaltungseinrichtung auf das Auftreten des Speicher-Schreibanforderungssignals derart betreibbar ist, daß einer der durch die betreffende Reihe der Ebenen-Signale bezeichneten ersten Ausgangsanschlüsse von einem ersten Zustand in einen zweiten Zustand und ein entsprechender Ausgangsanschluß der zweiten Ausgangsanschlüsse von einem zweiten Zustand in einen ersten Zustand in dem Fall umschaltbar ist, daß die zweite Multiplexerschaltung für den Betrieb durch das Adressenfreigabesignal freigegeben ist, und daß die erste Multiplexerschaltung und die zweite Multiplexerschaltung lediglich die bezeichnete Adressen-Schalterauswahleinrichtung zur Auswahl der betreffenden einen Adressenquelle ansteuern.
    Cachespeichereinheit nach Anspruch 8, dadurch gekennzeichnet, daß jede der in einer Vielzahl vorgesehenen Adressen-Schalterauswahleinrichtungen ein Paar von Steuereingangsanschlüssen aufweist, die an entsprechenden Ausgangsanschlüssen der ersten Multiplexerschaltung und der zweiten Multiplexerschaltung angeschlossen sind, daß der erste Zustand und der zweite Zustand einem
    030025/0 7 63
    Binärzustand O bzw.einem Binärzustand 1 entsprechen und daß jeder der in einer Anzahl vorgesehenen Eingänge der jeweiligen Adressen-Schalterauswahleinrichtung eine Reihe von Eingangsanschlüssen umfaßt, wobei einer der betreffenden Reihe von Eingangsanschlüssen einer ersten Stellung entspricht, die mit der betreffenden anderen Adressenquelle verbunden ist, und wobei ein weiterer Anschluß der betreffenden Reihe von Eingangsanschlüssen einer zweiten Stellung entspricht, die mit der betreffenden einen Adressenquelle verbunden ist.
    10. Cachespeichereinheit nach Anspruch 9, dadurch gekennzeichnet, daß die betreffende eine Adressenquelle einen Puffer enthält, der mit der Datenverarbeitungseinheit verbunden ist und der zur Speicherung von zumindest einem Befehl dient, welcher einen eine Les^- operation festlegenden Befehlscode, einer Adresse entsprechende Signale, die den Speicherplatz innerhalb des Pufferspeichers angeben, in die das Einschreiben von Speicherdaten durch den betreffenden einen Befehl gefordert ist, und die betreffende Reihe von Ebenen-Signalen umfaßt, welche die betreffende Ebene festlegen, in die Speicherdaten einzuschreiben sind, und daß Verbindungseinrichtungen vorgesehen sind, die den betreffenden Puffer mit einer weiteren Reihe von Eingangsanschlüssen der jeweiligen Adressen-Schalterauswahleinrichtung und der Decoderschaltungsanordnung verbinden und die derart wirksam sind, daß sie die betreffende Adresse und die betreffende Reihe von Ebenen-Signalen an die betreffende Vielzahl der Adressen-Schalterauswahleinrichtungen bzw. an die Decoderschaltungseinrichtung in dem Fall abgeben, daß das Speicher-Schreibanforderungssignal auftritt, derart, daß das Einschreiben der Speicherdaten in die bezeichnete eine Ebene der Vielzahl von Ebenen des Pufferspeichers freigegeben ist.
    03Π025/0769
    - 7 - >! s-3 4 G 5 7
    11. Cachespeichcreinheit nach Anspruch 7, dadurch gekennzeichnet, daß die Befehlsadreßregistereinrichtung ferner ein'3 Inkrementierungsschaltung enthält, welche die in der ersten Gruppe von Bitpositionen gespeicherte Adresse um 1 zu inkrementieren gestattet, derart, daß durch die betreffende Adresse der Speicherplatz des nächsten Befehlswortes festgelegt ist, zu dem ein Zugriff während des nächsten Cachespeicherzyklus erfolgt, und daß die betreffende Inkrementierungsschaltungseinrichtung mit der Vergleicherschaltungsanordnung verbunden ist und durch das genannte Ausgangssignal derart steuerbar ist, daß die Inkrementierung der betreffenden Adresse solange verhindert ist, bis der Konfliktzustand nicht mehr vorhanden ist.
    12. Cachespeichereinheit nach Anspruch 11, dadurch gekennzeichnet, daß eine Ausgangsschaltereinrichtung vorgesehen ist, die in eine Vielzahl von Stellungen einstellbar ist und die eine Anzahl von Reihen von Eingangsanschlüssen aufweist, deren Anzahl der Anzahl der Ebenen entspricht, und die mit einer Vielzahl von Ausgangsanschlüssen und einer Reihe von Steuereingangsanschlüssen versehen ist, daß eine Anzahl von Leitereinrichtungen vorgesehen ist, deren jede einen anderen Anschluß der Anzahl der Reihen von Eingangsanschlüssen mit jeweils einer Ebene der Ebenen des Pufferspeichers verbindet, daß eine Verbindungseinrichtung vorgesehen ist, die die betreffenden Steuereingangsanschlüsse mit der Befehlsadreßregistereinrichtung zur Aufnahme der Reihen von Ebenen-Signalen verbindet, und daß die in eine Vielzahl von Stellungen einstellbare Schaltereinrichtung durch die betreffende Reihe von Ebenen-Signalen derart steuerbar ist, daß an die betreffenden Ausgangsanschlüsse ein Befehlswort abgebbar ist, welches aus der Ebene abrufbar ist, die durch die betreffende Reihe der Ebenen-Signale bezeichnet ist.
    0 3 0 0 2 5/0769
    ORIGINAL INSPECTED
    2 r: Λ Ο 5 71
    13. Cachespeichereinheit nach Anspruch 12, dadurch gekennzeichnet, daß ein Ausgaberegister vorgesehen ist, welches mit der Datenverarbeitungseinheit, der Vielzahl von Ausgangsanschlüssen der in eine Vielzahl von Stellungen einstellbaren Ausgangs-Schaltereinrichtung und mit der Vergleicherschaltungsanordnung verbunden ist, und daß durch das genannte Ausgangssignal das Laden des Ausgaberegisters mit dem betreffenden Befehlswort solange sperrbar ist, bis der Konfliktzustand nicht mehr vorhanden ist.
    14. Cachespeichereinheit nach Anspruch 1, dadurch gekennzeichnet, daß eine Zeitsteueranordnung vorgesehen ist, die Zeitsteuersignale zur Festlegung von ersten Hälften und zweiten Hälften des Cachespeicherzyklus abgibt und die mit der Steuerschaltungsanordnung derart verbunden ist, daß die betreffende Vielzahl von Adressen-Schalterauswahleinrichtungen derart steuerbar ist, daß in die betreffende Vielzahl der Adreßregistereinrichtungen Adressen von der betreffenden einen Adressenquelle und der betreffenden anderen Adressenquelle während der zweiten Hälfte eines vorhergehenden Cachespeicher-Zyklus ladbar sind, derart, daß das Einschreiben einer Information in die betreffende eine Ebene gleichzeitig mit dem Zugriff zu einer Information aus den übrigen Ebejien während der ersten Hälfte des betreffenden Cachespeicherzyklus freigegeben ist.
    15. Cachespeichereinheit nach Anspruch 14, dadurch gekennzeichnet, daß eine Vergleicherschaltungseinrichtung vorgesehen ist, die das Vorhandensein eines Konfliktzustandes zu ermitteln gestattet und die ein Paar von Reihen von Eingängen aufweist, daß die eine Reihe der Eingänge die betreffende Reihe der Ebenen-Signale von der betreffenden Adressenquelle her aufzunehmen vermag, daß die betreffende andere
    030025/0769 ,-,QRIGtNAL INJECTED
    Reihe der Eingänge die andere Reihe der Ebenen-Signale von der betreffenden anderen Adressenquelle her aufzunehmen vermag, daß die Vergleicherschaltung se inrichtung derart betrieben ist, daß sie ein Ausgangssignal zu erzeugen vermag, welches kennzeichnend ist für das Vorliegen des Konfliktzustands in dem Fall, daß die Operation des Einschreibens einer Information und die Operation des Zugriffs zu einer Information dieselbe Ebene umfassen, und daß die Vergleichereinrichtung mit einer bestimmten Adressenquelle derart verbunden ist, daß eine bestimmte Operation der betreffenden Operationen solange verzögerbar ist, bis festgestellt ist, daß der betreffende Konfliktzustand nicht mehr vorhanden ist.
    16. Cachespeichereinheit nach Anspruch 15, dadurch gekennzeichnet, daß die Information Daten und Befehlswörter enthält, daß die betreffende eine Adressenquelle einen Puffer umfaßt, der mit der Datenverarbeitungseinheit wirksam verbunden ist und der zur Speicherung von zumindest einem Befehl dient, welcher einen eine Leseoperation bezeichnenden Befehlscode, einer Adresse entsprechendes Signale, welche Adresse den Speicherplatz innerhalb des Pufferspeichers bezeichnet, in den durch den betreffenden einen Befehl angeforderte Speicherdaten einzuschreiben sind, und die betreffende Reihe der Ebenen-Signale umfaßt, durch die diejenige Ebene festlegbar ist, in die die Speicherdaten während der ersten Hälfte des CacheSpeicherzyklus einzuschreiben sind, und daß Verbindungseinrichtungen vorgesehen sind, die den betreffenden Puffer mit der anderen Reihe von Eingangsanschlüssen der jeweiligen Adressen-Schalte rauswahl einrichtung und der Decoderschaltungseinrichtung verbinden und die die betreffende Adresse und die Reihe der Ebenen-Signale an eine Vielzahl von Adressen-Schalterauswahleinrichtungen bzw. an die
    030025/0769
    ORIGINAL INSPECTED
    - 10 - y <; ·' c.; £.7
    4 ν' "^ V y / I
    Decoderschaltungseinrichtung in dem Fall abgeben, daß das Speicher-Schreibanforderungssignal auftritt, welches das Einschreiben der Speicherdaten in eine bezeichnete Ebene der in einer Vielzahl vorgesehenen Ebenen des Pufferspeichers freigibt.
    17. Cachespeichereinheit nach Anspruch 16, dadurch gekennzeichnet, daß die betreffende andere Adressenquelle eine Befehlsadreßregistereinrichtung enthält, die mit der Datenverarbeitungseinheit, der Vergleicherschaltungseinrichtung und einem Eingang der Eingänge der jeweiligen Adressen-Schalterauswahleinrichtung verbunden ist und die eine Anzahl von Bitpositionen aufweist, daß eine erste Gruppe der betreffenden Bitpositionen zur Speicherung einer Adresse dient, welche eine, nächste Speicherstelle innerhalb des Pufferspeichers angibt, aus der ein Befehlswort per Zugriff abrufbar ist, und daß eine zweite Gruppe der betreffenden Bitpositionen zur Speicherung der betreffenden anderen Reihe von Ebenen-Signalen dient, welche die Ebene bezeichnen,aus der das betreffende Befehlswort per Zugriff während der ersten Hälfte des Cachespeicherzyklus abrufbar ist.
    18. Cachespeichereinheit nach Anspruch 17, dadurch gekennzeichnet, daß während der Ermittelung des Konfliktzustands die Speicherdaten in die bezeichnete Ebene innerhalb der ersten Hälfte des Cachespeicherzyklus und während der folgenden Cachespeicherzyklen einschreibbar sind.
    19. CacheSpeichereinheit nach Anspruch 18, dadurch gekennzeichnet, daß in dem Fall, daß das Vorhandensein des Konfliktzustands nicht mehr feststellbar ist, die Befehlsadressregistereinrichtung veranlaßt wird, eine Adresse in sämtliche Adreßregistereinrichtungen während der zweiten Hälfte eines Cachespeicherzyklus
    030025/0769
    ORIGINAL INSPECTED
    zu laden, derart, daß der nächste Befehl während der ersten Hälfte eines nächsten Cachespeicher-Operationszyklus abrufbar ist.
    20. Cachespeichereinheit nach Anspruch 17, dadurch gekennzeichnet, daß die Befehle jeweils einen Befehlscode und eine Adresse umfassen, daß die genannte weitere Adressenquelle eine Eingangsschaltungseinrichtung aufweist, die zur Aufnahme des jeweiligen Befehls von der Verarbeitungseinheit her dient, daß die Eingabeschaltungseinrichtung mit der betreffenden zweiten Reihe von Eingangsanschlüssen der jeweiligen Adressen-Schalterauswahleinrichtung verbunden ist, und daß die betreffende Eingabe-Schaltungseinrichtung derart betrieben ist, daß sie an die zweite Reihe der Eingangsanschlüsse die Adresse eines Befehles abzugeben gestattet, der durch die Verarbeitungseinheit erzeugt ist und der einen Speicherplatz innerhalb des Pufferspeichers bezeichnet, aus dem ein Operandenwort abrufbar ist oder in den ein Operandenwort während der zweiten Hälfte des Cachespeicher-Zyklus einschreibbar ist.
    21. Cachespeichereinheit nach Anspruch 20, dadurch gekennzeichnet, daß jede Ebene des Pufferspeichers eine Anzahl von Blöcken der Wortspeicherplätze umfaßt, daß jede Ebene und jeder Block durch eine Ebenen-Adresse bzw. durch eine Block-Adresse festgelegt ist, daß eine Adreßliste mit einer Vielzahl von Speicherplätzen vorgesehen ist, deren Anzahl der Anzahl der Ebenen in dem Pufferspeicher entspricht und die durch die Ebenen-Adressen adressierbar sind, daß jeder Speicherplatz der betreffenden Adreßliste Blockadressen von Blöcken von Wörtern innerhalb der zugehörigen Ebene in dem Pufferspeicher zu speichern gestattet, daß die Adreßliste auf das Auftreten der Ebenen-Adresse hin, die einem niederwertigen Teil der
    03 Π 0 25/0769
    ORIGINAL
    ·■>. · η ι; 7
    Befehlsadresse entspricht, die einem höherwertigen Teil dsr betreffenden Befehlsadresse entsprechenden Blockadressen auszulesen gestattet, daß mit der Adreßliste eine Vergleichereinrichtung verbunden ist, welche die aus der betreffenden Adreßliste ausgelesenen Blockadressen mit dem höherwertigen Teil der Blockadresse zu vergleichen gestattet und die Treffer-Detektorsignale zu erzeugen gestattet, welche eine Anzeige dafür liefern, ob der angeforderte Operand in dem betreffenden Pufferspeicher gespeichert ist oder nicht, daß eine Adreßlisten-Ebenen-Steuereinrichtung vorgesehen ist, die mit der einen geteilten Zyklus bereitstellenden Zeitsteuereinrichtung, mit der Vergleichereinrichtung, mit dem Pufferspeicher und der Vergleicherschaltungseinrichtung verbunden ist und die auf das Auftreten von Treffer-Detektorsignalen hin derart betrieben ist, daß sie die betreffende andere Reihe der Ebenen-Signale während des zweiten Intervalls eines nächsten Cachespeicher-Zyklus erzeugt, und daß eine Haltesteuerschaltungseinrichtung vorgesehen ist, die mit der Vergleicherschaltungseinrichtung und mit der Datenverarbeitungseinheit verbunden ist und die durch das von der Vergleicherschaltungseinrichtung in dem Fall erzeugte Signal, daß die Ebene, in die Speicherdaten eingeschrieben werden, die gleiche Ebene ist wie die Ebene, aus der das angeforderte Operandenwort per Zugriff abgerufen wird, derart steuerbar ist, daß weitere Operationen der betreffenden Datenverarbeitungseinheit verhindert sind, wobei ein Fehl-Zustand solange simuliert wird, bis der Konfliktzustand nicht mehr vorhanden ist.
    22. Cachespeichereinheit nach Anspruch 21, dadurch gekennzeichnet, daß während der Ermittelung eines Konfliktzustands die Speicherdaten in die bezeichnete Ebene innerhalb der zweiten Hälfte des Cachespeicherzyklus
    030025/0769
    " 13 " P49S71
    und der folgenden Cachespeicherzyklen solange eingeschrieben werden, bis sämtliche angeforderten Speicherdaten in den betreffenden Pufferspeicher eingeschrieben sind.
    23. Cachespeichereinneit nach Anspruch 21, dadurch gekennzeichnet, daß in dem Fall, daß das Vorhandensein eines Konfliktzustands nicht mehr feststellbar ist, die EingabeSchaltungseinrichtung derart steuerbar ist, daß der niederwertige Teil der Befehlsadresse in sämtliche Adreßregistereinrichtungen während der ersten Hälfte eines Cachespeicherzyklus ladbar ist, derart, daß der Abruf des Operandenwortes oder das Einschreiben des durch den betreffenden Befehl bezeichneten Operandenwortes in der Ebene freigegeben ist, die durch die betreffende weitere Reihe der Ebenen-Signale bezeichnet ist, welche in Übereinstimmung mit den Ergebnissen einer Adreßlisten-Suchoperation erzeugt werden, die während des Cachespeicherzyklus durchgeführt wird, währenddessen das Vorhandensein des Konfliktzustands ermittelt worden ist.
    24. CacheSpeichereinheit für die Verwendung in Verbindung mit einer Datenverarbeitungseinheit zur Erzielung eines schnellen Zugriffs zu Daten und Befehlen, die aus einem angeschlossenen Hauptspeicher auf das Auftreten von Befehlen hin abgerufen werden, welche von der Datenverarbeitungseinheit her aufgenommen sind, dadurch gekennzeichnet, daß ein Pufferspeicher mit einer Vielzahl von Wortspeicherplätzen vorgesehen ist, die in einer Vielzahl von Ebenen zur Speicherung von Daten und Befehlen organisiert sind, daß eine Vielzahl von in einer Mehrzahl von Stellungen einstellbaren Adressenschalterauswahleinrichtungen vorgesehen ist, deren Anzahl der Vielzahl der Ebenen entspricht und die eine Anzahl von Reihen von Eingangsanschlüssen
    030025/0769
    aufweisen, welche zur Aufnahme einer entsprechenden Anzahl von Adressen von einer entsprechenden Anzahl von identischen Adressenquellen vorgesehen sind, daß die betreffenden Adressenschalterauswahleinrichtungen eine Vielzahl von Ausgangsanschlüssen und eine Vielzahl von Steuereingangsanschlüssen aufweisen, daß eine Vielzahl von Adressenregistereinrichtungen vorgesehen ist, deren Anzahl der Vielzahl von Ebenen entspricht und die Jeweils mit einer anderen Auswahleinrichtung der Adressenschalterauswahleinrichtungen sowie mit einer Vielzahl von Ausgangsanschlüssen und unterschiedlichen Ebenen verbunden sind, daß die betreffenden Adressenregistereinrichtungen jeweils die Adresse zu speichern gestatten, welche den Wortspeicherplatz bezeichnet, auf den während eines Cachespeicherzyklus zugreifbar ist, daß eine einen geteilten Zeitsteuerzyklus bereitstellende Zeitsteuereinrichtung vorgesehen ist, die Zeitsteuersignale zur Festlegung von ersten Hälften und zweiten Hälften des CacheSpeicherzyklus erzeugt, daß eine Steuerschaltungseinrichtung vorgesehen ist, die mit der betreffenden Zeitsteuereinrichtung und mit den in einer Vielzahl vorgesehenen Steueranschlüssen der Adressenschalterauswahleinrichtungen und der Adressenquellen derart verbunden ist, daß sie eine Reihe der Ebenen-Signale aufzunehmen vermag, daß die Steuerschaltungseinrichtung eine Vielzahl von Reihen von Steuersignalen erzeugt, die an die Steueranschlüsse der Adressenschalterauswahleinrichtungen abgebbar sind, daß die betreffenden Steueranschlüsse derart «odiert sind, daß sie festlegen, welche Adressenquelle festgelegt ist für die Abgabe der Adresse, die in die jeweilige Adreßregistereinrichtung währendjier ersten und zweiten Hälften des Cachespeicherzyklus zu laden ist, daß die Steuerschaltungseinrichtung auf das Auftreten der betreffenden Reihe der Ebenen-Signale hin das betreffende eine
    030025/0769
    Steuersignal der Vielzahl von Reihen von Steuersignalen veranlaßt, die betreffende eine Schalterauswahleinrichtung der Vielzahl von Adressenschalterauswahleinrichtungenanzusteuern, die durch die betreffende Reihe der Ebenen-Signale bezeichnet ist, derart, daß ein: Auswahl derjenigen zugehörigen Adressenregistereinrichtung erfolgt, in die eine Adresse von der betreffenden einen Adresse ladbar ist, und daß die übrigen Adressenschalterauswahleinrichtungen derart steuerbar sind, daß sie in die übrigen Adressenregistereinrichtungen eine Adresse von einer weiteren Adressenquelle der betreffenden Adressenquellen zu laden gestatten, derart, daß das Einschreiben von Speicherdaten in die betreffende eine Ebene gleichzeitig mit dem Zugriff zu Befehlen/Operandendaten aus den übrigen Daten während der betreffenden einen Hälfte des Cachespeieherzyklus freigegeben ist.
    25. Cachespeichereinheit nach Anspruch 24, dadurch gekennzeichnet, daß die betreffende eine Hälfte des Cachespeicherzyklus der genannten ersten Hälfte entspricht.
    26. Cachespeichereinheit nach Anspruch 24, dadurch gekennzeichnet, daß die betreffende eine Hälfte des Cachespeicherzyklus der zweiten Hälfte entspricht.
    27. Cachespeichereinheit nach Anspruch 24, dadurch gekennzeichnet, daß eine Vergleicherschaltungseinrichtung vorgesehen ist, die das Vorhandensein eines Konfliktzustandes zu ermitteln gestattet und die ein Paar von Reihen von Eingängen aufweist, deren eine Reihe von Eingängen zur Aufnahme der Ebenen-Signale von der betreffenden einen Adressenquelle her dient und deren andere Reihe von Eingängen zur Aufnahme einer weiteren Reihe von Ebenen-Signalen dient, die der
    030025/07 6 9
    £949571
    Operation zugehörig sind, welche durch die betreffende andere Adressenquelle ausgeführt wird, und daß die Vergleicherschaltungseinrichtung derart betrieben ist, daß sie ein Ausgangssignal erzeugt, welches das Vorliegen des Konfliktzustands in dem Fall anzeigt, daß die Operation des Einschreibens der Speicherdaten und die Operation des Zugriffs zu Befehlen/Operandendaten dieselbe Ebene umfaßt, wobei die betreffende Vergleichereinrichtung mit einer bestimmten Adressenquelle derart verbunden ist, daß die Verzögerung einer bestimmten Operation der betreffenden Operationen solange ermöglicht ist, bis der betreffende Konfliktzustand als nicht mehr vorhanden ermittelt wird.
    28. Cachespeichereinheit nach Anspruch 24, dadurch gekennzeichnet, daß die betreffende Vielzahl der Ebenen einer bestimmten Anzahl von Ebenen entspricht,' die so gewählt sind, daß mögliche Konflikte beim Einschreiben und Auslesen von Informationen innerhalb derselben Ebene minimiert sind.
    29. Cachespeichereinheit nach Anspruch 24, dadurch gekennzeichnet, daß die betreffenden Ebenen vertikal für einen Zugriff zu Daten und Befehlen auf einer Wortbasis organisiert sind.
    30. Cachespeichereinheit nach Anspruch 27, dadurch gekennzeichnet, daß die genannte eine Adressenquelle einen Puffer enthält, der mit der Datenverarbeitungseinheit verbunden ist und der zumindest einen Befehl zu speichern vermag, welcher einen eine Leseoperation bezeichnenden Befehlscode, Signale, die einer Adresse entsprechen, welche den Speicherbereich innerhalb des Pufferspeichers bezeichnet, in den die durch den betreffenden einen Befehl geforderten Speicherdaten einzuschreiben sind, und die betreffende Reihe von
    030025/0769
    Ebenen-Signalen umfaßt, die zur Bezeichnung derjenigen Ebene dienen, in die die Speicherdaten einzuschreiben sind, daß eine Verbindungseinrichtung vorgesehen ist, die den Puffer mit derselben Reihe von Eingangsanschlüssen der jeweiligen Adressenschalterauswahleinrichtung und mit den Steuerschaltungseinrichtungen verbindet, und daß eine Signalabgab eeinrichtung vorgesehen ist, die die betreffende Adresse und die Reihe der Ebenen-Signalen an die Vielzahl der Adressenschalterauswahleinrichtungen und an die Steuerschaltungseinrichtungen auf das Auftreten eines Speicher-Schreibanforderungssignals abgibt, durch dessen Auftreten das Einschreiben der betreffenden Speicherdaten in eine bezeichnete Ebene der in einer Vielzahl vorgesehenen Ebenen des Pufferspeichers während einer Hälfte der Hälften des Cachespeicherzyklus unabhängig vom Vorhandensein des Konfliktzustands freigegeben ist.
    31. Cachespeichereinheit nach Anspruch 28, dadurch gekennzeichnet, daß die betreffende andere Adressenquelle eine Befehlsadressenregistereinrichtung enthält, die mit der Qatenverarbeitungseinheit, der Vergleicherschaltungseinrichtung und derselben anderen Reihe von Eingangsanschlüssen der jeweiligen Adressenschalterauswahleinrichtung verbunden ist, daß die Adressenregistereinrichtung eine Anzahl von BitpoaLtionen aufweist,vor denen eine erste Gruppe zur Speicherung einer Adresse dient, welche einen nächsten Speicherplatz innerhalb des Pufferspeichers bezeichnet, aus dem ein Befehlswort per Zugriff aufzurufen ist, und daß eine zweite Gruppe von Bitpositionen vorgesehen ist, die zur Speicherung der betreffenden anderen Reihe von Ebenen-Signalen dienen, welche diejenige Ebene bezeichnen, aus der das Befehlswort während der betreffenden ersten Hälfte des Cachespeicherzyklus bei Fehlen des Konfliktzustands abrufbar ist.
    030025/0769
    32. Cachespeichereinheit nach Anspruch 28, dadurch gekennzeichnet, daß die Befehle jeweils einen ßefehlscode und eine Adresse umfassen, daß die betreffende andere Adressenquelle eine Eingangsschaltungseinrichtung enthält, die zur Aufnahme der Adresse des jeweiligen Befehls von der Verarbeitungseinheit dient, daß die Eingangsschaltungseinrichtung mit derselben anderen Reihe von Eingangsanschlüssen der jeweiligen Adressenschalterauswahleinrichtung und der Vergleicherschaltungseinrichtung verbunden ist und daß die betreffende Eingangsschaltungseinrichtung derart betrieben ist, daß sie die Adresse eines durch die Verarbeitungseinheut erzeugten Befehls abgibt, der einen Speicherplatz innerhalb des Pufferspeichers bezeichnet, aus welchem ein Operandenwort abzuholen oder in welchen ein Operandenwort während der zweiten Hälfte des Cachespeicherzyklus bei Fehlen des Konfliktzustands einschreibbar ist.
    33. Cachespeichersystem zur Verwendung in Verbindung mit einer Datenverarbeitungseinheit zur Erzielung eines schnellen Zugriffs zu Befehlen und Daten, die aus einem angeschlossenen Hauptspeicher auf das Auftreten von Befehlen hin abgeholt werden, die von der Datenverarbeitungseinheit her aufgenommen werden, dadurch gekennzeichnet, daß der Cachespeicher eine Vielzahl von Wortspeicherplätzen aufweist, die in einer Vielzahl von Ebenen zur Speicherung der Daten und Befehle organisiert sind, daß eine Vielzahl von in eine Mehrzahl von Stellungen einstellbaren Adressenschaltern vorgesehen ist, deren Anzahl der Vielzahl der Ebenen entspricht, daß jeder Adressenschalter eine Anzahl von Reihen von Eingangsanschlüssen aufweist, die zur Aufnahme einer entsprechenden Anzahl von Adressen dienen, welche von einer entsprechenden Anzahl von identischen Adressenquellen her abgegeben werden, daß der jeweilige Adressenschalter außerdem eine Vielzahl von Ausgangs-
    030025/0769
    anschlüssen und eine Vielzahl von Steuereingangsanschlüssen aufweist, daß eine Vielzahl von Adreßregistern vorgesehen ist, deren Anzahl der Vielzahl der Ebenen entspricht und die jeweils mit einem anderen der in einer Vielzahl vorgesehenen Ausgangsanschlüssen der Vielzahl von Adressenschaltern und jeweils mit einer anderen der in einer Vielzahl vorgesehenen Ebenen verbunden sind, daß jedes Adreßregister zur Speicherung der Adresse dient, die den Wortspeicherplatz bezeichnet, zu dem während eines Cachespeicher-Operationszyklus ein Zugriff erfolgt, daß eine einen geteilten Zyklus bereitstellende Zeitsteuereinrichtung vorgesehen ist, die Zeitsteuersignale zur Festlegung von ersten und zweiten Hälfte des jeweiligen Cachespeicherzyklus erzeugt, daß eine Vergleicherschaltungseinrichtung vorgesehen ist, die das Vorhandensein eines Konfliktzustands zwischen zwei Adressenquellen festzustellen gestattet und die zwei Reihen von Eingängen aufweist, daß die eine Reihe der betreffenden Eingänge zur Aufnahme der Ebenen-Signale von der betreffenden einen Adressenquelle dient, daß die andere Reihe der Eingänge zur Aufnahme der anderen Reihe von Ebenen-Signalen dient, die der durch die andere Adressenquelle auszuführenden Operation zugehörig sind, daß die Vergleicherschaltungseinrichtung derart betrieben ist, daß sie ein für das Vorhandensein eines Konfliktzustande kennzeichnendes Ausgangssignal in dem Fall erzeugt, daß die Operation des Einschreibens von von dem Hauptspeicher her aufgenommenen Speicherdaten und die Operation des Zugriffs zu Daten/Befehlen ein und dieselbe Ebene einschließen, daß die Vergleichereinrichtung mit einer bestimmten Adressenquelle derart verbunden ist, daß sie eine bestimmte Operation der ablaufenden Operationen solange zu verzögern gestattet, bis der ermittelte Konfliktzustand nicht mehr vorhanden ist, daß eine Steuerschaltungseinrichtung vorgesehen ist, die mit der Zeit-
    030025/0769
    steuereinrichtung, mit der Vielzahl der Steuereingangsanschlüsse des jeweiligen Adressenschalters und mit einer der Adressenquellen derart verbunden ist, daß sie eine Reihe der Ebenen-Signale aufzunehmen vermag, daß die Steuerschaltungseinrichtung zur Erzeugung einer Vielzahl von Reihen von Steuersignalen dient, die diejenige Adressenquelle festlegen, welche die in jedes der Adressenregister zu ladende Adresse abgeben, daß die Steuerschaltungseinrichtung während eines Cachespeicher-Operationszyklus auf das Auftreten der betreffenden Reihe von Ebenen-Signalen hin derart betrieben ist, daß eine der in einer Vielzahl vorhandenen Reihen von Steuersignalen einen der in einer Vielzahl vorgesehenen Adressenschalter, der durch die betreffende Reihe der Ebenen-Signalen bezeichnet ist, derart ansteuert, daß in das zugehörige Adressenregister eine Adresse von der betreffenden einen Adressenquelle her ladbar ist, und daß die übrigen Adressenschalter der in einer Vielzahl vorgesehenen Adressenschalter derart angesteuert werden, daß in die übrigen Adressenregister eine Adresse von einer weiteren der vorgesehenen Adressenquellen geladen wird, derart, daß das Einschreiben einer Information in die betreffende eine Ebene gleichzeitig mit dem Zugriff zu einer Information in den übrigen Ebenen während der betreffenden einen Hälfte des Cachespeieherzyklus freigegeben ist.
    34. Cachespeichersystem nach Anspruch 33» dadurch gekennzeichnet, daß die betreffende eine Adressenquelle einen Puffer enthält, der mit der Datenverarbeitungseinheit verbunden ist und der zur Speicherung von zumindest einem Befehl dient, welcher einen eine Leseoperation bezeichnende Befehlscode, Signale, die einerAdresse entsprechen, welche den Speicherbereich innerhalb des Pufferspeichers bezeichnen, in den durch den betreffenden einen Befehl angeforderte Speicherdaten ein-
    03ÜÜ25/0769
    - 21 - £949571
    zuschreiben sind, und die betreffende Reihe der Ebenen-Signalen umfaßt, die angeben, in welche der Ebenen die betreffenden Speicherdaten einzuschreiben sind, daß eine Verbindungseinrichtung vorgesehen ist, die den betreffenden Puffer mit derselben Reihe von Eingangsanschlüssen des jeweiligen Adressenschalters und mit der Steuerschaltungseinrichtung verbindet, und daß Signalabgabeeinrichtungen vorgesehen sind, die die Adresse und die betreffende Reihe der Ebenen-Signalen an die Vielzahl der Adressenschalterauswahleinrichtungen und an die Steuerschaltungseinrichtung auf das Auftreten eines Speicher-Schreibanforderungssignals hin abgeben, derart, daß das Einschreiben der Speicherdaten in die betreffende eine bezeichnete Ebene der Vielzahl von Ebenen des Pufferspeichers während der einen Hälfte des Cachespeicherzyklus unabhängig von der Ermittelung des Konfliktzustands freigegeben ist.
    35. Cachespeichersystem nach Anspruch 33, dadurch gekennzeichnet, daß die Vielzahl der Ebenen einer bestimmten Anzahl von Ebenen entspricht, die so gewählt ist, daß mögliche Konflikte beim Einschreiben und Auslesen der Daten/Befehle innerhalb derselben Ebene minimiert sind.
    36. Cachespeichersystem nach Anspruch 33 oder J>k, dadurch gekennzeichnet, daß die betreffende eine Hälfte des Cachespeicherzyklus der ersten Hälfte entspricht.
    37. Cachespeichersystem nach Anspruch 33 oder 34, dadurch gekennzeichnet, daß die betreffende eine Hälfte des Cachespeicherzyklus der zweiten Hälfte entspricht.
    030025/0769
    2049571
    38. Cachespeichersystem nach Anspruch 34, dadurch gekennzeichnet, daß die betreffende weitere Adressenquelle der vorgesehenen Adressenquellen eine Befehlsadreßregistereinrichtung aufweist, die mit der Datenverarbeitungseinheit, der Vergleicherschaltung se inrichtung und derselben Reihe von Eingangsananschlüssen des jeweiligen Adressenschalters verbunden ist, daß die Adressenregistereinrichtung eine Anzahl von Bitpositionen aufweist, von denen eine erste Gruppe zur Speicherung einer Adresse dient, welche einen nächsten Speicherplatz innerhalb des Cachespeichers bezeichnet, aus dem ein Befehlswort abzuholen ist, und daß eine zweite Gruppe der Bitpesitionen der betreffenden Adressenregistereinrichtung zur Speicherung der betreffenden anderen Reihe von Ebenen-Signalen dient, welche diejenige Ebene bezeichnen, aus der das Befehlswort während der ersten Hälfte des betreffenden Cachespeicherzyklus bei Fehlen des Konfliktzustande abrufbar ist.
    39. Cachespeichersystem nach Anspruch 34, dadurch gekennzeichnet, daß jeder der Befehle einen Befehlscode und eine Adresse aufweist, daß die betreffende andere Adressenquelle der Adressenquellen eine Eingangsschaltungseinrichtung aufweist, die zur Aufnahme der betreffenden Adresse des jeweiligen Befehls von der Verarbeitungseinheit dient, daß die Eingangsschaltungseinrichtung an derselben anderen Reihe von Eingangsanschlüssen des jeweiligen Adressenschalters und der Vergleicherschaltungseinrichtung angeschlossen ist und daß die Eingangsschaltung se inrichtung derart betrieben ist, daß sie die Adresse eines durch die Verarbeitungseinheit erzeugten Befehls abgibt, welche Adresse einen Speicherplatz innerhalb des Pufferspeichers bezeichnet, aus welchem ein Operandenwort abzuholen ist oder in welchen ein Operandenwort während der zweiten Hälfte des Cache-
    030025/0769
    Speicherzyklus bei Fehlen eines Konfliktzustands einschreibbar ist.
    4o. Cachespeichersystem nach Anspruch 39, dadurch gekennzeichnet, daß der Befehlscode so codiert ist, daß er eine Leseoperation bezeichnet, daß jede Ebene des Cachespeichers eine Anzahl von Blöcken von Wortspeicherplätzen aufweist, daß jede Ebene und jeder Block durch eine Reihen-Adresse bzw. durch eine Blockadresse bezeichnet ist, daß mit der Eingangsschaltungseinrichtung eine Adreßliste verbunden ist, die eine Vielzahl von Speicherplätzen aufweist, deren Anzahl der Anzahl von Ebenen in dem betreffenden Pufferspeicher entspricht und die durch die betreffenden Reihen-Adressen adressierbar sind, daß jeder Speicherplatz der Adreßliste Blockadressen von Blöcken von Wörtern innerhalb der zugehörigen Ebene speichert, die in dem Pufferspeicher enthalten sind, daß die betreffende Adreßliste auf das Auftreten der einem niederwertigen Teil der an die Eingangsschaltungseinrichtung abgegebenen Befehlsadresse entsprechenden Reihen-Adresse hin die dem höherwertigen Teil der betreffenden Befehlsadresse entsprechenden Blockadressen auszulesen gestattet, daß mit der Adreßliste eine Vergleichereinrichtung verbunden ist, die die aus der Adreßliste ausgelesenen Blockadressen mit dem höherwertigen Teil der Befehlsadresse zu vergleichen gestattet und die Treffer-Detektorsignale erzeugt, welche kennzeichnend sind dafür, ob der angeforderte Operand in dem Cachespeicher enthalten ist oder nicht, daß eine Adreßlisten-Ebenen-Steuereinrichtung vorgesehen ist, die mit der einen geteilten Zyklus bereitstellenden Zeitsteuereinrichtung, der Vergleichereinrichtung, dem Cachespeicher und der Vergleicherscha1-tungseinrichtung verbunden ist, daß die Adreßlisten-Ebenen-Steuereinrichtung auf das Auftreten von Treffer-Detektorsignalen hin derart betrieben ist, daß
    03 0 025/0769
    sie die betreffende andere Reihe von Ebenen-Signalen während der zweiten Hälfte eines nächsten Cachespeicherzyklus erzeugt, und daß eine Haltesteuerschaltungseinrichtung vorgesehen ist, die mit der Vergleicherschaltungseinrichtung und der Datenverarbeitungseinheit verbunden ist und die durch das Ausgangssignal von der Vergleicherschaltungseinrichtung in dem Fall ansteuerbar ist, daß die Ebene, in die Speicherdaten einzuschreiben sind, dieselbe Ebene ist wie jene, aus der das angeforderte Operandenwort aufgerufen wird, derart, daß weitere Operationen der Datenverarbeitungseinheit verhindert sind.
    41. Cachespeichersystem nach Anspruch 34, dadurch gekennzeichnet, daß die Steuerschaltungseinrichtung eine Decoderschaltungseinrichtung mit einer Vielzahl von Eingangsanschlüssen aufweist, die zur Aufnahme der Reihe der Ebenen-Signale dienen, daß die Decoderschaltungseinrichtung ferner einen Freigabeeingangsanschluß aufweist, der zur Aufnahme des Speicher-Schreibanforderungssignals dient, daß die betreffende Decoderschaltungseinrichtung außerdem erste und zweite Reihen von Ausgangsanschlüssen aufweist, daß eine erste Multiplexerschaltung mit einer Vielzahl von Eingangsanschlüssen, die mit der betreffenden ersten Reihe von Ausgangsanschlüssen verbunden sind, und mit einer Vielzahl von Ausgangsanschlüssen vorgesehen ist, deren jeder mit einem anderen der Adressenschalter verbunden ist, daß eine zweite Multiplexerschaltung mit einer Vielzahl von Eingangsanschlüssen, die mit der betreffenden zweiten Reihe von Ausgangsanschlüssen verbunden sind, mit einem Freigabeeingangsanschluß, der zur Aufnahme eines Adressenfreigabesignals dient, und mit einer Vielzahl von Ausgangsanschlüssen vorgesehen ist, deren jeder mit einer anderen der in einer Vielzahl
    030025/0769
    vorgesehenen Adressenschalter verbunden ist, daß die Decoderschaltungseinrichtung auf das Auftreten des Speicher-Schreibanforderungssignals hin derart betrieben ist, daß eine Umschaltung eines der durch die betreffende Reihe von Ebenen-Signalen bezeichneten ersten Ausgangsanschlüsse von einem ersten Zustand in einen zweiten Zustand und eine Umschaltung eines entsprechenden Anschlusses der zweiten Ausgangsanschlüsse von einem zweiten Zustand in den ersten Zustand in dem Fall erfolgt, daß die zweite Multiplexerschaltung für den Betrieb durch das Adressenfreigabesignal freigegeben ist, und daß die beiden Multiplexerschaltungen lediglich die eine Reihe der Steuersignale der in einer Vielzahl vorliegenden Reihen von Steuersignalen veranlassen, lediglich den bezeichneten Adressenschalter dazu anzusteuern, eine Adresse von der betreffenden einen Adressenquelle zum Laden in das Adreßregister während der zweiten Hälfte des Cachespeicherzyklus auszuwählen.
    42. Cachespeichereinheit für die Verwendung in Verbindung mit einer Datenverarbeitungseinheit zur Erzielung eines schnellen Zugriffs zu einer Information, die aus einem angeschlossenen Hauptspeicher abgerufen ist, und zwar auf das Auftreten von Befehlen, die von der Datenverarbeitungseinheit her aufgenommen werden, dadurch gekennzeichnet, daß ein Pufferspeicher mit einer Vielzahl von adressierbaren Wortspeicherplätzen vorgesehen ist, die zur Speicherung der betreffenden Information dienen, daß eine Adressenschalterauswahleinrichtung mit einer Anzahl von Eingängen vorgesehen ist, die zur Aufnahme einer entsprechenden Anzahl von Adressen dienen, welche von einer entsprechenden Anzahl von Adressenquellen abgebbar sind, daß die Adressenschalterauswahleinrichtung einen Ausgang aufweist, daß mit dem betreffenden
    030025/0769
    Ausgang und dem Pufferspeicher eine Adressenregistereinrichtung verbunden ist, die zur Speicherung derjenigen Adresse dient, welche den Wortspeicherplatz bezeichnet, zu dem ein Zugriff während eines Cachespeicher-Operationszyklus erfolgt, daß mit der Adressenschalterauswahleinrichtung eine Steuerschaltungseinrichtung verbunden ist, die codierte Steuersignale zu erzeugen gestattet, welche diejenige Adressenquelle bezeichnen, die zur Abgabe der Adresse an die betreffende Adressenregistereinrichtung angeschaltet ist, daß eine Zeitsteuereinrichtung vorgesehen ist, die Zeitsteuersignale zur Festlegung einer Anzahl von Intervallen des Cachespeicher-Operationszyklus abgibt, daß die betreffende Zeitsteuereinrichtung mit der Steuereinrichtung verbunden ist, welche durch die betreffende Zeitsteuereinrichtung während eines der Intervalle derart steuerbar ist, daß die Adressenauswahleinrichtung zur Auswahl einer Adresse freigegeben ist, die in die betreffende Adressenregistereinrichtung von der betreffenden einen Adressenquelle her ladbar ist, und daß die Steuereinrichtung während eines anderen Intervalls derart angesteuert ist, daß die Adressenschalterauswahleinrichtung zur Auswahl einer Adresse freigegeben ist, die in das betreffende Register von einer anderen Adressenquelle ladbar ist, derart, daß der Zugriff zu der Information, die durch beide Adressenquellen bezeichnet ist, während desselben Cachespeicherzyklus ohne eine Störung freigegeben ist.
    43. Cachespeichereinheit nach Anspruch 42, dadurch gekennzeichnet, daß die Information Daten und Befehle umfaßt, -daß die PufferspeicherirWortspeicherplätze in einer Vielzahl von Ebenen organisiert sind und daß die Zeitsteuereinrichtung erste und zweite Zeitsteuersignale erzeugt, die erste bzw. zweite
    030025/0769
    -27- £949571
    Intervalle entsprechend der Anzahl der Intervalle festlegen.
    44. Cachespeichereinheit nach Anspruch 43, dadurch gekennzeichnet, daß die betreffenden Ebenen vertikal für den Zugriff zu Informationen auf einer Wortbasis organisiert sind.
    45. System nach Anspruch 43, dadurch gekennzeichnet, daß die Zeitsteuereinrichtung ein taktgesteuertes bistabiles Element mit einem Takteingang, einem Verknüpfungseingangsanschluß und zumindest einem Ausgangsanschluß aufweist, daß eine erste Eingangseinrichtung zur Aufnahme einer ersten Reihe von Taktsignalen vorgesehen ist, durch die ein Zeitintervall festgelegt ist, welches der Hälfte der Dauer des CacheSpeicherzyklus entspricht, daß die betreffende erste Eingangseinrichtung mit dem Takteingangsanschluß verbunden ist, daß die Eingangseinrichtung zur Aufnahme eines Festlegungs-Taktimpulssignals dient, daß eine zweite Eingangseinrichtung mit dem Verknüpfungseingangsanschluß verbunden ist und daß das betreffende bistabile Element durch die Taktimpulse und durch das Festlegungs-Taktimpulssignal derart gesteuert wird, daß es an seinem Ausgangsanschluß ein bistabiles Ausgangssignal erzeugt, welches in seinem ersten Zustand bzw. in seinem zweiten Zustand die ersten bzw. zweiten Intervalle des Cachespeicherzyklus festlegt.
    46. CacheSpeichereinheit nach Anspruch 43, dadurch gekennzeichnet, daß die Steuereinrichtung eine erste Verknüpfungseinrichtung aufweist, die zur Aufnahme des ersten Zeitsteuersignals von der Zeitsteuereinrichtung dient und die derart betrieben ist, daß sie ein Ausgangssignal zur Freigabe des Ladens der Adresseninformation in die Adressenregistereinrichtung
    030025/0769
    während des ersten Intervalls erzeugt, derart, daß ein Zugriff zu einer Information aus den Ebenen des Pufferspeichers während des betreffenden zweiten Intervalls des Cachespeicherzyklus ermöglicht ist, daß eine zweite Verknüpfungsschaltungseinrichtung vorgesehen ist, die zur Aufnahme des zweiten Zeitsteuersignals von der Zeitsteuereinrichtung her dient und die derart betrieben ist, daß sie ein Ausgangssignal zur Freigabe des Ladens der Adresseninformation in die Adressenregistereinrichtung während des zweiten Intervalls zerzeugt, derart, daß der Zugriff zu der in den betreffenden Ebenen des Pufferspeichers gespeicherten Information während des betreffenden ersten Intervalls des Cachespeicherzyklus freigegeben ist, und daß die Adressenschalterauswahleinrichtung mit Steuereingängen mit den beiden Verknüpfungseinrichtungen verbunden ist und durch die codierten Signale derart steuerbar ist, daß sie in die betreffenden Adressenregistereinrichtung die Adressen von den betreffenden Adressenquellen her während der ersten und zweiten Intervalle desselben Cachespeicher-Operationszyklus zu laden gestattet.
    47. Cachespeichereinheit nach Anspruch 47, dadurch gekennzeichnet, daß die betreffende eine Adressenquelle ein Befehlsadressenregister enthält, welches mit einem der Eingänge der Adressenschalterauswahleinrichtung verbunden ist und welches eine Anzahl von Bitpositionen aufweist, von denen eine Gruppe zur Speicherung einer Adresse dient, welche einen nächsten Wortspeicherplatz innerhalb der Ebenen des Pufferspeichers bezeichnet, aus welchem ein Befehlswort während des ersten Intervalls des Cachespeicherzyklus per Zugriff aufzurufen ist.
    48. Cachespeichereinheit nach Anspruch 47, dadurch gekennzeichnet, daß die Befehle jeweils einen Befehls-
    030025/0769
    code und eine Adresse umfassen, daß die betreffende andere Adressenquelle eine Eingangsschaltungseinrichtung enthält, die mit der Verarbeitungseinheit verbunden ist und die zur Aufnahme der Adresse des jeweiligen Befehls dient, daß die betreffende Eingangsschaltungseinrichtung mit dem betreffenden anderen Eingang der Eingänge der Adressenschalterauswahleinrichtung verbunden ist und daß die Eingangsschaltungseinrichtung derart betrieben ist, daß sie die Befehlsadresse abgibt, welche einen Wortspeicherplatz innerhalb der jeweiligen Ebene des Pufferspeichers bezeichnet, aus der ein Operandenwort aufzurufen oder in die ein Operandenwort während des zweiten Intervalls des betreffenden Cachespeicherzyklus einzuschreiben ist.
    49. Cachespeichereinheit nach Anspruch 48, dadurch gekennzeichnet, daß die betreffende eine Adressenquelle einen Puffer enthält, der zumindest eine Adresse zu speichern gestattet, die von einem Befehl abgeleitet isx, der einen eine Leseoperation bezeichnenden Befehlscode und die Adresse umfaßt, die den WortSpeicherplatz innerhalb des Pufferspeichers bezeichnet, in den die von dem Hauptspeicher durch den betreffenden Befehl angeforderte Information einzuschreiben ist, und daß eine Verbindungseinrichtung vorgesehen ist, die den Puffer und die Adressenschalterauswahleinrichtung verbindet und die die Adresse an einen weiteren Eingang der Eingänge der Adressenschalterauswahleinrichtung abzugeben gestattet, derart, daß die betreffende Adresse in die Adressenregistereinrichtung ladbar ist, die das Einschreiben der In formation in den betreffenden Pufferspeicher während des ersten Intervalls des Cachespeicherzyklus freigibt.
    030025/0769
    2849571
    50. Cachespeichereinheit nach Anspruch 49, dadurch gekennzeichnet, daß der Puffer so ausgelegt ist, daß er eine Reihe von Ebenen-Signalen speichert, die diejenige Ebene bezeichnen, in die die angeforderte Information einzuschreiben ist, daß eine Eingangsschaltereinrichtung vorgesehen ist, die zumindest eine Reihe von Eingangsanschlüssen aufweist, welche zur Aufnahme einer Information dienen, die in den Pufferspeicher während desselben Cachespeicherzyklus einzuschreiben ist, daß die betreffende Eingangsschaltereinrichtung eine Reihe von Ausgangsanschlüssen aufweist, die zur Abgabe der Information an jede der Ebenen des Pufferspeichers dienen, daß eine Schreibsteuer Schaltungseinrichtung mit einer Decodereinrichtung vorgesehen ist, die zur Aufnahme der Reihe der Ebenen-Signale von dem Puffer dient, und daß die Decoderschaltung auf das Auftreten der betreffenden Reihe der Ebenen-Signale hin derart freigegeben ist, daß eine Reihe von Schreibsteuersignalen erzeugt wird, durch die die betreffende Information in den Speicherplatz und die Ebene des Pufferspeichers einschreibbar ist, der bzw. die durch den Puffer während des ersten Intervalls festgelegt ist.
    51. Cachespeichereinheit nach Anspruch 50, dadurch gekennzeichnet, daß ein Eingabedatenregister vorgesehen ist, welches zur Aufnahme von Datenwörtern aus dem Hauptspeicher dient, die auf das Auftreten eines Befehls übertragen worden sind, der einen eine Leseoperation bezeichnenden Befehlscode aufweist und der zuvor in dem betreffenden Puffer gespeichert war, und daß das Eingangsdatenregister mit der betreffenden einen Reihe der Eingangsanschlüsse der Eingangsschaltereinrichtung derart verbunden ist, daß die Abgabe der betreffenden Datenwörter an die Ebenen des Pufferspeieherβ während der ersten Intervalle des Cachespeicher-Zyklus zum Zwecke des Ein-
    030025/0769
    Schreibens in die bezeichnete Ebene freigegeben ist.
    52. Cachespeichereinheit nach Anspruch 49, dadurch gekennzeichnet, daß die Steuereinrichtung eine dritte Verknüpfungseinrichtung umfaßt, die zur Erzeugung von Speicher-Schreibfreigabesignalen dient, welche das Einschreiben der angeforderten Information in den betreffenden Pufferspeicher während des ersten Intervalls freigeben, und daß die dritte Verknüpfungseinrichtung so geschaltet ist, daß sie die erste Verknüpfungseinrichtung und die zweit e Verknüpfungseinrichtung zur Erzeugung der betreffenden codierten Steuersignale ansteuert, derart, daß die Adressenschalterauswahleinrichtung veranlaßt wird, von einer ersten Stellung in eine zweite Stellung zur Auswahl der Adresse aus dem Puffer anstelle der Adresse von dem Befehlsadressenregister her umzuschalten, wobei die betreffende Adresse in die Adressenregistereinrichtung geladen wird.
    53. Cachespeichereinheit nach Anspruch 51, dadurch gekennzeichnet, daß eine Befehls-Bereitschaftssteuerschaltungseinrichtung vorgesehen ist, die an die Datenverarbeitungseinheit ein Ausgangssignal abzugeben vermag, durch welches signalisierbar ist, wann Befehle für einen Zugriff von dem Pufferspeicher her bereitstellen, daß eine Sperrsteuereinrichtung vorgesehen ist, die mit der dritten Verknüpfungseinrichtung und mit der Befehls-Bereitschaftssteuereinrichtung verbunden ist, und daß die betreffende Sperrsteuereinrichtung durch die dritte Verknüpfungseinrichtung derart steuerbar ist, daß die betreffende Befehls-Bereitschaftssteuerschaltungseinrichtung an der Erzeugung des Ausgangssignals in dem Fall gehindert ist, daß die angeforderte Information während des betreffenden ersten Intervalls in den
    030025/0769
    Pufferspeicher eingeschrieben wird.
    54. Cachespeichereinheit nach Anspruch 51» dadurch gekennzeichnet, daß die dritte Verknüpfungseinrichtung erste und zweite Speicher-Schreibfreigabesignale ENBMEMLEV und ENBMEMLEV entsprechend den Ausdrücken
    SNBMEMLEV = MEMWRTREQ·FDN2HT und ENBMEMLEV = MEMWRTREQ·FDN2HT erzeugt, wobei das Signal MEMWRTREQ anzeigt, daß die angeforderte Information in den Pufferspeicher einzuschreiben ist,und wobei das Signal FDN2HT das zweite Intervall bezeichnet, daß die erste Verknüpfungseinrichtung und die zweite Verknüpfungseinrichtung erste bzw. zweite codierte Steuersignale ZADRO und ZADRO entsprechend den Ausdrücken
    LZADRO = ENABMEMLEV . ENBADR und LZADRO = ENABMEMLEV · ENBÄER"
    erzeugen, wobei das das Signale ENBADR ein Binärsignal 1 während des zweiten Intervalls ist, und daß diese Signale zur Auswahl einer Adresse aus dem Befehlsadressenregister, dem Puffer und der Eingangsschaltungseinrichtung zum Laden in die betreffende Adressenregistereinrichtung in dem Fall dienen, daß die Signale [ZADRO, ZADRO die Binärwerte 00, 01 bzs. 10 aufweisen.
    55. Cachespeichereinheit nach Anspruch 53, dadurch gekennzeichnet, daß die Steuereinrichtung vierte Verknüpfungseinrichtungen aufweist, die ein Ausgangssignal zu erzeugen vermögen, welches eine Anzeige dafür liefert, daß ein bestimmter Befehlstyp aus der Datenverarbeitungseinheit während des ersten Intervalls decodiert worden ist,und daß die vierte Verknüpfungseinrichtung mit der ersten Verknüpfungseinrichtung und der zweiten Verknüpfungseinrichtung verbunden ist und daß die betreffende vierte Ver-
    030025/0769
    knüpfungseinrichtung auf das Auftreten des bestimmten Befehlstyps hin derart betrieben ist, daß das Signal ENBADR als Binärsignal 1 abgegeben wird, derart, daß die Adressenschalterauswahleinrichtung zur Auswahl einer Adresse aus der Befehlsadressenregistereinrichtung und zum Laden der betreffenden Adresse in die Adressenregistereinrichtung während des ersten Intervalls freigegeben ist, wobei mit der betreffenden Adresse ein Zugriff zu einem Befehl aus den Ebenen des Pufferspeichers während des zweiten Intervalls erfolgt.
    56. Cachespeichereinheit nach Anspruch 54, dadurch gekennzeichnet, daß der bestimmte ßefehlstyp einen Befehlscode umfaßt, welcher eine Operation zum Laden der Adresse eines nächsten Befehlsblockes in die Befehlsadressenregistereinrichtungen bezeichnet, derart, daß die Datenverarbeitungseinheit für den Zugriff zu weiteren Befehlen in den Pufferspeicher während nachfolgender Cachespeicherzyklen freigegeben ist.
    57. Cachespeichereinheit nach Anspruch 43, dadurch gekennzeichnet, daß jeder Befehl einen Befehlscode und eine Adresse umfaßt, daß jede Ebene des Pufferspeichers eine Anzahl von Blöcken der Wortspeicherplätze umfaßt, daß jede Ebene und jeder Block durch eine Ebenen-Adresse bzw. durch eine Blockadresse bezeichnet ist, daß eine Adreßliste mit einer Vielzahl von Speicherplätzen vorgesehen ist, deren Anzahl der Anzahl der Ebenen in dem Pufferspeicher entspricht und die durch die Ebenen-Adressen adressierbar sind, daß jeder Speicherplatz der Adreßliste Blockadressen von Blöcken von Wörtern innerhalb der zugehörigen Ebene des Pufferspeichers zu speichern vermag, daß die Adreßliste auf das Auftreten der Ebenen-Adresse hin, die einem niederwertigen Teil
    030025/0769
    der Befehlsadresse entspricht, die einem höherwertigen Teil der betreffenden Befehlsadresse entsprechenden Blockadressen auszulesen gestattet, daß mit der Adreßliste eine Vergleichereinrichtung verbunden ist, die die aus der betreffenden Adreßliste ausgelesenen Blockadressen mit dem höherwertigen Teil der Befehlsadresse vergleicht und die Treffer-Detektorsignale erzeugt, welche kennzeichnend sind dafür, ob die Information, zu der ein Zugriff erfolgt bzw. erfolgen soll, in dem Pufferspeicher gespeichert ist oder nicht, daß eine Adreßlisten-Ebenen-Steuereinrichtung mit der einen geteilten Zeitsteuerzyklus bereitstellenden Zeitsteuereinrichtung, mit der Vergleichereinrichtung und dem Pufferspeicher verbunden ist, und daß die betreffende Adreßlisten-Ebenen-Steuereinrichtung auf das Auftreten der Treffer-Detektorsignale hin derart betrieben ist, daß sie eine Reihe von Treffer-Ebenen-Signalen während des zweiten Intervalls eines nächsten Cachespeicherzyklus erzeugt, derart, daß die Übertragung eines angeforderten Operandenwortes zu der Datenverarbeitungseinheit hin freigegeben ist, wobei das betreffende Operandenwort durch einen Befehl bezeichnet ist, der einen eine Leseoperation bezeichnenden Befehlscode in Übereinstimmung mit den Ergebnissen einer Adreßlisten-Suchoperation aufweist, die während des vorhergehenden Cachespeicherzyklus ohne eine Störung mit der Übertragung der durch die Datenverarbeitungseinheit angeforderten Befehlswörter ausgeführt worden ist.
    58. Cachespeichereinheit nach Anspruch 57, dadurch gekennzeichnet, daß eine ausgangsseitige Schaltereinrichtung mit einer Mehrzahl von Stellungen vorgesehen ist, daß diese Schaltereinrichtung eine Anzahl von Reihen von Eingangsanschlüssen, deren Anzahl der Anzahl der Ebenen entspricht, eine Vielzahl von Ausgangsanschlüssen und eine Reihe von Steuereingangs-
    030025/0769
    anschlüssen aufweist, daß eine Anzahl von Leiteroinrichtungen vorgesehen ist, die jeweils einen anderen Eingangsanschluß der vorgesehenen Eingangsanschlüsse mit dem Pufferspeicher derart verbinden, daß aus unterschiedlichen Ebenen des betreffenden Pufferspeichers ausgelesene Signale aufgenommen werden, daß die betreffenden Leitereinrichtungen mit den Steuereingangsanschlüssen derart verbunden sind, daß die betreffende Reihe der Treffer-Ebenen-Signale aufnehmbar ist, und daß die betreffende in eine Mehrzahl von Stellungen einstellbare Schaltereinrichtung durch die Reihe der Treffer-Ebenen-Signale derart steuerbar ist, daß an die genannten Ausgangsanschlüsse die Signale von einer der Ebenen abgebbar sind, die durch die Ebenen-Signale bezeichnet sind, wobei die betreffenden Signale als Operandenwort abgebbar sind, welches zu der Datenverarbeitungseinheit während des zweiten Intervalls des nächsten Cachespeicherzyklus übertragbar ist.
    59. Cachespeichereinheit nach Anspruch 58, dadurch gekennzeichnet, daß eine Eingangsschaltereinrichtung vorgesehen ist, die zumindest eine Reihe von Eingangsanschlüssen zur Aufnahme der in den Pufferspeicher während des Cachespeicherzyklus einzuschreibenden Information und eine Reihe von Ausgangsanschlüssen aufweist, die zur Abgabe der Information an jede der Ebenen des Pufferspeichers dienen, daß die Schreibsteuerschaltungseinrichtung eine Decoderschaltungseinrichtung mit einer ersten Eingangseinrichtung zur Aufnahme der Reihe der Treffer-Ebenen- Signale und mit einer zweiten Eingangseinrichtung zur Aufnahme der Schreibsteuersignale vorgesehen ist, die diejenigen Teile der Information bezeichnen, die von der betreffenden Eingangsschaltereinrichtung abgegeben wird und die in den Pufferspeicher einzuschreiben ist, und daß die Decoderschaltungseinrich-
    030025/0769
    tung auf das Auftreten der betreffenden Reihe der Treffer-Ebenen-Signale hin derart gesteuert ist, daß eine Reihe von Schreibsteuersignalen erzeugt wird, die zum Einschreiben der Information in die bezeichnete eine Ebene des Pufferspeichers während der betreffenden Intervalle dienen.
    60. Cachespeichereinheit nach Anspruch 59, dadurch-gekennzeichnet, daß jeder der Befehle, dessen Befehlscode eine Schreiboperation bezeichnet, eine Anzahl von Datenwörtern umfaßt, die in den Hauptspeicher einzuschreiben sind, daß die Eingangsschaltereinrichtung eine weitere Reihe von Eingangsanschlüssen aufweist, daß außerdem eine Eingangsleitereinrichtung vorgesehen ist, die mit der betreffenden weiteren Reihe der Eingangsanschlüsse verbunden ist und die die Abgabe der betreffenden Anzahl von Datenwörtern an sämtliche Ebenen des Pufferspeichers während des betreffenden zweiten Intervalls des Cachespeicherzyklus freigibt, und daß die betreffenden Datenwörter dabei in dem Fall eingeschrieben werden, daß die Treffer-Detektorsignale anzeigen, daß der durch den betreffenden Befehl bezeichnete Block von Informationswörtern in dem Pufferspeicher enthalten ist.
    61. Cachespeichereinheit für die Verwendung in Verbindung mit einer Datenverarbeitungseinheit zur Erzielung eines schnellen Zugriffs zu Befehlen und Daten, die aus einem angeschlossenen Hauptspeicher auf das Auftreten von Befehlen hin aufgerufen werden, die von der Datenverarbeitungseinheit her aufgenommen werden, dadurch gekennzeichnet, daß ein Pufferspeicher mit einer Vielzahl von adressierbaren Wortspeicherplätzen vorgesehen ist, die in einer Vielzahl von Ebenen organisiert sind, welche zur Speicherung der Daten und Befehle dienen, daß eine in eine Mehrzahl von Stellungen einstellbare Adressenschalterauswahl-
    030025/0769
    einrichtung vorgesehen ist, die eine Anzahl von Reihen von üngangsanschlüssen zur Aufnahme einer entsprechenden Anzahl von Reihen von Adressensignalen von einer entsprechenden Anzahl von Adressenquellen enthält, daß die betreffende Adressenschalterauswahleinrichtung eine Vielzahl von Ausgangsanschlüssen und eine Vielzahl von Steuereingangsanschlüssen aufweist, daß ein Adressenregister vorgesehen ist, welches mit der betreffenden Vielzahl der Ausgangsanschlüsse und mit dem Pufferspeicher verbunden ist, daß das Adressenregister zur Speicherung der Adresse dient, die denjenigen WortSpeicherplatz innerhalb der Ebenen bezeichnet, zu dem ein Zugriff während eines Cachespeicher-Operationszyklus zu er folgen hat, daß eine Steuerschaltungseinrichtung mit der Vielzahl der Steuereingangsanschlüsse der in eine Vielzahl von Stellungen einstellbaren Adressenschalterauswahleinrichtung verbunden ist, daß diese SteuerSchaltungseinrichtung codierte Steuersignale erzeugt, welche diejenige Adressenquelle bezeichnen, die die Adresse an die Ausgangsanschlüsse abzugeben hat, daß eine einen geteilten Zeitsteuerzyklus bereitstellende Zeitsteuereinrichtung vorgesehen ist, die Zeitsteuersignale zur Festlegung von ersten und zweiten Intervallen des Cachespeicher-Operationszyklus erzeugt, daß die ZeitSteuereinrichtung mit der Steuereinrichtung verbunden ist, die durch die betreffende Zeitsteuereinrichtung während des ersten Intervalls derart angesteuert ist, daß die Adressenauswahleinrichtung zur Auswahl einer Adresse freigegeben ist, die zum Laden in das Adreßregister an die erste Reihe der Eingangsanschlüsse von einer ersten Adressenquelle abgegeben wird, und daß die betreffende Steuereinrichtung während des zweiten Intervalls derart angesteuert ist, daß die betreffende Adressenschalterauswahleinrichtung zur Auswahl einer Adresse freigegeben ist, die in das Adressen-
    030025/0769
    .38- 2349571
    register geladen wird und die an eine zweite Reihe der Eingangsanschlüsse von einer zweiten Adressenquelle abgegeben ist, derart, daß die Abwicklung von unterschiedlichen Arten von Operationen ohne eine Störung bezüglich des Zugriffs zu Daten und Befehlen freigegeben ist, die durch die ersten und zweiten Adressenquellen während desselben Cachespeicherzyklus bezeichnet sind.
    62. Cachespeichereinheit nach Anspruch 61, dadurch gekennzeichnet, daß die Ebenen vertikal für den Zugriff zu einer Information auf einer Yfortbasis organisiert sind.
    63. Cachespeichereinheit nach Anspruch 61, dadurch gekennzeichnet, daß die Steuerschaltungseinrichtung eine erste Verknüpfungseinrichtung enthält, die zur Aufnahme eines ersten Zeitsteuersignals von der Zeitsteuereinrichtung dient und die derart betrieben ist, daß sie ein Ausgangssignal zur Freigabe des Ladens der Adresseninformation in das Adressenregister während des ersten Intervalls erzeugt, derart, daß ein Zugriff zu der Information aus den Ebenen des Pufferspeichers während des zweiten Intervalls des CacheSpeicherzyklus ermöglicht ist, daß eine zweite Verknüpfungseinrichtung vorgesehen ist, die zur Aufnahme eines zweiten Zeitsteueriignals von der Zeitsteuereinrichtung her dient und die derart betrieben ist, daß sie ein Ausgangssignal zur Freigabe des Ladens der Adresseninformation in das Adressenregister während des zweiten Intervalls erzeugt, derart, daß der Zugriff zu einer in den betreffenden Ebenen des Pufferspeichers gespeicherten Information während des ersten Intervalls des Cachespeieherzyklus freigegeben ist, daß die Vielzahl der Steuereingangsanschlüsse der Adressenschalterauswahleinrichtung mit der ersten Verknüpfungseinrichtung und der zweiten
    030025/0769
    -39- 2349571
    Verknüpfungseinrichtung verbunden ist und daß die Adressenschalterauswahleinrichtung durch die betreffenden codierten Signale derart angesteuert ist, daß das Laden des Adressenregisters mit den Adressen von den Adressenquellen her während der ersten und zweiten Intervalle desselben Cachespeicher-Operationszyklus freigegeben ist.
    64. Cachespeichereinheit nach Anspruch 63, dadurch gekennzeichnet, daß jeder der Befehle einen Befehlscode und eine Adresse umfaßt, daß die betreffende erste Adressenquelle eine Eingangsschaltungseinrichtung aufweist, die mit der Verarbeitungseinheit verbunden ist und die zur Aufnahme der Adresse des jeweiligen Befehls dient, und daß die betreffende Eingangsschaltungseinrichtung mit der ersten Reihe von Eingangsanschlüssen der Adressenschalterauswahleinrichtung verbunden und derart betrieben ist, daß sie die Befehlsadresse abzugeben vermag, die einen Wortspeicherplatz innerhalb jeder Ebene des Pufferspeichers zu bezeichnen gestattet, aus dem ein Operandenwort aufzurufen oder in den ein Operandenwort während des zweiten Intervalls des Cachespeicherzyklus einzuschreiben ist.
    65. Cachespeichereinheit nach Anspruch 64, dadurch gekennzeichnet, daß die zweite Adressenquelle ein Befehlsadressenregister enthält, welches mit der zweiten Reihe der Eingangsanschlüsse der Adressenschalterauswahleinrichtung verbunden ist, und daß das Befehlsadressenregister eine Anzahl von Bitpositionen aufweist, von denen eine Gruppe zur Speicherung einer Adresse dient, die einen nächsten Wortspeicherplatz innerhalb der Ebenen des Pufferspeichers festlegt, aus der ein Befehlswort per Zugriff während des ersten Intervalle des Cachespeicherzyklus aufzurufen ist.
    030025/0769
    66o Cachespeichereinheit nach Anspruch 65, dadurch gekennzeichnet, daß die betreffende eine Adressenquelle einen Puffer enthält, der zur Speicherung zumindest einer Adresse dient, die aus einem Befehl abgeleitet ist, der einen eine Leseoperation bezeichnenden Befehlscode aufweist, daß die betreffende Adresse den Wortspeichorplatz innerhalb des Pufferspeichers bezeichnet, in den die von dem Hauptspeicher her angeforderte Information mit Hilfe des betreffenden Befehls einzuschreiben ist, und daß mit dem Puffer und der Adressenschalterauswahleinrichtung eine Verbindungseinrichtung verbunden ist, die die betreffende Adresse an eine dritte Reihe von Eingangsanschlüssen der Adressenschalterauswahleinrichtung abzugeben vermag, derart, daß die betreffende Adresse in das Adressenregister ladbar ist, wodurch das Einschreiben der Information in den Pufferspeicher während des ersten Intervalls des betreffenden Cachespeicherzyklus freigegeben ist.
    67. Cachespeichereinheit nach Anspruch 66, dadurch gekennzeichnet, daß die Steuerschaltungseinrichtung eine dritte Verknüpfungseinrichtung enthält, die zur Erzeugung von Speicher-Schreibfreigabesignalen dient, welche das Einschreiben der angeforderten Information in den Pufferspeicher während des ersten Intervalls freigegeben, und daß die dritte Verknüpfungseinrichtung die erste Verknüpfungseinrichtung und die zweite Verknüpfungseinrichtung derart ansteuert, daß die codierten Steuersignale erzeugt werden, durch die die Adressenschalterauswahleinrichtung veranlaßt wird, von einer ersten Stellung in eine zweite Stellung umzuschalten, in der die Adresse von dem Pufferspeicher anstelle der Adresse aus dem Befehlsadressenregister auswählbar und in das Adressenregister ladbar ist.
    68. Cachespeichereinheit nach Anspruch 67, dadurch gekenn-
    030025/0769
    - 41 - ^94957]
    zeichnet, daß eine Befehls-Bereitschaftssteuerschaltungseinrichtung vorgesehen ist, die an die Datenverarbeitungseinheit ein Ausgangssignal abzugeben gestattet, welches ein>~ Signalisierung in dem Fall liefert, daß 3efehle für den Zugriff von dem Pufferspeicher her bereitstehen, und daß mit der dritten Verknüpfungseinrichtung und der Befehls-Bereitschaftssteuereinrichtung eine Sperrsteuereinrichtung verbunden ist, die durch die betreffende dritte Verknüpfungseinrichtung derart steuerbar ist, daß die Befehls-BereitschaftssteuerSchaltungseinrichtung an der Erzeugung des Ausgangssignals in dem Fall gehindert ist, daß die angeforderte Information in den Pufferspeicher während des ersten Intervalls eingeschrieben wird.
    69. Cachespeichereinheit nach Anspruch 68, dadurch gekennzeichnet, daß die Steuerschaltungseinrichtung eine vierte Verknüpfungseinrichtung enthält, die ein Ausgangssignal in dem Fall zu erzeugen vermag, daß ein bestimmter Befehlstyp von der Datenverarbeitungseinheit während des ersten Intervalls decodiert worden ist, daß die betreffende vierte Verknüpfungseinrichtung mit der ersten Verknüpfungseinrichtung und mit der zweiten Verknüpfungseinrichtung verbunden ist und daß die betreffende vierte Verknüpfungseinrichtung auf das Auftreten des bestimmten Befehlstyps hin derart betrieben wird, daß sie ein Steuersignal erzeugt, durch welches die Adressenschalterauswahleinrichtung veranlaßt wird, eine Adresse aus dem Befehlsregister auszuwählen und in das Adressenregister während des ersten Intervalls zu laden, derart, daß ein Zugriff zu einem Befehl aus den betreffenden Ebenen des Pufferspeichers während des zweiten Intervalls erfolgt.
    030025/0769
    70. Cache Speichereinheit nach Anspruch 61, dadurch gekennzeichnet, daß die Befehle jeweils einen Befehlscode und eine Adresse enthalten, daß jede Ebene des Pufferspeichers eine Anzahl von Blöcken der Wortspeicherplätze aufweist, daß jede Ebene und jeder Block durch eine Ebenen-Adresse bzw. durch eine Blockadresse bezeichnet ist, daß eine Adreßliste mit einer Vielzahl von Speicherplätzen vorgesehen ist, deren Anzahl der Anzahl der Ebenen in dem Pufferspeicher entspricht und die durch die Ebenen-Adressen adressierbar sind, daß jeder Speicherplatz der Adreßliste Blockadressen von Blöcken von Wörtern innerhalb der zugehörigen Ebene des Pufferspeichers zu speichern vermag, daß die Adreßliste auf die einem niederwertigen Teil der Befehlsadresse entsprechende Ebenen-Adresse hin die einem höherwertigen Teil der Befehlsadresse entsprechenden Blockadressen auszulesen gestattet, daß mit der Adreßliste eine Vergleichereinrichtung verbunden ist, die die aus der Adreßliste ausgelesenen Blockadressen mit dem höherwertigen Teil der Befehlsadresse zu vergleichen gestattet und die Treffer-Detektorsignale zu erzeugen erlaubt, welche eine Anzeige darüber liefern, ob die per Zugriff aufgerufene Information in dem Pufferspeicher gespeichert ist oder nicht, daß mit der einen geteilten Zeitsteuerzyklus festlegenden Zeitsteuereinrichtung und der Vergleichereinrichtung sowie mit dem Pufferspeicher eine Adreßlisten-Ebenen-Steuereinrichtung verbunden ist, die auf das Auftreten der Treffer-Detektorsignale hin derart betrieben ist, daß sie eine Reihe von Treffer-Ebenen-Signalen während des zweiten Intervalls eines nächsten Cachespeicherzyklus erzeugt, derart, daß die übertragung eines angeforderten Operandenwortes an die Datenverarbeitungseinheit freigegeben ist, und daß<fas betreffende Operandenwort durch den jeweiligen Befehl bezeichnet ist, dessen Befehlscode eine Leseoperation bezeichnet,
    030025/0769
    £949571
    wobei die Vorgänge in Übereinstimmung mit den Ergebnissen einer Adreßlisten-Suchoperation abgewickelt werden, die während des vorhergehenden Cachespeicherzyklus durchgeführt wird, ohne daß eine Störung mit der Übertragung der Befehlwörter auftritt, die durch die Datenverarbeitungseinheit angefordert sind.
    71. Cachespeichersystem für die Verwendung in Verbindung mit einer Datenverarbeitungseinheit zur Erzielung eines schnellen Zugriffs zu Befehlen und Daten, die aus einem angeschlossenen Hauptspeicher mittels einer Anzahl von Adressenquellen auf das Auftreten von Befehlen von der Datenverarbeitungseinheit her aufgerufen werden, dadurch gekennzeichnet, daß ein Cachespeicher mit einer Vielzahl von adressierbaren Wortspeicherplätzen vorgesehen ist, die in einer Vielzahl von Ebenen zur Speicherung der Daten und Befehle organisiert sind, daß die betreffenden Ebenen vertikal für den Zugriff von Informationen auf einer Wortbasis angeordnet sind, daß ein in eine Mehrzahl von Stellungen einstellbarer Adressenschalter vorgesehen ist, der eine Anzahl von Reihen von Eingangsanschlüssen für die Aufnahme einer entsprechenden Anzahl von Reihen von Adressensignalen von der betreffenden Anzahl der Adressenquellen, eine Vielzahl von Ausgangsanschlüssen und eine Vielzahl von Steuereingangsanschlüssen aufweist, daß ein Adressenregister mit der Vielzahl der Ausgangsanschlüsse und dem Pufferspeicher verbunden ist, daß das betreffende Adressenregister zur Speicherung der Adresse dient, die denjenigen Speicherplatz innerhalb der Ebenen bezeichnet, zu dessen Inhalt während eines Cachespeicher-Operationszyklus ein Zugriff zu erfolgen hat, daß eine Steuerschaltungseinrichtung mit den Steueranschlüssen der in eine Vielzahl von Stellungen einstellbaren Adressenschaltereingangseinrichtung verbunden ist, daß die
    030025/0769
    £949571
    betroffende Steuerschaltungseinrichtung codierte Steuersignale zu erzeugen vermag, die diejenige. Adressenquelle der in einer Anzahl vorgesehenen Adressenquellen bezeichnen, die zur Abgabe der Adresse an die Ausgangsanschlüsse vorgesehen ist, und daß die einen geteilten Zeitsteuerzyklus bereitstellende Zeitsteuereinrichtung Zeitsteuersignale erzeugt, welche erste und zweite Hälften des Cachcspeicher-Operationszyklus festlegen, wobei die betreffende Zeitsteuereinrichtung mit der Steuereinrichtung verbunden ist, die durch die betreffende Zeitsteuereinrichtung während der ersten Hälfte derart gesteuert ist, daß der Adressenschalter zur Auswahl einer Adresse freigegeben ist, die in das betreffende Adressenregister geladen wird und die an eine erste Reihe der Eingangsanschlüsse von einer ersten Adressenquelle her abgegeben wird, wobei der Zugriff zu Daten während der zweiten Hälfte des CacheSpeicherzyklus freigegeben ist und wobei die Steuereinrichtung während der zweiten Hälfte derart angesteuert ist, daß der Adressenschalter für die Auswahl einer Adresse freigegeben ist, die in das betreffende Adressenregister geladen wird und die an eine zweite Reihe der Eingangsanschlüsse von einer zweiten Adressenquelle her abgegeben wird, wobei der Zugriff zu Befehlen während des ersten Intervalls des betreffenden Cachespeicherzyklus ohne eine Störung freigegeben ist.
    72. Cachespeichersystem nach Anspruch 71, dadurch gekennzeichnet, daß die Zeitsteuereinrichtung eine Verteilereinrichtung aufweist, die an unterschiedliche Cachespeichersystembereiche erste und zweite Reihen von Taktimpulsen abgibt, die mit einer Phasenverschiebung von 180° auftreten und durch die die ersten und zweiten Hälften des Cachespeicherzyklus festgelegt sind.
    030025/0769
    73. Cachespeichersystem nach Anspruch 71, dadurch gekennzeichnet, daß die Steuerschaltungseinrichtung eine erste Verknüpfungseinrichtung aufweist, die zur Aufnahme eines ersten ZeitSteuersignals von der Zeitsteuereinrichtung her dient und die derart betrieben ist, daß sie ein Ausgangssignal zur Freigabe des Ladens der Adresseninformation in das Adressenregister während der ersten Hälfte des Cachespeicherzyklus erzeugt, derart, daß ein Zugriff zu einer Information von den Ebenen des Cachespeichers während der zweiten Hälfte des Cachespeicherzyklus erfolgt, daß eine zweite Verknüpfungseinrichtung vorgesehen ist, die zur Aufnahme eines zweiten Zeitsteuersignals von der Zeitsteuereinrichtung her dient und die derart betrieben ist, daß sie ein Ausgangssignal zur Freigabe des Ladens einer Adresseninformation in das Adressenregister während des betreffenden zweiten Intervalls erzeugt, derart, daß der Zugriff zu einer Information, die in den betreffenden Ebenen des Cachespeichers gespeichert ist, während der betreffenden ersten Hälfte des Cachespeicherzyklus freigegeben ist, und daß die Steueranschlüsse der Adressenschaltereingangseinrichtung mit der ersten Verknüpfungseinrichtung und der zweiten Verknüpfungseinrichtung verbunden sind, wobei der Adressenschalter durch die betreffenden codierten Signale derart angesteuert wird, daß in das betreffende Adressenregister die Adressen von den ersten und zweiten Adressenquellen her während der ersten und zweiten Hälften desselben Cachespeicher-Operationszyklus ladbar sind.
    74. Cachespeichersystem nach Anspruch 73, dadurch gekennzeichnet, daß jeder der Befehle einen Befehlscode und eine Adresse umfaßt, daß die betreffende
    030026/0769
    weitere Adressenquelle eine Eingangsschaltungseinrichtung aufweist, die mit der Verarbeitungseinheit verbunden ist und die zur Aufnahme der Adresse des jeweiligen Befehls dient, daß die Eingangsschaltungseinrichtung mit der ersten Reihe der Eingangsanschlüsse des Adressenschalters verbunden ist und daß die Eingangsschaltungseinrichtung derart betrieben ist, daß .sie die Befehlsadresse abzugeben gestattet, die einen Wortspeicherplatz innerhalb Jeder der Ebenen des Cachespeichers bezeichnet, aus der ein Operandenwort abzuholen oder in den ein Operandenwort während der zweiten Hälfte des Cachespeicherzyklus einzuschreiben ist.
    75. Cachespeichersystem nach Anspruch 74, dadurch gekennzeichnet, daß die betreffende eine Adressenquelle ein Befehlsadressenregister enthält, welches mit der zweiten Reihe der Eingangsanschlüsse des Adressenschalters verbunden ist, und daß das Befehlsadressenregister eine Anzahl von Bitpositionen aufweist, von denen ein Gruppe zur Speicherung einer Adresse dient, welche einen nächsten Wortspeicherplatz innerhalb der Ebenen des Cachespeichers bezeichnet, aus dem ein Befehlswort während der ersten Hälfte des Cachespeicherzyklus per Zugriff aufzurufen ist.
    76. Cachespeichersystem nach Anspruch 75, dadurch gekennzeichnet, daß eine der in einer Anzahl vorgesehenen Adressenquellen einen Puffer enthält, der zur Speicherung zumindest einer Adresse dient, die aus einem Befehl abgeleitet ist, der einen eine Leseoperation bezeichnende Befehlscode aufweist, daß die betreffende Adresse den Wortspeicherplatz innerhalb des Cachespeichers bezeichnet, in den die von dem Hauptspeicher her angeforderte Information mit Hilfe des betreffenden Befehls einzuschreiben
    030025/0769
    ist, und daß mit dem Puffer und dem Adressenschalter eine Verbindungseinrichtung verbunden ist, die die Adresse an eine weitere Reihe von Eingangsanschlüssen des Adressenschalters abzugeben vermag, derart, daß die betreffende Adresse in das Adressenregister ladbar ist, wodurch das Einschreiben der Information in den Cachespeicher während der ersten Hälfte des Cachespeicherzyklus freigegeben ist.
    77. Cachespeichersystem nach Anspruch 76, dadurch gekennzeichnet, daß die Steuerschaltungseinrichtung eine dritte Verknüpfungseinrichtung aufweist, die zur Erzeugung von Speicher-Schreibfreigabesignalen dient, durch welche das Einschreiben der angeforderten Information in den Cachespeicher während der ersten Hälfte des Cachespeicherzyklus freigegeben ist, und daß die betreffende dritte Verknüpfungseinrichtung die erste Verknüpfungseinrichtung und die zweite Verknüpfungseinrichtung derart ansteuert, daß die codierten Steuersignale erzeugbar sind, durch die der Adressenschalter veranlaßt wird, von einer ersten Stellung in eine zweite Stellung zur Auswahl der Adresse aus dem Puffer anstelle der Adresse aus dem Befehlsadressenregister umzuschalten, derart, daß die betreffende Adresse in das Adressenregister geladen wird.
    78. Cachespeichersystem nach Anspruch 77, dadurch gekennzeichnet, daß eine Befehls-Bereitschaftssteuerschaltungseinrichtung vorgesehen ist, die an die Datenverarbeitungseinheit ein Ausgangssignal abzugeben vermag, welches eine Signalisierung darüber liefert, daß Befehle für den Zugriff von dem Cachespeicher her bereitstehen, und daß mit der dritten Verknüpfungseinrichtung und der Befehls-Bereitschaftssteuereinrichtung eine Sperrsteuereinrichtung verbunden ist, die durch die betreffende dritte Verknüpfungsein-
    030025/0769
    richtung derart angesteuert wird, daß die Befehls-Bereitschaftssteuerschaltungseinrichtung an der Erzeugung des betreffenden Ausgangssignals in dem Fall gehindert ist, daß die angeforderte Information in den Cachospeich^r während der ersten Hälfte des Cachespeicherzyklus eingeschrieben wird.
    79. Cachespeichersystem nach Anspruch 78, dadurch gekennzeichnet, daß die Steuereinrichtung eine vierte Verknüpfungseinrichtung aufweist, die ein Ausgangssignal zu erzeugen gestattet, welches eine Anzeige dafür liefert, daß ein bestimmter Befehlstyp von der Datenverarbeitungseinheit während der ersten Hälfte des Cachespeicherzyklus decodiert worden ist, daß die vierte Verknüpfungseinrichtung mit der ersten Verknüpfungseinrichtung und der zweiten Verknüpfungseinrichtung verbunden ist, und daß die betreffende vierte Verknüpfungseinrichtung auf das Auftreten des bestimmten Befehlstyps hin derart betrieben ist, daß ein Steuersignal erzeugt wird, durch welches der Adressenschalter veranlaßt wird, eine Adresse von dem Befehlsadressenregister auszuwählen und diese Adresse in das Adressenregister während der ersten Hälfte zu laden, derart, daß ein Zugriff zu einem Befehl aus den betreffenden Ebenen des Cachespeichers während der zweiten Hälfte des Cachespeicherzyklus ausführbar ist.
    80. Cachespeichersystem nach Anspruch 71, dadurch gekennzeichnet, daß jeder Befehl einen Befehlscode und eine Adresse aufweist, daß jede Ebene des Cachespeichers eine Anzahl von Blöcken von Wortspeicherplätzen aufweist, daß jede Ebene und jeder Block durch eine Ebenen-Adresse bzw. durch eine Blockadresse bezeichnet ist, daß eine Adreßliste mit einer Vielzahl von Speicherplätzen vorgesehen ist, deren Anzahl der
    030025/0769
    Anzahl der Ebenen in dem Pufferspeicher entspricht und die durch die Ebenen-Adressen adressierbar sind, daß jede Speicherstelle der Adreßliste Blockadressen von Blöcken von Wörtern innerhalb der zugehörigen Ebene des Cachespeichers zu speichern gestattet, daß die betreffende Adreßliste auf das Auftreten der Ebenen-Adresse hin, die einem niederwertigeη Teil der Befehlsadresse entspricht, die einem höherwertigen Teil der betreffenden Befehlsadresse entsprechenden Blockadressen auszulesen gestattet, daß mit der Adreßliste eine Vergleichereinrichtung verbunden ist, welche die aus der Adreßliste ausgelesenen Blockadressen mit dem höherwertigen Teil der Befehlsadresse zu vergleichen gestattet und welche Treffer-Detektorsignale zu erzeugen erlaubt, die eine Anzeige darüber liefern, ob die Information, zu der ein Zugriff erfolgt, in dem Cachespeicher gespeichert ist oder nicht, daß mit der einen geteilten Zeitsteuerzyklus bereitstellenden Zeitsteuereinrichtung, der Vergleichereinrichtung und dem Cachespeicher eine Adreßlisten-Ebenen-Steuereinrichtung verbunden ist, die auf das Auftreten der Treffer-Detektorsignale hin derart betrieben ist, daß sie eine Reihe von Treffer-Ebenen-Signale während der zweiten Hälfte eines nächsten Cachespeicherzyklus erzeugt, derart, daß die übertragung eines angeforderten Operandenwortes an die Datenverarbeitungseinheit freigegeben ist, und daß die betreffende Übertragung durch den jeweiligen Befehl bezeichnet ist, dessen Befehlscode eine Leseoperation festlegt, wobei die Vorgänge in Übereinstimmung mit den Ergebnissen einer Adreßlisten-Suchoperation ausgeführt werden, die während des vorhergehenden Cachespeicherzyklus ohne eine Störung mit der übertragung von Befehlswörtern abgewickelt werden, welche von der Datenverarbeitungseinheit angefordert sind.
    030025/0769
DE19792949571 1978-12-11 1979-12-10 Cachespeichereinheit fuer die verwendung in verbindung mit einer datenverarbeitungseinheit Granted DE2949571A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US05/968,312 US4245304A (en) 1978-12-11 1978-12-11 Cache arrangement utilizing a split cycle mode of operation
US05/968,521 US4208716A (en) 1978-12-11 1978-12-11 Cache arrangement for performing simultaneous read/write operations

Publications (2)

Publication Number Publication Date
DE2949571A1 true DE2949571A1 (de) 1980-06-19
DE2949571C2 DE2949571C2 (de) 1988-06-30

Family

ID=27130509

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19792949571 Granted DE2949571A1 (de) 1978-12-11 1979-12-10 Cachespeichereinheit fuer die verwendung in verbindung mit einer datenverarbeitungseinheit

Country Status (4)

Country Link
CA (1) CA1141040A (de)
DE (1) DE2949571A1 (de)
FR (1) FR2448189B1 (de)
GB (2) GB2037039B (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2474201B1 (fr) * 1980-01-22 1986-05-16 Bull Sa Procede et dispositif pour gerer les conflits poses par des acces multiples a un meme cache d'un systeme de traitement numerique de l'information comprenant au moins deux processus possedant chacun un cache
SE445270B (sv) * 1981-01-07 1986-06-09 Wang Laboratories Dator med ett fickminne, vars arbetscykel er uppdelad i tva delcykler
DE3537115A1 (de) * 1985-10-18 1987-05-27 Standard Elektrik Lorenz Ag Verfahren zum betreiben einer einrichtung mit zwei voneinander unabhaengigen befehlseingabestellen und nach diesem verfahren arbeitende einrichtung
JPH07122868B2 (ja) * 1988-11-29 1995-12-25 日本電気株式会社 情報処理装置
US5058116A (en) * 1989-09-19 1991-10-15 International Business Machines Corporation Pipelined error checking and correction for cache memories

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3588829A (en) 1968-11-14 1971-06-28 Ibm Integrated memory system with block transfer to a buffer store
DE2503738A1 (de) * 1974-02-09 1975-08-14 Philips Nv Speicheranordnung mit haupt- und pufferspeicher
US4070706A (en) 1976-09-20 1978-01-24 Sperry Rand Corporation Parallel requestor priority determination and requestor address matching in a cache memory system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3670309A (en) * 1969-12-23 1972-06-13 Ibm Storage control system
US3967247A (en) * 1974-11-11 1976-06-29 Sperry Rand Corporation Storage interface unit
US4056845A (en) * 1975-04-25 1977-11-01 Data General Corporation Memory access technique
US4055851A (en) * 1976-02-13 1977-10-25 Digital Equipment Corporation Memory module with means for generating a control signal that inhibits a subsequent overlapped memory cycle during a reading operation portion of a reading memory cycle

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3588829A (en) 1968-11-14 1971-06-28 Ibm Integrated memory system with block transfer to a buffer store
DE2503738A1 (de) * 1974-02-09 1975-08-14 Philips Nv Speicheranordnung mit haupt- und pufferspeicher
US4070706A (en) 1976-09-20 1978-01-24 Sperry Rand Corporation Parallel requestor priority determination and requestor address matching in a cache memory system

Also Published As

Publication number Publication date
FR2448189A1 (fr) 1980-08-29
FR2448189B1 (fr) 1988-10-21
GB2037039A (en) 1980-07-02
GB2114783A (en) 1983-08-24
GB2114783B (en) 1984-01-11
DE2949571C2 (de) 1988-06-30
GB2037039B (en) 1983-08-17
CA1141040A (en) 1983-02-08

Similar Documents

Publication Publication Date Title
DE69133302T2 (de) Registerabbildung in einem einzigen Taktzyklus
DE3851746T2 (de) Sprungvorhersage.
DE68927172T2 (de) Multiprozessorsystem mit cache-speichern
DE69327688T2 (de) Befehlsdecoder
DE68911398T2 (de) Methode und digitaler computer zum vorausholen von vektordaten aus dem speicher in einem für skalaverarbeitung bestimmten speichersystem.
DE69929936T2 (de) Verfahren und Vorrichtung zum Abrufen von nicht-angrenzenden Befehlen in einem Datenverarbeitungssystem
DE69432314T2 (de) Cachespeicher mit aufgeteiltem pegel
DE68928519T2 (de) Verfahren und Vorrichtung zur Vorhersage der richtigen Durchführung der Übersetzungen von virtuellen in physikalische Adressen
DE69620807T2 (de) Datenverarbeitungsvorrichtung zum Vorziehen einer Datenstruktur aus dem Hauptspeicher oder seinem Cachespeicher
DE3785897T2 (de) Steuervorrichtung zum vorabruf von befehlen.
DE3151745C2 (de)
DE69025302T2 (de) Hochleistungsrasterpuffer- und -cachespeicheranordnung
DE69023568T2 (de) Cache-Speicheranordnung.
DE2948668A1 (de) Puffereinheit
DE3887324T2 (de) Speicheranordnung.
DE2023354C2 (de) Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher
DE68928727T2 (de) Cachespeicheranlage zum Versorgen eines Festworts eines Befehlscodes mit variabler Länge und Befehlsabrufanlage
DE69224084T2 (de) Rechneranordnung mit Mehrfachpufferdatencachespeicher und Verfahren dafür
DE69418146T2 (de) Temporärer Registersatz für einen superpipeline-superskalaren Prozessor
DE2117936A1 (de) Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems
DE2855106A1 (de) Einrichtung zur durchfuehrung von instruktionsverzweigungen
DE19855806A1 (de) Vorrichtung und Verfahren zum Durchführen von Unterprogrammaufruf- und Rücksprungoperationen
DE3923253C2 (de) Mikroprozessor
DE2524046A1 (de) Elektronische datenverarbeitungsanlage
DE69410660T2 (de) Instruktionsspeichersystem für RISC-Mikroprozessor, fähig zu relativen Progammzahleradressierung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 2954576

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 2954576

AH Division in

Ref country code: DE

Ref document number: 2954576

Format of ref document f/p: P

D2 Grant after examination
8327 Change in the person/name/address of the patent owner

Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US

8328 Change in the person/name/address of the agent

Free format text: BARDEHLE, H., DIPL.-ING. DOST, W., DIPL.-CHEM. DR.RER.NAT. ALTENBURG, U., DIPL.-PHYS. HOFFMANN, W.,DIPL.-PHYS. WALLINGER, M., DIPL.-ING. DR.-ING., PAT.-ANWAELTE PAGENBERG, J., DR.JUR. FROHWITTER, B., DIPL.-ING., RECHTSANWAELTE GEISSLER, B., DIPL.-PHYS.DR.-JUR., PAT.- U. RECHTSANW. KROHER, J., DR. KOWAL-WOLK, T., DR.-JUR., RECHTSANWAELTE, 8000 MUENCHEN

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee