DE2456578C2 - Datenverarbeitungsanlage - Google Patents
DatenverarbeitungsanlageInfo
- Publication number
- DE2456578C2 DE2456578C2 DE2456578A DE2456578A DE2456578C2 DE 2456578 C2 DE2456578 C2 DE 2456578C2 DE 2456578 A DE2456578 A DE 2456578A DE 2456578 A DE2456578 A DE 2456578A DE 2456578 C2 DE2456578 C2 DE 2456578C2
- Authority
- DE
- Germany
- Prior art keywords
- unit
- control
- arithmetic
- emulation
- field
- 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
- 238000012545 processing Methods 0.000 title claims description 28
- 230000015654 memory Effects 0.000 claims description 54
- 238000012423 maintenance Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 11
- 238000012546 transfer Methods 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 9
- 238000012360 testing method Methods 0.000 description 6
- 238000013523 data management Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 241000030538 Thecla Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000009474 immediate action Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
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/226—Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
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)
- Test And Diagnosis Of Digital Computers (AREA)
Description
65
Die vorliegende Erfindung bezieht sich auf eine Datenverarbeitungsanlage
nach dem Oberbegriff des Pa
tentanspruchs 1.
Bei Datenverarbeitungsystemen, die die Fähigkeit besitzen,
andere Datenverarbeitungsysteme zu emulieren, treten für gewöhnlich Probleme auf, die sich aus den
verschiedenen Architekturen der beiden Systeme ergeben. Zum Beispiel kann ein System, das emulierte System
zum Beispiel, byteszeichenorientiert sein, während das emulierende System multibytes- oder wortorientiert
ist.
Weiterhin kann bei variablen Byte-Operanden deren Länge im emulierten System mit einem Kennmarken-Bit
im letzten Byte des Operanden spezifiziert werden und im Emulator-System durch einen Zähler, der immer
dann dekrementiert wird, wenn ein Byte des Operanden verarbeitet wird. Im allgemeinen kann das Problem auf
mehrere Arten gelöst werden; eine Möglichkeit besteht darin, nur Soft- und/oder Firmware zu benutzen, ohne
dabei für die spezifische Funktion auf zusätzliche Hardware zurückzugreifen. Diese Lösung ist zwar praktisch
durchführbar, hat jedoch eine Verminderung der Leistungsfähigkeit des Systems zur Folge, da z. B. bei eventuell
erforderlichen Maskierungs-Operationen zuviel Zeit verloren geht Eine andere Lösung besteht darin,
die Emulation mit Hardware wie auch mit Firmware durchzuführen.
Der Einsatz von Hard- und Firmware im gewünschten Emulations-Sysiem erfolgt durch Hinzuschaltung
einer Hardware-Einheit z. B. an das zentrale Datenverarbeitungssystem. Diese Einheit wird als Emulations-Einheit
bezeichnet und führt die Funktionen des emulierten Systems innerhalb der Leistungs-Spezifikationen
des emulierenden Systems durch. Ein derartiges Datenverarbeitungssystem mit einer zusätzlich zu einer arithmetisch/logischen
Einheit vorgesehenen Emulationseinheit ist in der DE-OS 20 55 716 beschrieben. Es entsteht
eine programmgesteuerte Schalteinrichtung zum Umschalten zwischen den beiden Einheiten, um unterschiedliche
Befehlssätze getrennt zu verarbeiten.
Eine Emulation ist von besondei j- Bedeutung, wenn
die Architektur des Datenverarbeitungssystems von der des zu emulierenden Systems abweicht wie dies bei der
hier beschriebenen Datenverarbeitungsanlage der Fall ist Der Befehlscode muß möglichst ohne den Betrieb
des Emulator-Systems zu beeinflussen angepaßt werden, und es muß ein leistungsfähiges Schaltsystem verfügbar
sein, damit beim Umschalten zwischen dem Ausführungsablauf in der Emulations-Einheit und in der
arithmetisch/logischen Einheit die Arbeitsgeschwindigkeit des Gesamtsystems nicht wesentlich beeinträchtigt
wird.
Der Erfindung liegt die Aufgabe zugrunde, eine Datenverarbeitungsanlage
der eingangs genannten Art zu schaffen, die durch Emulation mit anderen Systemen
kompatibel ist, und bei der beim Umschalten zwischen der arithmetisch/logischen Einheit und der Emulationseinheit möglichst geringe Zeitverluste auftreten.
Diese Aufgabe wird durch die Lehre des Palentanspruchs
1 gelöst.
Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
Eine Ausführungsform der Erfindung wird nun unter Bezugnahme auf die Zeichnung näher beschrieben. In
der Zeichnung zeigt
F i g. 1 ein allgemeines Blockdiagramm der Datenverarbeitungsanlage;
F i g. 2 eine detailliertere Ansicht der Anwendung einer mikroprogrammierbaren Schaltvorrichtung;
F i g. 3 das Format mehrerer mikroprogrammierbarer
Befehle die in allen Steuerspeicher-Worten des Steuerspeichers
enthalten sind;
Fig.4 ein detailliertes Schema der zentralen Verarbeitungseinheit
und einer Steuereinheit;
F i g. 5 die EinzeEheiten der Steuereinheit; und
F i g. 6 das Format des im Steuerspeicher enthaltenen Steuerspeicher-Worts.
In F i g. 1 ist ein Ausführungsbeispiel der Datenverarbeitungsanlage
nach der vorliegenden Erfindung dargestellt Diese Anlage beinhaltet einen 32 Bit-Datenbus
1500 und einen 32 Bit-Festspeicher (ROS) sowie einen Operationscode-Bus 1502, die alle mit den verschiedenen
in den F i g. 1 und 2 dargestellten Einheiten gekoppelt sind. Die wesentlichen Elemente sind dia Steuereinheit
130, die arithmetisch/logische Einheit (ALU) 1317 und die Emulationseinheit (EMU) 1316. Zum System
gehört weiterhin die Adreß-Steuer-Einheit (ACU) 1319, die Daten-Verwaltungseinheit (DMU) 1321 und der
»Scratch pad«-Speicher (SPU) 1315.
Allgemein steht die Adreß-Steuer-Einheit 1319 über den Bus 1500 mit der ALU 1317, der DMU 1321 und mit
der Steuereinheit 130 in Verbindung. Die AcU 1319 ist
für alle Adreß-Entwicklungen in der zentralen Verarbeitungseinheit
verantwortlich. Alle Operationen der ACU einschließlich Übertragungen zu, von und innerhalb
der Einheit werden von der Mikrooperations-Logik des in der Steuereinheit enthaltenen Steuerspeichers
gesteuert Die DMU 1321 arbeitet im allgemeinen als Interface zwischen der zentralen Verarbeitungseinheit
und dem mit der Datenverarbeitungsanlage gekoppelten Hauptspeicher (nicht abgebildet). Die Daten-Ver
waltungseinheit 1321 hat die Aufgabe, festzustellen, in welcher Einheit sich die von anderen Einheiten angeforderten
Informationen befinden, und diese Informationen zum richtigen Zeitpunkt in die Register der zentralen
Verarbeitungseinheit zu übertragen. Der »Scratch Pad«-Speicher 1315 enthält normalerweise 256 Speicherplätze
zu je 32 Bit. zusätzlich zu der erforderlichen Auswahl- i-tid Lese/Schreib-Logik und wird zur Speicherung
der für die zentrale Verarbeitungseinheit bestimmten Steuer- und Wartungs-Informationen verwendet.
Zusätzlich enthält der »Scratch Pad«-Speicher 1315 bestimmte Arbeitsspeicherplätze, die hauptsächlich
zur vorübergehenden Speicherung von Operanden und Teilrrsultaten während der Da'enverarbeitung verwendet
werden.
Die Steuereinheit 130 enthält eine Decodiereinheit (CSU) 1301, wie aus F i g. 5 und 6 ersichtlich, sowie einen
Festspeicher und eventuell weiterhin einen Lese/ Schreib-Random-Festspeicher. Jede Funktionseinheit
verfügt über eine bestimmte Anzahl von Bits des Mikro-Operations-Steuerfelds
des ihr zugewiesenen Steuerspeicherworts, und in Abhängigkeit von dieser Konfiguration
werden verschiedene Steuerfunktionen erzeugt. Das Basis-Datenverarbeitungsystem ist so konzipiert,
daß Emulaiions-Erfordernisse zusätzlich auftreten. Im
Basissystem ist jedes Bit des Mikrobefehls einer bestimmten Einheit zugewiesen und wird zur Steuerung
der Operation der verschiedenen Einheiten benutzt. Einige dieser Bits innerhalb der Befehle müssen mehrfach
benutzt werden, um die Emulationseinheit zu betreiben. Im Normalfall würde die Emulationseinheit 1316 grundsätzlich
alle ihre arithmetischen und logischen Funktionen innerhalb ihrer eigenen Arithmetik-Einheit 1390 erzeugen,
und daher ist eine gemeinsame Benutzung der der ALU 1317 zugewiesenen Bits mit der EMU 1316
vorgesehen, um die respektiven Operationen dieser Einheiten zu steuern. Daher arbeitet die EMU 1316 als
Interface mit ACU, DMU, RCU und SPU und kann andererseits die Einrichtungen dieser Einheiten benutzen.
Wenn die EMU 1316 in Betrieb ist ist die ALU 1317 außer Betrieb und umgekehrt Zur Durchführung der
Hin- und Rückschaltung zwischen ALU und EMU und um gleichzeitig die jeweiligen Vorteile der Einheiten je
nach erzeugten Befehlen auszunutzen, wird eine mikroprogrammierbare Schaltvorrichtung verwendet die wie
in F i g. 2 dargestellt durch die Steuereinheit 130 gesteuertwird.
Der Datenbus 1500 und der mit der ALU 1317, EMU
1316 und der Steuereinheit 130 gekoppelte Operationscode-Bus 1502, sind in F i g. 2 genauer dargestellt. Die
Steuereinheit 130 beinhaltet eine Steuerspeicher-Matrix 1333, die initialisiert wird, um mehrere der Steuerspeicher-Worte
aufzunehmen, deren Mikrooperations-Unterbefehlsfeld allgemein als Bleck 1506 dargestellt
ist Die detaillierte Struktur des Steuerspeicher-Worts soll anhand von F i g. 6 beschrieben werden; für Zwecke
dieser Erläuterung ist das Mil.: .iOperations-Unterbefehisfeid
mit einer Anzahl von Lmfrfeidern dargestellt
von denen eines das Operationscode-Unterfeld ist und das andere die Steuer-Bits beinhaltet, mit denen
angegeben wird, ob das Operationscode-Unterfeld die Funkt'.in von ALU 1317 oder EMU 1316 steuert Das
Operationscode-Unterfeld ist mit dem Bus 1502 gekoppelt um entweder von ALU 1317 oder von EMU 1316
zu empfangen, je nach Status des Registers oder Flip-Flops
1510, wie bei der Steuerbit-Leilung 1600 angegeben. Wenn das Flip-Flop 1510 gelöscht ist, besteht auf
der Leitung 1600 der binäre Null-Status, und die ALU
1317 kann den Operationscode von Bus 1502 aufnehmen. Wenn das Flip-Flop 1510 gesetzt ist, besteht auf
der Leitung 1600 der Birärzustand »1« und die EMU 1316 kann den Operationscode von Bus 1502 aufnehmen.
Das Setzen oder Löschen des Flip-Flops 1530 wird durch einen Decoder 1508 entsprechend dem Steuerbit-Unterfeld
des Microoperations-Unterbefejilsfeldes 1506 gesteuert Zusätzlich zu den beiden Decoder-Ausgnngsleitungen,
die zur Steuerung des Zustandes von Flip-Flop 1510 benutzt werden, erzeugt der Decoder
1508 Signale in Abhängigkeit von der Kombination der Steuerbits, um die internen Operationen aer Steuereinheit
130 zu steuern.
Wenn daher in der Steuereinheit 130 ein Steuerspeicher-Wort adressiert wird, erfolgt eine Positionierung
der Steuerbit-Leitung 1600 auf den Binärzustand Null oderwl«.
Wenn auf der Leitung 1600 der binäre Null-Zustand vorhanden ist, werden die Gatter 1602, 1604 und 1606 der ALU 1317 freigegeben, um die Übertragung des Operationscodes über den Bus 1502 zum Operationscode-i\.egister 1608 zu ermöglichen und um den Inhalt des Datenregisters 1610 zum Datenbus 1500 zu übertragen und/oder um die Daten über den Bus 150G zu Register 1610 zu übertragen. Der Inhalt von Register 1610 wird entweder durch eine arithmetische Operation in ALU 1317 erzeugt oder als Operand von Bus 1500 für die verschiedenen Operanden-Register, die sich in ALU 1317 befinden können, erzeugt. Der Operationskode in Register 1608 wird mit Hilfe des Decoders 1512 decodiert um Steuer-Signale zu erzeugen und um die Eigenfunktion der Einheit in Übereinstimmung mit dem so empfangenen Opemionscode zu gewährleisten. In gleieher Weise wird ein Binärstatus »1« auf Leitung 1600 nach Invertierung zu binär »0« durch den Inverter 1650, Zur Freigabe der Gatter 1702,1704 und 1706 verwendet, um die oben beschriebene Operation für ALU 1317 mit
Wenn auf der Leitung 1600 der binäre Null-Zustand vorhanden ist, werden die Gatter 1602, 1604 und 1606 der ALU 1317 freigegeben, um die Übertragung des Operationscodes über den Bus 1502 zum Operationscode-i\.egister 1608 zu ermöglichen und um den Inhalt des Datenregisters 1610 zum Datenbus 1500 zu übertragen und/oder um die Daten über den Bus 150G zu Register 1610 zu übertragen. Der Inhalt von Register 1610 wird entweder durch eine arithmetische Operation in ALU 1317 erzeugt oder als Operand von Bus 1500 für die verschiedenen Operanden-Register, die sich in ALU 1317 befinden können, erzeugt. Der Operationskode in Register 1608 wird mit Hilfe des Decoders 1512 decodiert um Steuer-Signale zu erzeugen und um die Eigenfunktion der Einheit in Übereinstimmung mit dem so empfangenen Opemionscode zu gewährleisten. In gleieher Weise wird ein Binärstatus »1« auf Leitung 1600 nach Invertierung zu binär »0« durch den Inverter 1650, Zur Freigabe der Gatter 1702,1704 und 1706 verwendet, um die oben beschriebene Operation für ALU 1317 mit
den Registern 1708 und 1710 und dem Decoder 1712 in EMU 1316 freizugeben.
Auf diese Weise spricht die mikroprogrammierte Schaltvorrichtung (Fig.2) die auf die Einheiten 130,
1316 und 1317 aufgeteilt ist, auf die Steuerbits des Unterfeldes des Mikrooperations-Unterbefehlsfeldes des
Steuer-Speicher-Worts an. Der binäre Null-Status der Steuerbit-Leitung 1600 gibt seinerseits die ALU 1317
für die jeweilige Übertragung von Daten vom oder zum Bus 1500 frei. In gleicher Weise wird der Operationscode
entweder von der ALU 1317 oder der EMU 1316 über den Bus 1502 aufgenommen. Wie aus F i g. 6, in der
das detaillierte Befehlsformat dargestellt ist, ersichtlich (Steuerspeicher-Wort 1325 Steuereinheit 130), können
derartige Steuerspeicher-Worte orientiert oder konfiguriert
werden, um zwischen den ALU- und EMU-Betriebsarten Verzweigungen oder Vor- und Rückschaltungen
durchzuführen.
In Fig.3 sind für Mikrooperations-Unterbefehlsunterfelder
für fünf aufeinanderfolgende Steuer-Speicher-Worte a bis e dargestellt. Eins dieser fünf Unterfelder
gibt den Operationscode an und ein anderes gibt Aufschluß darüber, ob eine Operationsänderung in der
ALU oder der EMU durchgeführt wi ' Die übrigen drei Unterfelder steuern die anderen im System gekoppelten
Funktionseinheiten und werden später ausführlicher beschrieben. Aus der Erläuterung von F i g. 3 geht
hervor, daß, wenn der Inhalt von Register 1510 vor der Ausführung von Steuerspeicher-Wort a gleich Null ist,
in der Emulationseinheit keine Operation abläuft und daß in diesem Fall ALU 1317 in Übereinstimmung mit
dem Operationscode-Befehl funktioniert. Dieser Befehl kann für Wort a mit einbezogen werden, das zum Beispiel
eine Datenübertragung von Bus 1500 zum Akkumulator-Register wie auch zum Operanden-Register
von ALU 1317 anzeigt. Im nächsten Befehl zeigt das Wort b des Steuerbus (einfach als binär »i« dargesieiit)
an, daß der nächste Befehl eine EMU-Operation steuert.
Auf diese Weise wird das Register 1510 auf den Binären »1 «-Status positioniert, wenn das Wort b durchgeführt
wird. Beim Auftreten des als Wort c gekennzeichneten Beiehls, empfängt die EMU Daten von Bus 1500 in einem
ihrer BW-Register. In ähnlicher Weise zeigt der nächste Befehl, Wort d, an, daß das Ergebnis der binären
Addition der beiden Register BRR und EPL in EMU 1316 auf den Bus 1500 übertragen wird. Die Operation
verbleibt bei EMU 1316, da die Steuerbits nicht geändert worden sind. Es ist noch zu bemerken, daß das
Sternchen in den verschiedenen Unterfeldern angibt, daß jegliche weiteren Operationen, die sich auf den Anwendungszweck
eines solchen Unterfeldes beziehen, zum Zeitpunkt der Initialisierung enthalten sein können.
Auf diese Weise können die Unterfelder, in denen die Steuerbits untergebracht sind, zur Steuerung anderer
Operationen in der Steuereinheit 130 verwendet werden, wenn die Anzeige einer Schaltoperation zwischen
ALU 1317 und EMU 1316 nicht angezeigt werden muß. Während des nächsten Befehls, Wort e, bleibt die EMU
in Betrieb. Die Steuerbit-Unterfelder zeigen jedoch zum Beispiel an (durch die Anzeige »binär 0«), daß der nächste
Befehl in der ALU 1317 ausgeführt wird. Daher wird bei der Ausführung von Wort e das Register oder Flip-Flop
1510 gelöscht, um auf der Leitung 1600 den Zustand binär »0« zu erzeugen. In Übereinstimmung hiermit
wird der Operationscode des nächsten Worts zur Steuerung der ALU 1317 benutzt Auf diese Weise werden
Befehle oder Daten, die am besten in der ALU 1317 oder der EMU 1316 verarbeitet werden in Abhängigkeit
von der Stellung der mikroprogrammierbaren Schaltvorrichtung verarbeitet. Um so die Leistung des Systems
zu steigern, indem die für die Ausführung eines bestimmten Befehls oder Steuerspeicher-Worts erforderliche
Zeit verkürzt wird.
In den F i g. 4,5 und 6 sind Einzelheiten der Steuereinheit
dargestellt. Obwohl getrennt von der zentralen Verarbeitungseinheit (CPU) dargestellt, ist die Steuereinheit
in Wirklichkeit ein Bestandteil der CPU und beinhaltet die Decodiereinheit CSU 1301, einen Steuerspeicher-Interface-Adapter
CIA 1302 und die dazugehörigen Untereinheiten, einen Steuerspeicher-Loader
CSL 1303 sowie die Steuer- und Ladeeinheit CLU 1304. Die Decodiereinheit CSU 1301 empfängt Mikrobefehle
vom Steuer-Speicher-Loader CSL 1303 über die Steuer- und Ladeeinheit CLU 1304 sowie den Steuerspeicher-Interface-Adapter
CIA 1302. Unter normalen Funktionsbedingungen werden die Mikroprogramme während der System-initiaüsierung von einer externen
Quelle aus geladen und werden zu einer permanenten Steuerfunktion der Maschine. Die Decodiereinheit CSU
1301 kann jedoch so nachgeladen und initialisiert werden, daß eine Vielzahl von Zentraleinheit-Betriebsarten
erzeugt werden (CPU 1306). Die folgenden Betriebsar· ten der Zentraleinheit können unter Steuerung durch
die CSU 1301 erzeugt werden;
(a) Eigenmodus;
(b) Emulationsmodus (Nicht-Eigenmodus);
(c) paralleler Eigen-und Emulationsmodus;
(c) paralleler Eigen-und Emulationsmodus;
(d) Diagnostikmodus
Diese Fähigkeit ergibt sich aus den in der CSU befindlichen Mikrobefehlen, die die Quelle der Mikrooperationen
darstellen, mit denen der Betrieb aller anderen funktionellen CPU-Einheiten, wie zum Beispiel der
EfriulaüüfiS-Einhcti 131ö, dcF anihniutischun/logischen
Einheit ALU 1317, der Befehls-Erfassungseinheit IFU 1313, der Adreß-Steuereinheit ACU 1319 und der Datenverwaltungseinheit
DMU 1321 gesteuert wird. Innerhalb der zentralen Verarbeitungseinheit CPU 1306 sind ebenfalls die allgemeinen Register 1307, die Basisregister 1308, die wissenschaftlichen Register 1309, die
T-Register 1310, Status-Register 1311, der Befehlszähler
IC 1312 und das Hardware-Steuermasken-Register 1313 dargestellt.
Im Normalfall ist die Decodiereinheit CSU 1301 ein
aus bipolaren integrierten Schaltungen bestehender programmierbarer 9K-Festspeicher (PROM), der mit
einem Lese/Schreib-Random-Zugriffsspeicher ^RAM) gemischt ist. Er besitzt einen typischen 150 Nanosekunden-Lesezyklus
und einen 450 Nanosekunden-Schreibzyklus. jede Position des Steuerspeichers speichert ein
84-Bit-Mikrobefehlswort und dieses steuert einen CPU-Zyklus.
Wenn eine Position des Steuerspeichers gelesen wird, wird der Inhalt mit Mikrooperations-Decodern
decodiert. Hierbei entstehen Mikrooperations-Steuersignale,
von denen jedes bewirkt, daß eine spezielle Operation innerhalb der CPU stattfindet Durch Zusammenfassung
der Positionen innerhalb eines jeden Mikrobefehlsworts (wird später im Detail beschrieben) werden
Steuer-Speicher-Sequenzen erzielt, mit denen spezifische CPU-Operationen oder -Befehle durchgeführt
werden können. Wenn ein Befehl von der CPU ausgelöst wird, werden bestimmte Bits innerhalb des Operationscodes
zur Bestimmung der Steuerspeicher-Startsequenz benutzt Die Steuerung bestimmter (nicht abgebildeter)
Flip-Flops, die durch Befehls-Decodierfunktio-
nen positioniert oder gelöscht werden, kann der Steuer-Speicher, wenn erforderlich, auf eine spezifischere Sequenz
übergehen.
DerSlcuerspeicher-Interface-AdapterCIA 1302 ist in
Verbindung mit der Dccodiercinheit 1301, der Datenvcrwiillungscinheit
DMU 1321, der Adrcß-Stcucreinhcii ACU 1319 und der arithmetisch/logischen Einheit
AIlU 1317 zur Steuerung des Steuerspeichers 1333 der Steuereinheit (Fig.5). Der ClA 1302 beinhaltet die Logik
für die Adreßänderung, das Tester·,· die Fehlerkontrolle und die Hardware-Adreßerzeugung des Steuerspeichers.
Die Hardware-Adreßerzeugung wird im allgemeinen für die Entwicklung der Startadresse von
Fehlersequenzen oder für die Initialisierungssequenz verwendet.
Die Datenverwaltungseinheit DMU 1321 stellt das Interface zwischen der CPU 104 und dem Hauptspeicher
und/oder dem nicht abgebildeten Pufferspeicher dar. Die Datenverwaltungseinheit hat die Aufgabe, festzustellen,
in welcher Einheit sich die von einer anderen Einheit angeforderte Information befindet, und diese Information
zum richtigen Zeitpunkt der CPU-Registern zuzuleiten. Die Datenverwaltungseinheit DMU führt
ebenfalls die Maskierung während partieller Schreiboperationen durch.
Die Befehlserfassungseinheit IFU 1318 ist mit der DMU 1321, der ACU 1319, der ALU 1317 und der CSU
1301 verbunden. Sie hat die Aufgabe, die CPU ständig mii Befehlen zu versorgen. Die Befehlserfassungseinhc;t
speichert den nächsten verfügbaren Befehl in ihrem Register ab, bevor der gegenwärtige Befehl zu Ende
gebracht ist Zur Durchführung dieser Operation verfügt die Informationserfassungseinheit IFU 1318 über
ein 12-Byte-Befehlsregister (nicht abgebildet), das normalerweise
mehr als einen Befehl enthält. Zusätzlich fragt die IFU unter Steuerung durch die CSU Informationen
(Befehle) vom Hauptspeicher ab, bevor der Befehl wirklich benötigt wird und hält so ihr 12-Byte-Befehlsregister
ständig auf dem neusten Stand. Die Befehle werden mit Hilfe von normalerweise unbenutzten Speicherzyklen
»Vorw-abgegriffen. Di: Befehlserfassungseinheit decodiert ebenfalls alle Befehle und informiert
die anderen Einheiten über das Format und die Länge der Befehle.
Die Adreß-Steuereinheit ACU 1319 ist über CIA in Verbindung mit IFU, ALU, DMU und der CSU. Die
ACU 1319 ist für alle Adreßentwicklungen in der CPU verantwortlich. Alle Operationen der ACU, einschließlich
Übertragungen zu, von und innerhalb der Einheit werden von der CSU-Mikrooperation- und Logik in der
Einheit gesteuert Der normale Zyklusablauf der ACU hängt von den Adreßtypen innerhalb der Befehle und
nicht von den Befehlstypen ab. In Abhängigkeit von den Adreßtypen kann die ACU verschiedene Operationen
für alle Adressen innerhalb eines Befehls durchführen. Die ACU enthält ebenfalls einen Assoziations-Speicher
1319a, der normalerweise die Basisadresse der 8 am häufigsten benutzten Speichersegmente mit deren Segmentnummern
speichert Bei jedem Speicherabruf wird die Segmentnummer mit dem Inhalt des Assoziations-Speichers
verglichen, um festzustellen, ob die Basisadresse des Segments schon entwickelt und gespeichert
worden ist Wenn die Basisadresse im Assoziations-Speicher 1319a enthalten ist wird diese Adresse in der
absoluten Adreßentwickiung verwendet und eine beträchtliche Zeitspanne wird eingespart. Wenn sich die
Basisadresse nicht im Assoziations-Speicher 1319a befindet, wird sie durch Zugriff zu den Hauptspeichertabellen
erstellt. Nach Entwicklung der Basisadresse des Segments wird diese zusammen mit der Segmentnummer
als zukünftige Referenz abgespeichert.
Die arithmetisch/logische Einheit ALU 1317 ist in Verbindung mit ACU, IFU, DMU und CSU. Ihre Hauptfunktion
besteht in den von der CPU benötigten arithmetischen Operationen und Datenmanipulationen. Die
Operationen der arithmetisch/logischen Einheit hängen voll und ganz von den Mikrooperations-Steuersignalen
ab, die von der Steuereinheit 130 geliefert werden.
Der »Scratch Pad«-Speicher LSU 1315 ist mit der ALU 1317 und der CSU 1301 assoziiert (in manchen
Fällen als örliche Speichereinheit bezeichnet). Er besteht im Normalfall aus einem Festkörper-Speicher mit
256 Speicherplätzen (32 Bits pro Speicherplatz) und der Auswahl- sowie der Lese/Schreib-Logik für diesen
Speicher. Der »Scratch Pad«-Speicher 1315 wird zur Abspeicherung der CPU-Steuer- und der Wartungsinformationen
benutzt. Zusätzlich enthält der »Scratch Pad«-Speicher 1315 bestimmte Arbeitsspeicherplätze,
die in erster Linie zur zeitweiligen Speicherung von Operanden und Teilresultaten während der Datenmanipulation
verwendet wird. Ebenfalls verbunden mit der ALU 1317 ist ein HilfsSpeicher 1317a, der normalerweise
64 Flip-Flops zur Speicherung der verschiedenen Betriebszustände des Computer-Systems enthält.
Die CPU besitzt ebenfalls eine Taktgeber-Einheit 1320, die im wesentlichen zwei Taktgeber-Systeme in
einem sind: das erste Taktgeber-System erzeugt die Befehlsimpulse für den Steuer-Interface-Adapter CIA und
das zweite Taktgeber-System erzeugt die Befehlsimpulse für Operationen der Funktionseinheit innerhalb der
zentralen Verarbeitungseinheit.
In Fig.6 ist das Format des Steuerspeicherworts 1325 dargestellt. Das Steuerspeicherwort besteht normalerweise aus 84 Bits und ist in 6 Hauptfelder unterteilt:
In Fig.6 ist das Format des Steuerspeicherworts 1325 dargestellt. Das Steuerspeicherwort besteht normalerweise aus 84 Bits und ist in 6 Hauptfelder unterteilt:
a) Sequenztyp-Feld 1326 (3 Bits);
b) Verzweigung und/oder MikroOperationen 1327 (^3
Bits);
c) Konstanten-Erzeugung und -Bezeichnung 1328 (14 Bits);
d) Daten zum Bus 1329 (8 Bits);
e) MikroOperationen 1330(32 Bits);
Q Prüfung 1331 (4 Bits).
Q Prüfung 1331 (4 Bits).
Das E-FeId (3 Bits) des Steuerspeicher-Worts 1325
wird als Sequenzsteuerfeld benutzt Im Normalfall befinden sich dort sieben verschiedene Sequenztypen und
ein Reserve-Typ für das gegenwärtige Computer-System. Block 1335 von Fig.5: Wenn der Inhalt des E-Felds
gleich binär 0,1 oder 2 ist wird das Verzweigungsfeld A, B1QD und L des Mikrobefehls 1325 zur Erzeu-
gung der nächsten Adresse verwendet Die sechs ersten Bits des KS-Registers 1337 werden zusammen mit dem
ß-Feld verwendet C prüft Resultate, D prüft Resultate
und das L-FeId um die nächste Adresse des nächsten Mikrobefehls zu erstellen, der daraufhin in das Adreßregister
KS 1337 übertragen wird. Wenn das E-FeId auf binär 4 positioniert wird (siehe Block 1335), wird die
nächste ausgewählte Adresse vom »Unterbrechungsrückkehr-Register« KA 1339 abgegriffen. Die im KA-Register
gespeicherte Adresse ist diejenige, die beim Auftreten der Hardware-Unterbrechung von der nächsten
Adreßerzeugungs-Logik erzeugt wird. Wenn das E-FeId auf binär 5 positioniert ist, wird eine Verzweigung
zur Initialisierung einer Teilrückkehr von einer
Mikroprogramm-Unterroutine verwendet. Wenn er benutzt wird, dient der Inhalt des Rücklauf-Registers KR
1346 als nächste Steuerspeicher-Adresse. Das Rücklaufregister 1346 wird durch Ausgabe eines Steuerspeicher-Befehls
geladen der die gegenwärtige Steuerspeicher-Adresse im KS Register 1337 plus 1 abspeichert, also
vom Inkrementor 1338 in das KR-Register 1346. Eine Ein-Pegel-Veischachtelup.gs-Unterroutine ist über das
KT-Rücklauf-Verzweigungsregister 1347 verfügbar. Jedesmal, wenn das KR-Register 1346 geladen wird, erfolgt
bei jeder Anforderung des Mikroprogramm-Rücklaufs eine Übertragung des alten Inhalts des KR-Registers
in das KT-Register 1347; der Inhalt des KT-Registers wird in das KR-Register übertragen. Das KU-Register
1340 ermöglicht die Verschachtelungs-Unterroutine des dritten Pegels, die Unterroutine des vierten
Pegels wird durch das KV-Rücklauf-Verzweigungsregister 1349 ermöglicht. Wenn das E-FeId des Steuerspei-
f Ji !
nächste adressierte Steuerspeicher-Wort der gegenwärtigen
Adresse des KS-Registers 1337 plus 1 im Inkrementor 1338. Wenn das ZT-FeId auf binär »7« positioniert
ist, gibt die CSU 1301 den Diagnostik-Modus ein und die nächste Adresse ist die gegenwärtige Adresse plus 1.
Zusätzlich zur Sequenzsteuerung der oben beschriebenen und in Block 1335 dargestellten nächsten Steuerspeicher-Adresse,
führt die Hardware eine in Block 1336 von F i g. 6 beschriebene Sequenzsteuerung durch. (Anmerkung:
Die Blöcke 1335 und 1336 sind in Wirklichkeit Hardware-Register, die so dargestellt sind, daß die verschiedenen
Formen, die die Mikrobefehls-Worte annehmen können, zum Ausdruck kommen.) Die Hardware
erzeugt Verzweigungen und Übersprung-Bedingungen (wie Fehler, Initialisierung, Steuerspeicher-Abtastung,
etc ...), die das F-FeId unterdrücken und eine feste Adresse in das Adreß-Register KS 1337 des Steuerspeichers
übertragen. Die Verzweigung wird durchgeführt, indem eine Interrupt-Leitung |nicht abgebildet) während
einer Taktperiode auf »1« gesetzt wird und durch Übertragung der Adresse, die unter Steuerung durch
das ZT-Feld erzeugt worden wäre, in das KA-Unterbrechungsrückkehr-RegistwV
1339 gespeichert wird. In das Adreßregister des Steuerspeichers wird eine hardwareerzeugte
Adresse übertragen. Bestimmte Unterbrechungen, die von der Hardware/Firmware erzeugt werden,
erlangen eine Priorität, wenn das (nicht abgebildete) Flip-Flop des Interrupt-Blocks, welches die Ausführung
zusätzlicher Unterbrechungen in deren Klasse verhindert, bis die Unterbrechungs-Bedingung erfüllt ist
Für die Steuerung des Löschens des Unterbrechungs-Block-Flip-Flops für diese unter Firmware-Steuerung
befindlichen Sequenzen ist eine Firmware-Mikrooperation vorhanden. Diese Sequenzen bewirken unter Hardware-Steuerung
ein automatisches Löschen des Flip-Flops am Ende der Sequenz.
In dieser Kategorie sind, nach Prioritäten aufgelistet,
die folgenden Bedingungen vorhanden:
(a) Laden des Steuerspeichers;
(b) Abtasten des Steuerspeichers;
(c) Hardware-Fehler;
(d) Software-Fehler.
Die übrigen Hardware-Bedingungen setzen nicht das Unterbrechungs-Block-Flip-Flop, sondern lösen eine
unmittelbare Aktion aus, die bei der Erzeugung auftritt
In dieser Kategorie existieren, nach Prioritäten aufgelistet, die folgenden Bedingungen:
a) Initialisierung,
b) Soft-Clear,
c) Eingabe am Wartungspult,
d) Eingabe afn Wartungskanal,
e) Hardware-Ausgabe.
e) Hardware-Ausgabe.
Ein Initialisierungssignal forciert die CSU 1301 zur Verzweigung auf die Binäradresse »0«, zur Löschung
von Fehlern, die durch Hardware rückgestellt werden
ίο können und zur Durchführung einer Steuerspeicher-Ladeoperation,
auf die eine hardware-gesteuerte Steuerspeicher-Abtastsequenz folgt. Dieses Signal führt ebenfalls
die System-Initialisierung durch. Ein Software-Clear-Signal
forciert die CSU 1301 zur Verzweigung auf die Binäradresse »0«, zur Löschung der durch Hardware
rückstellbaren Fehler und Rücksetzung des Unterbrechungs-Block-Flip-Flops. Ein Wartungspult· Eingabesignal
forciert die CSU zu einer Verzweigung auf die an dsn CSU-A.dreßschs!tern des 'nicht sb^ebUdct??^ Wartungspults
eingestellte Adresse.
Ein Wartungskanal-Eingabesignal forciert die CSU zur Verzweigung auf eine über den Wartungskanal
(nicht abgebildet) erzeugte Adresse. Die Adresse wird vom Wartungs-Bus QMB 1344 aus geladen: dieser gehört
zum Wartungs-Kanal und ist rechtsbündig. Ein Hardware-Ausgabesignal forciert die CSU zu einer
Verzweigung auf Binäradresse 2. Diese Sequenz wird als Wartungshilfe benutzt Am Ende der Sequenz wird
durch Ausgabe einer ZT-Feld-Verzweigung mit Forcierung
des ZT-Feldes auf binär »4« ein Rücklauf ausgelöst
Durch ein Steuerspeicher-Ladesignal wird die CSU zur Verzweigung auf die Binäradresse »0« forciert. Dieses
Signal löscht auch das CSU-Lesezyklus-FIip-Flop
(nicht abgebildet) und den System-Taktgeber 1320 und positioniert die CSU in den Ladestatus. Im Lade-Status
kann die CSU mit Hilfe des Steuerspeicher-Loaders CSL 1302. des IOC 1305. des Hauptspeichers 102 oder
des Wartungspults 1355 geladen werden. Beiim Laden durch den CSL wird am Ende der Ladeoperation ein
automatischer Abtastzykius erzeugt Beim Laden mit Hilfe eines anderen Mediums kann eine \btastoperation
entweder durch Erzeugung eines Mikrooperations-Signals
oder durch Einstellen des Abtastschalters am Wartungspult ausgelöst werden. Ein Steuerspeicher-Abtastsignal
forciert die CSU zu einer Verzweigung auf eine binäre Null-Adresse. Eine Steuerspeicher-Abtastoperation
ist für die Dauer einer Sequenz unter Hardware-Steuerung. Während der Abtast-Operation ist der
System-Taktgeber 1320 außer Betrieb und daher werden keine Befehle oder Tests durchgeführt Am Ende
der Abtastsequenz überträgt die Hardware den Inhalt des Interrupt-Rücklaufregisters KA in das Adreßregister
KS. Der System-Taktgeber wird wieder in Betrieb gesetzt und die Steuerung wird wieder von der Firmware
übernommen.
Ein Hardware-Fehlersignal forciert die CSU zu einer Verzweigung auf die binäre Adresse »4«. Im normalen
Verarbeitungsmodus löst ein Hardware-Fehler, der in irgendeiner CPU-Funktionseinheit festgestellt wird, eine
Aktivierung einer (nicht abgebildeten) Hardware-Fehlerleitung aus. Die erzeugte Steuerspeicher-Sequenz
überprüft die System-Bedingungen, um die durchzuführende Aktion festzulegen. Im Diagnostik-Modus
sind die durch Hardware feststellbaren Fehler-
*ä bedingungen für die Mikrodiagnostik erkeninbar. Die
Mikrodiagnostik überwacht die durchzuführende Operation. Ein Software-Fehlersignal bewirkt andererseits
eine Verzweigung des Steuerspeichers auf die binäre
ίο
Adresse »1«. Dies ist die Sta/eadresse der mikroprogrammgesteuerten
Software-Fehler-Anzeigesequenz.
In F i g. J ist das E-FeId 1326, wie bereits beschrieben,
ein 3-Bit-Feid für den Verzweigungscode. Das Verzweigungs- und/oder Mikrooperationsfeld 1327 ist den Feldern
A, B, C, D und L enthalten (ebenfalls in Block 1335 von F i g. 5 dargestellt); das /4-FeId stellt hierbei die oberen
6 Bits der nächsten Adresse dar, das S-FeId die mittleren 4 Bits der nächsten Adresse des Maskenfeldes
der 64-Weg-Verzweigung, das C-FeId ist ein 6-Bit-Testfeld
für einen der 64 Tests, das D-Feld ist ein weiteres 6-Bit-Testfeld für einen der 64 Tests und das L-FeId ist
das niedrigstwertige Bit. Das /C-FeId 1328 ist ein 14-Bit·
Feld, von derr 6 Bits für das Konstanten-Feld verwendet
werden, 4 Bits werden für ein Konstanten- oder Steuer-Feld verwendet, und 4 Bits sind ein Steuer-Feld für eine
Konstante. Die Daten für das Bus-Feld 1329 setzen sich aus dem QA-FeId zusammen, das 4 Bits für die Steuerung
der dem QA-TeU des (JMS-Bus i344 zugeleiteten
Informationen besitzt und das QB- Feld besitzt 4 Bits
für die Steuerung der Informationen im QB-TeW des <?MS-Bus 1344. Das F-FeId 1330 ist ein 32-Bit-Feld. das
zur Erzeugung der Mikrooperations-Unterbefehle codiert wird. Das F-FeId ist in 5 Haupt-Unterfelder unterteilt;
eins wird zur Erzeugung von MikroOperationen oder Unterbefehlen für die ACU 1319 und DMU 1321
codiert; ein anderes wird zur Erzeugung der Mikrooperations-Unterbefehle der LSU 1315 codiert; ein drittes
Unterfeld wird zur Erzeugung der Mikrooperations-Unterbefehle entweder für die ALU 1317 oder die EMU
1316 codiert; dies hängt vom Status der Steuerbits in einem der beiden verbleibenden Unterfelder ab, die zusätzlich
zur Steuerung von Operationen im Steuerspeicher 130 verwendet werden. Das P-FeId 1331 besteht
aus 4 Bits, die für Prüfungen reserviert sind. Während des Betriebs sind die Mikrobefehls-Worte
rend eines Operationszyklus wird die Steuerspeicher-Matrix vom Inhalt des KS-Adreßregisters 1337 adressiert.
Dies bewirkt ein Lesen des Inhalts des von der Adresse spezifizierten Speicherplatzes in die Gruppe
der Lese-Speicherschaltungen 1357. Teile des Wortinhalts der Lese-Speicherschaltungen werden verteilt
oder im Speicherregister übertragen, die sich in jeder der Funktionseinheiten der CPU befinden. Jede Funktionseinheit
beinhaltet Decodier-Logikschaltungen zur Erzeugung der erforderlichen Unterbefehle, die vom
Steuerspeicherwort unter Steuerung durch den System-Taktgeber spezifiziert werden. Aligemein wird die Decodierung
innerhalb jeder der Funktionseinheiten der CPU durchgeführt und nicht zentral. Dies geschieht, um
die Decodierungszeit auf ein Minimum herabzusetzen und die Anzahl der Kabel zu verringern, die normalerweise
zur Übertragung von Befehlssignalen bei einer zentralen Decodierung erforderlich wären. Zusätzlich
erfolgt die Decodierung innerhalb aller Einheiten, um Timing-Probleme, die aus den verschiedenen Kabelverzögerungen
entstehen würden, zu verhindern.
Eine typische Decodier-Einheit 1359 ist in F i g. 5 dargestellt,
wo sie verschiedene Mikrobefehlswort-Felder öd empfängt und Mikrooperations-Signale a,b,cd...q,r
erzeugt Ein typischer Mikrooperations-Decoder 1359 empfängt Befehle von einem Mikrobefehls-Wort Das
Feld des Mikrobefehls-Worts wird decodiert und setzt eine von mehreren Leitungen, s, t, u... y, ζ auf logisch 1.
Eine Matrix wird dadurch gebildet daß vorbestimmte Steuerleitungen an den Punkten <χ,β,γ...ω den Leitungen
s— ζ impedanzmäßig gekoppelt werden. Wenn das Feld eines Mikrobefehls decodiert wird, ist normalerweise
eine der Leitungen s—z auf logisch t. Da die Matrix mit griechischen Buchstaben α—ω bezeichneten
schwarzen Punkte die Impedanzkopplung zwischen den beiden Leitungsgruppen darstellen, werden aUe elektrischen
Signale, die über eine der horizontalen Leitungen laufen, durchgekoppelt, um die vertikalen Leitungen a
bis r zu durchlaufen, die mit einer Impedanzkopplung (schwarzer Punkt) markiert äst. Jede der vertikalen Leitungen
a—r kann nun als ein Eingang zu einem der UND-Gatter 1360 bis 1365 gekoppelt werden. Andere
Eingangssignale können ebenfalls den UND-Gattern 1360 bis 1365, die ein Timing-Signal U von der zentralen
Timing-Einheit erhalten, zugeleitet werden. Jedesmal, wenn das Timing-Signal u auf logisch 1 ist, werden demzufolge
diejenigen Gatter freigegeben, bei denen alle übrigen Eingangssignale auf logisch 1 sind; diese Gatter
liefern dabei dann die Mikrobefehls-Signale für vorbestimmte Funktionseinheiten in der CPu'. Wenn zum Beispiel
ein Befehl 1341 von der Lese-Speicherschaltung 1351 decodiert wird und eine Horizontalleitung auf logisch
1 ist, sind auch die vertikalen Steuerleitungen a, b, c und q auf logisch 1 und die UND-Gatter 1360, 1351,
1362 und 1364 werden durchgeschaltet, wenn das Timing-Signal ij sequentiell diesen Gattern zugeführt
wird. Die Kombination, in der die vertikalen Steuerleitungen mii den horizontalen Steuerleitungen an den
verschiedenen, durch griechische Buchstaben ex— ω angegebenen Punkten gekoppelt sind, stellt eine ständige
Schaltmatrix für die Zuführung der Mikrooperations-Signale zur zentralen Verarbeitungseinheit CPU dar, mit
denen die Funktionseinheiten innerhalb der Zentraleinheit durch Mikrobefehle gesteuert werden, die von der
Steuerspeicher-Matrix 1333 erzeugt werden.
Daher kann eine permanente Firmware, die die Eigenschaft der Veränderbarkeit hat, in die Maschine dieser
diiiluUng cingcuäüi Wcfucn, ifiucm icuigiiCn uic erforderliche
Mikrooperations-Sequenz angegeben wird, die als Fähigkeit des Computer-Systems erforderlich ist
Unter normalen Bedingungen werden die Daten über das CPU-Daten-Schreibregister, das auch Lokal-Register
YO 1343 bekannt ist, in die Steuerspeicher-Matrix 1333 eingeschrieben. Ein (nicht abgebildet^ Steuer
Flip-Flop legt fest, ob die obere oder die untere Hälfte der Speicher-Matrix beschrieben werden soll. Daten
von der Steuer- und Ladeeinheit CLU 1304 werden der CIA/CIU über den Wartungs-Bus QMB 1344 zugeführt
und vom Speicherregister YO 1343 gespeichert, bevor sie in die Steuerspeicher-Matrix 1333 eingeschrieben
werden. Das Speicherregister 1343 wird durch einen Betrieb im Zeitteilverfahren sowohl als Lese- ais auch
örtliches Schreibregister verwendet Der Multiplexer KQM 1345 kann sowohl vom Wartungspult 1355 als
auch durch Mikrodiagnostik gesteuert werden, und er bildet für die daran angeschlossenen Register einen Lese-Pfad.
Für die nicht-funktionelle Benutzung steht ein Vergleichsregister KP 1350 zur Verfugung, das hauptsächlich
für Wartungszwecke zusammen mit der Vergleichslogik 1352 und der Decodier-Logik 1351 benutzt
wird.
25
30
35 Hierzu 4 Blatt Zeichnungen
Claims (4)
1. Datenverarbeitungsanlage, die durch Emulation rait fremden Systemen kompatibel ist,
mit einer arithmetisch/logischen Einheit zur Durchführung von Befehlen in der systemeigenen Betriebsart,
einer Emulationseinheit, die Befehle in der Betriebsart
des fremden Systems durchführt, einer Steuereinheit mit einem Steuerspeicher, der
Mikrobefehle enthält, von denen jeder aus mehreren Feldern besteht, wovon eines jeweils die von der
arithmetisch/logischen Einheit durchzuführende Operation definiert,
und mit einem gemeinsamen Bus, an den die arithmetisch/logische Einheit, die Emulationseinheit und
die Steuereinheit angeschlossen sind, dadurch
gekennzeichnet,
daß die in, Jem Steuerspeicher (1333) enthaltenen
Mikrobefehle (1506) jeweils ein zusätzliches codiertes
Feld enthalten, das anzeigt, ob eine Operation von der arithmetisch/logischen Einheit (1317) oder
von der Emulationseinheit (1316) durchgeführt werden soll, daß durch dieses zusätzliche codierte Feld eine
Schaltvorrichtung (1301,1602,1604,1606,1702,1704,
1706) steuerbar ist, die den zugehörigen Mikrobefehl
über den gemeinsamen Bus (1502) entweder zur Emulationseinheit (1316) oder zur arithmetisch/logisehen
Einhe^ (i317) leitet,
und daß das zusätzliche cod«;rte Feld, welches in
dem jeweils gerade in der Emulationseinheit (1316) oder der arithmetisch/logische- Einheit (1317) ausgeführten
Mikrobefehl (1506) enthalten ist, durch seinen Wert anzeigt, ob der darauffolgende Mikrobefehl
durch die andere Einheit (1317 bzw. 1316) auszuführen ist.
2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet daß der gemeinsame Bus neben
einem gesonderten Datenbus (1500) einen Operationscode-Bus (1502) enthält, über den die in dzn
Mikrobefehlen (1506) enthaltenen Operationscodes an Eingänge der Schaltvorrichtung (1602.1604,1606,
1702,1704,1706) angelegt werden.
3. Datenverarbeitungsanlage nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Steuereinheit
(130) einen das zusätzliche codierte Feld decodierenden Decoder (1508) und eine von diesem angesteuerte
bistabile Speicherschaltung (1510) enthält, deren Zustand den Wert des zusätzlichen
codierten Feldes des Mikrobefehls (1506) anzeigt
4. Datenverarbeitungsanlage nach Anspruch 3. dadurch gekennzeichnet, daß der Ausgang der bistabilen
Speicherschaltung (1510) mit Eingängen von Gatterschaltungen (1602, 1604. 1606, 1702, 1704,
1706) der Schaltvorrichtung verbunden ist die je nach dem Zustand des am Ausgang der bistabilen
Speicherschaltung (1510) vorhandenen Signals die Operationscodes der Mikrobefehle (1506) aus der
Steuereinheit entweder der arithmetisch/logischen Einheit (1317) oder der Emulationseinheit zuführt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR7342708A FR2253435A5 (de) | 1973-11-30 | 1973-11-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2456578A1 DE2456578A1 (de) | 1975-06-05 |
DE2456578C2 true DE2456578C2 (de) | 1985-05-15 |
Family
ID=9128516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2456578A Expired DE2456578C2 (de) | 1973-11-30 | 1974-11-29 | Datenverarbeitungsanlage |
Country Status (6)
Country | Link |
---|---|
US (1) | US3997895A (de) |
JP (1) | JPS5935056B2 (de) |
DE (1) | DE2456578C2 (de) |
FR (1) | FR2253435A5 (de) |
GB (1) | GB1478504A (de) |
IT (1) | IT1026695B (de) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4084229A (en) * | 1975-12-29 | 1978-04-11 | Honeywell Information Systems Inc. | Control store system and method for storing selectively microinstructions and scratchpad information |
JPS6049332B2 (ja) * | 1977-01-31 | 1985-11-01 | 株式会社東芝 | マイクロプログラム制御方式 |
US4131941A (en) * | 1977-08-10 | 1978-12-26 | Itek Corporation | Linked microprogrammed plural processor system |
US4199811A (en) * | 1977-09-02 | 1980-04-22 | Sperry Corporation | Microprogrammable computer utilizing concurrently operating processors |
US4155118A (en) * | 1977-09-20 | 1979-05-15 | Burroughs Corporation | Organization for an integrated circuit calculator/controller |
US4128873A (en) * | 1977-09-20 | 1978-12-05 | Burroughs Corporation | Structure for an easily testable single chip calculator/controller |
US4236204A (en) * | 1978-03-13 | 1980-11-25 | Motorola, Inc. | Instruction set modifier register |
US4315321A (en) * | 1978-06-16 | 1982-02-09 | The Kardios Systems Corporation | Method and apparatus for enhancing the capabilities of a computing system |
US4277827A (en) * | 1979-01-02 | 1981-07-07 | Texas Instruments Incorporated | Microprocessor based system for the development and emulation of programmable calculator control read only memory software |
US4441154A (en) * | 1981-04-13 | 1984-04-03 | Texas Instruments Incorporated | Self-emulator microcomputer |
AU556521B2 (en) * | 1981-06-11 | 1986-11-06 | Data General Corporation | Arithmetic unit |
US4458311A (en) * | 1981-10-09 | 1984-07-03 | International Business Machines Corporation | Text processor having an interactive display terminal which alternately functions as a data processing terminal |
DE3271123D1 (en) * | 1982-06-08 | 1986-06-19 | Ibm Deutschland | Circuits in the control part of a microprogrammable processor for direct hardware execution of selected instructions |
JPS59501684A (ja) * | 1982-10-22 | 1984-10-04 | インタ−ナシヨナル・ビジネス・マシ−ンズ・コ−ポレ−シヨン | 目的命令ストリ−ムへ殆んど実時間で插入するためのソ−スおよび目的命令ストリ−ムの外部における加速式命令写像 |
JPS6017539A (ja) * | 1983-07-11 | 1985-01-29 | Hitachi Ltd | エミユレ−シヨン方式 |
JPS6133546A (ja) * | 1984-07-25 | 1986-02-17 | Nec Corp | 情報処理装置 |
JPS61188626A (ja) * | 1985-02-18 | 1986-08-22 | Fujitsu Ltd | マイクロプロセツサ |
JPH0648461B2 (ja) * | 1987-07-09 | 1994-06-22 | 日本電気株式会社 | マイクロプログラムの転送レジスタ指定方式 |
US5333287A (en) * | 1988-12-21 | 1994-07-26 | International Business Machines Corporation | System for executing microinstruction routines by using hardware to calculate initialization parameters required therefore based upon processor status and control parameters |
US5077657A (en) * | 1989-06-15 | 1991-12-31 | Unisys | Emulator Assist unit which forms addresses of user instruction operands in response to emulator assist unit commands from host processor |
US5446865A (en) * | 1990-03-13 | 1995-08-29 | At&T Corp. | Processor adapted for sharing memory with more than one type of processor |
CA2082066C (en) * | 1991-03-07 | 1998-04-21 | James A. Wooldridge | Software debugging system and method especially adapted for code debugging within a multi-architecture environment |
US5652869A (en) * | 1991-03-07 | 1997-07-29 | Digital Equipment Corporation | System for executing and debugging multiple codes in a multi-architecture environment using jacketing means for jacketing the cross-domain calls |
US5495588A (en) * | 1993-11-18 | 1996-02-27 | Allen-Bradley Company, Inc. | Programmable controller having joined relay language processor and general purpose processor |
US6496922B1 (en) * | 1994-10-31 | 2002-12-17 | Sun Microsystems, Inc. | Method and apparatus for multiplatform stateless instruction set architecture (ISA) using ISA tags on-the-fly instruction translation |
US5758140A (en) * | 1996-01-25 | 1998-05-26 | International Business Machines Corporation | Method and system for emulating instructions by performing an operation directly using special-purpose register contents |
US6513057B1 (en) * | 1996-10-28 | 2003-01-28 | Unisys Corporation | Heterogeneous symmetric multi-processing system |
US5875336A (en) * | 1997-03-31 | 1999-02-23 | International Business Machines Corporation | Method and system for translating a non-native bytecode to a set of codes native to a processor within a computer system |
US8532975B2 (en) * | 2009-06-12 | 2013-09-10 | Cadence Design Systems, Inc. | System and method implementing a simulation acceleration capture buffer |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3374466A (en) * | 1965-05-10 | 1968-03-19 | Ibm | Data processing system |
US3543245A (en) * | 1968-02-29 | 1970-11-24 | Ferranti Ltd | Computer systems |
US3641505A (en) * | 1969-06-25 | 1972-02-08 | Bell Telephone Labor Inc | Multiprocessor computer adapted for partitioning into a plurality of independently operating systems |
US3631405A (en) * | 1969-11-12 | 1971-12-28 | Honeywell Inc | Sharing of microprograms between processors |
US3698007A (en) * | 1970-11-30 | 1972-10-10 | Honeywell Inc | Central processor unit having simulative interpretation capability |
US3721961A (en) * | 1971-08-11 | 1973-03-20 | Ibm | Data processing subsystems |
US3786430A (en) * | 1971-11-15 | 1974-01-15 | Ibm | Data processing system including a small auxiliary processor for overcoming the effects of faulty hardware |
US3766532A (en) * | 1972-04-28 | 1973-10-16 | Nanodata Corp | Data processing system having two levels of program control |
JPS5057348A (de) * | 1973-09-19 | 1975-05-19 |
-
1973
- 1973-11-30 FR FR7342708A patent/FR2253435A5/fr not_active Expired
-
1974
- 1974-11-28 GB GB51655/74A patent/GB1478504A/en not_active Expired
- 1974-11-29 DE DE2456578A patent/DE2456578C2/de not_active Expired
- 1974-11-30 JP JP49136672A patent/JPS5935056B2/ja not_active Expired
- 1974-12-02 IT IT30058/74A patent/IT1026695B/it active
- 1974-12-02 US US05/528,824 patent/US3997895A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
GB1478504A (en) | 1977-07-06 |
JPS50114943A (de) | 1975-09-09 |
US3997895A (en) | 1976-12-14 |
JPS5935056B2 (ja) | 1984-08-27 |
DE2456578A1 (de) | 1975-06-05 |
IT1026695B (it) | 1978-10-20 |
FR2253435A5 (de) | 1975-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2456578C2 (de) | Datenverarbeitungsanlage | |
DE2714805C2 (de) | ||
DE2555963C2 (de) | Einrichtung zur Funktionsmodifizierung | |
DE2648229C2 (de) | ||
DE1774296C2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE3914265C2 (de) | ||
DE3886529T2 (de) | Einrichtung in einem Datenverarbeitungssystem zur System-Initialisierung und -Rückstellung. | |
DE2316296C2 (de) | Mikroprogrammierbarer Prozessor | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2030812A1 (de) | Modulare Datenrechnersysteme | |
DE2657848A1 (de) | Steuereinheit fuer ein datenverarbeitungssystem | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE2411963A1 (de) | Datenverarbeitungsanlage | |
DE2813128A1 (de) | Mikroprogrammspeicher | |
CH522921A (de) | Rechneranlage | |
DE2921897A1 (de) | Hardware/firmware-dialogsteuerlogik- system | |
DE3228405A1 (de) | Emulator zur erzeugung einer folge von steuersignalen | |
DE2658864A1 (de) | Pruefsystem fuer eine mikroprogrammierte verarbeitungseinheit | |
DE2755616A1 (de) | Asymmetrischer multiprozessor | |
EP0010185A1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
DE2440628A1 (de) | Datenverarbeitungsanlage mit mikroprogrammierung | |
DE1499206B2 (de) | Rechenanlage | |
DE1953364A1 (de) | Wahlausfuehrungsschaltung fuer programmgesteuerte Datenverarbeiter | |
DE1549548A1 (de) | Vorrichtung zur Aktivierung eines bestimmten Befehls aus einer Vielzahl von Befehlen,die in einem Befehlsspeicher eines Rechners gespeichert sind | |
DE3307194C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OGA | New person/name/address of the applicant | ||
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition |