DE2150292A1 - Mikroprogrammgesteuerte Datenverarbeitungsanlage mit ueberlagerter Ausfuehrung und Entnahme von Befehlen - Google Patents
Mikroprogrammgesteuerte Datenverarbeitungsanlage mit ueberlagerter Ausfuehrung und Entnahme von BefehlenInfo
- Publication number
- DE2150292A1 DE2150292A1 DE19712150292 DE2150292A DE2150292A1 DE 2150292 A1 DE2150292 A1 DE 2150292A1 DE 19712150292 DE19712150292 DE 19712150292 DE 2150292 A DE2150292 A DE 2150292A DE 2150292 A1 DE2150292 A1 DE 2150292A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- control
- register
- data processing
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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)
- Advance Control (AREA)
Description
Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und_Entnahme^von_ Befehlen__
Die Erfindung betrifft eine mikroprogrammgesteuerte Datenverarbeitungsanlage
mit überlagerter Entnahme und Ausführung von Befehlen unter Steuerung eines Steuerspeichers f Befehlspufferreciistern und
eines Befehlszählers.
In bekannten Datenverarbeitungsanlagen verwendet man ein Mehr fach-Adressier'erfahren,
bei. ck ■ · das Instruktionswort mehr als eine
einzig? Adresse enthält ur·-;" jscls Adresse auf einen eigenen unabhängigen
Speieherabseti\ttt Lzw. eine Speicherzelle verweist. Die
Mehrfach-Adressiersyst·'-1Ti werden zur Beschleunigung des gesamten
Verarbeiuungsprozessea benü·st.
Nach der deutschen Auslege&cnir.; ft 1 180 X7.1 ist bekannt, daß die
Instruktionswörter in einer programmgesteuerten Rechenanlage mit
„Ate-rner Speicherung im aliy-'iiaeinen i» nachfolgenden Pc-si
im Speicl>er untergebracht werdox-f d.h. in naaheinander
aufsteigenden Adressen, wobei je-^es Wur:* iv* fester ReiLanfoIgp
aus dem Speicher herauscfel^aen χ,^.Ί im Funktioasregister unterc-a-
209816/U22
M. O —
bracht 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 kodierten Teil des Rechenvorganges
mit einem Kennzeichen 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.
W 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 Steuerspeieher mit verhältnismäßig geringem
Fassungsvermögen, dessen Speicherzyklus allerdings nur
einen Bruchteil des Speicherzyklus des Hauptspeichers mit größerem
Fassungsvermögen aufweist. Z.B. kann der Steuerspeicher einen Speieherzyklus von einem Sechstel der Zeitdauer von dem Speicherzyklus
des Hauptspeichers besitzen. Dadurch können während der Zeitdauer des Anrufs des Hauptspeichers aus dem Steuerspeir
eher Befehle entnommen werden, sofern sie vorhanden sind. In be-
k kannten 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 den Befehlspufferregister anstatt aus dem Speicher entnommen. Es gehört durch das Buch "Planing a Computer System'1,
insbesondere Abschnitte 11 und 14.3, von W. Buchholz (Verlag Mack of Hill Book Company) zum Stand der Technik, eine erste Krhöhungsschaltung
zum Zählen der Befehle zu verwenden. Der Befehlszählstand
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ö lungsschaltung vorzusehen, die dazu dient, einen Kompensationsfaktor
für das Einstellen des Befehlszählregisters zu
UK 969 002 209816/1422
liefern; Dieser Kompensationsfaktor wird so gewählt, daß aus der
Einstellung des BefehlsZählregisters 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
Datenverarbeitungssystem zu schaffen, das eine überlappte Befehlsentnahme, Adressenbildung und Befehlsausführung
ermöglicht und dabei ein klare Struktur aufweist, die auch bei Unterbrechungsoperationen und schwierigen Operationen keine
komplizierten Wiedergewinnungsoperationen und Daten- bzw. Befehlssicherungsoperationen
erfordert.
Die erfindungsgemäße Lösung der Aufgabe besteht darin, daß der Steuerspeieher in drei Teile aufgeteilt ist, wovon der eine
Steuerspeicher den Befehlsabruf, der zweite Steuerspeicher die Bildung der effektiven Adressen und der dritte die Befehlsausführung
steuert.
Dadurch daß jeder Befehlsphase ein kompletter und getrennnter
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.
209816/1 422
Docket UK 969 002
Docket UK 969 002
-A-
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird anschließend näher beschrieben. Es zeigen:
Fig. 1 ein Blockdiagramm eines erfindungsgemäßen Datenverarbeitungssystems
;
Fig. 2 das Format typischer Instruktionen für das IBM
System /360 und
Fig. 3 und 4 Tabellen zur Erläuterung der Arbeitsweise des
in Fig. 1 gezeigten Systems.
Die als Rechtecke in Fig. 1 dargestellten und durch zwei Linien eingeschlossenen Elemente des Systems bestehen aus Assoziativspeichern
.
Das in Fig. 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. Außerdem
ist ein konventionell adressierter Hauptspeicher 24 vorgesehen, der nach jeweils drei Zyklen eines Assoziativspeichers adressiert
wird. Alle 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 zwei Ein-/Ausgabe-Register können die Assoziativspeicher
nach Art der Arbeitsspeicher 12 und 14 in Fig. 1 miteinander verbunden werden. Operanden werden in das Eingabe/Ausgabe-Register
26 des Arbeitsspeichers 12 gesetzt und während der Suchphase eines Speicherzyklus bei der Tabellensuche auf Funktionstabellen
im Speicher 12 als Suchargumente verwendet.
209816/ 1 422 Docket UK 969 002
Die resultierenden Funktionen werden in das andere Eingabe-/Ausgabe-Register
28 des Speichers 12 während der Lese-/Schreibphase des Zyklus gesetzt und auf das Register 30 des Speichers 14
während der Datenübertragungsphase des nächsten Zyklus übertragen, um Suchargumente für Tabellensuchoperationen auf Tabellen
im Speicher 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 geforderten 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
entwickelt und eine Übertragsfunktion während des ersten Speieherzyklus, 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 2n auf n+1.
Obwohl die Assoziativspeicher IO 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 an alle Teile des Systems vom Register 36. Außerdem hat der Zustandsspeicher 16 die Ausgaben von Arbeitsspeichern
und Datenspeichern 10 zu überwachen und Bedingungen festzustellen, die eine Verzweigung in das gesteuerte Mikropro-
209816/1422 Docket UK 969 002
gramm erfordern. Zu den zahlreichen Operationen im System /350
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 den Steuerspeicher zum Wählen der entsprechenden Mikroprogrammroutine.
Der Zustandsspeicher 16 ist außerdem für den Empfang von ünterbrechungssignalen von Geräten außerhalb des Systemes,
P wie z. B. E/A-Kanälen (nicht dargestellt) angeschlossen, die Daten von den E/A-Einheiten zum Hauptspeicher übertragen und
ein Signal abgeben, wenn ein Hauptspeicherzugriff erforderlich ist. Diese externe Verbindung ist in Fig. 1 durch den Leiter
40 dargestellt, der 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
des Datenspeichers 10 sind alle miteinander so verbunden, daß Daten zwischen allen Registern übertragen werden können. Die Register
32 und 26 der Speicher 14 und 16 und ein Eingabe-/Ausgabe-Register 46 des Speichers 10 sind ebenfalls zur Datenübertragung
miteinander verbunden. Dieselbe Verbindung führt auch zur Adreßschaltung 34 des Hauptspeichers 24.
Das in Fig. 1 gezeigte System verfügt über drei Steuerspeicher 18, 20 und 22. Als Faustregel für die Anzahl der benötigten Speicher
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 Ordnungscode abhängen. Somit hat das in Fig. 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
209816/U22 Docket UK 969 002
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 durch eine Assoziativsuche nach Datenübereinstimmung des Sucharguments gewählten Wortstellen zum Lesen
oder Schreiben zu adressieren sind. Im Ausführungsbeispiel der Fig. 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änderlche
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. der auf
einen Assoziativspeicher gesendete Schlüssel wird decodiert/ um die Speicheroperation für den Zyklus zu definieren, in welchem
der Schlüssel zu benutzen ist. In der Praxis würden separate Operationssteuerdaten
auf einen Steuerdecodierer gleichzeitig mit der Übertragung des Schlüssels gesendet. Der Schlüssel wird auf
Schlüsselfelder der beiden Eingabe-/Ausgabe-Register eines Speichers übertragen, da bis zur Decodierung des Schlüssels nicht bekannt
ist, welches Register zu benutzen ist.
Jeder Steuerspeicher 18, 20 und 22 hat vier Schlüsselfelder, 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. Der Zustandsspeicher 16 kann als den im System
/360 zu findenden Zustandstriggern entsprechend angesehen werden, obwohl der Speicher wesentlich mehr Zustandsinformationen
enthalten kann als die Zustandstrigger. Außerdem könnte die Bedeutung
des Inhaltes des Zustandsspeichers verändert werden, um
209816/1A 22 Docket UK 969 002
verschiedene Anwendungen des Systems zu berücksichtigen. Eine solche Änderung ist nicht möglich, wenn eine feste Anzahl von
Zustandstriggern. vorgesehen ist. Anschließend wird die Verwendungsmöglichkeit
der in Fig. 1 gezeigten Anordnung von Steuerspeichern zur überlappten Ausführung eines Stromes von RR- und
RX-Instruktionen beschrieben. Das Format der RX-Instruktion ist
in Fig. 2 gezeigt. Eine durch das OP-FeId definierte Operation ist mit zwei Operanden auszuführen. Der erste Operand wird in
einem durch den Inhalt des Rl-Feldes definierten Register festgehalten.
Im System der Fig. 1 befinden sich die Register im Datenspeicher. Die Felder X2 und B2 geben ebenfalls Register an,
während das Feld D2 eine "Displacement" genannte Zahl enthält. Der zweite Operand wird auf einer Adresse im Hauptspeicher festgehalten,
auf der sog. effektiven Adresse, die man findet, wenn man zu dem durch die Felder X2 und B2 angegebenen Inhalt des
Registers das Displacement addiert. In dem zu beschreibenden Beispiel wird angenommen, daß der Inhalt des Feldes X2 Null ist
und der OP-Code eine Addition fordert. Obwohl dieser Fall eine beträchltiche Vereinfachung darstellt, ist er für die Komplexität
einer durchschnittlichen RX-Instruktion repräsentativ.
Eine RR-Instruktion (Fig. 2) ist im Format einfacher. Das OP-FeId
definiert eine Operation, die mit den zwei im Register gehaltenen bzw. durch die Felder Rl und R2 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 RX-Instruktionen müssen
fünf verschiedene Vorgänge ausgeführt werden, und zwar:
1. Instruktionswort vom Hauptspeicher abrufen,
2. Operand vom Hauptspeicher abrufen,
3. Effektive Adresse bilden,
4. RR-Instruktion ausführen und
20981 6/ 1 4 2 2 Docket UK 969 002
5. RX-Instruktion ausführen.
Diese Vorgänge oder Operationen können in den in Fig. 3 gezeigten Kombinationen gleichzeitig ausgeführt werden. Außerdem muß
dafür gesorgt werden, daß die Operationen 2 bis 5 allein am Ende eines Instruktionsstromes ausgeführt werden. Wenn die Instruktionsüberlappung
durch einen Steuerspeicher gesteuert würde, müßte der Speicher 10 verschiedene Mikroprogramm--Unterroutinen
enthalten, und zwar jeweils eine andere Routine für eine Zeile der Fig. 3. Dadurch würde in der Praxis zuviel Speicherplatz
beansprucht und es könnten Schwierigkeiten bei der Adressierung der Unterroutinen auftreten. Bei der in Fig. 1 gezeigten Anordnung
werden die 5 Vorgänge auf die 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 Fig. 1 gezeigten Systems. Der Hauptspeicher
24 hat bekanntlich 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 Steuerspeicher 1 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, unabhängig von den Arbeitsspeichern 12 und 14. Mindestens der OP-Code
der Instruktion wird zur Decodierung in den Zustandsspeicher geleitet. Bevor der Zyklus 4 beginnt, gibt der Steuerspeicher
1 an den Steuerspeicher 2 ein Signal zur Abgabe der Mikroroutine,
die die Bildung der effektiven Adresse ermöglicht, Dazu muß man den Inhalt des durch das Feld B2 vom Datenspeicher 10 angegebenen
Registers erhalten, dessen Adresse in das E/A-Register 44 gesetzt wurde, das Displacement im E/A-Register 26 in Vorbereitung
seiner Addition zum Registerinhalt ausrichten und die
verbundene Addition in den Speichern 12 und 14 durchzuführen. Dazu sind drei Zyklen erforderlich, und in dieser Zeit steuert
209816/1422
Docket UK 969 002
215Q292 - ίο -
der Steuerspeicher 1 den Abruf der nächsten Instruktion. Im 7. Zyklus steht die Hauptspeicheradresse des zweiten Operanden im
Register 32 zur Verfügung, und der Steuerspeieher 2 steuert den
Hauptspeicher 24 zum Abruf des Operanden. In der Zwischenzeit wiederholt der Steuerspeicher 2 die Unterroutine zur Erzielung
der effektiven Adresse, diesesmal mit Daten aus der zweiten Instruktion.
Der Steuerspeieher 2 kann beide Unterroutinen abgeben,
da verschiedene Speicher in die entsprechenden Routinen verwikkelt
sind. Beim Zyklus 9 steuert der Steuerspeicher 3 das Setzen der Daten in das durch die erste Instruktion im Register 26 angegebene
Registerfeld Rl, und wenn der zweite Operand im Register 26 am Ende des Zyklus 9 zur Verfügung steht, beginnt die Unterroutine
zur 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 SteurSpeichers 3 in das Register Rl gespeichert.
Während der Zyklen 11 bis 13 ruft der Steuerspeicher
2 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 Rl, der erste Operand steht jedoch noch nicht zur Verfügung. Während des Zyklus
14 hält der Steuerspeicher 3 den zweiten Operanden im Register
26 fest, während der erste Operand auf das Register übertragen wird (Lesen Rl). Anschließend steuert der Steuerspeicher
3 die Addition der beiden Operanden. Während der Zyklen 14 bis 16 wird die dritte Instruktion des Stromes abgerufen durch den
Steuerspeicher 1 und während des Zyklus 17 erhält der Steuerspeicher 2 den Inhalt des durch die 3. Instruktion angegebenen
Registerfeldes B2 oder R2. Da der Datenspeicher nicht für die
Ergebnisse der durch die zweite zu speichernde Instruktion angeforderten Operation frei ist, hält der Steuerspeicher 3 das
Ergebnis im Register 32 einen Zyklus lang fest, bevor es in das durch die zweite Instruktion angegebene Register des Datenspeichers
gespeichert wird.
Der beschriebene Datenstrom bestand aus RX-Instruktionen, RR-Instruktionen
erfordern jedoch keine zusätzlichen Unterroutinen.
209816/U22
Docket UK 969 002
Für eine RR-Instruktion steuert der Steuerspeicher 2 das Auslesen
aus R2 des Datenspeichers, Steuerspeicher 3 hält den Operanden im Register 26 des Arbeitsspeichers 2 fest, während der zweite
Operand von Rl geholt wird, und steuert anschließend die verknüpfte Addition und die Speicherung des Ergebnisses in Rl.
Die Veränderungen der Mikroprogramme werden vom Zustandsspeicher
und vom Steuerspeicher 1 gesteuert. Entsprechend seiner Anordnung hindert der Zustandsspeicher den Steuerspeicher 1 am Abruf einer
dritten Instruktion, bevor die Operanden der ersten beiden vom Hauptspeicher abgerufen sind. Da die in Fig. 4 gezeigte Tabelle
nur vr>rj der Form der abgerufenen Instruktionen abhängt und diese
durch den Zustandsspeicher bekannt sind, kann letzterer die Wahl des Mikroprograrames im Steuerspeicher 3 über die Leitung 50 oder
den Steuerspeicher 1 über die Leitung 48 so steuern, daß Adreßänderungen abgegeben werden, die zu Mikroprogrammverzweigungen
führen.
209816/1422
Docket UK 969 002
Docket UK 969 002
Claims (3)
- - 12 -PATENTANSPRÜCHEMikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Entnahme und Ausführung von Befehlen unter Steuerung eines Steuerspeichers, Befehlspufferregistern und eines Befehlszählers, dadurch gekennzeichnet, daß der Steuerspeicher in drei Teile (18, 20 und 22) aufgeteilt ist, wovon der eine Steuerspeicher den Befehlsabruf, der zweite Steuerspeicher die Bildung der effektiven Adressen und der dritte die Befehlsausführung steuert.
- 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 Adressierungsschaltungen (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.20981 6/ U22
Docket UK 969 002Leerseite
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB4824170 | 1970-10-10 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE2150292A1 true DE2150292A1 (de) | 1972-04-13 |
| DE2150292C2 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) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE2322674A1 (de) * | 1972-06-02 | 1973-12-13 | Ibm | Mikroprogramm-steuereinrichtung |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 JP46079152A patent/JPS5240544B1/ja active Pending
Non-Patent Citations (1)
| Title |
|---|
| NICHTS ERMITTELT * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE2322674A1 (de) * | 1972-06-02 | 1973-12-13 | Ibm | Mikroprogramm-steuereinrichtung |
Also Published As
| Publication number | Publication date |
|---|---|
| DE2150292C2 (de) | 1982-06-03 |
| FR2109746A5 (de) | 1972-05-26 |
| GB1257760A (de) | 1971-12-22 |
| CA948321A (en) | 1974-05-28 |
| JPS5240544B1 (de) | 1977-10-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE2515696C2 (de) | Datenverarbeitungssystem | |
| DE2322674C3 (de) | Mikroprogramm-Steuereinrichtung | |
| DE1931966C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
| CH650600A5 (de) | Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister. | |
| DE1549523B2 (de) | Datenverarbeitungsanlage | |
| DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
| DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
| DE2364408B2 (de) | Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers | |
| DE2339636A1 (de) | Programmsteuereinrichtung | |
| DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
| DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
| DE2019444A1 (de) | Datenverarbeitungsanlage | |
| DE2524046A1 (de) | Elektronische datenverarbeitungsanlage | |
| DE4334294C1 (de) | Prozessor für Zeichenketten variabler Länge | |
| EP0010185A1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
| DE2164793A1 (de) | Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit | |
| DE3688806T2 (de) | Instruktionsprozessor. | |
| DE1524898C3 (de) | Datenspeicher mit direktem mehrdimensionalen Zugriff zur gleichzeitigen Entnahme mehrerer Wörter | |
| DE2617485C3 (de) | Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen | |
| DE3501903A1 (de) | Im pipelinebetrieb arbeitende datenverarbeitungseinrichtung | |
| DE2245284A1 (de) | Datenverarbeitungsanlage | |
| DE2336676B2 (de) | Einrichtung zur Modifizierung von Mikroprogrammbefehlen | |
| DE68926915T2 (de) | Informationsverarbeitungsgerät und -methode | |
| DE2150292A1 (de) | Mikroprogrammgesteuerte Datenverarbeitungsanlage mit ueberlagerter Ausfuehrung und Entnahme von Befehlen | |
| DE1549381B2 (de) | Datenverarbeitungsanlage |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OD | Request for examination | ||
| D2 | Grant after examination | ||
| 8339 | Ceased/non-payment of the annual fee |