DE2817073A1 - Adressenberechnungsanordnung - Google Patents

Adressenberechnungsanordnung

Info

Publication number
DE2817073A1
DE2817073A1 DE19782817073 DE2817073A DE2817073A1 DE 2817073 A1 DE2817073 A1 DE 2817073A1 DE 19782817073 DE19782817073 DE 19782817073 DE 2817073 A DE2817073 A DE 2817073A DE 2817073 A1 DE2817073 A1 DE 2817073A1
Authority
DE
Germany
Prior art keywords
input
microinstruction
flip
field
test
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
DE19782817073
Other languages
English (en)
Inventor
Jean-Marie Bourrez
Claude Nessin Chemla
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 SA
Original Assignee
Bull SA
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 Bull SA filed Critical Bull SA
Publication of DE2817073A1 publication Critical patent/DE2817073A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Advance Control (AREA)

Description

Patentanwälte 2 8 1 7 Π *?
Dipl.-lng Dipl -Chem Dipl -lug
E. Prinz - Dr. G. Hauser - G. Leiser
Ercisbeigerslrasse 19
8 München 60
Unser Zeichen; C 3179 17.April 1978
COMPAGNIE INTERNATIONALE POUR L'INFORMATIQUE CII-HONEYWELL BULL
9h, Avenue Gambetta, 75020, Paris, Frankreich
Adressenberechnungsanordnung
Die Erfindung bezieht sich auf die Adressenberechnung und auf eine Adressenverkettungsanordnung für auszuführende Mikrobefehle in einem Befehlsspeicher eines mikr©programmierten Rechners. Insbesondere bezieht sich die Erfindung auf den Fall von Steueranordnungen, bei denen eine Überlappung der eigentlichen Ausführung des laufenden Mikrobefehls und der Vorbereitungsphase des anschliessend auszuführenden Mikrobefehls vorgesehen ist. Die Erfindung kann bei Datenverarbeitungs- oder Datenübertragungssystamen angewendet werden. Sie erweist sich besonders bei umfangreichen Rechenanlagen als vorteilhaft, bei denen die Tests bei der Mikrobefehlsverkettung Zeit in Anspruch nehmen und im Ausführungszyklus des Mikrobefehls häufig zu spät kommen. Diese Verzögerung in der Vorbereitung des Mikrobefehls führt in im Uberlappungsbetrieb arbeitenden
809844/0802
Rechnern dazu, daß eine Befehlsausführung versagt.
Nach der Erfindung wird die Adresse eines Im Befehlsspeicher enthaltenen Mikrobefehls entweder direkt vom Adressenregister zum Hinweisen auf den ersten Mikrobefehl im Befehlsspeicher übertragen, der die Anfangsadresse des Mikroprogramms im Befehlsspeicher darstellen wird, oder sie wird von einer Verkettungslogik für die Mikrobefehle im Befehlsspeicher ausgearbeitet, wobei sie in diesem Fall als laufende Verkettungsadresse im Befehlsspeicher bezeichnet wird, die auf die vom ersten Mikrobefehl verschiedenen aufeinanderfolgenden Mikrobefehle des Mikroprogramms hinweisen wird.
Der Erfindung liegt die Aufgabe zugrunde, eine Anordnung zu schaffen, die die Vorbereitung und die Ausführung von Mikrobefehlen in drei Betriebsarten ermöglicht, nämlich die Betriebsart mit vorbereiteter Verkettung, die Betriebsart mit direkter Verkettung und die Betriebsart mit gemischter Verkettung.
In der Betriebsart mit vorbereiteter Verkettung wird eine durch ein Feld eines Mikrobefehls angegebene Änderung der Adressenverkettung im Verlauf vorangehender Mikrobefehle dadurch vorbereitet, daß Modifizierungsbits in Flipflops oder in spezielle Register geladen werden. Die Ladevorgänge können sich aus einer definierten Positionierungsreihenfolge, aus einer Modifikation alter Inhalte abhängig von Testergebnissen,
809844/080?
aus einer Übertragung des Inhalts eines anderen Flipflops oder eines anderen Registers oder auch aus einem Berechnungsresultat ergeben. Die Betriebsart mit vorbereiteter Verkettung eignet sich besonders für den Fall, bei dem es möglich ist, den Verkettungsvorgang durch eine vorherige Abspeicherung abhängig von Ergebnissen von im Ablauf befindlichen Mikrooperationen zu verschieben, ohne daß sich dies durch die Einführung einer unwirksamen Zykluszeit bemerkbar macht. Die Adressenverkettung wird schließlich abhängig von dieser Abspeicherung festgelegt, und unter Berücksichtigung der Überlappung zwischen der Ausführung des Mikrobefehls η und der Vorbereitung des Mikrobefehls n+1 resultiert daraus nicht die Gefahr des unerwünschten Lesens eines Mikrobefehls.
In gewissen Fällen kann es sich nachteilig auf die Ausführungszeit und auf die Anzahl der Befehlswörter auswirken, wenn ein Testergebnis an einem Mikrobefehlsfeld in einem Flipflop gespeichert wird, bevor die Adressenverkettungen abhängig von diesem Testergebnis befohlen werdaiJDies gilt insbesondere bei Mikroprogrammen mit gleitender Ausführung, bei denen es häufig erwünscht ist, die Verkettungsbefehle in einem Mikrobefehl abhängig von Ergebnissen zu geben, die am Ende dieses gleichen Mikrobefehls erhalten werden. Ein solcher Verkettungsprozesss verträgt sich nicht mit der Tatsache, daß sich innerhalb des gleichen Zyklus das Lesen des Mikrobefehls n+1 und die Ausführung des Mikrobefehls η überlappen,, Die direkte Adresaenverkettung besteht darin, daß der Fall optimiert wird,
809844/0802
bei dem die Tests an den direkt auf die Verkettung einwirkenden Mikrobefehlsfeldern nicht erfolgreich sind. Während der Ausführung des Mikrobefehls η wird der Mikrobefehl n+1 gelesen, zu dem der Anschluß hergestellt werden soll, wenn der Test keinen Erfolg hat. Der Mißerfolg bei den Testfeldern des Mikrobefehls wird natürlich als der wahrscheinlichste Fall angesehen. Im Fall erfolgreicher Tests wird die Anordnung dagegen am Ende des Zyklus einen nicht gewünschten Mikrobefehl gelesen haben. Im nachfolgenden Zyklus erfolgt keine Ausführung, während das Lesen des von der Verkettungsadresse tatsächlich angeforderten Mikrobefehls erfolgt.
Bei der direkten Verkettung wird während der Ausführung im Falle eines Teste an den Testfeldern des Mikrobefehls ein Maschinenzyklus verlorengehen, falls diese Tests direkt auf die Mikrobefehls-Verkettungsbefehle einwirken. Diese Befehle sind bei Fehlertests, bei einem von der Norm abweichenden Format nder bei irgendwelchen Anomalien sehr wichtig, da sie die unmittelbare Ausführung der Tests ohne Verwendung von Verkettungsflipflops und praktisch ohne nachteilige Zeitauswirkungen gestatten, da die nachteiligen Auswirkungen nur in dem wenig wahrscheinlichen Fall von Anomalien auftreten. Diese Befehle ermöglichen ferner, die wahrscheinliche nachteilige Auswirkung Jedesmal dann herabzusetzen, wenn in einem Mikrobefehl die Verkettung abhängig von Ergebnissen dieses gleichen Mikrobefehls befohlen werden soll, wo -
809844/0802
wobei die Ausführungsergebnisse als gleich wahrscheinlich angenommen werden. Die Betriebsart mit gemischter Verkettung ermöglicht schließlich die Überlagerung der Befehle für vorbereitete Verkettungen und der Befehle für direkte Verkettungen.
Die angestrebten Ziele, die oben angegeben wurden, werden mittels der Erfindung erreicht, indem im Mikrobefehl zwei die mit dem nächsten Mikrobefehl auszuführende Verkettung angebende Felder sowie zusätzliche Felder vorgesehen werden. Die die Verkettung angebenden Felder sind:
- ein Feld AE, das die Verkettungsadresse angibt und
- ein Feld ME, das die Verkettungsbetriebsart angibt. Die zusätzlichen Felder sind:
- zwei Teststeuerfelder CM.. und CM2 und
- Flipflopeingabe-Befehlsfelder B^, B2# B-*, B,.
Wenn das die Verkettungsbetriebsart angebende Feld ME den Wert O hat, ist die Adresse des nächsten Mikrobefehls durch die Verkettungsadresse AE angegeben.
Wenn das die Verkettungsbetriebsart angebende Feld ME eine Verkettungsänderung angibt (Feld ME φ O), dann wird die Adresse des nächsten Mikrobefehls durch
809844/0802
die Verkettungsadresse AE angegeben, die durch die Einwirkungdes Feldes ME auf die Testergebnisflipflops F1, F2, auf die Flipflops BB1 bis BB^ und auf ein die Verkettungsmodifizierungsbits enthaltendes Register Ry modifiziert wird.
Die Erfindung wird nun an Hand der Zeichnung beispielshalber erläutert. Es zeigen:
Fig.1 das Format eines Mikrobefehls,
Fig.2 in vereinfachter Form einen Befehlsspeicher, der Befehlsschaltungen und Verkettungsmodifizierungsschaltungen zugeordnet ist,
Fig.3 eine Übersichtsdarstellung zur Veranschaulichung des allgemeinen Verkettungsprozesses,
Fig.4 in den Figuren 4a und 4b ein Schaltbild der Verkettungslogik,
Fig.5 ein Schaltbild der Testlogik,
Fig.6 und 7 Steuerschaltungen für die Flipflops BB1 bis BB4,
Fig.8 eine Ausführungsform des Decodierers 78 und
Fig.9 eine Ausführungsform der Baueinheiten 57 bis und 66 bis 68 von Fig.5ο
809844/0802
Das Format des in Fig.1 dargestellten Mikrobefehls hat eine Länge von 144 Bits. Es sind nur die dem Verständnis der Erfindung dienlichen Felder dargestellt.
Die Teststeuerfelder CM1 und CM2 haben jeweils eine Länge von vier Bits. Das Feld CM1 beginnt mit dem Bit 108; das Feld CM2 beginnt mit dem Bit 112. Diese Felder ermöglichen Tests am Ausgang eines Rechenwerks, das Daten in Achtergruppen verarbeitet, und am Ausgang eines Rechenwerks, das Informationsdoppelwörter verarbeitet. DieseTests sind beispielsweise Ungültigkeitstests, Positiv- oder Null-Tests, Negativtests oder Übertrag-Tests am Ausgang der zwei Rechenwerke.
Das Feld B1 hat eine Länge von drei Bits; es beginnt beim Bit 116. Seine Aufgabe ist es, das Laden eines Modifizierungsflipflops BB1 zu steuern. Dieses Feld kann auch folgende Bedeutungen haben:
1. eine unbedingte Komplementierung des alten Inhalts des Flipflops BB1;
2. eine Komplementierung des Flipflops BB1, wenn sich der am Feld CM1 durchgeführte Test als richtig erwiesen hat;
3. Komplementierung des Flipflops BB1, wenn sich der am Feld CM2 durchgeführte Test als richtig erwiesen hat;
4. Rückstellen des Flipflops BB1 auf den Wert O;
809844/0802
5. Eingabe des Ergebnisses des vom Feld CM,, gesteuerten in das Flipflop BB1;
6. Eingabe des Ergebnisses des vom Feld CMp gesteuerten Tests in das Flipflop BB1.
Das Feld Bp hat eine Länge von zwei Bits; es beginnt beim Bit 119.Seine Aufgabe ist es, das Laden des Verkettungsmodifizierungsflipflops BBp zu steuern. Dieses Feld kann folgende Bedeutungen haben:
1. Eingabe des Ergebnisses des vom Feld CM1 gesteuerten Teste in das Flipflop BB2;
2. Eingabe des Ergebnisses des vom Feld CM2 gesteuerten Tests in das Flipflop BB2;
3. Eingabe des Ergebnisses der ODER-Verknüpfung zwischen dem alten Inhalt des Flipflops BB2 und des Ergebnisses des vom Feld CM2 gesteuerten Tests in das Flipflop BB2.
Das Feld B, hat eine Länge von 2 Bits; es beginnt beim Bit 121. Seine Aufgabe ist es, das Laden des Verkettungsmodifizierungsflipflops BB, zu steuern. Dieses Feld kann die folgenden gedeutungen haben:
1. Eingabe in das Flipflop BB, in Abhängigkeit vom Vorhandensein von zwei sekundären Befehlen, deren besondere Wirkung keine direkte Verbindung mit dem Mikrobefehlsverkettungsprozess hat; wenn keine sekundären Befehle vorhanden sind, findet die Operation nicht statt (Ν0Ρ); wenn der Befehl CSIS0 809844/0802
vorhanden ist, ist das Bit 12 des Registers ISR in das Flipflop BB, zu übertragen; wenn der Befehl CSPCR vorhanden ist, ist das Bit 7 des Registers PCR in das Flipflop BB, zu übertragen;
2„ Eingabe des Ergebnisses des vom Feld CM^ gesteuerten Tests in das Flipflop BB,;
3. Eingabe des Ergebnisses der ODER-Verknüpfung des alten Inhalts des Flipflops BB, und des Ergebnisses des vom Feld CM^ gesteuerten Tests in das Flipflop
4. Eingabe des alten Inhalts des Flipflops BB2 in das Flipflop BB,.
Das Feld B, hat eine Länge von zwei Bits; es beginnt beim Bit 123. Seine Aufgabe ist es, das Laden des Verkettungsmodifizierungsflipflops BB^ zu steuern. Dieses Feld kann die folgenden Bedeutungen haben:
1. Eingabe in das Flipflop BB^ in Abhängigkeit vom Vorhandensein des sekundären Befehls CSPR; wenn kein sekundärer Befehl vorhanden ist, wird die Operation nicht ausgeführt (N0P); wenn ein sekundärer Befehl CSPCR vorhanden ist, wird das Bit 7 des Registers PCR in das Flipflop BB^ übertragen;
2. Eingabe des alten Inhalts des Flipflops BB1 in das Flipflop BB4;
809044/0802
3. Eingabe des alten Inhalts des Flipflops BBp in das Flipflop BB4;
4. Eingabe des alten Inhalts BB, in das Flipflop BB^.
Die noch verbleibenden Felder ME und AE definieren die Verkettung mit dem nächsten auszuführenden Mikrobefehl.
Das Feld A hat eine Länge von 14 Bits; es beginnt beim Bit 132. Dieses Feld AE gibt die Verkettungsadresse vor ihrer Modifizierung durch das Verkettungsbetriebsart-Steuerfeld ME an. Dieses Feld AE enthält die 12 niedrigstwertigen Bits der Verkettungsadresse zum nächsten Mikrobefehl. Die zwei höchstwertigen Bits der 14-Bit-Adressierung bleiben die gleichen wie die für die ursprüngliche Ausführungsadresse angegebenen Bits.
Das Feld ME hat eine Länge von 7 Bits; es beginnt beim Bit 125.Dieses Feld ME gibt die Verkettungsbetriebsart an. Jedes Bit des Steuerfeldes ME hat eine spezielle Modifizieruiigswirkung für die Verkettungsadresse im Feld AE.
Die Bits ECM1 und ECM2 definieren die Betriebsart mit direkter Verkettung in Abhängigkeit von Tests, die von den in den Flipflops F1 und F2 gespeicherten Feldern CM1 und CM gesteuert werden.
Die Bits EB1, EB2, EB,, EB^ und EBRy definieren die Betriebsart mit vorbereiteter Verkettung, und sie geben die Modifizierung des Adressenfeldes AE mit dem
809844/0802
Inhalt der Flipflops BB1, BB2, BB,, BB^ und mit dem Inhalt eines Registers BR7 frei. -
Die Übersichtsdarstellung von Fig.2 faßt das allgemeine Prinzip der Adressenverkettungen zusammen.
Bei der Betriebsart mit vorbereiteter Verkettung kann eine Modifizierung der vom Feld AE eines Mikrobefehls gegebenen Verkettungsadresse im Verlauf vorangehender Mikrobefehle durch Laden der Flipflops BB1, BB2, BB3 BB^ oder des Oktettregisters BRy vorbereitet worden sein. Diese Ladevorgänge können sich aus einer Positionierungsreihenfolge, aus der Notwendigkeit, die alten Inhalte in Abhängigkeit von Ergebnissen der Tests CM1 und/oder CM2, einer Übertragung des Inhalts eines anderen Flipflops oder eines anderen Registers oder auch aus einem Berechnungsresultat ergeben.
Die Befehle EB1, EB2, EB,, EB^ und EBR7 für die vorbereiteten Verkettungsmodifizierungen, die durch einen Mikrobefehl gegeben sind, sind in Fig.2 bei 21 dargestellt; sie modifizieren die Verkettungsadresse mit den Inhalten der Flipflops BB1, BB2, BB,, BB^ oder mit dem Inhalt des Registers BRy am Ende des vorangehenden Mikrobefehls.
Allgemein enthalten die Binärstellen des in Fig.2 bei 20 dargestellten Feldes AE, die durch den Inhalt der Flipflops oder des Registers modifiziert werden können, die Werte 0, damit verhindert wird, daß die ODER-Verknüpfung bei der Modifizierung maskiert wird.
809844/0802
Das nachfolgende Beispiel gibt die Wirkung eines Befehls EBRy an.
AE X X JC X X 0 0 0
BRy 0000ABCD
Die wirksame Adresse des nächsten Mikrobefehls wird dann sein:
X X X X X A B C D
Das nachfolgende Beispiel gibt die Wirkung eines Befehls und eines Befehls BE, an:
AE X X 0X 0
Y Z
BB1 Y
Die wirksame Adresse des nächsten Mikrobefehls wird sein:
X „ . ο XZXY
Bei der Betriebsart mit direkter Verkettung ist die Logik in der Weise verwirklicht worden, daß der Fall, bei dem die direkt auf die Verkettung einwirkenden Tests CM^ und/oder CM2 nicht erfolgreich sind, optimiert wird, d.h. für den Fall, daß gilt:
F1 + F2 = 3f F. = O
8098U/0S02
Während der Ausführung des Mikrobefehls wird der Mikrobefehl η + 1 geschrieben, an dem der Anschluß erfolgen soll, wenn gilt:
f Fi = °
Der Fall des Fehlergebnisses der Tests CM1 und/oder CM2 wird von vornherein als der wahrscheinlichste Fall gesetzt.
Für den Fall der erfolgreichen Tests gilt:
F1 = 1 und/oder F2-I —*" ^- F^ = 1
DasLesen des Mikrobefehls am Ende des Zyklus wird erfolgen, jedoch findet im folgenden Zyklus keine Ausführung statt, während das Lesen des von der Verkettungsadresse verlangten Mikrobefehls stattfindet. Somit geht bei der Ausführung im Falle der erfolgreichen Tests CM1 und/oder CM2 ein Maschinenzyklus verloren, wenn diese Tests durch die Befehle ECM1 und ECM direkt auf die Verkettung einwirken.
Das nachfolgende Beispiel gilt für den Fall eines Befehls ESM1 und
AE X X 0 0
Ergebnis des Tests 1
Ergebnis des Tests CM2
Wirksame Adresse des
nächsten Mikrobefehls
8098-U/08Ö2
Die Betriebsart mit gemischter Verkettung ermöglicht die Überlagerung der durch die Befehle zur vorbereiteten Verkettung und die Befehle zur direkten Verkettung eintretenden Wirkungen.
AE: X X 0 X 0 0
Ergebnis des Teats CM2: Fp
BB1: Υ
BB4: Z
Wirksame Adresse des
nächsten Mikrobefehls: X X Z X F2 Y
Nach den obigen Ausführungen und gemäß der Darstellung von Fig.2 erfolgt die Modifizierung des niedrigstwertigen Bits AE11 des Feldes AE entsprechend der logischen Gleichung:
AE11+ (BR7)7* EBR7 + BB1* EB1 + F1- ECM1
Die Modifizierung des Bits AE10 des Feldes AE erfolgt entsprechend der logischen Gleichung:
AE10+ (BR7)5«EBR7 + BB2*EB2 + F2
Die Modifizierung des Bits AEg des Feldes AE erfolgt ent sprechend der logischen Gleichung:
AE9 + (BR7)^-EBR7 + BB3-EB3
Die Modifizierung des Bits AE8 des Feldes AE erfolgt ent sprechend der logischen Gleichung :
AE8 + (BR7)^EBR7 + BB4-EB4
809844/0802
Die Modifizierung des Bits AE7 des Feldes AE erfolgt entsprechend der logischen Gleichung :
AE7 + (BR7), · EBR7
Die Modifizierung des Bits AE6 des Feldes AE erfolgt entsprechend der logischen Gleichung :
AE6 + (BR7)2 ' EBR7
Die Modifizierung des Bits AE5 des Feldes AE erfolgt entsprechend der logischen Gleichung :
AE5 + (BR?)1 · EBR7
Die Modifizierung des Bits AE4 des Feldes AE erfolgt entsprechend der logischen Gleichung:
AE4 + (BR7)0 · EBR7.
In diesen Gleichungen repräsentiert das Zeichen * die UND-Verknüpf ung und das Zeichen + repräsentiert die ODER-V erknüpfung.
Die verschiedenen Baueinheiten, die nunerwähnt werden, sind in Fig.3 und den nachfolgenden Figuren dargestellt. In Fig.3 sind die Flipflops F1 und F2 durch das Register dargestellt, das zwei Flipflops enthält.
Die Flipflops BB1 bis BB4 sind durch das Register 6 mit vier Flipflops dargestellt. Die Eingänge der Register 5 und 6 werden von einer Testschaltung 4 gesteuert, die die Felder CM , CM2, B1 bis B4 und ME des Mikrobefehls empfängt, der im Befehlsregister 11 gespeichert ist, nachdem "er im Befehl s spei eher 10 gelesen worden ist. Die Ausgänge der Register 5 und 6 sind an Eingänge der Adressenberechnungseinheit 9 angeschlossen; sie übertragen die Zustände der
809844/0802
Flipflops F1, F2 und BB1 Ms BB^ für die Modifizierung des Adressenfeldes AE in der Adressenberechnungseinheit 9 ■ Die Adresse nberechnungseinheit empfängt über ein Register AIX eine von einem außerhalb der hier zu beschreibenden Anordnung liegenden Organ eine Adresse; diese Adresse kann direkt auf einen ersten Mikrobefehl im Befehlsspeicher hinweisen, und sie kann die Anfangsädresse eines Mikroprogramms im Befehlsspeieher 10 sein. Die Adressenberechnungseinheit empfängt auch den Inhalt ines in der Registergruppe 1(BR1 bis BR^) enthaltenen Registers BRy mit acht Bits zum Berechnen der Modifizierung der Verkettungsadresse; ferner empfängt sie den im Befehls spei eher 10 gelesenen Befehl. Die Eingänge der Adressenberechnungseinheit 10 sind direkt mit den Adressenwähleingängen im Befehls spei eher 10 verbunden.
Die Eingänge des Rechenwerks 3 sind direkt an die Eingänge der Registergruppe 1, die sieben Register BR1 bis BRy mit jeweils acht Bits und mit dem Rechenwerk 13 verbunden, damit sie am Anfang des Zyklus eine 8-Bit-Gruppe empfängt, die als Informationen in den Doppelwortarbeitsregistern 0, W1, W2, W, der Registergruppe 2 erarbeitet wurde. Die Registergruppe2 enthält Doppelwort-Informationen; sie kann aus dem internen Speicher 12 oder aus Einrichtungen außerhalb der hier zu beschreibenden Anordnung geladen werden. Der Inhalt der Registergruppe 2 wird entweder aus der hier zu beschreibenden Anordnung nach außen oder zum Eingang des Rechenwerks 13 übertragen. Das Rechenwerk 13 ist auch mit dem Befehlsregister 11 verbunden, damit es den Operanden des im internen Speicher gelesenen Mikrobefehls empfängt.
In Fig.4 ist die Adressenberechnungseinheit dargestellt, in der sich die hier zu beschreibende AdPessenverkettungslogik befindet. Sie enthält einen Adressendecodierer 41, dessen Eingänge von den Ausgängen des Adressenwählsregisters
809844/0802
SAR42 gesteuert werden. Im Beispiel von Fig.4 enthält das Adreseenwählregister SAR.42 Adressenwertigkeits-Speicherflipflops X0, X1, AE0 bis AE11. Der Eingang jedes Flipflops A^ bis A11 ist jeweils am Ausgang von ODER/UND-Gliedern 43 bis 50 angeschlossen. Die Eingänge der Flipilops X0, X1, AEq, AE1, AE2 und AE, sind direkt an entsprechende nicht dargestellte Ausgänge des Befehlsspeichers 10 angeschlossen; sie speichern die Bits des im Befehlsspeicher 10 von Fig.1 gelesenen Feldes AE mit der höchsten Wertigkeit.
Das Verknüpfungsglied 43 enthält ein ODER-Glied mit zwei Eingängen, die an die Ausgänge von zwei UND-Gliedern mit ebenfalls zwei Eingängen angeschlossen sind. Das erste UND-Glied empfängt an einem Eingang dauernd ein Signal mit dem Wert "1" und am anderen Eingang das Bit AE, des Feldes AE des im Befehlsspeicher 10 gelesenen Mikrobefehls. Das zweiteUND-Glied empfängt an einem Eingang das Bit(BR7)0 des Registers BR™ aus der Register gruppe 1 von Fig.3 und am anderen Eingang das Bit EBRy des Feldes EM des im Befehlsspeicher 10 gelesenen Mikrobefehls.
Das Verknüpfungsglied 44 besteht aus einem ODER-Glied mit zwei Eingängen, die an die Ausgänge von zwei UND-Gliedern angeschlossen sind, die ebenfalls zwei Eingänge aufweisen. Das erste UND-Glied empfängt an einem Eingang ständig ein Signal mit dem Wert "1" und an seinem anderen Eingang das Bit AEe des Feldes AE des im Befehls speicher 10 gelesenen Mikrobefehls. Der zweite Eingang des UND-Glieds empfängt an einem Eingang das Bit (BRy)1 aus dem Register BR7 der Registergruppe 1 von Fig.3 und seinem anderen Eingang das Bit EBR7 des Feldes EM des im Befehls speicher gelesenen Mikrobefehls.
Das Verknüpfungsglied 45 besteht aus einem ODER-Glied mit zwei Eingängen, die an die Ausgänge von zwei UND-Gliedern angeschlossen sind, die ebenfalls zwei Eingänge
809844/0002
aufweisen. Das erste UND-Glied empfängt an einem Eingang ständig ein Signal mit dem Wert "1" und an seinem anderen Eingang das Bit AEg des Feldes AE des im Befehlsspeicher gelesenen Mikrobefehls. Das zweite UND-Glied empfängt an einem Eingang das Bit (BR7)2 aus dem Register BR« der Registergruppe 1 von Fig.3 und an seinem anderen Eingang das Bit EBRy des Feldes EM des im Befehlsspeicher 10 gelesenen Mikrobefehls.
Das Verknüpfungsglied 46 besteht ebenfalls aus einem ODER-Glied mit zwei Eingängen, die an die Ausgänge von zwei UND-Gliedern angeschlossen sind, die ebenfalls zwei Eingänge aufweisen. Das erste UND-Glied empfängt an einem Eingang ständig ein Signal mit dem Wert "1" und am anderen Eingang das Bit AEy des Feldes AE des im Befehlsspeicher 10 gelesenen Mikrobefehls. Das zweite UND-Glied empfängt an einem Eingang das Bit(BR7), aus dem Register BRy der Registergruppe 1 von Fig.3 und am anderen Eingang das Bit EBRy des Feldes EM des im Befehls spei eher 10 gelesenen Mikrobefehls.
Das Verknüpfungsglied 47 besteht aus einem ODER-Glied mit drei Eingängen, die an die Ausgänge von 3-UND-Gliederη angeschlossen sind, die jeweils ~ zwei Eingänge aufweisen. Das erste UND-Glied empfängt an einem Eingang ständig ein Signal mit dem Wert "1" und am anderen Eingang das Bit AEQ d?s Feldes AE des im Befehls spei eher 10 gelesenen Mikrobefehls. Das zweite UND-Glied empfägt an einem E ingang das Bit (BR7)^ aus dem Register BRy der Registergruppe 1 von Fig.3 und am anderen Eingang das Bit EBRy des Feldes EM des im Befehlsspeieher 10 gelesenen Mikrobefehls. Das dritte UND-Glied empfängt an seinem Eingang das Zustandssignal des Flipflops BB^, das sich im Register 6 von Fig.3 befindet, und an seinem anderen Eingang das Bit EB^ des Feldes EM des im Befehls spei eher 10 gelesenen Mikrobefehls.
809844/0802
Das Verknüpfungsglied 48 besteht aus einem ODER-Glied mit drei Eingängen, die an die Ausgänge von drei UND-Gliedern angeschlossen sind, die Jeweils zwei Eingänge aufweisen. Das erste UND-Glied empfängt an einem Eingang ständig ein Signal mit dem Wert "1" und am anderen Eingang das Bit AEq des Feldes AE des im Befehls spei eher 10 gel esenen Mikrobefehls. Das zweite UND-Glied empfängt an einem Eingang das Bit (BR7)c aus dem Register BR„ der Registergruppe 1 von Fig.3 und an seinem anderen Eingang das Bit EBR7 des Feldes EM des im Befehlsspeicher 10 gelesenen Mikrobefehls. Das dritte UND-Glied empfängt an einem Eingang das Zustandssignal des Flipflops BB,, das sich im Register 6 von Fig.3 befindet, und an seinem anderen Eingang das Bit EB, des Feldes EM des im Befehls speicher 10 gelesenen Mikrobefehls.
Das Verknüpfungsglied 49 besteht aus einem ODER-Glied mit vier Eingängen, die an die Ausgänge von vier UND-Gliedern angeschlossen sind, die jeweils zwei Eingänge aufweisen. Das erste UND-Glied empfängt an einem Eingang ständig ein Signal mit dem Wert "1" und am anderen Eingang das Bit AE^0 des Feldes AE des im Befehlsspeicher 10 gelesenen Mikrobefehls. Das zweite UND-Glied empfängt an einem Eingang das Bit (BR7)g aus dem Register BRy der Registergruppe 1 von Fig.3 und am anderen Eingang das Bit EBR„ des Feldes EM des im Befehlsspeieher 10 gelesenen Mikrobefehls. Das dritte UND-Glied empfängt an einem Eingang das Zustandssignal des Flipflops BBp, das sich im Register 6 von Fig.3 befindet, und am anderen Eingang das Bit EBp des Feldes EM des im Befehls speicher 10 gelesenen Mikrobefehls. Das vierte UND-Glied empfängt an einem Eingang das Zustandssignal des Flipflops F2* das sich im Register von Fig.3 befindet, und am anderen Eingang das Bit ECM2 des Feldes EM des im Befehls spei eher 10 gelesenen Mikrobefehls.
809844/0802
Das Verknüpfungsglied 50 besteht aus einem ODER-Glied mit vier Eingängen, die an die Ausgänge von vier UND-Gliedern angeschlossen sind, die jeweils zwei Eingänge aufweisen. Das erste UND-Glied empfängt an einem Eingang ständig ein Signal mit dem Wert "1" und am anderen Eingang das Bit AE11 des Feldes AE des im Befehlsspeicher 10 gelesenen Mikrobefehls. Das zweite UND-Glied empfängt an einem Eingang das Bit(BR7)7 aus dem Register BR7 der Registergruppe 1 von Fig.3 und am anderen Eingang das Bit EBR7 des Feldes EM des im Befehls spei eher 10 gelesenen Mikrobefehls. Das vierte UND-Glied empfängt an einem Eingang das Zustandssignal des Flipflops F1, das sich im Register 5 von Fig.3 befindet, und an seinem anderen Eingang das Bit ECM1 des Feldes EM des im Befehlsspeicher 10 gelesenen Mikrobefehls.
In Fig.5 sind die Baueinheiten dargestellt, die die Testschaltung 4 bilden. Die zu testenden Bits kommen über die Übertragungsleitung BUSA1 vom Ausgang des Rechenwerks 3, wobei der Test an acht Bits stattfindet, und über die Übertragungsleitung BUSA2 vom Ausgang des Rechenwerks 13, wobei der Test an 64 Bits stattfindet. In Fig.5 sind nur die Tests veranschaulicht, mit deren Hilfe negative Werte, Nullwerte oder positive Werte an den Ausgängen der beiden Rechenwerke festgestellt werden können. Die Anzahl und die Besonderheit dieser Tests ist natürlich nicht im einschränkenden Sinne zu verstehen; es können auch andere Tests vorgesehen werden. Der Test an den Bytes (8-Bit-Gruppen) wird von den Baueinheiten 57, 58 und 59 durchgeführt.Die Baueinheit 57 stellt einen negativen Wert des Bytes fest; die Baueinheit 58 zeigt an, daß alle Bits des Bytes den Wert "0" haben, und die Baueinheit 59 stellt einen
809844/0802
positiven Wert des Bytes fest. Die Einzelheiten dieser Baueinheiten sind in Fig.9 dargestellt, die die Testanordnung für ein Byte zeigt. Vereinbarungsgemäß ist das Byte negativ, wenn das Bit 8 den Wert "1" hat; es wird vom Verstärker 95 erfaßt. Der Nulltest wird mit Hilfe eines ODER-Glieds 96 mit sieben Eingängen bewirkt, dem ein Negator 97 folgt. Wenn alle Bits am Eingang des ODER-Glieds 96 den Wert "0" haben, nimmt das Signal am Ausgang des Negators 97 den Wert "1" an.
Der Positivtest wird mittels des ODER-Glieds 96 und des folgenden UND-Glieds 99 mit zwei Eingängen durchgeführt, wobei der Ausgang 8 des ODER-Glieds 96 mit dem Eingang des UND-Glieds 99 verbunden ist, während der Eingang des UND-Glieds 99 am Ausgang 2 des Negators 98 angeschlossen ist, dessen Eingang 1 das Bit 8 empfängt. Wenn das Bit 8 den Wert "0" hat und wenn wenigstens ein Bit mit dem Wert "1" an einem der Eingänge 1 bis 7 des ODER-Glieds 96 vorhanden ist, nimmt das Signal am Ausgang des UND-Glieds 99 den Wert "1" an und meldet einen positiven Wert an der Übertragungsleitung BUSA1. Nach Fig.5 sind die Ausgänge 2 der Testeinheiten 57» 58 und 59 jeweils mit dem Eingang 1 von drei UND-Gliedern angeschlossen, die jeweils zwei Eingänge 55, 54 und 53 aufweisen. Das vom Rechenwerk 3 zur Übertragungsleitung BUSA1 gesendete Bezugssignal RA1 wird zum Eingang 1 eines UND-Glieds 52 übertragen. Die Eingänge 2 der vier zuvor genannten UND-Glieder sind jeweils an die Ausgänge 4, 3, 2 und 1 eines Decodierers 56 angeschlossen, dessen Eingänge 5, 6, 7 und 8 die Bits des im Befehlsregister 11 gelesenen Feldes CM1 empfangen. In dieser Anordnung bewirkt ein Wert
809844/0802
0001 die Freigabe desTests am Bezugs signal RA,, durch Ansteuerung des Eingangs 2 des UND-Glieds 52;
0010 die Freigabe des Tests am Ausgangssignal der Baueinheit 59 durch Ansteuerung des Eingangs 2 des UND-Glieds 53;
0011 die Freigabe des Tests am Ausgangssignal der Baueinheit 58 durch Ansteuerung des Eingangs 2 des UND-Glieds 54;
0100 die Freigabe des Tests am Ausgangssignal der Baueinheit 57 durch Ansteuerung des Eingangs 2 des UND-Glieds 55.
Die Ausgänge der UND-Glieder 52 bis 55 sind mit Eingängen einer ODER-Schaltung 51 angeschlossen, die vier Eingänge aufweist, und die an ihrem Ausgang die an den Ausgängen der Baueinheiten 57 bis 59 vorliegenden Testergebnisse sowie die Anwesenheit oder die Abwesenheit eines Bezugswerts wiedergibt. Das Signal am Ausgang 3 des ODER-Glieds 51 ist mit TCM.J bezeichnet.
Die Prüfung der Ausgangssignale des Rechenwerks 13 erfolgt in der gleichen Weise, jedoch wird sie hier an einem Feld aus 64 Bits vorgenommen. Die übertragungsleitung BUSA2 ist an Eingänge von Testbaueinheiten 66 bis 68 angeschlossen. Die Ausgänge 2 der Testbaueinheiten 66 bis 68 sind jeweils an die Eingänge 1 der UND-Glieder 62 bis 64 angeschlossen, die jeweils zwei Eingänge aufweisen. Das von dem Rechenwerk 13 über die Übertragungsleitung BUSA2 kommende Bezugsbit wird zum Eingang 1 des UND-Gliedes 61 übertragen. Die
8098U/08Ö2
Eingänge 2 der zuvor genannten UND-Glieder sind jeweils an die Ausgänge 1, 2, 3 und 4 des Decodierers 65 angeschlossen, der an seinen Eingängen 5, 6, 7 und 8 die Bits des im Befehlsregister 11 gelesenen Feldes CM empfängt. Beim Wert CM2 = OOO1 wird das Bezugsbit RA2 über das UND-Glied 61 gelesen; beim Wert CM2 = 0010 wird der Wert des Ausgangssignals der Baueinheit 66 über das UND-Glied 62 gelesen; beim Wert CM2 = 0011 wird der Wert des Ausgangssignals der Baueinheit 67 über das UND-Glied 63 gelesen, beim Wert CM2 = 0100 wird der Wert des Ausgangssignals der Baueinheit 68 über das UND-Glied 64 gelesen. Die Ausgänge der UND-Glieder 61 bis 64 sind mit den Eingängen eines vier Eingänge aufweisenden ODER-Glieds 60 verbunden, das an seinem Ausgang die an den Ausgängen der Testbaueinheiten 66 bis 68 vorliegenden Testergebnisse sowie die Anwesenheit oder die Abwesenheit eines Bezugssignals wiedergibt. Das Signal am Ausgang 3 des ODER-Glieds 60 ist mit TCM2 bezeichnet. Die Testeinheiten 66 bis 68 sind in der gleichen Weise verwirklicht, wie in Fig.9 dargestellt ist, wobei der Unterschied besteht, daß der Test hier an 64 Bits stattfindet.
Die Testergebnisse TCM1 werden in den JK-Flipflops (Flipflop F1) und 102 (Flipflop F2) gespeichert. Der K-Eingang des Flipflops F1 ist am Ausgang 2 des Negators 99 angeschlossen, der an seinem Eingang 1 das Testergebnissignal TMC1 empfängt; an seinem J-Eingang empfängt das Flipflop F1 direkt das Testergebnis signal TCM1. Wenn das Flipflop F1 an seinem
809844/0802
CK-Eingang das Steuersignal C1 empfängt, wird auf diese Weise das Ergebnis des vom Feld CM1 befohlenen Tests in das Flipflop F1 übertragen. Der K-Eingang des Flipflops F2 ist am Ausgang 2 des Negators 101 angeschlossen, der an seinem Eingang 1 das Testergebnissignal TMCp empfängt, während es an seinem J-Eingang dieses Testergebnissignal TMC2 direkt empfängt. Wenn das Flipflop F2 an seinem CK-Eingang das Steuersignal Cp empfängt, wird auf diese Weise das Ergebnis des vom Feld CMpbefohlenen Tests in das Flipflop F2 übertragen.
Nun wird die Arbeitsweise der Flipflops BB1 bis BB^ an Hand der Figuren 6 und 7 beschrieben.
Das Feld B1 des im Befehlsregister 11 gelesenen Mikrobefehls wird an die Eingänge 8, 9» 10 des Multiplexers 79f an die Eingänge 1, 2,3 des Decodierers 78 und an die Eingänge 8, 9, 10 des Multiplexers 80 angelegt. Der Decodierer 78 ist in Fig.8 dargestellt. Er dient dazu, ein Komplementierangssignal zum Nullstellsignal und ein Eingangssignal für das Flipflop BB1 zu erzeugen. Nach Fig.8 wird das Feld B1 an die Eingänge 1 der Ne gatoren 98, 99 und 100 angelegt. Der Komplementierungsbefehl des Flipflops BB1 wird vom Ausgang 4 des ODER-Glieds 107 erzeugt, das an seinen Eingängen 1, 2 und 3 die Signale von den Ausgängen 4 der UND-Glieder 101 bis 103 empfängt, die jeweils drei Eingänge aufweisen. Wenn die jeweiligen Bits des Feldes B1 mit B10, B11, B12 bezeichnet werden, entspricht das vom ODER-Glied abgegebene Signal der folgenden logischen Gleichung:
809844/0302
(Β*/ B1? · B*,) + (B10 * B^1 · Bf2)
Der Nullstellbefehl RAC wird vom Ausgang 4 des UND-Glieds 104 bei vorliegender Kombination B10* B11 · Bf2 abgegeben.
Der Befehl zur Eingabe in das Flipflop BB1 wird vom Ausgang 3 des ODER-Glieds 108 abgegeben,das an einem Eingang das Ausgangssignal des UND-Glieds 105 und am anderen Eingang das Ausgangssignal des UND-Glieds 106 bei Vorliegen der folgenden Kombination empfängt:
(Bf0- Bf1 -B12) + (B10- Bf1-B12)
Nach Fig.6 wird das Komplementierungssignal vom Ausgang des Decodierers abgegeben und dem Eingang 2 des UND-Glieds 72 sowie dem Eingang 1 des UND-Glieds 75 zugeführt. Das Nullstellsignal wird vom Ausgang 5 des Decodierers abgegeben und dem Eingang 1 des UND-Glieds 73 zugeführt. Das Signal zur Eingabe in das Flipflop BB1 wird vom Ausgang 6 des Decodierers 78 abgegeben und dem Eingang des UND-Glieds 71 sowie dem Eingang 2 des UND-Glieds zugeführtο Die Ausgänge der UND-Glieder 71, 72 und sind mit den Eingängen eines drei Eingänge aufweisenden ODER-Glieds 70 verbunden, dessen Ausgang mit dem K-Eingang des Flipflops BB1 (Flipflop 69) verbunden ist. Die Ausgänge der UND-Glieder 75 und 76 sind mit den Eingängen eines zwei Eingänge aufweisenden ODER-Glieds 74 verbunden, dessen Ausgang 3 mit dem J-Eingang des Flipflops BB1 verbunden ist. Wenn das Feld B1 den Wert
809844/0802
"000" hat, ist der Eingang 1 des Multiplexers 80 ausgewählt, und er überträgt ein Bit mit dem Binärwert "1" zum Eingang 2 des UND-Glieds 75 und zum Eingang des UND-Glieds 72, wobei diese beiden UND-Glieder durch das vom Decodierer 78 abgegebene Signal COMP freigegeben werden. Die J- und K-Eingänge des Flipflops BB,. empfangen ein Signal mit dem Wert "1", und jedes an seinem CK-Eingang angelegte Signal hat die Komplementierung seines alten Inhalts zur Folge.
Wenn das Feld B1 den Wert 0001 hat, wird der Eingang des Multiplexers 80 ausgewählt, und er überträgt das Testergebnissignal TCM1 zum Eingang 1 des UND-Glieds und zum Eingang 2 des UND-Glieds 75, wobei diese beiden UND-Glieder durch das vom Decodierer ausgesendete Signal COMP an ihrem anderen Eingang freigebeben werden. Wenn der durch das Feld CM1 bewirkte Test bestätigt ist, erhält das Signal TCM1 den Wert "1", und die Signale an den J- und K-Eingängen des Flipflops BB1 erhalten ebenfalls den Wert "1"; jedes an den CK-Eingang angelegte Signal CK wird die Komplementierung des Flipflops BB1 zur Folge haben.
Wenn das Feld B1 den Wert 010 hat, wird der Eingang des Multiplexers 80 ausgewählt, so daß er das Testergebnissignal TCM2 zum Eingang 1 des UND-Glieds 72 und zum Eingang 2 des UND-Glieds 75 überträgt, wobei diese beiden UND-Glieder durch das vom Decodierer 78 ausgesendete Signal COMP an ihrem anderen Eingang freigegeben werden. Wenn der durch das Feld CM2 bewirkte Test bestätigt ist, nimmt das Testergebnissignal TCM2 den Wert "1" an, und auch die Signale an den J- und K-
809844/0802
Eingängen des Flipflops BB1 haben den Wert "1", was wieder die Komplementierung des Flipflops BB1 zur Folge hat.
Der Wert 011 des Feldes B1 bewirkt die Auswahl des Eingangs 5 des Multiplexers 79 und die Übertragung des Testergebnissignals TCM1 zum Eingang 1 des Negators 77 und zum Eingang 1 des UND-Glieds 76. Wenn gilt: TCM1=O (Test am Feld CM1 mit dem Ergebnis 0) wird vom Ausgang des Negators 77 ein Signal mit dem Wert "1" zum Eingang des UND-Glieds 71 übertragen. Wenn gilt : TCM1 = 1 (Test am Feld CM1 erfolgreich), dann wird vom Ausgang 7 des Multiplexers 79 ein Signal mit dem Wert "1" zum Eingang 1 des UND-Gliedes 76 übertragen. Der Wert 011 des Feldes B1 hat auch zur Folge, daß das Signal am Ausgang 6 des Decodierers 78 auf den Wert "1" gestellt wird, während die Signale an den Eingängen 1 und 2 der UND-Glieder 71 bzw. 76 ebenfalls auf den Wert "1" gestellt werden» Wenn also gilt: TCM1 = 0, wird das Signal am K-Eingang des Flipflops BB1 über das UND-Glied 71 und das ODER-Glied 70 auf den Wert »1» gestellt. Wenn gilt: TCM1= 1, dann wird das Signal am Eingang J des Flipflops BB1 über das UND-Glied 76 und das ODER-Glied 74 auf den Wert "1" gestellt. Für TCM1 = 0 wird also das Flipflop BB1 mit dem ersten Taktsignal CK auf "0" gestellt, während es für TCM1 = 1 mit dem ersten Taktsignal CK auf "1" gestellt wird.
Wenn schließlich das Feld B1 den Wert 100 hat, wird der Eingang 6 des Multiplexers 79 ausgewählt, und.er überträgt das Signal TCMp zum Eingang 1 des Negators 77 und zum Eingang 1 des UND-Glieds 76; gleichzeitig erscheint am Ausgang des Decodierers 78 ein Signal mit dem Wert "1"
809844/0802
und es läuft der gleiche Prozeß ab, der oben für den Wert 011 des Feldes B1 beschrieben wurde. Beim Signal TCM2= 0 nimmt das Flipflop BB1 den Zustand "0" an, und für ein Signal TCM2 = 1 nimmt es den Zustand "1" an.
Das Flipflop BB2 (Flipflop 81) von Fig.7 arbeitet folgendermaßen: Zur Eingabe sines Testergebnissignals TCM1 in das Flipflop BB2 überträgt der Multiplexer 83 über seinen Ausgang 4 das an seinem Eingang 1 vorhandene und von dem dem Befehlsregister 11 entnommenen Feld B2 ausgewählte Signal TCM1 zum J-Eingang des Flipflops BB2 direkt und zum K-Eingang dieses Flipflops BB2 über den Negator 82. Wenn das Taktsignal CK vorhanden ist, wird daher das Signal TCM1 in das Flipflop BB2 übertragen.Zur Eingabe des Testergebnissignals TCM2 in das Flipflop BB2 überträgt der Multiplexer 83 das an seinem Eingang 2 vorhandene Signal TCM2 zum J-Eingang des Flipflops BB2 direkt und zum K-Eingang dieses Flipflops nach einer Negierung. Wenn das Taktsignal CK vorhanden ist, wird auf diese Weise das Signal TCM1 in das Flipflop BB2 übertragen.
Das zwei Eingänge aufweisende ODER-Glied 84 empfängt an einem Eingang ein Zustandssignal des Flipflops BB2 und am anderen Eingang ein Zustandssignal des Tests CM2 (Signal TCM2); sein Ausgang 3 ist mit dem Eingang eines Multiplexers 83 verbunden. Wenn das an die Eingänge und 6 des Multiplexers 83 angelegte Feld B2 den Multiplexereingang 3 auswählt, wird das Ergebnis der ODER-Verknüpfung zwischen dem alten Inhalt des Flipflops BB2 und dem Ergebnis des vom Signal TCM2 befohlenen Tests bei der Ankunft des ersten Taktsignals CK in das Flipflop BB2 übertragen.
809844/0802
Das Flipflop BB, (Flipflop 90) arbeitet folgendermaßen: Das Feld B, des im Befehlsregister 11 gelesenen Mikrobefehls wird an die Eingänge 6 und 7 des Multiplexers 89 angelegt, und es wählt dessen Eingänge 1 bis 4 aus. Der Eingang 1 des Multiplexers 89 ist am Ausgang 3 des ODER-Glieds 85 angeschlossen, dessen Eingänge wiederum mit den Ausgängen der UND-Glieder und 87 verbunden sind. Der Eingang 1 des UND-Glieds empfängt den Befehl CSPR, und sein Eingang 2 empfängt das Bit 7 des Registers PCR. Der Eingang 1 des UND-Glieds 86 empfängt den Befehl CSIO, und sein Eingang empfängt das Bit 12 des Registers ISR. Der Eingang des Multiplexers 89 empfängt das Signal TCM1, sein Eingang 3» der am Ausgang 3 des ODER-Glieds 88 angeschlossen ist, empfängt das Ergebnis der ODER-Verknüpfung zwischen dem Signal TCM^und dem Zustandssignal BB, des Flipflops BB, und sein Eingang 4 empfängt das
Zustandssignal des Flipflops BB2. Der Ausgang 5 des Multiplexers ist einerseits an den J-Eingang des Flipflops BB, und andrerseits am Eingang 1 des Negators 90bis angeschlossen, dessen Ausgang 2 mit dem K-Eingang des Flipflops BB, verbunden ist. Die Eingabe in das Flipflop BB, wird vom Ausgang 3 des UND-Glieds 90ter gesteuert, das an seinem Eingang das Taktsignal und an seinem Eingang 2 das Befehlssignal NOPX empfängt. Wenn der Befehl NOP vorhanden ist, findet keine Ubertragungsoperation in das Flipflop BB, statt.
809844/0802
Wenn das Feld B, den Eingang 1 des Multiplexers 89 auswählt, wird der Wert des Bits 7 des Registers PCR oder der Wert des Bits 12 des Registers ISR abhängig von der Anwesenheit des entsprechenden Befehls CSPR oder CSIO in das Flipflop BB, übertragen. Wenn das Feld B, den Eingang 2 des Multiplexers 89 auswählt, wird der Wert des Testergebnissignals TCM1 in das Flipflop BB, übertragen. Wenn das Feld B, den Eingang 3 des Multiplexers 89 auswählt, wird dasErgebnis der ODER-Verknüpfung zwischen dem Teatergebnissignal TCM und dem Zustands-
1 signal des Flipflops BB, in das Flipflop BB, übertragen.
Wenn das Feld B, den Eingang 4 des Multiplexers 89 auswählt, wird das Zustandssignal des Flipflops BB2 in das Flipflop BB, übertragen.
Es wird nun die Arbeitsweise des Flipflops BB^(Flipflop 91) beschrieben. Das Feld B^ des im Befehlsregister 11 gelesenen Mikrobefehls wird an die Eingänge 6 und 7 des Multiplexers 93 angelegt und wählt die Eingänge 1, 2, 3 und 4 des Multiplexers aus. Der Eingang 1 des Multiplexers ist mit dem UND-Glied 94 verbunden, und er überträgt in das Flipflop BB^ das Ergebnis der UND-Verknüpfung des am Eingang 1 des UND-Glieds 94 liegenden Bits 7 des Registers PCR und des am Eingang 2 des UND-Gliedes 94 liegenden Befehls CSPR. Der Eingang 2 des Multiplexers überträgt in das Flipflop BB^ den Inhalt des Flipflops BB1, sein Eingang 3 überträgt in das Flipflop BB^ den Inhalt des Flipflops BB2 und sein Eingang 4 überträgt in das Flipflop BB^ den Inhalt des Flipflops BB,„
809844/0802
Zur Erzielung der Übertragungsoperation ist der Ausgang des Multiplexers 93 mit dem K-Eingang des Flipflops BB^ über den Negator 92 und mit dem J-Eingang dieses Flipflops direkt verbunden. Der andere Eingang des Flipflops BB^ wird vomSignal am Ausgang 3 des UND-Glieds 92bis gesteuert, das an seinem Eingang 1 das Signal H und an seinem Eingang 2 das Signal NOPX empfängt. Wenn das Signal NOP vorhanden ist, erfolgt keine Übertragung in das Flipflop BB^.
Alle soeben beschriebenen Anordnungen können mit Hilfe digitaler Schaltungen verwirklicht werden, die in dem Buch "Supplement to the TTL data book for designa Engineers", CC416 der Firma Texas Instruments oder in dem Buch mit dem Titel "The TTL Data book for design Engineers", CC411 der gleichen Firma beschrieben sind. Die Erfindung wurde hier an Hand eines Ausführungsbeispiels beschrieben, doch kann der Fachmann erkennen, daß im Rahmen der Erfindung weitere Abwandlungen und Änderungen ohne weiteres möglich sind.
809844/0802

