DE2456578A1 - Datenverarbeitungssystem - Google Patents
DatenverarbeitungssystemInfo
- Publication number
- DE2456578A1 DE2456578A1 DE19742456578 DE2456578A DE2456578A1 DE 2456578 A1 DE2456578 A1 DE 2456578A1 DE 19742456578 DE19742456578 DE 19742456578 DE 2456578 A DE2456578 A DE 2456578A DE 2456578 A1 DE2456578 A1 DE 2456578A1
- Authority
- DE
- Germany
- Prior art keywords
- control
- unit
- memory
- data
- arithmetic logic
- 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; 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
COMPAGHIE HONEYWELL BULL
94, Avenue G-ambetta
P ARIS (20) /Frankreich
Unser Zeichen.: H 1024
Datenverarbeitungssystera
Die vorliegende Erfindung bezieht sich auf Datenverarbeitungssysteme
und insbesondere auf Apparate zur wirksamen. Verarbeitung von Befehlen mit unterschiedlichen Formaten
im selben Datenverarbeitungssystem.
Bei Datenverarbeitungssy st einen, die die Möglichkeit besitzen,
andere Datenverarbeitungssysterae 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, bytes-zeichenorientiert sein, wohingegen das emulierende System multibytes- oder v/ortorientiert ist.
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, bytes-zeichenorientiert sein, wohingegen das emulierende System multibytes- oder v/ortorientiert ist.
Weiterhin kann bei variablen Byte-Operanden deren Länge
im emulierten System mit einem Kennmarken-Bit im letzten
im emulierten System mit einem Kennmarken-Bit im letzten
Schw/Gl
50982 3/0703
Byte des Operanden spezifiziert werden und im Emulator-System
duroh 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 Punktion auf zusätzliche Hardware zurückzugreifen. Obwohl
diese Lösung praktisch ist, würde sie die Leistungen des Systems herabsetzen, 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-System
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. Eine derartige Emulation wird um so notwendiger, wenn
zum Beispiel, wie in der hier vorliegenden Erfindung, die Architektur des Datenverarbeitungssystems von der des zu
emulierenden Systems abweicht.
Daher muß der Befehlscode, ohne den Betrieb des Emulator-Systems zu beeinflussen, angepaßt werden und ein leistungsfähiges
Schaltsystem muß verfügbar sein, damit beim Umschalten zwischen dem Ausführungsablauf in der Emulations-Einheit
und in der arithmetischen Logik-Einheit des Systems die Arbeitsgeschwindigkeit des Gesamtsystems nicht wesentlich
beeinträchtigt wird.
Eine Charakteristik der Erfindung besteht darin, einen verbesserten Schaltmechanismus zu liefern, mit dem innerhalb
eines Datenverarbeitungssystems zwischen seinem
609823/0703
eigenen und seinem nicht-eigenen Betriebsmodus Umg'e-'
schaltet werden kann.
Ein weiterer Zweck der Erfindung besteht"darin, ein leistungsfähiges
Umschalt-System zu erstellen, 'mit dem Datenyerarbeitungssysterne
Befehle entweder in ihren arithmetischen Logik-Einheiten oder in Emulations-Einheiten-,
die mit dem System gekoppelt" sind, durchführen-können.
Die Aufgaben und Ziele der Erfindung werden. ;erfüllt durch
die Eingliederung eines mikroprogrammierbaren Umschalt-Mittels
in -ein DatenVerarbeltungssystem,-: das über einen :
gemeinsamen Datenbus verfügt', 'der mit einem Sfceuer-Spei- -\
eher, einer arithmetischen Logik-Einheit und reiner Emu-.
lations-Einheit gekoppelt ist»· Das System kann -ebenfalls ;
eine Datenverwaltungs-Einheit, einen :"Scra:t:ch;Pad"-Speicher
und eine Adreß-Steuereinheit beinhalten. J3er mikroprogrammierbare Schalter ist in 'denSteuLer-Speicher in-
tegriert und mit diesem gekoppelt. Der Speicher decodiert,
einen mikroprogrammierbaren: Befehl, der -in der .Matrix des
Steuer-Speichers innerhalb der-Steuer-Speidhexeinheit .·;
untergebracht ist und daher anzeigt, ob die Emulations-Einheit den Befehlscode interpretieren und eine entspre-chende
Operation durchführen'soll oder ob die ■arithmetische Logik-Einheit den Code interpretieren .und die. von ,
diesem Code definierte Operation 'durchführen soll. Der
mikroprogrämmierbare Schalter kann·so positioniert-werden,
daß die Emulationseinheit freigegeben öder zurückgesetzt
wird, um die arithmetische Logikeinheit mit Hilfe ,des .
mikroprogrammierbaren Befehls des Steuer-Speichers freizugeben* . ■ ' ; . ■■■."-· ..■ Λ :. ·, ■ ■'-■:-. . ■··
S0 9823/07Ö3
Die Vorteile der vorstehend beschriebenen Konfiguration der vorliegenden. Erfindung werden noch deutlicher beim
Durchlesen der folgenden Detailbeschreibung und Durchsicht der Zeichnungen. Hierbei sind: ■
Pig. 1 ein allgemeines Blockd'iagramm des Datenverarbeitungssystems
der vorliegenden Erfindung;
Fig. 2 eine detailliertere Ansicht der Anwendung des
mikroprogrammierbaren Schalters der vorliegenden Erfindung;
Pig. 3 illustriert am Beispiel des Formats- mehrerer
mikroprogrammierbarer Befehle die in allen Steuer-Speicher-Wortendes
Steuer-Speichers der vorliegenden Erfindung enthalten sind;
Pig. 4 ist ein detaillierteres Schema der zentralen Yer-
arbeitungseinheit und des Steuer-Speichers der ,. vorliegenden Erfindung; ·
Fig. 5 illustriert die Einzelheiten des Steuer-Speichers
in der vorliegenden Erfindung und .
Fig. 6 illustriert das Format des im Steuer-Speicher
der vorliegenden Erfindung enthaltenen Steuer-Speicher-Worts.
In Fig. 1 ist das Datenverarbeitungssystem der vorliegenden
Erfindung dargestellt. Dieses System beinhaltet einen Bit-Datenbus 1500 und einen 32 Bit-Festspeicher (ROS) sowie
50 982 3/0703
einen Daten-Steuer-Bus 1502, die alle mit den verschiedenen
in den Figuren 1 und 2 dargestellten Einheiten gekoppelt sind. Der wesentliche Punkt in der vorliegenden
Erfindung ist der Steuer-Speicher 130, die arithmetische Iiogik-Einheit (ALU) 1317 und die Braulations-Einheit
(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 dem
Steuer-Speicher 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 Steuer-Speichers
gesteuert. Die DMU 1321 arbeitet im allgemeinen als Interface zwischen der zentralen Verarbeitungseinheit
und dem mit dem Datenverarbeitungssystem der vorliegenden Erfindung gekoppelten Hauptspeicher (nicht abgebildet).
Die Daten-Verwaltungseinheit 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- und 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 Teilresultaten während der Datenverarbeitung verwendet werden.
B09823/0703
Der Steuer-Speicher 130 enthält eine Steuer-Speichereinheit (CSU) 1301, wie aus den Pig. 5 und 6 ersichtlich,
sowie einen Festspeieher und eventuell weiterhin einen
Lese/Schreib-Random-Pestspeicher im Steuer-Speicher 130.
Jede Punktionseinheit verfügt über eine bestimmte Anzahl
yon Bits des Mikro-Operations-Steuerfelds des ihr zugewiesenen Steuer-Speicherworts und in Abhängigkeit von
dieser Konfiguration werden verschiedene Steuer-Punktionen
erzeugt. Das Basis-Datenverarbeitungssystem der vorliegenden Erfindung ist so konzipiert, daß Emulations-Erfordernisse
zusätzlich sind. 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 Emulations-Einheit zu betreiben. Im Formalfall würde die Emulations-Einheit 1316
grundsätzlich alle ihre arithmetischen und logischen Punktionen innerhalb ihrer eigenen Arithmetik-Einheit 1390 erzeugen,
und daher sieht die vorliegende Erfindung eine gemeinsame Benutzung der der ALU 1317 zugewiesenen Bits
mit der EJIU 1316 vor, um die respektiven Operationen
dieser Einheiten zu steuern. Daher arbeitet die EMU 1316 als Interface mit AGU, DMU, ROU und SPU und kann andererseits
die Einrichtungen dieser Einheiten benutzen. Jedoch, 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 EtIU und um gleichzeitig
die jeweiligen Vorteile der Einheiten je nach erzeugten
Befehlen auszunutzen, wird ein mikroprogrammierbarer Schalter verwendet, der standardmäßig, wie in Pig. 2
dargestellt, im Steuer-Speicher 130 enthalten ist.
In Pig. 2 sind weitere Einzelheiten der Apparate der vorliegenden Erfindung dargestellt. Der Datenbus 1500 und der
SO 982370703
mit del· ALIJ 1.517., EOT 1316 und.dem Steuer-Speicher 130 gekoppelte
,Steuerbus 1502," sind· in Fig.; 2 genauer dar- · ■
gestellt.. Der. Steuer-Speicher 130 beinhaltet eine Steuer-Speicher~Matrix.1333,
die initialisiert-wird', um mehrere . .
der Steuer-Speicher-Worte aufzunehmen,. deren Mikroope- ■
rations-Unterbef ehlsf eld im allgemeinen als Block 1506
dargestellt ist* Die detaillierte Struktur des.Steuer- · :
Spej.cher-Wo.rts. soll, zusammen rait Pig. 6 eingesehen" wer-,
den;.für. Zwecke dieser Erläuterung-ist das-Mikröopera-,
tions-UnterTDefehlsfeld. öit- einer Anzahl von Unterfeldern
dargestellt, von:, denen eins; das; Operationscode-Unterfeld
ist und. das andere die Steuer-Bits beinhaltet,-mit denen. λ
angegeben-wird, pb das Operationsc.ode-Unterfeld die 3?unk-- -tion
von ALU 1.317 oder EW 1316 .steuert. Das Operationscode-Unterfeld 'ist- mit ,dem Bus 1502 gekoppelt, um., ent weder ;
von ALU 1317·· oder von EMU. 1316 zu empfangen, -je nach Status des Registers'oder Plip-Plops 1510, wie "bei der Steuerbit-Leitung
1600 angegeben.. Wenn das .I?lip-]?lop/1510-/gelQScht
ist, besteht- auf-der Leitung·1600 der binäre IuIl-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 Binärzustand "1" und die EMU 1316 .
kann den: Operationspode .von Bus 1502 aufnehmen. Das Setzen
oder Lösohen des.Flipr^lops .1510 wird mit .Hilfe-des Decoders
15.08·. entsprechend dem Ste.uer"bit~Unterfeld des . ■
Mikrooperations-'Unterbefehlsfe.ldes 1506 gesteuert. Zu.- ■■:'
sätzlich zu den:beiden Decoder-Ausgangsle.itungen,. die ■■·; ■ .
zur Steuerung des Zustande .von Hip-Plop ISiO .benutzt. ■-...
werden, erzeugt .der Decoder'1508 Signale in.Abhängigkeit -. .
von der Kombination der .Steuerbi.ts, um die internen Ope- ' ·.-.
rat ionen, deq Steuer-Speichers 1.30 zu steuern. ,: . . ■
Wenn da,hervim Steuer-Speicher.' 130 ein; Steuer-Speicher- ;
Wort adressiert wird, erfolgt eine Positionierung der :-
Steuerbit-Leitung 1600 auf den Binärzustand Null oder "1".
98237070a
Wenn auf der Leitung 1600 der binäre Null-Zustand vorhanden
ist, werden die Gatter 1602, 1604 und 1606 des ALU 1517 freigegeben, um die Übertragung des Operationscodes über den Bus 1502 zum Operationscode-Register 1608
zu ermöglichen.und um den Inhalt des Datenregister 1610 zum Datenbus 1500 zu übertragen und/oder um die Daten
über den Bus 1500 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 Operations-Code in Register 1608 wird mit Hilfe des Decoders
1612 decodiert, um Steuer-Signale zu erzeugen und um die Eigenfunktion der Einheit in Übereinstimmung mit
dem so empfangenen Operationscode zu. gewährleisten. In gleicher Weise wird ein Binärstatus "1" auf-Leitung 1600
nach Invertierung zu binär "0" durch den Inverter 1650,
zur Freigabe der Gatter 1702, I704 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 ist der mikroprogrammierbare Schalter
(Pig. 2), der auf die Einheiten 130, 1316 und 1317 aufgeteilt ist, für die Steuerbits des Unterfeldes des
Mikrooperations-Unterbefehlsfeldes des Steuer-Speicher-Worts
aufnahmefähig. 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 I5OO
frei. In gleicher Weise wird der Operationsoode entweder von der ALU 1317 oder der .EMU 1316 über den Bus 1502 aufgenommen.
Wie aus Pig. 6, in der. das detaillierte Befehlsformat
dargestellt ist, ersichtlich (Steuer-Speicher-Wort 1325 im Steuer-Speicher 130), können derartige Steuer-Speicher-Worte
orientiert oder konfiguriert v/erden, um
609823/0703
-S-
zwischen den ALU^ und EM-Betriebsarten Verzweigungen
oder Vor- und Rückschaltungen durchzuführen.
In Pig. 3 sind fünf Mikrooperations-Unterbefehlsunter—
feider für fünf aufeinanderfolgende Steuer-Speicher-Worte
a Ms 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 EI-IU durchgeführt wird. Die übrigen drei Unterfelder
steuern die anderen im System gekoppelten Funktionseinheiten
und werden später ausführlicher beschrieben. Aus der Erläuterung von Eig. 3 geht hervor, daß,
wenn der Inhalt von Register 1510 vor der Ausführung von Steuer-Speicher-Wort a gleich EuIl ist, in der Emulations-Einheit
keine Operation abläuft und daß in diesem Pail 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 Steuerbits (einfach als binär "1" dargestellt) 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 Befehls, 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 EtIU 1316,
da die Steuerbits nicht geändert worden sind. Es ist noch zu bemerken, daß das Sternchen in den verschiedenen Unterfeldern
angibt, daß alle übrigen Operationen, die sich auf
509823/0703
den Anwendungszweck eines solchen Unterfelds beziehen,
zum Zeitpunkt der Initialisierung integriert werden können. Auf diese Weise können die Unterfelder, in denen
die 'Steuerbits untergebracht sind, zur Steuerung anderer Operationen im Steuer-Speicher 130 verwendet werden, wenn
die Anzeige einer Schaltoperation zwischen ALU 1317 und EM 1316 nicht angezeigt werden muß. Während des nächsten
Befehls, Wort e, bleibt die EM in Betrieb. Die Steuerbit-Unterfelder
zeigen jedoch zum Beispiel an (durch die Anzeige "binär o"), daß der nächste Befehl in der AIU 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 EM 1316 verarbeitet werden in Abhängigkeit von der am mikroprogrammierbaren Schalter festgelegten Operation
oder Status verarbeitet. Auf diese V/eise v/erden die Leistungen des Systems gesteigert durch Herabsetzung der
für die Ausführung eines bestimmten Befehls oder Steuer-Speicher-Worts erforderlichen Zeit.
In den Figuren 4, 5 und 6 sind Einzelheiten der Steuereinheit dargestellt. Obwohl getrennt von der zentralen
Yerarbeitungseinheit (CPU) dargestellt, ist die Steuereinheit in Wirklichkeit ein Bestandteil derCPU und beinhaltet
eine Steuer-Speichereinheit CSU 1301, einen Steuer-Speicher-Interface-Adapter CIA 1302 und die dazugehörigen
Untereinheiten, einen Steuer-Speicher-Loader
CSL 1303 und die Steuer- und Ladeeinheit CLU 1304.
Die Steuer-Speichereinheit CSU 1301 empfängt Mikrobefehle vom Steuer-Speicher-Loader CSL 1303 über die Steuer- und
509823/0703
Ladeeinheit CLU 1304 sowie den Steuerspeicher-Interfaee-Adapter
CIA 1302. Unter normalen Funktionsbedingungen
werden die Mikroprogramme während der System-Initialisierung von einer externen Quelle aus geladen und werden
zu einer permanenten S teuer funkt ion der Maschine:. Die Steuer-Speichereinheit CSU .1301 kann jedoch so nachgeladen und initialisiert werden, daß eine Vielzahl von ~
Zentraleinheit-Betrie:bsarten erzeugt werden (CPU 1306).
Die folgenden Betriebsarten der Zentraleinheit können
unter Steuerung durch die OSU 1301· erzeugt werden; (a)
Eigenmodus;, (b) Emulationsmodus (Mcht-Eigenmodus); (c) paralleler Eigen- und. Emulationsraodus; Cd) 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 funktioneilen CPU-Einheiten, wie zum Beispiel
der Emulations-Einheit 1316, der arithmetischen Logikeinheit ALU 1317, der Befehls-Erfassungseinheit IMJ 1318,
der AdreJß-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 !-Register 1310, Status-Register 1.311, der Befehlszähler IC 1312 und das
Hardware-Steuermasken-Register 1313 dargestellt. .
Im Normalfall ist die Steuer-Speicher-Einheit CSU 1301
ein aus bipolaren integrierten Schaltungen bestehender
programmierbarer 9K-Festspeieher (PROM), der mit einem
Lese/Sohreib-Random-Zugriffsspeicher (RAM); gemischt ist. ·
Er besitzt einen typischen .150 lianosekunten-Lesezyklus
und einen 450 Nanosekunden-Schreibzyklus. Jede Position
des Steuer-Speichers speichert ein 84-Bit-Mikrobefehls- '.
wort und dieses steuert einen CPU-Zyklus. Wenneine Position
50 9 823/0703
des Steuer-Speichers der Steuer-Speiohereinheit GSU 1301 gelesen wird, wird der Inhalt mit Mikrooperations-Decodern
decodiert. Hierbei entstehen Mikrooperations-Steuersignale, von denen jedes bewirkt, daß eine spezielle Operation
innerhalb der GPU stattfindet. Durch Zusammenfassung der
Positionen innerhalb eines jeden Mikrobefehlsworts (wird später im Detail beschrieben) v/erden 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-Start
sequenz benutzt. Die Steuerung bestimmter (nicht abgebildeter) Flip-Flops, die durch Befehls-Decodierfunktionen
positioniert oder gelöscht v/erden, kann der Steuer-Speicher, wenn erforderlich, auf eine spezifischere
Sequenz übergehen.
Der Steuerspeicher-Interface-Adapter CIA 1302 ist in Verbindung mit der Steuer-Speichereinheit 1301, der Datenverwaltungseinheit
DM 1321, der Adreß-Steuereinheit ACU 1319 und der arithmetischen Logik-Einheit ALU 1317
zur Steuerung des Speichers 1333 des Steuer-Speichers (Fig. 5). Der CIA 1302 beinhaltet die Logik für die
AdreBänderung, das Testen, 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
509823/0703
Information "befindet und.diese Information zum richtigen
Zeitpunkt den GPU-Registern zuzuleiten.-Die Datenverwaltungseinheit DMU führt ebenfalls die Maskierung während
partieller Schreiboperationen durch.
Die Befehlserfassungseinheit IEU 131s ist mit der DtIU 1321,
der AGU 1319, der ALU 1317 und der CSU 1301 verbunden. Sie hat die Aufgabe, die CPU ständig mit Befehlen zu versorgen.
Die Befehlserfassungseinheit 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 Informationserfassungseiiiheit IEU 131Q
über ein ^-Byte-Befehlsregister (nicht abgebildet), das
normalerweise mehr als einen Befehl enthält. Zusätzlich fragt die IEU 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 neuesten Stand. Die Befehle werden mit
Hilfe von normalerweise unbenutzten Speicherzyklen "Vor"-abgegriffen.
Die 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 IEU, ALU, DMU und der CSU. Die ACU 1319 ist für alle Adreßentwicklungen in der CPU verantwortlich. Alle
Operationen der AOU, 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,
509823/0703
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ßentwicklung 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, lach Entwicklung
der Basisadresse des Segments wird diese zusammen mit der Segmentnummer als zukünftige Referenz
abgespeichert.
'Die arithmetische und Logik-Einheit ALU 1317 ist in Verbindung mit AOU, IEU, DM und CSU. Ihre Hauptfunktion besteht in den von der GPU benötigten arithmetischen
Operationen und Datenmanipulationen. Die Operationen der arithmetischen Logik-Einheit hängen voll
und ganz von den Mikrooperations-Steuersignalen ab,
die von der Steuer-Speiohereinheit GSU 1301 geliefert werden.
Der »Scratch Pad"-Speicher LSU 1315 ist mit der ALU 1317
und der CSU 1301 assoziiert (in manchen Eällen als örtliche Speichereinheit bezeichnet). Er besteht im Normalfall aus einem Festkörper-Speicher mit 256 Speicherplätzen
(32 Bits pro Speicherplatz) und der Auswahlsowie der Lese/Schreib-Logik für diesen Speicher. Der
"Scratch Pad"-Speicher 1315 wird zur Abspeicherung der CPU-Steuer- und der V/artungsinformationen benutzt. Zusätzlich
enthält der "Scratch Pad"-Speicher 1315 bestimmte
509823/0703
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 Gumputer-Systeras 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 ΟΙΑ 1302 und das zweite
Taktgeber-System erzeugt die Befehlsimpulse für Operationen der Funktionseinheit innerhalb der zentralen Verarbeitungseinheit
.
In Fig. 6 ist das Format des Steuerspeicherv/orts 1325
dargestellt. Das Steuerspeicherwort besteht normalerweise aus 84 Bits und ist in 6 Hauptfelder unterteilt:
a) Sequenztyp-ieId 1326 (3 Bits);
b) Verzweigung und/oder Mikrooperationen 1327 (23 Bits);
c) Eonstanten-Erzeugung und -Bezeichnung 1328 (14 Bits);
d) Daten zum Bus 1329 (8 Bits);
e) Mikrooperationen 1330 (32 Bits);
f) 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 Ε-Felds gleich binär
0, 1 oder 2 ist, wird das Verzweigungsfeld A, B, C, D und
L des Mikrobefehls 1325 zur Erzeugung der nächsten Adresse verwendet. Die sechs ersten Bits des K.S-Registers1337
50 9823/0703
werden zusammen mit dem B-PeId verwendet, C prüft Resultate,
D prüft Resultate und das L-PeId um die nächste Adresse des nächsten Mikrobefehls zu erstellen, der daraufhin
in das Adreßregister KS 1337 übertragen wird. Wenn das E-PeId 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-PeId auf binä,r 5 positioniert
ist, wird eine Verzweigung zur Initialisierung einer leilrüokkehr 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-Verschachtelungs-Unterroutine
ist über das KS-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 KI-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-PeId des Steuerspeicher-Worts auf binär "6" positioniert ist, entspricht das
nächste adressierte Steuerspeicher-Wort der gegenwärtigen Adresse des KS-Registers 1337 plus 1 im Inkr.eraentor 13.33.
Wenn das E-PeId auf binär "7" positioniert ist, gibt die GSTJ 1301 den Diagnostik-Modus ein und die nächste Adresse
ist die gegenwärtige Adresse plus 1.
509823/0703
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 Pig.
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 E-PeId unterdrücken und eine feste Adresse in das Adreß-Register
KS 1337 des Steuerspeichers übertragen. Die Terzweigung
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 E-PeId erzeugt worden wäre, in das KA-Unterbrechungsrückkehr-Register
1339 gespeichert wird. In das Adreßregister des Steuerspeichers wird eine hardware-erzeugte 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-Bloek-Flip-Flops
für diese unter Firmware-Steuerung befindlichen Sequenzen ist eine Firmware-Mikrooperation vorhanden.
Diese Sequenzen bewirken unter Hardware-Steuerung ein autraatisches 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,
50 9 823/0703
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 am Wartungskanal,
e) Hardware-Ausgabe.
Ein Initialisierungssignal forciert die GSU 1301 zur Verzweigung
auf die Bnä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-Glear-Signal forciert die
CSU 1301 zur Verzweigung auf die Binäradresse "0", zur Lös3bung 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 den GSU-Adreßschaltern des (nicht abgebildeten)
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 wrd als Wartungshilfe benutzt. Am Ende der Sequenz wird
durch Ausgabe einer E-Feld-Verzweigung mit Forcierung
des Ε-Feldes auf binär "4" ein Rücklauf ausgelöst.
509823/0703
Durch ein Steuerspeicher-Ladesignal wird die CSU zur
Verzweigung auf die Binäradresse "O" forciert. Dieses
Signal löscht auch das CSU-Lesezyklus-Flip-Flop (nicht abgebildet) und den System-Taktgeber 1320 und positioniert
die GSU 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. Beim Laden durch den CSL wird
am Ende der Ladeoperation ein automatischer Abtastzyklus,
erzeugt. Beim Laden mit Hilfe eines anderen Mediums kann eine Abtastoperation entweder durch Erzeugung eines Hikrooperations-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 Fehlerbedingungen für die;Mikrodiagnostik erkennbar. Die Mikrodiagnostik überwacht die durchzuführende
Operation. Ein Software-Fehlersignal bewirkt anderer-
509823/0703
seits eine Verzweigung des Steuerspeichers auf die
binäre Adresse "1". Dies ist die Startadresse der mikroprogrammgesteuerten Software-Fehler-Anzeigesequenz.
In Pig. 5 ist das E-PeId 1326, wie bereits beschrieben,
ein 3-Bit-Feld für den Yerzweigungscode. Das Verzweigungs-
und/oder Mikrooperationsfeld 1327 ist in den Feldern A, B, C, D und L enthalten (ebenfalls in Block
1335 von Fig. 5 dargestellt); das A-FeId stellt hierbei
die oberen 6 Bits der nächsten Adresse dar, das B-Feld · die mittleren 4 Bits der nächsten Adresse des Maskenfelds
der 64-Weg-Yerzweigung, das C-FeId ist ein 6~3it-Testfeld
für einen der 64 Tests, das D-Feld ist ein weiteres 6-3it-Testfeld für einen der 64 üests und das
1-Feld ist das niedrigstwertige Bit. Das K-FeId 1328
ist ein 14-Bit-Feld, von dem 6 Bits für das Konstanten-Feld
verwendet werden, 4 Bits werden für ein Konstantenoder 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-Teil des QMB-Bus 1344 zugeleiteten
Informationen besitzt und das QB-FeId besitzt 4 Bits für die Steuerung der Informationen im QB-Teil des QMB-Bus
1344. Das F-FeId 1330 ist ein 32-Bit-Feld, das zur Erzeugung
der Mikrooperations-Uhterbefehle 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 DIiU 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
509823/070 3
im Steueropeicher 130 verwendet werden. Das P-PeId 1331
besteht aus 4 Bits, die für Prüfungen reserviert sind.
Während des Betriebs sind die Mikrobefehls-Worte in der
Steuerspeicher-Matrix 1333 gespeichert. Während 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 GPTJ befinden.
Jede Funktionseinheit beinhaltet Decodier-Logikschaltungen
zur Erzeugung der erforderlichen Unterbefehle, die vom Steuerspeicherwort unter Steuerung durch den System-Taktgeber
spezifiziert werden. Allgemein wird die Decodierung innerhalb jeder der Punktionseinheiten der GPU 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ätzlicherfolgt die Decodierung innerhalb aller Einheiten, um Timing-Probleme, die aus
den verschiedenen ICabelverzögerungen entstehen würden, zu verhindern.
Eine typische Decodier-Einheit 1359 ist in Fig. 5 dargestellt,
wo sie verschiedene Mikrobefehlswort-Felder empfängt und Mikrooperations-Signale a, b, c, d ... q, r
erzeugt. Ein typischer Mikrooperations-Decoder 1359 empfängt Befehle von einem Mikrobefehls-¥ort. 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 - ζ impe-
509823/0703
danzmäßig gekoppelt werden. Wenn das PeId eines Mikrobefehls
decodiert wird, ist normalerweise eine der Leitungen s-z auf logisch. 1. Da die in der Matrix mit
griechischen Buchstaben α- ω bezeichneten schwarzen Punkte die Impedanzkopplung zwischen den beiden leitungsgruppen
darstellen, werden alle 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
ist. 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 t
von der zentralen liming-Einheit erhalten, zugeleitet
werden. Jedesmal, wenn das !Timing-Signal t 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 Punktionseinheiten in der OPU. 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, 1361,
1362 und 1364 werden durchgeschaltet, wenn das Timing-Signal t„ sequentiell diesen Gattern zugeführt wird. Die
Kombination,in der die vertikalen Steuerleitungen mit den horizontalen Steuerleitungen an den verschiedenen, durch
griechische Buchstaben α- ω 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 Punktionseinheiten innerhalt
der Zentraleinheit durch Mikrobefehle gesteuert werden, die von der Steuerspeicher-Matrix 1333 erzeugt werden.
5 0 9 8 2 3/0703
Daher kann eine permanente Firmware, die die Eigenschaft der Veränderbarkeit hat, in die Maschine dieser Erfindung
eingebaut werden, indem lediglich die erforderliche Mikrooperations-Sequenz
angegeben wird, die als Fähigkeit des Computer-Systems erforderlich ist.
Unter normalen Bedingungen werden die Daten über das CPIJ-Daten-Schreibregister,
das auch als Lokal-Register YO 1343 bekannt ist, in die Steuerspeicher-Matrix 1333 eingeschrieben.
Ein (nicht abgebildetes) 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
eingeschireben werden. Das Speicherregister 1343 wird durch einen Betrieb im Zeitteilverfahren sowohl als Leseais
auch als örtliches Schreibregister verwendet. Der Multiplexer KQM 1345 kann sowohl vom Wartungspult. 1355
als auch durch Mikrοdiagnostik 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 Verfügung, das hauptsächlich für Wartungszwecke zusammen mit der Vergleichslogik 1352
und der Decodier-Logik 1351 benutzt wird.
509823/0703
Claims (9)
- Patentansprüche./i ./Datenverarbeitungssystem mit einer arithmetischen Logik-Einheit ALU, zur Durchführung von Befehlen im Eigen- oder Normal-Betriebsmodus des Systems, ein Steuerspeicher, der eine Yielzahl von Mikrobefehlen enthält, von denen jeder aus mehreren Feldern besteht, wobei ein PeId die von der Arithmetik-Einheit durchzuführende Operation definiert, gekennzeichnet durch- eine Emulations-Einheit für die Durchführung von Befehlen in der nicht-eigenen Betriebsart des Systems und in Mikrobefehlen, die in einem Steuerspeicher enthalten sind, ein spezielles codiertes PeId, mit dem angezeigt wird, ob diese Operation von der arithmetischen Logik-Einheit oder der Emulations-Einheit durchgeführt v/erden soll,- einen gemeinsamen Bus, der zwischen der Emulations-Einheit, der arithmetischen Logik-Einheit und dem besagten Steuerspeicher verläuft, und- eine mikroprograramierbare Schaltvorrichtung, die abhängig von einem weiteren PeId arbeitet, mit Einrichtungen zur Übertragung des Inhalts des Peldes über den gemeinsamen Bus zur Emulations-Einheit. oder zur arithmetischen Logik-Einheit und mit Einrichtungen für die Freigabe der Übertragung von Daten zwischen dem gemeinsamen Bus und einer der Einheiten.
- 2. System nach Anspruch 1, dadurch gekennzeichnet, daß die Codegruppe in dem weiteren PeId nur dann enthalten ist, wenn die Operation zu derjenigen der arithmetischen Logik-5098 2 3/0703und Emulations-Einheiten umgeschaltet werden soll, die die Operation derzeit gerade nicht durchführt.
- 3. System nach Anspruch 2, dadurch gekennzeichnet, daß die Codegruppe in dem weiteren Feld desjenigen Befehls enthalten ist, der operationsmäßig dem Befehl vorangeht, "bei dem die Umschaltung der Operation erfolgt sein v/ird.
- 4. System nach Anspruch 3, dadurch gekennzeichnet, daß der gemeinsame Bus- einen Steuer-Bus und einen Daten-Bus enthält.
- 5. System nach Anspruch 4, dadurch gekennzeichnet, daß die tnikroprogrammierbare Schaltvorrichtung folgende Einheiten enthält:A. Eine Decodiereinrichtung, die abhängig von der Codegruppe in dem weiteren PeId arbeitet, mit1. einer Einrichtung, die ein erstes Signal erzeugt, wenn die Codegruppe anzeigt, daß die arithmetische Logik-Einheit die Operation durchführen soll, und mit2. einer Einrichtung, die ein zweites Signal erzeugt, weirn. die Codegruppe anzeigt, daß die arithmetische Logik-Einheit die Operation durchführen soll, undB. eine gekoppelte Register-Einrichtung zur Speicherung eines der von der Decodiereinrichtung erzeugten Signals,
- 6. System nach Anspruch 5» dadurch gekennzeichnet, daß die Register-Einrichtung eine bistabile Speichervorrichtung enthält., die Durchschaltvorrichtungen für das erste Signal509323/0703zum Setzen der bistabilen Speichervorrichtung in einen ersten Status und Durchschaltvorrichtungen für das zweite Signal zum Setzen der bistabilen Speichervorrichtung in einen zweiten Zustand enthält.
- 7. System nach Anspruch 6, dadurch gekennzeichnet, daßA. eine Steuerleitung vorgesehen ist, die mit der bistabilen Speichervorrichtung gekoppelt ist, um entweder den ersten Status oder den zweiten Status aufzunehmen,B. die Übertragungseinrichtungen Gatter-Schaltungen enthalten, die abhängig von dem ersten oder dem zweiten Zustand die übertragung des Inhalts des Feldes über den Steuer-Bus freigeben, undC. die Freigabeeinrichtungen Gatter-Schaltungen enthalten, die abhängig von dem ersten oder dem zweit ep. Status die Übertragung der Daten über den Daten-Bus freigeben.
- 8. System nach Anspruch 7, dadurch gekennzeichnet, daß die arithmetische Logik-Einheit in der Lage ist, Befehle eines ersten Formats auszuführen, und daß die Emulations-Einheit eine artihmetische Einheit enthält, die zur Ausführung von Befehlen eines zweiten Formats fähig ist.
- 9. System nach Anspruch 8, gekennzeichnet durchA. einen Speicher, der eine Yielzahl von Speicherplätzen enthält,B. Einrichtungen zur Steuerung des Datenflusses innerhalb des Systems;509823/0703C. Einrichtungen zur Steuerung der Adressierung der Einheiten, der Speicherplätze und der Befehle im Speicher undD. Einrichtungen zur Kopplung des Speichers, der Einrichtungen zur Steuerung des Datenflusses und der Einrichtungen zur Steuerung der Adressierung mit dem gemeinsamen Bus, um die Übertragung von Daten und Befehlen im System zu ermöglichen.50 9823/07 0 3
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 true DE2456578A1 (de) | 1975-06-05 |
DE2456578C2 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2907181A1 (de) * | 1978-03-13 | 1979-09-20 | Motorola Inc | Befehlssatz-modifizierregister fuer einen datenprozessor |
Families Citing this family (28)
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 |
US4128873A (en) * | 1977-09-20 | 1978-12-05 | Burroughs Corporation | Structure for an easily testable single chip calculator/controller |
US4155118A (en) * | 1977-09-20 | 1979-05-15 | Burroughs Corporation | Organization for an integrated circuit calculator/controller |
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 |
EP0097725B1 (de) * | 1982-06-08 | 1986-05-14 | Ibm Deutschland Gmbh | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen |
US4587612A (en) * | 1982-10-22 | 1986-05-06 | International Business Machines Corporation | Accelerated instruction mapping external to source and target instruction streams for near realtime injection into the latter |
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 |
DE69216020T2 (de) * | 1991-03-07 | 1997-07-10 | Digital Equipment Corp | Verbessertes fehlersuchsystem und -verfahren, besonders für die fehlersuche in einer multi-architekturumgebung |
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 |
US9069918B2 (en) * | 2009-06-12 | 2015-06-30 | Cadence Design Systems, Inc. | System and method implementing full-rate writes for simulation acceleration |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2055716A1 (de) * | 1969-11-12 | 1971-05-19 | Honeywell Inc | Datenverarbeitungssystem zur gleich zeitigen Verarbeitung mehrerer Programme |
US3641505A (en) * | 1969-06-25 | 1972-02-08 | Bell Telephone Labor Inc | Multiprocessor computer adapted for partitioning into a plurality of independently operating systems |
Family Cites Families (7)
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 |
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 US US05/528,824 patent/US3997895A/en not_active Expired - Lifetime
- 1974-12-02 IT IT30058/74A patent/IT1026695B/it active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3641505A (en) * | 1969-06-25 | 1972-02-08 | Bell Telephone Labor Inc | Multiprocessor computer adapted for partitioning into a plurality of independently operating systems |
DE2055716A1 (de) * | 1969-11-12 | 1971-05-19 | Honeywell Inc | Datenverarbeitungssystem zur gleich zeitigen Verarbeitung mehrerer Programme |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2907181A1 (de) * | 1978-03-13 | 1979-09-20 | Motorola Inc | Befehlssatz-modifizierregister fuer einen datenprozessor |
Also Published As
Publication number | Publication date |
---|---|
JPS5935056B2 (ja) | 1984-08-27 |
US3997895A (en) | 1976-12-14 |
DE2456578C2 (de) | 1985-05-15 |
IT1026695B (it) | 1978-10-20 |
FR2253435A5 (de) | 1975-06-27 |
GB1478504A (en) | 1977-07-06 |
JPS50114943A (de) | 1975-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2456578A1 (de) | Datenverarbeitungssystem | |
DE2722099C2 (de) | ||
DE2316296C2 (de) | Mikroprogrammierbarer Prozessor | |
DE2555963C2 (de) | Einrichtung zur Funktionsmodifizierung | |
DE2648229C2 (de) | ||
DE3914265C2 (de) | ||
DE2846495C2 (de) | Zentraleinheit | |
DE3110378C2 (de) | ||
DE2416609C2 (de) | Datenverarbeitungsanlage mit einer zentralen Verarbeitungseinheit und Multiprogrammierung mit mehreren Programmunterbrechungs-Prioritätsstufen | |
DE2714805C2 (de) | ||
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2209136A1 (de) | Steuer- und Anpassungsschaltung für Datenverarbeitungsanlagen | |
DE2023354C2 (de) | Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher | |
DE2657848A1 (de) | Steuereinheit fuer ein datenverarbeitungssystem | |
DE2658864A1 (de) | Pruefsystem fuer eine mikroprogrammierte verarbeitungseinheit | |
DE2902465A1 (de) | Datenverarbeitungsanordnung | |
CH619309A5 (de) | ||
DE2540823C2 (de) | Elektronische Datenverarbeitungsanlage | |
DE2517276A1 (de) | Datenverarbeitungssystem | |
DE2507403A1 (de) | Geraetesteuerung | |
DE1901036A1 (de) | Anordnung fuer die wiederholte Ausfuehrung fehlerhaft ausgefuehrter Funktionen | |
DE2755616A1 (de) | Asymmetrischer multiprozessor | |
DE2400064A1 (de) | Speicherpruefanordnung und diese verwendendes endgeraetsystem in einem datenverarbeitungssystem | |
DE2248296A1 (de) | Programmsteuereinrichtung | |
DE2652869A1 (de) | Datensicherungseinrichtung |
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 |