[go: up one dir, main page]

DE2150292A1 - Mikroprogrammgesteuerte Datenverarbeitungsanlage mit ueberlagerter Ausfuehrung und Entnahme von Befehlen - Google Patents

Mikroprogrammgesteuerte Datenverarbeitungsanlage mit ueberlagerter Ausfuehrung und Entnahme von Befehlen

Info

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
Application number
DE19712150292
Other languages
English (en)
Other versions
DE2150292C2 (de
Inventor
James Llewelyn
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2150292A1 publication Critical patent/DE2150292A1/de
Application granted granted Critical
Publication of DE2150292C2 publication Critical patent/DE2150292C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement 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
-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

Claims (3)

  1. - 12 -
    PATENTANSPRÜCHE
    Mikroprogrammgesteuerte 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. 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. 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 002
    Leerseite
DE19712150292 1970-10-10 1971-10-08 Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen Expired DE2150292C2 (de)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2322674A1 (de) * 1972-06-02 1973-12-13 Ibm Mikroprogramm-steuereinrichtung

Families Citing this family (2)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NICHTS ERMITTELT *

Cited By (1)

* Cited by examiner, † Cited by third party
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