Claims (6)

  1. Patentanwälte ^ $
    Dipl.-Ing. Dipl.-Chem. Dipl -Ing
    E. Prinz - Dr. G. Hauser - G. Leiser
    Ernsbergerslrasse 19
    8 München 60
    Unser Zeichen: C 3179 17.April 1978
    COMPAGNIE INTERNATIONALE POUR L1INFORMATIQUE
    CII- HONEYWELL BULL
    94 Avenue Gambetta, 75020 Paris', Frankreich
    Patentansprüche
    Anordnung zum Berechnen der Adressen von in einem Befehlsspeicher gespeicherten Mikrobefehlen in einem Informationsverarbeitungssystem, bei dem der Mikrobe fehl szyklus eine Vorbereitungsphase und eine sich daran anschliessende Ausführungsphase enthält, gekennzeichnet durch eine Modifizierungsvorrichtung zum Ändern des Adressenfeldes eines Mikrobefehls im Verlauf seiner Ausführung durch Einwirkung eines Verkettungsadressen-Modifizierungsfeldes dieses Mikrobefehls auf Elemente zum Speichern der Ergebnisse von im Verlauf
    vorangegangener Mikrobefehlszyklen durchgeführter Tests.
  2. 2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Modifizierungsvorrichtung folgende Baueinheiten enthält:
    - Testeinrichtungen, die Operationsergebnisse in der Zentraleinheit in Abhängigkeit von einem besonderen Testfeld im gerade durchgeführten Mikrobefehl testen,
    - Speiehereinrichtungen zum Speichern der von der Testeinrichtung gelieferten Ergebnisse,
    S09844/0802
    - Einrichtungen, die Ergebnisse von Mikrobefehlstests in Abhängigkeit von einem besonderen Feld des Mikrobefehls in Speicherelementen verteilen,
    - Eingabeeinrichtungen, die in die Befehlsspeicher-Adressierungsvorrichtung Zustandsgrößen eingeben, die von den Testergebnis-Speichereinrichtungen und von den Speicherelementen, in denen dieTestergebnisse verteilt sind, geliefert werden, und
    - Steuereinrichtungen für die Eingabeeinrichtungen, die abhängig von einem Verkettungsadressen-Modifizierungsfeld arbeiten, das der gerade durchgeführte Mikrobefehl liefert.
  3. 3. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß die Testeinrichtung eine Vorrichtung zum Decodieren des Testfeldes des Mikrobefehls für die Auswahl der Ergebnisse der von der Zentraleinheit ausgeführten Operationen enthält.
  4. 4. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß
    die Speichereinrichtungen für die von den Testvorrichtungen gelieferten Ergebnisse aus Flipflop-Schaltungen bestehen.
  5. 5. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß die Einrichtungen zum Verteilen der Testergebnisse aus Multiplexern bestehen, die von einem besonderen Feld des Mikrobefehls gesteuert sind.
  6. 6. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß die Eingabeeinrichtungen für jedes zu modifizierende Adressenbit aus einem ODER-Glied bestehen, bei dem jeder Eingang mit einem UND-Glied verbunden ist, das an einem Eingang die abgespeicherte Zustandsgröße eines Testergebnisses und am anderen Eingang eine besondere, vom gerade ausgeführten Mikrobefehl gelieferte Zustandsgröße des Verkettungsadressen-Modifizierungsfeldes empfängt.
    809844/080?
DE19782817073 1977-04-19 1978-04-19 Adressenberechnungsanordnung Withdrawn DE2817073A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR7711744A FR2388344A1 (fr) 1977-04-19 1977-04-19 Procede et dispositif de calcul d'adresse d'enchainement des micro-instructions a executer dans une memoire de commande d'un systeme informatique

Publications (1)

Publication Number Publication Date
DE2817073A1 true DE2817073A1 (de) 1978-11-02

Family

ID=9189583

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19782817073 Withdrawn DE2817073A1 (de) 1977-04-19 1978-04-19 Adressenberechnungsanordnung

Country Status (4)

Country Link
US (1) US4254461A (de)
DE (1) DE2817073A1 (de)
FR (1) FR2388344A1 (de)
GB (1) GB1600442A (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55162167A (en) * 1979-06-05 1980-12-17 Canon Inc Electronic program computer
US4394736A (en) * 1980-02-11 1983-07-19 Data General Corporation Data processing system utilizing a unique two-level microcoding technique for forming microinstructions
US4521858A (en) * 1980-05-20 1985-06-04 Technology Marketing, Inc. Flexible addressing and sequencing system for operand memory and control store using dedicated micro-address registers loaded solely from alu
JPS5748139A (en) * 1980-09-04 1982-03-19 Nec Corp Microprogram control device
US4532586A (en) * 1981-05-22 1985-07-30 Data General Corporation Digital data processing system with tripartite description-based addressing multi-level microcode control, and multi-level stacks
US4575794A (en) * 1982-02-22 1986-03-11 International Business Machines Corp. Clocking mechanism for multiple overlapped dynamic programmable logic arrays used in a digital control unit
US4556938A (en) * 1982-02-22 1985-12-03 International Business Machines Corp. Microcode control mechanism utilizing programmable microcode repeat counter
US4674063A (en) * 1982-10-18 1987-06-16 Nec Corporation Information processing apparatus having a sequence control function
US5167027A (en) * 1982-11-09 1992-11-24 Siemens Aktiengesellschaft Apparatus and method for forming a sequencer link for a sequencer controlled by a micro-program
US4947369A (en) * 1982-12-23 1990-08-07 International Business Machines Corporation Microword generation mechanism utilizing a separate branch decision programmable logic array
US4841434A (en) * 1984-05-11 1989-06-20 Raytheon Company Control sequencer with dual microprogram counters for microdiagnostics
US4757501A (en) * 1986-12-22 1988-07-12 Gte Communication Systems Corporation Method for zero byte time slot interchange
US4757499A (en) * 1986-12-22 1988-07-12 Gte Communication Systems Corporation Method for zero byte time slot interchange
JP2845433B2 (ja) * 1987-09-07 1999-01-13 日本電気株式会社 集積回路装置
US5034880A (en) * 1988-12-22 1991-07-23 Wang Laboratories, Inc. Apparatus and method for executing a conditional branch instruction
US5043879A (en) * 1989-01-12 1991-08-27 International Business Machines Corporation PLA microcode controller

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5324151B2 (de) * 1972-12-25 1978-07-19
US3991408A (en) * 1973-02-22 1976-11-09 International Business Machines Corporation Self-sequencing memory
JPS5161749A (en) * 1974-11-26 1976-05-28 Fujitsu Ltd Deetashorisochino shoriringuseigyohoshiki
US4001788A (en) * 1975-03-26 1977-01-04 Honeywell Information Systems, Inc. Pathfinder microprogram control system
CA1059639A (en) * 1975-03-26 1979-07-31 Garvin W. Patterson Instruction look ahead having prefetch concurrency and pipe line features
US4038643A (en) * 1975-11-04 1977-07-26 Burroughs Corporation Microprogramming control system
US4075687A (en) * 1976-03-01 1978-02-21 Raytheon Company Microprogram controlled digital computer
US4080651A (en) * 1977-02-17 1978-03-21 Xerox Corporation Memory control processor

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DE-B.: R. Klar, H. Wichmann "Mikroprogrammierung" Veorlesungsshripten, Erlangen, 1975, S. 36-43 u. 63-68 *
US-Firmenschrft derAdvanced Micro Devices "Microprogamming Handbook", 1976, S. 1/1-1/15 *
US-Firmenschrift der Advanced Micro Devices "Microprogrammed 16-Bit Compter, 1976, S. 16.26 *

Also Published As

Publication number Publication date
US4254461A (en) 1981-03-03
GB1600442A (en) 1981-10-14
FR2388344A1 (fr) 1978-11-17
FR2388344B1 (de) 1980-02-01

Similar Documents

Publication Publication Date Title
DE1499722C2 (de) Einrichtung zur Modifizierung von Informationswörtern
DE2755273C2 (de)
DE2817073A1 (de) Adressenberechnungsanordnung
DE2714805C2 (de)
DE2846117C2 (de) Datenprozessor
DE2540975C2 (de) Datenverarbeitungseinrichtung zur Ausführung mehrerer gleichzeitig ablaufender Prozesse
DE3424962C2 (de)
DE1915818C3 (de) Steuerschaltung für ein elektronisches Datenverarbeitungssystem
DE1931966C3 (de) Datenverarbeitungsanlage mit Assoziativspeichern
DE2145709C3 (de) Datenverarbeitungsanlage, in welcher Verzweigungsbefehle eine Unterbrechung laufender Programme zur Folge haben können
DE1774296B2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE2846495A1 (de) Digitales datenverarbeitungssystem
DE1900141B2 (de) Hilfssteuerwerk fur eine Datenver arbeitungsanlage
DE2935906A1 (de) Mikrokomputer
DE2835095A1 (de) Gekoppeltes, mikroprogrammiertes prozessorsystem
DE2332971C2 (de) Mikroprogrammsteuereinrichtung
DE2358593A1 (de) Datenverarbeitungsanordnung und bei dieser verwendbare steuerschaltung
DE2336676C3 (de) Einrichtung zur Modifizierung von Mikroprogrammbefehlen
DE1499191B2 (de) Elektronische einrichtung fuer eine datenverarbeitungsanlage
DE3317593A1 (de) Pruefspeicherarchitektur
DE2245284A1 (de) Datenverarbeitungsanlage
DE2747304C3 (de) Einrichtung zur Mikrobefehlssteuerung
DE2233193B2 (de) Stapel-Speichersystem
DE1277598C2 (de) Datenverarbeitungsanlage
DE2349590A1 (de) Vorrichtung zur datenverarbeitung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8128 New person/name/address of the agent

Representative=s name: PRINZ, E., DIPL.-ING. LEISER, G., DIPL.-ING., PAT.

8139 Disposal/non-payment of the annual fee