DE2717658A1 - Anordnung zur ansteuerung eines mikroprogrammspeichers - Google Patents
Anordnung zur ansteuerung eines mikroprogrammspeichersInfo
- Publication number
- DE2717658A1 DE2717658A1 DE19772717658 DE2717658A DE2717658A1 DE 2717658 A1 DE2717658 A1 DE 2717658A1 DE 19772717658 DE19772717658 DE 19772717658 DE 2717658 A DE2717658 A DE 2717658A DE 2717658 A1 DE2717658 A1 DE 2717658A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- inputs
- register
- control
- microword
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/261—Microinstruction address formation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
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)
- Multi Processors (AREA)
- Memory System (AREA)
- Programmable Controllers (AREA)
Description
Böblingen, den 18. April 1977 jo-bm/sz
Anmelderin:
International Business Machines Corporation, Armonk, N.Y. 10504
Amtliches Aktenzeichen:
Neuanmeldung
Aktenzeichen der Anmelderin:
BC 976 002
Vertreter:
Patentassessor Dipl.-Ing. 0. Jost
7030 Böblingen
Bezeichnung:
Anordnung zur Ansteuerung eines Mikroprogrammspeichers
709845/0871
Die vorliegende Erfindung betrifft eine Anordnung zur Ansteuerung eines
Mikroprogranunspeichcrs, der aus mehreren Speichermoduln aufgebaut ist.
In der Technik sind verschachtelte Hauptspeicher zum Schreiben und Lesen
von Daten und Instruktionen bekannt, bei denen die Zugriffszeit zum
Hauptspeicher einen Bruchteil der Zugriffszeit für ein Modul ist.
Für die Adressierung herkömmlicher Hauptspeicher, ob sie nun verschachtelt
sind oder nicht, wird normalerweise ein Instruktionszähler im System benutzt, der unter Steuerung eines Makroprogratnmes läuft. Das ist nicht
immer vorteilhaft, z.B. dann nicht, wenn variable Sequenzen von Steuerwöntern
durchlaufen werden sollen.
Bei herkömmlichen Steuerspeichern ist im allgemeinen ein relativ grosser
Teil ihrer Kapazität der Erzeugung der nächsten Adresse zugeordnet. D.h., dass ein hoher Prozentsatz der Speicherkapazität herkömmlicher Steuerspeicht
durch Folgeadressfelder (Angabe der jeweils nächsten Adresse) belegt ist.
Ausserdem wird durch die begrenzte Länge der Folgcadressfelder nn konventiont
len Steuerspeicher dessen Adressierbereich und damit die Gesamtgrösse begrenzt.
In der deutschen Patentschrift Nr. 1'499'722 wird ein nicht verschachtelter
und nicht überlappt arbeitender Steuerspeicher beschrieben, der aus einem
Festspeicher-Modul besteht, das Speicherwörter genannte adressierbare
BC9-76-002
709845/0871
Einheiten enthält. Jedes Speichcrworl enthält drei Mikrowörtcr, die als
parallele Gruppe aus dem Festspeicher ausgelesen werden. Nur eines der
drei ausgelesenen Mikrowürter wird jedoch durch ein Festspeicher-Register
für eine nachfolgende Ausführung ausgewählt. Das gewählte Mikrowort hat ein Feld für die nächste Adresse, mit dem das nächste
Speicherwort zum Auslesen aus dem Festspeicher gewählt wird, von dem dann wieder nur eines der drei Mikrowörter ausgeführt wird. Während
jedes Auslesezyklus steht also nur eines der drei ausgelesenen Mikrowörter zur Ausführung zur Verfugung, so dass die verfügbaren Möglichkeiten
nicht voll genutzt sind.
Im System der oben angegebenen deutschen Patentschrift werden spezielle
Mikroinstruktionen verwendet, die mit Datenbits arbeiten, die von der Datenbahn des Prozessors kommen, um die Adresse für das nächste Festspeicherwort
zu modifizieren. Diese Modifizierung ist aber eben nur auf
spezielle Ausnahmefälle beschränkt. Ausserdem enthält jede Mikroinstruktion
eine Folgeadresse in voller Länge, die mehr als die Hälfte des Mikrowortes belegt.
Es ist eine Hauptaufgabe der vorliegenden Erfindung, einen schnellen
Steuerspeicherbetrieb mit relativ langsamen Speichermoduln im Steuerspeicher zu erreichen, der entweder als beschreibbarer Steuerspeicher
oder als Festwert-Steuerspeicher implementiert werden kann. Weiterhin soll ein Steuerspeicher mit einer besonderen Art der Erzeugung der
jeweils nächsten Adresse erstellt werden, bei der wesentlich weniger
BC9-76-002
709 8 4 5/0871
COPY
A4
Steuerspeicherraum für die Folgeadressierung benutzt werden muß und bei der gleichzeitig die maximal adressierbare Größe des
SteuerSpeichers erhöht werden kann. Außerdem soll durch die Erfindung
ein Steuerspeicher mit mehreren Steuerspeichermoduln geschaffen werden, bei dem diese Art der Adressierung zur Erreichung
weiterer Vorteile eingesetzt werden kann.
Gelöst wird diese Aufgabe der Erfindung durch die im Hauptanspruch
angegebenen Merkmale.
Weitere vorteilhafte Ausgestaltungen, Weiterbildungen und technische
Merkmale sind den Unteransprüchen zu entnehmen.
Hierdurch ergibt sich der Vorteil, daß die Leistung des Steuerspeichers
maximiert und dabei doch die Kosten möglichst klein gehalten werden.
Die vorliegende Erfindung ermöglicht außerdem in vorteilhafter Weise eine einmalige Adressieranordnung für einen Steuerspeicher,
der aus mehreren Moduln besteht, und nutzt in hohem Maße die Speicherkapazität in den Steuerspeichermoduln, die zur Verbesserung
der Zugriffszeit und Erweiterung der Adressierbarkeit verschachtelt
betrieben werden. Die Erfindung implementiert ein normales Format für Mikroinstruktions-Steuerwörter (d.h. Mikrowörter),
in denen ein Modifizierfeld für die nächste Adresse anstelle eines Feldes für eine komplette nächste Adresse vorgesehen
ist. Das Modifizierfeld braucht nur einen Bruchteil (d.h. 1/M, wobei M die Anzahl von im Steuerspeicher verschachtelten
Moduln ist) der Bitzahl, die in einer kompletten Adresse benötigt wird. Die Länge (in Bits ausgedrückt) des Modifizierfeldes für
die nächste Adresse kann dargestellt werden durch den Ausdruck
BC 976 002 7098*5/0871^
COPY
F = A/M, worin F die Anzahl der Bits im Modifizierfeld für die nächste Adresse und A die Anzahl von Bits ist, die in einer
kompletten Steuerspeicheradresse erforderlich ist, um ein Mikrowort in demselben Modul zu adressieren.
Durch die Reduzierung der Anzahl von Bits im normalen Mikrowort,
welche zur Gewinnung der Folgeadresse benutzt werden, und durch deren Kombination mit vorher erzeugten Adressen ergibt sich
trotz einer Verringerung des Speicherbedarfs für die Folgeadressierung eine Vergrößerung des adressierbaren Gesamtspeicherbereichs.
Weiterhin kann das Modifizierfeld für die nächste Adresse im normalen Mikrowort auf verschiedene Art mit früher erzeugten
Mikrowortadressen kombiniert werden, insbesondere durch verschiedene Ausrichtungen des Modifizierfeldes des laufenden Mikrowortes,
d.h, durch Verschiebung erzeugte unterschiedliche Lage des Modifizierfeldes bei seiner Kombination mit einer vorher erzeugten
nächsten Speicheradresse (jedes Modul benutzt eine bestimmte Ausrichtung, die sich von der durch jedes andere Modul
benutzten Ausrichtung unterscheidet).
Die Startadresse in einem bestimmten Modul für Mikroprogramme im Steuerspeicher erhält man auf herkömmliche Art durch unbedingte
Verzweigung. Dadurch erhält man die für die direkte Adressierung eines jeden Wortes in demselben SteuerSpeichermodul benötigte
volle Adresse. Danach wird die wirksamere "normale" Modifizieroperation für die Gewinnung der Folgeadresse verwendet, um
Steuerspeicherplatz zu sparen, da nur ein relativ kleiner Prozentsatz eines jeden "normalen" Mikrowortes der Funktion
der Folgeadressierung zugeordnet ist.
709 8 4 5/0871
BC 976 002
Die aus dieser "normalen" Adressierung mittels Modifizierfeldern erreichte
Platzeinsparung gestattet es, die Grüsse der Mikroprogramm-Steuerwörter
zu reduzieren, wodurch sich kleinere und wirksamere Steuerspeicher ergeben. In einem konventionellen Speicher mit Wörtern von
16 Bits, die eine: 12-Bit-Adresr.e brauchen, werden beispielsv/eise 75% der
Steuerspeicherkapazität für die Folgeadressierung gebraucht und nur 25% stehen für die Datenbahnsteuerung zur Verfugung. Mit der vorliegenden
Erfindung werden nur 4 Bits in jedem 16 Bit langen normalen Wort für die Folgeadressierung gebraucht, und dadurch die Gesamtbclastung auf
etwa 25% reduziert, so dass annähernd 75% für die Datenbahnsteuerung übrig bleiben, was eine Verbesserung von fast 300% im Wirkungsgrad der
Steuerfunktion des Steuerspeichers darstellt.
Die vorliegende Erfindung macht z.B. die Benutzung von 16 Bit langen
Steuerwörtern in einem Speichermodul mit 2** Wörtern (Speicherstellen)
praktikabel. Dadurch wird der Wirkungsgrad des Steuerspeichers für einen
gegebenen Satz von Steuerfunktionen über den Punkt hinaus erhöht, den
man schon aus der Geschwindigkeitserhöhung durch die Verschachtelung
mehrerer Steuerspeichermoduln erwartet.
Durch die hier dargestellte Anordnung wird es auch möglich, die maximale
Kapazität (Anzahl gespeicherter Mikrowörter) des Stcuerspeichers zu erhöhen, ohne dass die Länge der Mikrowortadresse erhöht werden muss,
in dem die Anzahl der zeitlich verschachtelten Moduln im Steuerspeicher erhöht wird, wobei überdies die Grosse des Modifizierfeldes für die Folgeadresse
mit zunehmender Modulanzahl heruntergesetzt wird.
BC9-76-OO2
709845/0871
In der beschriebenen Anordnung kann ausserdem noch eine weitere Art der
Adressierung durchgeführt werden, bei der wahlweise aus der normalen Datenbahn des Prozessors entnommene Bits, oder Bits aus Mikroprograminsteuerwörtern
zur Urzeugung der Folgeadresse für bedingte Verzweigungen
benutzt werden.
Zusätzlich können in vorteilhafter Weise Einrichtungen in der Mikroprograramspeicher-Steueranordnung
vorgesehen werden zur Auswahl von in Stapeln angeordneten Allgemeinregistern durch Makroinstruktionen.
Ein AusfUhrungsbeispiel der Erfindung ist in den Zeichnungen dargestellt
und wird anschliessend näher beschrieben.
Es zeigen:
Fig. 1 in einer Zeittabelle die überlappten und verschachtelten zeitlichen Beziehungen beim Betrieb eines Steuerspeichers
mit drei Festspeicher-Moduln,
Fig. 2 die Register und Leitungen der im Ausführungsbeispiel verwendeten
Datenbahn des Prozessors,
Fig. 3 in einem Blockdiagramm den Mikroprogramm-Steuerspeicher und
seine Steuereinrichtungen,
BC9-76-002
709 8 4 5/0871
Fig. 3A, 3B Einzelheiten des Mikroprogramm-Steuerspeichers und seiner
3C, 3D, 3E Steuereinrichtungen,
Fig. 4A, schetnatische Darstellungen der "normalen"Erzeugung der
4B, AC nächsten Adresse (Folgeadresse), wie sie im Ausführungsbeispiel
verwendet wird,
Fig. 5 eine schematische Darstellung der Erzeugung der nächsten Adresse bei bedingter Verzweigung, implementiert durch
Quellenwahl-Mikrowörter im Ausführungsbeispiel,
Fig. 6-9 Formate für verschiedene Arten von Mikrowörtern,
Fig. 10 einen Teil eines allgemein bekannten Makroinstruktionsformates, das allgemeine Register benutzt, und
Fig. 11 die Schaltungseinrichtungen zum Wählen allgemeiner Register
unter Steuerung einer Mikroroutine.
BC9-76-002
709845/0871
Allgemeine Bemerkung zur Darstellung der Verknüpfungsschaltungen im
Aus füll rungsbci spiel
Die in den Zeichnungen gezeigten Schaltungen haben zahlreiche Torschaltungcn,
bei denen je eine Gruppe zusammengehörender paralleler Signalleitungen
durch ein einziges Steuersignal gemeinsam durchgeschaltet wird (z.B. UND-Schaltung 10 in Fig. 3Λ).
Die entsprechende Torschaltung ist zur Vereinfachung der Darstellung in
der Zeichnung nur durch ein einzelnes UND-Glied dargestellt, und auch im Text nur als "UND-Glied" bezeichnet. Es handelt sich dabei aber jeweils
um eine Gruppe paralleler UND-Glieder (bzw. Antivalenzglieder usw.), deren Anzahl der vorhandenen Anzahl Bitleitungen entspricht, welche
Anzahl an einer der Leitungslinien, die zum Verknüpfungsglied führen, angegeben ist. Im angeführten Beispiel der Torschaltung 10 sind dies
die zwölf Maskenregister-Bitleitungcn 0 - 11. Diese werden von zwölf UND-Gliedern geschaltet, die gemeinsam von einem einzigen Steuersignal
("Masken-Freigabe") angesteuert werden.
Fig. 3B zeigt drei Festspeicher-Moduln 30, 31 und 32, die den Steuerspeicher
im Ausführungsbeispiel bilden. Jeder dieser Moduln ist eine separate Funktionseinheit vom konventionellen Festspeichertyp (ROS).
Abgesehen von den Kosten und der Zugriffszeit könnten es jedoch auch
beschreibbare Steuerspeichermoduln sein. Diese drei Moduln sind beschriftet mit X-ROS, Y-ROS und Z-ROS.
BC9-76-002
BC9-76-002
709845/0871
Fig. 3E zeigt den Inhalt des X-ROS 30. Der Modul gibt ein 16 Bit langes
Mikroprogrammwort während jedes von dem in Fig. 3 gezeigteil Taktgeber 55
kommenden X-Zyklus aus. Die Mikroprogrammwörter werden im folgenden kurz
als "Mikrowörter" bezeichnet. Der Y-ROS 31 und der Z-ROS 32 sind genauso
aufgebaut wie der in Fig. 3E gezeigte Modul X-ROS. Der Modul X-ROS 30 enthält eine X-ROS-Speicheranordnung, bei der es sich um einen konventionellen Festspeicher mit einem Adresseingang handelt, der beschriftet
ist mit "Nächste X-Adresse (Bits 0 bis H)". Diese 12 Bit lange Adresse
wird am Ende eines X-Zyklus gegeben. Während der nächsten beiden Zyklen
des Taktes (Y-Zyklus und Z-Zyklus) ist die X-ROS-Auswahlleitung aktiv,
so dass die Speicheranordnung dasjenige ROS-Mikrowort auswählt (d.h. ansteuert), das an der letzten empfangenen nächsten X-Adresse steht, die
sich gegenwärtig im Register 24 (Fig. 3B) befindet. Das gewählte Mikrowort wird dann auf die Ausgabeleitung 0 bis 15 der X-ROS-Speicheranordnung
gegeben, um die X-ROS-Ausgabe-Kippglieder 60 bis 75 einzuschalten, die in
Fig. 3E dargestellt sind. Zu Beginn dieser Mikrowortansteuerung wird
die X-Kippglieder-Rückstelleitung zum Rückstellen der Kippglieder gepulst.
Während des folgenden X-Zyklus, in dem die Ausführung stattfindet, geben
die Kippglieder 60 bis 75 das laufende X-R0S-Mikrowort aus. Gleichzeitig mit der Ausführung des Mikrowortes während dieses X-Zyklus wird die
nächste Adresse für den X-ROS von dem in Fig. 3A gezeigten Generator erzeugt. Die Pufferung durch die Ausgabe-Kippglieder 60 bis 75 wird also
während des laufenden X-Zyklus beibehalten, um die nächste Adresse erzeugen zu können. Diese zeitliche Ueberlappung ist in Fig. 1 dargestellt,
mit Bezug auf die Zeiteinteilungen des Y-ROS und des Z-ROS, die sich von
BC9-76-002
709845/0871
derjenigen des X-ROS nur dadurch unterscheiden, dass die Operationen im
Y-ROS einen Zyklus später erfolgen als im X-ROS, und diejenigen im Z-ROS zwei Zyklen später.
Fig. 3 zeigt die allgemeine Anordnung des Ausführungsbeispieles. Der
Taktgeber 55 erzeugt drei Folgen von Taktsignalcn oder Zyklen (X-Zyklus,
Y-Zyklus und Z-Zyklus), die sich nach Darstellung in Fig. 1 kontinuierlich wiederholen. Das Ausführungsbeispiel enthält einen Generator für
die nächste ROS-Adresse (im einzelnen in Fig. 3A gezeigt), der die nächste ROS-Adresse während jedes' ROS-Zyklus erzeugt, wie in Fig. 1
zu sehen ist. Er gibt jede nächste ROS-Adresse als Eingabe an die Auswahlschaltung für das laufende ROS-Wort (im einzelnen in Fig. 3B gezeigt),
und diese Auswahlschaltung benutzt jede empfangene Adresse zum Auswählen (d.h. Ansteuern) eines Mikrowortes aus je einem der drei ROS-Moduln X,
Y und Z. Die Mikrowort-Auswahloperationen überlappen während der beiden
dem Adresserzeugungszyklus folgenden Zyklen. Die Auswahlschaltung gibt
jedes ausgewählte Mikrowort an Mikrowort-Decodierschaltungen aus (im einzelnen in Fig. 3C gezeigt). Viele Decodierausgänge sind verbunden mit
Eingängen für den Generator der nächsten ROS-Adresse. Die ebenfalls in Fig. 3 gezeigten Quellenwahlschaltungen, die im einzelnen in Fig. 3D dargestellt sind, unterstützen die Ausführung der Quellenwahl-Mikrowörter
aus den verschachtelt betriebenen ROS-Moduln. Die Quellenschaltungen sind mit besonderen Ausgängen der Mikrowort-Decodierschaltungen verbunden
und koppeln diese zurück auf den Generator für die nächste ROS-Adresse.
BC9-76-002 ·
709845/0871
Fig. 3A zeigt den Generator zur Erzeugung der 12 Bit langen ROS-Adressen.
Er unterstützt verschiedene Adressierarten, und zwar: (1) normale Adressierung, (2) unbedingte Verzweigung und (3) bedingte Verzweigung.
In normalem Adressierbetrieb wird das kompakte Modifizierfeld für die
nächste Adresse in "normalen" Mikrowörtern benutzt. Die in Fig. 3A gezeigten
Schaltungen für den Normalbetrieb stellen in der Schaltung 22 die Antivalenz-Verknüpfung (Exklusiv-ODER) des Ausganges eines der UND-Glieder
11, 12 oder 1.3 mit dem Ausgang eines der UND-Glieder 14, 15 oder 16 her. Die Ausgangssignale der UND-Glieder in jeder dieser beiden
Gruppen, die durch denselben Taktzyklus aktiviert werden (X, Y oder Z), werden gleichzeitig auf die Eingänge 22a und 22b des Antivalenz-Gliedes
22 geleitet, um die nächste ROS-Adresse zu erzeugen, die dann vom ODER-Glied
24 ausgegeben wird.
Die unbedingte Verzweigungsadressierung wird unterstützt durch das UND-Glied
21 in Fig. 3A. (Auch dabei Ausgabe der nächsten ROS-Adresse durch ODER-Glied 23).
Die bedingte Verzweigungsadressierung wird durch ein Quellenwahl-Mikrowort
vorgenommen (dargestellt in Fig. 8), wodurch das Ausgangssignal des UND-Gliedes 10 oder eines der UND-Glieder 11, 12 oder 13 zum Eingang 22b des
Antivalenz-Gliedes 22 und die Ausgangssignale der UND-Glieder 17 und 90
zum anderen Eingang 22a durchgeschaltet werden.
BC9-76-002
709845/0871
Auswahlschaltung für das laufende ROS-Wort (l-'ig. 3»)
Fig. 313 zeigt die Schaltungen, die mit den Ausgabedaten des in Fig. 3A
gezeigten Generators (für die nächste ROS-Adresse) je ein Mikrowort adressieren. Die Ausgabedaten des Generators werden in je eines der
Register 24, 25 oder 26 für die nächste Adresse geladen, wobei das jeweilige Register dadurch bestimmt wird, welcher der drei Taktzyklen
zum jeweiligen Zeitpunkt aktiv ist. Wenn sie einmal geladen sind, gibt jedes dieser Register die nächsten Adressbits während der beiden folgenden
Taktzyklen an den entsprechenden Festspeicher ROS 30, 31 oder 32 ab, der dann die Mikrowortauswahl auf herkömmliche Art ausführt. Im
dritten Zyklus nach dem Laden (d.h. im nächsten aktiven Zyklus für denselben ROS) wird das gewählte ROS-Mikrowort an das zugehörige
UND-Clied 36, 37 bzw. 38 ausgegeben, deren Ausgangssignale wiederum über
ein ODER-Glied 39 geleitet werden, das das ausgewählte Mikrowort auf die 16 Einzelleitungen des Bus (Sammelleitung) 41 gibt. Zwei Gruppen von
Einzelleitungen des Bus (Sammelleitung) 41, nämlich die Leitungsgruppen
42 und 43, sind zusätzlich separat herausgeführt, um ausgewählte Felder aus dem vorliegenden Mikrowort abzugeben.
Der in Fig. 3C gezeigte Decodierer 400 empfängt und decodiert jedes von
der in Fig. 3B gezeigten Schaltung ausgegebene Mikrowort. Die Decodierausgangsleitungen
401a bis η liefern Signale an die in Fig. 2 dargestellte Datenbahn zur Ausführung normaler Mikrowörter, die aus den
BC9-76-OO2
709845/0871
Festspeichern X-ROS, Y-ROS und Z-ROS gelesen wurden. Die Schaltung in
Fig. 3C ausserhalb des Decodierers 400 liefert zusätzliche Decodierund
Steuersignale, die zur Unterstützung der Ausführung beim bedingten und unbedingten Verzweigungsadressierbetrieb gebraucht werden.
ARBEITSWEISE ZUR ERZEUGUNG DER JEWEILS NAECHSTEN ADRESSE (FOLGEADRESSE)
Normale Erzeugung deir nächsten Adresse
Fig. 7 zeigt ein Format für ein 16 Bit langes Mikrowort, das ein 4 Bit
langes Modifizierfeld für die nächste Adresse enthält, das sich in allen
Mikrowörtern im Normalbetrieb verwenden lässt, die in einem der 3 ROS-Speicher
30, 31 oder 32 gespeichert sind, dargestellt in Fig. 3B. In dem Format enthalten die Bits 4 bis 7 das 4-Bit-Modifizierfeld für die nächste
Adresse. Die Bits 0 bis 3 enthalten einen Operationscode für das Mikrowort, und die Bits 8 bis 15 können irgendwelche Felder enthalten» die für
■normale Steuerspeicheroperationen benötigt werden. Die auf dem Modifizierfeld 4 bis 7 für die nächste Adresse ausgeführten Operationen werden durch
die in Fig. 3A gezeigte Maschinenausrüstung gesteuert, die die 12 Bit ■
lange Adresse erzeugt, die zur Adressierung des nächsten Mikrowortes in
dem in Fig. 3B dargestellten Steuerspeicher benötigt wird. Wie bereits gesagt, wird die nächste Adresse im Normalbetrieb erzeugt durch Kombina
tion der Ausgabe von einem der UND-Glieder 11, 12 oder 13 mit der Ausgab«
von einem der UND-Glieder 14, 15 oder 16 im Antivalenz-Glied 22, das in
Fig. 3A gezeigt ist, während des zugehörigen Taktzyklus. Diese Kombination wird anschliessend im Zusammenhang mit den Fig. 4A, 4B und 4C für
die drei verschiedenen ROS-Moduln erklärt. Die Kombination ist zu verstehen'
BC9-76-002 .-.·._.
•709845/0871
27Π658 ~
als Ausrichtung des 4 Bit grossen Adressmodifizierfeldes in Relation zu
einem der drei verschiedenen Felder A, B und C in der kompletten 12 Bit
langen Mikroinstruktionsadresse, die vorher während des letzten Taktzyklus durch das ODER-Glied 23 in Fig. 3A ausgegeben wurde und gegenwärtig in einem der Register 24, 25 oder 26 in Fig. 3B gespeichert ist.
Die vorhergehende nächste Adresse steht auf einem der Busse 27, 28 oder 29 in Fig. 3B zur Verfügung, die als Eingänge zu den Torschaltungen 12,
13 und 11 in Fig. 3A vorgesehen sind. Die vorhergehende nächste Z-Adresse in Fig. 4A wird also abgenommen vom Bus 29 in Fig. 3B1 und in
ähnlicher Weise werden die vorhergehenden nächsten X- und Y-Adressen in den Fig. 4B und 4C abgenommen von den Bussen 27 und 28 in Fig. 3B. Das
Modifizierfeld für die nächste Adresse, dargestellt in jeder der Fig. 4A, B und C, wird abgeleitet von den Leitungen 43 in Fig. 3B1 die zu den
Eingängen jedes der Torschaltungcn 14, 15 und 16 in Fig. 3A gegeben
werden. Die Ausrichtung des Modifizierfeldes der nächsten Adresse unterscheidet sich in jeder der Fig. 4A, 4B und 4C. Das-Modifizierfeld ist in
Fig. 4A auf die Position C ausgerichtet (d.h. die Bits 8 bis 11 von Torschaltung 16), auf die Position B in Fig. 4B (d.h. die Bits 4 bis 7 von
Torschaltung 15), auf die Position A in Fig. C (d.h. die Bits 0 bis 3 von
Torschaltung 14). Somit wird die Ausrichtung erreicht durch die verschiedenen Sätze von vier parallelen Leitungen von den entsprechenden
UND-Gliedern 14, 15 und 16, die mit den zugehörigen Bitpositionen in
dem Antivalenz-Schaltglied 22 verbunden sind.
BC9-76-002
709845/0871
Das Ergebnis Her Antivalenz-Verknüpfung (Exklusiv-ODER) durch das
Schaltglied 22 ist dargestellt in Fig. AA durch "nächste X-Adresse", in Fig. AB durch "nächste Y-Adresse", und in Fig. AC durch "nächste
Z-Adresse".
Aus den Fig. AA, B und C geht also hervor, dass sich die Adressmodifikationen
für die drei ROS-Moduln durch die Ausrichtungen des Modifizierfeldes
unterscheiden. In Fig. AA wirkt die Adressmodifikation für den X-ROS
nur am unteren Ende der nächsten X-Adresse und gestattet dadurch den
Abstand der X-ROS-Zugriffe auf minimalen Intervallen, nämlich im Abstand
je eines Mikrowortes. In Fig. AB ist jedoch zu sehen, dass die nächste
Y-Adresse jeweils nur in ihrem Mittelfeld B modifiziert ist, so dass die Y-ROS-Zugriffe einen Mindestadressunterschied eines 16-Wort-Intervalles
haben. Aehnlich wird die nächste Z-Adresse nur im werthohen Feld A
modifiziert, so dass die Z-ROS-Zugriffe einen Mindestadressunterschied
von 256 Wortintervallen haben.
Die drei verschiedenen Felder A, B und C umfassen den kompletten Adressbereich
von 12 Bit für die ROS-Adrcssierung. Während je drei aufeinanderfolgender
Zyklen des ROS-Taktes wird der gesamte Adressierbereich von 12 Bits erfasst, so dass die ganze nächste ROS-Adresse modifiziert werden
kann, um jedes Mikrowort in einem der drei ROS-Moduln anzusteuern. Die Adressierreihenfolge wird beim Schreiben des Mikrodoce von einem Mikroprogrammiercr
festgelegt, und die absoluten Mikrowortadressen in den ROS-Moduln können entweder von Menschen oder mit Unterstützung eines
Assemblerprogrammcs festgelegt werden.
BC9-76-OO2
709845/0871
Die Beziehung zwischen den Taktzyklen, der vorher erzeugten nächsten
ROS-Adresse und der gegenwärtig erzeugten nächsten ROS-Adresse ist in der folgenden Tabelle I dargestellt.
TABELLE I | MECHSTEN ADRESSE | Adresse | des ausße- | |
ERZEUGUNG DER Ϊ | Jetzt erzeugte | führten | M-Wortes | |
Zyklus-Zeit | Früher erzeugte | nächste Adresse | ||
nächste Adresse | X (D | |||
1 | Z | Y (D | ||
2 | X (D | ζ (D | X | (D |
3 | Y (D | X (2) | Z | (D |
4 | Z (1) | Y (2) | Z | (D |
5 | X (2) | Z (2) | ||
6 | Y (2) | |||
Wenn das ROS-Systenr gestartet wird, ist eine 12 Bit lange Adresse erforderlich,
um das Anfangsmikrowort im Steuerspeicher anzugeben, Dies wird bestimmt durch ein unbedingtes Verzweigungsmikrowort des in Fig. 6 gezeigten
Typs, das eine komplette 12 Bit lange ROS-Adresse enthält. In Fig. 3Λ ist gezeigt, wie das UND-Glied 21 die 12 Bit lange ROS-Adresse
an das ODER-Glied 23 liefert, sobald ein Mikrowort für unbedingte Verzweigung
BC9-76-OO2
709845/0871
auf der Leitung 45 von der in Fig. 3C gezeigten Schaltung zum Eingang
des UND-Gliedes 21 gegeben wird. Der andere Eingang zum UND-G]ied
kommt auf der Leitungsgruppe 42 (ausgewähltes Mikrowort) in Fig. 3B
zur Zuführung des 12 Bit langen ROS-Adressfeldes, das im unbedingten
Verzweigungsmikrowort enthalten ist.
Fig. 5 zeigt die bedingte Arbeitsweise bei Verzweigung. Hierbei wird
der wertniedere Teil der nächsten erzeugten Adresse gesteuert durch
maskierbare Daten von jeweils einem von vier wählbaren Registern in der Datenbahn, die antivalent verknüpft werden (Exklusiv-ODER) mit entsprechenden
Bits von entweder:
a) der vorhergehenden nächsten ROS-Adresse oder
b) Mikroprof>raimndaten in einem Maskenregister.
Der werthöhere Teil der erzeugten nächsten ROS-Adresse wird direkt aus
den entsprechenden Bits genommen von entweder:
c) der vorhergehenden nächsten ROS-Adresse oder
d) dem Maskenregister.
Die Wahl zwischen a) und c) oder b) und d) wird bestimmt durch die Einstellung
eines Maskenkippgliedes. Ein Zwischenfeld in der erzeugten nächsten ROS-Adresse wird gesteuert durch das Einschalten eines Kennzeichenkippgliedes
und des Maskenkippgliedes.
Alle diese Operationen werden durch das Quellenwahl-Mikrowort gesteuert,
dessen Format in Fig. 8 gezeigt ist.
BC9-76-002 >»
709845/0871
Die Ausführung des Quellenwahl-Mikrowortcs wird gesteuert durch die in
Fig. 3D gezeigten Schaltungseinrichtungen, durch die Torschaltungen 10,
17 und 90 in Fig. 3Λ, sowie durch den grössten Teil der ausserhalb des
in Fig. 3C gezeigten Mikrowortdccodierers liegenden Schaltungseinrichtungen. Datenbitleitungen werden von der Qucllenwahl-lnstruktion durch
die in Fig. 3D gezeigten Schaltungen gewählt. Die Steuereingänge sind mit der Schaltung in Fig; 3C und die Dateneingänge mit der Schaltung in Fig.
verbunden. Die aus der "Datenbahn" gewählten Datenbits werden von der Schaltung in Fig. 3D ausgegeben an die Torschaltung 17 in Fig. 3A.
Die ziemlich komplexe Operationsfolge, die von einem Quellenwahl-Mikrowort
ausgeführt wird zur Erzeugung der. nächsten ROS-Adresse, ist in dein Beispiel
in Fig. 5 dargestellt. Die Folge beginnt mit der während des vorhergehenden Taktzyklus erzeugten nächsten X-Adresse und endet mit der
Erzeugung der nächsten Y-Adresse während des laufenden Taktzyklus.
Die jeweils erforderlichen Bits der Datenbahn werden gewählt durch das
in Fig. 8 gezeigte Quellenfeld (QUE) und den OP-Code. Das Quellenfeld gibt eine von vier Stellen in der Datenbahn an, von der Bits durch ein
Quellenwahl-Mikrowort gewählt werden können. Diese vier Stellen sind in Fig. 2 dargestellt. Es handelt sich um Bitsignale entweder vom
Statusregister, vom OP-Register, vom Busregister oder um externe Bitsignale. Das Quellenfeld ist ein 2-Bit-Adresse, die durch den in Fig. 3C
gezeigten Decodierer 100 decodiert wird.
BC9-76-002
709845/0871
Durch ein Quellc.iiwahl-Mikrowort wird jedoch nur eiTie Hälfte der 16
Datcnbalmbits der gewählten Quelle benutzt. Der OP-Code des Quell.cnwahl-Mikroworter,
gibt an, welche Hälfte gewählt ist, indem er die werthohen 8 Bits (HO) oder die wertniederen 8 Bits (NI) bezeichnet. Die
beiden Quell enw.ihl-Mikrowörter unterscheiden sich nur durch ihre OP-Codes,
von denen der eine das HO-Byte der bezeichneten Quellen und der andere das NI-Byte wählt.
Es wird nur eine Hälfte der Quellenbits auf der Datenbahn gewählt, weil
man einerseits ein 16 Bit langes Mikrowort und eine 16 Bit breite Datenbahn (Fig. 2) hat, und man andererseits ein Datenmaskenfeld im
Qucllenwahl-Mikrowort unterbringen muss, von dem die anderen 8 Bits
durch andere Felder belegt sind. Somit kann in dein 16 Bit langen Quellenwahl-Mikrowort nur eine 8 Bit lange Datenmaske untergebracht werden.
Die in Fig. 3D gezeigten Quellenwahlschaltungen steuern die Auswahloperation
für die 8 Bit breite Datenbahn. Diese Schaltungen empfangen Signale auf den Decodiersteuerleitungen 94, 95, 96 und 97 von dem
Quellcndecodierer 100 in Fig. 3C. Sie empfangen ausserdem Signale von
der HO-Steuersignalleitung 91 und von der NI-Steuersignalleitung 92 vom Mikrowortdecoiderer in Fig. 3C, welche anzeigen, welches der beiden
Quellcnwahl-Mikrowörter ausgeführt wird (d.h., welche der beiden Datenbahnhälften
gewählt wird). Die Datenbahneingänge der in Fig. 3D gezeigten Schaltung sind mit den entsprechenden Ausgangssignalleitungen
von Fig. 2 verbunden.
BC9-76-OO2
709845/0871
3?
Das Dateninaskcnfeld belegt die Bitpositionen 8 bis 15 im Quellenwahl-Mikrowort
(siehe Fig. 8) und dient als Maske für die 8 ausgewählten Datenbits aus einer der vier Quellen.
Nach Darstellung in Fig. 5 wird das Datenmaskenfcld von Leitung 47
(Fig. 3C) UND-verknüpft mit den gewählten Quellcnbits von Leitung 46
(Fig. 3D). Das UND-Glied 17 in Fig. 3A empfängt diese Signale auf den Leitungen 46 und 47 und gibt das in Fig. 5 gezeigte maskierte Quellenfeld
17a ab. Das maskierte Quellenfeld 17a wird dann antivalent verknüpft
(Exklusiv-ODER) mit den wertniederen 8 Bits der vorher während eines X-Zyklus erzeugten nächsten X-Adresse oder mit den wertniederen
8 Bits im Verzweigungsmaskenregister 81, abhängig von der Einstellung des Maskenfreigabc-Kippgliedes 82. Die nächste während eines Y-Zyklus
erzeugte Y-Adresse kann somit aus einer von zwei jeweils 12 Bit langen Basisadressen erzeugt werden, von denen eine die vorhergehende nächste
X-Adresse und die andere der 12-Bit-Inhalt des Verzeweigungsmaskenregisters
ist. Das Antivalenz-Glied 22 in Fig. 3A erzeugt die nächste Y-Adresse. Die wertniederen 8 Bits an den Bitpositionen 4 bis 11 und
das mittlere Feld (Bit 3) werden von den UND-Gliedern 17 und 90 auf den Eingang 22a des Antivalenz-Gliedes 22 übertragen. Der andere Eingang 22b
empfängt ein 12 Bit langes Feld entweder vom UND-Glied 10 oder von einem der UND-Glieder 11, 12 oder 13. Das UND-Glied 10 gibt den Inhalt des
Verzweigungs-Maskenregisters aus, wenn es durch das "EIN"-Signal des
Maskenfreigabe-Kippgliedcs angesteuert wird. Wenn das Maskenfreigabc-Kippglied
ausgeschaltet ist, wird das UND-Glied 12 während des Y-Zyklus angesteuert, um die vorhergehende nächste X-Adresse zu wählen. Die
BC9-76-002
709845/0871
werthohen Bits 0 bis 2 im gewählten 12-Bit-Feld, angelegt an den
Eingang 22b, werden durch das Antivalenz-Glied 22 unverändert weitergegeben, weil keine entsprechenden werthohen Bits an den anderen
Eingang 22a angelegt werden. Sie werden also direkt ein Teil der ausgegebenen nächsten Y-Adresse. Das Zwischenfeld (Bit 3) wird im
Antivalenz-Glied 22 unter Steuerung durch das UND-Glied 90 erzeugt, das wiederum durch das Funktionsfeld (Bits 6 und 7) im Qucllenwahl-Mikrowort
(Fig. 8) gesteuert wird. Diese Funktionsbits werden an einen Kennzeichendecodierer 101 in Fig. 3C angelegt, der abhängig vom Wert
der Bits 6 und 7 einen von drei Ausgängen aktiviert. F=I bezeichnet
ein Testsignal, das als ein Eingangssignal zum UND-Glied 90 in Fig. 3Λ
dient. Ein Kennzeichenkippglied 102 in Fig. 3C liefert auch ein
Eingangssignal an das UND-Glied 90 in Fig. 3A, um dieses anzusteuern,
wenn das Kennzeichenkippglied gesetzt ("EIN") ist. Die Einschaltung erfolgt durch ein Signal F = 2 vom Decodierer 101 und die Rückstellung
durch ein Signal F = 3. Einschaltung, Rückstellung und Testbedingungen werden durch verschiedene Mikrowörter in einem Mikroprogramm gesteuert.
Das Verzweigungsmaskenregister 81 in Fig. 3C wird durch ein Verzweigungsmaskenmikrowort
geladen, das in Fig. 9 gezeigt ist. Die Ausführung der Verzweigungsmasken-Instruktion lädt nicht nur das Verzweigungsmaskenregister
81, sondern schaltet auch das Maskenfrcigabe-Kippglied ein, das durch die Ausführung eines nächsten Quellenwahl-Mikrowortes
zurückgestellt wird. Der Inhalt des Verzweigungsmaskenregisters 81 kann also durch ein Quellenwahl-Mikrowort nur einmal benutzt werden. Es muss
daher explizit für jedes Quellenwahl-Mikrowort geladen werden, welches das Verzweigungsmaskenregister benutzen will.
BC9-76-003 70 9845/08 71
Viele in einem System verwendete Makroinstruktionen benutzen eines
oder mehrere allgemeine Register. Fig. 10 zeigt ein Beispiel einer Makroinstruktion, die zwei allgemeine Register, nämlich Rl und R2, benutzt.
Sobald eine solche Makroinstruktion ausgeführt wird, muss die Anlage jedes angegebene allgemeine Register in der von der Makroinstruktion verlangten
Art identifizieren und benutzen.
Der als Ausführungsbeispiel beschriebene Modulsteuerspeicher mit verschachtelter
Arbeitsweise ermöglicht die Ecnutzung von allgemeinen Registern durch Makroinstruktionen. Die in Fig. 2 gezeigte Datenbahnanordnung
hat einen Registerstapel 190, der vier Stufen aufweist, von denen jede acht allgemeine Register hat, die in Makroinstruktionen
durch ein 3-Bit-Feld bezeichnet werden können. Die Interpretation des
Operationscodes der Makroinstruktion durch ein Mikroprogramm bestimmt,
welches 3-Bit-Feld für Rl und welches andere für R2 benutzt wird. Ein solches Mikroprogramm entspricht der als Beispiel in der nachstehenden
Tabelle II angeführten MiRroroutine.
TABELLE II
(siehe nächste Seite)
(siehe nächste Seite)
BC9-76-002
7098A5/0871
3l
TABKLLE 11
Mikrowort
Verzweigungsmaske 010
Quellenwahl Rl
Unbed. Verzweigung
Verzweigungsmaske 010 (für nächste Mikroroutine) Lesen Allgemein-Register Rl
(Verzweigungsziel-Mikrowort in nächster
Mikroroutine) (wenn R2 bezeichnet ist)
Quellenwahl R2
Unbed. Verzweigung
(irgendein Mikrowort für nächste Mikroroutine) (Verzweigungsziel-Mikrowort in nächster
Mikroroutine)
Diese Mikroroutine wird durch Schaltungseinrichtungen unterstützt, die
in den Fig. 2 und 11 dargestellt sind. In der Fig. 11 sind die allgemeinen Register im Stapel 190 enthalten, der in vier Stufen unterteilt
ist, von denen jede acht allgemeine Register mit den Nummern 0 bis 7 enthält. Eine 5 Bit lange Adresse bezeichnet eines der 32 allgemeinen
Register im Stapel 190, wobei 2 Bits eine der vier Stufen und 3 Bits eines
der acht allgemeinen Register in der bezeichneten Stufe angeben.
Zeitzyklus | (D |
X | (D |
Y | (D |
Z | (2) |
X | (2) |
Y | (2) |
Z | ODER |
(2) | |
Z | (3) |
X | (3) |
Y | (3) |
Z |
BC9-76-002
7 09845/0871
Die 5 Bit lange Allgemeinregister-Stapeladresse wird entweder in ein
Stapeladressregister 193 (für Rl) oder in ein Stapeladressregister (für R2) gesetzt.
Die Auswahl-Mikroroutine für die allgemeinen Regsiter (Tabelle II)
arbeitet bei zeitverschac.hteltcn Moduln des Ausfühiungsbeispiels
folgendermassen, wobei als erster Zyklus ein X(l)-Zyklus angenommen
wird. Der X(l)-Zyklus fülirt ein Verzweigimgsinasken-Mikrowort aus. Er
setzt in das Verzweigungsmaskenregister den Adresswert 010, die Adresse des Mikrowortes für das erste allgemeine Register in der Stufe 0, die
als Basisadresse für alle allgemeinen Register jeder Stufe benutzt wird. Der Y(l)-Zyklus führt eine Quellenwahl-Instruktion aus, wie vorher oben
beschrieben, in der das HO-Byte im OP-Register in Fig. 2 als die Quelle bezeichnet wird, die die Rl-Bezeichnung in ihren Bitpositionen 5, 6 und
7 enthält, und die Datenmaske wählt nur diese Bitpositionen.
Die Stufenadresse aus dem ODER-Glied 255 und die Adresse aus dem
allgemeinen Register werden auf dem Bus 256 verkettet und in eines der beiden Register 193 und 194 geleitet, abhängig von Bit 3 des gelesenen
Mikrowortes aus dem allgemeinen Register. Der Stapeladressdecodierer
192 in Fig. 2 decodiert diese Adresse dann und wählt das verlangte allgemeine Register.
Während des Z(l)-Zyklus wird ein unbedingtes Verzweigungsmikrowort
ausgeführt, so dass während des Z(2)-Zyklus das Verzweigungsziel-Mikrowort ausgeführt werden kann. Wenn die laufende Makroinstruktion
BC9-76-002
709845/0871
ein R2-RegisLer bezeichnet, ist ihre Zielroutine ähnlich wie die
Routine zum Wählen des durch Rl bezeichneten allgemeinen Registers.
Während des X(2)-Zyklus kann das erste Mikrowort für die nächste
Mikroroutine ausgeführt werden. Wenn die nächste Routine R2 wählt,
kann der X(2)-Zyklur> wieder das Verzweigungsmasken-Mikrowort ausführen.
Während des Y(2)-Zyklus wird das aus dem allgemeinen Regsiter gelesene
Mikrowort ausgeführt. Hierzu werden die in Fig. 11 und 2 gezeigten Schaltungen benutzt.
Fig. 11 zeigt die Vorgänge bei Ausführung eines Mikrobefehls zum Lesen
eines Allgcmeinregisters. Seine Bits 0 bis 7 dienen, wie oben beschrieben,
zum normalen Adressieren eines Mikrowortes. Bit 8 ist auf 0 gesetzt um anzuzeigen, dass das Mikrowort ein allgemeines Register
lesen soll. Bit 9 ist ein Funktionsfeld (FKT), das bestimmt, wo die
Stufenadresse abgeleitet wird. Wenn Bit 9 auf 1 gesetzt ist, wird die Stufenadressc vom laufenden Stufenfeld 14, 15 in einem Stufenregsiter
251 über das UND-Glied 252 ausgegeben. Wenn Bit 9 jedoch auf 0 gesetzt
ist, wird die Stufenadresse stattdessen von den Bits IA, 15 des aus dem
allgemeinen Register gelesenen Mikrowortes abgeleitet. Die 2 Bit lange gewählte Stufenandresse wird mit der 3 Bit langen Adresse aus dem allgemeinen
Register vom Mikrowortausgang der Fig. 3C auf dem Bus 256 verkettet
und in eines der beiden Stapeladrcssrcgistcr 193 und 194 übertragen,
bestimmt durch die Einstellung des OP-Code-Bit 3 in dem aus dem
BC9-76-0O2
709845/0871
allgemeinen Register gelesenen Mikrowort, und dann aus demselben Register
ausgegeben, um das allgemeine Register im Stapel anzusteuern.
BC9-76-OO2
709845/0871
Claims (10)
- PATENTANSPRÜCHE(T) Anordnung zur Ansteuerung eines Mikroprogrammspeichers, der aus mehreren Speichermoduln aufgebaut ist, gekennzeichnet durch- eine Taktgebereinrichtung (55; Fig. 3) zur Abgabe mehrerer Taktimpulsfolgen, die untereinander phasenverschoben sind, und deren jede einem Speichermodul (30, 31, 32; Fig. 3B) zugeordnet ist;- einen Adreßgenerator (Fig. 3A) zur Erzeugung von Adressen zur Ansteuerung der Speichermoduln, mit Eingängen für Adreßsignale (27, 28, 29) und für Modifi-ziersignale (43) und mit Verknüpfungseinrichtungen i (11...16, 22) zur selektiven Kombination der Adreß- ; und Modifiziersignale aufgrund von an Steuereingängen| (49, 50, 56, 57, 58) empfangenen Steuersignalen; :- mindestens ein Adreßregister (24, 25, 26; Fig. 3B) j zur Speicherung einer vorher vom Adreßgenerator abgegebenen Adresse, dessen Ausgänge mit den Adreßsignaleingängen verbunden sind;- Verbindungseinrichtungen (36...39, 43) zwischen den Ausgängen der Speichermoduln und den Modifiziersignal-(-eingängen zur Übertragung eines Modifizierfeldes aus einem ausgelesenen Mikroprogrammwort an den Adreßgenerator. 709045/0871BC 976 OO2ORiGlNAL fNSPECTH)
- 2. Anordnung nach Patentanspruch 1, dadurch gekennzeichnet, daß die Verknüpfungseinrichtungen im Adreß-; generator (Fig. 3B) Torschaltungen (14, 15, 16) enthalten, welche mit den Modifiziereingängen (43) und mit Zuleitungen (56, 57, 58) von der Taktgebereinrichtung (55) verbunden sind und je nach auftretendem Taktsignal das Modifizierfeld auf je eine andere Leitungsgruppe (0-3, 4-7, 8-11) geben, so daß eine angeschlossene Kombinationsschaltung (22) aufeinanderfolgende Modifizierfelder auf gegeneinander verschobenen Untergruppen von Eingängen empfängt je nachdem, welchem Speichermodul die erzeugte Adresse zugeordnet ist.
- 3. Anordnung nach Patentanspruch 1 und/oder 2, dadurch gekennzeichnet, daß die Anzahl Bits im Modifizierfeld und damit die Anzahl der Modifiziersignaleingänge (43) F = A/M ist, wobei A die Anzahl Bits einer vollständigen Mikroprogrammspeicheradresse, d.h. die Anzahl der Eingänge (z.B. 29) des Adreßgenerators (Fig. 3A) für einen Satz Adreßsignale ist und M die Anzahl von überlappt arbeitenden Speichermoduln (30, 31, 32).7098A5/0871 bus 976 oo2
- 4. Anordnung nach einem oder mehreren der Patentansprüche 1 bis 3, dadurch gekennzeichnet, daß die Arbeitszyklen der Speichermoduln einander überlappen, und daß die für ein erstes Speichermodul (X) erzeugte Adresse jeweils mit einem Modifizierfeld aus einem zweiten Speichermodul (Y) kombiniert wird, um die nächste Adresse für dieses zweite Speichermodul (Y) zu erzeugen.
- 5. Anordnung nach einem oder mehreren der Patentansprüche 1 bis 4, dadurch gekennzeichnet, daß die Kombinationsschaltung (22) eine Antivalenzschaltung ist, deren erster Satz Eingänge (22b) mit den Adreßsignaleingängen (z.B. 29) zum Empfang einer vorher abgegebenen Adresse verbindbar ist, und von deren zweitem Satz Eingängen (22a) jeweils eine Untergruppe mit den Modifiziersignaleingängen (43) verbindbar ist.
- 6. Anordnung nach einem oder mehreren der Patentansprüche 1 bis 5, gekennzeichnet durch- eine Quellenwahlschaltung (Fig. 3D), deren Daten-j eingänge (111... 118) mit verschiedenen Stellender aus Leitungen und Registern bestehenden Datenbahn (Fig. 2) eines Prozessors verbunden709845/0871BC 976 002sind, und deren Ausgänge (46) aufgrund von an Steuereingängen (91, 92, 94...97) zugeführten Auswahlsignale die Datensignale einer ausgewählten Gruppe von Eingängen abgeben;- eine Steuersignalleitung (48; Fig. 3C) für ein vom Mikroprogrammspeicher-Decodierer (400) abgegebenes Quellenwahl-Steuersignal;- zusätzliche Quellendateneingänge (46; Fig. 3A) im Adreßgenerator, die mit den Ausgängen der Quellenwahlschaltung verbunden sind, und die bei Vorliegen des Quellenwahl-Steuersignals anstelle der Modifiziersignaleingänge mit zweiten Eingängen (22a) einer Kombinationsschaltung (22) verbindbar sind, deren erste Eingänge (22b) mit den Adreßsignaleingängen (27, 28, 29) des Adreßgenerators verbindbar sind.
- 7. Anordnung nach einem oder mehreren der Patentansprüche 1 bis 6, dadurch gekennzeichnet, daß der Adreßgenerator (Fig. 3A) eine zusätzliche Verknüpfungsschaltung (17) aufweist, deren erster Satz Eingänge (46) mit den Quellendateneingängen des Adreßgenerators verbunden ist, und deren zweiter Satz Eingänge (47) über Verbindungseinrichtungen7098A5/0871BC 976 ÖO2(36...39, 41) mit Ausgängen der Speichermoduln (30, 31, 32) verbindbar ist, so daß die Quellendaten bei Vorliegen des Quellenwahlsignals aufgrund einer in einem von den Speichermoduln abgegebenen Mikroprogrammwort enthaltenen Datenmaske selektiv der Kombinationsschaltung (22) zur Erzeugung der nächsten Adresse zugeführt werden können.
- 8. Anordnung nach einem oder mehreren der Patentansprüche 1 bis 7, dadurch gekennzeichnet, daß ein Verzweigungsmaskenregister (81) und ein Maskenfreigabekippglied (82) vorgesehen sind, die mit Daten eines ausgelesenen Mikroprogrammwortes geladen bzw. aufgrund eines Mikroprogrammwort-Decodiersignals gesetzt werden können, und daß im Adreßgenerator (Fig. 3B) weitere Verknüpfungsschaltungen (10) vorgesehen sind, deren Ausgänge mit den zweiten Eingängen (22a) der Kombinationsschaltung (22) verbunden sind, und die bei Vorliegen eines Maskenfreigabesignals aus dem Maskenfreigabekippglied die Ausgänge (52) des Verzweigungsmasken-ι registers anstelle der Adreßsignalelngänge (27, 28, 29) des Adreßgenerators mit der Kombinations-j schaltung verbinden.: 709845/0871BC 976~OO2 -""
- 9. Anordnung nach einem oder mehreren der Patentansprüche 1 bis 8, dadurch gekennzeichnet, daß ein Registerstapel (190) vorgesehen ist mit folgenden Steuereinrichtungen:- ein Stapeladreßdecodierer (192) zur Adressierung je eines Registers aus dem Registerstapel;- mindestens ein Stapeladreßregister (193, 194), dessen Ausgang mit dem Stapeladreßdecodierer verbunden ist;- eine Mikrowort-Lesesteuerleitung (173, 174), zur übertragung eines Operationscodebit aus einem ausgelesenen Mikroprogrammwort; sowie- zusätzliche Verbindungseinrichtungen (255, 256) zur übertragung einer Registeradresse aus einem ausgelesenen Mikroprogrammwort in das adressierte Stapeladreßregister aufgrund eines Steuersignals auf der Mikrowort-Lesesteuerleitung.
- 10. Anordnung nach einem oder mehreren der Patentansprüche 1 bis 9, dadurch gekennzeichnet, daß ein Stufenregister (251) vorgesehen ist mit einem Stufenfeld, dessen Inhalt die jeweils auszuwählende Gruppe von Registern im Registerstapel (190) angibt,709845/0871BC 976 OO2und mit einer Torschaltung (252) zur übergabe des Stufenfeldinhaltes in die höherwertigen Bitpositionen des Stapeladreßregisters (193, 194); daß ein Steuereingang der Torschaltung mit einer Bitstelle eines die jeweils ausgelesenen Mikroprograinmwörter enthaltenden Registers (254) verbunden ist; und daß weitere Bitpositionen dieses Registers mit den niederwertigen Bitpositionen des Stapeladreßregisters zur Übergabe einer Registeradresse verbunden sind.709845/0871BC 976 OO2
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/681,955 US4156925A (en) | 1976-04-30 | 1976-04-30 | Overlapped and interleaved control store with address modifiers |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2717658A1 true DE2717658A1 (de) | 1977-11-10 |
Family
ID=24737572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19772717658 Withdrawn DE2717658A1 (de) | 1976-04-30 | 1977-04-21 | Anordnung zur ansteuerung eines mikroprogrammspeichers |
Country Status (13)
Country | Link |
---|---|
US (1) | US4156925A (de) |
JP (1) | JPS52132742A (de) |
AU (1) | AU509731B2 (de) |
BR (1) | BR7702821A (de) |
CH (1) | CH615771A5 (de) |
DE (1) | DE2717658A1 (de) |
ES (1) | ES458328A1 (de) |
FR (1) | FR2349881A1 (de) |
GB (1) | GB1556552A (de) |
HK (1) | HK71184A (de) |
IT (1) | IT1113537B (de) |
NL (1) | NL7704652A (de) |
SE (1) | SE417649B (de) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4320453A (en) * | 1978-11-02 | 1982-03-16 | Digital House, Ltd. | Dual sequencer microprocessor |
US4316244A (en) * | 1978-11-08 | 1982-02-16 | Data General Corporation | Memory apparatus for digital computer system |
JPS5619150A (en) * | 1979-07-25 | 1981-02-23 | Fujitsu Ltd | Microprogram control system |
US4384324A (en) * | 1980-05-06 | 1983-05-17 | Burroughs Corporation | Microprogrammed digital data processing system employing tasking at a microinstruction level |
US4493020A (en) * | 1980-05-06 | 1985-01-08 | Burroughs Corporation | Microprogrammed digital data processor employing microinstruction tasking and dynamic register allocation |
US4373180A (en) * | 1980-07-09 | 1983-02-08 | Sperry Corporation | Microprogrammed control system capable of pipelining even when executing a conditional branch instruction |
US4459659A (en) * | 1981-02-04 | 1984-07-10 | Burroughs Corporation | Subroutine control circuitry for providing subroutine operations in a data processing system in which tasks are executed on a microprogrammed level |
US4467410A (en) * | 1981-02-04 | 1984-08-21 | Burroughs Corporation | Multi-phase subroutine control circuitry |
US4649472A (en) * | 1981-02-04 | 1987-03-10 | Burroughs Corporation | Multi-phase subroutine control circuitry |
US4430707A (en) | 1981-03-05 | 1984-02-07 | Burroughs Corporation | Microprogrammed digital data processing system employing multi-phase subroutine control for concurrently executing tasks |
US4450522A (en) * | 1981-09-11 | 1984-05-22 | Data General Corporation | Apparatus for deriving addresses of data using displacements from base addresses which change only on call and return |
US4503492A (en) * | 1981-09-11 | 1985-03-05 | Data General Corp. | Apparatus and methods for deriving addresses of data using painters whose values remain unchanged during an execution of a procedure |
JPS5848146A (ja) * | 1981-09-18 | 1983-03-22 | Toshiba Corp | 命令先取り方式 |
WO1983001317A1 (en) * | 1981-09-30 | 1983-04-14 | Burroughs Corp | Pipelined microprogrammed digital data processor employing microinstruction tasking |
US4450525A (en) * | 1981-12-07 | 1984-05-22 | Ibm Corporation | Control unit for a functional processor |
US4439827A (en) * | 1981-12-28 | 1984-03-27 | Raytheon Company | Dual fetch microsequencer |
US4577282A (en) * | 1982-02-22 | 1986-03-18 | Texas Instruments Incorporated | Microcomputer system for digital signal processing |
US4931989A (en) * | 1982-02-22 | 1990-06-05 | International Business Machines Corporation | Microword generation mechanism utilizing a separate programmable logic array for first microwords |
US4594661A (en) * | 1982-02-22 | 1986-06-10 | International Business Machines Corp. | Microword control system utilizing multiplexed programmable logic arrays |
US4685080A (en) * | 1982-02-22 | 1987-08-04 | International Business Machines Corp. | Microword generation mechanism utilizing separate programmable logic arrays for first and second microwords |
US4498135A (en) * | 1982-02-22 | 1985-02-05 | Texas Instruments Incorporated | Microcomputer with accumulator addressing |
DE3241357A1 (de) * | 1982-11-09 | 1984-05-10 | Siemens AG, 1000 Berlin und 8000 München | Vorrichtung zur mikrobefehls-bereitstellung fuer mindestens zwei unabhaengig arbeitende funktionseinheiten in einem integrierten, mikroprogrammierten elektronischen baustein und verfahren zu ihrem betrieb |
EP0220449B1 (de) * | 1985-10-18 | 1990-11-28 | BBC Brown Boveri AG | Schaltungsanordnung zur Transformation von 2n in einem Leittechniksystem mit mehreren Teilnehmern verwendeten globalen Adressen in 2m in einem der Teilnehmer des Systems verwendeten lokalen Adressen |
US5081609A (en) * | 1989-01-10 | 1992-01-14 | Bull Hn Information Systems Inc. | Multiprocessor controller having time shared control store |
US5471597A (en) * | 1993-12-23 | 1995-11-28 | Unisys Corporation | System and method for executing branch instructions wherein branch target addresses are dynamically selectable under programmer control from writable branch address tables |
US6070238A (en) * | 1997-09-11 | 2000-05-30 | International Business Machines Corporation | Method and apparatus for detecting overlap condition between a storage instruction and previously executed storage reference instruction |
US20060095730A1 (en) * | 2004-09-30 | 2006-05-04 | Gilbert Wolrich | Expansion of compute engine code space by sharing adjacent control stores using interleaved program addresses |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3391394A (en) * | 1965-10-22 | 1968-07-02 | Ibm | Microprogram control for a data processing system |
JPS514381B1 (de) * | 1969-11-24 | 1976-02-10 | ||
US3851312A (en) * | 1970-05-27 | 1974-11-26 | Hughes Aircraft Co | Modular program control apparatus for a modular data processing system |
US3745532A (en) * | 1970-05-27 | 1973-07-10 | Hughes Aircraft Co | Modular digital processing equipment |
US3725868A (en) * | 1970-10-19 | 1973-04-03 | Burroughs Corp | Small reconfigurable processor for a variety of data processing applications |
US3696340A (en) * | 1970-11-09 | 1972-10-03 | Tokyo Shibaura Electric Co | Microprogram execution control for fault diagnosis |
US3736567A (en) * | 1971-09-08 | 1973-05-29 | Bunker Ramo | Program sequence control |
US3766532A (en) * | 1972-04-28 | 1973-10-16 | Nanodata Corp | Data processing system having two levels of program control |
US3868649A (en) * | 1972-06-28 | 1975-02-25 | Fujitsu Ltd | Microprogram control system |
US3959777A (en) * | 1972-07-17 | 1976-05-25 | International Business Machines Corporation | Data processor for pattern recognition and the like |
JPS5247976B2 (de) * | 1973-03-16 | 1977-12-06 | ||
US3866180A (en) * | 1973-04-02 | 1975-02-11 | Amdahl Corp | Having an instruction pipeline for concurrently processing a plurality of instructions |
GB1426749A (en) * | 1973-06-05 | 1976-03-03 | Burroughs Corp | Micro programme data processor having parallel instruction flow streams for plural level of subinstruction sets |
US3900835A (en) * | 1973-09-24 | 1975-08-19 | Digital Equipment Corp | Branching circuit for microprogram controlled central processor unit |
IT993428B (it) * | 1973-09-26 | 1975-09-30 | Honeywell Inf Systems | Unita di controllo di calcolatore microprogrammato con microprogram mi residenti in memoria e sovrap posizioni delle fasi interpretati ve di una microistruzione con la fase esecutiva della precedente microistruzione |
US3909797A (en) * | 1973-12-13 | 1975-09-30 | Honeywell Inf Systems | Data processing system utilizing control store unit and push down stack for nested subroutines |
DE2364408C3 (de) * | 1973-12-22 | 1979-06-07 | Olympia Werke Ag, 2940 Wilhelmshaven | Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers |
US4050058A (en) * | 1973-12-26 | 1977-09-20 | Xerox Corporation | Microprocessor with parallel operation |
US3931615A (en) * | 1974-07-22 | 1976-01-06 | Scientific Micro Systems | Controller for digital devices |
US3953833A (en) * | 1974-08-21 | 1976-04-27 | Technology Marketing Incorporated | Microprogrammable computer having a dual function secondary storage element |
JPS6020767B2 (ja) * | 1975-06-24 | 1985-05-23 | 日本電気株式会社 | 情報探索機能を有する電子計算機 |
US4038643A (en) * | 1975-11-04 | 1977-07-26 | Burroughs Corporation | Microprogramming control system |
-
1976
- 1976-04-30 US US05/681,955 patent/US4156925A/en not_active Expired - Lifetime
-
1977
- 1977-03-04 FR FR7707428A patent/FR2349881A1/fr active Granted
- 1977-03-31 IT IT21893/77A patent/IT1113537B/it active
- 1977-04-05 GB GB14270/77A patent/GB1556552A/en not_active Expired
- 1977-04-06 JP JP3862277A patent/JPS52132742A/ja active Granted
- 1977-04-21 DE DE19772717658 patent/DE2717658A1/de not_active Withdrawn
- 1977-04-25 CH CH508577A patent/CH615771A5/de not_active IP Right Cessation
- 1977-04-28 NL NL7704652A patent/NL7704652A/xx unknown
- 1977-04-29 ES ES458328A patent/ES458328A1/es not_active Expired
- 1977-04-29 SE SE7704958A patent/SE417649B/xx unknown
- 1977-05-02 BR BR7702821A patent/BR7702821A/pt unknown
- 1977-05-02 AU AU24794/77A patent/AU509731B2/en not_active Expired
-
1984
- 1984-09-13 HK HK711/84A patent/HK71184A/xx unknown
Also Published As
Publication number | Publication date |
---|---|
JPS6110859B2 (de) | 1986-03-31 |
ES458328A1 (es) | 1978-03-01 |
US4156925A (en) | 1979-05-29 |
AU2479477A (en) | 1978-11-09 |
CH615771A5 (de) | 1980-02-15 |
FR2349881A1 (fr) | 1977-11-25 |
AU509731B2 (en) | 1980-05-22 |
HK71184A (en) | 1984-09-21 |
BR7702821A (pt) | 1978-04-04 |
SE417649B (sv) | 1981-03-30 |
NL7704652A (nl) | 1977-11-01 |
IT1113537B (it) | 1986-01-20 |
FR2349881B1 (de) | 1980-03-14 |
JPS52132742A (en) | 1977-11-07 |
GB1556552A (en) | 1979-11-28 |
SE7704958L (sv) | 1977-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2717658A1 (de) | Anordnung zur ansteuerung eines mikroprogrammspeichers | |
DE1774296C2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE2322674C3 (de) | Mikroprogramm-Steuereinrichtung | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2716369C2 (de) | ||
DE2555963C2 (de) | Einrichtung zur Funktionsmodifizierung | |
DE2542740C2 (de) | Datenverarbeitungsanlage mit einer Mikroprogrammsteuerung | |
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE1499722C2 (de) | Einrichtung zur Modifizierung von Informationswörtern | |
DE1931966C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
CH634939A5 (de) | Kanaldatenpufferanordnung in einer datenverarbeitungsanlage. | |
DE2117936B2 (de) | Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems | |
DE2540975A1 (de) | Multi-mikro-prozessor-einheit | |
DE1549523B2 (de) | Datenverarbeitungsanlage | |
DE2847575A1 (de) | Schablonen-mikrospeicher | |
DE2536622C2 (de) | Verzweigungssteuerung mit flexibler Auswahl von Steuerworten | |
DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2556617C2 (de) | Schiebe- und Rotierschaltung | |
DE2332971C2 (de) | Mikroprogrammsteuereinrichtung | |
DE3121742A1 (de) | Mikroprogrammsteuerverfahren und -einrichtung zu dessen durchfuehrung | |
DE2426874A1 (de) | Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls | |
DE1499191B2 (de) | Elektronische einrichtung fuer eine datenverarbeitungsanlage | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE3344340C2 (de) | Datenverarbeitungsanordnung zum Durchführen von Mikrobefehlen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |