DE2150292C2 - Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen - Google Patents
Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von BefehlenInfo
- Publication number
- DE2150292C2 DE2150292C2 DE19712150292 DE2150292A DE2150292C2 DE 2150292 C2 DE2150292 C2 DE 2150292C2 DE 19712150292 DE19712150292 DE 19712150292 DE 2150292 A DE2150292 A DE 2150292A DE 2150292 C2 DE2150292 C2 DE 2150292C2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- control
- data processing
- memories
- processing system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
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/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)
Description
Die Erfindung betrifft eine mikroprogrammgesteuerte Datenverarbeitungsanlage nach dem Oberbegriff des
Anspruchs 1.
In bekannten Datenverarbeitungsanlagen verwendet man ein Mehrfach-Adressierverfahren, bei dem das
Instruktionswort mehr als eine einzige Adresse enthält und jede Adresse auf einen eigenen unabhängigen
Speicherabschnitt bzw. eine Speicherzelle verweist. Die Mehrfach-Adressiersysteme werden zur Beschleunigung
des gesamten Verarbeitungsprozesses benützt.
Nach der deutschen Auslegeschrift 1180171 ist
bekannt, daß die Instruktionswörter in einer programmgesteuerten Rechenanlage mit interner Speicherung im
allgemeinen in nachfolgenden Positionen im Speicher untergebracht werden, d. h. in nacheinanderfolgenden,
aufsteigenden Adressen, wobei jedes Wort in fester Reihenfolge aus dem Speicher herausgelesen und im
Funktionsregister untergebracht wird, um die Steuerung der logischen Schaltungen des Rechners zur Ausführung
der Datenoperationen zu veranlassen. Indem jede Instruktion reihenfolgemäßig vom Speicher abgelesen
wird, wird der Inhalt eines Programmadressenregisters mit einem Inkrement beaufschlagt, um die Adresse der
nächsten Instruktion aufzunehmen. Wenn die durch den Operationscode markierte Funktion des Instruktionswortes ausgeführt worden ist, wird das Instruktionswort
durch das nachfolgende Instruktionswort wieder im Register untergebracht, wobei dieser Vorgang bis zur
Vollendung des Programms vor sich geht. Nach der genannten deutschen Auslegeschrift ist es weiterhin
bekannt, Mehrfach-Adressierverfahren in Verbindung
ίο mit bestimmten Befehlsüberlappungsverfahren zu verwenden.
Der Rechner besitzt hierzu einen Hauptspeicher mit großem Fassungsvermögen und wahlfreiem
Zugriff und einen Steuerspeicher mit verhältnismäßig geringem Fassungsvermögen, dessen Speicherzyklus
allerdings nur einen Bruchteil des Speicherzyklus des Hauptspeichers mit größerem Fassungsvermögen aufweist.
Zum Beispiel kann der Steuerspeicher einen Speicherzyklus von einem Sechstel der Zeitdauer von
dem Speicherzyklus des Hauptspeichers besitzen.
Dadurch können während der Zeitdauer des Anrufs des Hauptspeichers aus dem Steuerspeicher Befehle entnommen
werden, sofern sie vorhanden sind. In bekannten Datenverarbeitungsanlagen sind auch Befehlspufferregister
vorgesehen, damit Befehle aus dem Speicher vorentnommen werden können. Danach werden, während der Befehlszähler eine Arbeitsfolge
zur Identifizierung nachfolgender Befehle ausführt, diese Befehle aus dem Befehlspufferregister anstatt aus
dem Speicher entnommen. Es gehört durch das Buch »Planing a Computer System«, insbesondere Abschnitte
11 und 14.3, von W. Buchholz (Verlag Mack of Hill Book
Company) zum Stand der Technik, eine erste Erhöhungsschaltung zum Zählen der Befehle zu verwenden.
Der Befehlszählerstand trägt dann zur Auswahl von Befehlen aus Befehlspufferregistern für die Weiterleitung
zu einem Befehlsregister oder anderen Befehlauswertregistern bei. Außerdem ist es bekannt, eine zweite
Erhöhungsschaltung vorzusehen, die dazu dient, einen Kompensationsfaktor für das Einstellen des Befehls-Zählregisters
zu liefern; dieser Kompensationsfaktor wird so gewählt, daß aus der Einstellung des
Befehlszählers eine Adresse erzeugt wird, die in der Speichereinheit den nächsten Befehl aussucht, der
vorentnommen und zu den Befehlspufferregistern übertragen werden muß. Obwohl also hier ein Weg
gezeigt ist, wie während einer Befehlsausführung bereits der nächste Befehl entnommen werden kann, hat diese
Lösung den großen Nachteil, daß mindestens zwei Erhöhungsschaltungen erforderlich sind, die mit dem
Befehlszähler zusammenarbeiten müssen. Besonders treten dann Schwierigkeiten auf, wenn der Befehlszähler
z. B. wegen einer Unterbrechung außer Betrieb gesetzt werden muß. Außerdem muß bei dieser
Anordnung der Fehlerstand zu verschiedenen Zeitpunkten zurückgeschaltet werden können, woraus sich eine
zusätzliche Komplizierung der Steuerung und der Erhöhungsschaltungen ergibt.
Der Erfindung liegt deshalb die Aufgabe zugrunde, ein mikroprogrammgesteuertes Datenverarbeitungssystern
zu schaffen, das eine überlappte_Befehlsentnahme, Adressenbildung und Befehlsa^usftfhrui^ermoglichfünd
daßei eine klare Struktur aufweist, die auch bei Unterbrechungsoperationen und schwierigen Operationen
.keine komplizierten Wiedergewinnungsopera-tio-
nen und Daten- bzw. Befehlssicherungsoperationen
erfordert.
"Diese Aufgabe wird mit einer mikroprogrammierten Datenverarbeitung der vorausgesetzten Gattung gelöst,
die nach der Erfindung gemäß dem Kennzeichen des Anspruchs 1 ausgesendet ist.
Weiterbildungen der Erfindung sind in den Ansprüchen 2 und 3 gekennzeichnet. Dadurch daß jeder
Befehlsphase ein kompletter und getrennter Steuerspeicher zugeordnet ist, ergeben sich schaltungsmäßig
wesentliche Vereinfachungen dadurch, daß in monolithischer Technik Speicher gleicher Struktur verwendet
werden können und Zwischenschaltungen mit komplizierten Verriegelungen entfallen können.
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird anschließend näher
beschrieben. Es zeigt
Fig. 1 ein Blockdiagramm eine erfindungsgemäßen Datenverarbeitungsanlage,
F i g. 2 das Format typischer Instruktionen für das IBM-System/360 und
F i g. 3 und 4 Tabellen zur Erläuterung der Arbeitsweise des in F i g. 1 gezeigten Systems.
Die als Rechteck in Fig.l dargestellten und durch
zwei Linien eingeschlossenen Elemente des Systems bestehen aus Assoziativspeichern.
Das in F i g. 1 gezeigte System umfaßt einen Datenspeicher 10, zwei miteinander verbundene Arbeitsspeicher
12 und 14, einen Zustandsspeicher 16 und die drei Steuerspeicher 18, 20 und 22, die alle als
Assoziativspeicher ausgeführt sind. Außerdem ist ein konventionell adressierter Hauptspeicher 24 vorgesehen,
der nach jeweils drei Zyklen eines Assoziativspeichers adressiert wird. Ale Assoziativspeicher werden
synchron in einem Zyklus betrieben, der eine Datenübertragungsphase enthält, in welcher Daten zwischen
den Speichern übertragen werden, eine Suchphase, in welcher die Speicherstellen bezeichnet werden, zu
denen der Zugriff erfolgen soll, und eine Lese-/Schreibphase, in welcher der Zugriff zu den Speicherstellen
erfolgt.
Durch jeweils zwei dazugehörige zur Ein-/Ausgabe verwendbare Register können die Assoziativspeicher
nach Art der Arbeitsspeicher 12 und 14 in F i g. Γ miteinander verbunden werden. Die vom Hauptspeicher
24 oder von der Eingangsleitung kommenden Operanden werden in das Eingabe-/Ausgabe-Register
26 des Arbeitsspeichers 12 gesetzt und während der Suchphase eines Speicherzyklus als Suchargumente
verwendet.
Da in dem Arbeitsspeicher 12 Funktionstabellen gespeichert sind, ergeben sich bei positiver Suche
Ausgangsdaten, die in das Eingabe-/Ausgabe-(E/A)-Register 28 des Speichers 12 gesetzt werden. Diese
Ausgangsdaten sind aus dieser Suchoperation resultierende Funktionen.
Die resultierenden Funktionen werden in das andere Eingabe-/Ausgabe-Register 28 des Arbeitsspeichers 12
während der Lese-/Schreibphase des Zyklus gesetzt und auf das Register 30 des Arbeitspeichers 14 während der
Datenübertragungsphase des nächsten Zyklus übertragen, um Suchargumente für Tabellensuchoperationen
auf Tabellen im Arbeitsspeicher 14 zu liefern, während in derselben Datenübertragungsphase neue Operanden
in das Register 26 gesetzt werden. Am Ende des zweiten Speicherzyklus befindet sich das Endergebnis der
abgelaufenen Operation mit den ersten Operanden im Register 32 des Speichers 14 und ein Zwischenresultat
der Operation mit den zweiten Operanden im Register 28. Eine der nützlichsten Anwendungen der Verbindung
ist die Addition von zwei binären Zahlen. Der Arbeitsspeicher 12 ist so angeordnet, daß er eine
Teilsumme und eine Übertragsfunktion während des ersten Speicherzyklus entwickelt, und aus diesen
Zwischenergebnissen entwickelt der Arbeitsspeicher 14 dann die Endsumme im zweiten Zyklus. Eine Verbindung
gemäß der Darstellung reduziert die Anzahl der zur Ausführung einer Zweizyklusoperation mit η
nacheinander gegebenen Operanden erforderlichen Zyklen von 2/7 auf n+\.
Obwohl die Assoziativspeicher 10 bis 22 identisch
ίο konstruiert sind, funktionieren sie unterschiedlich. Sie
werden einmal durch die Funktionstabellen voneinander unterschieden, welche sie enthalten, und zum
anderen durch die Verbindungen zwischen den entsprechenden Speichern. Die Arbeitsspeicher 12 und 14
entsprechen in ihrer Funktion einer konventionellen Rechen- und Verknüpfungseinheit (ALU) und enthalten
Additions-, Schiebe- und andere Verknüpfungstabellen. Der Datenspeicher 10 umfaßt im wesentlichen
Operandenregister, die sich jeweils durch verschiedene Kennzeichen unterscheiden, die einzeln abgesucht
werden können.
Der Zustandsspeicher 16 decodiert Instruktionsoperationscodes und überträgt Steuersignale vom Register
36 an alle Teile des Systems, um die Ordnung innerhalb des Systems aufrecht zu erhalten. Jedes Teil der
Maschine Docket UK 969 002 muß zu jedem Zeitpunkt genau über den Status des Gesamt-Systems Bescheid
wissen. Außerdem hat der Zustandsspeicher 16 die Ausgaben der Arbeitsspeicher 12 und 14 und des
Datenspeichers 10 zu überwachen und Bedingungen festzustellen, die eine Verzweigung in das gesteuerte
Mikroprogramm erfordern. Zu den zahlreichen Operationen im System/360 gehört ein Bedingungscode, der
zwei Bits umfaßt, welche am Ende einer Operation gesetzt werden, um Bedingungen anzuzeigen, die durch
die Operation entstanden sind. Wenn z. B. am Ende einer Addition die Summe negativ ist, muß die binäre
Darstellung der Summe evtl. umgekehrt werden. In einem solchen Fall ermittelt der Zustandsspeicher 16
den Bedingungscode und gibt Signale an alle Steuerspeicher CS1 bis CS 3 zum Auswählen der entsprechenden
Mikroprogrammroutine. Der Zustandsspeicher 16 ist außerdem für den Empfang von Unterbrechungssignalen
von Geräten außerhalb des Systems, wie z. B.
E/A-Kanälen (nicht dargestellt) angeschlossen, die Daten von den E/A-Einheiten zum Hauptspeicher 24
übertragen und ein Signal abgeben, wenn ein Hauptspeicherzugriff erforderlich ist. Diese externe Verbindung
ist in F i g. 1 durch die Leitung 40 dargestellt, die die benötigten Signalleitungen verkörpert, die an das
Eingabe-/Ausgabe-Register 38 des Speichers 16 angeschlossen sind. Ein Hauptspeicher-Datenregister 42,
Register 26 und 38 der Speicher 12 und 16 und ein Eingabe-/Ausgabe-Register 44 des Datenspeichers 10
sind alle miteinander so verbunden, daß Daten zwischen· allen Registern übertragen werden können. Die
Register 32 und 36 der Speicher 14 und 16 und ein Eingabe-/Ausgabe-Register 46 des Datenspeichers 10
sind ebenfalls zur Datenübertragung miteinander verbunden. Dieselbe Verbindung führt auch zur
Adreßschaltung 34 des Hauptspeichers 24.
Das in F i g. 1 gezeigte System verfügt über drei Steuerspeicher 18, 20 und 22. Als Faustregel für die
Anzahl der benötigten Steuerspeicher für einen höchsten Wirkungsgrad sei erwähnt, daß für jeden
separaten Funktionsteil des Systems ein Steuerspeicher vorzusehen ist, obwohl eine genaue Regel natürlich
nicht aufgestellt werden kann, da zu viele Punkte von
der tatsächlichen Konstruktion des Systems und seinem Operationscode abhängen. Somit hat das in F i g. 1
gezeigte System drei Steuerspeicher entsprechend dem funktionell unterschiedlichen Datenspeicher 10, den
Arbeitsspeichern 12 und 14 und dem Zustandsspeicher 16. Grundsätzlich kann die Arbeitsweise eines Assoziativspeichers
dadurch bestimmt werden, daß man ein Suchargument angibt, welches das Speicherfeld enthält,
auf dem eine Suche auszuführen ist, und indem man weiterhin angibt, ob die duxh eine Assoziativsuche nach
Datenübereinstimmung des Sucharguments gewählten Wortstellen zum Lesen oc'er Schreiben zu adressieren
sind. Im Ausführungsbeispiel der F i g. 1 muß außerdem angegeben werden, welches Eingabe-/Ausgabe-Register
eines Speichers in jeder der drei Phasen-Datenübertragung, Suche und Lesen/Schreiben eines Speicherzyklus
zu benutzen ist. Das eine Operation definierende Suchargument besteht normalerweise aus
einem veränderlichen und einem unveränderlichen Teil. Für eine Rechen- oder Verknüpfungsfunktion gibt der
unveränderliche Teil die Tabelle (n) an, die bei der Tabellensuchoperation zu benutzen ist, durch welche die
Funktion ausgeführt wird. Der veränderliche Teil des Suchargumentes wird durch die Operanden geliefert,
von denen die Funktion angefordert wird. Zur Vereinfachung der folgenden Erklärung wird angenommen,
daß das System der Fig. 1 auf diese Weise gesteuert wird, d. h. das auf einen Assoziativspeicher
gesendete Suchargument wird decodiert, um die Speicheroperation für den Zyklus zu definieren, in
welchem es zu benutzen ist. In der Praxis würden separate Operationssteuerdaten auf einen Steuerdecodierer
gleichzeitig mit der Übertragung des Sucharguments gesendet. Das Suchargument wird auf
Suchfelder der beiden Eingabe-/Ausgabe-Register eines Speichers übertragen, da bis zur Decodierung des
Sucharguments nicht bekannt ist, welches Register zu benutzen ist.
Jeder Steuerspeicher 18, 20 und 22 hat vier Suchfelder, je eines für die vier Assoziativspeicher 10 bis
16. Der Zustandsspeicher 16 kann an jeden Steuerspeicher über das Eingabe-/Ausgabe-Register 36
Informationen übertragen, die das Mikroprogramm modifizieren, welches gegenwärtig Steuerinformationen
für das System erzeugt. Anschließend wird die Verwendungsmöglichkeit der in F i g. 1 gezeigten
Anordnung von 3 Steuerspeichern zur überlappten Ausführung eines Stromes von RR- und RX- Instruktionen
beschrieben. Das Format jeder Instruktionen oder auch Befehle ist in F i g. 2 gezeigt. Bei einer ÄX-Instruktion
ist eine durch das OP-FeId definierte Operation mit zwei Operanden auszuführen. Der erste Operand wird
in einem durch den Inhalt des R1-Feldes definierten
Register festgehalten. Im System der F i g. 1 befinden sich die Register im Datenspeicher 10. Die Felder X2
und B 2 geben ebenfalls Register an, während das Feld D2 eine »Distanz« genannte Zahl enthält. Der zweite
Operand wird auf einer Adresse im Hauptspeicher 24 festgehalten, auf der sogenannten effektiven Adresse,
die man findet, wenn man zu dem durch die Felder X 2 und B 2 angegebenen Inhalt des Registers die »Distanz«
addiert. In dem zu beschreibenden Beispiel wird angenommen, daß der Inhalt des Feldes X 2 Null ist und
der Operationscode eine Addition fordert. Obwohl dieser Fall eine beträchtliche Vereinfachung darstellt, ist
er für die Komplexität einer durchschnittlichen RX-Instruktion repräsentativ.
Eine ÄÄ-Instruktion (F i g. 2) ist im Format einfacher.
Eine ÄÄ-Instruktion (F i g. 2) ist im Format einfacher.
Das OP-FeId definiert eine Operation, die mit den zwei
im Register gehaltenen bzw. durch die Felder R 1 und R 2 angegebenen Operanden durchzuführen ist. In dem
zu beschreibenden Beispiel wird angenommen, daß der OP-Code eine Addition fordert.
Zur Ausführung eines Stromes von RR- und ÄX-Instruktionen müssen fünf verschiedene Vorgänge
ausgeführt werden, und zwar:
ίο 1. Instruktionswort vom Hauptspeicher abrufen,
2. Effektive Adresse bilden,
3. Operand vom Hauptspeicher abrufen,
4. i?/Mnstruktion ausführen und
5. ÄX-Instruktion ausführen.
Diese Vorgänge oder Operationen können in den in F i g. 3 gezeigten Kombinationen gleichzeitig ausgeführt
werden. Die Operationen 2, 3 und 5 können in beliebiger Kombination nicht gleichzeitig ausgeführt
werden, da die Arbeitsspeicher I und II nur für eine Operation zur Verfügung stehen. Wenn die Instruktionsüberlappung
durch nur einen Steuerspeicher gesteuert würde, müßte der Datenspeicher 10 verschiedene
Mikroprogramm-Unterroutinen enthalten, und zwar jeweils eine andere Routine für eine Zeile der F i g. 3.
Dadurch würde in der Praxis zuviel Speicherplatz beansprucht und es könnten Schwierigkeiten bei der
Adressierung der Unterroutinen auftreten. Bei der in F i g. 1 gezeigten Anordnung werden die 5 Vorgänge
auf die 3 Steuerspeicher verteilt und einzeln oder in Kombination, je nach Bedarf, aufgerufen.
Fig.4 zeigt die Verteilung von Steuerung und Operationen unter die Speicher des in F i g. 1 gezeigten
Systems bei Abarbeitung einer Folge von ÄX-Operationen.
Der Hauptspeicher 24 hat eine dreimal so lange Zykluszeit wie die übrigen Speicher, und die Speicher
arbeiten mit Daten auf Wortlänge. Während der Zyklen 1 bis 3 steuert der erste Steuerspeicher 18 den Abruf der
ersten Instruktion. Eine laufende Instruktionsadresse wird im Zustandsspeicher 16 festgehalten, und während
die Instruktion abgerufen wird, wird diese Instruktionsadresse erhöht, beispielsweise durch eine Tabelle im
Zustandsspeicher 16, unabhängig von den Arbeitsspeichern 12 und 14. Mindestens der Operationscode der
Instruktion wird zur Decodierung in den Zustandsspeicher 16 geleitet. Bevor der Zyklus 4 beginnt, gibt der
erste Steuerspeicher 18 an den zweiten Steuerspeicher 20 ein Signal zur Abgabe der Mikroroutine, die die
Bildung der effektiven Adresse ermöglicht. Dazu muß man den Inhalt des durch das Feld B 2 vom
Datenspeicher 10 angegebenen Registers erhalten, dessen Adresse in das E/A-Register 44 gesetzt wurde,
die »Distanz« im E/A-Register 26 in Vorbereitung ihrer Addition zum Registerinhalt ausrichten und die
Addition in den Speichern 12 und 14 durchzuführen. Dazu sind drei Zyklen erforderlich, und in dieser Zeit
steuert der erste Steuerspeicher 18 den Abruf der nächsten Instruktion. Im 7. Zyklus steht die Hauptspeicherädresse
des zweiten Operanden im Register 32 zur Verfügung, und der zweite Steuerspeicher 20 steuert
den Hauptspeicher 24, zum Abruf des Operanden. In der Zwischenzeit wiederholt der zweite Steuerspeicher 20
die Unterroutine zur Erzielung der effektiven Adresse, diesesmal mit Daten aus der zweiten Instruktion. Der
zweite Steuerspeicher 20 kann beide Unterroutinen ausführen, da verschiedene Speicher in die entsprechenden
Routinen verwickelt sind. Beim Zyklus 9 steuert der dritte Steuerspeicher 22 das Setzen der Daten in das
durch die erste Instruktion im Register 26 angegebene Registerfeld R 1, und wenn der zweite Operand im
Register 26 am Ende des Zyklus 9 zur Verfügung steht, beginnt die Unterroutine die Addition der beiden
Operanden. Am Ende des Zyklus 12 steht das Ergebnis zur Verfügung und wird während des Zyklus 13 unter
Steuerung des dritten Steuerspeichers 22 in das Register R1 gespeichert. Während der Zyklen 11 bis 13 ruft der
zweite Steuerspeicher 20 außerdem den durch die zweite Instruktion definierten zweiten Operanden ab.
Am Ende des Zyklus 13 steht dieser Operand im Register 26 zur Verfügung, der Inhalt des Registers R 1,
der erste Operand, steht jedoch noch nicht zur Verfügung. Während des Zyklus 14 hält der dritte
Steuerspeicher 2 den zweiten Operanden im Register 26 fest, während der erste Operand auf das Register
übertragen wird (Lesen R 1). Anschließend steuert der dritte Steuerspeicher 22 die Addition der beiden
Operanden. Während der Zyklen 14 bis 16 wird die dritte Instruktion abgerufen durch den ersten Steuerspeicher
18 und während des Zyklus 17 erhält der zweite Steuerspeicher 20 den Inhalt des durch die 3. Instruktion
angegebenen Registerfeldes B 2 oder R 2. Da der Datenspeicher 10 nicht für die Ergebnisse der durch die
zweite zu speichernde Instruktion angeforderten Operation frei ist, hält der dritte Steuerspeicher 22 das
Ergebnis im Register 32 einen Zyklus lang fest, bevor es in das durch die zweite Instruktion angegebene Register
des Datenspeichers 10 gespeichert wird.
Der beschriebene Datenstrom bestand aus RX-Instruktionen, ÄÄ-Instruktionen erfordern jedoch keine zusätzlichen Unterroutinen.
Der beschriebene Datenstrom bestand aus RX-Instruktionen, ÄÄ-Instruktionen erfordern jedoch keine zusätzlichen Unterroutinen.
Für eine RR-Instruktion steuert der zweite Steuerspeicher
20 das Auslesen aus R 2 des Datenspeichers 10, der dritte Steuerspeicher 22 hält den Operanden im
ίο Register 26 des Arbeitsspeichers 12 fest, während der
zweite Operand von R1 geholt wird, und steuert
anschließend die verknüpfte Addition und die Speicherung des Ergebnisses in R1.
Die Veränderungen der Mikroprogramme werden vom Zustandsspeicher 16 und vom Steuerspeicher 18 gesteuert. Entsprechend seiner Anordnung hindert der Zustandsspeicher 16 den Steuerspeicher 18 am Abruf einer dritten Instruktion, bevor die Operanden der ersten beiden vom Hauptspeicher 24 abgerufen sind. Da die in Fig.4 gezeigte Tabelle nur von der Form der abgerufenen Instruktionen abhängt und diese durch den Zustandsspeicher 16 bekannt sind, kann letzterer die Wahl des Mikroprogramms im dritten Steuerspeicher 22 oder den ersten Steuerspeicher 18 über die Leitung 48 so steuern, daß Adreßänderungen abgegeben werden, die zu Mikroprogrammverzweigungen führen.
Die Veränderungen der Mikroprogramme werden vom Zustandsspeicher 16 und vom Steuerspeicher 18 gesteuert. Entsprechend seiner Anordnung hindert der Zustandsspeicher 16 den Steuerspeicher 18 am Abruf einer dritten Instruktion, bevor die Operanden der ersten beiden vom Hauptspeicher 24 abgerufen sind. Da die in Fig.4 gezeigte Tabelle nur von der Form der abgerufenen Instruktionen abhängt und diese durch den Zustandsspeicher 16 bekannt sind, kann letzterer die Wahl des Mikroprogramms im dritten Steuerspeicher 22 oder den ersten Steuerspeicher 18 über die Leitung 48 so steuern, daß Adreßänderungen abgegeben werden, die zu Mikroprogrammverzweigungen führen.
Hierzu 2 Blatt Zeichnungen
230222/069
Claims (3)
1. Mikroprogrammgesteuerte Datenverarbeitungsanlage mit einem die Daten und Befehle
speichernden Hauptspeicher, mit überlagerter Entnahme und Ausführung der Befehle unter Steuerung
eines Steuerspeichers, mit Befehlspufferregistern, einem Befehlszähler und Zustandsüberwachungsschaltungen,
dadurch gekennzeichnet, daß der Steuerspeicher aus mehreren selbständigen
Teilen (18,20 und 22) besteht, deren Anzahl von der Anahl der anderen in der Datenverarbeitungsanlage
vorhandenen unabhängigen Speicher (10,12,14,16)
mit Ausnahme des Hauptspeichers abhängt, daß der eine Steuerspeicher (18) den Befehls- bzw. Instruktionsabruf,
der zweite Steuerspeicher (20) die Bildung der effektiven Adressen und der dritte Steuerspeicher
(22) die Ausführung der Befehle bzw. Instruktionen steuert und daß zur Zustandsüberwachung
und -speicherung ein Zustandsspeicher (16) angeordnet ist, der mit allen angeordneten Speichern
(10,12,14,16,18, 20, 22) zur Aktivierung der
Steuerspeicher (18,20,22) und zur Zustandsüberwachung
und -mitteilung auch der übrigen unabhängigen Speicher (10, 12, 14, 16) verbunden ist.
2. Mikroprogrammgesteuertes Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet,
daß die Steuerspeicher (18, 20 und 22) auf zwei getrennte Arbeitsspeicher (12,14), einen Datenspeicher
(10) und einen Statusspeicher (16) einwirken und daß alle drei Steuerspeicher (18,20 und 22) über
eine Adressierungsschaltung (34) auf einen gemeinsamen Arbeitsspeicher (24) einwirken.
3. Mikroprogrammierbares Datenverarbeitungssystem nach den Ansprüchen 1 und 2, dadurch
gekennzeichnet, daß einer oder mehrere der genannten Steuerspeicher (18, 20 und 22) als
Assoziativspeicher ausgeführt sind und daß die Assoziativspeicher Funktions-Tabellen enthalten,
die als Mikroprogramme zur Steuerung der Datenverarbeitungsanlage dienen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB4824170 | 1970-10-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2150292A1 DE2150292A1 (de) | 1972-04-13 |
DE2150292C2 true DE2150292C2 (de) | 1982-06-03 |
Family
ID=10447878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19712150292 Expired DE2150292C2 (de) | 1970-10-10 | 1971-10-08 | Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen |
Country Status (5)
Country | Link |
---|---|
JP (1) | JPS5240544B1 (de) |
CA (1) | CA948321A (de) |
DE (1) | DE2150292C2 (de) |
FR (1) | FR2109746A5 (de) |
GB (1) | GB1257760A (de) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3760369A (en) * | 1972-06-02 | 1973-09-18 | Ibm | Distributed microprogram control in an information handling system |
US4399516A (en) * | 1981-02-10 | 1983-08-16 | Bell Telephone Laboratories, Incorporated | Stored-program control machine |
US4430708A (en) * | 1981-05-22 | 1984-02-07 | Burroughs Corporation | Digital computer for executing instructions in three time-multiplexed portions |
-
1970
- 1970-10-10 GB GB1257760D patent/GB1257760A/en not_active Expired
-
1971
- 1971-09-02 FR FR7132345A patent/FR2109746A5/fr not_active Expired
- 1971-10-05 CA CA124,396A patent/CA948321A/en not_active Expired
- 1971-10-08 DE DE19712150292 patent/DE2150292C2/de not_active Expired
- 1971-10-09 JP JP7915271A patent/JPS5240544B1/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
CA948321A (en) | 1974-05-28 |
GB1257760A (de) | 1971-12-22 |
FR2109746A5 (de) | 1972-05-26 |
JPS5240544B1 (de) | 1977-10-13 |
DE2150292A1 (de) | 1972-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2322674C3 (de) | Mikroprogramm-Steuereinrichtung | |
DE3424962C2 (de) | ||
DE3338345C2 (de) | ||
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
EP0010185B1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
DE2735814A1 (de) | Datenverarbeitungseinrichtung | |
DE2130299B2 (de) | Eingabe-/Ausgabekanal für eine Datenverarb eitungsanlage | |
DE2712224A1 (de) | Datenverarbeitungsanlage | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE4334294C1 (de) | Prozessor für Zeichenketten variabler Länge | |
DE2332971C2 (de) | Mikroprogrammsteuereinrichtung | |
DE2854782C2 (de) | Datenverarbeitungssystem und Verfahren zum Ersetzen eines Datenblocks in einem Schnellspeicher | |
DE1935944B2 (de) | Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage | |
DE2336676C3 (de) | Einrichtung zur Modifizierung von Mikroprogrammbefehlen | |
DE1956460C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE3226214C2 (de) | Datenverarbeitungsanlage | |
DE2150292C2 (de) | Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen | |
DE1774421B1 (de) | Mehrprogramm datenverarbeitungsanlage | |
DE1499224B2 (de) | Datenverarbeitungsanlage mit kellerspeichereinrichtungen | |
DE1296429B (de) | Datenbearbeitungsanlage | |
DE1184122B (de) | Addiervorrichtung | |
DE2727188A1 (de) | Anordnung zum adressieren eines speichers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
D2 | Grant after examination | ||
8339 | Ceased/non-payment of the annual fee |