DE2456578A1 - Datenverarbeitungssystem - Google Patents

Datenverarbeitungssystem

Info

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
Application number
DE19742456578
Other languages
English (en)
Other versions
DE2456578C2 (de
Inventor
Jean-Claude Marcel Cassonnet
Andre Lucien Milleret
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull SA
Original Assignee
Bull SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bull SA filed Critical Bull SA
Publication of DE2456578A1 publication Critical patent/DE2456578A1/de
Application granted granted Critical
Publication of DE2456578C2 publication Critical patent/DE2456578C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; 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.
Weiterhin kann bei variablen Byte-Operanden deren Länge
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.
Zusammenfassung der Erfindung ' '" -■■·■·■■
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
Kurzbesohre !"bung der Zeichnungen
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.
Detaillierte- Beschreibung bevorzugter- Ausführungsbeispiele
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)

  1. 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. 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/0703
    und Emulations-Einheiten umgeschaltet werden soll, die die Operation derzeit gerade nicht durchführt.
  3. 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. 4. System nach Anspruch 3, dadurch gekennzeichnet, daß der gemeinsame Bus
    - einen Steuer-Bus und einen Daten-Bus enthält.
  5. 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, mit
    1. einer Einrichtung, die ein erstes Signal erzeugt, wenn die Codegruppe anzeigt, daß die arithmetische Logik-Einheit die Operation durchführen soll, und mit
    2. einer Einrichtung, die ein zweites Signal erzeugt, weirn. die Codegruppe anzeigt, daß die arithmetische Logik-Einheit die Operation durchführen soll, und
    B. eine gekoppelte Register-Einrichtung zur Speicherung eines der von der Decodiereinrichtung erzeugten Signals,
  6. 6. System nach Anspruch 5» dadurch gekennzeichnet, daß die Register-Einrichtung eine bistabile Speichervorrichtung enthält., die Durchschaltvorrichtungen für das erste Signal
    509323/0703
    zum 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. 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, und
    C. 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. 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. 9. System nach Anspruch 8, gekennzeichnet durch
    A. einen Speicher, der eine Yielzahl von Speicherplätzen enthält,
    B. Einrichtungen zur Steuerung des Datenflusses innerhalb des Systems;
    509823/0703
    C. Einrichtungen zur Steuerung der Adressierung der Einheiten, der Speicherplätze und der Befehle im Speicher und
    D. 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
DE2456578A 1973-11-30 1974-11-29 Datenverarbeitungsanlage Expired DE2456578C2 (de)

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)

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

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

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

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

Patent Citations (2)

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

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