[go: up one dir, main page]

DE2948668A1 - Puffereinheit - Google Patents

Puffereinheit

Info

Publication number
DE2948668A1
DE2948668A1 DE19792948668 DE2948668A DE2948668A1 DE 2948668 A1 DE2948668 A1 DE 2948668A1 DE 19792948668 DE19792948668 DE 19792948668 DE 2948668 A DE2948668 A DE 2948668A DE 2948668 A1 DE2948668 A1 DE 2948668A1
Authority
DE
Germany
Prior art keywords
instruction
signals
buffer
signal
register
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.)
Withdrawn
Application number
DE19792948668
Other languages
English (en)
Inventor
Marion G Porter
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 Italia SpA
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
Application filed by Honeywell Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
Publication of DE2948668A1 publication Critical patent/DE2948668A1/de
Withdrawn 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

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)
  • Multi Processors (AREA)

Description

Die vorliegende Eafindung bezieht sich auf eine Puffereinheit nach dem Gattungsbegriff des Anspruches 1 und insbesondere auf einen Anweisungspuffer.
Viele bekannte Datenverarbeitungssysteme verwenden eine Speicherhierarchie,die einen Hauptspeicher und eine Puffereinheit umfaßt. Es gibt anerkannte Kostenvorteile, die dadurch entstehen, daß eine solche Puffereinheit eine begrenzte Anzahl von Blöcken enthält, um die Größe der darin enthaltenen Speicher auf einem Minimum zu halten. Andererseits ergeben sich jedoch bestimmte Nachteile aus einer solchen Begrenzung des Speicherplatzes.
Zur Vermeidung dieser Nachteile sehen einige Hochgeschwindigkeits-Speichersysteme ein hohes Maß an Überlappungen und die gleichzeitige Ausführung von Anweisungen vor. Bei der Bildung derartiger Überlappungen hat es sich jedoch herausgestellt, daß hierdurch ein zusätzlicher Aufwand bezüglich der Informationsübertragung zwischen der Puffereinheit und dem Hauptspeicher sowie in der Fortschaltung der Anweisungen entsteht. Ein bekanntes System verbessert die Datenübertragung zwischen dem Hauptspeicher und der Puffereinheit durch die Anordnung eines Speicher-Anweisungspuffers /der Einrichtungen enthält, welche die nacheinanderfolgende Bearbeitung eines Teiles eines gespeicherten Befehls unter Einschluss der System-Schnittstelleneinheit zwischen dem Hauptspeicher und der Puffereinheit gestatten und der ferner Einrichtungen enthält, um eine aufeinanderfolgende Bearbeitung eines Teiles des gespeicherten Befehls unter Einschluss der Puffereinheit vorzusehen, zur weiteren diesbezüglichen Information sei auf die US-Patentanmeldung mit der Seriennummer 861228 mit Anmeldetag vom 16.Dezember 1977 verwiesen.
Während die vorstehend erwähnte Anweisungs-Pufferanordnung die Datenübertragung zwischen dem Hauptspeicher und der Puffereinheit verbessert, ergibt sich eine gewisse Beschränkung hinsichtlich der Anzahl der unterschiedlichen Anweisungstypen, die zu irgendeinem Zeitpunkt verarbeitet werden können. Dies führt zu Verzögerungen bei der Übertragung der Anweisungen zu dem Haupt-
030024/0833
Speicher.
Es ist daher die Aufgabe der vorliegenden Erfindung, eine Puffer· einheit der eingangs genannten Art so auszubilden, daß eine verbesserte Steuerung der übertragung von Anweisungen und Daten zwischen einer Puffereinheit und dem Hauptspeicher mit hoher Leistung und bei geringen Kosten und mit geringem Aufwand erzielt wird. Die Lösung dieser Aufgabe gelingt gemäß der im Anspruch 1 gekennzeichneten Erfindung. Weitere vorteilhafte Ausgestaltungen der Erfindung sind den Unteransprüchen entnehmbar .
Die vorliegende Erfindung ist in einem bevorzugten Ausführungsbeispiel einer'Puffereinheit verwirklicht, die zwischen einem Datenprozessor und dem Hauptspeicher angeordnet ist. Der Anschluss an den Hauptspeicher erfolgt über eine System-Schnittstelleneinheit.
Die Puffereinheit umfaßt einen Pufferspeicher, der in mehreren Pegelnprganisiert ist, um Informationsblöcke in der Form von Daten und Befehlen zu speichern. Die Puffereinheit umfaßt ferner einen Schreib-Anweisungspuffer, einen Übertragungsblockpuffer und eine Anweisungs-Warteschlangeneinrichtung,die an die Puffer angeschlossen ist, um die Bearbeitung der darin gespeicherten Anweisungen zu steuern. Jeder Puffer umfaßt mehrere Speicherplätze für die Speicherung von Anweisungen, die von dem Prozessor empfangen werden. Jeder Puffer ist so angeschlossen und wird so betrieben, daß er Anweisungen an die System-Schnittstelleneinheit unter Steuerung durch die Anweisungs-Warteschlangeneinrichtung übertragen kann.
Das bevorzugte Ausführungsbeispiel der Anweisungs-Warteschlangeneinrichtung umfaßt mehrere Multibit-Speicherplätze entsprechend der Anzahl der Speicherplätze innerhalb des Schreibund Übertragungsblockpuffers. Jeder Speicherplatz ist in einem bestimmten Format codiert. Insbesondere speichert eine erste Bitposition eines jeden Speicherplatzes einen Hinweis
Ö3002W0833
auf den Typ der Anweisung, eine zweite Bitposition speichert einen Hinweis auf die Anzahl der in der Anweisung enthaltenen Worte und eine vorbestinunte Anzahl von Bitpositionen dient der Speicherung einer Hinweisadresseninformation, die den Anweisungs-Speicherplatz innerhalb eines der Puffer festlegt.
Die Anweisungs-Warteschlangeneinrichtung umfaßt Steuerschalt-
die
kreise, durchweine Eintrittsstelle mit dem festgelegten Format in einem der Speicherplätze abgelegt wird, wenn die Anweisung in einen der Puffer geladen wird, wobei dieser Puffer für die Steuerung der Fortschaltung und übertragung von Anweisungen verwendet wird.
Ein Einwärts-Hinweisadressenregister innerhalb der Einrichtung wird bezüglich seines Inhalts jeweils um eins erhöht, wenn ein Eintritt erfolgt, während ein Auswärts-Hinweisadressenregister bezüglich seines Inhalts um eins erhöht wird, wenn eine Anweisung bzw. ein Datenwort von einem der Puffer zu der System-Schnittstelleneinheit übertragen wird. Ferner wird ein Einwärts-Hinweisadressenwert,der von dem dem bestimmten Puffer zugeordneten Einwärts-Hinweisadressenregister erhalten wird, in der vorbestimmten Anzahl von Bitpositionrn des Speicherplatzes gespeichert,in den die Eintrittsstelle eingeschrieben wird. Ein Vergleichschaltkreis vergleicht die in den Hinweisadressenregistern der Warteschlangeneinrichtung gespeicherten Adresswerte und erzeugt ein Ausgangssignal in dem Fall, wo die Werte voneinander verschieden sind,um der Puffereinheit zu signalisieren, daß eine bzw. mehrere Anweisungen noch der Erledigung bedürfen.
Durch die Steuerung der Fortschaltung der Anweisungen und der Übertragungen in Übereinstimmung mit solchen Eintrittsstellen führt die Anweisungs-Warteschlangeneinrichtu.ig zu einer maximalen Ausnutzung der Speicherkapazität des Schreib-Anweisungspuffers, wobei die Speicherung einer maximalen Anzahl von Anweisungen gestattet wird.
030024/0833
Ferner ermöglicht diese Anordnung die Bearbeitung neuer von dem Prozessor empfangener Schreibanweisungen ohne Verzögerung sobald die Steuerschaltkreise der Anweisungs-Warteschlangeneinrichtung feststellen, daß eine Anweisung bzw. ein Datenwort aus dem Schreibpuffer zu der System-Schnittstelleneinheit zu übertragen ist. Ferner werden hiefurch Zeittaktprobleme eliminiert die aus der Verzögerung des Empfangs von Antworten von der System-Schnittstelleneinheit herrühren, wobei die Schnittstelleneinheit der Puffereinheit mitzuteilen hat, daß ihre Ubertragungsanforderung angenommen wurde.
Die erfindungsgemäße Anordnung vereinfacht ferner die Anweisungsfortschaltung und die Übertragung von Anweisungen. Beispielsweise ist es nicht erforderlich jede Anweisung zu decodieren um weitere für die übertragung einer solchen Anweisung erforderliche Steuerinformation zu gewinnen. Schließlich wird die Übertragung einer jeden solchen Anweisung erleichtert, da ihr Speicherplatz durch die zugeordnete Eintrittsstelle leicht identifizierbar ist.
Anhand eines in den Figuren der beiliegenden Zeichnung dargestellten Ausführungsbeispieles sei im folgenden die Erfindung näher erläutert. Es zeigen:
Fig. 1 ein das Prinzip der vorliegenden Erfindung verwendendes System in einem Blockdiagramm.
Fig. 2 ein Blockdiagramm des Zentralprozessors und der Puffereinheit 750 gemäß Figur 1.
Fig. 3a-3e bestimmte Blöcke gemäß Figur 2 in näheren Einzelheiten.
Fig. 4 die Puffereinheit 7 50 gemäß Figur 2 in einen Blockdiagramm.
Ö3002W0833
Fig. 5 die Schnittstelle 604 zwischen Puffer einheit und Prozessor in näheren Einzelheiten.
Fig. 6a das Format des Steuerspeicherwortes für die Steuereinheit in Fig. 1.
Fig. 6b das Format der Microbefehlsworte für
den Bearbeitungs-Steuerspeicher in den Figuren 2 und 3.
Fig. 7a-7e verschiedene Abschnitte der Puffereinheit 750 in näheren Einzelheiten.
Ö3002W0833
Gemäß Figur 1 umfaßt das System gemäß der vorliegenden Erfindung wenigstens einen Ein/Ausgabe-Prozessor (IOPP) 200, eine System-Schnittstelleneinheit (SIU) 100, einenHochgeschwindigkeitsmultiplexer (HSMX) 300, einen Niedriggeschwindigkeitsmultiplexer (LXMX) 400, einen Zentralprozessor 700, einen Pufferespeicher 7 50, wenigstens einen Speichermodul entsprechend einem internen Speichermodul 500 und wenigstens einen Speichermodul entsprechend einem externen Speichermodul 800. Verschiedene dieser Module sind jeweils an einen aus einer Reihe von Anschlüssen der System-Schnittstelleneinheit 100 über eine Vielzahl von Leitungen angeschlossen, die ihrerseits verschiedene Arten von Schnittstellen 600 bis 604 bilden. Insbesondere ist der Ein/Ausgabe-Prozessor 200, der Pufferspeicher und der Hochgeschwindigkeitsmultiplexer 300 an die Anschlüsse G, E und A entsprechend angeschlossen, während der Niedriggeschwindigkeitsmultiplexer 400, der interne Speichermodul und der Hauptspeichermodul 800 an die Anschlüsse J, LMO und RMO entsprechend angeschlossen sind. Der Zentralprozessor 700 ist an den Pufferspeicher 750 angeschlossen.
Bevor in näheren Einzelheiten der Prozessor 700 und die Puffereinheit 750 beschrieben werden, die nach dem erfindungsgemäßen Prinzip aufgebaut sind, sei nunmehr jede der zuvor erwähnten Schnittstellen 600-604 erläutert.
Die Daten-Schnittstelle 600 dient dem Informationsaustausch zwischen einem aktiven Modul und der System-Schnittstelleneinheit 100. Der Informationsaustausch wird bewerkstelligt, indem der logische Zustand verschiedener Signalleitungen in Übereinstimmung mit vorbestimmten Regeln gesteuert wird, wobei diese Regeln durch eine als "Dialog" bezeichnete Signalfolge vorgegeben sind.
Die Schnittstelle 601 ist eine programmierbare Schnittstelle,die der übertragung von Anweisungsinformation von einem, aktiven
Ö3002A/0833
Modul zu einem festgelegten Modul dient. Die übertragung erfolgt durch Steuerung des Logikzustandes verschiedener Signalleitungen in Übereinstimmung mit zuvor errrichteten Regeln, die durch eine als "Dialog" bezeichnete Signalfolge vorgegeben sind.
Eine weitere Schnittstelle ist die Unterbrechungs-Schnittstelle 602, die für die Verarbeitungsunterbrechung des E/A-Prozessors 200 vorgesehen ist. Diese Schnittstelle gestattet die übertragung von Unterbrechungsinformation von einem aktiven Modul über die Schnittstelleneinheit SIU100 zu dem E/A-Prozessor 200# um durch diesen verarbeitet zu werden. In gleicher Weise wie bei den anderen Schnittstellen erfolgt die übertragung von Unterbrechungsanforderungen durch Steuerung des Logikzustandes verschiedener Signalleitungen in Übereinstimmung mit zuvor errichteten Regeln,durch eine als "Dialog" bezeichnete Signalfolge vorgegeben sind.
Line nächste Gruppe von Schnittstellenleitungen, die von bestimmten Modulen in Figur 1 benutzt wird, ist durch die interne Speicher-Schnittstelle 603 vorgegeben. Diese Schnittstelle dient dem Informationsaustausch zwischen dem internen Speicher 500 und den Modulen des Systems. Auch hier erfolgt wieder der Informationsaustausch durch die Steuerung des Logikzustandes verschiedener Signalleitungen in Übereinstimmung mit zuvor errichteten Regeln, die durch eine als "Dialog" bezeichnete Signalfolge vorgegeben sind.
Speicher- und programmierbare Schnittstellenanweisungen werden über die gleichen Datenleitungen der Schnittstelle übertragen. Die Schnittstelle umfaßt keine Gruppe von Leitungen für die Verarbeitung von Unterbrechungsanforderungen, so daß die an den internen Speicher über die Schnittstelle SIU100 angeschlossenen Module nicht direkt eine Speicherunterbrechung verursachen können.
Ö3002W0833
Bezüglich einer näheren Beschreibung der Elemente von Figur und jeder der Schnittstellen 600 bis 603 sei auf die US-PS 4.006.466 verwiesen.
Die letztgenannte Schnittstelle 604 ist eine interne Schnittstelle zwischen der Puffereinheit 750 und dem Zentralprozessor 700, wobei in Figur 5 die verschiedenen entsprechenden Schnittstellenleitungen veranschaulicht sind. Diese Schnittstelle dient dem Informationsaustausch und dem Austausch von Steuersignalen zwischen dem Prozessor 700 und der Puffereinheit 750. Auch dieser Austausch wird durch die Steuerung des Logikzustandes verschiedener Signal-Schnittstellenleitungen verwirklicht. Die Puffer/CPU-Schnittstelle umfaßt mehrere Leitungen mit folgender Bedeutung: Daten zum Prozessor ZDIO-3 5, P0-P3; ZAC- und Schreibdatenleitungen ZADOO-23, RADO24-35, P0-P3; Prozessoranforderung DREQ-CAC; Pufferanweisung DMEKO-3; Puffer halten HOLD-C-CU; Löschen CANCEL-C; Ausspülen CAC-FLUSH; Leseanforderung RD-EVEN; Lese-Befehlspuffer RD-IBUF; Doppellesen FRD-DBLE; Ungerade FODD; Befehl ZIBO-35, P0-P3, Steuerung DSZ; Lesen Befehlspufferdaten RD-IBUF/ZDI; Zonenbit DZDO-3, Umgehung Pufferspeicher BYP-CAC, Schreibsignal WRT-SGN, Befehlspuffer leer IBUF-ΈΜΡΤΥ; Befehlspuffer bereit IBUF-RDY; Befehlspuffer voll IBUF-FULL; Zentralprozessor Stop CP-STOP; Zentralprozessor-Steuerung DATA-RECOV; Beschreibungssteuerung FPIM-EIS; Übertragungsstillstand NO-GO und Wortadresse ZPTROUTO-1.
Befehle, Puffereanweisungen und Daten werden an die Puffereinheit 750 über verschiedene dieser Leitungen gerichtet. Ferner wird der Betrieb des Prozessors 700 durch bestimmte dieser Leitungen freigegeben oder gesperrt. Nachfolgend seien die CPU-Puffer-Schnittstellenleitungen in näheren Einzelheiten beschrieben.
030024/0833
-38'
CPU/Puffer-Schnittstellenleitungen Bezeichnung Beschreibung
DREQ-CAC
Diese Leitung erstreckt sich von dem Prozessor 700 zu der Puffereinheit 750. Wenn diese Leitung auf den Binärwert "1" gesetzt ist, so wird eine ZAC-Anweisung zu dem Pufferspeicher 750 übertragen. Im Falle einer ZAC-Schreibanweisung werden Schreib-Datenworte nach der ZAC-Anweisung in einem oder zwei Zyklen übertragen und es werden Datenworte von dem Prozessor 700 über die Puffereinheit 7 50 ohne Modifkation zu der Schnittstelleneinheit SIU1OO gesendet.
DMEM C,1,2,3
Diese Leitungen erstrecken sich von dem Prozessor 7OO zu der Schnittstelleneinheit 750. Sie legen durch ihre Codierung die Anweisung fest, die von der Puffereinheit 750 zu bearbeiten ist. Die Codierung ist folgendermaßen:
DMEM=OOOO no op. Es ist keine Aktion erforderlich und es wird keine Pufferanforderung erzeugt.
DMEM-OOOI Direkt. Die Direkt-Anweisung erlaubtdem Prozessor 700 eine direkte übertragung eines Operandenwertes;ohne Maßnahmen seitens der Puffereinheit 750 auszuführen. Somit wird durch diesen Anweisungstyp keine Pufferanforferung erzeugt.
Ö3002W0833
DMEM-0010 - Zyklische Adressenanweisung CADD-WRAP). Die Zyklische Adressanweisung wird bearbeitet,um die durch den Prozessor 700 an die Puffereinheit 7 50 gegebene Anweisung zurückzuholen. Im gleichen Zyklus wird die Anweisung über die Leitungen CDIO-an den Prozessor 700 gegeben.
DMEM=OI00-Lade Befehlspuffer Befehlsabruf Ί (LD-IBUF-IFI). Die Befehlspuffer-Ladeanweisung wird benutzt,um die Adresse des nächsten Blockes von Befehlen in das alternierende Befehlsregister RICA/RICB zu laden.
Es gibt drei mögliche Operationfolgen für diese Anweisung.
1. Im Falle eine Puffertreffers, wenn die Puffereinheit 7 50 nicht umgangen wird, so werden die in der Puffereinheit 750 gespeicherte Blockadresse und der Pegel in das alternierende Befehlsregister geladen. Es erfolgt ein Pufferspeicherzugriff , um den gesuchten Befehl abzurufen, der über die ZDI-Leitungen 0-35 zu dem Prozessor 700 beim nächstfolgenden Taktimpuls T übertragen wird. Das alternierende Befehlsregister wird nunmehr zum laufenden Befehlsregister .
2. Im Falle eine Puffer-Fehltreffer ,wenn die Puffereinheit 750 nicht umgangen wird, wird die Blockadresse und der Pegel,welche durch die zyklischen Schaltkreise festgelegt werden, in das alternierende Befehlsregister geladen.
030024/0833
Der Prozessor wird abgeschaltet oder beim nachfolgenden Taktimpuls T angehalten, um festzustellen, ob die Erzeugung der IF1-Anweisung aufgrund eines Übertragungs-Befehles erfolgt. Ist dies der Fall und liegt kein Übertragungsstillstand NO-GO vor, so wird das laufende Befehlsregister benutzt,um Zugriff auf den nächsten Befehl zu nehmen und den Prozessor 700 einzuschalten. Wenn die IF1-Anweisung durch einen Übertragungsbefehl hervorgerufen wird, der ein Marschbefehl GO ist, so sendet die Puffereinheit 750 eine Speicheranforderung an die Schnittstelleneinheit SIU100 für den gesuchten Block von Befehlen und es erfolgt eine Listenzuordnung für den fehlenden Block. Die von dem Speicher empfangenen Befehle werden zunächst in den Befehlspuffer und sodann in die Puffereinheit eingeschrieben. Der angeforderte Befehl wird über die ZDI-Leitungen zu dem Prozessor 700 übertragen und der Preozessor ist eingeschaltet oder wird bei dem nächstfolgenden Taktimpuls T freigegeben. Die restlichen Befehle des Blockes werden von dem Befehlspuffer zu dem Prozessor 700 über die ZIB-Leitungen übertragen.
3. Wenn die Puffereinheit zu umgehen ist und ein Treffer vorliegt, so ist das Voll-Leer-Bit für diesen Block zurückgestellt. Alle anderen Operationen sind die gleichen wie im Falle eines Puffer-Fehltreffers mit der Ausnahme, daß keine Listenzuordnung erfolgt und der Block nicht
030Q2W0833
in die Puffereinheit geschrieben wird.
DMEM=OI01 -Lade Befehlspuffer, Befehlsabruf 2 (LD-IBUF-IF2). Die Befehlspuffer-Ladeanweisung wird benutzt,um den Pegel des zweiten Blockes von Befehlen in das laufende Befehlsregister zu laden. Der Prozessor 700 wird im Falle eines Fehltreffers nicht abgeschaltet. Es gibt ebenfalls drei mögliche Operationsfolgen für diese Anweisung.
1. Im Falle eines Puffer-Trefferzustandes und keiner Umgehung wird der Pegel des zweiten Blockes von Befehlen in das laufende Befehlsregister geladen.
2. Im Falle eines Puffer-Fehltrefferzustandes und keiner Umgehung wird die IF1-Operation gestrichen, wenn die IF1-Anweisung sich als das Ergebnis eines Obertragungsbefehl-Stillzustandes NO-GO herausstellt. Im Falle eines anderen Zustandes als dem Stillstandszustand NO-GO erfolgt eine Listenzuordnung für den zweiten Block von Befehlen und der von den zyklischen Schaltkreisen erhaltene Pegel wird in das laufende Befehlsregister eingeschrieben. Die Puffereinheit 750 sendet für den Block eine Speicheranforderung an den Speicher und beim Empfang der Befehle werden diese zunächst in den Befehlspuffer und später in die Puffereinheit 7 50 eingeschrieben. Wenn die Befehle benötigt werden, so werden sie aus dem Befehlspuffer ausgelesen und zu dem Prozessor 700 über die Leitungen CIB 0-3 5 übertragen.
030024/0833
3. Im Falle einer Umgehung und beim Vorliegen eines Trefferzustandes wird das Voll-Leer-Bit für diesen Block zurückgestellt. Alle anderen Opperationen sind die gleichen wie im Falle eines Puffer-Fehltreffers mit der Ausnahme, daß keine Listen-Zuordnung erfolgt und der Block nicht in die Puffereinheit 750 geschrieben wird.
DMEM=OIIO - Lade-Quad . Diese Anweisung wird benutzt, um die Blockadresse für Daten ( nicht Befehle) in das alternierende Befehlsregister zu laden. Sie ist der IF2-Anweisung ähnlichj mit der Ausnahme, daß die Adresse und der Pegel (die zyklischen Schaltkreise erzeugenden Pegel,wenn ein Puffer-Trefferfehlzustand vorliegt) in das alternierende Befehlsregister geschrieben werden. Wenn sich die Daten nicht in der Puffereinheit 750 befinden und der Prozessor 700 diese anfordert, bevor sie von dem Speicher empfangen werden, so wird der Prozessor 700 angehalten bis die Daten empfangen werden.
DMEM=OI1T - Vorauslesen (PR-RD). Die Anweisung wird benutzt,um die Puffereinheit 750 mit Daten zu laden, die der Prozessor 700 in naher Zukunft zu benutzen beabsichtigt. Die drei möglichen Operationsfolgen sind folgende:
1. Bei einem Puffer-Treffer und keiner Umgehung wird die Vorauslese-Anweisung in Form einer Stillstandsanweisung NO-OP bearbeitet.
2. Bei einem Puffer-Fehltreffer und keiner
030024/0 8 33
29A8668
. Umgehung erzeugt die Puffereeinheit 750 eine Speicheranforderung für den Block/ und es wird eine Listenzuordnung für den fehlenden Block ausgeführt. Wenn die Daten vom Speicher empfangen werden , so werden sie in die Puffereinheit eingeschrieben. Der Prozessor 700 wird bei diesem Zustand nicht angehalten.
3. Bei einer Puffer-Umgehung wird die Voraüslese-Anweisung als eine Stillstandsanweisung NO-OP behandelt.
DMEM-1000 - Einzel lesen (RD-SNG). Diese Anweisung wird benutzt,um ein einzelnes Datenwort zu dem Prozessor 700 zu übertragen. Es gibt vier n:ögliche Operationsfolgen für diese Anweisung.
1. Im Falle eines Puffer-Treffers und keiner Umgehung wird das adressierte Wort von der Puffereinheit 7 50 gelesen und zu dem Prozessor 700 beim nächsten Taktimpuls T über die ZDI-Leitungen 0-35 übertragen.
2. Im Falle eines Puffer-Fehltreffers und keiner Umgehung wird der Prozessor 700 angehalten und der fehlende Block wird der Liste zugeordnet. Die Puffereinheit 750 überträgt die Speicheranforderung zu dem Hauptspeicher. Die Datenworte werden in die Puffereinheit eingeschrieben, wie sie empfangen werden. Wenn das angeforderte Datenwort empfangen wird, so wird der Prozessor 700 beim Auftritt des nächstfolgenden Taktimpulses T eingeschaltet.
030024/0833
3. Im Falle eines Puffer-Treffers und einer Umgehung wird das Voll-Leer-Bit des adressierten Blockes zurückgestellt und der Prozessor 700 wird abgeschaltet bzw. angehalten. Die Puffereinheit 750 überträgt die Anforderung für ein Wort zu dem Speicher, und der Prozessor 700 wird nach dem Empfang des angeforderten Datenwortes beim nächstfolgenden Taktimpuls T eingeschaltet. Das Datenwort wird nicht in die Puffereinheit 750 eingeschrieben.
4. Bei einem Puffer-Fehltreffer und einer Umgehung finden die gleichen Operationen wie im Falle eines Puffer-Treffers und einer Umgehung statt, mit der Ausnahme, daß das Voll-Leer-Bit des adressierten Blockes nicht geändert wird.
DMEM=IOOI - Lesen-Löschen (RD-CLR). Diese Anweisung wird benutzt, um ein Datenwort von dem Speicher in den Prozessor 700 zu übertragen und ebenfalls,um diese zu löschen.
1. Bei einem Puffer-Treffer wird das Voll-Leer-Bit für diesen Block zurückgestellt und der Prozessor 700 wird abgeschaltet. Die Puffereinheit 750 gibt eine Speicheranforderung für ein Datenwort aus. Der'Speicher löscht diesen Speicherplatz. Wenn das Wort empfangen wird, so überträgt die Puffereinheit 750 das Wort zu dem Pro-
030024/0833
zessor 700 und schaltet den Prozessor 700 beim nächsten Taktimpuls T ein. Das Wort wird nicht in die Puffereinheit 750 eingeschrieben.
2. Bei einem Puffer-Fehltreffer findet die gleiche Operation wie bei einem Puffer-Treffer statt,mit der Ausnahme, daß keine Änderung des Voll-Leer-Bits des adressierten Blockes erfolgt.
DMEM=1010 - Lesen doppelt (RD-DBL). Diese Anweisung wird benutzt,um zwei Datenworte zu dem Prozessor 700 zu übertragen. Es gibt zwei Arten von Doppel-Leseanweisungen, die sich durch die Reihenfolge unterscheiden, in welcher die Datenworte zu dem Prozessor 700 gereicht werden. Wenn die Leitung DSZ1 den Binärwert "0" aufweist, so kommt zuerst das ungerade und dann das gerade Wort zur übertragung. Wenn die Leitung DSZ1 den Binärwert "1" aufweist, so wird das gerade Wort vor dem ungeraden Wort übertragen. Es gibt vier mögliche Operationsfolgen für diese Anweisung.
1. Bei einem Puffer-Treffer und keiner Umgehung wird das erste Wort zu dem Prozessor 700 bei dem nächstfolgenden Taktimpuls T über die ZDI-Leitungen 0-35 übertragen. Beim nächsten Taktimpuls T wird das zweite Datenwort zu dem Prozessor 700 über die ZDI-Leitungen 0-3 5 übertragen.
030024/0833
2. Bei einem Puffer-Fehltreffer und keiner Umgehung wird der Prozessor abgeschaltet,und es erfolgt eine Listenzuordnung für den Block,der das adressierte Wortpaar enthält. Die Puffereinheit 750 überträgt die Speianforderung für diesen Block an die Schnittstelleneinheit SIU100. Wenn die Datenworte empfangen werden, so werden sie in die Puffereinheit eingeschrieben. Wenn das angeforderte Wortpaar verfügbar ist, so wird das erste Wort zu dem Prozessor 700 übertragen und dieser wird bei dem nächstfolgenden Taktimpuls T eingeschaltet oder freigegeben.Die Puffereinheit? 50 überträgt das zweite Wort zu dem Prozessor 700 bei dem nächsten Taktimpuls T.
3. Bei einem Puffer-Treffer und einer Umgehung wird das Voll-Leer-Bit des adressierten Blockes zurückgestellt und der Prozessor 700 abgeschaltet. Die Puffereinheit 750 überträgt die Anforderung für die zwei Datenworte an den Speicher. Sobald die zwei Worte verfügbar sind, wird der Prozessor eingeschaltet und das erste Datenwort wird zu ihm bei dem nachfolgenden Taktimpuls T übertragen. Der Prozessor 700 empfängt das zweite Datenwort beim nächsten Taktimpuls T. Die
030024/0833
Datenworte werden nicht in die Puffereinheit eingeschrieben.
4. Bei einem Puffer-Fehltreffer und einer Umgehung finden die gleichen Opperationen wie im Falle des Puffer-Treffers und der Umgehung statt mit der Ausnahme, daß keine Änderung des Voll-Leer-Bits erfolgt.
CMEM=1O11 - Lesen extern (RD-RMT). Diese Anweisung wird benutztem normale Puffer-Lesemaßnahmen zu umgehen. Wenn die Anweisung empfangen wird, so wird der Prozessor 700 abgeschaltet und die Anforderung wird zu dem Hauptspeicher übertragen. Wenn das angeforderte Wortpaar von dem Speicher abgerufen worden ist, so wird das erste Wort zu dem Prozessor 700 gegeben und dieser wird bei dem nächstfolgenden Taktimpuls T eingeschaltet. Das zweite Datenwort wird zu dem Prozessor 700 bei dem nächsten Taktimpuls T übertragen. Bei dieser übertragung wird das gerade Wort vor dem ungeraden Wort übertragen. Es erfolgen keine Änderungen innerhalb der Puffereinheit 750.
DMEM=IIOO- Schreiben einzeln (WRT-SNG). Diese Anweisung wird benutzt,um Daten in den Speicher einzuschreiben. Es gibt zwei mögliche Operationsfolgen für diese Anweisung.
1 . Bei einem Puffer-Treffer überträgt die Puffereinheit 750 die Anforderung an den Speicher. Wenn sie angenommen wird, so wird das Datenwort auf den Speicher über-
03002W0833
HOLD-C-CU
CANCEL-C
-28-
tragen. Das Datenwort wird ebenfalls
in die Puffereinheit 750 eingeschrieben.
2. Bei einem Puffer-Fehltreffer findet die gleiche Opperation wie bei einem Puffer-Treffer statt,mit der Ausnahme, daß die Puffereinheit 750 unverändert bleibt.
DMEM=H 10- Schreiben doppelt (WRT-DBL) Diese Anweisung wird benutztem zwei Datenworte in den Speicher einzuschreiben. Diese Anweisung wird in einer ähnlichen Weise wie die Einzel-Schreibanweisung ausgeführt, mit der Ausnahme, daß zwei Worte anstelle von einem Wort übertragen bzw. eingeschrieben werden.
DMEM=I111 - Schreiben extern (WRT-RMT). Diese Anweisung wird benutzt,um normale Puffer-Schreibmaßnahmen zu umgehen, indem keine Fortschreibung erfolgt, wenn sich die adressierten Worte bereits in der Puffereinheit 750 befinden. Die Puffereinheit 750 überträgt die Anforderung zu dem Speicher und bei ihrer Annahme werden die zwei Datenworte zu dem Speicher übertragen.
Diese Leitung erstreckt sich von dem Prozessor 700 zu der Puffereinheit 750. Wenn
sie auf
gesetzt ist, so legt dieses
Steuersignal fest, daß die Puffereinheit 750 einen Haltzustand für Anforderungen oder Datenübertragungen einnimmt.
Diese Leitung erstreckt sich von dem Prozessor 700 zu der Puffereinheit 750.
Wenn sie auf
1 " gesetzt ist, so zeigt
dieses Steuersignal an, daß die Puffereinheit
030024/0833
-29-
750 jede gerade bearbeitete Prozessoranweisung abzubrechen hat.
CAC-FLUSH
Diese Leitung erstreckt sich von dem Prozessor 700 zu der Puffereinheit 750. Wenn sie auf " 1 " gesetzt ist, so startet sie eine Ausspülung der Puffereinheit 750 (beispielsweise wird die Puffereinheit 7 50 in den Leerzustand gesetzt, in dem alle Voll-Leer-Bits zurückgestellt werden).
RD-EVEN
Diese Leitung erstreckt sich von dem Prozessor 700 zu der Puffereinheit 750. Wenn die Puffereinheit eine Doppelwort-Anforderung an die Schnittstelleneinheit SIU100 ausgibt, so wird das gerade Wort in einem speziellen Register (REVN) gesichert. Wenn die Leitung RD-EVEN auf " 1 " gesetzt ist, so wird der Inhalt des Registers REVN über den ZDIN-Schalter auf die ZDI-Leitungen geschaltet.
ZADO 0-23,
RADO 24-35,
P0-P3
Diese 40 Einwegleitungen erstrecken sich von dem Prozessor 700 zu der Puffereinheit 750. Die Leitungen werden benutzt,um ZAC-Anweisungen und Schreib-Datenworte zu der Puffereinheit 750 zu übertragen. Wenn die Leitung DREQCAC auf den Binärwert "1" gesetzt ist, so werden die ZAC-Anweisungen und im Falle einer Anweisung vom Schreibtyp die Schreib-Datenworte während des einen oder der zwei Zyklen nach der ZAC-Anweisung übertragen. Die auf
03C024/0833
den Leitungen DME M codierten Anweisungen können die gleichen wie die ZAC-Anweisung sein oder auch nicht.
RD-IBUF Diese Leitung erstreckt sich von dem Pro
zessor 700 zu der Puffereinheit 750. Wenn sie auf " -\ " gesetzt ist, so zeigt sie an, daß der Prozessor 700 den Befehl von dem Befehlsregister RIRA nimmt. In den meisten Fällen wird sie benutzt, um den Abruf des nächsten indas Register RIRA zu ladenden Befehls auszulösen.
DZD 0-3 Diese vier Leitungen erstrecken sich von
dem Prozessor 700 zu der Puffereinheit 750. Diese Leitungen übertragen Zonenbitsignale des ungeraden Wortes für Doppel-Schreibanweisungen.
BYP-CAC Diese Leitung erstreckt sich von dem
Prozessor 700 zu der Puffereinheit 750. Wenn sie auf " 1 " gesetzt ist, so veranlaßt sie den Puffer 750,Datenworte vom Hauptspeicher für Befehle vom Lesetyp anzufordern. Wenn ein Puffer-Treffer auftritt, so wird der die angeforderten Daten enthaltende Block aus der Puffereinheit 750 entfernt, in dem die Voll-Leer-Bits(die diesem Block zugeordnet sind, zurückgestellt werden. Im Falle von Einzel- oder Doppel-Schreibanweisungen werden die Daten in die Puffereinheit 750 eingeschrieben, wenn ein Puffer-Treffer auftritt.
WRT-SGN Diese Leitung erstreckt sich von der Puffer
einheit 750 zu dem Prozessor 700. Sie wird
030024/0833
FPIM-EIS
29A8668
-31-
benutzt,um dem Prozessor 700 während Schreibanweisungen zu signalisieren, daß die Puffereinheit 750 die übertragung von ZAC-Anweisungen und Datenwortenzu der Schnittstelleneinheit SIU100 beendet hat.
Diese Leitung erstreckt sich von dem Prozessor 700 zu der Puffereinheit 750. Wenn
sie auf
1 " gesetzt ist, so signalisiert
sie der Puffereinheit 7 50, daß der Prozessor 700 eine IF1-Anweisung für zusätzliche EIS-Descriptoren ausgibt.
Diese Leitung erstreckt sich von dem Prozessor 750 zu der Puffereinheit 750. Der Zustand dieser Leitung gibt der Puffereinheit 750 die Reihenfolge vor, in der Worte an den Prozessor 700 zu senden sind, wenn eine Doppel-Leseanweisung ausgeführt wird.
RD-IBÜF/ZDI
Diese Leitung erstreckt sich von dem Prozossor 700 zu der Puffereinheit 750. Wenn sie auf den Binärwert "1" gesetzt ist, so zeigt sie ein, daß der Prozessor 700 einen Ubertragungsbefehl bearbeitet,der ein Stillstandsbefehl NO-GO ist. Hierdurch wird der Puffereinheit 750 signalisiert, daß sie die empfangene IF1-Anweisung zu streichen hat, wenn es ein Fehltreffer war und daß die IF2-Anweisungfdie gerade an die Leitungen DMEM angelegt wird,zu ignorieren ist.
Diese Leitung erstreckt sich von dem Prozessor 700 zu der Puffereinheit 750. Sie
030024/0833
veranlaßt die Puffereinheit 750 zu dem Zugriff auf das Datenwort unter der Adresse,die in dem alternierenden Befehlsregister enthalten ist und zur Abgabe dieser Daten an die Leitungen ZDI. Bei einer unerledigten LDQUAD-Anweisung hält die Puffereinheit 750 den Prozessor 7OO an, wenn die Leitung RD-IBÜF/ZDI auf den Binärwert "J" gesetzt ist.
FRD-DBL Diese Leitung erstreckt sich von dem Prozessor
700 zu der Puffereinheit 750. Sie signalisiert der Puffereinheit 7 50 im voraus, daß der Prozessor 700 die Ausführung einer Doppel-Leseoperation anfordert.
FODD Diese Leitung erstreckt sich von dem Prozessor
700 zu der Puffereinheit 750. Sie wird zusammen mit der Leitung FRD-DBL benutzt,um die Reihenfolge der übertragung der angeforderten Worte zu signalisieren. Wenn sie auf " 1 " gesetzt ist, so zeigt sie an, daß das ungerade Wort vor dem geraden Wort zu übertragen ist.
ZDI 0-35 Diese 40 Einwegleitungen erstrecken sich von pppp der Puffereinheit 750 zu dem Prozessor 700. °' 1' 2' 3 Sie führen Daten von der Puffereinheit 750
dem Prozessor 700 zu.
ZIB 0-35 Diese 4o Einwegleitungen erstrecken sich Ρ-,,Ρ^,Ρ-,Ρ, von der Puffereinheit 750 zu dem Prozessor
700. Sie führen Befehle dem Prozessor 700 zu.
030024/0833
IBUF-EMPTY
Diese Leitung erstreckt sich von der Puffereinheit 750 zu dem Prozessor 700. Wenn sie auf " 1 " gesetzt ist, so zeigt sie an, daß die Puffereinheit 750 den letzten Befehl von dem gerade bearbeiteten Befehlsblock übertragen hat.
IBUF-RDY
Diese Leitung erstreckt sich von der Puffereinheit 750 zu dem Prozessor 700. Wenn sie auf " 1 " gesetzt ist, so zeigt sie an, daß sich wenigstens 1 Befehl in dem laufenden Befehlsblock in der Puffereinheit 750 befindet. Die Leitung wird auf den Binärwert "0" gesetztem in folgender Weise einen Nicht-Bereitschaftszustand anzuzeigen:
IBUF-FULL
1. Immer wenn die Befehlsadresse von dem letzten Befehl eines IF1-Blockes
in der Puffereinheit auf den ersten Befehl eines IF2-Blockes außerhalb der Puffereinheit und nicht in dem IBUF2-Puffer umschaltet.
2. Immer wenn Befehle von dem IBUF1- oder IBUF2-Puffer abgerufen werden und der nächste abzurufende Befehl sich in einem Zweiwortpaar befindet, das nicht vom Speicher empfangen worden ist.
Diese Leitung erstreckt sich von der Puffereinheit 750 zu dem Prozessor 700. Sie zeigt an, daß wenigstens vier Befehle in dem laufenden Befehlsblock vorliegen oder daß wenigstens ein Befehl und eine unerledigte IF2 Anforderung vorliegt.
Ö80024/0833
CP STOP Diese Leitung erstreckt sich von der Puffer
einheit 750 zu dem Prozessor 700. Wenn sie auf " 1 " gesetzt ist, so signalisiert sie, daß der Prozessor 700 angehalten hat oder daß es erforderlich ist,seine Operation anzuhalten. Im Falle eines Lese-Fehl trefferzustandes aufgrund einer Prozessoranweisung wird der Prozessor 700 beimnächstfolgenden Taktzyklusimpuls T angehalten. Bei der Freigabe wird die Leitung DATARECOV auf den Binärwert "1" gesetzt, um das beeinflußte Prozessorregister erneut einzutasten. Wenn die Leitung RDIBUF/ZDI auf einen Binärwert "1" gesetzt wird bevor die Daten vom Speicher empfangen werden, so wird der Prozessor 700 vor dem nächstfolgenden Taktimpuls T angehalten. Bei seiner Freigabe werden die angeforderten Daten auf den Leitungen ZDI für den Prozessor 700 verfügbar gemacht und bei dem nächstfolgenden Taktimpuls T benutzt.
DATA-RECOV Diese Leitung erstreckt sich von der Puffereinheit 750 zu dem Prozessor 700. Sie wird benutztem Daten in die Prozessorregister erneut einzutasten, nachdem der Prozessor 700 aufgrund der Feststellung eines Puffer-Fehltreff erzustandes oder eines Lese- Umgehungszustandes angehalten wurde. Am Ende des Zyklus,in welchem die Leitung DREQCAC auf den Binärwert "1" gesetzt ist, wird der Fehltrefferzustand festgestellt, aber der Prozessor 700 kann solange nicht angehalten werden, bis der nächstfolgende Taktimpuls T auftritt. Daher werden falsche Daten/Befehle in die Prozessorregister von den Leitungen
080024/0833
,ZDI/ZIB eingetastet. Wenn die angeforderten Daten/Befehle verfügbar werden, so wird die Leitung DATARECOV auf Ί" gesetzt ,um erneut in die Register einzutasten.
ZPTR-OUT 0-1 Diese zwei Leitungen erstrecken sich von
der Puffereinheit 750 zu dem Prozessor 700. Sie legen durch ihre Codierung die zwei
am wenigsten signifikanten Bits der Adresse des Befehles fest, der in dem RIRA-Befehlsregister oder dem I-Puffer enthalten ist.
Ö3002W0833
Prozessor 700 - Figur 2
Gemäß Figur 2 ist ersichtlich, daß der Zentralprozessor 700 eine Bearbeitungs-Steuereinheit 701, eine Steuereinheut 704, eine Bearbeitungseinheit 714, eine Zeicheneinheit 720, eine Hilfsartihmetik- und Steuereinheit AACU-722 und eine Multiplizier/ Dividiereinheit 728 aufweist, die in der dargestellten Weise miteinander verbunden sind. Die Steuereinheit 704 setzt ferner eine Anzahl von Verbindungen mit der Puffereinheit 750 in der dargestellten Weise.
Die Bearbeitungs-Steuereinheit 701 umfaßt eine Bearbeitungs-Steuerspeicher-Adressenpräparierung- und Verzweigungseinheit 701-1, und einen Bearbeitungs-Steuerspeicher 701-2. Der Speicher 701-2 und die Einheit 701-1 sind über Busse 701-3 und 701-6 in der dargestellten Weise miteinander verbunden.
Die Steuereinheit 704 umfaßt eine Steuerlogikeinheit 704-1, einen Steuerspeicher 704-2, eine Adressenprä pariereinheit 704-3, Daten- und Adress-Ausgabeschaltkreise 704-4 und einen XAQ-Registerabschnitt 704-5,die in der dargestellten Weise miteinander verbunden sind.
Gemäß Figur 2 werden durch die Schnittstelleneinheit SIU-100 eine Anzahl von Eingangsleitungen zu der Puffereinheit 750 gebildet. Die Leitungen dieser Schnittstelle sind zuvor in näheren Einzelheiten beschrieben worden. Im Zusammenhang mit dem Betrieb der Puffereinheit 750 sind jedoch bestimmte dieser Leitungen speziell wie folgt codiert:
1. MITS 0-3 beim Lesen sind diese folgendermaßen
codiert:
Bits 0-1 = 00;
Bits 2-3 β Ubertragungsblock-Pufferadresse, die die ZAC-Anweisung für die
030024/0833
anlaufende Leseoperation enthält.
Bei einer Schreiboperation: Bits 0-3 = ungerade Wortzone
2. Die MIFS Leitungen sind folgendermaßen codiert:
Bit 0 = 0;
Bit 1=0 gerade Wortpaare (Worte 0,1,);
Bit 1=1 ungerade Wortpaare (Worte 2,3);
Bits 2-3 = Ubertragungsblock-Pufferadresse, die die ZAC-Anweisung für die empfangenen Daten enthält.
Was die Schnittstellenleitungen DFSOO-3 5, P0-P3 anbelangt, so führen diese Leitungen Lesedaten zu der Puffereinheit 750. Die Leitungen DTS 00-35, P0-P3 werden benutztem Daten von der Puffereinheit 750 zu der Schnittstelleneinheit SIU 100 zu übertragen .
Die Steuereinheit 704 liefert die erforderliche Steuerung für die Ausführung der Adressenpräparieroperation, den Befehlsabruf und die Bearbeitungsoperationen und für die Folgesteuerung für verschiedene Operationszyklen und/oder Maschinenzustände. Die Steuerung wird durch logische Schaltkreise des Blockes 704-1 und durch die Bearbeitungs-Steuereinheit 701 für die verschiedenen Teile der Steuereinheit 704 erzeugt.
Der XAQ-Registerabschnitt 704-5 umfaßt eine Anzahl von für das Programm zugänglichen Registern, wie beispielsweise Indexregister, ein Akkumulatorregister und ein Quotientenregister. Andere für das Programm zugängliche Register wie beispielsweise der Befehlszähler und die Adressregister sind in der Adressen-Prepariereinheit 704-3 enthalten.
030024/0833
Gemäß Fig. 2 empfängt der Abschnitt 704-5 Signale von der Einheit 704-3 entsprechend dem Inhalt des Befehlszählers über die Leitungen RIC 00-17. Ferner legen die Leitungen ZRESA 00-35 Ausgangssignale von der Bearbeitungseinheit 714 entsprechend den Ergebnissen der mit verschiedenen Operanden ausgeführten Operationen an. Der Abschnitt 704-5 erhält ebenfalls ein Ausgangssignal von der arithmetischen Hilfe- und Steuereinheit Ober die Leitungen RAAUO-8 zugeführt.
Der Abschnitt 704-5 liefert Signale entsprechend dem Inhalt eines in dem Abschnitt enthaltenen Registers als Eingangssignale an die Adressenpräpariereinheit 704-3. Die Adressenpräpariereinheit 704-3 leitet die Information über einen Schalter zu der Bearbeitungseinheit 714 über die Leitungen ZDO 0-35. In gleicher Weise kann der Inhalt bestimmter in dem Abschnitt 704-5 enthaltener Register zu der Bearbeitungseinheit 714 über die Leitungen ZEB 00-35 übertragen werden. Letztlich kann der Inhalt ausgewählter Register von dem Abschnitt 704-5 zu der Multiplizier/Dividiereinheit 728 über die Leitungen ZAQ 00-35 Übertragen werden.
Die Adressenpräpariereinheit 704-3 erzeugt Adressen aus dem Inhalt der verschiedenen darin enthaltenen Register und legt die sich ergebende logische, effektive und/oder absolute Adresse sur Verteilung an die anderen Einheiten über die Leitungen ASFA 00-35 an. Die Adressenpräpariereinheit 704-3 erhält die Ergebnisse der mit einem Paar von Operanden durch die Bearbeitungseinheit 714 ausgeführten Operationen über die Leitungen ZRESB 00-35 zugeführt. Die Einheit 704-3 empfängt Signale entsprechend dem Inhalt eines Paares von Basis-Hinweisadressen-Registern von der Steuerlogikeinheit 701 über die Leitungen RBASA und RBASBO-I. Ausgangssignale der Multiplizier/ Dividiereinheit 728 werden der Adressenpräpariereinhelt 704-3 zugeführt. Schließlich wird der Inhalt eines sekundären Befehlsregisters RSIR als Eingangssignal der Einheit 704-13 Ober dl« Leitungen RSIR 00-35 zugeführt.
080024/0833
Die Daten- und Adress-Ausgabeschaltkreise 704-4 erzeugen die Pufferspeicher-Adressignale, die der Puffereinheit 750 über die Leitungen RAD0/ZAD0 00-35 zugeführt werden. Diese Adresssignale entsprechen den Signalen, die an eine der Gruppen von Eingangsleitungen ZDI 00-35, ASFA 00-35 und ZRESB 00-35 angelegt werden, wobei die Leitungen durch Schalter ausgewählt werden, welche in den Schaltkreisen des Blockes 704-4 enthalten sind. Diese Schaltkreise werden noch weiter in näheren Einzelheiten erläutert. ' -■
Die Steuerlogikeinheit 704-1 bildet Datenwege, die eine Schnittstelle mit verschiedenen in der Puffereinheit 750 enthaltenen Einheiten aufweisen. Wie noch näher beschrieben wird, bilden die Leitungen ZIB 00-35 eine Schnittstelle mit einem Befehlspuffer in der Puffereinheit 750. Die Leitungen ZDI 00-35 werden benutzt, um Datensignale von dem Puffer 750 zu der Steuerlogikeinheit 704-1 zu übertragen. Andere Signale werden über die anderen Daten- und Steuerleitungen an die Schnittstelle 604 zwischen Pufferspeicher und Zentralprozessor angelegt. Diese Leitungen umfassen die CP-Stopleitung, die in Fig. 2 getrennt dargestellt ist.
GemäB Fig. 2 liefert die Steuerlogikeinheit 704-1 eine Anzahl Gruppen von Ausgangssignalen. Diese Ausgangssignale umfassen den Inhalt bestimmter Register, beispielsweise eines Basis-Befehlsregisters RBIR, dessen Inhalt als Eingang dem Steuerspeicher 704-2 über die Leitungen RBIR 18-27 zugeführt wird. Die Steuereinheit 704-1 empfängt bestimmte aus dem Steuerspeicher 704-2 ausgelesene Steuersignale über die Leitungen CCSDO 13-31.
Die Steuerlogikeinheit 704-1 enthält ein sekundäres Befehlsregister RSIR, das parallel mit dem Inhalt des Basis-Befehlsregister· beim Beginn der Befehlsbearbeitung geladen wird. Der Inhalt des sekundären Befehlsregisters RSIR 00-35 wird als Eingang der Adressenpräpariereinheit 704-3 zugeführt. * Die ZPTROUT-Signale werden benutzt,um Adresseninforraationen vom Puffer 750 zu der Einheit 740-1 zu übertragen.
Ö3002W0833
_40 _ 2948R68
Ein Tell dee Inhalts des sekundären Befehlsregisters wird zusätzlich als Eingang der arithmetischen HilfsSteuereinheit 722 über die Leitungen RSIR 1-9 und 24-35 zugeführt.
Der Steuerspeicher 704-2 liefert eine anfängliche Decodierung des Operationscodes des Programmbefehls und umfaßt daher eine Anzahl Speicherplätze (1024), wobei ein Speicherplatz für jeden möglichen Operationscode des Befehls vorgesehen ist.
Die an die Leitungen RBIR 18-27 angelegten Signale werden, wie erwähnt, als Eingänge dem Steuerspeicher 704-2 zugeführt. Diese Signale wählen einen der 1024 möglichen Speicherplätze aus. Der Inhalt des ausgewählten Speicherplatzes wird gemäß Fig. 2 an die Leitungen CCSDO 13-31 und CCSDO 00-12 angelegt. Die an die Leitungen CCSDO 00-12 angelegten Signale entsprechen den Adresssignalen, die benutzt werden, um die Bearbeitungssteuereinheit 701 zu adressieren.
Die verbleibenden Abschnitte des Prozessors 700 seien nunmehr kurz beschrieben. Die Bearbeitungseinheit 714 dient der Befehlsausführung und führt arithmetische und/oder Verschiebeoperationen mit Operanden aus, die an den verschiedenen Eingängen ausgewählt werden. Die Ergebnisse solcher Operationen werden ausgewählten Ausgängen zugeführt. Die Bearbeitungseinheit 714 empfängt Daten von einem Dateneingangs-Sammelkanal, der den Leitungen RDI 00-35 entspricht und die Steuerlogikeinheit 704-1 als Quelle aufweist. Der Inhalt der Akkumulator- und Quotientenregister im Abschnitt 704-5 wird der Bearbeitungseinheit 714 über die Leitungen ZEB 00-35 zugeführt. Die Signale, die an die Eingangs-Samtnelkanalleitungen SDO 00-35 von der Adressenpräparlereinheit 704-3 angelegt werden, werden über in der Bearbeitungseinheit 714 enthaltene Schalter als Ausgangssignale an die Leitungen ZRESA 00-35 und ZRESB 00-35 gemäß Fig. 2 angelegt. Die Bearbeitungeeinheit 714 empfängt zusätzlich eine Gruppe von Zwischenspeicher-Adreeesignalen von der arithmetischen Hilfe- und Steuereinheit 722 über die Leitungen ZRSPA 00-06. Ferner liefert die Einheit 722
030024/0833
- 41- -
eine Verschiebeinformation an die Einheit 714 über die Leitungen ZRSC 00-05.
Die Zeicheneinheit 720 wird benutzt, um Befehle vom Zeichentyp su bearbeiten, die Operationen wie die übersetzung und Ausgabe von Datenfeldern erfordern. Diese Art von Befehlen wird als erweiterte Befehlsgruppe EIS bezeichnet. Derartige Befehle umfassen Befehle van Verschiebungs-, Abtast- und Vergleichstyp. Signale, die Operanden entsprechen, werden über die Leitungen ZREA 00-35 zugeführt. Information, die die Art der Zeichenposition innerhalb eines Wortes und die Anzahl der Bits betrifft, wird an die Zeicheneinheit 720 über die Eingangsleitungen ZPB 00-07 angelegt.
Eine Information, die dem Ergebnis bestimmter Datenoperationen entspricht, wird an die Einheit 722 über die Leitungen ZOC 00-08 angelegt. Eine solche Information umfaßt Exponentendaten und Daten in hexadezimaler Form. Die Zeicheneinheit 720 liefert Ausgangs-Operandendaten und Steuerinformation an die Einheit 722 und die Einheit 728 über die Leitungen RCHU 00-35.
Die arithmetische Hilfs- und Steuereinheit 722 führt arithmetische Operationen mit Steuerinformationen aus, wie beispielsweise Exponenten, die bei Gleitkommaoperationen benutzt werden, und sie errechnet Operandenlängen und Hinweisadressen und erzeugt eine Zählstandsinformation. Die Ergebnisse dieser Operationen werden der Bearbeitungseinheit 714 über die Leitungen ZRSPA 00-06 und die Leitungen ZRSC 00-06 in der zuvor erwähnten Weise zugeführt. Informationssignale, die Zeichen entsprechen, wie beispielsweise 9 Bit-Zeichen, 6 Bit-Zeichen, aus Eingangs-Hexadezimaldaten umgewandelte Dezimaldaten, Quotienteninformation und Vorzeicheninformation, werden dem Abschnitt 704-5 über die Leitungen RAAU 00-08 zugeführt.
030024/0833
Gemäß Flg. 2 erhält die Einheit 722 eine Anzahl von Eingangssignalen zugeführt. Die Zeichen-Hinweisinformation wird über die Leitungen ASFA 33-36 zugeführt. Die numerische EIS-Bewertungsfaktorinfonnation und die alphanumerische Feldlängeninfor- «atlon werden der Einheit 722 über die Leitungen RSIR 24-35 xugeführt. Andere Signale, die den Abruf bestimmter Befehle betreffen, werden über die Leitungen RSIR 01-09 zugeführt. Exponentensignale für Fließkommadaten werden der Einheit 722 über die Leitungen ZOC 00-08 zugeführt, während FlieBkomma-Exponentendatensignale von der Einheit 704-1 über die Leitungen RDI 00-08 zugeführt werden. Verschiebezählstand-Informationssignale für bestimmte Befehle (z.B. binäre Verschiebebefehle) werden an die Einheit über die Leitungen RDI 11-17 angelegt. Was die an die Leitungen RCHU 00-35 angelegten Eingangssignale betrifft, so legen die Leitungen 24-35 Signale entsprechend der Länge des EIS-Befehlsfeldes an, während die Leitungen 18-23 Adressenmodifikationssignale an die Einheit 722 anlegen.
Die letzte Einheit bildet die Multiplizier/Dividiereinheit 728, die für eine Hochgeschwindigkeitsbearbeitung von Multiplizier- und Dividierbefehlen vorgesehen ist. Diese Einheit kann einen herkömmlichen Aufbau aufweisen, wobei diesbezüglich beispielsweise auf die US-PS 4 041 292 verwiesen sei. Die Einheit 728 erhält Multiplizier- und Dividier-Eingangssignale über die Leitungen RCHU 00-35 zugeführt. Die Multiplikanten-Eingangssignale von dem Registerabschnitt 704-5 werden über die Leitungen ZAQ 00-35 angelegt. Die Ergebnisse der ausgeführten Berechnungen werden als Ausgangssignale an die Leitungen ZMD 00-35 angelegt.
Nie zuvor erwähnt, überträgt und empfängt die Puffereinheit 750 Daten- und Steuersignale zu und von der Schnittstelleneinheit SIU-100 Ober die Schnittstelle 600. Die Puffereinheit 750 Oberträgt und empfängt Daten- und Steuersignale zu und von dem Prozessor 700 über die Schnittstelle 604. Schließlich empfängt die Puffereinheit 750 Adressen- und Datensignale von den Schaltkreisen 704-4 über die Leitungen RADO/ZADO 00-35 und die Leitungen ASFA 32-33. &3002W0833
Detaillierte Beschreibung des Prozessors 700
Die verschiedenen Abschnitte, die der in Fig. 2 dargestellte Prozessor 700 aufweist, seien nunmehr in näheren Einzelheiten unter Bezugnahme auf die Figuren 3a bis 3e beschrieben.
Gemäß den Figuren 3a und 3b ist ersichtlich, daß der Prozessor zwei Steuerspeicher umfaßt: 1. Den Steuereinheit-Steuerspeicher CCS-704-200, der einen Teil der Steuereinheit 704 bildet; und 2. den Bearbeitungs-Steuerspeicher ECS-701-3, der in der Bearbeitungssteuereinheit 701 enthalten ist. Um die Betriebsweise der Steuerspeicheranordnung zu verstehen, ist es hilfreich, kurz die dreistufige Kanalanordnung des Prozessors 700 zu erläutern. Dies bedeutet, daß der Prozessor wenigstens drei Prozessorzyklen erfordert, um die Bearbeitung eines vorgegebenen Programmbefehles zu vervollständigen und daß ein neuer Befehl beim Beginn eines jeden Zyklus ausgegeben werden kann.
Eine Anzahl von Befehlen kann sich somit in irgendeinen Bearbeitungszustand zu jedem vorgegebenen Zeitpunkt befinden. Die drei Kanalstufen umfassen: Einen Befehlszyklus I, in welchem die Befehlsinterpretation, die Operationscode-Decodierung und die AdressenprXparierung stattfindet; einen Pufferzyklus C, in welchem der Zugriff zu der Puffereinheit 750 ausgeführt wird; und einen Bearbeitungszyklus E, in welchem die Befehlsbearbeitung stattfindet. Was die Steuerung anbelangt, so wird während des I-Zyklus der Operationscode des Befehls über die Leitungen RBIR 18-27 zugeführt und benutzt, um auf einen Speicherplatz innerhalb des Steuerspeichere 704-2 lugriff zu nehmen. Während eines C-Zyklus wird dieser Inhalt von dem Steuerspeicher 704-2 an die Leitungen CCS DO 00-12 angelegt und seinerseits benutzt, um auf einen der Speicherplätze des Bearbeitungssteuerspeichers 701-2 Zugriff zu nehmen. Während des C-Zyklus werden die Mikrobefehle des für die Befehlsbearbeitung benutzten Mikroprogrammes von dem Bearbeitungssteuerspeicher 701-2 in ein 144-Bit-Ausgangsregister 701-4 ausgelesen. Die mit MEMDO 00-143 bezeichneten
002^/0833
Signale werden an die verschiedenen funktioneilen Einheiten des Prozessors 700 verteilt. Während eines Ε-Zyklus führt der Prozessor die durch die Mikrobefehle festgelegte Operation aus.
Gemäß Fig. 2 ist ersichtlich, daß der Steuerspeicher 704-2 einen Steuereinheit-Steuerspeicher CCS-704-200 aufweist, der durch die Operationscodesignale auf den Leitungen RBIR 18-27 adressiert wird. Der Steuerspeicher CCS-704-200 weist 1024 Speicherplätze auf, deren Inhalt in ein Auegangsregister 704-202 während eines I-Operationszyklus ausgelesen wird. Fig. 6a zeigt schematisch das Format der in dem Steuerspeicher 704-200 gespeicherten Worte.
Gemäß Fig. 6a ist ersichtlich, daß jedes Steuereinheit-Steuerspeicherwort fünf Felder umfaßt. Das erste Feld ist ein 13-Bit-FeId, das einen ECS-Startadressenspeicherplatz für den Befehl enthält, dessen Operationscode über die Leitungen RBIR 18-27 zugeführt wird. Das nächste Feld ist ein 3-Bit-Feld (CCS(I) , das die Steuerung bestimmter Operationen liefert. Die Bitinterpretationen dieses Feldes hängen von seiner Bestimmung und davon ab, ob es durch bestimmte logische Schaltkreise oder unter Mikroprogrammsteuerung decodiert wird. Das nächste Feld ist ein 4-Bit-Feld, das bestimmte Register-Steueroperationen vorgibt.
Das nächste Feld 1st ein 6-Bit-Folgesteuerfeld, das durch seine Codierung eine Operationsfolge festlegt, die ebenso wie die Pufferoperation unter einer fest verdrahteten Logiksteuerung ausgeführt wird. Im vorliegenden Beispiel ist dieses Feld mit 758 codiert. Das letzte Feld ist ein 6-Bit-Hinweisfeld, das für das Verständnis der vorliegenden Erfindung ohne Bedeutung 1st.
Gemäß Flg. 3a werden Signale entsprechend dem CCSA-FeId eines Steuereinheit-Steuerspeicherwortes über einen Weg 704-204 als Eingang den BearbeitungserZeugungsschaltkreisen 701-7 zugeführt.
030024/0833
Signale entsprechend dem CCSR-FeId werden als Eingang der Bearbeitungseinheit 714 über einen Weg 704-206 zugeführt. Die gleichen Signale werden zusätzlich der Adressenprepariereinheit 704-3 über einen anderen Weg 704-203 zugeführt.
Signale entsprechend dem FoIgeSteuerfeld werden als Eingang den Folgesteuer-Logikschaltkreisen 704-100 über den Kanal 704-210 zugeführt. Wie erläutert, decodieren diese Schaltkreise das Folgesteuerfeld und sie erzeugen Signale, die die Puffereinheit 750 in die Lage versetzen, die festgelegte Operation auszuführen.
Der Erzeugungsschaltkreis 701-1 für die Bearbeitungsadresse erhält eine Eingangsadresse zugeführt, die dem Feld CCSA des Steuerspeichers 704-2 entspricht. Wie aus Fig. 3b ersichtlich, umfassen diese Schaltkreise ein Eingangsadressregister 701-10, dessen Ausgang an eine Stellung eines Schalters 701-12 mit drei Stellungen angeschlossen ist, wobei dieser Schalter mit ZECSA bezeichnet ist. Der Ausgang des Schalters dient als eine Adressquelle für den Steuerspeicher 701-2. Die erste Stellung des Schalters 701-12 erhält eine Adresse von dem MICA-Register 701-14 zugeführt. Der Inhalt des Registers 701-14 wird am Ende eines jeden Zyklus fortgeschrieben, um auf den Speicherplatz innerhalb des ECS-Steuerspeichere hinzuweisen, wobei dieser Speicherplatz dem Speicherplatz folgt, dessen Inhalt während dieses Zyklus ausgelesen worden ist.
Die zweite Stellung wählt die Adresse aus, die von dem ZCSBRA-Verzweigungsadress-Auswahlschalter 701-18 erzeugt wird. Die dritte Stellung wählt die Adresse des ersten Mikrobefehls in jedem Mikroprogramm aus, die von dem CCS-Steuerspeicher geliefert und in das REXA-Register 701-10 geladen wird. Wenn das Auegangssignal an dem CCS-Steuerspeicher bei Beendigung eines Mikroprogrammes nicht verfügbar ist, so wird eine vorbestimmte Adresse (Oktaladresse 14) automatisch ausgewählt.
030024/0833
Die erste Stellung des Verzweigungsschalters 701-18 empfängt Signale entsprechend einer aus dem Speicher 701-2 in das Register 701-4 ausgelesenen Verzweigungsadresse, die ihrerseits an ein Rückkehrsteuerregister 701-20 gerichtet wird. Die zweiten, dritten und vierten Stellungen des Schalters 701-18 empfangen Signale von dem RSCR-Register 701-20, einem MIC-Register 701-15 und aus dem Inhalt einer Anzahl von Vektor-Verzweigungsregistern 701-36. Das MIC-Register 701-15 speichert eine Adresse, die auf das Mikrobefehlswort verweist, das auf das bearbeitete Mikrobefehlswort folgt. Diese Adresse entspricht der um eins erhöhten Adresse des Schalters 701-12, wobei die Erhöhung durch einen Erhöhungsschaltkreis 701-16 erfolgt.
Die Vektor-Verzweigungsregister umfassen ein 4-Bit-Vektor-Verzweigungsregister 0 (RVBO), ein 2-Bit-Vektor-Verzweigungsreglster 1 (RVB1) und ein 2-Bit-Vektor-Verzweigungsregister (RVB2). Diese Register werden während eines Operationszyklus mit Adresswerten geladen, die von Signalen abgeleitet werden, welche in einer Anzahl verschiedener Indikator-Flip-Flops und Register gespeichert sind und die als Eingangssignale für eine Anzahl von Gruppen von Eingangsmultiplexer-Auswahlschaltkreisen 701-32 und 701-34 dienen. Die Ausgänge der Schaltkreise 701-32 und 701-34 werden als Eingänge den Zwelstellungs-Auswahlschaltkreisen 701-30 zugeführt. Diese Schaltkreise erzeugen ihrerseits die Ausgangssignale ZVBRO, ZVBR1 und ZVBR2, die in den Registern 701-36 gespeichert werden.
Der Schalter 701-36 liefert eine Adresse basierend auf dem Test verschiedener Hardware-Indikatorsignale und von Status-Flip-Flop-Signalen, die über ein INDGRP-FeId ausgewählt werden. Die Verzweigungsentscheidung wird durch Maskierung (und-Verknüpfung) der ausgewählten Indikatorgruppe mit den Feldern INDMSKU und INDMSKL eines Mikrobefehlswortes getroffen. Wenn eine Vektorverzweigung ausgewählt wird, so wird das Feld INDMSKU als ein Feld mit 4 Null-Bit behandelt. Die ODER-
Ö30024/0833
Verknüpfung der 8 Bit wird mit den Zustand verglichen, der durch die Mikrobefehlsfelder TYPG und GO definiert ist. Die Hardwaresignale werden über eine Anzahl von Datenselektorschaltkreise 701-28, von denen nur einer dargestellt ist, angelegt, deren Ausgänge ihrerseits als Eingangssignale für weitere fünf Stellungs-Multiplexerauswahlschaltkreise 701-26 dienen. Der Ausgang des Multiplexerschaltkreises 701-26 ■peist einen Vergleichsschaltkreis, der die Indikatorsignale mit den Maskierungssignalen einer UND-Verknüpfung unterzieht, um die resultierenden Signale MSKCBRO-7 zu erzeugen.
Die Signale MSKCBRO-7 werden einem weiteren Vergleichsschaltkreis zugeführt, der die Signale mit den Bedingungs-Verzweigungstestsignalen TYPGGO einer UND-Verknüpfung unterzieht, um ein Verzweigungs-Entscheidungs-Flip-Flop 701-22 zu setzen oder zurückzustellen, das ein Signal RBDGO erzeugt, dessen Zustand anzeigt, ob eine Verzweigung stattzufinden hat. Das Ausgangs-•ignal RBDGO wird als Steuereingang den ersten beiden Stellungen des Schalters 701-12 zugeführt. Wenn die Verzweigungs-Testbedingung nicht erfüllt wird (z. B. Signal RBDGO ■ 0), so wird die erhöhte Adresse von dem MICA-Register 701-14 ausgewählt.
In einigen Fällen ist es nicht möglich, den Zustand eines Indikators in dem Zyklus zu testen, der auf seine Bildung folgt. Aus diesen Grund sind nicht dargestellte Stammdatenregister HRO-HR7 für die Registerspeicherung der Indikatoren der Gruppe 2 vorgesehen. Die Zustände solcher gespeicherter Indikatoren werden ausgewählt und in einer ähnlichen Weise wie die anderen Indikatoren (z.B. Maskenfelder) getestet.
Die Einheit 701-1 umfaßt ferner eine Anzahl von Indikatorschaltkreisen, wobei bestimmte dieser Schaltkreise benutzt werden, um den Betrieb bestimmter Teile des Prozessors 700 su steuern, wenn die durch bestimmte Typen von Befehlen zu verarbeitenden Zeichenfolgen abgearbeitet sind. Diese Indikatorschaltkreise sind in dem Block 701-42 enthalten und sie
03002^/0833
29A8668
werden gesetzt und zurückgestellt unter der Steuerung eines Feldes Innerhalb des Mikrobefehlswortes von Flg. 5a (z. B. dem Feld IND6). Die Bits dieses Feldes, die von dem ECS-Ausgangsregister 701-4 ausgelesen werden, werden einem RMI-Register 701-38 zur Decodierung durch einen Decodierer 701-40 zugeführt. Basierend auf dem Status von von den verschiedenen Prozessoreinheiten (z. B. 714, 720, 722, usw.) empfangenen Status-Indikatorsignale werden geeignete Hilfs-Flip-Flops auf den Binärzustand "1" umgeschaltet. Die Ausgänge dieser Flip-Flops werden über verschiedene Stellungen eines Vierstellungs-Schalters 701-44 der Stellung GP3 des Schalters 701-26 zum Test zugeführt. Die gleichen Ausgänge werden einer zweiten Stellung eines ZIR-Schalters 701-43 zur Speicherung über den ZDO-Schalter 704-340 zugeführt. Der ZIR'-Schalter 701-43 empfängt ebenfalls Indikatorsignale von einem Indikatorregister IR-701-41. Dieses Register wird über die RDI-Leitungen 18-30 und 32 aufgrund bestimmter Befehle geladen.
Die Indikator-Statussignale umfassen zum Beispiel die Ausgänge der verschiedenen Addierschaltkreise (AL, AXP) der Einheit 720. Diese Signale unterscheiden sich nicht von den Signalen einer Anzahl von Ablauf-Hinweis-Flip-Flops, die mit FE11, FE12, FE13, FE1E, FE2E, FE2 und FE3 bezeichnet sind. Die Flip-Flops FE1E und FE2E werden während irgendeines FPOA-Zyklus eines Befehls gesetzt. Diese Flip-Flops veranlassen ihrerseits das Setzen der Flip-Flops FE11, FE12 und FE13, wenn die Ausgänge der AL oder AXP-Addierschaltkreise der Einheit 720 vorliegen. Das Setzen und die Rückstellung dieser Indikatoren sei hier in weiteren Einzelheiten im Zusammenhang mit der Beschreibung der Wirkungsweise beschrieben. Die Ablauf-Hinweis-Flip-Flops, die su dem gegebenen Beispiel hinzugehören, werden jedoch In Übereinstimmung mit den folgenden Booleschen Gleichungen gesetzt und zurückgestellt:
Setzen : FE1E - FPOA + IND6FLD Feld
Rückstellen : FE1E - IND6FLD Feld
Setzen : FE2E « FPOA + IND6FLD Feld
Rückstellen ι FE2E - IND6FLD Feld
D3002W0833
Setzen
FE11
Rückstellen Setzen
Rückstellen Setzen
Rückstellen Setzen
FE11 FE12
FE12 FE13
FE13 FE 2
Rückstellen :
Setzen ι
Rückstellen ;
: FE2
FE 3
: FE3
« IND6FLD FeId-FEIE (ALES + AXPES + DESC1·ΑΡ0-4=0)
+ IND6FLD Feld-FEIE'DESCI·(APO-5-0+APZN+ALZN)+IND6FLD Feld
- FPOA + IND6FLD Feld
* IND6FL0 Feld'FEiE*(ALES + AXPES + FE13).
« FPOA + IND6FLD Feld
- IND6FLD Feld*FE1E*ALES + IND6FLD Feld
« FPOA + IND6FLD Feld
* IND6FLD Feld-FE2E·ALES -I- IND6FLD Feld«FE2E«DESC2·(APO-4-0 + APO-5-0 + APZN + ALZN) + (IND6FLD Feld) FE2E-DESC2 + IND6FLD.
FPOA + IND6FLD Feld IND6FLD Feld-DESC3-(APO-4-0 + APO-
5-0 -I- APZN + ALZN) + IND6FLD Feld·
DESC3 + IND6FLD. FPOA + IND6FLD Feld
wobei IND6FLD einen bestimmten Code anzeigt
ALES - AL-O oder AL1C; AXPES- AXP-O oder AXP-C? APZN- APO-7 * 0; und ALZN - ALO-11 i 0.
030024/0833
Der ZCSBRA-Schalter 701-18 wird normalerweise freigegeben, wenn das Verzweigungs-Entscheidungs-Flip-Flop RBD in dem vorangegangenen Zyklus auf den Binärwert "1" gesetzt wurde. Die erste Stellung wählt eine 13-Bit-Verzweigungsadresse aus dem laufenden über das RSCR-Register 701-20 angelegten Mikrobefehl aus. Die Verzweigungsadresse gestattet,irgendeinen der Speicherplätze des ECS-Steuerspeichers direkt zu adressieren. Die zweite Stellung wählt die Verkettung der 6 niedrigrangigen Adressbits aus dem laufenden über das MIC-Register 701-15 zugeführten Mikrobefehl und der 7 oberen Bits der Verzweigungsadresse von dem über das RSCR-Register 701-20 zugeführten Mikrobefehl aus. Dies gestattet die Verzweigung innerhalb einer 64-Wort-Seite, die durch den Inhalt des MIC-Registers 701-15 (laufender Speicherplatz + 1) definiert ist.
Die dritte Stellung wählt die Verkettung der 4 niedrigrangigen Bits des RVBO-Vektor-Verzweigungsregisters, von 6 Bits von dem Verzweigungsfeld des laufenden in dem RCSR-Register gespeicherten Mikrobefehls und von den 3 oberen Bits der in dem MIC-Register gespeicherten Adresse aus. Dies gestattet eine 16 Wege-Verzweigung. Die vierte Position wählt die Verkettung der zwei niedrigrangigen "OH-Bits mit 4 Bits von dem Vektor-Verzweigungsregister RVBO und mit den 4 signifikantesten Bits des Verzweigungs-Adressfeldes des laufenden Mikrobefehls und der 3 oberen Bits in der in dem MIC-Register gespeicherten Adresse aus. Dies gestattet eine 16 Wege-Verzweigung mit 3 Steuerspeicher-Speicherplätzen zwischen jedem benachbartem Paar von Bestimmungsadressen.
Die fünfte Stellung wählt die Verkettung der zwei niedrigrangigen "O"-Bits mit zwei Bits vom Vektor-Verzweigungsregister RVB1, mit 6 Bits der Verzweigungsadresse des laufenden Mikrobefehls und den 3 oberen Bits des MIC-Registers aus. Dies gestattet Verzweigungen mit 4 möglichen Bestimmungen und mit 3 SteuerSpeicher-Speicherplätzen zwischen jedem benachbarten Paar von Bestimmungsadressen.
030024/0833
Die sechste Stellung wählt die Verkettung von zwei niedrigrangigen "O"-Bits mit zwei Bits von dem Vektor-Verzweigungsregister RVB2, mit den 6 Bits der Verzweigungsadresse des laufenden Mikrobefehls und den drei oberen Bits des MIC-Registers aus. Dies gestattet eine Vierwege-Verzweigung mit drei Steuerspeicher-Speicherplätzen zwischen jedem benachbarten Paar von Bestimmungsadressen.
Der Ausgang des Schalters 701-12 adressiert einen bestimmten Speicherplatz innerhalb des SteuerSpeichers 701-2, der das Auslesen eines Mikrobefehlswortes hervorruft, welches ein Format gemäß Fig. 6b besitzt. Gemäß dieser Figur ist ersichtlich, daß dieses Mikrobefehlswort auf Grund seiner Codierung eine Anzahl unterschiedlicher Felder aufweist, die benutzt werden, um die verschiedenen Funktionseinheiten innerhalb des Prozessors 700 zu steuern. Nur jene Felder, die auf das vorliegende Beispiel bezogen sind, seien hier beschrieben.
Bits 0-1 Reserviert fUr zukünftigen Gebrauch Bit 2 EUFMT Definiert, mit welchem Format EU
zusammenarbeitet. EUFMT-O legt ein erstes Mikrobefehlsformat fest, während EUFMT=I ein davon abweichendes Mikrobefehlsformat festlegt. Bits 3-5 TRL TR Schreibsteuerung unten.
Schreibsteuerung von temporären EU-Registern TR0-TR3. OXX Keine Änderung
100 Schreibe TRO
101 Schreibe TR1
110 Schreibe TR2
111 Schreibe TR3
03002^/0833
Bits 6-8 TRH TR Schreibsteuerung oben.
Schreibsteuerung von temporären EU-Registern TR4-TR7.
OXX Keine Veränderung
100 Schreibe TR4
101 Schreibe TR5
110 Schreibe TR6
111 Schreibe TR7
Bits 9-12 ZOPA ZOPA Schaltersteuerung Wählt den Ausgang des ZOPA-Schalters aus.
O) ZOPB OOOO TRO
D Wählt den OOO1 TR1
2> ZRESA 0010 TR2
3) 0011 TR 3
4) 0100 TR4
5) 0101 TR 5
6) O11O TR 6
7) 0111 TR7
8-11) 1OXX RDI
12) 1100 ZEB
13) 1101 ZEB
14) 1110 ZEB
15) 1111 O
Bits 13-16 ZOPl
Ausgang des
Bits 17-18 ZRE!
(sperren)
ZOPB Schalter Steuerung, des ZOPB-Schalters aus.
ZRESA Schalter Steuerung, Wählt den Ausgang des ZRESA-Schalters aus.
00 Recheneinheit ALU
01 Verschieber
10 Zwischenspeicher/RDI-Schalter
11 ZDO
Bits 19-20 ZRESB ZRESB-Schaltersteuerung Wählt den Ausgang des ZRESB-Schalters aus.
00 Recheneinheit ALU
01 Verschieber
10 Zwischenspeicher/RDI-Schalter
11 ZDO
030024/0833
_ 53 _
Bit 21 RSPB Zwischenspeicher-Puffer-Austaststeuerung. Tastet RSPB mit den Daten von ZRESB ab.
0 Keine Abtastung
1 Abtastung vonRSPB
Bit 22 RSP Zwischenspeicher-Schreibsteuerung.
0 Lese Zwischenspeicher
1 Schreibe Zwischenspeicher
Bit 23 ZSPDI Zwischenspeicher/RDI-Schalter-
steuerung.
Wählt den Ausgang des Zwischenspeicher/RDI-schalters aus.
0 Zwischenspeicher-Ausgang
1 RDI
Bits 24-25 ZSHFOP Verschiebe-Operanden-Schalter-
steuerung.
Wählt den linken Operanden für den Verschieber aus.
00 ZOPA Ausgang
01 EIS-Ausgang
10 O
11 Wählt O oder 1 in Abhängigkeit von dem Bit O des rechten Operanden für den Verschieber aus.
Bits 24-27 ALU ALU Funktionssteuerung.
Wählt die Operation aus, die an die zwei Eingänge (A und B) der Recheneinheit ALU angelegt wird.
Bits 24-29 N/A
Bits 26-31 RFU Reserviert für zukünftigen Gebrauch. Bits 30-31 ZALU ALU Schaltersteuerung. Wählt den Ausgang des ZALU-Schalters aus.
03002^/0833
Bits 32-33 NXTD Nächste Deskriptorsteuerung Tastet die RBASB- und RDESC-Register ab.
00 RBASB < OO
RDESC < OO
01 RBASB « 01
RDESC < 01
10 RBASB < Alt
RDESC < 10
11 Keine Abtastungen (Unterlassung)
Bits 32-35 CCM Steuer-Konstantenfeld,auf das
durch das Feld CONTF Bezug genommen wird.
Bits 34-35 IBPIPE IBÜF/Kanal-Steuerung.
Wählt das Lesen von IBUF oder die Kanaloperation aus.
00 Keine Operation
01 Lese IBUF/ZDI
10 Typ 1 erneute Startfreigabe oder
11 Typ 4 Warten auf Neustart
Bits 36-37 FMTD Wählt das Laden verschiedener
CU-Register aus und zeigt die Interpretation an, die dem Feld MEMADR für eine kleine CU-Steuerung zu geben ist.
00 Keine Operation
01 RADO < ASFA
10 RADO 4 ZRESB
11 RADO < ASFA
Bits 38-40 MEMADR Pufferspeichersteuerung.
Wählt die Pufferspeicher-Operationen aus. Die vollständige Interpretation dieser Steuerung ist •ine Funktion der FMTD-Steuerung.
000 Keine Operation
001 Lesen einfach 010 Laden Quad
030024/0833
_ 55 -
011 Vorauslesen
100 Schreiben einfach
101 Schreiben doppelt
110 Lesen Einfachübertragung (nur für FMTD «11)
111 Schreiben Einfachwort (nur für FMTD «11)
Bit 41 ZONE Zonensteuerung.
Zeigt eine Zone bzw. keine Zone für kleine CU-Steuerung an.
0 Keine Zone
1 Zone
Bits 42-44 TYPA Typ A Hinweis.
Zeigt an, daß die überlagerten Felder vom Typ A benutzt werden.
000 Felder vom Typ A=O
1OO Felder vom Typ A=4
Bits 44-46 PIPE Kanalsteuerung (Pipeline-Steuerung)
Wählt die Art des auszulösenden erneuten Startes aus.
000 Keine Operation
001 Typ 1 Neustart und Freigabe
010 Typ 2 Neustart
011 Typ 3 Neustart
100 Typ 4 Neustart
101 Typ 5 Freigabe 110 Typ 6 Neustart
Q3002W0833
Bits 44-47 AUXREG Hilfsregister-Schreibsteuerung Wählt ein Hilfsregister bzw. Kombinationen derselben aus, in die Daten eingetastet werden, die durch das Steuerfeld AUXIN ausgewählt werden.
0) 0000 Kein Eintasten
1) 0001 RRDXA
2) 0010 R29
3) 0011 R29, RRDXA, FRL, RID
4) 0100 RRDXB
5) 0101 RTYP
6) 0110 RBASA
7) 0111 RBASA, RTYP
8) •1000 RBASB
9) 1001 RDESC
10) RBASA, R29, RRDXA
Bits 45-46 TYPB Hinweis vom Typ B.
Zeigt an, daß die überlagerten Felder vom Typ B
benutzt werden.
OO Felder vom Typ B ■ O
11 Felder vom Typ B ■ 3
Bit 47 RSC RSC-Taststeuerung Tastet das RSC-Register ab (Verschiebezählstand)
Bit 47 RSPA RSPA-Taststeuerung. Tastet das RSPA-Register ab.
Bits 47-48 N/A
Bit 47 RAAU RAAU-Taststeuerung. Tastet RAAU-Register ab. Bits 48-49 ZLX ZLX-Schaltersteuerung. Wählt den Ausgang des ZLX-Schalters aus.
030024/0833
Bits 48-49 ZSPA ZSPA-Schaltersteuerung. Wählt den Ausgang des ZSPA-Schalters aus.
Bits 48-50 AUXIN Hilfsregister-Eingabesteuerung. Wählt Daten aus, die in das Hilfsregister einzutasten sind.
Bit 49 ZADSP ZADSP-Schaltersteuerung. Wählt den Ausgang des ZADSP-Schalters aus. Bits 50-52 ZSC ZSC-Schaltersteuerung. Wählt den Ausgang des ZSC-Schalters aus. Bits 50-52 ZRSPA ZRSPA-Schaltersteuerung. Wählt den Ausgang des ZRSPA-Schalters aus. Bits 50-52 ZAAU ZAAU-Schaltersteuerung. Bit 51 RSIR RSIR-Registertastung.
Tastet das RSIR-Register in Abhängigkeit von dem Feld AUXIN.ab.
Bit 53 RDW R1DW-, R2DW-Registertastung.
Tastet das Register R1DW bzw. R2DW in Abhängigkeit von dem RDESC-Register.
Bits 53-54 ZLNA ZLNA-Schaltersteuerung. Wählt den Ausgang des ZLNA-Schalters aus.
Bits 54-57 CONTF Verschiedene Flip-Flop-Steuerungen. Wählt eine von vier Gruppen von Steuer-Flip-Flops durch das Steuerkonstantenfeld CCM zum Setzen bzw. Rückstellen aus. Die Flip-Flops umfassen jene der Blöcke 704-104 und 704-110.
Bits 55-56 ZLNB ZLNB-Schaltersteuerung. Wählt den Ausgang des ZLNB-Schalters aus. Bits 55-56 ZSPA(2) Typ A-2 ZSPA-Schalter-, RSPA-Register-
Steuerung.
Wählt ZSPA-Schalterausgang aus und tastet RSPA-Register.
030024/0833
Bits 57-58
Bits 59-62 Bits 59-63 Bits 59-60
- 58 _
ZPC ZPC-Schaltersteuerung
Wählt den Ausgang des ZPC-Schalters aus.
ZXP ZXP-Schalter-, RXP-Registerreihe-
Steuerung.
Wählt ZXP-Schalterausgang aus und das RXP-Register, in das das Ausgangssignal einzuschreiben ist.
ZLNd) ZLN-Schalter-, RLN-Registerreihe-
(Typ A«1) Steuerung.
Wählt ZLN-Schalterausgang und RLN-Register aus,
in welches das Ausgangssignal einzuschreiben
ist.
ZPA ZPA-Schaltersteuerung. Wählt den Ausgang des ZPA-Schalters aus. 00 « RPO
Bits 61-62
11
RP3
ZPB ZPB-Schaltersteuerung. Wählt den Ausgang des ZPB-Schalters aus. 00 - RPO
Bits 63-64
11
RP3
ZXPL-Schaltersteuerung.
ZXPL
(Typ A-O)
Wählt den Ausgang des ZXPL-Schalters aus. 00 - RXPA
11 « RXPD
030024/0833
Bit 63
Bits 63-66
Bit 64
Bits 64-68
Bits 65-66
Bits 65-66
Bits 67-68
Bit 67
ZLN(2) ZLN-Schalter-, RLN-Registerreihe-(Typ A«2) steuerung.
Wählt ZLN-Schalterausgang und RLN-Reglster aus, In welches das Ausgangssignal einzuschreiben ist.
ROIN RDI-Elngangssteuerung. Wählt die Daten aus, die in das RDI-Register einzutasten sind und wählt eines der Modifikationssteuerfelder (MF. - MF-, Hinweis) eines Befehlswortes aus. Die RDI-Eintastung kann ebenfalls durch das Feld MISCREG gesteuert werden.
ZXPLd) ZXPL-Schalter steuerung.
(Typ A=D
Wählt den Ausgang des ZXPL-Schalters aus.
ZRPAC ZRPA-Schalter-, ZRPC-Schalter-, (Typ A«2) RPO-3-Registerreihe-Steuerung Wählt ZRPC- und ZRPA-Schalterausgänge und das RPO-3-Register aus, in welches das Ausgangssignal von ZRPA einzuschreiben ist.
ZXPR ZXPR-Schaltersteuerung.
(Typ A«0)
Wählt den Ausgang des ZXPR-Schalters aus.
ZXP(D ZXP-Schalter-, RXP-Registerreihe-(Typ A«1) steuerung.
Wählt den ZXP-Schalterausgang und das RXP-Register aus, in welches das Ausgangssignal einzuschreiben ist.
ZPD ZPD-Schaltersteuerung.
(Typ A-O)
Wählt den Ausgang des ZPD-Schalters aus.
ZRPAC(4) ZRPA-Schalter-, ZRPC-Schalter-, (Typ A-4) RPO-3-Registerreihe-Steuerung. Wählt CP4 von dem ZRPA-Schalter aus und tastet damit das RP1-Register.
030024/0833
- 6ο -
Bit 67
Bit 68
Bits 68-71
TYPD Typ D-Hinweis. Dieser Hinweis zeigt die überlagerten Felder
vom Typ D an.
ZRPB(4) ZRPB-Schalter-, RP4-7-Registerreihe-(Typ A»4) steuerung.
Wählt O vom ZRPB-Schalter aus und tastet damit das RP4-Register.
MEM Pufferspeichersteuerung. Wählt die Pufferspeicheroperation zusammen mit der SZ-Steuerung aus. O) 0000 Keine Operation
15) 1111
Schreiben extern
Bits 68-70
Bits 69-73
Bits 69-73
Bits 69-71
IBUF IBÜF-Lesesteuerung Wählt die Bestimmung der IBUF-Daten aus beim Lesen von IBUF.
AXP ZXPA-Schalter-, ZXPB-Schalter-, (Typ A=O) AXP-Addierer-, ZAXP-Schalter-,
RE-Register-Steuerung.
Wählt die ZXPA- und ZXPB-Schalterausgänge, die AXP-Additionsfunktion und den ZAXP-Schalterausgang aus. Ebenfalls wird das RE-Reglster getastet.
ZRPB ZRPB-Schalter, RP4-7-Registerreihe-(Typ A-1) steuerung.
Wählt den ZRPB-Schalterausgang und das RP4-7-Register aus, In das das Ausgangssignal einzuschreiben ist.
ZRPAC-3 ZRPA-Schalter-, ZRPC-Schalter, (Typ A«3) RPO-3-Reglsterreihe-Steuerung. Wählt die ZRPC und ZRPA-Schalterausgänge und das RPO-3-Register aus*ndas das ZRPA-Ausgangs-
signal einzuschreiben ist.
030024/0833
29A8R68
Bits 72-74 ZRPB(3) ZRPB-Schalter-, RP4-7-Register-(Typ A=3) reihe-Steuerung.
Wählt den ZRPB-Schalterausgang und das RP4-7-Register aus, in das eingeschrieben wird.
Bits 72-73 SZ Umfang/Zonen-Pufferspeicher-Steuerung.
Steuert die Pufferspeicheroperationen zusammen mit dem Steuerfeld MEM.
Bits 74-78 ZRPB(O) ZRPB-Schalter-, RP4-7-Registerreihe-(Typ A=O) Steuerung.
Wählt den ZRP-Schalterausgang und das RP4-7-Register aus, in das einzuschreiben ist.
Bits 74-78 AL ZALA-Schalter-, ZALB-Schalter-, (Typ A=1) AL-Addierer-Steuerung. Wählt die ZALA- und ZALB-Schalterausgänge und die AL-Addiererfunktion aus.
Bit 74 TYPE Typ E-Hinweis.
Der Hinweis zeigt die Überlagerten Felder vom Typ E an.
Bits 75-77 ZXP(3) ZXP-Schalter-, RXP-Registerreihe-(Typ A=3) Steuerung.
Wählt den ZXP-Schalterausgang und das RXP-Register aus, in das einzuschreiben ist.
Bits 75-78 NISCREG Verschiedene Register-Steuerungen. Wählt verschiedene Operationen hinsichtlich verschiedener Register aus (z.B. RBIR, RDI, RLEN, RSPP).
Bits 75-78 ZDO ZDO-Schaltersteuerung.
Wählt den Ausgang des ZDO-Schalters aus.
Bit 78 ZIZN ZIZN-Schaltersteuerung.
Wählt den Ausgang des ZIZN-Schalters aus.
030024/0833
Bits 79-83 AP ΖΑΡΑ-Schalter-, ZAPB-Schalter-, AP-Addierer-Steuerung.
Wählt den ΖΑΡΑ- und ZAPB-Schalterausgang und die AP-Addierer-Funktion aus.
Bits 79-81 ZLNO) ZLN-Schalter-, RLN-Registerreihe-(Typ A«3) steuerung.
Wählt den ZLN-Schalterausgang und das RLN-Register aus, in das einzuschreiben ist.
Bits 79-83 ZLN(4) ZLN-Schalter-, RLN-Registerreihe-(Typ A=4) steuerung.
Wählt den ZLN-Schalterausgang und das RLN-Register aus, in das einzuschreiben 1st.
Bits 80-81 RAAU RAAU/RE-Registertastung.
Wählt die Daten aus, in die RAAU- und RE-Register zu tasten sind, indem verschiedene Schalter und Addierer in der Einheit 722 gesteuert werden.
Bits 82-83 AP(3) ΖΑΡΑ-Schalter-, ZAPB-Schalter-, (Typ A»3) AP-Addierer-Steuerung. Wählt die ZAPA und ZAPB-Schalterausgänge und die AP-Addiererfunktion aus.
Bit 84 ZRSC ZRSC-Schaltersteuerung. (Typ A-O) Wählt den Ausgang des ZRSC-Schalters aus.
Bits 85-86 N/A
Bit 86 RLEN RLEN-Taststeuerung. (Typ A-3)
Die RLEN-Tastsignale werden ebenfalls durch die Hardware oder durch das Feld MISCREG gesteuert.
Bit 87 FMT Format-Hinweis. Zeigt den Formattyp an.
030024/0833
Bits 68-89 TYPF RFU
Zeigt CHROP
00
01
10
11
Bit 90
Bits 90-93
Zeigt den Typ der überlagerten Felder an.
• Zwischenspeicheradresse
« Zeicheneinheit-Steuerung
MuItiplizier/Dividier-Steuerung
• N/A
Reserviert für zukünftigen Gebrauch.
Zeicheneinheit-Operationscode. Wählt die durch die Zeicheneinheit ausgeführte Hauptoperation aus und gibt eine Interpretation des Feldes CHSUBOP.
0) 0000 Keine Operation
1) 0001 Lade Daten
2) 0010 MOP-Bearbeitung
3) 0011 Vergleiche einzeln
4) 01OO Vergleiche doppelt
5) 0101 Lade Register
6) 0110 Schreibe CN fort
7) 0111 Undefiniert
8) 1000 Setze RCH-Operation A
9) 1001 Setze RTF1
10) 1010 Setze RTF2
11) 1011 Setze RTF3
12) 1100 Setze RCN1
13) 1101 Setze RCN2
14) 1110 Setze Ausgabe-Hinweise
15) 1111 CH-Einheit löschen
Bit 90 RCH RCH-Registertastung. Tastet das OP1-RCH-Register.
Bit 90 RFU Reserviert für zukünftigen Gebrauch. Bits 91-97 SPA Zwischenspeicher-Adresse.
Enthält die Adresse, die benutzt werden kann, um den EU-Zwischenspeicher zu adressieren.
Bits 91-93 N/A
030024/0833
Bits 94-97
CHSUBOP Zeicheneinheit-Sub-Operationscode. Wählt die detaillierte Funktion der Zeicheneinheit aus oder kann eine Konstante enthalten. Die Interpretation dieses Feldes ist eine Funktion der CHROP-Steuerung wie unten dargestellt. CHROP ■ OQOO Keine Operation
CHSUBOP
0-3
XXXX
Keine Interpretation
CHROP = 0001 Lade Datenoperation CHSUBOP
0-1
00 01 10
11 CHSUBOP
1X X1 CHROP = (Suboperation)
OP1 Laden durch CN1 und TF1 OP1 Laden umgekehrt durch CN1 und TF1 0P2 Laden durch CN2 und TF2 und Testzeichen
Lade Vorzeichen (Füllsteuerung)
Füllzeichen geladen in ZCU Füllzeichen geladen in ZCV MOP-Bearbeitungsoperation
2-3
CHSUBOP
OO 01 10 11 CHSUBOP
XX
CHROP
0-1
2-3 (Suboperation)
MOP gesetzt durch CN2 MOP-Bearbeitung Undefiniert Undefiniert
Keine Interpretation Lade Registeroperation
CHSUBOP CHSUBOP
0-1 2-3
CHROP (Wählt Ausgang von RCH aus) (Wählt Ausgang von ZOC-Schalter aus)
Setze RTF3-Operation
CHSUBOP
0-1 (Wählt Daten aus, die auf OO untersucht werden, was ein 9-Bit-Zeichen anzeigt.)
Q30C? W0833
_ 65 _
CHSUBOP2-3 CHROP =1110
(Konstantenfeld)
Setze Ausgabehinweise-Operation
Bits 94-97 Bits 97-97 Bit 98
Bit 99
Bits 99-106 Bits 99-106
Bits 99-106
CHSUBOP
1XXX X1XX XX1X XXX1
RFU N/A TYPG
0-3
(Konstanten-Auswahlhinweise sind zu setzen).
Setze ES (Endunterdrückung) Setze SN (Vorzeichen) Setze Z (Null) Setze BZ (Lösche, falls Null). Reserviert für zukünftigen Gebrauch Typ G-Hinweis Zeigt die Art der überlagerten Felder an.
0 = BRADRU-FeId
1 = IND6-Feld
GO Status des bedingten Verzweigungstests.
BRADRU Obere Verzweigungsadresse.
IND6FLD Indikatorsteuerung. Wählt einen Indikator aus.
Bit 99 = O legt eine Indikator-Befehlsänderung fest.
Bit 99 = 1 legt ein Setzen/Rückstellen des Indikatorbefehls fest (Setzen oder Rückstellen wird durch das X-Bit O oder 1 entsprechend angezeigt) .
Bits 100-104 105=1 106=1 OOOO
110OX Abarbeitung 1 1101X Abarbeitung 3
111OX Abarbeitung 1
03C02W0833
Abarbeitung 2
N/A Abarbeitung 2
Bits 107-112 BRADRL Untere Verzweigungsadresse
Enthält den unteren Teil einer ECS-Adresse, die für die Verzweigung benutzt wird.
Bit 113 EXIT Auswahl der Ausgangs-Schalter-
steuerung.
Die Auswahl des Ausgangs zeigt das Ende des Mikroprogrammes an.
Bits 114-116 ZCSBRA ZCSBRA-Schaltersteuerung
Definiert die in einem Steuerspeicher-Verzweigung sadress-Schalter auszuwählende Stellung.
Bits 117-118 N/A
Bits 119-123 INDGRP Bedingte Verzweigung-Indikator-Gruppensteuerung .
Die ersten zwei Bits (119-120) wählen die Gruppe der Mikroprogrammindikatoren aus. Die letzten drei Bits (121-123) wählen den Satz der Indikatoren innerhalb jeder Gruppe aus.
Bit 124 TYPH Typ H-FeId. Zeigt die überlagerten Felder vom Typ H an.
0 » INDMSKU
1 « VCTR-FeId
Bits 125-128 INDMSKU Obere bedingte Verzweigungsindikatormaskierung .
Enthält die oberen vier Bits der Indikatormaske im Feld vom Typ H ■ 0.
Bits 125-129 VCTR Vektorauswahl.
Wählt die Verzweigungsvektoren aus, die in die Register RVBO, RVB1 und RVB2 einzutasten sind. Das signifikanteste Bit (125) legt fest, welche von zwei Gruppen O oder 1,2 oder 3 und 4 oder 5 in die Register RVBO, RVB1 und RVB2 entsprechend einzutasten sind.
0300Ή/0833
Die verbleibenden drei Bits wählen den Vektor innerhalb jeder Gruppe aus.
Bits 129-132 INDMSKL Untere bedingte Verzweigungsindikatormaske .
Enthält die unteren 4 Bits der Indikatormaske.
Bits 133-135 N/A
Bits 136-139 CNSTU Obere Konstante.
Enthält die oberen 4 Bits des Konstantenfeldes.
Bits 140-143 CNSTL Untere Konstante.
Enthält die unteren 4 Bits des Konstantenfeldes,
03007W0833
-68-Steuerlogikeinheit 704-1
Diese Einheit umfaßt die Folge-Decodier-Logikschaltkreise 704-JOO, deren Ausgänge mehrere I-Zyklus-Steuerstatus-Flip-Flops des Blockes 704-102 speisen. Diese Flip-^Flops erzeugen aufgrund von Signalen der Schaltkreise 704-100 sowie von Microbefehlssignalen von dem Register 701-4 (DEMRO38-4O entsprechend dem Adressfeld MEMADR gemäß Figur 6b) die verschiedenen geforderten I-Zyklus-Steuerzustände für die Bearbeitung der Programmbefehle, Der Block 704-102 umfaßt ferner Gatterschaltkreise, die Register-Haltesignale HOLDEOO erzeugen, welche in dem Prozessor 700 verteilt werden.
Gemäß Figur 3c erhalten die I-Zyklus-Steuerstatus^Flip-Flops Steuer-Eingangssignale über Steuerleitungen von der Puffereinheit 7 50 zugeführt, wobei die Steuerleitungen eine Leitung CPSTOPOO einschließen. Der Status der Leitung CPSTOPOO legt fest, ob die Prozessoroperation fortgesetzt wird,indem bei einem Setzen dieser Leitung auf "0" die Halte- bzw.Freigabesignale für die I-Zyklus-Steuerstatus-Flip-Flops und andere Register ebenfalls auf "0" gesetzt werden. Die Haltesignale entsprechend den Signalen HOLDIOO und HOLDEOO dienen dem Halten bzw. Einfrieren des Status.
des Prozessors 700, Da keine Erhöhung der SteuerSpeicheradresse stattfinden kann, liest der ECS-Steuerspeicher das gleiche Microbefehlswort aus. Die Signale HOLDI und HOLDE werden in Übereinstimmung mit den folgenden Bool1 sehen Gleichungen gesetzt: (11OLDI=CACHE HOLD + TERMB (DREQ-IF-DIR) + HOLD REL, wobei der Status des Signales CACHE HOLD dem Zustand des Signales CPSTOP entspricht, die Zustände der Signale TERMB (DREQ-IF-DIR) dem Binärtwert "1" während des Steuerstatus FPOA entsprechen ,wenn die Pufferanweisung einen Befehlsabruf oder direkte Operation festlegt,und wobei das Signal HOLDREL den Binärwert "1" aufweist, bis es durch die Erzeugung eines Microprogramm-Freigabesignales auf den Binärwert "0" umgeschaltet wird und wobei [HOLDE » [HOLD I.
030024/0833
Gemäß Figur 3 werden Signale entsprechend den I-Zyklus-Steuerzuständen den Eingängen mehrerer Steuer-Flip-Flops des Blockes 704-104, Decodierschaltkreisen des Blockes 704-106, einer Anzahl von Steuerlogikschaltkreisen des Blockes 704-108 und mehreren Steuer-Hinweisindikator-Flip-Flops des Blockes 704-110 zugeführt. Es ist ersichtlich, daß die verschiedenen Indikator-Flip-Flops des Blockes 704-110 ebenfalls Microbefehls-Eingangssignale über die Leitungen MEMDO54-57 von der Bearbeitungs-Steuereinheit 701-4 empfangen.
Gemäß Figur 3c fallen die durch die Hardware-Steuerlogikschaltkreise 704-108 erzeugten Signale in eine von drei Gruppen, wobei dies von den Einheiten abhängt, deren Operationen zu steuern ist. Diese Gruppen sind durch die Befehlspuffersteuerung, die Hardwaresteuerung und die Hardware-Speichersteuerung vorgegeben.
In jedem Fall wird jede Gruppe von Signalen zusammen mit equivalenten Signalen,die durch andere Quellen erzeugt werden, einer ODER-Verknüpfung unterzogen und sodann decodiert. Die anderen Quellen entsprechen Felder innerhalb zwei verschiedener Formate des Microbefehlswortes in Figur 6a, welches von dem ECS-Ausgaberegister 701-4 in das RCSR-Register 704-112 geladen wird.
Ein Feld entspricht den Bits 32-83 des einen Formats (große CU) und ein anderes Feld (kurze CU) entspricht den Bits 32-41 eines anderen Formats. Diese Felder werden durch einen Decodierer 704-114 in Bitgruppen decodiert, die durch die Decodierer 704-116, 704-124, 704-126 und 704-128 mitteinander kombiniert werden. Eine weitere Decodierung erfolgt durch die Schaltkreise der Blöcke 704-118, 704-135 unf 704-120. Die Ergebnisse der Decodierung solcher Felder werden entweder in dem Prozessor 700 verteilt oder in einem RMEM-Register 704-130, einem RSZ-Flip-Flop 704-132, einem FREQDIR-Flip-Flop 704-136 und in einem FREQCAC-Flip-Flop 704-134 gespeichert.
Eine zusätzliche Decodierung der großen und kurzen CU-Felder und der Signale von dem I-Zyklus-Statusschaltkreisen des Blockes
030024/0833
704-112 erfolgt über Decodierer 704-106 und 704-107. Der Decodierer 704-106 erzeugt Steuersignale zum Laden verschiedener Register und für die Freigabe verschiedener Multiplexer/Selektorschalter innerhalb des Prozessors 700. Der Decodierer 704-107 erzeugt Signale zum Setzen und zum Zurückstellen eines Paares von Basishinweisadressen-Flip-Flops 704-144 (RBASB). Andere Kombinationen dieser Signale werden benutzt,um Deskriptor-Flip-Flops der Blöcke 704-140 und 704-142 zu setzen und zurückzustellen.
Gemäß Figur 3c empfängt der Decodierer 704-116 ein Steuersignal (exHOO, das durch die Decodierschaltkreise des Blockes 704-117 erzeugt wird. Diese Schaltkreise empfangen Signale von dem RDESC-Hegister 704-140 und Signale von den Abarbeitungs-Flip-Flops des Blockes 701-1. Aufgrund des Zustandes dieser Signale setzen die Schaltkreise das Signal [exhOOO auf den Binärwert "0", um die Erzeugung einer Pufferspeicheranweisung beim· Auftritt des Abarbeitungszustandes zu sperren. Das Signal [EXHOOO wird gemäß folgender Bool1 scher Gleichung erzeugt: [EXHOOO = DESC0-FE11 + DESC1-FE2 + DESC2-FE3.
Das Flip-Flop FNUM wird normalerweise aufgrund des CCS-OP-Feldes des Microbefehlswortes gesetzt. Wenn es auf den Binärwert "1" gesetzt ist, so zeigt es an, daß der zu verarbeitende Deskriptor vom numerischen Typ ist. Die verschiedenen Flip-Flops des Blockes 704-104 seien nun in näheren Einzelheiten erläutert. Das Flip-Flop FCHAR gibt bestimmte Veränderungen bei der Steuerung der Adressenerzeugung vor. Wenn das Flip-Flop FCHAR während der Verarbeitung eines Befehles vom Ladetyp auf den Binärwert "1" gesetzt ist, wodurch eine Zeichenmodifikation vorgegeben wird, so wird der Inhalt des Registers RDI unter Hardwaresteuerung nicht verändert. Somit kann das Register RDI mit Daten unter Microprogrammsteuerung geladen werden, bevor die durchfließende Bearbeitung (Pipe-Line) gestartet wird. Auch wenn das Flip-Flop FCHAR während eines Befehles vom Speichertyp auf den Binärwert "1" gesetzt ist, wodurch eine Zeichen-
030024/0833
modifikation festgelegt wird, so wird die Bearbeitungsadresse für diesen Befehl unter Hardwaresteuerung modifiziert,um zu einer eindeutigen Adresse der Microbefehlsfolge in dem ECS-Steuerspeicher zu verweisen.
Das Flip-Flop FDT-FOUR liefert eine zusätzliche Steuerung beim Auslesen des Adressregisters (ZAR0-1g) des Blockes 704-304. Das Flip-Flop FADR-WD liefert eine zusätzliche Steuerung für den ZDO-Schalter 704-340. Wenn dieses Flip-Flop auf den Binärwert "1" gesetzt ist, so wird über die ZAR-Stellung des ZDO-Schalters eine Wortadresse ausgewählt. Das Flip-Flop FADR-B liefert eine zusätzliche Steuerung für den ZDO-Multiplexerschalter. Wenn es auf den Binärwert "1" gesetzt ist, so wird über die ZAR-Position des ZDO-Schalters eine Byteadresse ausgewählt. Das Flip-Flop FNUM ist normalerweise aufgrund des CCS-OP-Feldes des Microbefehlswortes gesetzt. Wenn es auf "1" gesetzt ist, so zeigt dies an , daß der bearbeitete Deskriptor vom numerischen Typ ist. Das Flip-Flop FIG-LEN liefert eine zusätzliche Steuerung beim Laden der Register innerhalb der Einheit 722 (Längenregister) und bei Speicheroperationen. Wenn es auf " 1 " gesetzt ist, so werden die Register RXP und RLN . innerhalb der Einheit 722 von dem RSIR Register 704-154 während bestimmter Prozessor-Steuerzustände FPOP nicht geladen.
Das Flip-Flop FINH-ADR sperrt die Operation der Adressenprepariereinheit 704-3. Wenn es auf "1" gesetzt ist, so besteht ein Adressenzyklus (FPOA/FPOP) aus der Addition des Inhalts eines temporär wirksamen Adressregisters REA-T zu dem Wert "0". Das Register REA-T kann vor der Ausführung eines FPOA/FPOP-Zyklus mit der Adresse geladen worden sein. Das Flip-Flop FABS gestattet die Erzeugung von absoluten Adressen. Wenn es auf den Binärwert "1" gesetzt ist, so wird eine absolute 24 Bit-Adresse benutzt. Was die Hinweiszeichen-bzw. Indikator-Flip-Flops des Blockes 704-110 betrifft, so liefert das Flip-Flop FID/wenn es auf den Binärwert "1" gesetzt ist, einen Hinweis darauf, daß eine indirekte Adressenmodifikation mit dem in das Register
03002^/0833
RSIR geladenen Deskriptor bei der Bearbeitung eines Befehls erforderlich ist.
Das Flip-Flop FRL zeigt im auf "1" gesetzten Zustand an, daß die Länge in einem Register festgelegt ist, das dem Befehl zugeordnet ist, welcher in verschiedene Befehlsregister geladen wird. Die drei Flip-Flops FINDA, FINDB und FINDC liefern Hinweise, die bei der Verarbeitung von Befehlen vom Speichertyp verwendet werden. Das Flip-Flop FINDA wird auf den Binärwert "1" gesetzt, wenn die Länge in einem Register festgelegt ist, oder wenn das Flip-Flop FAFI auf "1" gesetzt ist. Das Flip-Flop FINDB wird auf den Binärwert "1" gesetzt, wenn der Deskriptor keine neuen Bit-Zeichen enthält. Das Flip-Flop FINDC wird auf den Binärwert "1" gesetzt,wenn der Deskriptor 6-Bit-Zeichen umfaßt.
Das Flip-Flop FAFI wird auf den Binärwert "1" gesetzt, wenn die Prozessorschaltkreise feststellen, daß das Indikatorbit 30 des IR-Registers 701-41 während der Bearbeitung eines EIS-Befehles auf "1" gesetzt war, was eine Befehlsunterbrechung in der Mitte anzeigt ( eine solche Anzeige ist erforderlich, um Hinweisadressen und Längenwerte aufgrund einer Unterbrechung einzustellen). Die Flip-Flops FTRGP, TTNGO und FTRF-TST werden im Zusammenhang mit Befehlen vom Ubertragungstyp auf den Binärwert "1" gesetzt. Insbesondere liefert das Flip-Flop FTRGP im auf "1" gesetzten Zustand einen Microprogrammhinweis, wenn die Prozessorschaltkreise das Auslesen eines Befehles vom Ubertragungstyp während der Bearbeitung eines Doppelbearbeitungs-(XED) oder eines Wiederholungs (RPTS)- Befehles feststellen. Das Flip-Flop FTNGO liefert im auf "1" gesetzten Zustand einen Microprogrammhinweis, wenn der Zustand der durch die Bearbeitungssteuereinheit 701 signalisierten übertragung einen Ubertragungs-Stillstand (NO GO) betrifft. Der Ausgang dieses Flip-Flops wird der Leitung NO-GO der Schnittstelle 604 zugeführt. Das Flip-Flop FTRFTST dieser Gruppe zeigt im auf "1" gesetzten Zustand an, daß der zuvor durch den Prozessor 700 bearbeitete Befehl ein Befehl vom Ubertragungstyp war und daß der laufende I-Zyklus
Q30Q2W0833
in Abhängigkeit von der Gegenwart eines Ubertragungs-Marschsignales (TRGO) von der Steuereinheit 701 auszuführen ist.
Ferner umfassen die Schaltkreise des Blockes 704-110 eine Anzahl von Flip-Flops, die bei der Ausführung indirekter Adressieroperationen unter einer festverdrahteten Steuerung für andere als EIS-Befehle benutzt werden. Die umfaasen die Flip-Flops FIR, FIRT, FIRL und FRI(die in Abhängigkeit von den verschiedenen Typen der auszuführenden indirekten Adressenmodifikationen auf den Binärwert "1" gesetzt werden. Beispielsweise signalisiert das Flip-Flop FRI eine Modifikation von einem Register zu einer indirekten Adresse und dieses wird auf den Binärwert "1" umgeschaltet, wenn ein Register-Indirekthinweis (RI) den Binärwert "1" aufweist. Das Flip-Flop FIR wird auf den Binärwert "1" umgeschaltet, wenn ein Hinweis von einer indirekten Adresse auf ein Register (IR) den Binärwert "1" besitzt. Dieses Flip-Flop signalisiert den Beginn einer Adressenmodifkation von einer indirekten Adresse auf ein Register. Das Flip-Flop FIRL wird auf einen Binärwert "1" umgeschaltet, wenn ein Hinweis von einer indirekten zu einer !direkten Zähleradressierung den Binärwert "1" besitzt. Dieses Flip-Flop signalisiert auf jeden Fall eine indirekte Operation. Ein weiteres Flip-Flop TSX2 liefert einen Hinweis,der bei der Verarbeitung von Ubertragungs ~ un£l Setzindex-Befehlen benutzt wird, während ein Flip-Flop STR-CPR während der Verarbeitung von Speicherbefehlen verwendet wird.
Gemäß Figur 3c werden die Ausgangssignale der Steuerhinweis-Flip-Flops des Blockes 704-110 als Eingangssignale den Verzweigungs-Hinweisschaltkreisen des Blockes 701-1 zugeführt. Ferner werden die Ausgangssignale der Steuerhinweis-Flip-Flops als Eingangssignale den I-Zyklus-Flip-Flops des Blockes 704-102 zugeführt.
030024/0833
Reqlsterabschnltt 704-150
Gemäß Figur 3c umfasst die Steuerlogikeinheit 704-1 ferner einen Registerabschnitt 704-150. Dieser Abschnitt enthält das Basis-Befehlsregister RBIR 704-152, das sekundäre Befehlsregister RSIR 704-154, ein Basishinweis-A Register RBASA 704-156, das für die Auswahl eines der Adressregister RARO bis RAR7 des Blockes 704-304 benutzt wird, ein Lese-Indexregister A RRDXA 704-158, das für die Auswahl der Indexregister in dem nicht dargestellten Abschnitt 704-5 und für die Auswahl von Ausgängen des ZDO-Multiplexerschalters, 704-340 benutzt wird, ein A-Leseindex-Sicherungeregister RRDXAS 704-159 und ein Deskriptortyp-Register RTYP 704-160, das die Art der Datenzeichen vor-
030024/0833
gibt, auf die durch den Deskriptorwert (z.B. 9 Bit, 6 Bit, 4 Bit) verwiesen vird. Der Abschnitt 704-150 umfasst ferner ein alt R29 bezeichnetes 1 Bit-Befehls/EIS-Deskriptorregister in dem Block 704-162. Der Zustand dieses Bits zusammen mit dem Inhält des RBAS-A-Registers 704-158 wird benutzt, um das spezielle für die Adressenpräparierung benutzt Adressregister auszuwählen. Nenn das Register R29 des Blockes 704-162 auf Logisch "0" gesetzt ist, soaies ;an, daß keines der Adressregister des Blockes 704-304 während der Adressenpräparierung benutzt wird. Die letzten Register des Abschnittes 704-150 umfassen das Dateneingangsregister RDI des Blockes 704-164 und ein Lese-Indexregister B (RRDXB), das auf Register verweist, die von der Bearbeitungseinheit 714 benutzt werden.
Gemäß Figur 3cwird das RBIR-Register 704-152 über einen Schalter 740-170 mit zwei Stellungen geladen, dem Signale von den gezeigten Quellen zugeführt werden (z.B. von einem Schalter ZIB-B 704-172 und über Leitungen ZDI 0-35). Das RSIR-Register 704-154 empfängt in gleicher Weise Signale von deft ZDI-Leitungen und dem Schalter 704-172. Das RBASA-Register 704-156 empfängt Signale von der ZDI-Leitung 0-2 und einem weiteren Schalter ZBASA des Blockes 704-174. Das RRDXA-Register und das RTYP-Register empfangen Signale von den ZDI-Leitungen sowie von einem Schalter 704-176 und einem Schalter 704-178. Ebenso empfängt das RRDXA -Register Signale von dem RRDXAS-Register 704-159.
Der Schalter 704-172 weist zwei Stellungen auf, die Eingangseignale von den Schaltern ZIB und ZRESB von der Puffereinheit 750 und der Bearbeitungseinheit 714 entsprechend empfangen. Der Schalter 704-174 weist drei Eingänge auf, denen zwei Eingangssignale von der Bearbeitungseinheit 714 und dem Ausgang de· ZIB-Schalters der Puffereinheit 750 zugeführt werden.
Der Schalter 704-176 weist vier Eingänge auf, wobei zwei dieser Eingänge von der Bearbeitungseinheit 714 und ein einziger Eingang von der Puffereinheit 750 geliefert wird. Die erste Stellung des ZRDXA-Schalters 704-175 wählt den Ausgang eines
IRSXM-Schalters 704-185 aus. Eine Stellung dieses Schalters
030024/0833
liefert ein Hinwelsfeld von den Bitpositionen 5-8, 14-17 und 32-35 des RBIR-Reglsters 704-152 und Bitpositionen 32-35 des RSIR-Reglsters 704-154, die von dem ZIDD-Schalter 704-180 und einem ZMF-Schalter 740-176 mit zwei Stellung'ausgewählt werden.
Die zweite Stellung des schalterS7O4-185 liefert einen konstanten Wert von dem Ausgang des ESC-Ausgangsreglsters 704-1 (CCM-FeId 32-34). Die Signale der Leitungen ZIDD 27-35 werden als Eingangssignale den Steuerhinweis-Flip-Flops des Blockes 704-110 zugeführt. Der Schalter 704-178 erhält einen Eingang von dem Steuerspeicher 704-2, einen Eingang von der Puffereinheit 750 und einen Eingang von der Bearbeitungseinheit 714 zugeführt.
Das Dateneingangsregister 704-164 erhält eine Reihe von Eingangssignalen von einem ZIDD-Schalter 701-180 zugeführt, der in Reihe zu einem ZDIA-Schalter 7o4-181 geschaltet ist, dessen Ausgang einen Bingang eines weiteren Schalters 704-182 liefert, der direkt das RDI-Register 704-164 lädt. Der ZDIA-Schalter 704-181 liefert einen weiteren Eingang zu einem Schalter 704-183 mit drei Eingängen, dem die anderen dargestellten Eingänge von der Puffereinheit 750 und der Bearbeitungseinheit 714 zugeführt werden.
Der ZIDD-Schalter 704-180 empfängt eine effektive Adresse über den Schalter 704-186 von der Adressenpräpariereinheit 704-3 sowie Eingangssignale von dem RBIR-Register 704-152, dem RSIR-Register 704-154 und einem ZMF-Schalter 704-187 mit zwei Stellungen. Die Stellungen 18-35 der REA-Stellung des Schalters 704-180 werden von dem ZDIA-Schalter 704-181 abgeleitet. Der ZDIA-Schalter 704-181 erhält Signale von den ZDI-Leitungen 0-35, und einen konstanten Nert zugeführt, der von den Eingangssignalen einer ersten Schalterstellung sowie von Signalen des Ausganges des ZIDD-Schalters 704-80 und des ZRESB-Schalters in der Bearbeitungseinheit 714 erzeugt wird. Der Schalter 704-182 empfängt das Ausgangssignal des ZDIA-Schalters und Signale von den ZDI-Leitungen 0-35. Das RRCDB-Register 704-189 wird durch
Q30024/0833
29A8B68
einen Schalter 704-188 mit drei Stellungen geladen. Der Schalter erhält über eine erste Stellung Signale von einem RREG-Register in der Bearbeitungseinheit, einen konstanten Wert von dem Steuerspeicher 701- 2 über eine zweite Stellung und Signale von dem ZIDD-Schalter über eine dritte Stellung zugeführt.
Der Abschnitt 704-150 umfasst ferner einen Schalter 704-185 mit zwei Stellungen und ein Zwischenspeicher-Hinweisregister 704-186, dessen Ausgang von der Einheit AACU-722 benutzt wird, um Adressen für den Zugriff auf den Zwischenspeicher der Bearbeitungseinheit EU-714 zu bilden. Die erste Schalterstellung liefert einen konstanten Wert und wird unter Hardwaresteuerung ausgewählt (FPOA.R29). Die zweite Schalterstellung liefert als Ausgangssignal den Inhalt des RBASA-Registers 704-156. Diese. Stellung wird sowohl unter Hardware- als auch unter Mikroprogrammsteuerung ausgewählt (*.B. FPOA R29 oder MISCREG-FeId).
Es sei darauf verwiesen, daß die erforderlichen Zeittaktsig-
wie
nale für den Betrieb des Abschnittes 704 ebenso für den Betrieb anderer Abschnitte des Prozessors 700 und der Puffereinheit 750 durch zentral angeordnete Taktschaltkreise geliefert werden. In dem bevorzugten Ausführungsbeispiel gemäß Figur 1 befinden sich beispielsweise die Taktschaltkreise innerhalb des E/A-Prozessors 200. Derartige Taktschaltkreise können als herkömmlich angesehen werden, und sie umfassen einen durch einen Kristall gesteuerten Oszillator sowie Zählerschaltkreise. Die Zeitgeber- bzw. Taktsignale solcher Taktschaltkreise werden in herkömmlicher Heise an die verschiedenen Teile des Systems gemäß Figur 1 im Hinblick auf einen synchronisierten Betrieb verteilt, von diesen Taktsignalen leiten Schaltkreise in dem Prozessor
700 zusätzliche Taktsignale in geforderter Weise ab. Dies wird in näheren Einzelheiten im Hinblick auf die Puffereinheit 750 gem.Fig.4 beschrieben.
Adressen-Präpariereinheit 704-3
Die Adressen-Präpariereinheit 704-3 umfaßt eine Anzahl von Registern und Addierern. Die Register umfassen eine Anzahl von Basisregistern (z.B. TBASEO bis TBASEB) des Blockes 704-300,
Q30024/0833
Ti
die für die Speicherung von Deskriptorwerten eines Befehles Benutzt werden, ein Paar von temporären Registern für effektive Adressen (TEAO, TEA1) und ein Paar von Befehlszählern (ICBB, ICBA)1 die in den Block 704-302 enthalten sind und für die Adressierung des Befehlspuffers benutzt werden, sowie acht Adressregister (RARO bis RAR7) des Blockes 704-304, die während der Adressenpräparierung benutzt werden. Die Einheit 704-3 umfasst ebenfalls einen Befehlszähler 704-310.
Die Addierer umfassen einen Addierer 704-312, der zur Fortschreibung des Befehlszählers 704-310 über Schalter 704-311 und 704-314 benutzt wird, und ein Paar von Addierern 704-320 und 704-322. Der Addierer 704-322 wird benutzt, um einen effektiven Adressenwert zu erzeugen, der in einem Register 704-342 gespeichert wird und der als ein Eingangssignal an die Steuereinheit 704-1 angelegt wird. Die effektive Adresse wird aus einer Anzahl von Quellen erzeugt, die umfassen: Einen ZY-Schalter 704-326, dessen Ausgang über eine. Anzahl von UND-Gattern des Blockes 704-327 angelegt wird, ausgewählte Adressregister des Blockes 704-304 oder ausgewählte temporIre Register TEAO und TEA1 des Blockes 704-302, die über einen anderen Schalter 704-328 angelegt werden, oder die Index-Adressaignale ZXO-20 von der Einheit 704-5. Der Addierer 704-322 wird ferner benutzt, um den Inhalt des Befehlszählers des Pufferspeichers fortzuschreiben.
Gemäß Figur 3d werden die Ausgangssignale des Addierers 704-322 ebenfalls als ein Eingangssignal an den Addierer 704-320 angelegt. Der Addierer 704-320 wird benutzt, um einen in irgendeinem der temporären Baslsregister TBASEO bis TBASEB gespeicherten Basiswert mit den Adressignalen ASCOSO-19 von dem Addierer 704-322 zu kombinieren. Die sich ergebenden Bits werden als ein Eingangssignal-einem weiteren Addierschaltkreis 7Ö4-32O zugeführt, der eine logische Adresse erzeugt, welche an die Leitungen ASFAO-36 über einen Addierer 704-321 angelegt wird. Dieser Addierer summiert die Operandeneingänge zusammen mit den Ubertragseingängen der Blöcke 704-300 und 704-320. Die effektive
030024/0833
Adresse wird benutzt, um eine absolute Adresse zu erhalten, wenn das System in einem seitenunterteilten Modus arbeitet. Da diese Betriebsweise nicht zu der vorliegenden Erfindung gehurt, sei sie nicht weiter erläutert. Für eine weitere Information bezüglich dieser Adressenentwicklung sei auf die US-PS 3 976 978 verwiesen.
Die temporären Basisregister des Blockes 704-300 werden über einen Schalter 704-332 geladen. Der Schalter erhält ein Eingangssignal von der Bearbeitungseinheit 714 und vom Ausgang des Blockes 704-300 zugeführt. Die Bearbeitungseinheit 714 liefert ferner Eingangssignale an die Register des Blockes 704-302 über einen Schalter 704-334 sowie an die Adressregister des Blockes 704-304. Ein Ausgangsmultiplexer-Schalter ZDO-704-340 gestattet die Auswahl der verschiedenen Register innerhalb der Adressenpräpariereinheit 704-3 und der Einheit 704-5, um deren Inhalt zu der Bearbeitungseinheit 714 über die Leitungen ZDO 0-35 zu übertragen. Ferner gestattet der Schalter ZDO-704-340 das Auslesen des Inhalts verschiedener Register und Steuer-Flip-Flops der Einheit 704-1 über eine vierte Stellung ZDO-A. Die fünfte Stellung gestattet die Auswahl der Zustände verschiedener Indikatoren innerhalb der Steuerspeicher-Schaltkreise des Blockes 701-1 zu deren Prüfung.
G3 002W0833
Daten/Adressen-Ausgabeabschnitt 704-4 gemäß Figur 3e
Der Abschnitt 704-4 umfaßt die Register und Schalter,die für die übertragung von Anweisungen und Daten zu der Puffereinheit 7 benutzt werden. Solche Übertragungsoperationen erfordern normalerweise wenigstens zwei Zyklen, einen zum Senden eineu Adresse und einen weiteren zum Senden der Daten. Die Bits 5-8 eines Anweisungswortes werden vom Ausgang eines Schalters 704-40 mit vier Stellungen abgeleitet. Dieser Schalter nimmt einen ersten Konstantenwert über eine erste Stellung, den Inhalt eines RZN-Registers 704-42 über eine zweite Stellung, einen zweiten Konstantewert über eine dritte Stellung und einen dritten Konstantenwert über eine vierte Stellung auf.
Die Bits 1-4 einer Anweisung werden von den Schaltkreisen des Blockes 704-1 einem ODER-Gatter 704-44 zusammen mit den Bits 5-8 zugeführt. Das ODER-Gatter 704-44 erhält zujiem über einen ZADO-Schalter 704-46 die Bits 1-8 eines RADO-Registers 704-48 zugeführt. Das RADO-Register 704-48 ist ein Adressen- und Datenausgabe-Register, das über eine erste Stellung eines ZADOB-Schalter 704-48 eine logische (virtuelle) Adresse von der Adressenpräpariereinheit 704-3 über die Leitungen ASFAO-35 und Datenausgangssignale von der Einheit 714 über Leitungen ZRSBO-35 empfängt. Die Stellungen des ZADOB-Schalters 704-48 werden von dem FMTD-FeId für ein kleines CU-Format und von dem RADO-FeId im Falle eines großen Cü-Formates gesteuert.
Wie aus der Figur ersichtlich, werden die Bits 1-8 entweder des Schalters ZZN oder des Schalter ZADO als Ausgangssignale an die RADO/ZADO Leitungen in Abhängigkeit von dem Zustand des Steuersignales RADO-ZADO angelegt. Die Bits 0 und 1 weisen immer den Zustand "1" auf, während die Bits 10-3 5 durch das RADO-Register 704-46 geliefert werden.
030024/0833
Puffereinheit 750-Figur 4
Die Puffereinheit 750 ist in fünf primäre Abschnitte unterteilt: einen Ubertragungspuffer- und Anweisungs-Warteschlangenabschnitt 750-1, einen Pufferspeicherabschnitt 750-3, einen Listen- und Treffer-Steuerabschnitt 750-5, einen Befehlspufferabschnitt 750-7 und einenBefehlzählerabschnitt 750-9.
Übergangspuffer- und Anweisungs-Warteschlangenabschnitt 750-1
Der Ubergangspuffer- und Anweisungs-Warteschlangenabschnitt 750-1 umfaßt als Hauptelemente einen Schreib-Anweisungspuffer 750-100 und einen Ubergangsblock-Leseanweisungspuffer 750-102 für jeweils vier Worte,die über ein Paar von Zählerschaltkreisen 750-104 und 750-106 zusätzlich zu einer Anweisungswarteschlange 750-107 mit zugeordneten Einwärts- und Auswärts-Hinweisadressen- und Vergleichsschaltkreisen der Blöcke 750-108 bis 750-110 adressiert werden. Der Schreibpuffer 750-100 speichert zwei Einzel-Schreibanweisungen oder eine Doppel-Schreibanweisung, während der Ubergangsblock 750-102 bis zu vier Leseanveisungen speichert. Der Ubergangsblockpuffer 7 50-102 speichert ferner Information,die solchen Leseanweisungen zugeordnet ist und die benutzt wird, um das Einschreiben von Speicher-Datenworten in zugeordnete Bereiche (z.B. Pegel) des Pufferspeicherabschnittes 750-3 zu steuern. Die vier Register gestatten,daß zu jedem vorgegebenen Zeitpunkt bis zu vier Speicher-Lesezyklen abgewickelt werden können.
Der Abschnitt 750-1 umfaßt ferner einen Steuerabschnitt 750-112. Dieser Abschnitt beinhaltet Gruppen verschiedener Steuerschaltkreise, wie beispielsweise die Anweisungs-Decodier- und Steuerschaltkreise der Blöcke 750-113 und 750-114, die Schnittstellen-Steuerschaltkreise der Blöcke 750-115 und 750-116 und die Halte-Steuerschaltkreise des Blockes 750-117.
Die Schaltkreise der Blöcke 750-113 und 750-114 decodieren die
030024/0833
Anweisungen die von dem Prozessor 700 über die Leitungen RADO/ZADO der Schnittstelle 604 übertragen werden und sie erzeugen Steuersignale, um Eintrittsstellen in die Anweisungswarteschlange 750-107 zu schaffen und Werte in den Einwärts- und Auswärts-Hinweis-Adressschaltkreisen der Blöcke 750-108 und 750-109 fortzuschalten und zu setzen. Ferner erzeugen die Schaltkreise Steuersignale;um Anweisungen entweder in dem Schreibpuffer 750-100 oder in dem Übergangsblockpuffer 720-102 zu speichern.
Die Schnittstellen-Steuerschaltkreise der Blöcke 750-115 und 750-116 erzeugen Signale für die Steuerung der übertragung der von der Schnittstelleneinheit SIU 100 empfangenen Datensignale in den Abschnitt 750-7 und für Anweisungen,die die übertragung solcher Anweisungen zu der Schnittstelleneinheit SIU100 beinhalten. Die Halteschaltkreise des Blockes 750-117,die Signale von dem Decodierschaltkreis 750-113 empfangen, erzeugen Steuersignale zum Anhalten der Anweisungsbearbeitung in geeigneten Situationen (z.B.Listenabschnitt belegt) und zur Steuerung des Ladens von Daten in den Abschnitt 7 50-7.
Gemäß Figur 2 schreitet die übertragung von Schreibanweisungs-Steuerworten von dem Puffer 750-100 über die dritte Stellung des ZDTS-Schalters 750-118, ein Datenregister 750-119 und die erste Stellung des Schalters 750-120 weiter. Die Schreib-Datenworte werden von dem Puffer 750-100 zu der Schnittstelleneinheit SIU100 über ein Schreib-Datenregister 750-121 und die zweite Stellung des Schalters 7 50-12o übertragen. Die Stellung RWRT des Schalters 750-120 wird für ein oder zwei Taktintervalle (Einzel-Schreibanweisung oder Doppel-Schreibanweisung) nach dem Empfang eines Signales von der Schnittstelleneinheit SIU100 über die Leitung ARA ausgewählt, nachdem ein Signal auf die Leitung AOPR durch die Puffereinheit 750 zur übertragung der Schreibanweisung gegeben worden ist. Leseanweisungen werden von dem Leseanweisungsteil des ubergangsblockpuffers 7 50-102 zu der Schnittstelleneinheit SIU100 über die vierte Stellung ZTBC des ZDTS-Schalters 750-118, das Register 750-119 und die
030024/0833
erste Stellung des Schalters 750-120 übertragen.
Die Mehrfachanschluss-Identifizierleitungen RMITS empfangen Zonenbitsignale über ein RMITS-Register 750-124 und einen Schalter 750-125 mit zwei Stellungen für das zweite Dätenwort im Falle einer Doppel-Schreibanweisung. Wie aus der Figur ersichtlichjempfängt dieser Schalter Signale von der Anweisungswarteschlange 750-107 und dem Prozessor 700. Dies bedeutet, daß,wenn die Puffereinheit 750 eine Leseanweisung ausgibt, die Ubergangsblock-Nummernsignale der Warteschlange 750-107 in die Bitpositionen 2 und des RMITS-Registers 750-124 geladen werden.
Die Ubergangsblock-Nummernsignale werden auf den Leitungen RMIFS mit dem gelesenen Datenwort durch die Schnittstelleneinheit SIU100 zurückgeholt. Diese Signale werden in das RMIFS-Register 750-127 über einen Multipositionsschalter 750-126 geladen. Danach wird der Inhalt der Bitpositionen 2 und 3 über die erste Stellung eines Schalters 750-128 mit zwei Stellungen an ein Paar von Adressen-Eingangsanschlüssen des Ubergangsblockpuffers 750-102 angelegt. Ein zweites DMIFS-Register 750-129 speichert temporär die Ubergangsblock-Nummernsignale bei Mehrwortübertragungen (z.B. Quad-Leseanweisungen).
Die Ausgangssignale des Schalters 750-128 werden ebenfalls den Steuer-Eingangsanschlüssen eines ZTBA-Schalters 750-130 mit vier Stellungen zugeführt, um die geeigneten Adresssignale auszuwählen, die an den Pufferabschnitt 7 50-3 zur Speicherung der Datenworte angelegt werden. Der Adresseninhalt des Ubergangsblockpuffers 750-102 wird ebenfalls an eine Gruppe von Eingangsanschlüssen einer vorbestimmten Gruppe von Vergleichschaltkreisen 750-132 bis 750-135 zum Vergleich mit dem Adressteil einer nächsten Anweisung angelegt, die einer zweiten Gruppe von Eingangsanschlüssen der Vergleichschaltkreise über die Leitungen RADO/ZADO zugeführt wird. Das durch ein NAND-Gatter 750-136 erzeugte Vergleichergebnis wird an die Halte-Steuerschaltkreise des Blockes 750-117 angelegt.
030024/0833
Gemäß Figur 4 werden die Zonenbitsignale der ZAC-Anweisung an die ZADOB-Leitungen 5-8 bei einer Einzel-Schreibanweisung oder für das gerade Wort einer Doppelschreibanweisung angelegt und diese werden in das RZONE-Register 750-140 geladen, wenn die Schreibanweisung in den Schreibanweisungs-Datenpuffer 7 50-100 geladen wird. Der Ausgang des RZONE-Registers 750-140 wird der ersten Stellung eines ZONE-Schalters75O-144 mit zwei .Stellungen zugeführt. Die Zonenbitsignale ZDZDO-3, die durch den Prozessor 700 für das ungerade Wort einer Doppel-Schreibanweisung an die Leitungen DZDO-3 angelegt werden, werden in ein RDZD-Register 750-142 geladen. Der Ausgang des RDZD-Registers 750-142 wird der zweiten Stellung des ZONE-Schalters 750-144 zugeführt. Die Ausgangssignale ZONEO-3 werden an die Schaltkreise des Abschnittes 750-9 angelegt,um das Einschreiben von Prozessordaten in den Pufferspeicher 750-300 zu steuern.
0300 24/0833
2948608
Pufferspeicherabschnitt 750-3
Der Abschnitt 750-3 beinhaltet einen Pufferspeicher 750-300 mit 8192 (8K) Wortspeicherplätzen für jeweils 36 Bit, die in 128Gruppen aus 8x8 Wortblöcken organisiert sind. Die Einheit 750-300 ist aus bipolaren RAM-Speicherchips herkömmlicher Art aufgebaut.
Diej
cPufferspeichereinheit 750-300 wird durch eine 1o-Bit-Adresse RADR24-33 adressiert, die über eine Anzahl von 4x4-Doppelkanalschaltern (z.B. 75O-3O2a) und zugeordnete Adressenregister angelegt wird. Wie aus der Figur ersichtlich_empfängt der Doppelkanalschalter Adresssignale von verschiedenen Quellen, die den Abschnitt 750-5, den ZTBA-Schalter 750-130 und den Abschnitt 750-7 umfassen. Die Adresssignale,die am Ausgang des Doppelkanalschalters auftreten, werden temporär in dem zugeordneten Adressregister gespeichert und an die Adressen-Eingangsanschlüsse der Pufferspeichereinheit 750-300 angelegt.
Während eines Schreib-Operationszyklus werden die durch den Abschnitt 750-9 erzeugten Schreib-Steuersignale WRT00100- WRT70100 bis WRTO31OO-WRT731OO an die Pufferspeichereinheit 750-300 angelegt und diese werden benutztem Taktsignale an die Schreib-Tasteingangsanschlüsse der Speicherchips anzulegen. Dies gestattet das Einschreiben von bis zu vier Bytes eines Datenwortes von dem Prozessor 700 auf den Leitungen ZADO/RADO oder eines Datenwortes vom Speicher in dem Abschnitt 750-7 in den adressierten Pegel der Pufferspeichereinheit 750-300 mit 8 Pegeln. Bei den Prozessordaten werden die Schreibsignale durch Decodierung der Signale ZONEO-3 von dem Schalter 750-144 erzeugt. Bei Speicher-Datenworten werden alle Zonensignale auf den Binärwert "1" gesetzt.
Der geeignete Pegel wird durch den Zustand der Signale RTBLEV0100-2100 von dem tfbergangsblockpuf fer 750-102 beim Einschreiben von Speicherdaten und durch den mittels der Listenschaltkreise
030024/0833
des Blockes 750-512 festgestellten Trefferpegel beim Einschreiben von Prozessordaten gebildet. Diese Signale werden durch einen Decodierschaltkreis 750-303 decodiert, wenn diese durch ein Signal ENBMEMLEV100 von dem Abschnitt 750-9 freigegeben sind.
Während eines Lese-Operationszyklus wird das 36 Bit-Wort eines jeden der 8 Blöcke (Pegel) als Eingangssignal einem 1 aus 8-ZCD-Schalter 750-306 zugeführt. Die Auswahl des geeigneten Wortes erfolgt durch den Zustand einer Gruppe von Irefferpegelsignalen ZCDOiOO-2iO(die von dem Abschnitt 750-5 erzeugt werden. Diese Signale werden dem Steuereingang des ZCD-Schalters 750-306 zugeführt.
Wie aus dieser Figur ersichtlich, wird das ausgewählte Wort an ein Paar von Registern 750-308 und 750-310, an einen 1 aus 8-ZDI-Schalter 750-312 und an einen 1 aus 4-ZIB-Schalter 750-314 angelegt. Der Inhalt der RIRA- und RIRB-Register 7 50-308 und 750-310 wird verschiedenen Stellungen der ZIB- und ZDI-Schalter 750-312 und 750-314 zugeführt. Der ZIB-Schalter 750-314 wählt Befehle aus, die an den Befehlsbus (ZIB) des Prozessors 700 angelegt werden, während der ZDI-Schalter 750-312 Daten oder Operanden auswählt, die an den Dateneingabebus (ZDI)des Prozessors 700 angelegt werden.
Zusätzlich zu den aus dem Pufferspeicher 750-300 ausgelesenen Befehlswortsignalen legt der ZIB-Schalter 750-314 Befehlswort signale an den Processor 700, die von dem Abschnitt 750-7 empfangen werden. Der ZDI-Schalter 75Ü-312 legt ferner Datensignale an den Prozessor 700, die von dem ZCDIN-Schalter 750-304 und dem Abschnitt 750-7 empfangen werden. DerZustand der Steuersignale (ZIB010-110 und fcDIOlO^lOjdie an die Steuereingänge der Schalter 750-314 und 750-312 angelegt werden, wählt die Quelle der Befehle und der Datenworte aus, die über diese Schalter zu dem Prozessor 700 au übertragen sind. Die Steuersignale werden durch die Schaltkreise des Abschnittes 750-9 erzeugt.
030024/0833
In näheren Einzelheiten sind die Signale [ziBOIO-110 so codiert, daß sie die Stellung 2 des Schalters 750-314 für eine erste Befehlsübertragung aufgrund der Feststellung eines Listentreffers auswählen. Der Listentreffer muss hierbei für eine IF1-Anweisung oder für eine IF2-Anweisung nach einer IF1-Anweisung zu dem
letzten Wort in einem Block vorliegen. Die Steuersignale sind
so codiert, daß sie die RIRA-Stellung 1 für auf einen Listentreffer folgende Befehlsübertragungen auswählen, wenn der
Listentreffer aufgrund einer IF1- oder IF-Anweisung erzeugt
wurde.
Dort,wo die IF1- oder IF2-Anweisung zu einem Listen-Fehltreffer führt, wählen die [ZIB010-110-Signale die Stellung 3 des ZIB-Schalter 750-314 aus, um Befehlsworte zu übertragenfdie von dem Abschnitt 7 50-7 empfangen werden.
Was den ZDI-Shhalter 750-312 betrifft, so wird die ZCD-Stellung 1 aufgrund der Feststellung von Listentreffern ausgewählt, und
es werden Signale an die Leitung RDIBOF/ZDI aufgrund eines für
eine LDQUAD-Anweisung erzeugten Listentreffers angelegt. Speicher-Datenworte werden zu dem Prozessor 700 über die ZDIN-Stellung 3 des Schalters 750-312 nach einem Listen-Fehltreffer übertragen. Nach dem Anhalten des Prozessor 700 für einen Befehlsabruf
von dem Hauptspeicher wählen die Signale ZDI010-210 aufgrund
ihrer Codierung die ZDIN-Steliung des Schalters 750-312 für die übertragung des ersten Befehls nach seinem Empfang durch den
Abschnitt 750-7 aus. Die verbleibenden Befehle werden über den
ZIB-Schalter 750-314 übertragen.
Die ZCDIN-Stellung 2 des Schalters 750-312 wird für Diagnosezwecke benutzt,um Signale von den Leitungen ZADO-B/RADO zu übertragen. Die restlichen Stellungen des ZDI-Schalters 750-312 werden
für Anzeigezwecke verwendet (dies sind beipsielsweise die Stellungen RIRB, ZRIB und RIRA). Ferner wird die Stellung RIRB ausgewählt, um Datenworte zu dem Prozessor 700 im Falle einer
LDQUAD-Anweisung zu übertragen, wenn ein Listentreffer vorliegt.
030024/0833
Listen- und Treffer-Steuerabschnitt 7 50-5
Dieser Abschnitt umfaßt eine Steuerliste 750-500 mit 8 Pegeln und eine Adressliste 750-502, die einer Gruppe von 8 Pegeln zugeordnet ist. Die Liste 750-502 enthält 128 Speicherplätze, wobei jeder Speicherplatz eine 14 Bit-Zuordnungsadresse für jeden Pegel aufweist. Ein ZDAD-Schalter 750-530 mit vier Stellungen liefert die RAM-Adressen,um die Listen 750-500 und 750-502 zusätzlich zu der Pufferspeichereinheit 750-300 zu adressieren.
Während eines Listensuch-Operationszyklus wählt der Schalter 750-530 unter der Steuerung der Signale SELZDADCO100-FOO,die durch Schaltkreise innerhalb eines Blockes 750-526 erzeugt werden, die RADO-Stellung 0 aus. Hierdurch werden die 14 Bit-Adresssignale einer ZAC-Anweisung von den Leitungen RADO24-33 des Prozessors 700 an die Ausgangsanschlüsse des ZDAD-Schalters 750-530 angelegt. Diese Signale werden den Adresseingängen der Listen 750-500 und 750-502 zugeführt. Während des Suchzyklus wird der Inhalt von 8 Block/Pegel-Adressen ausgelesen und als Eingangssignal jedem Vergleichsschaltkreis innerhalb einer Gruppe von 8 Vergleichsschaltkreisen 7 50-536-750-543 zugeführt. Jeder Vergleichschaltkreis vergleicht seine Block/Pegel-Adresse mit den Bits 10-23 der ZAC-Anweisung,um einen Treffer- oder Fehltreff er-Zustand festzustellen. Das durch die Schaltkreise 750-536 bis 750-543 erzeugte Ergebnis wird entsprechenden Eingängen einer Gruppe von UND-Gattern 750-545 bis 750-525 zugeführt. Jeder Vergleichsschaltkreis besteht aus vier Abschnitten, deren Ergebnisse in einem der UND-Gatter 750-545 bis 750-5252 kombiniert werden. Die endgültigen Ergebnis-Treffersignale ZHT0100-ZHT7100 werden als Eingangsignale Treffer/Fehltreffer-Schaltkreisen des Blockes 750-512 in noch zu erläuternder Weise zugeführt.
Die ZAC-Signale werden ebenfalls -i-n einem RDAD-Register 7 50-532 gesichert, wenn kein Trefferzustand festgestellt wird ( beispielsweise weist das Signal [hOLD-DMEM von 7 50-112 den Binär-
030024/0833
OO
-Po"O" auf). Während des auf den Suchzyklus folgenden Listen-Zuordnungszyklus wählen bei einem festgestellten Fehltreffer-Zustand die Signale SELZDADC0100-100 die RDAD-Stellung 1 des ZDAD-Schalter 750-530 aus. Ferner wird ein RDRIN-Register 750-534 mit den 14 Bit-Zuordnungsadresssignalen von den ZADO-B-Leitungen 10-23 geladen, wenn der Listen-Suchzyklus beendet ist,um in die Liste 750-502 einzuschreiben.
Die Steuerliste 750-500 weist ebenfalls 128 Speicherplätze auf, wobei jeder Speicherplatz eine vorbestimmte Anzahl von Bitpositionen für die Speicherung von Steuerinformation besitzt. Diese Information umfaßt die Voll-Leer-Bits (F/E-Bits) für die 8 Pegel und zyklische Zählstandsbits (RR-Bits) sowie ferner nicht dargestellte Parität-Prüfbits .
Die F/E-Bits zeigen an, ob die besonderen Listenadressen irgendeine Bedeutung besitzen (z.B. gültig sind). Bei einem auftretenden Pufferspeicher-Treffer muß das F/E-Bit auf den Binärwert "1" gesetzt sein. Ein Binätwert "0" zeigt an, daß ein leerer Block oder ein leerer Teil desselben vorliegt. Die RR-Bits liefern einen Zählstand,der anzeigt, welcher Block zuletzt ersetzt wurde. Dieser Zählstand wird wenn er über eine der beiden Gruppen von UND-Gattern des Blockes 750-504 in ein Register 750-506 ausgelesen wird,normalerweise um 1 erhöht, was durch den Erhöhungs-Addierschaltkreis 750-508 geschieht. Die sich ergebenden Signale NXTRR0-RR2 werden in die Liste 7 50-500 eingeschrieben,um den nächsten zu ersetzenden Block zu identifizieren.
Wie aus der Figur ersichtlich,wird der F/E-Bit-Inhalt des Speicherplatzes über eine Stellung des ZFER-Auswahlschalters 750-506 ausgelesen und als Eingangssignal den Listen-Treffer/Fehltreffer-Steuerschaltkreisen des Blockes 750-512 zugeführt. Der ZFER-Schalter 750-506 wählt aus, welche Hälfte einer Gruppe von F/E-Bits durch die Schaltkreise des Blockes 750-512 für eine Treffer/ Fehltreffer-Anzeige zu benutzen ist und welche Hälfte der Gruppe von F/E-Bits durch diese Schaltkreise für eine alternierende
03002^/0833
Trefferfeststellung zu benutzen ist. Ein Adressbitsignal ZDAD31 steuert die Auswahl der Schalterstellungen.
Die Schaltkreise des Blockes 7 50-510 umfassen einen Multiabschnitt-Multiplexerschaltkreis^er die Ausgangssignale FEDAT0100 und FEDAT1100 in Funktion von dem Treffer- und Fehltreffer-Datenmuster erzeugt. Dementsprechend werden diese Signale aufgrund des Signales ALTHIT von den Schaltkreisen des Blockes 750-512 gesetzt. Ein Paar von Decodierschaltkreisen 750-520 und 750-521 decodiert die Pegel-Informationssignale ZLEV0100 - 2100/um geeignete Gruppen von Schreib-Freigabetastsignalen R/WFE010-210 und R/WLV010-710 für die Steuerliste 750-500 und die Adressliste 750-502 zu erzeugen. Der ZLEV-Pegelschalter 750-522 steuert somit den Pegel,auf dem die F/E-Bits gesetzt oder zurückgestellt werden(und den Pegel in der Adressliste 750-502 auf welchem neue Adressen während eines Listen-Zuordnungs-Operationszyklus eingeschrieben werden.
Wie aus der Figur ersichtlich legt die erste Stellung des ZLEV-Schaiters 750-522 bei ihrer Auswahl an den Ausgangsanschlüssen Signale 0LDRR0100-210 von der Liste 750-500 an. Die zweite Stellung des Schalters 750-522 legt bei ihrer Auswahl an den Ausgangsanschlüssen Signale RLEVR0-R2 von einem Pegelregister 750-524 an. Das Pegelregister 750-524 wird benutztem die letzte Gruppe von Pegel-Treffersignalen zu sichern, die durch die Treffer-Fehltreffer-Pegel-Schaltkreise des Blockes 750-512 erzeugt werden. Dies gestattet die Verteilung des Treffer-Pegelwertes an andere Abschnitte der Puffereinheit 750 für die nachfolgende Benutzung fz.B.Signale RHITLEVO-2).
Die dritte Stellung des Schalters 7 50-522 legt bei ihrer Auswahl Signale LEVR0-R2 an den Ausgangsanschlüssen an, die durch die Schaltkreise des Blockes 750-512 erzeugt werden. Der Schalter 750-522 wird durch Signale von Steuer-Flip-Flops innerhalb des Blockes 7 50-526 gesteuert (z.B.Signale FBYPCAC und DIRBUSY).
030024/0833
Wie aus der Figur ersichtlich, werden die Komplementwerte der Pegelsignale, die in dem Register 750-524 entsprechend den Signalen RHITLEVOIO-2IO gespeichert sind, über eine Gruppe von UND-Gattern an Steuerschaltkreise innerhalb des Abschnittes 750-9 angelegt.
Während des Such-Operationszyklus stellen die Treffer/Fehltreffer-Pegelschaltkreise fest, welcher Pegel,sofern einer vorhanden ist, eine Adresse enthält, die mit der ZAC-Adresse übereinstimmt. Im Falle einer Übereinstimmung wird das Signal RAWHIT1OO auf den Binärwert "1" gesetzt, woraufhin Gruppen von Treffer-Pegelsignalen ZCD010-210 und HITLEVC7O1O-7 21O durch einen Codierschaltkreis erzeugt werden. Die Signale werden in Übereinstimmung mit dem Zustand der F/E-Bitsignale ZFE010-710 erzeugt. Dies bedeutet, daß bei einem Auftritt eines Pufferspeicher-Treffers auf einem vorgegeben Pegel das F/E-Bit auf den Binärwert "1" gesetzt werden muss. Wie zuvor erwähnt, zeigt der Binärwert "0" das Vorhandensein eines leeren Blockpegels an. Jeder Codierschaltkreis umfaßt UND/ODER-Gatterschaltkreise herkömmlicher Art, die die Pegelsignale in Übereinstimmung mit folgender Bool' scher Gleichung erzeugen: Li= _ J E ZHTj-ZFEj. Zusätzlich können die Signale ZCDOI0-210 ebenfalls aus den Pegelsignalen ZNICLEVOOO-2IOO erzeugt werden, die von dem Abschnitt 750-9 während des Abruf von Befehlen geliefert werden.
Der Block 750-512 umfaßt ebenfalls einen Alternativ-Trefferschaltkreis, der bei der Zuordnung eines 8-Wort-Blockes ebenfalls benutzt werden kann, indem ein Alternativ-Treffersignal ALTHIT100 und eine Gruppe von Signalen ALTHITLEV010O-210O erzeugt werden,um in das Register 750-504 anstatt der zyklischen Zuordnungssignale C7RR0100-2100 geladen zu werden. Für den Zweck der vorliegenden Erfindung kann eine derartige Anordnung als herkömmlich angesehen werden,und es sei diesbezüglich auf die US-PS 3.820o78 verwiesen.
Q3002W0833
Wie aus der Figur ersichtlich, erzeugen die Schaltkreise des Blockes 7 50-512 andere Treff er signale HITT0TB100, HITT0C7100 und HITT0IC100. Diese Signale werden von dem Signal RAWHIT100 gemäß folgenden Bool'sehen Gleichungen abgeleitet:
1. HITT0C7100 = RAWHIT100 · BYPCACOOO.
2. HITT0IC100 = HITTC7100.
3. HITT0TB100 = RAWHIT100·BYPCACOOO+PRERDI00-BYPCACiOO.
Die Schaltkreise des Blockes 750-512 erhalten die Pufferumgehungssignale BYPCACOOO und BYPCAC100 von dem Block 7 50-526 zugeführt. Wie erwähnt,umfaßt dieser Block eine Anzahl von Steuerzuständs-Flip-Flops, die Signale für die Fortschaltung des Abschnittes 750-5 für verschiedene erforderliche Operationen bei der Verarbeitung der verschiedenen Typen von Anweisungen erzeugen. Ferner enthält der Block 750-512 Logikschaltkreise für die Erzeugung der erforderlichen Steuersignale während solcher Operationen. Im Hinblick auf die vorliegende Erfindung können diese Schaltkreise in herkömmlicher Weise verwirklicht sein. Zur.Vereinfachung der Beschreibung sei daher nur eine kurze Beschreibung gegeben und die Bool'sehen Gleichungen aufgeführt, wodurch die bestimmte Steuerzustands-Flip-Flops verknüpfenden Steuerlogikschaltkreise erkennbar werden.
030024/0833
Steuerzustands-Flip-Flops
Das FJAM1-Flip-Flop wird aufgrund eines Trefferzustandes am Ende eines Listen-Suchzyklus für eine Doppel-Leseanweisung gesetzt. Das Flip-Flop gibt das untere Adressbit in dem Register 750-32 wieder und gestattet den Zugriff auf das zweite Wort von der Pufferspeichereinheit 750-300 im Falle einer Doppel-Leseanweisung. Ferner wird das Flip-Flop aufgrund einer Einzel-Schreibanweisung gesetzt,um die Auswahl der RDAD-Stellung des ZDAD-Schalters 750-530 zu verursachen, wodurch die gleiche Adresse an die Pufferspeichereinheit 750-300 für ein weiteres Taktintervall angelegt wird. Bei einer nicht vorliegenden Haltebedingung (Signal [hoLDDMEM = 1) bleibt das FJAM1-Flip-Flop für einen Zyklus gemäß folgender Bool'scher Gleichung gesetzt: SET=FJAMI=REQCOMB·RAWHIT-BYPCAC.(RDDBL+WRTSNG)+ HOLDDMEM-FJAM2+H0LDDMEM-FJAM1.
Das FJAM2-Flip-Flop wird aufgrund eines Trefferzustandes am Ende eines Listen-Suchzyklus für eine Doppel-Schreibanweisung gesetzt. Das Setzen des FJAM2-Flip-Flops veranlaßt das Setzen des FJAM1-Flip-Flops am Ende des nächsten Taktintervalles. Der Steuerzustand des FJAM2-Flip-Flops zusammen mit demjenigen des FJAM1-Flip-Flops veranlaßt die Auswahl der RDAD-Stellung des ZDAD-Schalters 750-530,wodurch die richtige Adresse für das Einschreiben von Daten in die Pufferspeichereinheit 750-300 vorgegeben wird.
Das FJAM2-Flip-Flop bleibt ebenfalls für einen Zyklus gemäß folgender Bool'scher Gleichung gesetzt: SET= FJÄM2=REQCOMBO-RAWHIT·BYPCAC·WRTDBL+HOLDDMEM·FJAM2.
Ein Flip-Flop NRMPTC1 steuert direkt den ZDAD-Schalter 750-530 und wird in Übereinstimmung mit dem Zustand von Signalen gesetzt, die durch die anderen Steuerzustands-Flip-Flops erzeugt werden.
030024/0833
Das NRMPTC1 - Flip-Flop bleibt normalerweise für einen Zyklus gemäß folgender Bool'scher Gleichung gesetzt:
SET=NRMPTCI=(WRTDBL·REQCOMBO·RAWHIT·BYPCAC)+ FJAM2+SETFJAM1+REQCOMBO·(RDTYPE· BYPCAC+RDTYP·RAWHIT)· (FJAM1«FJAM2+
HOLD).
Das FDIRASN-Flip-Flop gibt einen Listen-Zuordnungs-Opperationszyklus vor, in welchem eine Zuordnungsadress-Eintrittsstelle in die Adressliste 750-500 im Falle von Fehltrefferzuständen oder Puffer-Umgehungsoperationen bei Anweisungen vom Lesetyp eingeschrieben werden.
Das FDIRASN-Flip-Flop wird für einen Zyklus gemäß folgender Bool' scher Gleichung gesetzt:
SET=FDIRASN=REQCOMBO'RDTYP.(BYPCAC+RAWHIT).
Das FICENAB-Flip-Flop gestattet das Laden des Befehlsregisters und wird für einen Zyklus aufgrund eines halben Taktimpulses T gemäß folgender Bool'scher Gleichung gesetzt:
SET = FHT100.
Das FRCIC-Flip-Flop wird für einen Zyklus aufgrund eines halben Taktimpulses T gemäß folgender Bool'scher Gleichung gesetzt:
SET = FJAMZNICLEV:
030024/0833
Steuerlogik-Signale
1.Das Signal ALTHIT zeigt das Vorliegen eines Pseudo-Trefferzustandes an. ALTHIT=ALTLEV0+ALTLEV1+...ALTLEV7.
2.Die Signale ALTHITLEVO, ALTHITLEV1 und ALTHITLEV2 bilden einen 3-Bit-Code, der den Pegel festlegt, auf welchem ein PseudoTreff erzustand aufgetreten ist. Die Signale sind folgendermaßen codiert:
a. ALTHITLEV0=ALTLEV4+ALTLEV5+ALTLEV6+ALTLEV7.
b. ALTHITI.EV1=ALTLEV2 +ALTLEV3+ALTLEV6 +ALTLEV7 C. ALTHITLEV2«ALTLLV1+ALTLEV3+ALTLEV5+ALTLEV7.
3. Die Signale ALTLEVO bis ALTLEV7 zeigen an, welcher der 8 Pegel einenPseudo-Trefferzustand festgestellt hat, sofern überhaupt einer aufgetreten ist.
a. ALTLEVO=ZHTo·ZFEO.
b. ALTLEV7=ZHT7·ZFE7.
4. Das Signal DIRADDE ist ein Freigabesignal für den Decodierer 750-521, wodurch die Erzeugung von Schreib-Tastsignalen gestattet wird, die an die Adressliste 750-500 angelegt werden. DIRADDE=NOGO·FDIRASN.
5. Das Signal DIRBUSY zeigt an, wenn die Listen 750-500 und 750-502 belegt sind.
DIRBUSY=FLSH+FJAM2+FJAM1+FDIRASN.
6. Das Signal FEDCODE ist ein Freigabesignal für den Decodierer
7 50-520, das die Erzeugung von Schreib-Tastsignalen gestattet, die der Steuerliste 7 50-500 zugeführt werden. FEDCODE=FDIRASN.NÖGÖ.
7. Das Signal FORCEBYP gestattet die Ausführung einer Puffer-Umgehungsoperation .
FORCEBYP=FSKIPRR+FBYPCAC.
8. Das Signal GSRCH zeigt an, wenn ein Such-Opperationszyklus stattfindet.
GSRCH=RDDBLZCDE'FICENAB-FRCIC.
9. Die Signale HITLEVC70, HITLEVC71 und HITLEVC7 2 geben einen 3-Bit -Code vor, der den Pegel festlegt, auf dem der Trefferzustand aufgetreten ist.
a. HITLEVC70=HITLEV4+HITLEV5+HITLEV6+HITL£V7.
b. HITLEVC71=HITLEV2+HITLEV3+HITLEV6+HITLEV7. C. HITLEVC72=HITLEV1+HITLEV3+HITLEV5+HITLEV7.
1o. Die Signale HITLEVO bis HITLEV7 zeigen an, welcher der 8 Pegel einenTrefferzustand festgestellt hat, sodern überhaupt einer festgestellt wurde.
a. HITLEVO=ZFEO'ZHTO.
b. HITLEV7=ZFE-ZHT7.
11. Das Signal RAWHIT zeigt die Fteststellung eines Trefferzustandes an.
RAWHIt=HITLEVO+...+HITLEV7.
12. Die Signale HITT0C7 und HITTOIC zeigen jeweils bestimmten Schaltkreisen innerhalb des Abschnittes 750-9 die Feststellung eines Trefferzustandes an:
HITT0C7=HITT0IC=RAWHIT·BYPCAC.
13.Das Signal HITTOTB zeigt die Feststellung eines Trefferzustandes oder einer Vorauslese-Anweisung den tlbergangsblock-Pufferschaltkreisen im Umgehungsmodus an.
HITTOTb=RAWHIT·BYPCAC+PRERD·BYPCAC.
Q3002W0833
14. Das Signal LDRAD gestattet das Laden des RDAD-Registers 750-532.
LDRAD=HOLDDMEm.
15. Das Signal LDRDRIN gestattet das Laden des RDRIN-Registers 750-534.
LDRDRIN=FDIRASn.
16. Das Signal RDDBLZCDE wird benutzt,um den ZCD-Schalter 7 50-306 im Falle einer Doppel-Leseanweisung freizugeben, RDDBLZCDE=FICENAB·(FDIRASN+FJAM1+FJAM2).
17. Das Signal REQCOMBO zeigt das Vorliegen einer Pufferspeicheranforderung an.
REQCOMBO=NOGO·HOLDDMEM· CANCELC·DREQCAC.
18. Die Signale ZCDO, ZCD1 und ZCD2 werden benutzt( um die
operation des ZCD-Schalter 7 50-306 zu steuern.
ä.~ ZCD0=ZCDL4+ZCDL5+ZCDL6+ZCDL7+ZNICLEV0·
ZCDICENAB+ RDDBLLO. b. ZCD1=ZCDL2+ZCDL3+ZCDL6+ZCDL7+ZNICLEV1·
ZCDICENAB+RDDBLLl. C. ZCD2=ZCDL1+ZCDL3+ZCDL5+ZCDL7+ZNICLEV2· ZCDICENAB+RDDBLL2
worin der Ausdruck ZCDLi für den Ausdruck ZCDLEVi steht.
19. Das Signal ZFEDATWT1 ist ein Daten-Schreibtastsignal,das zum Einschreiben der F/E-Bitsignale FEDAT0100 und FEDAT1100 in die Liste 750-500 verwendet wird. ZFEDATWRT1=FDIRASN·ZDAD31.
20. Das Signal FEDAT0100 entspricht dem ersten F/E-Bit. FEDAT01OO=FBYPCACOOO+FALHIT100.
080024/0833
21. Das Signal FEDAT1100 entspricht dem zweiten F/E-Bit. FEDAT110O=FALTHITI00+FBYPCACOOO.
22. Das Signal SELZDADC1 steuert die Operation des ZDAD-Schalters 750-530.
SELZDADC1=NRMPTC1.
23. Das Signal RWRR ist ein zyklisches Schreibsignal, das zum Einschreiben der RR-Bitsignale zurück in die Liste 750-500 verwendet wird.
RWRR - FDIRASN-NOGO-ICLOCK.
Es ist aus der Figur ersichtlich, daß die verschiedenen decodierten Anweisungssignale durch einen Decodierschaltkreis 750-528 aufgrund von Signalen erzeugt werden, die an die DMEM-Leitungen 0-3 durch den Prozessor 700 angelegt v/erden. Der Decodierer 750-528 wird durch ein Signal von der Leitung DREQCAC freigegeben. Die decodierten Anweisungssignale (z.B. WRTDBL, WRTSNG, PRERD, RDTYPE) werden zusammen mit anderen Steuersignalen wie beispielsweise HOLDDMEM und FSKIPRROO und jenen Signalen der Leitungen CANCELC und BYPCAC den Eingängen der Schaltkreise des Blockes 750-526 zugeführt.
030024/0833
Befehlspufferabschnitt 750-7
Dieser Abschnitt nimmt Speicherdaten und Befehle von den DFS-Leitungen auf, die zu dem Prozessor 700 über den ZDI-Schalter 7 50-312 und den ZIB-SDhalter 7 50-314 übertragen werden. Die Speichersignale werden in ein RDFS-Register 7 50-702 über eine Stellung des Schalters 750-700 geladen.
Speicherdaten,die in Folge eines Fehltrefferzustandes abgerufen werden, werden beim Empfang über die RDFS-Stellung 0 eines ZDIN-Schalters 750-708 mit vier Stellungen an den ZDI-Schalter 750-312 angelegt. Im Falle einer Quad-Ladeanweisung werden die Speicherdaten in den LQBUF-Puffer 7 50-706 mit vier Speicherplätzen geladen, wenn das Signal LQBUF auf den Binärwert "1" gesetzt ist. Die Schreib/Lese-Adresssignale WRTBUFO10-110/RDBUF01ΟΙ 10 des Abschnittes 750-112 steuern das Schreiben und Lesen von Daten in und aus den Speicherplätzen des Puffers 750-706.
Die in dem LQBUF-Puffer 7 50-706 gespeicherten Speicherdaten werden sodann zu dem ZDI-Schalter über die RLQBUF-Steilung 2 des ZDIN-Schalters 750-708 übertragen.
Im Falle einer Doppel-Leseanweisung wird das gerade Wort des Paares in ein REVN-Register 750-710 übertragen. Danach wird das gerade Wort zu dem ZDI-Schalter 7 50-312 über die Stellung 1 des ZDIN Schalter 7 50-708 zur Bearbeitung einer ungeraden Doppel-Leseanweisungsanforderung oder beim Empfang eines RD-EVEN-Signales vom Prozessor 700 übertragen.
Wie aus der Figur ersichtlich,wird jedes Speicher-Datenwort ferner in das RDFSB-Register 7 50-712 geladen und danach in die Pufferspeichereinheit 750-300 über den ZCDIN-Schalter 750-304 unter dem Pegel eingeschrieben, der durch den Inhalt des RADR-Registers 750-32 festgelegt ist.
930024/0833
Im Falle von Befehlsübertragungen wird jeder von dem Speicher erhaltende Befehl in einen der vier Speicherplätze eines Befehlspuffers IBUF1 bzw. IBUF2 innerhalb des Paares von Befehlspuffern 750-715 und 7 50-717 geladen. Die IBUF1- und IBUF2 Puffer 7 50-715 und 750-717 werden benutzt, um bis zu 2 Blöcke mit vier Worten zu piffern, auf die in dem Speicher aufgrund einer IF1- bzw. IF2-Anweisung, für die ein Trefferfehlzustand festgestellt worden istfZugriff genommen werden kann.
Die Befehle werden in den Speicherplatz unter der Steuerung von Schreibtastsignalen flBUFI/|IBUF2 der Puffer 750-715 und 750-717 eingeschrieben, die durch die Signale(wRTBUFOl00-1100 festgelegt werden. Lese-Steuersignale (RDBUFO100-1100 gestatten das Auslesen solcher Befehle für eine übertragung zu dem Prozessor 700 immer dann, wenn der durch die Signale fZEXT0100-1100 festgelegte IBUF1- bzw. IBUF2-Speicherplatz einen Befehl enthält. Der Befehl wird zu dem Prozessor 700 über die Stellungen 1 oder des Schalters 750-720 und die ZRIB-Stellung des ZIB-Schalters 7 50-314 übertragen.
Die IBUF1- und IBUF2-Puffer 750-715 und 750-717 legen Ausgangs-Gültigkeitsignale IBUF1V100 unf IBUF2V100 an IBUFREADY-Schaltkreise des Blockes 750-722 an. Diese Schaltkreise setzen die Leitung IBUFRDY auf den Binärwert "1" wodurch angezeigt wird, daß wenigstens ein Befehl in dem I-Puffer adressiert ist
, Fig.
(laufender Befehlsblock). Wie aus der-·-ersichtlich,empfangen die IBUFREADY-Schaltkreise Eingangssignale (beispielsweise USETBRDY, IFETCHRDY) von den Steuerschaltkreisen in dem Abschnitt 750-9.
Befehlszählerabschnitt
Dieser Abschnitt speichert Puffer-Adresssignale (24-33) in einem von zwei Befehlsadressregistern (RICA/RICB) 7 50-900 und 750-902,um den nächsten Befehl anzuzeigen(auf den zuzugreifen ist.
Ü30024/0833
Die Puffer-Adresssignale 24-33 werden in das Befehlsregister RICA/RICB geladen, das nicht benutzt wird, wenn eine IF1-Anweisung von dem Prozessor 700 empfangen wird. Die Pufferadresse wird über die RADO/Stellung des ZDAD-Schalters 750-530 und eine ZDAD-Stellung 0 des ZICIN-Schalters 7 50-904 übertragen.
Jedesmal wenn der Prozessor 700 Zugriff zu einem Befehl nimmt, wird der Inhalt des Befehlsregisters RICA/RICB,der über eine Stellung des ZIC-Schalters 750-906 ausgelesen wird, durch einen Erhöhungsschaltkreis 7 50-908 um 1 erhöht. Der erhöhte Inhalt wird zu dem Befehlsregister RICA/RICB über die RNIC-Stellung 1 des ZICIN-Schalters 750-904 zurückgeführt.
Wie aus der Figur ersichtlich,speichert jedes Befehlsregister 2 Pegelfelder für den Abruf erster und zweiter Befehlsblöcke aufgrund von IF1- und IF2 Anweisungen. Die zwei Paare von Pegelfeldsignalen werden unterschiedlichen Stellungen eines Doppelkanalschalters 750-910 mit vier Stellungen zugeführt. Die ausgewählten Pegelsignale ZNICLEV0100-2100,die als Eingangssignale dem Block 750-512 zugeführt werden, werden benutzt,um die
Operation des ZCD-Schalters 750-306 zu steuern und auf Befehle Zugriff zu nehmen, die durch das Befehlsregister RICA/RICB festgelegt sind. Die Pegel^/f eldsignale entsprechen Signalen 1 HITLEVC70100-2100 ,die durch Schaltkreise des Blockes 750-512 erzeugt werden. Diese Signale werden in eines der Befehlsregister nach einem Listen-Zuordnungs-Operationszyklus geladen.
Zusätzlich zu den Pegelfeldsignalen speichern die RICA/ und RICB-Befehlsadressregister andere Signale/die für die verschiedenen Steuerzwecke benutzt werden, was in dem erforderlichen Ausmaß noch zu erläutern sein wird.
Die von dem ZDAD-Schalter 7 50-530 ankommenden Pufferadresssignale werden durch einen weiteren Erhöhungsschaltkreis 750-912 um 1
erhöht. Die erhöhten Adresssignale werden in das RICA/RICB-Befehslregister über die INC-Stellung 3 des ZICIN-Schalters
030024/0833
750-904 geladen. Die am wenigsten signifikanten 2 Bits 32 und der Pufferspeicheradresse bilden die IBUF1- oder IBUF2-Adresse (d.h. die Signale ZEXT0100-1100),um die Befehlsblöcke auszulesen.
Es sei darauf verwiesen, daß das Paar von Pegelfeldsignalen LEV1 und LEV2 von anderen Ausgängen des Schalters 7 50-910 als Eingangssignale einem Paar von Vergleichsschaltkreisen 750-912 und 750-914 zugeführt wird. Die Schaltkreise 750-912 und 750-914 vergleichen die Pegelsignale LEV 1 und LEV2 des laufenden Befehlsblockes von dem Schalter 7 50-910 mit den Eingangs-Pegelsignalen C7RR0100-2100 entsprechend dem zyklischen Zählstand für den nächsten verfügbaren Block. Ferner erhält der Vergleichsschaltkreis 750-912 als Eingangssignale Speicherpegelsignale RTBLEV0100-2100 und Befehlspegelsignale ZNICLEV0100-2100 von dem Schalter 750-910 zugeführt,um zusätzlich zu dem zuvor erwähnten Vergleich einen Vergleich durchzuführen. Die Pufferspeicher-Adresssignale werden durch einen Erhöhungsschaltkreis 750-918 um vier erhöht und als Eingangssignale den zyklischen Umgehungssteuerschaltkreisen des Blockes 750-916 zugeführt. Diese Schaltkreise erhalten als ein weiteres Paar von Eingangssignalen die Eingangs-Pufferadresssignale 24-30 von dem ZDAD-Schalter 750-530 und die Pufferadresssignale des laufenden Befehlsblockes von dem ZIC-Schalter 750-906 zum Vergleich durch darin enthaltene Schaltkreise zugeführt.
Die Ergebnisse des Vergleichsder Paare von Pufferadresssignalen und Pegelsignalen werden in anderen Schaltkreisen innerhalb der zyklischen Umgehungssteuerschaltkreise des Blockes 750-916 miteinander kombiniert. Die Schaltkreise des Blockes 750-916 erzeugen aufgrund von decodierten Signalen eines Decodierschaltkreises75O-922 Ausgangs-Steuersignale,die Konflikte bei der Adressierung vermeiden.
Die Ausgangs-Steuersignale des Blockes 7 50-916 werden Eingängen von Schaltkreisen eines IC-Steuerblockes 7 50-920 zugeführt.
D3002W0833
Zusätzlich erhalten die Steuerschaltkreise des Blockes 750-920 die Ergebnisse der Decodierung der Anweisungssignale zugeführt, die an die DMEM-Leitungen durch den Decodierschaltkreis 7 50-922 angelegt werden, wenn dieser durch ein Signal von der Leitung DREQCAC freigegeben ist. Zusammen mit den anderen Signalen der Abschnitte 750-1 und 750-5,die ebenfalls dem Block 750-920 zugeführt werden , erzeugen die Steuerschaltkreise dieses Blockes Adressen- und Steuersignale für den Fortschalteabschnitt 750-9 für die für die Verarbeitung bestimmterArten von Anweisungen (z.B. IF1, IF2 und LDQUAD) erforderlichen Operationszyklen.
Der Block 750-920 enthält eine Anzahl von Steuerzustands-Flip-Flops und Logikschaltkreisen für die Erzeugung der erforderlichen Steuersignale. Aus den gleichen Gründen,wie im Zusammenhang mit dem Abschnitt 750-5 erwähnt, sei nur eine kurze Beschreibung gegeben, und es seien die Bool1sehen Gleichungen für bestimmte Zustands-Flip-Flops und Steuerschaltkreise angegeben.
Steuerζustands-Flip-Flops
Das Flip-Flop FABCURLEV1 definiert den laufenden Pegel für das RICA/RICB-Befehlsregister. Dieses Flip-Flop wird gesetzt und zurückgestellt aufgrund eines Zeittaktsignales T in Übereinstimmung mit den folgenden Bool'sehen Gleichungen. Der Setz-Zustand übersteuert hierbei den Rückstell-Zustand. Wenn das Signal FA/FBCURLEV den Binärwert "0" aufweist, so wählt es den Pegel 1 aus und im Binärzustand "1" wählt es den Pegel 2 aus.
SET » CECODEIFl-F-PPIMEIS .[HOLDDMEM- [CANCELC· ZDADOB-ZDAD09-HIT-FACTVRICIOO/OOO + ZEXTO-ZLXTl-RDIBUF-HOLDEXECRDIBUF-FA/FBCURLEVOOO- DLCODELDUUAD-FLDQUAD-DECODEEIS-FACTVRIcIOOZOOO'
+ ZEXTO-ZEXTl-FLDQUAD-RDIBUF-HGLDEXECRDIBoF FACTVRICIOO/OOO-NOGO.
030024/0833
RESET- DECODEIFl · FFPIKEIS ·[ HOLDDMEM- [CANCELC FACTVRICl O 0/0 O O + DECODELDQUAD · TCÄNCELC·FACTVRICl00/000 + ZEXTO-ZEXTl· DECCDELDUUAD·FLDQUAD·DECODEIFl-FA/PBCMPLEV100■ FACTVRICOOO/IOO-RDIBUF-HOLDEXECRDIBUF·NOGO.
Das Flip-Flop FACTVRIC legt das gerade aktive Befehlsregister RICA/RICB fest. Wenn das Flip-Flop auf "1" gesetzt ist, so wird das RICA-Register festgelegt und wenn es auf "O" gesetzt ist, so wird das RICB-Register festgelegt. Dos Flip-Flop wird gesetzt und zurückgestellt aufgrund eines Zeittaktimpulses T in Übereinstimmung mit den folgenden Bool'sehen Gleichungen:
FACTVRIC =■ FACTVRIC · TGLACTVRIC wobei TGLACTVRIC = DECODEIFl-[HOLDDMEM-[CANCELC·
FFPIMEIS + FNEWIFl-NOGO.
FACTVRIC = FACl VRIC 'TCLACTVillC wobei, TGLACTVRIC = (DECODEIFl +[HOLDDMEM + [CANCELC +
(FNLWIFl + NÜGÖ)
Das Flip-Flop FCPUWRTREQ definiert das Zeitintervall, während welchem Prozessordaten in den Pufferspeicher zu schreiben sind. Es wird gesetzt und zurückgestellt aufgrund eines Taktimpulses T gemäß den folgenden Bool'sehen Gleichungen:
Setzen = (DECODEWRTSNGL + DECODEWRTDBL) 'HIT- (HOLDDLlEM
• [CANCELC.
Zurück-
FWRTDBL·HOLDCACHECPUWRTSEQ. stellen
Das Flip-Flop FDBLMISS definiert einen Trefferfehlzustand für eine Doppel-Leseanweisung und es wird benutzt(um die ZDIN-Stellung des ZDI-Schalters 750-312 während des auf die Datenaufsuche folgenden Zyklus auszuwählen. Es wird gesetzt und zurückgestellt aufgrund eines Taktimpulses T in überein-
03002A/0833
Stimmung mit folgenden Bool'sehen Gleichungen:
Setzen = (DECODERDDBL + DECODERDRMT) · [HOLDDMEM·
(CANCELC-MISS.
Zurück- = FRDMISS.
stellen
Das Flip-Flop FEVENODD legt fest, welches Wort des Wortpaares des Prozessors 700 zu warten hat, wenn ein Fehltrefferzustand bezüglich einer Einzel-Leseanweisung vorliegt. Das Flip-Flop definiert ferner die Reihenfolge,in der die Datenworte zu dem Prozessor 700 im Falle eines Fehltrefferzustandes bezüglich
einer Doppel-Leseanweisung zurückzuführen sind.
Ferner wird das Flip-Flop während eines Doppel-Lese-Trefferzustandes benutzt,um Zugriff auf das zweite Datenwort zu nehmen. Es wird in Abhängigkeit von einem Zeittaktimpuls T gemäß folgenden Bool1sehen Gleichungen gesetzt und zurückgestellt:
Setzen = (DECODERDSNGL + DECODEIFl.FFPIMEIS)·
IHOLDDMEM-[CANCELC-ZDAD09 + DECODERDDBL·
[HOLDDMEM·fCANCELC-DSZl.
Zurück- = (ÜECODERDSNCL + DECODEIFl)·IHflLDDMEM.
stellen
[CANCELC- ZDAD09 + DECODEPDDBL· [HOLDDMEM·
[CANCELC- DSZl + DECODERDRMT· ikOLDDMEM·
[CANCELC.
Das Flip-Flop FFPIMEIS legt fest, daß der letzte Prozessorzustand ein FPIMEIS Zustand war, was bedeutet, daß die IF1-Anweisung auf den DMEM-Leitungen eine Anforderung nach zusätzlichen
EIS-Deskriptoren ist. Dieses Flip-Flop wird aufgrund eines Taktimpulses T gemäß folgenden Bool'sehen Gleichungen gesetzt und zurückgestellt:
030024/0833
Setzen = FPIMEIS
Zurück- = DECODEIF1· [CANCELC· [HOLDDMEM. stellen
Das Flip-Flop FH0LDIF1 legt fest, wenn der Prozessor 700 aufgrund eines IF1-Fehltrefferzustandes anzuhalten ist, so daß,wenn der Befehl von dem Speicher empfangen wird, das laufende Befehlsregister RICA/RICB durch das Flip-Flop FDATARECOV fortgeschrieben werden kann. Das Flip-Flop wird aufgrund eines Taktimpulses T gemäß folgenden Bool1sehen Gleichungen gesetzt:
Setzen = DEC0DEIF1 · IFPIMEIS- [HOLDDMEM· [CANCELC -MISS ,
Zurück- = FNEWIF1-N0G0 + FDATAARECOV. stellen
Das Flip-Flop FINHRDY wird benutzt,um die Signalisierung eines IBUFRDY-Zustandes an den Prozessor 700 zu unterdrücken, wenn ein Konflikt zwischen dem Befehlspegel (IC) und dem Speicher-Datenpegel zu dem Zeitpunkt auftritt, in dem der Prozessor 700 den von dem Pufferspeicher in das Register RIRA/RIRB geladenen Befehl abruft. Es wird aufgrund eines Taktimpulses T gesetzt und bedingungsunabhängig beim nächsten Taktimpuls T zurückgestellt, wenn kein Setzzustand vorliegt. Das Setzen erfolgt gemäß folgender Bool'scher Gleichung:
Setzen = SETIRTERM-readIBUF· (HOLDDMEM-NÖGÖ. wobei SETIRTERM = CMPDATAICLEV + MEMWRTREQ-
(ZEXTO-ZEXT1 -IF2- (JCANCELCMD +
DEC0DEIF1-FFPIMEIS + FINHRDY).
Rückstellen = Setzen.
Das Flip-Flop FJAMZNICLEV wird benutzt um die Pegelsignale ZNICLEVOOO-2100 des nächsten Befehls an die Steuereingänge des ZCD-Schalters 750-306 (z.B.Signale ZCD010-210) nach einer
030024/0833
IF1-Anweisung anzulegen, die nicht das letzte Wort in dem Block betraf. Dieses Flip-Flop wird aufgrund eines Taktimpulses T gemäß der nachstehenden Bool1sehen Gleichung gesetzt. Die Rückstellung erfolgt beim Auftritt des nächsten Taktimpulses T.
Setzen = DECODEIF1-FFPIMEIS-HIT- [HOLDDMEM- CCANCELC"
CCANCELC-(ZDADO8-ZDADO9).
Das Flip-Flop FNEWIF1 definiert den Zyklus,nach dem eine IF1-Anweisung von dem Processor 700 empfangen wurde. Es wird für einen Zyklus aufgrund eines Taktimpulses T gemäß folgender Bool'scher Gleichung gesetzt:
Setzen = DECODEIF1 -FFPIMEIS- [HOLDDMEM- [CANCELC.
Das Flip-Flop FRDIBUF wird benutzt,um anzuzeigen, daß ein Signal auf der Leitung RDIBUF von dem Processor 700 während des letzten Operstionszyklus empfangen wurde. Es wird gemäß der nachstehenden Bool'sehen Gleichung gesetzt. Die Rückstellung erfolgt während des nächsten Zyklus bei Abwesenheit eines Setzzustandes .
Setzen = RDIBUF-HOLDEXECRDIBUF-NOGO.
Das Flip-Flop FRDMISS wird benutzt, um den Prozessor 700 bei der Feststellung eines Trefferfehlzustandes für irgendeinen Lese-Anweisungstyp anzuhalten. Es wird aufgrund eines Taktimpulses T gemäß folgenden Bool'sehen Gleichungen gesetzt und zurückgestellt,
Setzen = (DECODERDSNGL + (DEC0DEIF1-FFPIMEIS) + DECODERDRMT
+ DECODERDCLR + DECODERDDBL) · [HOLDDMEM· [CANCELS-MISS.
Zurück- = FDATARECOV + FNEWIfI-NOGO. stellen
030024/0833
Das Flip-Flop FRDREQ legt fest, wenn das zweite Wort,das aufgrund einer RDDBL-Anweisung bei einem Trefferzustand abgerufen wird, aus dem Pufferspeicher auszulesen ist. Es wird aufgrund eines Taktimpulses T gemäß folgenden Bool1sehen Gleichungen gesetzt und zurückgestellt:
Setzen = DECODERDDBL-HIT- [HOLDDDMEM- LCANCELC.
V? = [.
stellen
D as Flip-Flop FDATARECOV sperrt die Erhöhung des Befehlsregisters RICA/ RICB,wenn die IF1-Anweisung das letzte Wort in dem Block betrifft und die IF2-Anweisung gestrichen ist. Es wird aufgrund eines Tsktimpulses T gemäß folgenden Bool'sehen Gleichungen gesetzt und zurückgestellt:
Setzen = DATARECOV-FLASTINST- (HOLDDMEM· CCANCELC + DATARECOV • FLASTINST- [CANCELC- [.HOLDDMEM + DATARECOV-
FLASTINST.
Zurück- _ (HOLDDMEM·FDATARECOV.
stellen
03002A/0833
Steuerlogik-Signale
1. Das Signal FA/FBLEViVAL wird benutzt,um den Zustand einer ersten gültigen Bitposition des Befehlsregisters RICA/RICB zu definieren. Es wird beim Auftreten eines Taktimpulses T gemäß nachstehenden Bool'sehen Gleichungen gesetzt und zurückgestellt. Der Rückstellzustand übersteuert den Setzzustand.
a. FA/FBLEV1VALSET «= DECODEIFl-FFPIMEIS · IHOLDDMEM·
[CANCELC-FACTVRICIOO/OOO + DECODEIFl
•FFPIMEIS· [HOLDDI-IEM· [CANCELC■
ΕΪ£ΪΓ2· FACTVRICO00/10 0 + DECODELDQL'AD
• [HOLDDMEM [CANCELC FACTVRIC100/ 000.
b. FA/FBLEVIVAIRi:SET = DECODEIFl · FFPIMEIS ·l'HOLDDMEM·
[CANCELC-HIT-ZDAD08-ZDAD09· FACTVRICIOO/OOO + ZEXTO* ZEXTL DECODEIFl·DECODELDQUAD-FLDQUAD*
RDIBUF-HOLDEXECRDIBUF.FACTVRICOOO/ 100·FA/FBCMPLEVOOO-NOGO + ZEXTO-
ZEXTl·FLDQUAD-RDIBUF·HOLDEXECRDIBUF •FACTVRICIOO/OOO NOGO.
wobei RICA = FACTVRIC = 1 and RICB = FACTVRIC = 1.
2. Das Signal FA/FBLEV2VAL wird benutztem den Zustand einer zweiten gültigen Bitposition des Befehlsregisters RICA/RICB zu definieren. Es wird beim Auftreten eines Taktimpulses T gemäß folgenden Bool'sehen Gleichungen gesetzt und zurückgestellt:
a. FA/FBLEV2VALSET = DECODEIF2 .[HOLDDMEM-[CANCELC·
FACTVRICOOO/lOO.fTÖGÜ + DECODEIFl'
FFPIMEIS-IHOLDDMEM·[CANCELC. FACTVRIC000/100-EISIF2..
03002A/0833
b. FA/FBLEV2 VALRESET = DECODEIFl · FFPIMEIS · [HOLDDMEM·
[CANCELC'FACTVRICIOO/OOO + DECODELDQUAD·[HOLDDMEM· [CANCELC •FACTVRICIOO/OOO + ZEXTO·ZEXTl· DECODEIFl·DECODELDQUAD.FLDQUAD« FA/FBCURLEV-FACTVRICOOO/IOO· RDIBUF·HOLDEXECRDIBUF·NOGO. wöbet RICA = FACTVRIC = 1 und ricb = FACTVRIC » 1.
3. Die Signale fziBO und [ZIB1 steuern den ZIB-Schalter für die übertragung von Befehlen von dem Pufferspeicher 7 50 zu dem Prozessor 700 über die ZIB-Leitungen.
a. [ZIBO = IFETCHRDY-FNEWIFI.
b. [ZIB1 = IFETCHRDY.
4. Die Signale [ZDIO,[ZDI1 und [ZDI2 steuern den ZDI-Schalter für die übertragung von Befehlen und Daten von dem Pufferspeicher 750 zu dem Prozessor 700 über die ZDI-Leitungen. Das Steuersignal [ZDIO, das dem signifikantestens Bit des 3-Bit-Code entspricht, kann mit demBinärwert "O" vorgegeben werden, es sei denn die Bitpositionen 4-7 werden für Anzeigezwecke benutzt.
a. [ZDH = DATARECOV + FDMLMISS + RDEVEN.
b. |ZDI2 = RDIBUF/ZDI· (HITTOIC + FRDREQ).
5. Die Signale [ZICINO und [ZICIN1 steuern den ZICIN-Schalter zum Laden von Adresssignalen in die RICA- und RICB-Befehlsadressregister 7 50-900 und 7 50-902.
a. tZICINO = ALTCMD100-FDFN2HT· [HOLDDMEM.
b. [ZICIN1 = FDFN 1HT-FNEWIF1 + FDFN2HT.
030024/0833
6. Die Signale ENABRId und ENABRIC2 werden benutzt um das Laden der RICA-- und RICB-Register freizugeben.
a. ENABRICl = FHOLDIFl-FNCWIFl-TJAMZNICLEV·
[HOLDDMEM·FDATARECOV + FHOLDIFl DATARECOV.
b. ENABRIC2 » FINHRDY-SETINHRDY-DFn2HT
SETINHRDY = DFN2T · [MEMWRTREQ
(ZEXTO-ZEXT1-EXECIF2-[CANCLCMD +
FINHRDY + PSUEDOIFl + PSUED0IF2) +
CMPDATA/ICLEV].
7. Das Signal DATARECOV definiert das Zeitintervall,in dem neue Daten in die Prozessorregister (z.B. RDI oder RBIR) geladen worden sind und zu dem der Prozessor freigegeben ist. Dieses Signal wird durch ein Flip-Flop des Abschnittes 750-1 erzeugt, welches auf den Binärwert "1" aufgrund eines Taktimpulses T und bei der Feststellung einer Vergleichübereinstimmung gesetzt wird, wobei der Vergleich zwischen Adresssignalen ,die das angeforderte Wort festlegen,auf das der Prozessor 700 Zugriff zu nehmen hat,und zwischen Signalen stattfindet, die das zu der Puffereinheit 750 übertragene Wort vorgeben. Der Vergleich zeigt an, daß die Signale DATA, MIFS2, MIFS3, MIFS1 und DATAODD identisch zu den Signalen FHT, FHOLDTBO, FHOLDTB1, RADR32 und DOUBLEO^D sind
sLgnal FHOLDTBO = FRDMISS · LDTBVALID-
FIF2ASSIGN-FTBPTRO; Signal FHOLDTBl = FRDMISS·LDTBVALID-
FIF2ASSIGN·FTBPTRl;
Signal DOUBLEODD= FEVENODD - FDPFS ; und Signal DATA = FARDA + FDPFS.
Q3C02W0833
Detaillierte Beschreibung des Abschnittes 750-1
Figur 7a zeigt in näheren Einzelheiten verschiedene Blöcke des Abschnittes 750-1. Es sei darauf verwiesen, daß zum erleichterten Verständnis der vorliegenden Erfinduung die gleichen Bezugszeichen wie in Figur 4 verwendet wurden soweit es sich um übereinstimmende Elemente handelt. In vielen Fällen enthält ein einzelner in Figur 4 dargestellter Block verschiedene Schaltkreisgruppen für die Operationssteuerung desselben und/oder für die Erzeugung der zugeordneten Steuersignale. Daher sind einige Blöcke mit geeigneten Bezugszeichen als Teile in verschiedenen Blöcken des Abschnittes 750-1 enthalten.
Gemäß dieser Figur ist erkennbar, daß bestimmte Teile des Blockes 750-102 in näheren Einzelheiten dargestellt sind. Der Übergangsblockpuffer 750-102 umfaßt eine erste Gruppe von Schaltkreisen, um von dem Speicher aufgrund einer Leseanweisung vom QUAD-Typ empfangene Datenworte auf dem laufenden zu halten. Diese Schaltkreise umfassen mehrere getaktete Paarzähl-Flip-Flops/ sowie ein 4-Bit-Positionsregester 750-10200, einen Multiplexerschaltkreis 750-10202, mehrere NAND-Gatter 750-10204 bis 750-10210 und einen Decodierschaltkreis 750-10212. Es sei darauf verwiesen, daß ein Paarzähl-Flip-Flop für jeden Übergangspuffer-Speicherplatz vorgesehen ist.
Ferner umfaßt die erste Gruppe von Schaltkreisen mehrere getaktete Übergangsblock-Gültigkeits-Flip-Flops sowie ein 4-Bit-Positionsregister 7 50—0214. Die Ausgänge mit dem Binärsignal "1" eines jeden dieser Flip-Flops sind an entsprechende Flip-Flops innerhalb der Gruppe von 4 Paarzähl-Flip-Flops angeschlossen.
Aufgrund einer Quad-Leseanweisung wird ein erstes Wortpaar zu der Puffereinheit 750 gesendet. Danach folgt eine Lücke und sodann wird das zweite Wortpaar zu der Puffereinheit 750 gesendet. Das Paarzähl-Flip-Flop, das dem Übergangsblock-Puffer-
03002A/0833
Speicherplatz zugeordnet ist, der durch den Zustand der Signale MIFS2110 und MIFS 3110 festgelegt ist, wird über ein erstes UND-Gatter aufgrund des Taktsignales [CLKTO22 auf den Binärwert "1" umgeschaltet, wenn das Signal DATA0DD100 durch die Schaltkreise des Blockes 750-114 auf den Binärwert "1" gesetzt ist. Das Signal RESETTBV100 befindet sich anfänglich auf dem Binärwert "0",und der Decodierschaltkreis 750-10212 schaltet eines der ersten vier Ausgangssignale FETPC0100 bis SETPC3100 in Übereinstimmung mit dem Zustand der Signale MIFS 2110 und MIFS3110 von dem Schalter 750-128 um.
Das Paarzähl-Flip-Flop wird über den anderen Eingang des UND-Gatters auf dem Binärwert "1" gehalten, indem die diesem Eingang zugeführten Ubergangsblock-Gültigkeitssignale auf den Binärwert "1" gesetzt sind. Das durch den Decodierschaltkreis 750-10601 (z.B.Signale IN0100-IN3100) festgelegte geeignete Übergangsblock-Gültigkeitsbit-Flip-Flop wird über ein erstes UND-Gatter auf den Binärwert "1" gesetzt, wenn die Umschaltung des Erhöhungssignales INCTBIN100 auf den Binärzustand "1" aufgrund des Taktsignales [CLKTTO22 erfolgt.
Der Multiplexerschaltkreis 750-10202 wähltin Übereinstimmung mit den Signalzuständen DMIFS2100 und DMIFS3100 von dem Schalter 750-128 ein Paarzähl-Flip-Flop mit dem binären Ausgangssignal "1" aus, das dem NAND-Gatter 750-10204 zugeführt wird. Dadurch wird das NAND-Gatter 750-10204 veranlaßt, das Signal LAST0DD100 auf den Binärwert "0" zu setzen. Dies führt andererseits dazu, daß das NAND-Gatter 7 50-10206 das Signal LASTDTA0DD000 auf den Binärwert "1" setzt.
Wenn das nächste Datenwortpaar empfangen wird, so setzt das NAND-Gatter 750-10208 das Signal DATASGL000 auf den Binärwert "0". Hierdurch wird andererseits das NAND-Catter 750-1021 ~ s/eranlaßt, das Rückstellsignal RESETTBV1100 auf den Binärwert "1"
030024/0833
zu setzen. Der Decodierschaltkreis 750-10212 wird durch das Signal RESETTBV100 in die Lage versetzt, an einemder vier Ausgangsanschlüsse 4-7 den Binärwert "1" auszugeben. Hierdurch wird wiederum das entsprechende Ubergangsblock-Gültigkeits-Bit-Flip-Flop über das andere UND-Gatter zurückgestellt. Sobald das Übergangsblock-Gültigkeitsbit-Flip-Flop zurückgestellt wird, wird auch über das andere UND-Gatter das zugeordnete Paarzähl-Flip-Flop zurückgestellt. Es sei darauf verwiesen, daß eine derartige Umschaltung aufgrund des Taktsignales [CLKTO22 erfolgt.
Gemäß Figur 7a umfaßt die erste Gruppe von Schaltkreisen des Blockes 750-102 ferner mehrere NAND-Gatter 750-10216 bis 750-10222, von denen jedes so geschaltet ist, daß es ein verschiedenes "1" -Ausgangssignal von dem Register 750-10214 zugeführt erhält. Die binären "1"-Ausgangssignale FTBV0100-FTBV3100 werden ebenfalls den Steueranschlüssen der über gangsblock-Adressvergleichschaltkreise 750-132 bis 750-136 zugeführt.
Jedem der NAND-Gatter 750-10216 bis 750-10222 wird ebenfalls ein unterschiedliches Signal IN0100 bis IN3100 von dem Decodierschaltkreis 750-10601 zugeführt. Die Ausgangssignale dieser Gatter werden an ein UND-Gatter 7 50-10224 angelegt. Die Signale VALIDOOO bis VALID3000 werden benutzt,um anzuzeigen, wenn ein Ubergangsblock-Registerspeicherplatz zum Einschreiben verfügbar ist. Dies bedeutet, daß,wenn ein ausgewähltes Ubergangsblock-Gültigkeitsbit-Flip-Flop sich im rückgestellten Zustand befindet, das UND-Gatter 750-10224 das Signal VALIDIN000 auf dem Binärzustand "1" hält.
Das Signal VALIDIN000 versetzt ein weiteres UND/NAND-Gatter 750-10226 in die Lage, ein Steuersignal RTB100 auf den Binärwert "1" während der zweiten Hälfte einesOperationszyklus (z.B. das Signal FHT020 besitzt den Binärwert "1") im Falle einer Leseanweisung (z.B, Signal DREQREAD100 besitzt den Binärwert "1") zu setzen.
Q3002W0833
Dies geschieht zu einem Zeitpunkt,wo eine Listenzuordnung nicht durchgeführt wird (z.B.Signal FLDTBVALIDOOO besitzt den Binärwert "1") .
Gemäß Figur 7a wird das Steuersignal (rTBIOO über einen Treiberschaltkreis 75010228 einem Decodierschaltkreis 750-10230 zugeführt. Das Steuersignal RTB110 setzt über den Decodierschaltkreis 750-10230 ein geeignetes Ausgangssignal (rtB0100-{RTB3100 auf den Binärwert "1", was durch den Zustand der Signale FTBPTR0100 und FTBPTR1100,die über ein Paar von Treiberschaltkreisen 750-10232 und 750-10234 angelegt werden,festgelegt wird. Hierdurch werden die Bitpositionön 24-31 eines Ubergangsblock-Registerspeicherplatzes mit Adresssignalen geladen, die über die RADO/Leitungen 24-31 angelegt werden. Das Komplementsignal [RTBOOO wird einem Eingang des Blockes 7 50-107 zugeführt(um das Laden der Anweisungswarteschlange 750-107 zu steuern.
Eine zweite Gruppe von Schaltkreisen des Blockes 750-102 umfaßt den Ubergangsblock-Pufferhinweisabschnitt 750-10238. Dieser Abschnitt besteht ebenso wie der nicht dargestellte Abschnitt des Puffers 750-102 aus einem simultanen 4x4-Dual-Lese/Schreib-Speicher. Der Speicher ist ein 16-Bit-Speicher für vier Worte mit jeweils 4 Bits/von denen nur drei Bits dargestellt sind. Worte können unabhängig von irgend zwei Speicherplätzen zu der gleichen Zeit gelesen werden, zu der Information in irgendeinen Speicherplatz geschrieben wird. Die Signale FTBPTROIOO und FTBPTR1100 werden an die Schreibadressanschlüsse angelegt, während die Leseadressen durch das an die Anschlüsse G1 und G2 angelegte Signal VCC freigegeben werden. Die Y-Bitspeicherplätze werden entsprechend dem Zustand der Leseadresssignale MIFS3100 und MIFS2100 von dem Schalter 750-128 ausgewählt. Die Z-Bitspeicherplätze werden in Übereinstimmung mit dem Zustand der Signale DMIF3100 und DMIF2100 von dem Schalter 7 50-128 ausgewählt. Da diese Speicherplätze für die vorliegende Erfindung nicht von Bedeutung sind, seien sie nicht näher erläutert.
030024/0833
Der Speicher kann eine herkömmliche Bauweise besitzen, die der US-PS 4.C-7O657 entnommen werden kann. Beim Empfang von Speicherdaten wird das Hinweisbit in dem Ubergangsblock-Speicherplatz, der durch die Signale MIFS21OO und MIFS31OO festgelegt ist, an die Y-Ausgangsanschlüsse angelegt. Diese Signale werden ihrerseits den Blöcken 750-102, 750-115 und 750-117 in der dargestellten Waise zugeführt. Während des Listen-Zuordnungszyklus bei einem Pufferspeicher-Lese-Fehl treffers werden die Hinweisbitpositionen des Über angsblock-SpeicherplatzeSjder durch die Signale FTBPTR0100 und FTBPTR1100 festgelegt ist, mit den Signalen FORCEBYPOOO, FRDQUAD100 und FLDQUAD100 geladen, die durch die Schaltkreise der Blöcke 750-5 und 750-114 erzeugt werden.
Es ist ebenfalls aus Figur 7a ersichtlich, daß der Block 750-102 ferner eine Gruppe von Befehlsabruf-Hinweisschaltkreisen enthält, die der Operation des Ubergangsblockpuffers 750-102 zugeordnet sind. Diese Schaltkreise umfassen zwei Gruppen von Eingangs- UND-Gattern 750-10240 bis 750-10243 und 750-10250-750-10253, ein Paar von Multiplexer-Auswahlschaltkreisen 75O-1O255 und 750-10256, ein IF1- und IF2-Hinweis-Speicherregister 750-10258 und einen Ausgangs-Multiplexerschaltkreis 75O-iO26O(die in der dargestellten Weise miteinander verbunden sind.
Die Ausgangssignale mit dem Binärwert "1" der einzelnen IF1- und IF2-Flip-Flops sind an entsprechende Gruppen von UND-Gattern 750-10240 bis 750-10243 und 750-10250 bis 750-1^253 angeschlossen. Diese UND-Gatter erhalten ebenfalls Signale von den Schaltkreisen des Blockes 750-106 zugeführt, die aufgrund der Einwärts-Hinweisadresssignale FTBPTROOO und FTBPTR1000 erzeugt werden, welche für die Adressierung der verschiedenen Register-Speicherplätze innerhalb des Puffers 750-102 in der zuvor erwähnten Weise benutzt werden.
Der Multiplexerschaltkreis 750-10255 erhält ein Steuereingangssignal FIF1ASSIGN100 von dem FIF1ASSIGN-Flip-Flop 750-11418
030024/0833
er
zugeführt. Ferner erhältiein Steuereingangssignal FIF2ASSIGN100 von dem FIF2ASSIGN'-Flip-Flop 750-1410 zugeführt. Hierdurch wird das Setzen und/oder die Rückstellung der IF1- und IF2-Flip-Flops des Registers 750-10258 aufgrund der Signale FIF1ASSIGN100 und FIF2ASSIGN100 ermöglicht. Die Umschaltung tritt aufgrund eines Taktsignales [CLKTO22 während des Ladens eines Ubergangsblock-Registerspeicherplatzes auf, wenn ein Steuersignal LDTBVAL1D100 über ein UND-Gatter 7 50-11428 auf den Binärwert "1" umgeschaltet wird.
Es sei darauf verwiesen, daß das Register 750-10258 eine IF1-und IF2-Hinweis-Bitposition für jeden Ubergangsblock-Registerspeicherplatz besitzt. Dies bedeutet, daß das Register Flip-Flops FIF10, FIF2O-FIF13 und FIF23 für die Ubergangsblock-Registerspeicherplätze 0-3 entsprechend aufweist. Jedes der Ausgangssignale mit dem Binärwert "1" der IF1- und IF2-Hinweis-Flip-Flops wird ebenfalls verschiedenen Eingangsanschlüssen des Ausgangs-Multiplexerschaltkreises 750-10260 zugeführt. Der Schaltkreis 750-11450 enthält zwei Abschnitte. Dies gestattet die Zuführung der Signale DMIFS2100 und DMIFs3i00 zu den Steueranschlüssen des Multiplexerschaltkreises 750-10260 in dem Block 750-128, wodurch als Ausgangssignale Eingangssignale sowohl von dem IF1- als auch von dem if2-Hinweis-Flip-Flop ausgewählt werden können. Das ausgewählte Signalpaar bildet seinerseits Hinweissignale ZIF1FLG100 unf ZIF2FLGiOO,die dem Block 750-115 zugeführt werden. Diese Signale werden benutztem das Einschreiben der Speicherinformation in die IBUF1- und IBUF2-Puffer 750-715 und 750-717 zu steuern. Zusätzlich werden die Komplementwerte der Ausgangssignale des Multiplexerschaltkreises 750-10260 entsprechend den Signalen ZIF1FLG000 und ZIF2FLG000 einem Paar von Eingangsanschlüssen eines Mehrabschnitt-Vergleichsschaltkreises 750-110/750-11435 zugeführt.
Es sei darauf verwiesen, daß die letzten Abschnitte einesjeden Multiplexerschaltkreises 750-10255 und 750-10256 in Reihe ge-
030024/0833
schaltet sind, um das Ubergangsblockpuffer-Freigabe-Bereitschaftssignal ENABTBRDY100 zu erzeugen, das dem Block 750-114 zugeführt wird. Der Eingangsanschluss 0 des letzten Abschnittes des Multiplexerschaltkreises 75O<-1O255 ist an eine Spannung VCC (entsprechend dem Binärwert "1") angeschlossen, während der Eingangsanschluss 1 an Masse (entsprechend dem Binärwert "0") angeschlossen ist. Der Ausgangsanschluss des letzten Abschnittes des Multiplexerschaltkreises 75010255 ist an den Eingangsanschluss 0 des letzen Abschnittes des Multiplexerschaltkreises 750-10256 angeschlossen, während der Eingangsanschluss 1 mit Masse verbunden ist. Die Multiplexerschaltkreise 750-10255 und 750-10256 setzen das Signal ENABTBRDY100 nur auf den Binärwert "1" nach Beendigung eines Befehlsabruf-Zuordnungszyklus/ wenn beide Signale FIF1ASSIGN100 und FIF2ASSIGN100 den Binärwert "' besitzen . Daher werden die Eingangsanschlüsse 0 als Ausgänge durch die Multiplexerschaltkreise 750-10255 und 750-10256 ausgewählt, was dazu führt, daß das Signal ENABTBADY100 auf den Binärwert "1" gesetzt wird. Dies verhindert die irrtümliche Erzeugung des Signales IBUFRDY100.
Figur 7a zeigt ferner in näheren Einzelheiten, die Schaltkreise der Blöcke 750-104, 750-107, 750-108 und 750-109. Betrachtet man die'Schaltkreise des Blockes 750-104(so ist erkennbar, daß diese ein Paar von Flip-Flops eines Synchronregisters 750-10400 aufweisen. Diese Flip-Flops sind an ein UND/ODER-Gatter 750-10402 mit zwei Eingängen angeschlossen, um als ein binärer zweistufiger Adresszähler zu arbeiten. Der Zählerinhaltjder eine Schreibadresse definiert, wird durch das Taktsignal [CLKT021 um 1 erhöht, wenn das Signal INCWRTPTR100 auf den Binärwert "1" umschaltet. Die binären "1"-Ausgangssignale der Flip-Flops werden über ein Paar von Treiberschaltkreisen 750-10404 und 750-10406 an die Schreibadress-Eingangsanschlüsse des Schreibanweisungs-Datenpuffers 75O-1OO angelegt. Zusätzlich werden diese Signale den Schaltkreisen des Blockes 750-107 zugeführt.
Der Block 750-108 umfaßt eine Gruppe von drei Flip-Flops eines
030024/0833
2948R68
Synchronregisters 7 50-10800. Zwei der Flip-Flops sind an ein Paar von UND/ODER-Gattern 750-10802 und 750-10804 mit zwei Eingängen angeschlossenem als ein dreistufiger Binär zähler zu arbeiten. Der Zählerinhalt wird aufgrund des Taktsignales JCLKT021 um 1
auf erhöht, wenn das Signal INCCQ0UT100 den Binärwert "1" umschaltet.
Der Block 750-109 umfaßt ebenfalls eine Gruppe von drei Flip-Flops eines Synchronregisters 750-10900. Zwei der Flip-Flops sind an ein Paar von UND/ODER-Gattern 7 50-10902 und 7 50-10904 mit zwei Eingängen angeschlossenem als ein dreistufiger Binärzähler zu arbeiten. Der Zählerinhalt wird durch das Taktsignal [CLKT021 um 1 -erhöht, wenn das Signal INCCQ0IT100 auf den Binärwert "1" umschaltet.
Der Block 750-107 umfaßt zwei 16-Bit-Speicher 750-10700 und 750-10702,die jeweils 4 Worte mit je 4 Bit speichern. Es sei darauf verwiesen, daß diese Speicher der Speichereinrichtung entsprechen, wie sie im Zusammenhang mit dem Block 750-102 beschrieben wurde. Die Speicher 750-10700 und 750-10702 werden über ein Paar von UND-Gattern 750-10704 und 750-1o706 getastet, wenn die Signale FCQINOOOO und FCQIN0100 auf den Binärwert "1" und das Signal |CQ100 auf den Binärwert "1" gesetzt ist.
Die Signale FCQIN1100 und FCQIN2100 von den Einwärts -Hinweis-Adressschaltkreisen 750-10800 werden an die Schreibadress-Eingangsnanschlüsse eines jeden Speichers 750-10700 und 750-10702 angelegt. Die Signale FCQ0UT1100 und FCQ0UT2100 von den Auswärts-Hinweisadressschaltkreisen 750-10900 werden an die Leseadress-Eingangsanschlüsse der Speicher 750-10700 und 750-10702 angelegt. Die Y-Freigabe-Anschlüsse G1 der Speicher 750-10700 und 750-10702 werden durch die Signale FCQOUTOOOO und FCQ0IT0100 entsprechend freigegeben.
Dem ersten Dateneingangsanschluss eines jeden Speichers 750-10700 und 7 50-10702 wird das Signal CQIN0100 über ein Paar von UND-
0300 2 A/0833
Gattern 750-10708 und 750-10710 zugeführt. Das Signal CQIN0100
wird in Übereinstimmung mit dem Zustand des Bit 1 des Anweisungs-Wortes (z.B. Signal ZADOBOIIOO) auf den Binärwert "1" gesetzt, wobei das Aneisungswort an die Anweisungsleitungen durch den Prozessor 700 angelegt wird, wenn es in den Schreibdatenpuffer 750-100 geladen wird (d.h. das^LDWRTDTAOO besitzt den Binärwert "1"). Hierdurch wird angezeigt, ob es sich bei der Anweisung um eine Lese- oder eine Sehreib-AnWeisung handelt.
Der zweite Dateneingangsanschluss eines jeden Speichers 750-10700 und 750-10702 ist über ein UND-Gatter 750-10712 an das Signal CQINIIOO angeschlossen. Das Signal CQINIIOO wird auf den Binärwert "1" aufgrund des Zustandes des Bit 2 des Anweisungswortes (Signal ZADOBOZ1OO) gesetzt.
Die nächsten zwei Dateneingangsanschlüsse eines jeden Speichers 75O-1C7OO und 750-10702 sind an Signale CQIN2100 und CQIN3100 angeschlossen,die über UND/ODER-Gatter 750-10714 und 750-10716 mit zwei Eingängen zugeführt werden. Diese Signale CQIN2100 und CQIN3100 werden in Übereinstimmung mit dem Zustand der Ubergangsblock-Adressenhinweissignale FTBPTROIOO und FTBPTR1100 im Falle einer Leseanweisung (d.h. das Signal DREQREAD100 besitzt den Binärwert "1") gesetzt. Im Falle einer Schreibanweisung (d.h. das Signal DREQREADOOO besitzt den Binärwert "1") werden die Signale CQIN2100 und CQIN3100 in Übereinstimmung mit dem Zustand der Schreib-Hinweisadresssignale FWCDPTR0100 und FWCDPTR1100 gesetzt.
Die an den Komplement-Ausgangsanschlüssen der Speicher 750-10700 und 750-10702 ausgelesenen Signale werden in UND/NAND-Gattern 750-10720 bis 75O-10723 in der dargestellten Weise kombiniert. Die an den negierten und nicht negierten Ausgangsanschlüssen der UND/NAND-Gatter 750-10720 bis 750-10723 anliegenden Signale werden an die Schaltkreise der Blöcke 750-11440, 750-118, 750-100 und 750-102 in der dargestellen Weise verteilt.
Q30024/0833
29A8B68
Gemäß Figur 7a umfassen die Schaltkreise des übergangspuffer-Einwärts-Hinweisadressenblockes 750-106 ein getaktetes 2-Bit-Positionsregister 750-10600 und einen Decodierschaltkreis 750-10601. Dem Register 750-10600 ist ein NAND/UND-Gatter 750-10602 und ein UND/ODER-Gatter 750-10604 mit zwei Eingängen zugeordnet, die in einer Zähleranordnung miteinander verbunden sind. Dies bedeutet, daß das NAND-Gatter 750-10602 aufgrund des Ladesignales FLDTBVALID111 von dem Block 750-114 und des Signales N0G0020 ein Erhöhungssignal INCTBIN100 auf den Binärwert "1" setzt. Hierdurch wird der in dem Register 750-10600 gespeicherte Adressenwert um 1 erhöht. Das Erhöhungssignal INCTBIN100 wird den Schaltkreisen des Blockes 750-102 zugeführt.
Die signifikanteste Bitposition des Register 750-10600 wird auf den Binärwert "1" über das Gatter 750-10604 gesetzt, wobei dies geschieht, wenn entweder das Signal FTBPTR0100 oder die Signale FTBPTR0100, FTBPTR1100 und FTBPTROOO auf den Binärwert "1" gesetzt sind. Die komplementären "1"-Ausgangssignale der Register-Bitpositionen entsprechend den Signalen FTBPTROOOO und FTBPTR1000 werden durch den Decodierschaltkreis 750-10601 decodiert. Der Schaltkreis 7 50-10601 setzt aufgrund der Signale FTBPTROOOO und FTBPTR1000 das erste Paar der vier Paare von Ausgangsnaschlüssen auf den Binärwert "1".
Der Anweisungs-Steuerschaltkreisblock 750-114 umfaßt ein synchrones IF2-Such-Flip-Flop 750-11400 vom D-Typ. Dieses Flip-Flop wird auf den Binärwert "1" gesetzt, aufgrund eines Taktsignales [CLKT020,wenn ein UND/ODER-Gatter 750-11402 und ein UND-Gatter 750-11404 ein Setzsignal SETIF2SEARCH100 auf den Binärwert "1" setzen. Dies geschieht(wenn entweder eine IF1-Anweisung, die einen Treffer darstellt,oder eine IF2-Anweisung von dem Prozessor 700 empfangen wird, während ein IF1-Zuordnungszyklus vorliegt.
Für den Fall einer IF1-Anweisung setzt dies voraus, daß kein Haltezustand (d.h. Signal HOLDDMEMOOO von dem Block 750-117
Q3002W0833
besitzt den Binärwert "V1) vorliegt, und daß eine Listenabsuche einen Treffer erzeugt hat (d.h. das Signal HITTOTBiOO besitzt den Binärwert "1"), wodurch angezeigt wird, daß sich der angeforderte Befehlsblock in dem Pufferspeicher 750-300 befindet. Bei einer IF2-Anweisung ist vorauszusetzen, daß ein Listen-Zuordnungszyklus nach einem Listen-Suchzyklus stattgefunden hat, wobei ein Fehltreffer im Hinblick auf die IF1-Anweisung vorlag.(d.h. das Signal FIFiASSIGNlOO besitzt den Binärwert "1") .
In jedem der erwähnten Fälle setzt das Gatter 750-11402 das Signal SETIF2TIME100 auf den Binärwert "1". Wenn die Befehlsabruf anweisung durch einen Ubertragungs- oder Verwzweigungsbefehl hervorgerufen wurde, der keinen Stillstand NOGO betrifft (d.h. dasSignal N0G0030 besitzt den Binärwert "I'^jso wird angezeigt, daß die gerade an die Anweisungsleitungen angelegte IF2-Anweisung zu verarbeiten ist (d.h. durch das Signal DREQCAC112 mit dem Binärwert "1")(und das UND-Gatter 750-11404 setzt das Signal SETIFSEARCH100 auf den Binärwert "1". Hierdurch schaltet das Flip-Flop 750-11400 auf den Binärwert "1" um, wenn das Signal CANCEL012 den Binärwert "1" besitzt.
Gemäß Figur 7a wird das "O"-Ausgangssignal des Flip-Flops 750-11400 als Eingang den Halteschaltkreisen des Blockes 750-117 zugeführt. Das Signal FIF2SEARCH000 wird durch einen Pufferschaltkreis 750-11406 verzögert und einem Eingang eines NAND-Gatters 750-11408 eines IF2-Zuordnungs-Flip-Flops 750-11410 zugeführt. Das Signal FIF2SEARCH010 dieses Flip-Flops schaltet zusammen mit dem Signal EISIF2000 (zeigt einenNicht-EIS-Befehl an) über das NAND-Gatter 750-11408 das Flip-Flop 750-11410 beim Auftreten eines Gattersignales SETBVALID100 und des Taktsignales (CLKT020 auf den Binärwert "1" um. Der Zustand dieses Flip-Flops sowie der anderen verändert sich am Ausgang, wenn das Signal FLDTBVAL1D111 den Binärwert "1" aufweist.
03002W0833
Es sei vermerkt, daß das Signal FLTBVALID111 auf den Binärwert "1" über ein UND-Gatter 750-11412, ein getaktetes Flip-Flop 750-11414 und einen Verzögerungs-Pufferschaltkreis 750-11416 im Falle eines Fehltrefferzustandes (d.h. das Signal HITTOTB010 besitzt den Binärwert "1") umgeschaltet wird, wobei der zuletzt erwähnte Zustand auf Grund eines Listen-Suchzyklus bei einer Lese-Anweisung (z.B. IF2) erzeugt wird. Dies setzt voraus, daß kein Haltezustand (d.h. das Signal HOLDDMEM000 besitzt den Binärwert "1") vorliegt, daß im Falle einer IF2-Ahweisung diese nicht auf Grund eines Ubertragungsstillstandes NOGO (d.h. Signal NOGO020 gleich "1") verursacht wurde und daß kein Löschzustand (d.h. Signal CANCELCO10 gleich "1") für eine Operation vom Lesetyp vorliegt, was durch die Schaltkreise des Blockes 750-113 auf Grund der über die Anweisungsleitungen zugeführten Leseanweisung festgestellt wird (d.h. Signal DREQREAD100 gleich "1", wobei DREQREAD100 gleich READ100. DREQCAC112).
Unter ähnlichen Umständen wird ein IF1-Zuordnungs-Flip-Flop 750-11418 über ein UND-Gatter 750-11420 auf Grund einer IF1-Anweisung (d.h. Signal IF1100 = "1") auf den Binärwert "1" umgeschaltet, wenn ein Fehltreffer festgestellt wurde (d.h. Signal SETTBVALID100 = "1"). Das Lade-Ubergangspuffer-GUltig-Flip-Flop 750-11414 bleibt gesetzt, bis das Signal SETLDTBVALID100 auf den Binärwert "0" umschaltet. Es sei darauf verwiesen, daß das Ausgangssignal FLDTBVALIDOOO mit dem Binärwert "0" den Schaltkreisen zugeführt wird, die einen Teil des Blockes 750-102 bilden.
Das andere Paar von Flip-Flops 750-11422 und 750-11424 wird auf Grund des Signales SETLDTBVALID100 im Falle eines Fehltrefferzustandes gesetzt. Das Lade-Quad-Flip-Flop 750-11424 wird auf "1" gesetzt, wenn die an die DMEM-Anweisungsleitungen angelegte Anweisung als LDQUAD-Anweisung (d.h. Signal LDQUAD100 von dem Decodierer 750-113 besitzt den Binärwert "1") decodiert wird und wenn die ZAC-Anweisung, die an die ZADOB-Leitungen angelegt wird, durch ihre Codierung eine Lese-Quad-Operation vorgibt (z.B. sind die Anweisungen IF1, IF2, LDQUAD, PRERD und RDSNGLE, die durch
030024/0833
das Signal ZADOB04100 festgelegt werden, auf den Binärwert "1" gesetzt).
Das RDQUAD-Flip-Flop 750-11422 wird über ein UND-Gatter 750-11426 auf "1" gesetzt, wenn ein Signal CQIN1100 von Schaltkreisen innerhalb des Anweisungs-Warteschlangenblockes 750-107 den Binärwert "1" aufweist, wodurch eine Doppelpräzision-Anweisung angezeigt wird (d.h. Signal ZADOBO2100 gleich "1").
Gemäß Fig. 7a enthält der Block 750-114 ferner einen Vergleichsschaltkreis 750-11425. Dieser Schaltkreis kann einen herkömmlichen Aufbau aufweisen und beispielsweise der US-PS 3 955 177 entnommen werden.
Der Vergleichsschaltkreis 750-11435 wird durch Signale USETBRDY100 und DATA100 freigegeben. Das Signal USETBPDY100 zeigt an, daß der Pufferspeicher auf Befehle vom Speicher wartet, die in die IBUF1- bzw. IBUF2-Puffer zu laden sind. Das Signal DATA100 wird durch ein NAND-Gatter 750-11436 auf "1" gesetzt, wodurch der Empfang der Information vom Speicher angezeigt wird. Der Vergleichsschaltkreis umfaßt zwei Abschnitte. Ein Abschnitt vergleicht die Anweisungs-Warteschlangen-Eingangs-Hinweisadressignale und Ausgangs-Hinweisadressignale von den Blöcken 750-108 und 750-109 miteinander. Dieser Abschnitt setzt Signale CQCMP100 und CQBMPOOO auf "1" und "0", wenn die Hinweisadressignale einander gleich sind. Der Abschnitt entspricht dem Block 750-110 in Fig. 4.
Der andere Abschnitt vergleicht die Steuersignale [ZRIB1 00 und [ZRIB010 an den Eingangsanschlüssen A1 und A2 mit dem Zustand der IF1 und IF2-Hinweissignale ZIF1FLG000 und ZIF2FLG000 an den Anschlüssen B1 und B2. Liegt Gleichheit vor, so zeigt dies an, daß die zu diesem Zeitpunkt vom Speicher empfangene Information entweder eine Antwort auf eine IF1- oder eine IF2-Anweisung darstellt. Es sei vermerkt, daß das Steuersignal [ZRIB100 den ZRIB-Schalter 750-720 steuert.
03002W0833
2948B68
Die Eingangsanschlüsse A4, a8 vergleichen Signale ZEXT0100 und ZEXT1100 mit Signalen MIFS1100 und DATAODD100, die an die Anschlüsse B4 und B8 angelegt werden. Hierdurch wird angezeigt, ob die innerhalb des Befehlspuffers zu adressierende Information mit der empfangenen Information übereinstimmt. Insbesondere werden die Signale ZEXTO100 und ZEXT1100 durch Schaltkreise des Blockes 750-920 von der am wenigsten signifikanten Bitadresse des in dem RIRA-Register gespeicherten Befehls erzeugt. Sie legen somit den Wortspeicherplatz fest, der innerhalb des I-Puffers zu adressieren ist. Das Signal MIFS1100 legt durch seine Codierung fest, ob der erste oder zweite Halbblock empfangen wurde. Das Signal DATAODD100 legt fest, ob das erste oder zweite Wort der ersten zwei Wortpaare empfangen wird. Das Signal DATAODD100 wird durch ein UND-Gatter 750-11437 erzeugt.
Schließlich vergleicht der Vergleichsschaltkreis 750-11435 ein Signal ENABTBRDY100 das von dem Block 750-102 an dem Anschluß A16 angelegt wird, mit der Spannung VCC entsprechend dem Binärwert "1" an dem Anschluß B16. Beim Vorliegen einer Übereinstimmung zwischen den zwei Gruppen aller 6 Signale setzt der Schaltkreis 750-11435 sein Ausgangssignal auf den Binärwert "1". Dies hat zur Folge, daß das komplementäre Ausgangssignal IBUFCMPR000 auf den Binärwert "0" gesetzt wird. Dies veranlaßt den Block 750-722,das Signal IBUFRDY100 in der erläuterten Weise auf den Binärwert "1" zu setzen.
Der Abschnitt 750-114 umfaßt ferner ein UND-Gatter 750-11417. Während der ersten Hälfte eines Pufferspeicherzyklus (d.h. das Signal FHT120 von dem Verzögerungsschaltkreis 750-11810 besitzt den Binärwert "1") und wenn das FLDTBVALID-Flip-Flop 750-11414 den Binärwert "1" besitzt, setzt das UND-Gatter 750-11417 das Steuersignal [RTB5-8100 auf den Binärwert "1". Dieses Signal wird als ein Takt-Tasteingang dem Pegelspeicherabschnitt des Ubergangsblockpuffers 750-102 zugeführt. Dieser Abschnitt besteht aus einem dualen 16 Bit-Lese/Schreib-Speicher für 4 Worte mit jeweils 4 Bit, ähnlich der Speichereinrichtung des Blockes 750-10238 und ähnlich der Speichereinrichtung, die zum Aufbau des 36 Bit-Leseanweisung-Pufferabschnittes des Blockes 750-102 sowie zum Aufbau
030024/0833
des Schreibanweisung/Datenpuffers 750-100 verwendet wird.
Die Anweisungssteuerschaltkreise des Blockes 740-114 umfassen ferner die Schaltkreise des Blockes 750-11440 gemäß Fig. 7a. Gemäß dieser Figur ist ersichtlich, daß diese Schaltkreise als eine erste Gruppe von Schaltkreisen mehrere NAND-Gatter 750-11442 bis 750-11463, mehrere UND/NAND-Gatter 750-11465 bis 750-11467, ein UND-Gatter 750-11470, ein UND/ODER-Invertergatter 750-11472 und ein synchrones Schreibsteuer-Flip-Flop-Register 750-11474 umfassen, die in der dargestellten Weise miteinander verbunden sind.
Ein erstes Flip-Flop des Registers 750-11474 signalisiert im auf "1" gesetzten Zustand, wenn Datenworte einer neuen Anweisung zu der Schnittstelleneinheit SIU100 übertragen werden. Dieses FWRTXFER-Flip-Flop wird über ein erstes UND-Gatter auf den Binärzustand "1" umgeschaltet, wenn das UND-Gatter 750-11466 das Signal NEWCMD100 auf "1" setzt und das Signal ZCQO100 den Binärwert "1" aufweist, wodurch angezeigt wird, daß das übertragene Anweisungswort eine Schreibanweisung ist. Insbesondere wird das FWRTXFER-Flip-Flop auf "1" mit dem gleichen Taktsignal[CLKT020 gesetzt, mit dem das FAOPR-Flip-Flop 750-11600 auf den Binärwert "1" umgeschaltet wird (d.h. beide Flip-Flops werden in Abhängigkeit von den Signalen ENABSETAOPR100 und SETAOPR100 gesetzt). Zu diesem Zeitpunkt wird das Anweisungswort in das Daten-Schnittstellenregister RDTS-750-119 eingetaktet. Dies bedeutet, daß das nächste aus dem Puffer 750-100 auszulesende Wort ein Datenwort ist. Die NAND-Gatter 750-11442 bis 750-11445 setzen das Signal SETAOPR100 auf Grund einer Leseanweisung-Anforderung (d.h. Signal READREQ000 gleich "0")auf den Binärwert "1". In gleicher Weise setzen die NAND-Gatter 750-11446 und 750-11447 das Signal SETAOPR100 auf Grund einer Schreibanweisung-Anforderung (d.h. Signal WRITEREQOOO gleich "0") auf den Binärwert "1".
Das Flip-Flop FWRTXFER wird über ein zweites UND-Gatter auf dem Binärzustand "1" gehalten bis die NAND-Gatter 750-11449 bis 750-11452 das NAND-Gatter 750-1153 veranlassen, das Signal LASTWORD000 für ein letztes Wort auf den Binärwert "0" zu setzen. Dadurch wird
030024/0833
angezeigt, daß das letzte Datenwort der Schreibanweisung übertragen worden ist.
Das nächste Flip-Flop FHOLDWRT wird benutzt, um festzustellen, ob die Puffereinheit 750 eine neue Schreibanweisung annehmen kann. Im auf "1" gesetzten Zustand zeigt es an, daß die Annahme einer Schreibanweisung von dem Prozessor 700 gehalten wird. Das Flip-Flop FHOLDWRT wird über das UND-Gatter 750-11470 auf "1" umgeschaltet, wenn der Decodierschaltkreis 750-113 über ein Paar von UND/NAND-Gattern 750-11300 und 750-11302 eine Schreibanforderung decodiert hat (d.h. Signal DREQWRT100 gleich "1"), wenn kein Haltezustand vorliegt (d.h. Signal (HOLDDMEM000 gleich "1") und wenn kein Löschzustand vorliegt (d.h. Signal (CANCELC012 gleich "1").
Das Flip-Flop FHOLDWRT wird auf dem Binärzustand "1" über ein zweites UND-Gatter gehalten bis das Gatter 750-11472 ein Signal RESETHOLDWRTOOO auf den Binärwert "0" setzt. Das Gatter 750-11472 setzt das Signal RESETHOLDWRTOOO auf einen Binärwert "0" unter zwei Bedingungen. Die erste Bedingung wird durch das obere UND-Gatter vorgegeben, das die Rückstellung für die neue Anweisung vorgibt, welche an das RDTS-Register 750-119 angelegt wird und eine Einzel-Schreibanweisung vorgibt (d.h. Signale ZCQ0100 und ZCQ1000 gleich "1"). Die zweite Bedingung wird durch das andere UND-Gatter vorgegeben, welches die Rückstellung beim Empfang der SIU-Annahme der Speicheranforderung von dem Puffer 750 (d.h. Signal FARA120 gleich "1") im Falle einer Doppel-Schreibanweisung vorgibt. Im Falle einer Doppel-Schreibanweisung entsprechen die Signale RSDT5110 und RSDT6110 den Bits 1 und 0 des Anweisungswortes, das aus dem Anweisungs-Warteschlangenpuffer 750-107 ausgelesen und in dem nicht dargestellten Steuerungsregister gesichert wird.
Das dritte Flip-Flop FIRSTDTA signalisiert die übertragung eines ersten Datenwortes entweder bei einer Einzel- oder einer Doppel-Schreibanweisung. Es wird auf "1" über das UND-Gatter 750-11465 auf Grund des Signales FAOPR120 gesetzt, das seinerseits im Falle
O30C2A/O833
einer Datenwortübertragung (d.h. Signal FWRTXFER100 gleich "1") auf den Binärwert "1" gesetzt wird. Das Flip-Flop FIRSTDTA wird auf "0" zurückgestellt, wenn die Schnittstelleneinheit SIU die Pufferspeicheranforderung annimmt (d.h. Signal FARA020 gleich "0")
Das vierte Flip-Flop FWRTDBL zeigt an, wenn der Prozessor 700 eine Doppel-Schreibanweisung an die Anweisungsleitungen anlegt. Es wird auf "1" über ein erstes UND-Gatter gesetzt, wenn das SignalWRTDBLIOO vom dem Decodierer 750-113 und das Signal SETHOLDWRT100 den Binärwert "1" aufweisen. Wenn das Signal FWRT100 auf "0" gesetzt wird, so wird das Flip-Flop FWRTDBL auf "0" über das andere UND-Gatter zurückgestellt.
Das fünfte Flip-Flop FWRT zeigt durch seinen Zustand an, ob die durch den Prozessor 700 den Anweisungsleitungen zugeführte Anweisung eine Schreibanweisung ist (d.h. Signal SETHOLDWRT100 gleich "1"). Dieses Flip-Flop wird auf "0" zurückgestellt, wenn keine Halteanweisung vorliegt (d.h. Signal [HOLDDMEM100 gleich "0").
Die Ausgangssignale FWRTDBL100 und FWRTOOO von den Flip-Flops FWRTDBL und FWRT werden anderen Schaltkreisen innerhalb des Blockes 750-114 zugeführt. Diese Signale steuern die übertragung von Worten von dem Prozessor 700 zu der Puffereinheit 750 durch Steuerung der Ladung des Anweisungswortes und von einem oder zwei Datenworten in den Schreibanweisungs-Datenpuffer 750-100. Insbesondere werden sie benutzt, um Erhöhungssignale INCWRTPTR100 und INCCQIN100,sowie ein Anweisungswarteschlangen-Takttastsignal [CQ100 und ein Anweisungs-Datenpuffer-Takttastsignal TRWCD100 auf den Binärwert "1" zu setzen. Die Ausgangssignale FWRTXFER100 und FIRSTDTAOOO der FWRTXFER- und FIRSTDTA-Flip-Flops steuern die übertragung von Worten von dem Schreibanweisungs-Datenpuffer 750-100 zu der Schnittstelleneinheit SIU100. Insbesondere steuern diese Signale das Laden des RWRTDDATA-Registers 750-121 (d.h. des Signales [RWRTDTA100) und den Betrieb des Schalters 750-120 (d.h. des durch die Schaltkreise des Blockes 750-116 erzeugten Signales PTXDTS100).
03002A/0833
2948Β68
Ferner wird gemäß dieser Figur das Signal FWRTXFER100 einem Eingang des NAND-Gatters 750-11458 zugeführt. Das Signal ENABWRTDTA100 besitzt den Binärwert "0", wenn die einem NAND-Gatter 750-11610 des Blockes 750-116 zugeführten Signale FAOPR110 und FARAOOO den Binärwert "1" aufweisen. Hierdurch wird das NAND-Gatter 750-11460 veranlaßt, das Signal HOLDWRT000 auf den Binärwert "0" zu setzen, wodurch angezeigt wird, daß die Annahme der Schreibanweisungen gespeichert wird. Das NAND-Gatter 750-11463 setzt das Signal HOLDCMD000 auf "0", wenn eine Schreibanweisung an die Anweisungsleitungen angelegt wird (d.h. Signal DREQCAC112 gleich "1").
Es sei darauf verwiesen, daß das NAND-Gatter 750-11610, das auf Grund des Signales FARAOOO auf "0" gesetzt wird, das Signal ENABWRTDTA100 auf "1" setzt. Dies veranlaßt das NAND-Gatter 750-11458,das Signal WRTDBLDTAXFEROOO auf den Binärwert "0" zu setzen. Infolgedessen wird das Signal HOLDCMOOO auf "1" eine Taktperiode vor der Rückstellung des Flip-Flops FHOLDWRT auf den Binärwert "0" umgeschaltet.
Im Falle von Leseanweisungen setzt das NAND-Gatter 750-11461 das Signal HOLDRDOOO auf den Binärwert "0", wenn eine Leseanweisung an die DMEM-Anweisungsleitungen durch den Prozessor 700 angelegt wird (d.h. Signal READ100 gleich "1") und der nächste Übertragungsblock-Registerspeicherplatz, der für die Speicherung der Leseanweisung benutzt wird, nicht verfügbar ist (d.h. Signal VALIDIN100 gleich "1"). Wie im Falle einer Schreibanweisung setzt das NAND-Gatter 750-11463 das Signal HOLDCMOOO auf den Binärwert "0". Hierdurch wird die Annahme der Anweisung gesperrt. Auch wenn die Liste benutzt wird, d. h. wenn sie belegt ist (Signal DIRBUSY-000 gleich "0") wird das Signal HOLDCMOOO auf den Binärzustand "0" gesetzt. Das Halteanweisungssignal HOLDCMOOO wird als Eingangssignal den Halte-Steuerschaltkreisen des Blockes 750-117 zugeführt.
Gemäß Fig. 7a umfaßt eine zweite Gruppe von Schaltkreisen mehrere erste in Reihe geschaltete NAND-Gatter 750-11465 bis 750-11470
03CG2A/0833
und mehrere zweite in Reihe geschaltete NAND-Gatter 750-11472 bis 750-11475. Die NAND-Gatter 750-11465 bis 750-11469 erzeugen auf Grund des Zustandes der Signale FWRTDBL100 und FWRTOO Erhöhungs-Schreib-Hinweisadressignale INCWRTPTROOO und INCWRTPTR100. Diese Signale steuern den Betrieb von Schreibdatenpuffern in Hinweisadresschaltkreisen des Blockes 750-104.
Das gleiche Signal INCWRTPTROOO wird benutzt, um das Erhöhungs-Anweisungswarteschlange-Einwärts-Hinweisadressignal INCCQIN100 zu erzeugen, welches den Betrieb der Anweisungswarteschlange-Einwärts-Hinweisadresschaltkreise des Blockes 750-108 steuert. Das NAND-Gatter 750-11470 setzt das Takttastsignal[CQ100 auf "1" im Falle einer Schreibanweisung (d.h. Signal INCWRTPTROOO gleich "0") oder einer Leseanweisung (d.h. Signal [RTBOOO gleich "0").
Die NAND-Gatter 750-11472 bis 750-11474 erzeugen gemäß dem Zustand der Signale FWRTXFER100 und FIRSTDTAOOO das Schreibtastsignal RWRTDTAOOO und die Erhöhungs-Auswärts-Hinweisadresssignale INCCQOUTOOO und INCCQOUT100. Das Signal RWRTDTA100 steuert das Laden des RWRTDATA-Registers 750-121. Die Signale INCCQOUTOOO und INCCQOUT100 steuern den Betrieb der Anweisungswarteschlange-Auswärts-Hinweisadresschaltkreise des Blockes 750-109.
Fig. 7a zeigt daß der Datenempfang- und Steuerblock 750-115 mehrere NAND-Gatter 750-11500 bis 750-11510 und mehrere UND-Gatter 750-11511 bis 750-11514 aufweist, die die Steuertast-Freigabesignale [LQBUF100, C1BUF1100 und [IBUF21 00, das Rückstell-Puffersignal RESETBUF100 und das Schreibsteuer-Puffersignal [WRTBUF0100 erzeugen. Diese Signale werden benutzt, um den Betrieb der Pufferschaltkreise des Abschnittes 750-7 zu steuern. Das andere Schreibsteuer-Puffersignal [WRTBUF1100 wird durch einen Pufferverzögerungsschaltkreis 750-11515 auf Grund des Signales FARDA010 erzeugt. Das Signal [WRTBUF0100 wird von dem Ausgangssignal des Datenselektor/Multiplexerschaltkreises 750-128 abgeleitet, der entweder das Signal RMIFS1100 von dem Register 750-127 oder das Signal RMIFSB1100 von dem Register 750-129
030024/0833
29Α8668
auswählt. Die Auswahl erfolgt in Übereinstimmung mit dem Zustand des Signales FARDAOOO, das von der Annahmeleitung ARDA der Datenschnittstelle 600 erzeugt wird. Der Multiplexerschaltkreis 750-128 erzeugt in Übereinstimmung mit dem Zustand des Signales FARDA-000 zwei Gruppen von Signalen MIFS2100, MIFS3100 und DMIFS2100, DMIFS3100, die den Leseadresseingängen des Puffers 750-102 zugeführt werden.
Es sei darauf verwiesen, daß der Abschnitt 750-115 ferner ein Doppelpräzisions-Flip-Flop 750-11517 (FDPFSX) vom D-Typ aufweist, das auf Grund des Taktsignales CLKTO20 auf den Binärwert "1" über ein erstes UND-Gatter gesetzt wird, wobei dies in Abhängigkeit von dem Zustand des Signales PTXDPFS100 geschieht, das dem UND-Gatter über den Verstärkerschaltkreis 750-11518 von der DPFS-Leitung durch die Schnittstelleneinheit SIU100 zugeführt wird. Die DPFS-Leitung zeigt im gesetzten Zustand an, daß zwei Datenworte von der Schnittstelleneinheit SIU100 gesendet werden. Eine Umschaltung tritt auf, wenn die Schnittstelleneinheit SIU100 das Signal PTXARDA100 auf "1" setzt, wobei dieses Signal über einen Verstärkerschaltkreis 750-11519 von der ARDA-Leitung der Schnittstelle 600 zugeführt wird. Die ARDA-Leitung zeigt an, daß die von der Puffereinheit 750 angeforderten Lesedaten auf den DFS-Leitungen von der Schnittstelleneinheit SIU100 vorliegen. Das Ausgangssignal eines nicht dargestellten FARDA-Flip-Flops, das das Signal FARDA um eine Taktperiode verzögert, wird einem zweiten UND-Gatter zusammen mit dem Signal FDPFSX100 zugeführt. Das FDPFSX-Flip-Flop 750-11517 bleibt über zwei Taktperioden gesetzt. D. h. das Flip-Flop 750-11517 wird in Übereinstimmung mit der Anzahl von SIU-Antworten (DPFS-Signale) gesetzt. Im Falle einer Einzel-Leseanweisung erzeugt die Schnittstelleneinheit SIU zwei SIU-Antworten, wobei pro Antwort ein Wortpaar übermittelt wird. In jedem Fall gestattet dies das Einschreiben von zwei Worten in den Pufferspeicher, wenn das Signal RWRCACFLG100 auf den Binärwert "1" gesetzt ist.
Das "O"-Ausgangssignal des Flip-Flops 750-11517 wird durch ein NAND/UND-Gatter 750-11521 invertiert und durch einen Pufferverzögerungsschaltkreis 750-11522 verzögert, bevor es dem UND-Gatter
030024/0833
750-11512 zugeführt wird. Das gleiche "O"-Ausgangssignal wird ohne Invertierung durch einen Pufferverzögerungsschaltkreis 750-11523 verzögert und Schaltkreisen zugeführt, die die Bitpositionen eines Ubergangspuffer-Gültigkeitsbit-Registers zurückstellen, das einen Teil des Ubergangspuffers 750-102 bildet.
Es sei ferner vermerkt, daß das Doppelpräzisionssignal FDPF110 in einem UND-Gatter 750-11524 mit einem Schreibpuffer-Hinweissignal RWRTCACFLG100 von dem Ubergangsblockpuffer-Hinweisspeicherteil des Puffers 750-102 kombiniert wird. Das UND-Gatter 750-1152 erzeugt ein Speicherschreib-Anforderungssignal MEMWRTREQ100, das an den Abschnitt 750-9 gerichtet wird, um das Einschreiben von Speicherdaten in den Pufferspeicher zu ermöglichen (d.h. es wird die Auswahl der Adresschalter gesteuert).
Gemäß Fig. 7a umfaßt der auslösende Anforderungs-Steuerschaltkreisblock 750-116 ein Anforderungs-Flip-Flop 750-11600 für einen aktiven Ausgangsanschluß. Das Flip-Flop ist ein getaktetes Flip-Flop vom D-Typ, das UND/ODER-Gatterschaltkreise mit zwei Eingängen aufweist. Das Flip-Flop 750-11600 wird auf Grund des TaktsignalesCCLKTO20 auf "1" gesetzt, wenn der Block 750-114 ein Paar von Signalen ENABSETAOPR100 und SETAOPR100 auf "1" setzt. Im auf "1" gesetzten Fall wird hierdurch die AOPR-Leitung der Schnittstelle 600 gesetzt, wodurch der Schnittstelleneinheit SIU100 eine Datenübertragungsanforderung signalisiert wird. Der "0"-Ausgang des Flip-Flops 750-11600 wird durch einen Inverterschaltkreis 750-11602 invertiert und durch einen Verzögerungspufferschaltkreis 750-11604 verzögert einem Halte-UND-Gatter zugeführt. Das Flip-Flop 750-11600 bleibt bis zu der Taktzeit gesetzt, wo das Signal FARA020 auf den Binärwert "0" umschaltet, wodurch angezeigt wird, daß die Schnittstelleneinheit SIU100 die Pufferspeicheranforderung angenommen hat.
Zusätzlich zu dem NAND-Gatter 750-11610 umfassen die Schaltkreise des Blockes 750-116 ferner ein UND-Gatter 750-11612 und ein NAND-Gatter 750-11614. Das UND-Gatter 750-11612 setzt das Signal
03002A/0833
(PTXDTS100 auf "1", wenn beide Signale FWRTXFER100 und ENABWRTDTA-100 den Binärwert "1" aufweisen. Dies versetzt den Schalter 750-
120 in die Lage, den Datenwortinhalt des RWRTDATA-Registers 750-
121 auszuwählen und an die DTS-Leitungen anzulegen. Wenn das Signal [PTXDTS100 den Binärwert "0" aufweist, so wählt der Schalter 750-120 den Inhalt des Anweisungswortes des RDTS-Registers 750-119 zum Anlegen an die DTS-Leitungen aus.
Schließlich enthalten die Schaltkreise des Blockes 750-116 ein Paar von in Reihe geschalteten NAND-Gattern 750-11616 und 750-11618. Diese Gatter setzen auf Grund eines jeden Schreibanweisung-Datenwortes (d. h. Signal WRTCMDDTA000 gleich "0") oder auf Grund des zweiten Datenwortes einer Schreibanweisung (d. h. Signal WRT2NDDTA000 gleich "0") das Takttastsignal [RWCD100 auf den Binärwert "1". Dieses Signal veranlaßt das Laden eines ZAC-Anweisungswortes/Datenwortes in den Schreibanweisung/Datenpuffer 750-100.
Der Haltesteuerblock 750-117 umfaßt ein Ubergangspuffer-Treffersperr-Flip-Flop 750-11700 (FINHTBHIT), ein UND-Gatter 750-11702 und mehrere UND/NAND-Gatter 750-11704 bis 750-11716. Das Flip-Flop 750-11700 wird über ein erstes UND-Gatter und ein NAND-Gatter 750-11701 auf "1" gesetzt, wobei dies beim Auftreten des Taktsignales[CLKT020 geschieht, wenn die Signale INHTBHIT100 und TBHIT100 den Binärwert "1" aufweisen. Das NAND-Gatter 750-11701 setzt das Signal INHTBHIT100 auf den Binärwert "1" im Falle eines Löschzustandes (d. h. Signal (CANCELC012 gleich "0").
Die komplementäre Ausgangsseite des Flip-Flops 750-11700 liefert das Signal FINHTBHITOOO an den Eingang des UND-Gatters 750-11702. Ein Listen-Belegtsignal DIRBUSYOOO von dem Block 750-526 wird dem anderen Eingang des UND-Gatters 750-11702 zugeführt. Wenn die Liste keine Suche durchführt (d. h. Signal DRTBUSY000 gleich "1") und das Signal INHTBHIT100 den Binärwert "1" besitzt, so setzt das UND-Gatter 750-11702 das Signal INHTBACMPOOO auf den Binärwert "1". Dies veranlaßt das Gatter 750-11704,das Signal TBHIT100 auf "1" zu setzen, wenn das UND-Gatter 750-136 ein Ubergangsblock-
03002^/0833
Adressenvergleichssignal TBACMP100 auf "1" setzt. Zur gleichen Zeit setzt das Gatter 750-11704 das Signal TBHITOOO auf den Binärwert "0".
Die UND/NAND-Gatter 750-11708 bis 750-11710 erzeugen Signale CPSTOPOOO bis CPSTOP003, die an den Prozessor 700 gerichtet werden, um einen Haltezustand anzuzeigen. Die anderen UND/NAND-Gatter 750-11714 bis 750-11716 erzeugen Signale (JHOLDDMEMO00 bis &IOLDDMEM003, um einen internen Haltezustand festzulegen und zu verhindern, daß andere Abschnitte der Puffereinheit 750 die Anweisung bearbeiten, die durch den Prozessor 700 an die Anweisungsleitungen angelegt wird. Immer wenn ein Halte-Anweisungszustand (d.h. Signal HOLDCMD000 gleich "0"), ein Fehltrefferzustand (d. h. Signal FRDMISS020 gleich "0"), ein Halte-Quadzustand von dem Bleck 750-916 (d. h. Signal HOLDLDQUAD000 gleich "0") oder ein Ubergangsblock-Trefferzustand (d. h. Signal TBHITOOO gleich "0") vorliegt, so setzen die Gatter 750-11708 bis 750-11710 ihre entsprechenden Ausgangssignale CPSTOP003 bis CPSTOPOOO auf 11O" und die Signale CPSTOP103 bis CPSTOP100 auf "1". Dies veranlaßt wiederum den Prozessor 700ydie Operation anzuhalten.
Bei den gleichen Zuständen setzen die Gatter 750-11714 bis 750-11716 ihre entsprechenden Ausgangssignale ßiOLDDMEMOOO bis OiOLDDMEM-003 auf "0" und die Signale [HOLDDMEM100 bis &K)LDDMEM103 auf "1", wenn zusätzlich ein Halte-Suchzustand (d. h. Signal HOLDSEARCH000 gleich "0") vorliegt, was dadurch angezeigt wird, daß das UND-Gatter 750-11712 das Signal EARLYHOLD000 auf "0" setzt oder wenn zusätzlich ein Pufferspeicher-Haltezustand (d. h. Signal [HOLDCCU-000 gleich "0" vorliegt.
Unter Bezugnahme auf die Figur ist erkennbar, daß die Zeittaktschaltkreise des Blockes 750-118 ein synchrones Flip-Flop 750-11800 vom D-Typ mit zwei UND/ODER-Eingangsschaltkreisen umfassen. Das Flip-Flop 750-11800 erhält ein Halbtaktsignal [CLKHT100 über das Gatter 750-11802 und den Inverterschaltkreis 750-11804 zugeführt. Ein Definiertaktsignal DEFTCLK110 wird dem einen der
03002A/0833
Dateneingänge über ein Paar von Verzögerungspufferschaltkreisen 750-11806 und 750-11808 zugeführt. Jeder Pufferschaltkreis bildet eine minimale Verzögerung von 5 ns.
Beide SignalefCLKHTI00 und DEFTCLK110 werden durch die gemeinsame Zeittaktquelle erzeugt. Auf Grund dieser Signale schaltet das Flip-Flop 750-11800 mit der abfallenden Flanke des Signales DEFTCLK110 auf den Binärzustand "1" um. Es schaltet auf den Binärzustand "0" um beim Auftritt des nächsten Signales [CLKHT100 (mit der abfallenden Flanke).
Die Signale FHT100 und FHTOOO werden zusätzlich zu den Signalen FHT120, FHT010,und FHT020, die von den Ausgangssignalen des Flip-Flops 750-11800 abgeleitet werden,an andere Schaltkreise des Abschnittes 750-1 sowie an weitere Abschnitte (z.B. 750-5, 750-9 und 750-114) verteilt. Die Signale FHT120, FHT020 und FHT010 werden über ein weiteres Paar von Verzögerungspufferschaltkreisen 750-11810 und 750-11812 und einen Treiberschaltkreis 750-11814 entsprechend verteilt.
Die durch die gemeinsame Zeittaktquelle erzeugten Taktsignale, wie beispielsweise (CLKT020 und[CLKT022 werden in ihrer rohen Form an verschiedene Flip-Flops von Registern verteilt. Wenn ein Bedürfnis für die Erzeugung eines Halbtaktsignales vorliegt, so wird das Taktsignal I.CLKHT020 mit dem Bestimmungssignal FHT100 am Eingang des Flip-Flops bzw. Registers verknüpft. Der Zustand des Signales FHT100 wird benutzt, um die erste und zweite Hälfte eines Zeittaktzyklus T zu definieren. Wenn das Signal FHT100 den Binärwert "1" aufweist, so definiert dies ein Zeitintervall entsprechend der ersten Hälfte eines Taktzyklus T. Wenn andererseits das Signal FHT100 den Binärwert "0" aufweist, so definiert es ein Zeitintervall entsprechend der zweiten Hälfte eines Taktzyklus T.
Für die Zwecke der vorliegenden Erfindung können die Daten-Regenerierschaltkreise einen herkömmlichen Aufbau aufweisen. Diese
03002A/0833
Schaltkreise erzeugen ein Daten-Regeneriersignal, das an den Prozessor 700 gerichtet wird, indem das Halbtaktsignal FHTOOO mit einem Signal einer UND-Verknüpfung unterzogen wird, das anzeigt, daß Daten in die Prozessorregister einzutasten sind. Dies ruft die Erzeugung des Daten-Regeneriersignales nur während der zweiten Hälfte eines Taktzyklus T hervor, wenn derartige Daten in die Prozessorregister einzutasten sind.
Im Falle der Abschnitte 750-5 und 750-9 wird das Signal FHT100 benutzt, um die Umschaltung anderer Zeittakt- und Steuer-Flip-Flops zu steuern.
030024/0833
Detaillierte Beschreibung des Abschnittes 750-3
Fig. 7b zeigt in näheren Einzelheiten bestimmte Blöcke des Abschnittes 750-3. übereinstimmende Bezugszeichen wurden dort benutzt, wo es möglich war.
Gemäß Fig. 7b ist ersichtlich, daß die Decodierschaltkreise des Blockes 750-303 einen Decodierschaltkreis 750-30300 umfassen, der durch das Signal ENBMEMLEV100 von den Schaltkreisen des Blockes 750-920 zum Betrieb freigegeben wird. Die Signale der nicht invertierten Ausgangsanschlüsse des Decodierschaltkreises 750-30300 sind auf die Eingangsanschlüsse eines ersten Multiplexerschaltkreises 750-30302 geführt. Die Signale der invertierten Ausgangsanschlüsse sind auf die Eingangsanschlüsse eines zweiten Multiplexerschaltkreises 750-30304 geführt. Der Multiplexerschaltkreis 750-30302 ist immer für den Betrieb freigegeben, während der Multiplexerschaltkreis 750-30304 nur freigegeben ist, wenn das Signal ENBADR1100 durch die Schaltkreise des Blockes 750-920 auf den Binärwert "1" gesetzt ist. Es sei davon ausgegangen, daß die Stellungen 0 beider Multiplexerschaltkreise immer ausgewählt sind.
Vorbestimmte Kombinationen der zwei Gruppen von Steuersignalen (2ADR01100 bis [ZADR71100 und Signale [ZADR001 00 bis fZADR70100 werden den Steuereingangsanschlüssen eines jeden der 8 Doppelkanal-Adressauswahlschalter 750-302a bis 750-302h in der dargestellten Weise zugeführt. Es ist erkennbar, daß jeder Doppelkanalschalter eine Anzahl Abschnitte umfaßt, wobei jeder Abschnitt drei Teile aufweist, was durch die durchgezogenen Linien zwischen den Abschnitten angedeutet ist. Der Einfachheit halber sind die Abschnitte eines jeden Schalters zusammen dargestellt. Ferner ist der Einfachheit halber der Steuerteil eines jeden Abschnittes nur einmal dargestellt, da er für alle Abschnitte der gleiche ist.
Wie aus der Figur ersichtlich, werden in Abhängigkeit von dem Zustand der Paare von Steuersignalen [ZADR001 00, [ZADRO11 00 bis (ZADR70100, [ZADR71100 die Signale von einer der drei Quellen an
030024/0833
jede Gruppe von AnschlussenW, X, Y und Z gleichzeitig angelegt.
030024/0833
Detaillierte Beschreibung des Abschnittes 750-5
Fig. 7c zeigt in näheren Einzelheiten bestimmte Blöcke des Abschnittes 750-5. übereinstimmende Bezugszeichen wurden dort benutzt, wo es möglich war.
Gemäß Fig. 7c ist erkennbar, daß die Listen-Treffer/Fehltreffer-Steuerschaltkreise des Blockes 750-512 ein Codiernetzwerk aus mehreren NAND-Gattern 750-51200 bis 750-51220 und mehreren Verstärkerschaltkreisen 750-51224 bis 750-51228 aufweisen. Die NAND-Gatter codieren die Gruppe von Signalen ZFE1100 bis ZFE7100 von dem Block 750-506 und die Gruppe von Signalen ZHT1100 bis ZHT-7100 von den Blöcken 750-546 bis 750-552 in einen 3 Bit-Code für die Steuerung des Schalters 750-306.
Das Signal GSRCH100 wird durch die Schaltkreise des Blockes 750-526 erzeugt. Wie erläutert, wird dieses Signal nur auf "1" während der zweiten Hälfte eines Taktzyklus T gesetzt. Somit wird ein Ausgangssignal an einem der NAND-Gatter 750-51200 bis 750-51208 nur während dieses Intervalls erzeugt. Insbesondere setzt das Treffersignal, das durch den Zustand des Voll-Leer-Bits festgelegt ist, eines der Signale ZCDLEV1000 bis ZCDLEV7000 auf den Binärwert "0". Hierdurch werden die NAND-Gatter 750-51216 bis 750-51220 in die Lage versetzt, den geeigneten 3 Bit-Code zu erzeugen.
Das ebenfalls durch die Schaltkreise des Blockes 750-526 erzeugte Signal ZCDICENAB100 wird nur während der ersten Hälfte eines Taktzyklus T auf den Binärwert "1" gesetzt. Somit werden die Ausgangssignale der NAND-Gatter 750-51210 bis 750-51214 nur während dieses Intervalles erzeugt. Dies bedeutet, daß die Befehl-Adresspegelsignale ZNICLEVO100 bis ZNICLEV2100 von dem Block 750-910 Signale ICLOOOO bis ICL2000 erzeugen, die ihrerseits Signale ZCD0100 bis ZCD2100 erzeugen. Es sei darauf verwiesen, daß die Signale ZCD0100 bis ZCD2100 den Pegelsignalen ZNICLEV0100 bis ZNICLEV2100 entsprechen.
03 0024/0833
Die Signale RDDBLLOOOO bis RDDBLL2000 werden benutzt, um den zweiten Operationszyklus für eine Doppel-Leseanweisung zu definieren. Wenn sich daher irgendeines der Signale RDDBLLOOOO bis RDDBLL2000 in dem Binärzustand "0" befindet, so wird hierdurch ein entsprechendes Signal innerhalb der Signale ZCD0100 bis ZCD2100 auf den Binärwert "1" gesetzt.
Die Signale ZCD0100 bis ZCD2100 werden verschiedenen Eingängen entsprechender Verstärker-Treiberschaltkreise 750-51224 bis 750-51228 zugeführt. Diese Schaltkreise legen die Steuersignale [ZCD0100 bis[ZCD2100 an die Steueranschlüsse des Schalters 750-306 an.
Als nächster Block ist der Block 750-526 in Fig. 7c in näheren Einzelheiten dargestellt. Wie zuvor erwähnt, umfaßt der Block 750-526 eine Anzahl von Listensteuer-Flip-Flops. Die dargestellten Steuerzustands-Flip-Flops umfassen das Listenzuordnungs-Steuerzustands-Flip-Flop 750-52600 (FDIRASN) und mehrere Zeittakt-Flip-Flops eines Registers 750-52610.
Das Flip-Flop 750-52600 ist ein getaktetes D-Flip-Flop, das über ein erstes Eingangs-UND-Gatter im Falle einer Anweisungsanforderung (d. h. Signal REQCOMB0100 gleich "1") für eine Anweisung vom Lesetyp (d. h. RDTYP100 gleich "1") auf den Binärwert "1" gesetzt wird, wenn der Prozessor 700 Daten vom Speicher und nicht vom Pufferspeicher 750 anfordert (d. h. Signal BYPCAC110 gleich "1"). Bei Abwesenheit eines Haltezustandes (d. h. Signal HOLDOOO, welches über ein UND-Gatter 750-52602 angelegt wird, besitzt den Binärwert "1"), bei einem Ubertragungs-Marschsignal (d. h. Signal NOGO021 gleich "1"), bei Abwesenheit eines Löschzustandes (d. h. Signal CANCELC010 gleich "1") und bei Signalisierung einer Anforderung durch den Prozessor 700 (d. h. Signal DREQCAC111 gleich "1") setzt das UND-Gatter 750-52604 das Signal REQCOMBO100 auf den Binärwert "1".
030024/0833
29A8B68
Ein UND-Gatter 750-52606 setzt das Signal SETONBYP100 auf den Binärwert "1" im Falle eines Lesetyps, wenn der Decodierschaltkreis 750-528 das Signal RDTYP100 auf den Binärwert "1" und der Prozessor 700 das Puffer-Umgehungssignal BYPCAC110 auf den Binärwert "1" setzt. Daraufhin schaltet das FDIRASN-Flip-Flop 750-52600 auf den Binärwert "1" um, um einen Listenzuordnungs-Operationszyklus vorzugeben.
Das Flip-Flop 750-52600 wird ebenfalls auf den Binärwert "1" über ein zweites Eingangs-UND-Gatter im Falle einer Anweisungsanforderung (d. h. Signal REQCOMB0100 gleich "1") gesetzt, wenn ein Trefferfehlzustand für den zum Lesen angeforderten Block festgestellt wird (d. h. Signal SETONMISS100 gleich "1"). Das Signal SETONMISS100 wird durch ein UND-Gatter 750-52608 auf "1" gesetzt, wenn das Signal RDTYP100 und das Signal RAWHITOOO von dem Block 750-512 den Binärwert "1" aufweisen. Das Flip-Flop 750-52600 wird auf "0" beim Auftritt des Taktsignales (CLOCK112 zurückgestellt, wobei dieses Taktsignal von der gemeinsamen Quelle in Abwesenheit eines Ausgangssignales von den zwei Eingangs-UND-Gattern erzeugt wird.
Ein erstes Flip-Flop FICENAB des Registers 750-52610 wird benutzt, um das Zeitintervall innerhalb des Taktzyklus T zu definieren, indem Befehle oder Operanden von der Puffereinheit 750 abzurufen sind.
Dieses Flip-Flop wird auf "1" über ein erstes UND-Gatter auf Grund des Taktsignales [CLOCKD120 gesetzt, wenn das durch die Zeittaktschaltkreise des Blockes 750-112 erzeugte Signal FHT100 den Binärwert "1" aufweist. Das Taktsignal£CLOCKD120 von der gemeinsamen Zeittaktquelle wird über ein UND-Gatter 750-56612 und zwei Inverterschaltkreise 750-52612 und 750-52514 angelegt. Das Flip-Flop FICENAB wird beim folgenden Taktsignal zurückgestellt, wenn das Signal FHT100 auf "0" umgeschaltet hat.
Q3C02W0833
Das zweite Flip-Flop des Registers 750-52610 wird benutzt, um ein Intervall zu definieren, während welchem Operanden (keine Befehle) von dem Puffer 750 infolge eines speziellen Zustandes abgerufen werden. Der spezielle Zustand wird durch eine IF1-Anweisung verursacht, die nicht das letzte Wort in einem Befehlsblock bestimmt. Das FRCIC-Flip-Flop wird auf den Binärwert "T über ein erstes Eingangs-UND-Gatter auf Grund des Taktsignales §:lOCKD120 geschaltet, wenn das Signal FJAMZNICLEVOOO den Binärwert "1" aufweist. Das FRCIC-Flip-Flop wird beim nächstfolgenden Taktimpuls zurückgestellt, wenn das Signal FJAMZNICLEVOOO auf den Binärwert "0" umgeschaltet hat.
Das Signal an dem "O"-Ausgangsanschluß des FICENAB-Flip-Flops entspricht dem Gatter-Halbtaktsignal GATEHFTCHLK110, das an die Schaltkreise des Blockes 750-920 verteilt wird.
Das Signal FICENABOOO wird mit dem Signal FRCICOOO und dem Signal RDDBLZCDEOOO in einem UND-Gatter 750-52616 kombiniert, um das Signal GSRCH100 zu erzeugen. Das Signal RDDBLZCDEOOO stammt von dem Decodierschaltkreis. Dieses Gatter setzt das Signal GSRCH100 während der zweiten Hälfte eines Taktzyklus T auf "1", wenn Operanden abgerufen werden (d. h. Signal FICENABOOO gleich "1"), ausgenommen der Fall, wo eine Doppel-Leseanweisung vorliegt (d. h. Signal RDDBLZCDEOOO gleich "1").
Der "O"-Ausgangsanschluß des FICENA-Flip-Flops wird mit dem Signal FRCICOOO in einem NAND-Gatter 750-52618 kombiniert. Das NAND-Gatter 750-52618 setzt während der ersten Hälfte des Taktintervalles T das Signal ZCDINCENAB100 auf "1", wenn Befehle abgerufen werden (d. h. Signal FICENABOOO gleich "0") oder im Falle der zuvor beschriebenen IF1-Anweisung (d. h. Signal FRCICOOO gleich "0").
Die Schaltkreise des Blockes 750-526 umfassen ferner ein NAND-Gatter 750-52620 und mehrere UND-Gatter 750-52622 bis 750-52628, die in der dargestellten Weise miteinander verbunden sind. Die Schaltkreise erzeugen ein erstes Freigabe-Steuersignal DIRADDE100
Q30024/0833
für die Steuerung des Betriebs des Decodierschaltkreises 750-521. Zusätzlich erzeugen sie ein zweites Freigabe-Steuersignal FEDCODE-100 für die Betriebssteuerung eines Decodierschaltkreises 750-52000 des Blockes 750-520.
In näheren Einzelheiten setzt während eines Listen-Zuordnungszyklus (d. h. Signal FDIRASN100 gleich "1") und in Abwesenheit eines Ubertragungs-Stillstandszustandes (d. h. Signal NOGO21 gleich "1") das UND-Gatter 750-52626 das Signal DIRNOGO100 auf den Binärwert "1". Wenn ein Signal FSKIPRROOO von den Schaltkreisen des Blockes 750-916 den Binärwert "1" aufweist, so setzt dieses über das UND-Gatter 750-52628 das Signal DIRADDE100 auf den Binärwert "1", wodurch der Decodierschaltkreis 750-521 für den Betrieb freigegeben wird. Wenn entweder das Signal DIRNOGO-100 oder FSKIPRROOO auf den Binärwert "0" gesetzt ist, so sperrt das UND-Gatter 750-52628 den Decodierschaltkreis 750-521, indem es das Signal DIRADDE100 auf "0" setzt.
Unter den gleichen Bedingungen setzt das UND-Gatter 750-52624 das Signal FEDCODE100 auf den Binärwert "1", wodurch der Decodierschaltkreis 750-52000 für den Betrieb freigegeben wird. Das UND-Gatter 750-52630 setzt über einen Verstärkerschaltkreis 750-52632 das Signal FORCEBYP000 auf den Binärwert "1", wenn beide Signale FSKIPRROOO und FBYPCACOO auf "1" gesetzt sind. Das Signal FORCEBYPOOO wird dem Übergangsblock-Hinweisabschnitt des Blockes 750-102 zugeführt. Das Signal FBYPCAC000 wird in herkömmlicher Weise in Übereinstimmung mit dem Signal erzeugt, das durch den Prozessor 700 an die Leitung BYPCAC angelegt wird. Das Signal wird in einem nicht dargestellten Flip-Flop gespeichert, dessen ^"-Ausgangs signal dem Signal FBYPCAC000 entspricht.
Die Schaltkreise des Blockes 750-520 umfassen den Decodierschaltkreis 750-52000 und ein Paar von Multiplexerschaltkreisen 750-52002 und 750- 52004. Es wird davon ausgegangen, daß normalerweise die an die Eingangsanschlüsse 0 der Multiplexerschaltkreise 750-52002 und 750-52004 angelegten Signale als Ausgangssignale ausgewählt werden (d. h. daß das dem Eingang G zugeführte
030024/0833
Signal den Binärwert "O" besitzt). Wenn daher der Decodierschaltkreis 750-52000 freigegeben ist, so führen die Ausgangssignale FED0100 bis FED7100 zu der Erzeugung von Signalen RWFE0100 bis RWFE7100 auf Grund des TaktsignalesfCLOCKOOO.
Fig. 7c zeigt in näheren Einzelheiten das Register 750-504, das ein getaktetes vierstufiges Register 750-50400 und mehrere Verstärkerschaltkreise 750-50402 bis 750-50602 umfaßt. Das Register 750-50400 weist Flip-Flops vom D-Typ auf, wobei die ersten drei so miteinander verbunden sind, daß sie zyklische Signale OLDRR-0100 bis OLDRR2100 speichern. Das vierte Flip-Flop zeigt das Vorhandensein eines alternativen Trefferzustandes an, der durch die nicht dargestellten Schaltkreise des Blockes 750-562 festgestellt worden ist. Dies bedeutet, daß es auf den Binärwert "1" gesetzt wird, wenn das Signal ALTHIT100 den Binärwert "1" aufweist.
Es sei vermerkt, daß die Flip-Flops des Registers 750-50400 nur auf Grund des Taktsignales [CLOCK112 freigegeben werden, wenn das Signal FDIRASNOOO den Binärwert "1" aufweist und somit anzeigt, daß kein Listen-Zuordnungszyklus auszuführen ist (ein Trefferzustand) .
Für den Fall, daß ein Trefferzustand innerhalb der ersten Hälfte eines Blockes festgestellt wird, wird das Signal ALTHITOOO auf "0" gesetzt. Dies verursacht das Laden der ersten drei Flip-Flops des Registers 750-50400 mit den zyklischen Signalen RR0100 bis RR2100 von dem Block 750-500 über eine erste Gruppe von Eingangs-UND-Gattern. Wenn ein Trefferzustand innerhalb der anderen Hälfte (alternativ) bezüglich des Blockes festgestellt wird, so setzen die Schaltkreise des Blockes 750-512 das Signal ALTHIT100 auf den Binärwert "1". Dies veranlaßt das Laden der drei Flip-Flops über eine zweite Gruppe von Eingangs-ÜND-Gattern mit den alternativen Pegelsignalen ALTHITLEV0100 bis ALTHITLEV2100, die durch die Schaltkreise des Blockes 750-512 erzeugt werden.
030024/0833
29A8B68
Die "1"-Signale des Registers 750-50400 werden den Eingängen der Verstärker-Treiberschaltkreise 750-50402 bis 750-50406 für die Speicherung in dem Ubergangsblockpuffer 750-102 zugeführt. Die gleichen Signale werden dem A-Operandeneingang eines Addierschaltkreises des Blockes 750-508 zugeführt. Der Addierschaltkreis addiert bzw. erhöht die Signale OLDRR0100 bis OLDRR2100 um eins, wobei der Binärwert "1" dem Eingangsanschluß C1 des Addierschaltkreises zugeführt wird. Die an den F-Ausgangsanschlüssen erzeugten Summensignale NXTRRO100 bis NXTRR2100 werden in den zyklischen Abschnitt der Steuerliste 750-500 eingeschrieben.
Schließlich werden die Signale OLDRR0100 bis OLDRR2100 als Eingänge einer weiteren Gruppe von Verstärker-Treiberschaltkreisen 750-50408 bis 750-50412 zur Speicherung in einem der Befehlsadressregister 750-900 und 750-902 gemäß Fig. 7e zugeführt.
Ö3002W0833
Detaillierte Beschreibung des Abschnittes 750-7
Fig. 7d zeigt in näheren Einzelheiten verschiedene Blöcke des Abschnittes 750-7. Gemäß Fig. 7d umfaßt der Block 750-722 mehrere in Reihe geschaltete NAND-Gatter 750-72230 bis 750-72234. Den NAND-Gattern 750-72230 und 750-72231 werden Befehlspuffer-Gültigkeits- und Steuersignale IBUF1V100, [ZRIB010 und IBUF2V100, [ZRIB-100 von den Befehlspuffern 750-715 und 750-717 sowie von dem Block 750-920 zugeführt. Die Signale IBUF1V100 und IBUF2V100 legen den Befehlpuffer fest, in den die Information zu laden ist. Wenn das Signal IBUF1V100 den Binärwert "1" aufweist, so wird der Befehlspuffer 750-715 geladen. Wenn das Signal IBUF2V100 den Binärwert "1" aufweist, so wird der Befehlspuffer 750-717 geladen.
Die Steuersignale [J5RIB010 undQZRIB100 legen fest, welches Befehlspuffer-Gültigkeitbit des adressierten Befehlspuffers zu prüfen ist, d. h. daß das IBUFI-Gültigkeitsbit durch die Schaltkreise des Blockes 750-920 festgelegt wird, wenn das Signal ZRIB-010 den Binärwert "1" aufweist. Wenn das Signal [ZRIB100 den Binärwert "1" aufweist, so wird das IBUF2-Gültigkeitsbit festgelegt. Wenn entweder das Signal IBUF1RDYOOO oder das Signal IBUF2-RDYOOO auf den Binärwert "0" gesetzt ist, so setzt das NAND-Gatter 750-72232 das Signal TBIBUFRDY100 auf den Binärwert "1", wodurch ein Bereitschaftszustand angezeigt wird.
Die Schaltkreise des Blockes 750-920 setzen ein Freigabesignal USETBRDY100 auf "1" nach der Umschaltung des geeigneten Befehlspuffer-Gültigkeitbits. Dadurch setzt das NAND-Gatter 750-72233 das Signal TBRDYOOO auf den Binärwert "0". Infolgedessen schaltet das NAND-Gatter 750-72234 das Signal IBUFRDY100 auf den Binärwert "1", wodurch der Bereitschaftszustand signalisiert wird.
Es sei ferner darauf verwiesen, daß das NAND-Gatter 750-72234 ebenfalls das Signal IBUFRDY100 auf "1" setzt, wenn ein Befehlsabruf-Bereitschaftssignal IFETCHRDYOOO durch die Schaltkreise
G3Q02W0833
des Blockes 750-920 auf "0" gesetzt wird. Das Signal IFETCHRDY-000 besitzt den Binärwert "1" mit Ausnahme, wenn die Befehle von
einem Block im Pufferspeicher entnommen werden. Schließlich setzt das NAND-Gatter 750-72234 das Signal IBUFRDY100 auf den Binärwert "1", wenn ein Befehlspuffer-Vergleichssignal IBUFCMPR000 durch
den Vergleichsschaltkreis 750-11435 auf den Binärwert "1" gesetzt wird.
B30Q2W0833
- ΉΤ-
Detaillierte Beschreibung des Abschnittes 750-9
Fig. 7e zeigt in näheren Einzelheiten bestimmte Blöcke des Abschnittes 750-9. übereinstimmende Bezugszeichen wurden benutzt, wo dies möglich war.
Gemäß Fig. 7e ist ersichtlich, daß der Block 750-920 eine erste Gruppe von Schaltkreisen in dem Block 750-9200 enthält, die die 4 Gruppen von Schreibsteuersignalen WRT00100 bis WRT70100, WRT01100 bis WRT71100, WRT02110 bis WRT72100 und WRT03100 bis WRT73100 erzeugen. Gemäß Fig. 7e umfassen diese Schaltkreise ein Paar von Multiplexerschaltkreisen 750-92002 und 750-92004, ein Register 750-92006 und 4 Oktal-Decodierschaltkreise 750-92008 bis 750-92014, die in der dargestellten Weise miteinander verbunden sind.
Dem Multiplexerschaltkreis 750-92002 werden Signale RHITLEV0100 bis RHITLEV2100 von dem Block 7 50-512 an der Gruppe von Eingangsanschlüssen 0 zugeführt während Signale RTBLEVO100 bis RTBLEV2100 der Gruppe von Eingangsanschlüssen 1 zugeführt werden. Während der ersten Hälfte des Taktzyklus T, wenn das dem Steueranschluß G0/G1 zugeführte Signal FDFN2HT100 den Binärwert 11O" besitzt, werden die Signale RHITLEV0100 und RHITLEV2100 an den Ausgangsanschlüssen abgegeben. Sie werden in die oberen drei Flip-Flops des Registers 750-92006 auf Grund des Taktsignales [CLKHT02 eingegeben. Dies ermöglicht das Einschreiben von Prozessoroperanden in den Pufferspeicher 750-300 während der zweiten Hälfte des Taktzyklus T. Während der zweiten Hälfte des Taktzyklus T und wenn das Signal FDFN2HT100 auf "1" gesetzt ist, werden die Signale RTBLEV0100 bis RTBLEV2100 in das Register 750-92006 auf Grund des Taktsignales fcLKHT02 eingetaktet. Dies ermöglicht das Einschreiben von Speicherdaten in den Pufferspeicher 750-300 während der ersten Hälfte des nächsten Zyklus.
Dem zweiten Multiplexerschaltkreis 750-92004 werden Signale ZONE0100 bis ZONE3100 von dem Schalter 750-144 an der Gruppe von
Ö30024/0833
Eingangsanschlüssen O zugeführt, während das Signal MEMWRTREQ100 von dem Block 750-112 der Gruppe von Eingangsanschlüssen 1 zugeführt wird. Wenn das Signal FDFN2HT100 den Binärwert "0" besitzt, so werden die Signale ZONEO100 bis ZONE3100 an den Ausgangsanschlüssen ausgegeben. Sie werden in die unteren drei Flip-Flops des Registers 750-9206 auf Grund des TaktsignalestcLKHT02 eingetaktet. Während der ersten Hälfte eines Taktzyklus T setzt das NAND-Gatter 750-92005 das Signal ENBWRT100 auf den Binärwert "1", wodurch die zuvor geladenen Signale an den Ausgangsanschlüssen ausgegeben werden können. Dies ermöglicht die Verwendung der Prozessor-Zonenbits, um festzulegen, welche Operandenbytes fortzuschreiben sind, wenn Prozessordaten in den festgelegten Pegel des Pufferspeichers geschrieben werden. Wenn das Signal FDFN2HT100 auf den Binärwert "1" gesetzt wird, so wird das Signal MEMWRTREQ100 in das Register 750-92006 eingetaktet. Hierdurch werden alle Zonenbits auf den Binärwert "1" gesetzt, wodurch alle Bytes eines jeden vom Speicher empfangenen Datenwortes in den festgelegten Pegel des Pufferspeichers während der ersten Hälfte des nächsten Taktzyklus T eingeschrieben werden.
Gemäß Fig. 7e werden verschiedene Signale RWRTLEV0100 bis RWRTLEV-2100 an die Freigabeanschlüsse der Oktal-Decodierschaltkreise 750-92008 bis 750-92014 angelegt. Die Signale RWRTLEV0100 bis RWRTLEV-2100 werden an die Eingangsanschlüsse eines jeden Oktal-Decodierschaltkreises 750-92008 bis 750-92014 angelegt.
Der Block 750-920 umfaßt eine zweite Gruppe von Schaltkreisen in dem Block 750-92020. Diese Schaltkreise erzeugen das Halbtaktsignal, das den Schaltkreisen des Blockes 750-92000 zugeführt wird, das Speicherpegel-Freigabesignal ENABMEMLEV100 und das Adressfreigabesignal ENADR1100, das an die Schaltkreise des Blockes 750-303 angelegt wird. Sie erzeugen ferner die Gruppen von Steuersignalen [ZIC010, [ZIC110 und[RICA100, (RICB100, die den Schaltkreisen der Befehlsadressregister 750-900 und 750-902 zugeführt werden, sowie die Steuersignale [RIRA100 und[RIRB100, die an die Register 750-308 und 750-310 angelegt werden.
030024/0833
Die Schaltkreise des Blockes 750-92020 umfassen ein Paar von Halfte-Definier-Flip-Flops eines Registers 750-92022, eine Gruppe von 3 Steuer-Flip-Flops des Registers 750-92024 und ein getaktetes Flip-Flop 750-92026. Die Schaltkreise umfassen ferner eine Anzahl von UND-Gattern, NAND-Gattern, UND/NAND-Gattern und UND/ ODER-Gattern 750-92030 bis 750-92041.
Das UND/NAND-Gatter 750-92030, das UND/ODER-Gatter 750-92032 und die UND-Gatter 750-92034 und 750-92035 erzeugen auf Grund eines Signales FLDQUAD100 von dem Schaltkreis 750-916, eines Signales FWFIDESC010 von dem Prozessor 700 und auf Grund von Signalen FACTVRICOOO und FACTVRIC100 von dem Register 750-92024 Steuersignale [ZICOOO, [ZIC010 und[ZIC110. Diese Signale werden benutzt, um den Betrieb des ZIC-Schalters 750-906 und der verschiedenen Abschnitte der Register 750-900 und 750-902 (Pegel-Gültigkeitsbit und Pegelbit) zusätzlich zu zugeordneten Registern zu steuern.
Das UND-Gatter 750-92036, das UND/NAND-Gatter 750-92037 und die NAND-Gatter 750-92038 bis 750-92041, die alle in Reihe geschaltet sind, dienen der Erzeugung von Register-Tastsignalen [RICA100 und jpiCBIOO. Diese Signale steuern das Laden der Register 750-900 und 750-902. Das UND-Gatter 750-92036 setzt das Signal VALRDIBUF100 auf den Binärwert "1", wenn ein Trefferzustand im Falle einer Leseanweisung festgestellt wurde (d. h. Signal FRDMISSOOO gleich "1"), die Übertragung stattfindet (d. h. Signal NOGO020 gleich "1") und wenn das Signal CMPDATA/ICLEVOOO von dem Vergleichsschaltkreis des Blockes 750-912 den Binärwert "1" besitzt.
Das Signal FRDMISSOOO wird von dem Ausgang "0" eines nicht dargestellten Flip-Flops erhalten, das gemäß folgender Bool'scher Gleichung gesetzt wird:
FRDMISS = (RDCMD· HOLDDMEM·HITTOIC· CANCELC). Die Signale GOODFTCHA100 und GOODFTCHB100, die durch nicht dargestellte Schaltkreise erzeugt werden, zeigen an, ob das RICA-Register 750-900 oder das RICB-Register 750-902 zu diesem Zeitpunkt benutzt wird und deren Inhalt daher erhöht wird. Beispielsweise wird das Signal GOODFTCHA100 gemäß folgender Bool'scher
030024/0833
Λ5Λ
Gleichung erzeugt:
GOODFTCHA = INSTIF1-FLDQUAD-FACTVRIC-FDFN2HT + FDFN2HT-FLDQUAD·FACTVRIC.
Das Signal GOODFTCHB100 wird in gleicher Weise erzeugt, wobei jedoch der Zustand der Signale FACTVRIC und FACTVRIC umgekehrt wird.
Es ist erkennbar, daß wenn das Signal EXECRDIBUF100 auf "1" gesetzt ist und wenn der Prozessor 700 das Signal RDIBUF110 auf den Binärwert "1" setzt, das NAND-Gatter 750-92039 über das NAND-Gatter 750-92041 das Signal RICA100 auf den Binärwert "1" setzt, wenn das Signal GOODFTCHA100 den Binärwert "1" aufweist. Das Signal ENBSTRBA000 zeigt an, wenn das RICA-Register 750-900 anfänglich zu laden ist. D. h. daß das NAND-Gatter 750-92041 das Signal [RICA100 auf den Binärwert "1" setzt, wenn das Signal ENBSTRBAOOO auf "0" gesetzt ist. Das Signal ENBSTRBA wird speziell gemäß folgender Bool'scher Gleichung erzeugt:
ENBSTRBA = FLDQUAD·FACTVRIC-FNEWIF1-FDFN1HT + FDFN1HT·FACTVRIC·FJAMZNICLEV·FHOLDIF1 + (INSTIF1 + DCDLDQUAD)-FACTVRIC-FDFN2HT-[CANCLCMD
+ FDFN 2HT· CZIC·INH 2HT·ENAB 2HT.
wobei ENAB2HT = ENABRIC1 + ENABRIC2
und INH2HT = [CANCLCMD-FLASTINST.
Unter jeder Gruppe von Bedingungen ermöglichen die Signale [RICA100 undCRICBIOO die Ansteuerung der entsprechenden Register, wenn sie entweder anfänglich geladen sind oder wenn nach der Adresserhöhung Befehle aus dem Pufferspeicher abgerufen werden.
Das NAND-Gatter 750-92042, das UND/NAND-Gatter 750-92043 und die NAND-Gatter 750-92044 bis 750-92049 sind so miteinander verbunden, daß sie Register-Ansteuersignale[RIRA100 und[RIRB100 in einer ähnlichen Weise erzeugen,wie dies bei der Erzeugung der Register-Ansteuersignale [RICA1 00 und[RICB100 der Fall war.
030024/0833
29A8668
Das NAND-Gatter 750-92046 setzt das Signal[RIRA100 auf den Binärwert "1" im Falle eines neuen Befehlsabrufes (d. h. Signal NEWINSTOOO gleich "0") oder wenn der Prozessor 700 einen Befehl aus dem RIRA-Register 750-308 nimmt (d. h. Signal TAKEINST000 gleich "0"). Das NAND-Gatter 750-92049 setzt das Signal[RIRB100 im Falle eines neuen Operandenabrufes (d. h. Signal NEWDATA000 gleich "0") oder wenn der Prozessor 700 ein Datenwort dem RIRB-Register 750-310 entnimmt (d. h. Signal TAKEDATAOOO'gleich "0").
Das UND-Gatter 750-92050 und das UND/NAND-Gatter 750-92051 erzeugen das Signal ENBMEMLEV100 während der zweiten Hälfte eines Taktzyklus T (d. h. Signal FDFN2HT101 gleich "1"),wenn die Schaltkreise des Blockes 750-112 das Speicher-Schreibanforderungssignal MEMWRTREQ100 auf den Binärwert "1" setzen. Das NAND-Gatter 750-92052 erzeugt das Signal ENBADR1100 während der zweiten Hälfte eines Taktzyklus T (d. h. Signal FDFN1HT101 gleich "0") oder wenn der Befehlszähler verwendet wird (d. h. Signal USEICOOO gleich "0") .
Was die Flip-Flop-Register betrifft, so ist erkennbar, daß das Flip-Flop des Registers 750-92026 über ein erstes UND-Gatter auf den Binärwert "1" umgeschaltet wird, wenn das UND-Gatter 750-92053 in die Lage versetzt wird, das Signal INSTIF1100 auf den Binärwert "1" zu setzen. Dies erfolgt auf Grund einer von dem Decodierschaltkreis 750-922 decodierten IF1-Anweisung (d. h. Signal DCDIFI100 gleich "1"), wobei keine zusätzlichen Deskriptoren erforderlich sind (d. h. das Signal FFPIMEIS020 von dem Prozessor 700 besitzt den Binärwert "1"), das UND-Gatter 750-92054 das Signal fCANCELCMD-000 auf Grund eines fehlenden Löschzustandes (d. h. Signal[CANCELC-010 gleich "1") auf den Binärwert "1" setzt und kein Haltezustand (d. h. Signal HOLDDMEM001 gleich "0") vorliegt.
Das Flip-Flop-Register 750-92026 wird auf "0" über ein zweites Eingangs-UND-Gatter zurückgestellt, wobei dieses Gatter Signale ENABNEWINSTOOO und NEWIF1FDBK100 von einem Paar von NAND-Gattern 750-92042 und 750-92043 und einem UND-Gatter 750-92055 zugeführt
030024/0833
erhält. Das "1"-Ausgangssignal des Flip-Flop-Registers 750-92026 wird dem NAND-Gatter 750-92056 zugeführt. Das NAND-Gatter 750-92056 schaltet während der ersten Hälfte des Taktzyklus T (d. h. Signal FDFN1HT100 gleich "1") das Signal USEICOOO auf den Binärwert "0" um, wenn das Signal FNEWIF1100 auf "1" gesetzt ist.
Das zweite Flip-Flop-Register 750-92022 umfaßt das Paar von Zeittakt-Flip-Flops, die beide auf "1" auf Grund des Signales GATEHFT-CLK100 von dem Abschnitt 750-5 bei dem HalbtaktsignalLCLKHT021 gesetzt sind. Die Flip-Flops des Registers 750-92022 werden auf Grund des nächsten Halbtaktsignales [CLKHT021 auf den Binärwert "O' zurückgestellt.
Die Flip-Flops des Registers 750-92024 liefern wie zuvor erwähnt verschiedene Zustandssteuersignale. Das erste Flip-Flop FRDIBUF wird auf "1" umgeschaltet, wenn das NAND-Gatter 750-92060 das Signal SETRDIBUF100 auf den Binärwert "1" setzt, was auf Grund einer Befehlspuffer-Leseanforderung von dem Prozessor 700 (d. h. Signal EXECRDIBUFOOO gleich "0") oder eines Bereitschafts-Sperrzustandes (d. h. Signal FINHRDY010 gleich "0") geschieht, wenn das UND-Gatter 750-92061 das Signal ENABSETRDIBUF100 auf "1" setzt. Das Signal ENABSETRDIBUF100 wird im Falle einer Anweisung auf "1" gesetzt, wenn diese Anweisung keine QUAD-Ladeanweisung (d. h. Signal FLDQUAD000 gleich "1") oder eine IF1-Anweisung (d. h. Signal GOODIF1000 gleich "1") ist. Das Flip-Flop FRDIBUF wird eine Taktperiode später auf Grund des Taktsignales [CLKT021 über ein zweites Eingangs-UND-Gatter zurückgestellt.
Das zweite Flip-Flop FACTVRIC des Registers 750-92024 wird über die NAND-Gatter 750-92062 und 750-92064, das UND-Gatter 750-92063 und das UND/NAND-Gatter 750-9206 5 gemäß den zuvor angegebenen Bool'sehen Gleichungen gesetzt und zurückgestellt. Das dritte Flip-Flop FRDDATA wird über ein erstes Eingangs-UND-Gatter auf Grund des Signales SETRDIBUF100 auf "1" gesetzt, wenn die Anweisung eine QUAD-Ladeanweisung ist (d. h. Signal FLDQUAD100
Q3002A/0833
gleich "1"). Das Flip-Flop FRDDATA wird eine Taktperiode später über ein zweites Eingangs-UND-Gatter auf Grund des Taktsignales (CLKT021 auf 11O" zurückgestellt.
Die nächste Gruppe von Schaltkreisen innerhalb des Blockes 750-920 umfaßt die Schaltkreise des Blockes 750-92070. Gemäß Fig. 7e weisen diese Schaltkreise mehrere erste UND-Gatter, UND/NAND-Gatter und NAND-Gatter 750-92071 bis 750-92086 auf, die in der dargestellten Weise miteinander verbunden sind. Diese Gatter erzeugen Steuersignale SETACURLEV100,QRICACNTL100 und RSTACURLEV-2000, die das Setzen und die Rückstellung des laufenden Pegels und der Pegel-Gültigkeitsbitpositionen des RICA-Registers 750-900 in Übereinstimmung mit dem Zustand der Signale SETALEV1VAL-100, RSTALEV1VALO00 und SETLEV2VAL100 steuern. Diese Signale werden durch mehrere andere UND-Gatter und NAND-Gatter 750-92087 bis 750-92095 erzeugt.
Mehrere zweite UND-Gatter, UND/NAND-Gatter und NAND-Gatter 750-92100 bis 750-92116 erzeugen in gleicher Weise Signale SETBCURLEV-100, RSTBCURLEV200 und [RICBCNTL100, die den laufenden Pegel und die Gültigkeitsbits des RICB-Registers 750-902 in Übereinstimmung mit den Signalen SETBLEV1VAL100, RSTBLEV1VALO00 und SETBLEV2VAL100 setzen und zurückstellen. Diese Signale werden durch mehrere andere UND-Gatter und NAND-Gatter 750-92120 bis 750-92125 erzeugt.
Mehrere UND-Gatter 750-92126 bis 750-92129 erzeugen auf Grund von Signalen SETALEV1VAL100, SETBLEV1VAL100, SETALEV2VAL100 und SET-BLEV1VAL100 Steuersignale [RICALEV1100 bis [RICBLEV2100, wenn das Signal CANCELCMDOOO den Binärwert "1" besitzt. Diese Signale werden den Steueranschlüssen der Pegelbit-Speicherabschnitte der RICA- und RICB-Register 750-900 und 750-902 zugeführt, um das Laden der Trefferpegelsignale von dem Abschnitt 750-512 zu steuern.
Mehrere weitere UND/NAND-Gatter UND/ODER-Gatter und NAND-Gatter 750-92130 bis 750-92137 erzeugen auf Grund von Signalen von den
03C02A/0833
Pegelgültigkeitsbit- und Pegel-Speicherabschnitten der Register 750-900 und 750-902 das Ubergangspuffer-Verwendungsbereitschaftssignal USETBRDY100 und die Steuersignale [ZRIB010 und[ZRIB100, die den Schaltkreisen des Blockes 750-114 zugeführt werden.
Es ist ebenfalls erkennbar, daß der Block 750-92070 ein Flip-Flop-Register 750-92140, ein Paar von UND-Gattern 750-92141 und 750-92142, ein Paar von UND/NAND-Gattern 750-92143 und 750-92144 und ein Paar von UND/ODER-Gattern 750-92145 und 750-92146 enthält, die in der dargestellten Weise miteinander verbunden sind. Die Flip-Flops des Registers 750-92140 werden mit dem Inhalt der Bitpositionen 8 und 9 der RICA- und RICB-Register 750-900 und 750-902 auf Grund des Taktsignales [CLKHT020 und unter Steuerung durch die Signale [RICA100 undfelCB100 geladen. Dies bedeutet, daß das obere Paar der Register-Flip-Flops getaktet wird, wenn das Signal[RICA100 am Anschluß G1 auf "1" gesetzt wird, während das untere Paar von Register-Flip-Flops getaktet wird, wenn das Signal [RICB100 am Anschluß G2 auf "1" gesetzt wird. Die Signale [ZICOOO und[ZIC100, die den Anschlüssen G3 und G4 zugeführt werden, steuern unabhängig die Erzeugung von Ausgangssignalen des oberen und unteren Flip-Flop-Paares an den entsprechenden Ausgangsanschlüssen.
Paare von Ausgangssignalen mit dem Binärwert "0" werden in den UND-Gattern 750-92141 und 750-92142 miteinander kombiniert, um die Adressignale ZEXT0100 und ZEXT1100 zusätzlich zu jenen Signalen zu erzeugen, die für die Erzeugung des Steuersignales NEXTLEWAL100 erforderlich sind, wobei dieses Steuersignal dem Steueranschluß des Vergleichsschaltkreises 750-912 zugeführt wird.
Eine letzte Gruppe von Schaltkreisen umfaßt ein Flip-Flop-Register 750-92150 und mehrere UND-Gatter, ein UND/NAND-Gatter, NAND-Gatter und ein UND/ODER-Gatter 750-92151 bis 750-92156. Diese Schaltkreise sind so miteinander verbunden, daß sie das Signal IFETCH-RDYOOO erzeugen, welches den Schaltkreisen des Abschnittes 750-114 zugeführt wird. Die Gatter 750-92153 und 750-92154 erzeugen
030024/0833
Zeittaktsignale DFN2HT101 und DFN2HT100 auf Grund des Signales FHTO10 von dem Block 750-112. Diese Signale werden während der zweiten Hälfte eines Taktzyklus T auf "1" gesetzt.
Das Flip-Flop-Register 750-92150 wird auf "1" über ein erstes Eingangs-UND-Gatter gesetzt, wenn die UND-Gatter 750-92151 und 750-92152 die Signale SETINHRDY100 und CANCELINHRDY000 auf den Binärwert "1" setzen. Es wird über ein zweites Eingangs-UND-Gatter auf "0" zurückgestellt, wenn das NAND-Gatter 750-92155 das Signal RSINHRDY00O auf den Binärwert "0" setzt. Das 11O"-Ausgangssignal des Registers 750-92150 wird dem UND/ODER-Gatter 750-92156 zuaeführt. Wenn das Signal FINHRDYOOO auf "0" gesetzt wird, so setzt es über das Gatter 750-92156 das Signal IFETCHRDY-000 auf den Binärwert "1".
Fig. 7e zeigt weiterhin in näheren Einzelheiten den Schalter 750-910 und die Vergleichsschaltkreise der Blöcke 750-912 und 750-914, Der Schalter 750-910 ist ein Doppelkanalschalter, der in der zuvor beschriebenen Weise arbeitet. Die Ausgangsanschlüsse W geben eine der zwei Signalgruppen an den Anschlüssen AO und A1 in Abhängigkeit von dem Zustand des Signales CziC11 0 wieder. Der Ausgangsanschluß X gibt eine der zwei Signalgruppen an den Anschlüssen A3 und A4 in Abhängigkeit von dem Zustand des Signales [ZIC110 wieder. Schließlich geben die Ausgänge Y und Z eine der vier Signalgruppen an den Anschlüssen AO bis A4 in Abhängigkeit von dem Zustand der Signale [ZIC11 0, CZNICLEV100 und[ZIC110, ZCURLEV100 wieder.
Die Ausgangssignale ZNICLEVO100 bis ZNICLEV2100 an dem Y-Ausgangsanschluß des Schaltkreises 750-910 werden den B-Eingangsanschlüssen des Vergleichsschaltkreises 750-912 zum Vergleich mit den Signalen RTBLEVO100 bis RTBLEV2100 von dem Abschnitt 750-102 zugeführt. Der Vergleichsschaltkreis 750-912 wird freigegeben, wenn der Decodierschaltkreis 750-922 eine IF1-Anweisung (d. h. Signal DECODEIF1010 gleich "1") decodiert hat und das Signal NEXTLEWAL100 den Binärwert "1" aufweist. Der Vergleich führt zu der Erzeugung von Signalen CMPDATA/ICLEV100 und CMPDATA/ICLEV-000.
030024/0833
Andere Vergleichsschaltkreise der Blöcke 750-912 und 750-914 arbeiten in gleicher Weise, um Signale CMPCURLEV100 und CMPALT-LEV100 zu erzeugen. In näheren Einzelheiten betrachtet, vergleicht ein weiterer Abschnitt des Schaltkreises 750-912 Signale ZICLEV0100 bis ZICLEV2100 mit Signalen C7RR0100 bis C7RR2100. Wenn Übereinstimmung vorliegt, so wird das Signal CMPCURLEV100 auf den Binärwert "1" gesetzt. Dieser Abschnitt wird über ein NAND-Gatter 750-91202 freigegeben, wenn entweder das Signal ZLEV1VALOOO oder das Signal ZLEV2VAL000 den Binärwert "0" aufweist.
Der Vergleichsschaltkreis 750-914 besitzt zwei Abschnitte, die durch Signalpaare ZCURLEV100, ZLEV1VAL100 und ZCURLEV000, ZLEV2-VAL100 freigegeben werden. Der erste Abschnitt vergleicht die Signale des ersten Pegels ZLEV10100 bis ZLEV2100 mit den zyklischen Signalen C7RR0100 bis C7RR2100. Bei Übereinstimmung wird das Ausgangssignal an den Anschlüssen A und B auf "0" gesetzt, wodurch das NAND-Gatter 750-91402 das Signal CMPALTLEV100 auf den Binärwert "1" setzt.
In gleicher Weise vergleicht der zweite Abschnitt die Signale des zweiten Pegels ZLEV20100 bis ZLEV22100 mit zyklischen Signalen C7RR0100 bis C7RR2100. Bei Übereinstimmung wird das Ausgangssignal auf "0" gesetzt, wodurch das NAND-Gatter 750-91402 das Signal CMPALTLEV100 auf den Binärwert "1" setzt.
030024/0833
Beschreibung der Wirkungsweise
Unter Bezugnahme auf die Figuren 1 bis 7e sei die Wirkungsweise des bevorzugten Ausführungsbeispieles der vorliegenden Erfindung im folgenden näher erläutert.
Um diese Wirkungsweise zu veranschaulichen, sei beispielsweise angenommen, daß der Prozessor 700 eine Befehlsfolge bearbeitet, die einen A-Speicherbefehl (STA) beinhaltet. Das Format dieses Befehls kann der Veröffentlichung "Series 60 (Level 66)/6000 MACRO Assembler Program (GMAP)" von Honeywell Information Systems Inc., Copyright 1977, entnommen werden, die unter der Bestellnummer DDOBB, Rev. 0 erhältlich ist. Es sei vermerkt, daß der Prozessor 700 die Befehle in einer durchfließenden Weise bearbeitet.
Bei einer solchen durchfließenden Bearbeitungsweise führt der Prozessor 700 verschiedene Operationen bei der Befehlsbearbeitung während I-, C- und Ε-Zyklen durch. Dies führt zu der Ausgabe von Anweisungen an die Puffereinheit 750 durch den Prozessor 700. Für eine vereinfachte Erläuterung sei angenommen, daß der STA-Befehl in dem Pufferspeicher 750-300 abgelegt ist.
Es sei darauf verwiesen, daß zu irgendeinem Zeitpunkt während der Befehlsbearbeitung der Prozessor 700 eines der Befehlsadressregister RICA/RICB mit Adressen- und Pegelinformation lädt. Dies geschieht gewöhnlich, wenn der Prozessor einen Ubertragungs- oder Verzweigungsbefehl bearbeitet, was dazu führt, daß der Prozessor 700 eine IF1-Anweisung ausgibt, auf die eine IF2-Anweisung folgt. Nach der Bearbeitung dieser Anweisungen durch die Puffereinheit 750 werden von dem Pufferspeicher 750-300 Befehle während der ersten Hälfte eines Taktzyklus T abgerufen und es werden Operanden während der zweiten Hälfte des Taktzyklus T abgerufen oder eingeschrieben.
030024/0833
Im vorliegenden Beispiel sei angenommen, daß der Prozessor die Bearbeitung eines vorangegangenen Befehls beendet hat und die Leitung RDIBUF auf den Binärwert "1" setzt. Während der ersten Hälfte eines ersten Taktzyklus T veranlaßt das Signal FRDIBUF100 das Laden eines ersten STA-Befehles, der durch den Pegelsignalinhalt des RICA-Registers 750-900 festgelegt ist, in das RIRA-Register 750-308 und die Erhöhung des RICA-Registerinhalts um 1, wobei dieser erhöhte Inhalt erneut in das RICA-Register 750-900 geladen wird. Die RADRO-7 Register 750-302a bis 750-302n wurden von dem RICA-Register 750-308 über die ZIC-Stellung der ZADRO-7 Adressenauswahlschalter 750-302a bis 750-302n beim Taktimpuls des vorangegangenen Zyklus geladen.
Während der ersten Hälfte des ersten Zyklus veranlassen die durch die Adressregister 750-302a bis 750-302n an die Puffereinheit 750-300 angelegten Adressignale das Auslesen von 8 Worten aus den adressierten Speicherplätzen der 8 Pegel. Ferner setzen während der ersten Hälfte des ersten Zyklus die Schaltkreise des Blockes 750-526 gemäß Fig. 7c das Signal ZCDICENAB100 auf den Binärwert "1" (d. h. Signal FICENABOOO gleich "0")· Dies versetzt die Schaltkreise des Blockes 750-512 in die Lage, Signale ZNICLEV0100 bis ZNICLEV2100 als Steuersignale [ZCD0100 bis[ZCD2100 an den ZCD-Schalter 750-306 anzulegen. Hierdurch wird der erste STA-Befehl zum Laden in das RIRA-Register 750-308 über den ZCD-Schalter 750-306 ausgewählt. Danach wird der STA-Befehl in das RBIR-Register des Prozessors 700 am Ende des ersten Zyklus auf Grund des SignalesCcLKTI00 geladen. Ferner werden mit dem Takt in dem vorangegangenen Zyklus die RADRO-7 Register 750-301a bis 750-301 η von dem RICA-Register über die ZIC-Stellung der Adressenauswahlschalter 750-302a bis 750-302n geladen.
Während eines ersten Taktzyklus T (zweiter Zyklus), der einem I-Zyklus entspricht, beginnt der Prozessor 700 ferner mit der Bearbeitung des STA-Befehls in der erläuterten Weise. Der STA-Befehl erfordert zwei I-, C- und E-Prozessorzyklen für seine Vervollständigung. Während des ersten I-Zyklus führt der Prozessor 700 Operationen aus, wie beispielsweise die Bildung einer
030024/0833
Adresse, die in einer Einzel-Schreibanweisung enthalten ist, welche durch den Prozessorabschnitt 704-4 gemäß Fig. 3e an die Puffereinheit 750 gerichtet wird. Die Anweisung legt durch ihre Codierung eine Schreiboperation zum Einschreiben eines Datenwortes in den Speicher 800 fest. Näher betrachtet, dient die in das RADO-Register 704-46 geladene Adresse als Anweisungsadresse. Während des nächsten Taktzyklus T, der einem C-Zyklus entspricht, signalisiert der Prozessor 700 der Puffereinheit 750 die Pufferspeicheranforderung, indem er die DREQCAC-Leitung auf "1" setzt. Während dieses Zyklus werden die Anweisungsbits 1-4 und die Zonenbits 5-8 durch die Schaltkreise 704-118 in Fig. 5c und durch den Schalter 704-40 erzeugt. Die Zonenbits 5-8 sind auf die geeigneten Werte gesetzt. Die Anweisungsbits 1-4 sind auf einen Anweisungscode von 1000 durch die Decodierschaltkreise des Blockes 704-118 eingestellt. Die Schaltkreise des Blockes 704-108 erzeugen die Puffer-Anweisungssignale, die durch ihre Codierung eine Einzel-Schreibanweisung (d. h. Code von 1100) festlegen, die an die DMEM-Leitungen angelegt wird. Der Decodierer 704-120 setzt die Leitung DREQCAC auf den Binärwert "1".
Die in der Schreibanweisung enthaltene Adresse wird über den ZDAD-Schalter 750-530 an die Eingänge der ZADRO-7 Schalter 750-301a bis 750-301n sowie an die Listenschaltkreise der Blöcke 750-500 und 750-502 angelegt. Gemäß Fig. 7c setzen während der ersten Hälfte des dritten Zyklus das UND/NAND-Gatter 750-92051 und das NAND-Gatter 750-92052 die Signale ENBMEMLEV100 und ENBADR1100 auf den Binärwert "0". Dies führt dazu, daß die Schaltkreise des Blockes 750-303 die Paare von Steuersignalen [ZADR00100, CZADR01100 bis [ZADR70100, CZADR71100 auf den Binärwert "0" setzen. Dementsprechend wählen die Schalter 750-302a bis 750-302n den ZDAD-Schalter 750-532 als eine Adressquelle aus.
Die Schreibanweisungsadresse wird in die Register 750-301a bis 750-301n geladen, um allen Pegeln bei einem Halbtaktsignal auf Grund des Signales[CLKHT100 zugeführt zu werden.
030G24/0833
29A8668
Während die Schreibanweisungsadresse in die Register 750-301a bis 750-301n eingetaktet und allen Pegeln zugeführt wird, geschieht zu diesem Zeitpunkt nichts, da die Listenabsuche für die Schreibanweisung durchgeführt werden muß (d.h. es werden keine Schreibsignale erzeugt). Die Schreibanweisungsadresse wird in dem RDAD-Register 750-532 gesichert, um das Prozessor-Datenwort während des nächsten Taktzyklus T zu schreiben, wenn ein Treffer festgestellt wird.
Die Schreibanweisungsadresse wird ferner den Eingängen der Listen 750-500 und 750-502 zugeführt, um einen Such-Operationszyklus auszuführen. Die Suchoperation erfordert einen vollen Taktzyklus T. Da angenommen wird, daß der Block, der das durch die Schreibanweisungsadresse festgelegte Wort enthält, sich nicht im Pufferspeicher 750-300 befindet, wird infolge der Suchoperation ein Fehltrefferzustand festgestellt. Dies hat zur Folge, daß hinsichtlich des Inhalts des Pufferspeichers 750-300 keine Veränderung vorgenommen wird.
Die Decodierschaltkreise des Blockes 750-113 setzen bei der Decodierung der an die DMEM-Leitungen angelegten Pufferanweisungssignale das Signal READ100 auf "0" und das Signal WRITE100 auf "1". Hierdurch schaltet das UND-Gatter 750-11470 das FHOLD-WRT-Flip-Flop und das FWRT-Flip-Flop des Registers 750-11474 auf den Binärwert "1", was bei dem Takt T (d. h. auf Grund des Signales[CLKT020) geschieht. Da dies eine Einzel-Schreibanweisung ist, bleibt das FWRTDBL-Flip-Flop auf "0" gesetzt (d. h. Signal WRTDBL100 gleich "0", da WRTDBL100 = WRITE100-DMEM2112). Das FHOLDWRT-Flip-Flop setzt, wenn es auf den Binärwert "1" geschaltet ist, über die NAND-Gatter 750-11460 bis 750-11463 das Signal HOLDCMD000 auf den Binärwert "0", wenn eine andere Schreibanweisung von dem Prozessor 700 empfangen wird (d. h. Signale WRITE100, DREQCAC112 = "1"). Das FWRT- und FWRTDBL-Flip-Flop steuern das Laden der Schreibanweisung und der Datenworte in den Schreibpuffer 750-100. Das Signal [HOLDCMDO00 wird an die Schaltkreise des Blockes 750-117 angelegt und ruft die Erzeugung
Q3002W0833
der Signale CPSTOP und [HOLDDMEM hervor, die den Prozessor 700 anhalten, wenn solche anderen Schreibanweisungen empfangen werden und sofern kein Platz in dem Schreibanweisungspuffer 750-100 für eine Doppel-Schreibanweisung vorhanden ist. In dem letzteren Fall wird die Einzel-Schreibanweisung und die Datenwortübertragung nicht angehalten. Jedoch verursacht eine folgende Schreibanweisung ein Anhalten des Prozessors 700, wenn das erste Anweisungswort zu diesem Zeitpunkt zu dem RDTS-Register nicht übertragen worden ist.
Zu diesem Zeitpunkt wird ebenfalls das ZAC-Anweisungswort oder das erste Wort der Einzel-Schreibanweisung in den Speicherplatz des Schreibpuffers 750-100 geladen, der durch den Inhalt des Hinweisadressregisters 750-10400 auf Grund des Ansteuersignales fawCDIOO festgelegt ist. Dieses Signal wird auf "1" gesetzt, wenn das Signal CMPFSTDTA100 durch das Signal FWRTOOO von dem FWRT-Flip-Flop des Registers 750-11474 auf den Binärwert "1" umgeschaltet wird. Die Signale, die den DZD-Leitungen zugeführt werden und die ZAC-Bits 5-8 werden in den Zonenteil des gleichen Schreibpuffer-Speicherplatzes geladen.
Schließlich wird eine Eintrittsstelle in die Anweisungswarteschlange 750-107 geladen. Genauer betrachtet ist aus Fig. 7a ersichtlich, daß die Bits 1 und 2 der Einzel-Schreibanweisung in den Speicherplatz geschrieben werden, der durch den Adresseninhalt des Hinweisadressenregisters 750-108 festgelegt ist. Das heißt, daß zu diesem Zeitpunkt die Signale FWRTOOO und FWRTDBL000 den Binärwert "1" aufweisen, wodurch das UND-Gatter 750-10710 das Signal LDWRTDTA000 auf den Binärwert "1" setzt. Es sei in diesem Beispiel angenommen, daß das Einwärts-Hinweisadressregister 750-108 die Adresse "001" vorgibt. Dementsprechend besitzt das Signal FCQINOOOO den Binärwert "1", während das Signal FCQIN0100 den Binärwert "0" besitzt. Daher wird der Speicher 750-10700 auf Grund eines Ansteuersignales von dem UND-Gatter 750-10704 in die Lage versetzt, die Einzel-Schreibanweisungsbits 1 und 2 in die ersten zwei Bitpositionen des Speicherplatzes zu schreiben, der durch die Adresse festgelegt ist, welche an die AW0/AW3-
030024/0833
Anschlüsse (Bitpositionen 0 und 1) angelegt wird.
Da die Anweisung eine Schreibanweisung ist, ist das Signal DREQREADOOO auf "0" gesetzt (d. h. DREQREAD000 gleich READ100 DREQCAC112). Dies veranlaßt die UND/ODER-Gatter 750-10714 und 750-10716 die Signale FWCDPTR0100 und FWCDPTR1100 an die Bitpositionen 2 und 3 des Speichers 750-10700 anzulegen. Diese Signale entsprechen den Schreibadressignalen von dem Einwärts-Hinweisadressregister 750-10400, das den Speicherplatz im Schreibpuffer 750-100 festlegt, in den das Einzel-Schreibanweisungswort eingeschrieben wurde. Die Schreibadressignale werden in die Bitpositionen 2 und 3 des adressierten Speicherplatzes der Speicher-Anweisungswarteschlange eingeschrieben.
Zu dem Zeitpunkt, wo die Eintrittsstelle in die Anweisungswarteschlange eingeschrieben wird, setzt das NAND-Gatter 750-11465 das Signal CMPFSTDTA100 auf den Binärwert "1" (d. h. Signal DREQWRTOOO gleich "0"). Hierdurch setzt das NAND-Gatter 750-11467 das Signal VALIDCMDDTA000 auf den Binärwert "0", was dazu führt, daß das Erhöhungs-Schreibhinweisadressensignal INCWRTPTR100 auf den Binärwert "1" und das Signal INCWRTPTROOO durch das UND/NAND-Gatter 750-11468 auf den Binärwert "0" gesetzt wird. Hierdurch wird der Adressinhalt der Anweisungswarteschlange in dem Hinweisadressregister 750-10800 über das Signal INCCQIN100 um 1 erhöht und der Adressinhalt des Schreibpuffer-Einwärts-Hinweisadressregisters 750-10400 wird durch das Signal INCWRTPR100 beim Auftritt des TaktsignalesCCLKT020 ebenfalls um 1 erhöht.
Beim folgenden Takt T wird das Datenwort der von dem Prozessor 700 an die Leitungen RADO angelegten Einzel-Schreibanweisung in den nächsten Speicherplatz des Schreibpuffers 750-100 eingeschrieben, der durch den Adresseninhalt des Einwärts-Hinweisadressregisters 750-10800 festgelegt ist. Ferner wird zu diesem Zeitpunkt eine weitere Eintrittsstelle in den Speicherplatz geladen, der die Adresse "010" des Anweisungs-Warteschlangenspeichers 750-10700 aufweist.
030024/0833
Bei näherer Betrachtung ist aus Fig. 7a erkennbar, daß das Signal LDWRTDTAOOO von dem UND-Gatter 750-10710 zu diesem Zeitpunkt den Binärwert "0" aufweist. Dementsprechend werden Binärwerte "0" in die Bitpositionen 0 und 1 des durch die Adresse "010" festgelegten Speicherplatzes eingeschrieben. Zusätzlich werden die Schreibadressignale FWCDPTR0100 und FWCDPTR1100 von dem Einwärts-Hinweisadressregister 750-10400, welche den Speicherplatz -festlegen, in den das Datenwort oder das zweite Wort der Einzel-Schreibanweisung einzuschreiben war, erneut in die Bitpositionen 2 und 3 des adressierten Anweisungs-WarteschlangenSpeicherplatzes eingeschrieben.
Zu dem Zeitpunkt, wo die Eintrittsstelle in den Anweisungs-Warteschlangenspeicher 750-10700 eingeschrieben wird, erhöhen die Signale INCWRTPTR100 und INCCQIN100 den Adressinhalt des Schreibpuff er-Einwärts-Hinweisadressregisters 750-10400 und des Anweisungswarteschlange-Einwärts-Hinweisadressregisters 750-10800 jeweils beim Auftritt des Taktsignales [CLKT021 um 1.
Sobald die Vergleichsschaltkreise des Blockes 750-110 feststellen, daß eine unerledigte Schreibanweisung vorliegt, schalten die Schaltkreise des Blockes 750-114 das FAOPR-Flip-Flop 750-11600 auf den Binärwert "1", wodurch der Schnittstelleneinheit SIU100 eine Speicheranforderung signalisiert wird. Im einzelnen setzt das NAND-Gatter 750-11446 das Signal EXECNEWWRT100 auf den Binärwert "1". Zu diesem Zeitpunkt weisen die Signale CQCMPOOO und ZCQ0100 den Binärwert "1" auf. Das NAND-Gatter 750-11447 setzt das Signal WRITEREQOOO auf den Binärwert "0", wodurch das NAND-Gatter 750-11448 das Signal SETAOPR100 auf den Binärwert "1" setzt.
Da das FAOPR-Flip-Flop 750-11600 zu diesem Zeitpunkt zurückgestellt ist, weist das Signal FAOPR120 den Binärwert "0" auf. Dadurch setzt das NAND-Gatter 750-11455 das Freigabesignal ENABSET-AOPR100 auf den Binärwert "1". Das Signalpaar ENABSETAOPR100 und SETAOPR100 setzt über das UND/NAND-Gatter 750-11466 das Signal
030024/0833
das Signal NEWCMD100 auf "1" und das Signal NEWCMDOOO auf "0". Hierdurch schaltet das FWRTXFER-Flip-Flop des Registers 750-11474 beim Auftritt des Taktsignales [CLKT020 auf den Binärwert "1" um. Zu diesem Zeitpunkt veranlassen die Signale ENABSETAOPR100 und SETAOPR100 das FAOPR-Flip-Flop 750-11600 zur Umschaltung auf den Binärwert "1". Ferner setzt das Signal NEWCMDOOO über das NAND-Gatter 750-11614 das Signal [RDTS100 auf den Binärwert "1". Das Signal NEWCMD100 versetzt das UND/ODER-Gatter 750-11472 in die Lage, das Signal RESETHOLDWRT000 im Falle einer Einzel-Schreibanweisung (d. h. Signale ZCQ0100 und ZCQ1000 gleich "1") auf den Binärwert "0" umzuschalten.
Das Signal RESETHOLDWRT000 mit dem Binärwert "0" stellt das FHOLD-WRT-Flip-Flop beim Auftritt des Taktsignales [CLKT020 auf den Binärwert "1" zurück. Hierdurch setzt das NAND-Gatter 750-11460 das Signal HOLDWRT000 auf den Binärwert "1", wodurch das NAND-Gatter 750-11463 das Anweisungs-Haltesignal HOLDCMD000 auf "1" setzt
(z. B. wenn die Systemschnittstelle belegt ist). Dies gestattet den Halteschaltkreisen des Blockes 750-117 die Annahme einer
weiteren Schreibanweisung. Das heißt, daß,sobald das ZAC-Anweisungswort der Einzel-Schreibanweisung zu dem RDTS-Register 750-119 übertragen ist, ausreichend Platz innerhalb des Schreibpuffers 750-100 vorhanden ist, um irgendeinen Anweisungstyp einschließlich einer Doppel-Schreibanweisung aufzunehmen. Somit wird durch Freigabe des Prozessors 700 zu dem frühestmöglichen Zeitpunkt in jenen Fällen, in denen er angehalten wurde, die Systemleistung erhöht.
An dieser Stelle sei angenommen, daß die zuvor in den Schreibpuffer 750-100 geladene Schreibanweisung verarbeitet wird. Wie aus Fig. 7a ersichtlich, wird,wenn das Signal FCQOUT0000 den
Binärwert "0" aufweist (Speicherplatz 001 ist adressiert), der Speicher 750-10700 freigegeben, um die Eintrittsstelle auszulesen, die in dem Speicherplatz gespeichert ist, welcher durch den Adresseninhalt des Auswärts-Hinweisadressenregisters 750-10900 festgelegt ist. Diese Adresse besitzt den Wert "001".
030024/0833
Gemäß Fig. 4 ist erkennbar, daß der ZDTS-Schalter 750-119 durch das Signal ZCQ0100 betätigt wird, welches Signal durch das Bit der Anweisungs-Warteschlangeneintrittsstelle vorgegeben ist, die aus dem Speicherplatz mit der Adresse "001" ausgelesen wird. Zu diesem Zeitpunkt veranlassen die Eintrittsstelle-Adressbits entsprechend den Signalen ZCQ2100 und ZCQ3100, welche an die Leseadressanschlüsse des Schreibpuffers 750-100 angelegt werden, das Auslesen des ZAC-Anweisungswortes der Einzel-Schreibanweisung und das Laden dieses Wortes in das RDTS-Datenschnittstellenregister 750-119 auf Grund des Signales [RDTS100. Von dort wird es über die Stellung 0 des Schalters 750-120 an die DTS-Leitungen angelegt. Zu diesem Zeitpunkt besitzt das Signal CPTXDTS100 den Binärwert 11O", da das NAND-Gatter 750-11610 das Signal ENABWRTDTA-100 auf dem Binärwert "0" hält (d. h. Signal FARAOOO gleich "1").
Mit dem gleichen Takt, mit dem das FAOPR-Flip-Flop 750-11600 auf den Binärwert "1" umgeschaltet hat, werden die geeigneten Speicher-Identifiziersignale und Steuerungssignale in das RMITS-Register 750-124 und in das nicht dargestellte RSDTS-Register geladen. Die Speicher-Identifiziersignale werden von dem RDZD-Rerister 750-142 über die DZD-Stellung des Schalters 750-125 erhalten. Die Steuerungssignale umfassen die Bits 0 und 1 der Anweisungs-Warteschlangeneintrittsstelle, die in die Bitpositionen 6 und 5 des RSDTS-Registers geladen werden. Ferner wird der Inhalt des Anweisungswarteschlange-Auswärts-Hinweisadressregisters 750-10900 um 1 erhöht, wenn das UND/NAND-Gatter 750-11475 das Signal INCCQOUT100 beim Auftritt des Taktsignales [CLKT021 auf den Binärwert "1" umschaltet. Daraufhin wird die nächste Eintrittsstelle aus dem Anweisungs-Warteschlangenspeicher 750-10700 ausgelesen. Die Bits 2 und 3 der Eintrittsstelle versetzen den Schreibpuffer 750-100 in die Lage, das Datenwort der Einzel-Schreibanweisung auszulesen.
Gemäß Fig. 7a ist erkennbar, daß das FIRSTDTA-Flip-Flop des Registers 750-11474 auf "1" umschaltet, wenn das UND/NAND-Gatter 750-11465 das Signal LDFST100 auf Grund des Signales FAOPR120 mit dem Binärwert "1" auf "1" umschaltet. Zum gleichen
030024/0833
Zeitpunkt schaltet das Signal LDFSTOOO auf den Binärwert "0" um.
Hierauf setzt das NAND-Gatter 750-11473 das Signal LDRWRTDTA100 auf den Binärwert "1". Infolgedessen setzt das UND/NAND-Gatter 750-11474 das Signal [RWRTDTA100 auf den Binärwert "1" und das Signal [RWRTDTAOOO auf den Binärwert "0". Das Signal CRWRTDTA100 lädt das aus dem Schreibpuffer 750-100 ausgelesene Datenwort in das RWRT-Datenschnittstellenregister 750-121. Das Signal CRWRTDTA-000 setzt über das UND/NAND-Gatter 750-11475 das Signal INCCQOUT-100 auf den Binärwert "1". Hierdurch wird wiederum der Adresseninhalt des Auswärts-Hinweisadressregisters 750-10900 in Vorbereitung auf die nächste Anweisung um 1 erhöht. Zu diesem Zeitpunkt setzt der Vergleichsschaltkreis 750-110 das Signal CQCMPOOO auf "1", wodurch angezeigt wird, daß die Schreibanweisung nicht länger unerledigt ist.
Das FWRTXFER-Flip-Flop, das zur gleichen Zeit gesetzt wurde als das FAOPR-Flip-Flop 750-11600 auf den Binärwert "1" umschaltete, verbleibt auf dem Binärzustand "1" bis das letzte Wort (d. h. Datenwort) der Einzel-Schreibanweisung zu der Schnittstelleneinheit SIU100 übertragen ist. Die Zustände der FWRTXFER- und FIRST-DTA-Flip-Flops steuern die übertragung von Worten von dem Schreibanweisungspuffer 750-100 zu der Schnittstelleneinheit SIU100 und sie signalisieren, wenn eine übertragung beendet ist. Sobald die Schnittstelleneinheit SIU100 der Puffereinheit 750 signalisiert, daß die Speicheranforderung durch den Hauptspeicher 700 angenommen worden ist, setzt gemäß Fig. 7a die Schnittstelleneinheit SIU100 die Leitung ARA auf den Binärwert "1". Zu diesem Zeitpunkt ist die Puffereinheit 750 in der Lage, das ZAC-Anweisungswort von den DTS-Leitungen wegzunehmen.
Bei dem erfindungsgemäßen System schaltet das an die Leitung ARA angelegte Signal das nicht dargestellte FARA-Flip-Flop bei der nächsten Taktperiode (d. h. auf Grund des Signales [CLKT020) auf den Binärwert "1". Hierdurch wird wiederum das Signal FARAOOO auf "0" und das Signal FARA120 auf "1" gesetzt. Gemäß Fig. 7a
030024/0833
ή (ft
ist ersichtlich, daß das Signal FARAOOO über das NAND-Gatter 750-11610 das Signal ENABWRTDTA100 auf den Binärwert "1" setzt. Hierdurch setzt seinerseits das UND-Gatter 750-116 das Signal tt>TXDTS100 auf den Binärwert "1". Zu diesem Zeitpunkt wird das Einzel-Schreibanweisung-Datenwort, das zuvor in das RWRTDATA-Register 750-121 geladen wurde, über die Stellung 1 des Schalters 750-120 an die Leitungen DTS angelegt. Durch das Laden des Datenwortes in das Datenregister,sobald wie das Anweisurtgswort zu dem RDTS-Register übertragen worden ist, werden jegliche 'Zeittaktprobleme vermieden, die infolge von Verzögerungen bei der Ankunft des SIU-Antwortsignales auf der Leitung ARA entstehen können.
Gemäß Fig. 7a veranlaßt das Signal FARA120 mit dem Binärwert "1" die Umschaltung des NAND-Gatters 750-11450, so daß das Signal SGLWRDOOO auf "0" gesetzt wird. Hierdurch setzt das NAND-Gatter 750-11453 das Signal LASTWORD000 auf den Binärwert "0", wodurch angezeigt wird, daß das letzte Wort/Datenwort der Einzel-Schreibanweisung zu der SIU-Schnittstelleneinheit übertragen worden ist. Das Signal LASTWORD000 stellt das FWRTXFER-Flip-Flop auf den Binärwert "0" zurück. Bei dem Taktimpuls, der auf die Umschaltung des Signales FARA020 auf "0" folgt, wird das FAOPR-Flip-Flop auf "0" zurückgestellt.
Es sei vermerkt, daß eine Doppel-Schreibanweisung in ähnlicher Weise verarbeitet wird. Jedoch verursacht die Doppel-Schreibanweisung ebenfalls das Setzen des FWRTDBL-Flip-Flops auf den Binärwert "1". Gemäß Fig. 7a setzt hierdurch das NAND-Gatter 750-11465 das Signal WRT2NDDTA000 auf den Binärwert "0", wodurch die Signale ÜRWCD100 und INCWRTPTR100 erzeugt werden, die das Laden des zweiten Datenwortes in den Schreibpuffer 750-100 freigeben. Ferner werden durch das Signal WRT2NDDTA000 die Signale [CQ100 und INCCQIN100 erzeugt, die das Laden einer dritten Eintrittsstelle in den Anweisungs-Warteschlangenspeicher 750-10700 gestatten.
Es sei vermerkt, daß der Schreibpuffer 750-100 solange keinen ausreichenden Platz für die Verarbeitung einer weiteren Doppel-
03002^/0833
Schreibanweisung aufweist, wie das erste Datenwort der Schreibanweisung nicht übertragen ist. Daher wird das FHOLDWRT-Flip-Flop nicht zurückgestellt bis das Signal FARA120 auf "1" umgeschaltet hat. Die tatsächliche Umschaltung des FHOLDWRT-Flip-Flops tritt jedoch eine Taktperiode nach der Umschaltung des Signales FARA120 auf den Binärwert "1" auf (d. h. nachdem das nicht dargestellte FARA-Flip-Flop beim Auftritt eines Taktsignales T auf "1" umgeschaltet hat). Es ist ersichtlich, daß zur Verbesserung der Leistungsfähigkeit des Systems das NAND-Gatter 750-11610 das Signal ENABWRTDTA100 auf den Binärwert "1" setzt, wenn das FARA-Flip-Flop auf den Binärwert "1" umschaltet (d. h. wenn das Signal FARAOOO auf den Binärwert "0" umschaltet).
Es sei darauf verwiesen, daß das zweite Datenwort wie das erste Datenwort in das RWRTDATA-Register 750-121 auf Grund des Signales [pWRTDTA100 geladen wird. Dieses Signal wird auf "1" gesetzt, wenn das NAND-Gatter 750-11472 das Signal LD2ND000 in Abhängigkeit von den Signalen FARA120 und RSDTS5110 auf den Binärwert "0" setzt. Hierdurch setzt das NAND-Gatter 750-11473 das Signal LDWRTDTA100 auf den Binärwert "1". Zu diesem Zeitpunkt erhöht das Signal INCCQOUT100 den Adresseninhalt des Auswärts-Hinweisadressregisters 750-10900 um 1.
Das Signal ENABWRTDTA100 setzt über das NAND-Gatter 750-11458 das Signal WRTDBLDTAXFER000 auf den Binärwert "0". Zu diesem Zeitpunkt besitzt das Signal RSDTS5110 den Binärwert "1". Dieses Signal entspricht dem Binärzustand "1" des Bit 1 der ersten Anweisungs-Warteschlangeneintrittsstelle, die in das Steuerungsregister geladen ist und die Schreibanweisung als eine Doppel-Schreibanweisung festlegt. Das Signal WRTDBLDTAXFER000 setzt über das NAND-Gatter 750-11460 das Signal HOLDWRT000 auf den Binärwert "1", wodurch das NAND-Gatter 750-11463 das Anweisungs-Haltesignal HOLDCMD000 auf "1" setzt. Hierdurch können die Halteschaltkreise des Blockes 750-117 den Prozessor 700 eine Taktperiode früher freigeben, sofern er angehalten worden war, wodurch die Annahme einer weiteren Schreibanweisung möglich wird. Zur gleichen Zeit wird das FHOLDWRT-Flip-Flop auf den Binärwert "0" umgeschaltet.
03002A/0833
Wenn das FARA-Flip-Flop auf den Binärwert "1" umschaltet,· so schaltet hierdurch das FAOPR-Flip-Flop 750-11600 beim folgenden Taktimpuls auf den Binärwert "0" um. Zu diesem Zeitpunkt setzt das NAND-Gatter 750-11451 das Signal LSTDBLWRD000 auf den Binärwert "0". Dies veranlaßt das NAND-Gatter 750-11453 das Signal LASTWORDOOO auf den Binärwert "0" zu setzen, wodurch das FWRTXFER Flip-Flop auf "0" zurückgestellt wird und die Bearbeitung der Doppel-Schreibanweisung beendet wird.
Die Wirkungsweise des bevorzugten Ausführungsbeispieles der vorliegenden Erfindung wurde anhand der Verarbeitung von Schreibanweisungen beschrieben, wobei es jedoch klar auf der Hand liegt, daß die Anweisungs-Warteschlangeneinrichtung in einer ähnlichen Weise bei der Verarbeitung von Leseanweisungen arbeitet. Dies sei kurz beschrieben. Wenn die Schaltkreise des Blockes 750-512 einen Fehltrefferzustand feststellen, so wird das Lese-Anweisungswort ZAC mit dem Taktimpuls in den Speicherplatz des Ubergangsblockpuffers 750-102 geladen, der durch den Adresseninhalt des Ubergangsblock-Einwärts-Hinweisadressregisters 750-106 festgelegt ist. Zur gleichen Zeit wird eine Eintrittsstelle in den Speicherplatz des Anwelsungs-Warteschlangenspeichers 750-10700 geladen, der durch das Einwärts-Hinweisadressregister 750-10800 festgelegt ist. Dies geschieht auf Grund des Tastsignales [CQ100, das auf den Binärwert "1" gesetzt wird, wenn das Signal[RTB000 auf "0" umschaltet. Die Bits 1 und 2 des Lese-Anweisungswortes ZAC werden in die Bitpositionen 0 und 1 des Speicherplatzes der Anweisungswarteschlange eingeschrieben.
Da die Anweisung eine Leseanweisung ist, setzt der Decodierschaltkreis 750-113 das Signal DREQREAD100 auf den Binärwert "1" (d.h. DREQREAD100 = DREQCAC112 · READ100). Hierdurch werden die UND/ ODER-Gatter 750-10716 und 750-10714 veranlaßt, die Hinweisadresssignale FTBPTR1100 und FTBPTRO100 in die Bitpositionen 2 und 3 des adressierten Speicherplatzes der Anweisungswarteschlange zu laden. Die Signale FTBPTR1100 und FTBPTRO100 legen die Adresse des Speicherplatzes in dem Ubergangsblockpuffer 750-102 fest, in den das Lese-Anweisungswort ZAC zu laden ist.
030024/0833
Beim nächsten Takt T schaltet während der Listenabsuche das FLDTBVALID-Flip-Flop auf den Binärwert "1" um. Nach der Listenabsuche veranlaßt der Fehltrefferzustand die Schaltkreise des Blockes 750-117 zur Erzeugung der Signale CPSTOP und ßiOLDDMEM, um weitere Operationen des Prozessors 700 beim folgenden Takt T anzuhalten. Beim Auftritt des Halbtaktsignales bei der Listenzuordnung werden die Pegelsignale, die durch den zyklischen Abschnitt der Liste 750-500 infolge eines Listen-Zuordnungszyklus gebildet werden, in den adressierten Speicherplatz geladen.
Während des Listen-Zuordnungszyklus wird das Signal LDTBVALID000 auf den Binärwert "1" umgeschaltet. Hierdurch wird der Adresseninhalt des Anweisungswarteschlange-Einwärts-Hinweisadressregisters 750-10800 auf Grund des TaktsignalestCLKT021 um 1 erhöht. Zur gleichen Zeit veranlaßt das Signal FLDTBVALID111 die Erhöhung des Inhalts des Hinweisadressregisters 750-106 um 1.
Das Vorliegen der unerledigten Leseanweisung wird durch den Setzzustand des FLDTBVALID-Flip-Flops oder des Signales CQCMP100 definiert, wenn die Leseanweisung nicht unmittelbar an die Schnittstelleneinheit SIU100 ausgegeben wird und die Vergleichsschaltkreise 750-110 zum Setzen des Signales CQCMP100 auf den Binärwert "0" veranlaßt. Bei dem Takt T, mit dem das FLDTBVALID-Flip-Flop 750-11414 auf den Binärwert "0" zurückgestellt wird, werden die Zustände der verschiedenen Hinweiszeichen in den gleichen adressierten Speicherplatz geladen und das zugeordnete Ubergangspuffer-Gültigkeitsbit-Indikator-Flip-Flop wird auf den Binärwert "1" gesetzt. Bevor das FLDTBVALID-Flip-Flop zurückgestellt wird, veranlassen die Signale LDTBVALID100 und CQCMP1OoWie NAND-Gatter 750-11442 und 750-11444 das Setzen der Signale EXECRD100 und EXECNEWRDOOO auf den Binärwert "1". Hierdurch wird wiederum über das NAND-Gatter 750-11445 das Signal READREQ000 auf den Binärwert "0" gesetzt, was zum Setzen des Signales SETAOPR100 auf den Binärwert "1" führt. Zu diesem Zeitpunkt weist das Signal ENABSETAOPR-100 den Binärwert "1" auf.
03002A/0833
29A8668
Beim nächsten Taktimpuls T setzen die Signale ENABSETA0PR1OO und SETAOPR100 das FAOPR-Flip-Flop 750-11600 auf den Binärwert "1". Ferner setzen diese Signale über das UND/NAND-Gatter das Signal NEWCMDOOO auf den Binärwert "0". Dies veranlaßt das NAND-Gatter 750-11614 das SignalfRDTSI00 auf den Binärwert "1" zu setzen.
Es sei zu diesem Zeitpunkt angenommen, daß der Inhalt des Auswärts-Hinweisadressregisters 750-10900 den Anweisungs-Warteschlangenspeicher 750-10700 zum Auslesen der Eintrittsstelle freigegeben hat, die der Leseanweisung ZAC zugeordnet ist. Das Signal [RDTS100 veranlaßt das Laden des ZAC-Wortes an dem Speicherplatz des Ubergangsblockpuffers 750-102, der durch die Bits 2 und 3 der Anweisungs-Warteschlangeneintrittsstelle festgelegt ist, in das RDTS-Register 750-119 beim Auftritt eines Taktsignales T. Das ZAC-Wort wird über die Stellung 0 des Schalters 750-102 an die DTS-Leitung angelegt. Ferner wird zu diesem Zeitpunkt die geeignete Steuerungsinformation einschließlich der Bits 0 und 1 der Anweisungs-Warteschlangeneintrittsstelle in das RSDTS-Steuerungsregister geladen, während die Bits 2 und 3 der Anweisungs-Warteschlangeneintrittsstelle in die Bitpositionen 2 und 3 des RMITS-Registers 750-124 über die Stellung 0 des Schalters 750-125 geladen werden.
Das Signal NEMCMDOOO setzt ferner über das UND/NAND-Gatter 750-11475 das Signal INCCQOUT100 auf den Binärwert "1". Dies veranlaßt die Erhöhung des Inhaltes des Auswärts-Hinweisadressregisters 750-10900 um 1, wobei dies bei dem gleichen Taktimpuls erfolgt, mit dem das FAOPR-Flip-Flop auf den Binärwert "1" umgeschaltet wird. Da zu diesem Zeitpunkt keine unerledigten Anweisungen vorliegen, schaltet der Vergleichsschaltkreis 750-110 das Signal CQCMP100 auf den Binärwert "1" um.
Wenn die Schnittstelleneinheit SIU100 die Annahme des über die DTS-Leitungen angelegten Lese-Anweisungswortes ZAC über die Leitung ARA signalisiert, so schaltet hierdurch das FARA-Flip-Flop ^uf den Binärwert "1" um. Hierdurch wird das FAOPR-Flip-Flop
030024/0833
bei dem folgenden Takt T auf den Binärwert "0" zurückgestellt (d. h. das Signal SETAOPR100 wird durch das Signal LASTWORD000 auf "0" gesetzt). Beim Empfang der vom Hauptspeicher angeforderten Datenworte wird das Ubergangspuffer-Gültigkeits-Flip-Flop, das dem die Anweisung speichernden Speicherplatz zugeordnet ist/ auf den Binärwert "0" zurückgestellt.
Aus Vorstehendem wird ersichtlich, wie durch die erfindungsgemäße Anordnung eine wirksame Verarbeitung von Lese- und Schreibanweisungen erzielt wird. Durch die Verwendung einer Anweisungs-Warteschlangeneinrichtung findet eine schnellere und effizientere Verarbeitung von Schreibanweisungen statt. Ferner wird durch die Anordnung der Aufwand an Schaltkreisen auf ein Minimum reduziert und die Anweisungsübertragungen werden vereinfacht.
Aus Vorstehendem wird ferner ersichtlich, wie die Anordnung gemäß dem bevorzugten Ausführungsbeispiel die übertragung sowohl von Lese- als auch von Schreibanweisungen zu der Schnittstelleneinheit SIU100 erleichtert. Im Falle von Schreibanweisungen optimiert die erfindungsgemäße Einrichtung die Verwendung von verfügbaren Schreibanweisung-Pufferspeicherplätzen, indem die Speicherung einer neuen Schreibanweisung sobald gestattet wird, wie eine bestimmte Anzahl von verfügbaren Speicherplätzen festgestellt ist. Im bevorzugten Ausführungsbeispiel geschieht dies durch Prüfung des Typs der unerledigten Schreibanweisung und durch Prüfung bis zu welchem Ausmaß die Anweisung verarbeitet worden ist, wenn der Prozessor 700 eine neue Schreibanweisung anlegt. Die Anzahl der Speicherplätze entspricht derjenigen Anzahl, die für die Speicherung einer Doppel-Schreibanweisung erforderlich ist, welche die größte Anzahl von Worten enthält.
03002A/0833
-m-
L e e r s e i t e

Claims (19)

  1. HONEYWELL INFORMATION SYSTEMS INC. 5202765 Ge
    Smith Street
    Waltham, Mass. USA
    Puffereinheit
    Patentansprüche:
    (1Λ Puffereinheit für einen Prozessor zur Erzielung eines schnellen Zugriffs auf Daten und Befehle, die aus einem Hauptspeicher über eine System-Schnittstelle aufgrund von Anweisungen abgerufen werden, wobei jede Anweisung eine Anzahl von von dem Prozessor gelieferten Worten aufweist, g e k e η η zeichnetdurch
    einen an die System-Schnittstelle und den Prozessor angeschlossenen Anweisungspuffer mit mehreren adressierbaren Speicherplätzen für die Speicherung der Anzahl von Worten eines ersten Anweisungstyps;
    eine an den Anweisungspuffer angeschlossene Anweisungs-Warteschlangeneinrichtung mit einem Puffer, der mehrere Multibit-Speicherplätze aufweist, deren Anzahl wenigstens der Anzahl der Anweisungspuffer-Speicherplätze entspricht; und eine an die Anweisungs-Warteschlangeneinrichtung und den Anweisungspuffer angeschlossene Steuereinrichtung, die aufgrund eines ersten Wortes jeder Anweisung Signale erzeugt, um Signale einer ersten Eintrittsstelle in eine als nächste verfügbare Eintrittsstelle der Multibit-Speicherplätze zu laden, wobei diese Eintrittsstelle aufgrund ihrer Codierung vorbestimmte Charakteristiken der in den als nächsten verfügbaren Speicherplatz zu ladenden Anweisung festlegt, um die Speicherung einer maximalen Anzahl dieser Anweisungen zu irgendeinem Zeitpunkt zu ermöglichen.
    Ö3002W0833
    ORIGINAL INSPECTED
  2. 2. Puffereinheit nach Anspruch 1, dadurch gekenn ■ zeichnet, daß der erste Anweisungstyp einer Schreibanweisung entspricht und daß die vorbestinmite Charakteristik den Anweisungstyp und die in der Anweisung enthaltene Anzahl von Worten umfaßt.
  3. 3. Puffereinheit nach Anspruch 2, dadurch gekennzeichnet, daß die Eintrittsstelle mehrere Bits aufweist, wobei ein erstes Bit durch seine Codierung festlegt, ob es sich um eine Lese- oder Schreibanweisung handelt, ein zweites Bit durch seine Codierung festlegt, ob es sich um ein Einzel- oder Doppelwort handelt und ein drittes und viertes Bit durch ihre Codierung die Adresse des nächsten verfügbaren Speicherplatzes in dem Anweisungspuffer vorgeben, in die die Anweisung zu laden ist.
  4. 4. Puffereinheit nach Ansprach 1, dadurch gekennzeichnet, daß die Steuereinrichtung aufgrund des Empfangs eines jeden aufeinanderfolgenden Wortes der Anweisung Signale zum Laden einer entsprechenden Anzahl von folgenden Eintrittsstellen in aufeinanderfolgende Multibit-Speicherplätze erzeugt, wobei jede folgende Eintrittsstelle durch ihre Codierung nur die Adresse des Speicherplatzes in dem Anweisungspuffer festlegt, in der das folgende Wort zu laden ist, um die Übertragung dieser Worte zu der System-Schnittstelle zu erleichtern.
  5. 5. Puffereinheit nach Anspruch 2, dadurch gekennzeichnet, daß der Anweisungspuffer ferner eine Gruppe von Lese-Adressanschlüssen, die an die AnWeisungs-Warteschlageneinrichtung angeschlossen sind, sowie eine Gruppe von Schreib-Adressanschlüssen aufweist und daß die Puffereinheit ferner umfaßt:
    ein an die Schreib-Adressanschlüsse angeschlossenes Hinweisadressregister zur Speicherung von Schreib-Adresssignalen, die die Adressierung des als nächsten verfügbaren
    030024/0833
    Anweisungspuffer-Speicherplatzes festlegen, wobei dieses Register an die Steuereinrichtung angeschlossen ist und die Steuereinrichtung Signale erzeugt, um die Schreibadresse um 1 beim Schreiben einer jeden Eintrittsstelle in den nächsten verfügbaren Multibit-Speicherplatz zu erhöhen.
  6. 6. Puffereinheit nach Anspruch 5, dadurch gekenn zeichnet, daß die Anweisungs-Warteschlangeneinrichtung ferner mehrere Daten-Eingangsanschlüsse aufweist, wobei einer ersten Anzahl von Anschlüssen Signale entsprechend vorbestinunter Bits des ersten die vorbestimmte Charakteristik festlegenden Anweisungswortes zugeführt werden und wobei einer zweiten Anzahl von Anschlüssen von dem Hinweisregister die Schreib-Adresssignale zugeführt werden, die den Speicherplatz festlegen, in den das Anweisungswort zu schreiben ist, und daß die Anweisungs-Warteschlangeneinrichtung durch die Steuereinrichtung in die Lage versetzt wird, die vorbestimmten Bits und Schreib-Adresssignale gemäß der ersten Eintrittsstelle in den als nächsten verfügbaren Multibit-Speicherplatz zu schreiben.
  7. 7. Puffereinheit nach Anspruch 6, dadurch gekennzeichnet, daß die Anweisungs-Warteschlangeneinrichtung ferner aufweist:
    eine Gruppe von Lese-Adressanschlüssen; eine Gruppe von Schreib-Adressanschlüssen; ein an die Gruppe von Schreib-Adressanschlüssen und die Steuereinrichtung angeschlossenes Hinweisadressregister zur Speicherung einer Schreibadresse, die den nächsten verfügbaren Multibit-Speicherplatz festlegt, in den die Eintrittsstelle zu schreiben ist; und
    ein an die Gruppe von Lese-Adressanschlüssen und die Steuereinrichtung angeschlossenes Hinweisadressregister zur Speicherung einer Leseadresse, die die Eintrittsstelle festlegt, die für die Übertragung einer Anweisung auszulesen ist;
    Ö3002W0833
    wobei die Steuereinrichtung Signale erzeugt, um den Schreib-Adresseninhalt des Hinweisadressregisters jedesmal um 1 zu erhöhen, wenn eine Eintrittsstelle in die Anweisungs-Warteschlangeneinrichtung eingeschrieben wird und um den Lese-Adresseninhalt des Hinweisadressregisters jedesmal um 1 zu erhöhen, wenn ein Wort der Anweisung zu der System-Schnittstelleneinheit übertragen wird.
  8. 8. Puffereinheit nach Anspruch 1, gekennzeichnet durch,
    ein an den Anweisungspuffer und die Anweisungs-Warteschlangeneinrichtung angeschlossenes Hinweisadressregister zur Speicherung von Schreib-Adresssignalen, die den Anweisungspuffer-Speicherplatz festlegen, in den jedes Wort der Anweisung zu schreiben ist;
    wobei die Steuereinrichtung aufgrund des ersten Wortes der Anweisung Signale erzeugt, die den Anweisungspuffer in die Lage versetzen, das erste Wort der Anweisung in den Puffer-Speicherplatz zu laden, der durch die Schreib-Adresssignale festgelegt ist, nachdem festgestellt wurde, daß eine bestimmte Anzahl von Anweisungspuffer-Speicherplätzen für die Speicherung von Anweisungen verfügbar ist.
  9. 9. Puffereinheit nach Anspruch 8, dadurch gekennzeichnet, daß die bestimmte Anzahl von Speicherplätzen einem ersten Anweisungstyp mit einer maximalen Anzahl von Worten entspricht.
  10. 1o. Puffereinheit nach Anspruch 9, dadurch gekennzeichnet, daß die Anweisung mit der maximalen Anzahl von Worten eine Doppel-Schreibanweisung ist.
  11. 11. Puffereinheit nach Anspruch 10, dadurch gekennzeichnet, daß die Steuereinrichtung umfaßt: einen ersten Schaltkreis, der an die Anweisungs-Warteschlangeneinrichtung. ,aiig each los sen« ist und Signale erzeugt,
    β30024/0833
    die den Anweisungstyp vorgeben, der von dem Anweisungspuffer zu der System-Schnittstelle zu übertragen ist; einen zweiten an den ersten Schaltkreis und die System-Schnittstelle angeschlossenen Schaltkreis zur Erzeugung von Signalen, die das Ausmaß anzeigen, bis zu dem die Anweisung verarbeitet worden ist; und
    einenan den Prozessor angeschlossenen dritten Schaltkreis, der Signale zugeführt erhält, welche anzeigen, wenn eine andere Anweisung von dem Prozessor an den Anweisungspuffer angelegt worden ist, und der aufgrund der Signale des ersten und zweiten Schaltkreises ein Aui>gangs-Halteanweisungssignal erzeugt, das anzeigt, ob die bestimmte Anzahl von Anweisungspuffer-Speicherplätzen verfügbar ist oder nicht.
  12. 12. Puffereinheit nach Anspruch 11,gekennzeichnet durch
    einen an den Prozessor und die Steuereinrichtung angeschlossenen Halteschaltkreis, der bei einem ersten Zustand des Ausgangs-Halteanweisungssignales anzeigt, daß die bestimmte Anzahl von Speicherplätzen nicht verfügbar ist und Signale erzeugt, die den Prozessor an der Erzeugung weiterer Anweisungen hindern.
  13. 13. Puffereinheit nach Anspruch 12, dadurch gekennzeichnet, daß der zweite Schaltkreis aufweist:
    eine erste bistabile Einrichtung, die an den Prozessor angeschlossen ist, und von einem ersten in einen zweiten Zustand aufgrund von Signalen umschaltet, die den Empfang des ersten Anweisungstyps anzeigen; und ein an die Anweisungs-Warteschlangeneinrichtung, die System-Schnittstelle und die erste bistabile Einrichtung angeschlossenes Rückstellgatter zur Erzeugung eines Rückstellsignales für die erste bistabile Einrichtung, um diese vom zweiten in den ersten Zustand zurückzustellen, wenn
    024/0833
    Signale von der Anweisungs-Warteschlangeneinrichtung und der System-Schnittstelle die übertragung eines ersten Wortes einer Einzel-Schreibanweisung zu der System-Schnittstelle anzeigen, wobei der dritte Schaltkreis beim Umschalten der ersten bistabilen Einrichtung in den ersten Zustand das Halteanweisungssignal vom ersten in den zweiten die Freigabe des Prozessors signalisierenden Zustand umschaltet.
  14. 14. Puffereinheit nach Anspruch 12, dadurch gekennzeichnet, daß der erste Schaltkreis ein Gatter aufweist, das an die System-Schnittstelle angeschlossen ist und ein Schreib-Preigabesignal erzeugt, welches die übertragung eines zweiten Wortes der Anweisung zu der System-Schnittstelle anzeigt, wobei der erste Schaltkreis den dritten Schaltkreis zur Umschaltung des Halteanweisungssignales vom ersten in den zweiten Zustand aufgrund von Signalen veranlaßt, die anzeigen, daß die übertragenen Anweisungsworte einer Doppel-Schreibanweisung entsprechen.
  15. 15. Puffereinheit nach Anspruch 14,gekennzeichnet durch
    ein erstes an den Anweisungspuffer und die Steuereinrichtung angeschlossenes Register für die Aufnahme eines ersten Wortes des Anweisungswortes von dem Anweisungspuffer aufgrund eines Signalesvon der ersten bistabilen Einrichtung, das den ersten Zustand anzeigt; und
    ein zweites an den Anweisungspuffer und die Steuereinrichtung angeschlossenes Register für die Aufnahme eines zweiten Wortes des Anweisungswortes von dem Anweisungspuffer in Abhängigkeit von dem Schreib-Freigabesignal.
  16. 16. Puffereinheit nach Anspruch 15, gekennzeichnet durch
    einen Auswahlschaltkreis mit ersten und zweiten Gruppen von an die ersten und zweiten Register angeschlossenen Eingangs-
    030024/0833
    anschlüssen, mit einem an die Steuereinrichtung angeschlossenen Steueranschluss und mit mehreren an die System-Schnittstelle angeschlossenen Ausgangsanschlüssen, wobei die Steuereinrichtung beim Empfang eines Annahme-Antwortsignales von der Schnittstelle während der übertragung der Anweisungsworte ein Ausgangssignal an den Steueranschluss anlegt, um den zweiten Wortinhalt des zweiten Registers zu der System-Schnittstelle zu übertragen.
  17. 17. Puffereinheit nach Anspruch 12, dadurch gekennzeichnet, daß die Anweisungs-Warteschlangeneinrichtung ferner umfaßt:
    eine Gruppe von Lese-Adressanschlüssen; eine Gruppe von Schreib-Adressanschlüssen; ein Hinweisregister, das an die Gruppe der Schreib-Adressanschlüsse und die Steuereinrichtung angeschlossen ist und eine Schreibadresse speichert, die den nächsten verfügbaren Multibit-Speicherplatz festlegt, in den die Eintrittsstelle einzuschreiben ist;
    ein Hinweisregister, das an die Gruppe der Lese-Adressenschlüsse und die Steuereinrichtung angeschlossen ist und eine Leseadresse speichert, die die Eintrittsstelle festlegt, welche für die übertragung einer der Anweisungen auszulesen ist; und
    einen Vergleichsschaltkreis, der an die beiden Hinweisregister und den ersten Schaltkreis der Steuereinrichtung angeschlossen ist und Signale erzeugt, die anzeigen, ob die Lese- und Schreibadressen übereinstimmen oder nicht, wodurch der Steuereinrichtung die Gegenwart einer uner ledigten Anweisung in dem Anweisungspuffer signalisiert wird.
  18. 18. Puffereinheit nach Anspruch 1, mit mehrere Anweisungspuffern, einer Anweisungs-Warteschlangeneinrichtung und einer Steuereinrichtung, dadurch gekennzeichnet, daß ein erster Anweisungspuffer eine Anzahl von Worten eines zu der System-Schnittstelle zu übertragendenAnweisungstypes und ein anderer Anweisungspuffer einen zweiten Anweisungstyp
    03002A/0833
    gespeichert;
    daß die adressierbaren Multibit-Speicherplatze der Anweisungs-Warteschlangeneinrichtung in ihrer Anzahl der Summe der Speicherplätze in jedem Anweisungspuffer entspricht; und
    daß die Steuereinrichtung aufgrund eines ersten Wortes jeder Anweisung des ersten und zweiten Typs Signale zum. Einschreiben einer ersten Eintrittsstelle in den nächsten verfügbaren Multibit-Speicherplatz erzeugt, wobei die erste Eintrittsstelle aufgrund ihrer Codierung eine vorbestimmte Charakteristik der zu ladenden Anweisung vorgibt, und die Steuereinrichtung beim Lesen der ersten Eintrittsstelle Signale zum übertragen der Anweisungsworte zu der System-Schnittstelle sowie zum Laden einer neuen Anweisung in den einen Anweisungspuffer erzeugt, wenn eine Anzahl von Speicherplätzen verfügbar ist, um einen vorbestimmten ersten Anweisungstyp aufzunehmen.
  19. 19. Puffereinheit nach Anspruch 1, wobei jede Anweisung vom Schreibtyp ein Anweisungswort und eine Anzahl von Datenworten aufweist, gekennzeichnet durch, ein erstes an die System-Schnittstelle angeschlossenes Register zur Übertragung des Anweisungswortes jeder Anweisung vom Schreibtyp;
    ein zweites an die System-Schnittstelle angeschlossenes Register zur übertragung der Datenworte einer jeden Anweisung vom Schreibtyp;
    einen adressierbaren Schreibpuffer als Anweisungspuffer, der an das erste und zweite Regiater und den Prozessor angeschlossen ist und mehrere Speicherplätze zur Speicherung der Anweisungs- und Datenworte aufweist; und wobei die Steuerinrichtung aufgrund der aus der Anweisung-Warteschlange ausgelesenen Eintrittsstelle Signale erzeugt, durch die das Anweisungswort in das erste Register, ein erstes Datenwort in das zweite Register und eine neue Anweisung in den Schreibpuffer in Übereinstimmung mit dem
    030024/0833
    Fortschritt der übertragung bei der Feststellung von verfügbaren Speicherplätzen geladen wird.
    030024/0833
DE19792948668 1978-12-11 1979-12-04 Puffereinheit Withdrawn DE2948668A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/968,311 US4225922A (en) 1978-12-11 1978-12-11 Command queue apparatus included within a cache unit for facilitating command sequencing

Publications (1)

Publication Number Publication Date
DE2948668A1 true DE2948668A1 (de) 1980-06-12

Family

ID=25514050

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19792948668 Withdrawn DE2948668A1 (de) 1978-12-11 1979-12-04 Puffereinheit

Country Status (7)

Country Link
US (1) US4225922A (de)
JP (1) JPS5587365A (de)
AU (1) AU529391B2 (de)
CA (1) CA1135870A (de)
DE (1) DE2948668A1 (de)
FR (1) FR2447077B1 (de)
GB (1) GB2037041B (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4392200A (en) * 1980-01-28 1983-07-05 Digital Equipment Corporation Cached multiprocessor system with pipeline timing
US4425615A (en) 1980-11-14 1984-01-10 Sperry Corporation Hierarchical memory system having cache/disk subsystem with command queues for plural disks
US4445172A (en) * 1980-12-31 1984-04-24 Honeywell Information Systems Inc. Data steering logic for the output of a cache memory having an odd/even bank structure
US4410942A (en) * 1981-03-06 1983-10-18 International Business Machines Corporation Synchronizing buffered peripheral subsystems to host operations
US4646236A (en) * 1981-04-17 1987-02-24 International Business Machines Corp. Pipelined control apparatus with multi-process address storage
JPS5835627A (ja) * 1981-08-26 1983-03-02 Toshiba Corp メモリデ−タ先取り制御方式
US4536836A (en) * 1981-11-27 1985-08-20 Storage Technology Corporation Detection of sequential data stream
AU542447B2 (en) * 1982-02-27 1985-02-21 Fujitsu Limited System for controlling key storage unit
US4553202A (en) * 1982-05-06 1985-11-12 International Business Machines Corporation User controlled dialog resource switching in a multi-tasking word processor
JPS58203554A (ja) * 1982-05-21 1983-11-28 Toshiba Corp 演算処理装置
JPS59136859A (ja) * 1983-01-27 1984-08-06 Nec Corp バツフア制御装置
US4510581A (en) * 1983-02-14 1985-04-09 Prime Computer, Inc. High speed buffer allocation apparatus
US4660143A (en) * 1984-09-24 1987-04-21 The United States Of America As Represented By The Secretary Of The Air Force Programmable realtime interface between a Block Floating Point processor and memory
US4637024A (en) * 1984-11-02 1987-01-13 International Business Machines Corporation Redundant page identification for a catalogued memory
US5287468A (en) * 1987-06-03 1994-02-15 Sony Corporation Method and apparatus for processing information data
JP2982875B2 (ja) * 1987-12-28 1999-11-29 株式会社日立製作所 スレーブ制御装置
US5023776A (en) * 1988-02-22 1991-06-11 International Business Machines Corp. Store queue for a tightly coupled multiple processor configuration with two-level cache buffer storage
EP0425550B1 (de) * 1988-06-30 1995-01-04 Wang Laboratories, Inc. Steuereinheit für den speicher
US6092153A (en) * 1988-11-14 2000-07-18 Lass; Stanley Edwin Subsettable top level cache
US5239633A (en) * 1989-03-24 1993-08-24 Mitsubishi Denki Kabushiki Kaisha Data processor executing memory indirect addressing and register indirect addressing
US5423016A (en) * 1992-02-24 1995-06-06 Unisys Corporation Block buffer for instruction/operand caches
US5375223A (en) * 1993-01-07 1994-12-20 International Business Machines Corporation Single register arbiter circuit
US5724533A (en) * 1995-11-17 1998-03-03 Unisys Corporation High performance instruction data path
US5838631A (en) 1996-04-19 1998-11-17 Integrated Device Technology, Inc. Fully synchronous pipelined ram
US5867699A (en) * 1996-07-25 1999-02-02 Unisys Corporation Instruction flow control for an instruction processor
US6029226A (en) * 1996-09-30 2000-02-22 Lsi Logic Corporation Method and apparatus having automated write data transfer with optional skip by processing two write commands as a single write command
US6000011A (en) * 1996-12-09 1999-12-07 International Business Machines Corporation Multi-entry fully associative transition cache
US6041286A (en) * 1997-10-21 2000-03-21 Sony Corporation Apparatus for and method of accurately obtaining the cycle time of completion of transmission of video frames within an isochronous stream of data transmitted over an IEEE 1394 serial bus network
US6115320A (en) 1998-02-23 2000-09-05 Integrated Device Technology, Inc. Separate byte control on fully synchronous pipelined SRAM
US7069406B2 (en) 1999-07-02 2006-06-27 Integrated Device Technology, Inc. Double data rate synchronous SRAM with 100% bus utilization
US6920543B1 (en) * 1999-12-14 2005-07-19 Genesis Microchip, Inc. Method and apparatus for performing distributed processing of program code
US6738884B1 (en) * 1999-12-14 2004-05-18 Genesis Microchip Inc. Method and apparatus for processing data with semaphores
US6775757B1 (en) * 1999-12-14 2004-08-10 Genesis Microchip Inc. Multi-component processor
KR100533021B1 (ko) * 2002-11-14 2005-12-02 엘지전자 주식회사 무선 주파수 통신 시스템의 자동 이득 조정 장치
US20140195777A1 (en) * 2013-01-10 2014-07-10 International Business Machines Corporation Variable depth instruction fifos to implement simd architecture

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5420097B2 (de) * 1973-12-28 1979-07-20
US3896419A (en) * 1974-01-17 1975-07-22 Honeywell Inf Systems Cache memory store in a processor of a data processing system
US3967247A (en) * 1974-11-11 1976-06-29 Sperry Rand Corporation Storage interface unit
US3964054A (en) * 1975-06-23 1976-06-15 International Business Machines Corporation Hierarchy response priority adjustment mechanism
US4075686A (en) * 1976-12-30 1978-02-21 Honeywell Information Systems Inc. Input/output cache system including bypass capability
US4092713A (en) * 1977-06-13 1978-05-30 Sperry Rand Corporation Post-write address word correction in cache memory system
GB2008817B (en) * 1977-11-22 1982-11-10 Honeywell Inf Systems Data processing systems including cache stores
AU521383B2 (en) * 1977-12-16 1982-04-01 Honeywell Information Systems Incorp. Cache memory command circuit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
US-Z.: "Computer", Nov. 1974, S. 24-38 *

Also Published As

Publication number Publication date
US4225922A (en) 1980-09-30
AU529391B2 (en) 1983-06-02
FR2447077B1 (fr) 1986-05-30
GB2037041B (en) 1983-05-05
AU5287479A (en) 1980-07-17
CA1135870A (en) 1982-11-16
FR2447077A1 (fr) 1980-08-14
JPS5587365A (en) 1980-07-02
GB2037041A (en) 1980-07-02

Similar Documents

Publication Publication Date Title
DE2948668A1 (de) Puffereinheit
DE68928677T2 (de) Verfahren und digitaler Computer zur Vorverarbeitung mehrerer Befehle
DE3486085T2 (de) Zentrale Verarbeitungseinheit für einen Digitalrechner.
DE3851746T2 (de) Sprungvorhersage.
DE2949375C2 (de) Datenbussystem für eine Datenverabeitungsanlage mit einer Gleitkommaeinheit in Pipeline-Struktur
DE69032635T2 (de) Verfahren und Vorrichtung zur Erkennung von Betriebsmittelkonflikten in einer Pipeline-Verarbeitungseinheit
DE69932066T2 (de) Mechanismus zur &#34;store-to-load forwarding&#34;
DE3786594T2 (de) Speicherverwaltungseinheit für Digitalsignalprozessor.
DE68928812T2 (de) Vorrichtung zur Auflösung von einer variablen Anzahl von möglichen Speicherzugriffskonflikten in einem Pipeline-Rechnersystem und Verfahren dazu
DE3688978T2 (de) Seitenspeicherverwaltungseinheit mit der fähigkeit nach wahl mehrere adressräume zu unterstützen.
DE3151745C2 (de)
DE3587439T2 (de) Gemeinsam benutzter Mehrprozessor-Pipeline-Cachespeicher.
DE69024068T2 (de) Verfahren und Datenverarbeitungseinheit zur Pipeline- Verarbeitung von Register- und Registeränderungs- Spezifizierern in dem gleichen Befehl
DE3785897T2 (de) Steuervorrichtung zum vorabruf von befehlen.
DE68927855T2 (de) Verfahren und Datenverarbeitungseinheit zur Vorverarbeitung von implizierten Spezifizierern in einem Pipeline-Prozessor
DE3752017T2 (de) Mikrorechner mit Zugriffsfähigkeit auf einen internen Speicher mit gewünschter variabler Zugriffszeit
DE68928727T2 (de) Cachespeicheranlage zum Versorgen eines Festworts eines Befehlscodes mit variabler Länge und Befehlsabrufanlage
DE69032276T2 (de) Verfahren und Anordnung zur Verbesserung der Datenspeicherungsgeschwindigkeit eines Computersystems
DE3650602T2 (de) Datenverarbeitungssystem
DE69030931T2 (de) Mehrfachsequenzprozessorsystem
DE69027932T2 (de) Cpu-pipeline mit registerfile-bypass durch adressvergleich bei aktualisierungen/zugriffen
DE2755371A1 (de) Ein/ausgabe-verarbeitungssystem
DE2714805A1 (de) Datenverarbeitungssystem
DE2524046A1 (de) Elektronische datenverarbeitungsanlage
DE69010739T2 (de) Verfahren und Vorrichtung zur Speicherzugriffsbeschleunigung unter Verwendung eines modifizierten LRU-Algorithmus.

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8130 Withdrawal