DE2456578C2 - Datenverarbeitungsanlage - Google Patents

Datenverarbeitungsanlage

Info

Publication number
DE2456578C2
DE2456578C2 DE2456578A DE2456578A DE2456578C2 DE 2456578 C2 DE2456578 C2 DE 2456578C2 DE 2456578 A DE2456578 A DE 2456578A DE 2456578 A DE2456578 A DE 2456578A DE 2456578 C2 DE2456578 C2 DE 2456578C2
Authority
DE
Germany
Prior art keywords
unit
control
arithmetic
emulation
field
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2456578A
Other languages
English (en)
Other versions
DE2456578A1 (de
Inventor
Jean-Claude Marcel Conflans-Ste-Honorine Cassonnet
André Lucien Santeny 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

65
Die vorliegende Erfindung bezieht sich auf eine Datenverarbeitungsanlage nach dem Oberbegriff des Pa
tentanspruchs 1.
Bei Datenverarbeitungsystemen, die die Fähigkeit besitzen, andere Datenverarbeitungsysteme zu emulieren, treten für gewöhnlich Probleme auf, die sich aus den verschiedenen Architekturen der beiden Systeme ergeben. Zum Beispiel kann ein System, das emulierte System zum Beispiel, byteszeichenorientiert sein, während das emulierende System multibytes- oder wortorientiert ist.
Weiterhin kann bei variablen Byte-Operanden deren Länge im emulierten System mit einem Kennmarken-Bit im letzten Byte des Operanden spezifiziert werden und im Emulator-System durch einen Zähler, der immer dann dekrementiert wird, wenn ein Byte des Operanden verarbeitet wird. Im allgemeinen kann das Problem auf mehrere Arten gelöst werden; eine Möglichkeit besteht darin, nur Soft- und/oder Firmware zu benutzen, ohne dabei für die spezifische Funktion auf zusätzliche Hardware zurückzugreifen. Diese Lösung ist zwar praktisch durchführbar, hat jedoch eine Verminderung der Leistungsfähigkeit des Systems zur Folge, da z. B. bei eventuell erforderlichen Maskierungs-Operationen zuviel Zeit verloren geht Eine andere Lösung besteht darin, die Emulation mit Hardware wie auch mit Firmware durchzuführen.
Der Einsatz von Hard- und Firmware im gewünschten Emulations-Sysiem erfolgt durch Hinzuschaltung einer Hardware-Einheit z. B. an das zentrale Datenverarbeitungssystem. Diese Einheit wird als Emulations-Einheit bezeichnet und führt die Funktionen des emulierten Systems innerhalb der Leistungs-Spezifikationen des emulierenden Systems durch. Ein derartiges Datenverarbeitungssystem mit einer zusätzlich zu einer arithmetisch/logischen Einheit vorgesehenen Emulationseinheit ist in der DE-OS 20 55 716 beschrieben. Es entsteht eine programmgesteuerte Schalteinrichtung zum Umschalten zwischen den beiden Einheiten, um unterschiedliche Befehlssätze getrennt zu verarbeiten.
Eine Emulation ist von besondei j- Bedeutung, wenn die Architektur des Datenverarbeitungssystems von der des zu emulierenden Systems abweicht wie dies bei der hier beschriebenen Datenverarbeitungsanlage der Fall ist Der Befehlscode muß möglichst ohne den Betrieb des Emulator-Systems zu beeinflussen angepaßt werden, und es muß ein leistungsfähiges Schaltsystem verfügbar sein, damit beim Umschalten zwischen dem Ausführungsablauf in der Emulations-Einheit und in der arithmetisch/logischen Einheit die Arbeitsgeschwindigkeit des Gesamtsystems nicht wesentlich beeinträchtigt wird.
Der Erfindung liegt die Aufgabe zugrunde, eine Datenverarbeitungsanlage der eingangs genannten Art zu schaffen, die durch Emulation mit anderen Systemen kompatibel ist, und bei der beim Umschalten zwischen der arithmetisch/logischen Einheit und der Emulationseinheit möglichst geringe Zeitverluste auftreten.
Diese Aufgabe wird durch die Lehre des Palentanspruchs 1 gelöst.
Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
Eine Ausführungsform der Erfindung wird nun unter Bezugnahme auf die Zeichnung näher beschrieben. In der Zeichnung zeigt
F i g. 1 ein allgemeines Blockdiagramm der Datenverarbeitungsanlage;
F i g. 2 eine detailliertere Ansicht der Anwendung einer mikroprogrammierbaren Schaltvorrichtung;
F i g. 3 das Format mehrerer mikroprogrammierbarer
Befehle die in allen Steuerspeicher-Worten des Steuerspeichers enthalten sind;
Fig.4 ein detailliertes Schema der zentralen Verarbeitungseinheit und einer Steuereinheit;
F i g. 5 die EinzeEheiten der Steuereinheit; und
F i g. 6 das Format des im Steuerspeicher enthaltenen Steuerspeicher-Worts.
In F i g. 1 ist ein Ausführungsbeispiel der Datenverarbeitungsanlage nach der vorliegenden Erfindung dargestellt Diese Anlage beinhaltet einen 32 Bit-Datenbus 1500 und einen 32 Bit-Festspeicher (ROS) sowie einen Operationscode-Bus 1502, die alle mit den verschiedenen in den F i g. 1 und 2 dargestellten Einheiten gekoppelt sind. Die wesentlichen Elemente sind dia Steuereinheit 130, die arithmetisch/logische Einheit (ALU) 1317 und die Emulationseinheit (EMU) 1316. Zum System gehört weiterhin die Adreß-Steuer-Einheit (ACU) 1319, die Daten-Verwaltungseinheit (DMU) 1321 und der »Scratch pad«-Speicher (SPU) 1315.
Allgemein steht die Adreß-Steuer-Einheit 1319 über den Bus 1500 mit der ALU 1317, der DMU 1321 und mit der Steuereinheit 130 in Verbindung. Die AcU 1319 ist für alle Adreß-Entwicklungen in der zentralen Verarbeitungseinheit verantwortlich. Alle Operationen der ACU einschließlich Übertragungen zu, von und innerhalb der Einheit werden von der Mikrooperations-Logik des in der Steuereinheit enthaltenen Steuerspeichers gesteuert Die DMU 1321 arbeitet im allgemeinen als Interface zwischen der zentralen Verarbeitungseinheit und dem mit der Datenverarbeitungsanlage gekoppelten Hauptspeicher (nicht abgebildet). Die Daten-Ver waltungseinheit 1321 hat die Aufgabe, festzustellen, in welcher Einheit sich die von anderen Einheiten angeforderten Informationen befinden, und diese Informationen zum richtigen Zeitpunkt in die Register der zentralen Verarbeitungseinheit zu übertragen. Der »Scratch Pad«-Speicher 1315 enthält normalerweise 256 Speicherplätze zu je 32 Bit. zusätzlich zu der erforderlichen Auswahl- i-tid Lese/Schreib-Logik und wird zur Speicherung der für die zentrale Verarbeitungseinheit bestimmten Steuer- und Wartungs-Informationen verwendet. Zusätzlich enthält der »Scratch Pad«-Speicher 1315 bestimmte Arbeitsspeicherplätze, die hauptsächlich zur vorübergehenden Speicherung von Operanden und Teilrrsultaten während der Da'enverarbeitung verwendet werden.
Die Steuereinheit 130 enthält eine Decodiereinheit (CSU) 1301, wie aus F i g. 5 und 6 ersichtlich, sowie einen Festspeicher und eventuell weiterhin einen Lese/ Schreib-Random-Festspeicher. Jede Funktionseinheit verfügt über eine bestimmte Anzahl von Bits des Mikro-Operations-Steuerfelds des ihr zugewiesenen Steuerspeicherworts, und in Abhängigkeit von dieser Konfiguration werden verschiedene Steuerfunktionen erzeugt. Das Basis-Datenverarbeitungsystem ist so konzipiert, daß Emulaiions-Erfordernisse zusätzlich auftreten. Im Basissystem ist jedes Bit des Mikrobefehls einer bestimmten Einheit zugewiesen und wird zur Steuerung der Operation der verschiedenen Einheiten benutzt. Einige dieser Bits innerhalb der Befehle müssen mehrfach benutzt werden, um die Emulationseinheit zu betreiben. Im Normalfall würde die Emulationseinheit 1316 grundsätzlich alle ihre arithmetischen und logischen Funktionen innerhalb ihrer eigenen Arithmetik-Einheit 1390 erzeugen, und daher ist eine gemeinsame Benutzung der der ALU 1317 zugewiesenen Bits mit der EMU 1316 vorgesehen, um die respektiven Operationen dieser Einheiten zu steuern. Daher arbeitet die EMU 1316 als Interface mit ACU, DMU, RCU und SPU und kann andererseits die Einrichtungen dieser Einheiten benutzen. Wenn die EMU 1316 in Betrieb ist ist die ALU 1317 außer Betrieb und umgekehrt Zur Durchführung der Hin- und Rückschaltung zwischen ALU und EMU und um gleichzeitig die jeweiligen Vorteile der Einheiten je nach erzeugten Befehlen auszunutzen, wird eine mikroprogrammierbare Schaltvorrichtung verwendet die wie in F i g. 2 dargestellt durch die Steuereinheit 130 gesteuertwird.
Der Datenbus 1500 und der mit der ALU 1317, EMU
1316 und der Steuereinheit 130 gekoppelte Operationscode-Bus 1502, sind in F i g. 2 genauer dargestellt. Die Steuereinheit 130 beinhaltet eine Steuerspeicher-Matrix 1333, die initialisiert wird, um mehrere der Steuerspeicher-Worte aufzunehmen, deren Mikrooperations-Unterbefehlsfeld allgemein als Bleck 1506 dargestellt ist Die detaillierte Struktur des Steuerspeicher-Worts soll anhand von F i g. 6 beschrieben werden; für Zwecke dieser Erläuterung ist das Mil.: .iOperations-Unterbefehisfeid mit einer Anzahl von Lmfrfeidern dargestellt von denen eines das Operationscode-Unterfeld ist und das andere die Steuer-Bits beinhaltet, mit denen angegeben wird, ob das Operationscode-Unterfeld die Funkt'.in von ALU 1317 oder EMU 1316 steuert Das Operationscode-Unterfeld ist mit dem Bus 1502 gekoppelt um entweder von ALU 1317 oder von EMU 1316 zu empfangen, je nach Status des Registers oder Flip-Flops 1510, wie bei der Steuerbit-Leilung 1600 angegeben. Wenn das Flip-Flop 1510 gelöscht ist, besteht auf der Leitung 1600 der binäre Null-Status, und die ALU
1317 kann den Operationscode von Bus 1502 aufnehmen. Wenn das Flip-Flop 1510 gesetzt ist, besteht auf der Leitung 1600 der Birärzustand »1« und die EMU 1316 kann den Operationscode von Bus 1502 aufnehmen. Das Setzen oder Löschen des Flip-Flops 1530 wird durch einen Decoder 1508 entsprechend dem Steuerbit-Unterfeld des Microoperations-Unterbefejilsfeldes 1506 gesteuert Zusätzlich zu den beiden Decoder-Ausgnngsleitungen, die zur Steuerung des Zustandes von Flip-Flop 1510 benutzt werden, erzeugt der Decoder 1508 Signale in Abhängigkeit von der Kombination der Steuerbits, um die internen Operationen aer Steuereinheit 130 zu steuern.
Wenn daher in der Steuereinheit 130 ein Steuerspeicher-Wort adressiert wird, erfolgt eine Positionierung der Steuerbit-Leitung 1600 auf den Binärzustand Null oderwl«.
Wenn auf der Leitung 1600 der binäre Null-Zustand vorhanden ist, werden die Gatter 1602, 1604 und 1606 der ALU 1317 freigegeben, um die Übertragung des Operationscodes über den Bus 1502 zum Operationscode-i\.egister 1608 zu ermöglichen und um den Inhalt des Datenregisters 1610 zum Datenbus 1500 zu übertragen und/oder um die Daten über den Bus 150G zu Register 1610 zu übertragen. Der Inhalt von Register 1610 wird entweder durch eine arithmetische Operation in ALU 1317 erzeugt oder als Operand von Bus 1500 für die verschiedenen Operanden-Register, die sich in ALU 1317 befinden können, erzeugt. Der Operationskode in Register 1608 wird mit Hilfe des Decoders 1512 decodiert um Steuer-Signale zu erzeugen und um die Eigenfunktion der Einheit in Übereinstimmung mit dem so empfangenen Opemionscode zu gewährleisten. In gleieher Weise wird ein Binärstatus »1« auf Leitung 1600 nach Invertierung zu binär »0« durch den Inverter 1650, Zur Freigabe der Gatter 1702,1704 und 1706 verwendet, um die oben beschriebene Operation für ALU 1317 mit
den Registern 1708 und 1710 und dem Decoder 1712 in EMU 1316 freizugeben.
Auf diese Weise spricht die mikroprogrammierte Schaltvorrichtung (Fig.2) die auf die Einheiten 130, 1316 und 1317 aufgeteilt ist, auf die Steuerbits des Unterfeldes des Mikrooperations-Unterbefehlsfeldes des Steuer-Speicher-Worts an. Der binäre Null-Status der Steuerbit-Leitung 1600 gibt seinerseits die ALU 1317 für die jeweilige Übertragung von Daten vom oder zum Bus 1500 frei. In gleicher Weise wird der Operationscode entweder von der ALU 1317 oder der EMU 1316 über den Bus 1502 aufgenommen. Wie aus F i g. 6, in der das detaillierte Befehlsformat dargestellt ist, ersichtlich (Steuerspeicher-Wort 1325 Steuereinheit 130), können derartige Steuerspeicher-Worte orientiert oder konfiguriert werden, um zwischen den ALU- und EMU-Betriebsarten Verzweigungen oder Vor- und Rückschaltungen durchzuführen.
In Fig.3 sind für Mikrooperations-Unterbefehlsunterfelder für fünf aufeinanderfolgende Steuer-Speicher-Worte a bis e dargestellt. Eins dieser fünf Unterfelder gibt den Operationscode an und ein anderes gibt Aufschluß darüber, ob eine Operationsänderung in der ALU oder der EMU durchgeführt wi ' Die übrigen drei Unterfelder steuern die anderen im System gekoppelten Funktionseinheiten und werden später ausführlicher beschrieben. Aus der Erläuterung von F i g. 3 geht hervor, daß, wenn der Inhalt von Register 1510 vor der Ausführung von Steuerspeicher-Wort a gleich Null ist, in der Emulationseinheit keine Operation abläuft und daß in diesem Fall ALU 1317 in Übereinstimmung mit dem Operationscode-Befehl funktioniert. Dieser Befehl kann für Wort a mit einbezogen werden, das zum Beispiel eine Datenübertragung von Bus 1500 zum Akkumulator-Register wie auch zum Operanden-Register von ALU 1317 anzeigt. Im nächsten Befehl zeigt das Wort b des Steuerbus (einfach als binär »i« dargesieiit) an, daß der nächste Befehl eine EMU-Operation steuert. Auf diese Weise wird das Register 1510 auf den Binären »1 «-Status positioniert, wenn das Wort b durchgeführt wird. Beim Auftreten des als Wort c gekennzeichneten Beiehls, empfängt die EMU Daten von Bus 1500 in einem ihrer BW-Register. In ähnlicher Weise zeigt der nächste Befehl, Wort d, an, daß das Ergebnis der binären Addition der beiden Register BRR und EPL in EMU 1316 auf den Bus 1500 übertragen wird. Die Operation verbleibt bei EMU 1316, da die Steuerbits nicht geändert worden sind. Es ist noch zu bemerken, daß das Sternchen in den verschiedenen Unterfeldern angibt, daß jegliche weiteren Operationen, die sich auf den Anwendungszweck eines solchen Unterfeldes beziehen, zum Zeitpunkt der Initialisierung enthalten sein können. Auf diese Weise können die Unterfelder, in denen die Steuerbits untergebracht sind, zur Steuerung anderer Operationen in der Steuereinheit 130 verwendet werden, wenn die Anzeige einer Schaltoperation zwischen ALU 1317 und EMU 1316 nicht angezeigt werden muß. Während des nächsten Befehls, Wort e, bleibt die EMU in Betrieb. Die Steuerbit-Unterfelder zeigen jedoch zum Beispiel an (durch die Anzeige »binär 0«), daß der nächste Befehl in der ALU 1317 ausgeführt wird. Daher wird bei der Ausführung von Wort e das Register oder Flip-Flop 1510 gelöscht, um auf der Leitung 1600 den Zustand binär »0« zu erzeugen. In Übereinstimmung hiermit wird der Operationscode des nächsten Worts zur Steuerung der ALU 1317 benutzt Auf diese Weise werden Befehle oder Daten, die am besten in der ALU 1317 oder der EMU 1316 verarbeitet werden in Abhängigkeit von der Stellung der mikroprogrammierbaren Schaltvorrichtung verarbeitet. Um so die Leistung des Systems zu steigern, indem die für die Ausführung eines bestimmten Befehls oder Steuerspeicher-Worts erforderliche Zeit verkürzt wird.
In den F i g. 4,5 und 6 sind Einzelheiten der Steuereinheit dargestellt. Obwohl getrennt von der zentralen Verarbeitungseinheit (CPU) dargestellt, ist die Steuereinheit in Wirklichkeit ein Bestandteil der CPU und beinhaltet die Decodiereinheit CSU 1301, einen Steuerspeicher-Interface-Adapter CIA 1302 und die dazugehörigen Untereinheiten, einen Steuerspeicher-Loader CSL 1303 sowie die Steuer- und Ladeeinheit CLU 1304. Die Decodiereinheit CSU 1301 empfängt Mikrobefehle vom Steuer-Speicher-Loader CSL 1303 über die Steuer- und Ladeeinheit CLU 1304 sowie den Steuerspeicher-Interface-Adapter CIA 1302. Unter normalen Funktionsbedingungen werden die Mikroprogramme während der System-initiaüsierung von einer externen Quelle aus geladen und werden zu einer permanenten Steuerfunktion der Maschine. Die Decodiereinheit CSU 1301 kann jedoch so nachgeladen und initialisiert werden, daß eine Vielzahl von Zentraleinheit-Betriebsarten erzeugt werden (CPU 1306). Die folgenden Betriebsar· ten der Zentraleinheit können unter Steuerung durch die CSU 1301 erzeugt werden;
(a) Eigenmodus;
(b) Emulationsmodus (Nicht-Eigenmodus);
(c) paralleler Eigen-und Emulationsmodus;
(d) Diagnostikmodus
Diese Fähigkeit ergibt sich aus den in der CSU befindlichen Mikrobefehlen, die die Quelle der Mikrooperationen darstellen, mit denen der Betrieb aller anderen funktionellen CPU-Einheiten, wie zum Beispiel der EfriulaüüfiS-Einhcti 131ö, dcF anihniutischun/logischen Einheit ALU 1317, der Befehls-Erfassungseinheit IFU 1313, der Adreß-Steuereinheit ACU 1319 und der Datenverwaltungseinheit DMU 1321 gesteuert wird. Innerhalb der zentralen Verarbeitungseinheit CPU 1306 sind ebenfalls die allgemeinen Register 1307, die Basisregister 1308, die wissenschaftlichen Register 1309, die T-Register 1310, Status-Register 1311, der Befehlszähler IC 1312 und das Hardware-Steuermasken-Register 1313 dargestellt.
Im Normalfall ist die Decodiereinheit CSU 1301 ein aus bipolaren integrierten Schaltungen bestehender programmierbarer 9K-Festspeicher (PROM), der mit einem Lese/Schreib-Random-Zugriffsspeicher ^RAM) gemischt ist. Er besitzt einen typischen 150 Nanosekunden-Lesezyklus und einen 450 Nanosekunden-Schreibzyklus. jede Position des Steuerspeichers speichert ein 84-Bit-Mikrobefehlswort und dieses steuert einen CPU-Zyklus. Wenn eine Position des Steuerspeichers gelesen wird, wird der Inhalt mit Mikrooperations-Decodern decodiert. Hierbei entstehen Mikrooperations-Steuersignale, von denen jedes bewirkt, daß eine spezielle Operation innerhalb der CPU stattfindet Durch Zusammenfassung der Positionen innerhalb eines jeden Mikrobefehlsworts (wird später im Detail beschrieben) werden Steuer-Speicher-Sequenzen erzielt, mit denen spezifische CPU-Operationen oder -Befehle durchgeführt werden können. Wenn ein Befehl von der CPU ausgelöst wird, werden bestimmte Bits innerhalb des Operationscodes zur Bestimmung der Steuerspeicher-Startsequenz benutzt Die Steuerung bestimmter (nicht abgebildeter) Flip-Flops, die durch Befehls-Decodierfunktio-
nen positioniert oder gelöscht werden, kann der Steuer-Speicher, wenn erforderlich, auf eine spezifischere Sequenz übergehen.
DerSlcuerspeicher-Interface-AdapterCIA 1302 ist in Verbindung mit der Dccodiercinheit 1301, der Datenvcrwiillungscinheit DMU 1321, der Adrcß-Stcucreinhcii ACU 1319 und der arithmetisch/logischen Einheit AIlU 1317 zur Steuerung des Steuerspeichers 1333 der Steuereinheit (Fig.5). Der ClA 1302 beinhaltet die Logik für die Adreßänderung, das Tester·,· die Fehlerkontrolle und die Hardware-Adreßerzeugung des Steuerspeichers. Die Hardware-Adreßerzeugung wird im allgemeinen für die Entwicklung der Startadresse von Fehlersequenzen oder für die Initialisierungssequenz verwendet.
Die Datenverwaltungseinheit DMU 1321 stellt das Interface zwischen der CPU 104 und dem Hauptspeicher und/oder dem nicht abgebildeten Pufferspeicher dar. Die Datenverwaltungseinheit hat die Aufgabe, festzustellen, in welcher Einheit sich die von einer anderen Einheit angeforderte Information befindet, und diese Information zum richtigen Zeitpunkt der CPU-Registern zuzuleiten. Die Datenverwaltungseinheit DMU führt ebenfalls die Maskierung während partieller Schreiboperationen durch.
Die Befehlserfassungseinheit IFU 1318 ist mit der DMU 1321, der ACU 1319, der ALU 1317 und der CSU 1301 verbunden. Sie hat die Aufgabe, die CPU ständig mii Befehlen zu versorgen. Die Befehlserfassungseinhc;t speichert den nächsten verfügbaren Befehl in ihrem Register ab, bevor der gegenwärtige Befehl zu Ende gebracht ist Zur Durchführung dieser Operation verfügt die Informationserfassungseinheit IFU 1318 über ein 12-Byte-Befehlsregister (nicht abgebildet), das normalerweise mehr als einen Befehl enthält. Zusätzlich fragt die IFU unter Steuerung durch die CSU Informationen (Befehle) vom Hauptspeicher ab, bevor der Befehl wirklich benötigt wird und hält so ihr 12-Byte-Befehlsregister ständig auf dem neusten Stand. Die Befehle werden mit Hilfe von normalerweise unbenutzten Speicherzyklen »Vorw-abgegriffen. Di: Befehlserfassungseinheit decodiert ebenfalls alle Befehle und informiert die anderen Einheiten über das Format und die Länge der Befehle.
Die Adreß-Steuereinheit ACU 1319 ist über CIA in Verbindung mit IFU, ALU, DMU und der CSU. Die ACU 1319 ist für alle Adreßentwicklungen in der CPU verantwortlich. Alle Operationen der ACU, einschließlich Übertragungen zu, von und innerhalb der Einheit werden von der CSU-Mikrooperation- und Logik in der Einheit gesteuert Der normale Zyklusablauf der ACU hängt von den Adreßtypen innerhalb der Befehle und nicht von den Befehlstypen ab. In Abhängigkeit von den Adreßtypen kann die ACU verschiedene Operationen für alle Adressen innerhalb eines Befehls durchführen. Die ACU enthält ebenfalls einen Assoziations-Speicher 1319a, der normalerweise die Basisadresse der 8 am häufigsten benutzten Speichersegmente mit deren Segmentnummern speichert Bei jedem Speicherabruf wird die Segmentnummer mit dem Inhalt des Assoziations-Speichers verglichen, um festzustellen, ob die Basisadresse des Segments schon entwickelt und gespeichert worden ist Wenn die Basisadresse im Assoziations-Speicher 1319a enthalten ist wird diese Adresse in der absoluten Adreßentwickiung verwendet und eine beträchtliche Zeitspanne wird eingespart. Wenn sich die Basisadresse nicht im Assoziations-Speicher 1319a befindet, wird sie durch Zugriff zu den Hauptspeichertabellen erstellt. Nach Entwicklung der Basisadresse des Segments wird diese zusammen mit der Segmentnummer als zukünftige Referenz abgespeichert.
Die arithmetisch/logische Einheit ALU 1317 ist in Verbindung mit ACU, IFU, DMU und CSU. Ihre Hauptfunktion besteht in den von der CPU benötigten arithmetischen Operationen und Datenmanipulationen. Die Operationen der arithmetisch/logischen Einheit hängen voll und ganz von den Mikrooperations-Steuersignalen ab, die von der Steuereinheit 130 geliefert werden.
Der »Scratch Pad«-Speicher LSU 1315 ist mit der ALU 1317 und der CSU 1301 assoziiert (in manchen Fällen als örliche Speichereinheit bezeichnet). Er besteht im Normalfall aus einem Festkörper-Speicher mit 256 Speicherplätzen (32 Bits pro Speicherplatz) und der Auswahl- sowie der Lese/Schreib-Logik für diesen Speicher. Der »Scratch Pad«-Speicher 1315 wird zur Abspeicherung der CPU-Steuer- und der Wartungsinformationen benutzt. Zusätzlich enthält der »Scratch Pad«-Speicher 1315 bestimmte Arbeitsspeicherplätze, die in erster Linie zur zeitweiligen Speicherung von Operanden und Teilresultaten während der Datenmanipulation verwendet wird. Ebenfalls verbunden mit der ALU 1317 ist ein HilfsSpeicher 1317a, der normalerweise 64 Flip-Flops zur Speicherung der verschiedenen Betriebszustände des Computer-Systems enthält.
Die CPU besitzt ebenfalls eine Taktgeber-Einheit 1320, die im wesentlichen zwei Taktgeber-Systeme in einem sind: das erste Taktgeber-System erzeugt die Befehlsimpulse für den Steuer-Interface-Adapter CIA und das zweite Taktgeber-System erzeugt die Befehlsimpulse für Operationen der Funktionseinheit innerhalb der zentralen Verarbeitungseinheit.
In Fig.6 ist das Format des Steuerspeicherworts 1325 dargestellt. Das Steuerspeicherwort besteht normalerweise aus 84 Bits und ist in 6 Hauptfelder unterteilt:
a) Sequenztyp-Feld 1326 (3 Bits);
b) Verzweigung und/oder MikroOperationen 1327 (^3 Bits);
c) Konstanten-Erzeugung und -Bezeichnung 1328 (14 Bits);
d) Daten zum Bus 1329 (8 Bits);
e) MikroOperationen 1330(32 Bits);
Q Prüfung 1331 (4 Bits).
Das E-FeId (3 Bits) des Steuerspeicher-Worts 1325 wird als Sequenzsteuerfeld benutzt Im Normalfall befinden sich dort sieben verschiedene Sequenztypen und ein Reserve-Typ für das gegenwärtige Computer-System. Block 1335 von Fig.5: Wenn der Inhalt des E-Felds gleich binär 0,1 oder 2 ist wird das Verzweigungsfeld A, B1QD und L des Mikrobefehls 1325 zur Erzeu- gung der nächsten Adresse verwendet Die sechs ersten Bits des KS-Registers 1337 werden zusammen mit dem ß-Feld verwendet C prüft Resultate, D prüft Resultate und das L-FeId um die nächste Adresse des nächsten Mikrobefehls zu erstellen, der daraufhin in das Adreßregister KS 1337 übertragen wird. Wenn das E-FeId auf binär 4 positioniert wird (siehe Block 1335), wird die nächste ausgewählte Adresse vom »Unterbrechungsrückkehr-Register« KA 1339 abgegriffen. Die im KA-Register gespeicherte Adresse ist diejenige, die beim Auftreten der Hardware-Unterbrechung von der nächsten Adreßerzeugungs-Logik erzeugt wird. Wenn das E-FeId auf binär 5 positioniert ist, wird eine Verzweigung zur Initialisierung einer Teilrückkehr von einer
Mikroprogramm-Unterroutine verwendet. Wenn er benutzt wird, dient der Inhalt des Rücklauf-Registers KR 1346 als nächste Steuerspeicher-Adresse. Das Rücklaufregister 1346 wird durch Ausgabe eines Steuerspeicher-Befehls geladen der die gegenwärtige Steuerspeicher-Adresse im KS Register 1337 plus 1 abspeichert, also vom Inkrementor 1338 in das KR-Register 1346. Eine Ein-Pegel-Veischachtelup.gs-Unterroutine ist über das KT-Rücklauf-Verzweigungsregister 1347 verfügbar. Jedesmal, wenn das KR-Register 1346 geladen wird, erfolgt bei jeder Anforderung des Mikroprogramm-Rücklaufs eine Übertragung des alten Inhalts des KR-Registers in das KT-Register 1347; der Inhalt des KT-Registers wird in das KR-Register übertragen. Das KU-Register 1340 ermöglicht die Verschachtelungs-Unterroutine des dritten Pegels, die Unterroutine des vierten Pegels wird durch das KV-Rücklauf-Verzweigungsregister 1349 ermöglicht. Wenn das E-FeId des Steuerspei-
f Ji !
nächste adressierte Steuerspeicher-Wort der gegenwärtigen Adresse des KS-Registers 1337 plus 1 im Inkrementor 1338. Wenn das ZT-FeId auf binär »7« positioniert ist, gibt die CSU 1301 den Diagnostik-Modus ein und die nächste Adresse ist die gegenwärtige Adresse plus 1.
Zusätzlich zur Sequenzsteuerung der oben beschriebenen und in Block 1335 dargestellten nächsten Steuerspeicher-Adresse, führt die Hardware eine in Block 1336 von F i g. 6 beschriebene Sequenzsteuerung durch. (Anmerkung: Die Blöcke 1335 und 1336 sind in Wirklichkeit Hardware-Register, die so dargestellt sind, daß die verschiedenen Formen, die die Mikrobefehls-Worte annehmen können, zum Ausdruck kommen.) Die Hardware erzeugt Verzweigungen und Übersprung-Bedingungen (wie Fehler, Initialisierung, Steuerspeicher-Abtastung, etc ...), die das F-FeId unterdrücken und eine feste Adresse in das Adreß-Register KS 1337 des Steuerspeichers übertragen. Die Verzweigung wird durchgeführt, indem eine Interrupt-Leitung |nicht abgebildet) während einer Taktperiode auf »1« gesetzt wird und durch Übertragung der Adresse, die unter Steuerung durch das ZT-Feld erzeugt worden wäre, in das KA-Unterbrechungsrückkehr-RegistwV 1339 gespeichert wird. In das Adreßregister des Steuerspeichers wird eine hardwareerzeugte Adresse übertragen. Bestimmte Unterbrechungen, die von der Hardware/Firmware erzeugt werden, erlangen eine Priorität, wenn das (nicht abgebildete) Flip-Flop des Interrupt-Blocks, welches die Ausführung zusätzlicher Unterbrechungen in deren Klasse verhindert, bis die Unterbrechungs-Bedingung erfüllt ist Für die Steuerung des Löschens des Unterbrechungs-Block-Flip-Flops für diese unter Firmware-Steuerung befindlichen Sequenzen ist eine Firmware-Mikrooperation vorhanden. Diese Sequenzen bewirken unter Hardware-Steuerung ein automatisches Löschen des Flip-Flops am Ende der Sequenz.
In dieser Kategorie sind, nach Prioritäten aufgelistet, die folgenden Bedingungen vorhanden:
(a) Laden des Steuerspeichers;
(b) Abtasten des Steuerspeichers;
(c) Hardware-Fehler;
(d) Software-Fehler.
Die übrigen Hardware-Bedingungen setzen nicht das Unterbrechungs-Block-Flip-Flop, sondern lösen eine unmittelbare Aktion aus, die bei der Erzeugung auftritt In dieser Kategorie existieren, nach Prioritäten aufgelistet, die folgenden Bedingungen:
a) Initialisierung,
b) Soft-Clear,
c) Eingabe am Wartungspult,
d) Eingabe afn Wartungskanal,
e) Hardware-Ausgabe.
Ein Initialisierungssignal forciert die CSU 1301 zur Verzweigung auf die Binäradresse »0«, zur Löschung von Fehlern, die durch Hardware rückgestellt werden
ίο können und zur Durchführung einer Steuerspeicher-Ladeoperation, auf die eine hardware-gesteuerte Steuerspeicher-Abtastsequenz folgt. Dieses Signal führt ebenfalls die System-Initialisierung durch. Ein Software-Clear-Signal forciert die CSU 1301 zur Verzweigung auf die Binäradresse »0«, zur Löschung der durch Hardware rückstellbaren Fehler und Rücksetzung des Unterbrechungs-Block-Flip-Flops. Ein Wartungspult· Eingabesignal forciert die CSU zu einer Verzweigung auf die an dsn CSU-A.dreßschs!tern des 'nicht sb^ebUdct??^ Wartungspults eingestellte Adresse.
Ein Wartungskanal-Eingabesignal forciert die CSU zur Verzweigung auf eine über den Wartungskanal (nicht abgebildet) erzeugte Adresse. Die Adresse wird vom Wartungs-Bus QMB 1344 aus geladen: dieser gehört zum Wartungs-Kanal und ist rechtsbündig. Ein Hardware-Ausgabesignal forciert die CSU zu einer Verzweigung auf Binäradresse 2. Diese Sequenz wird als Wartungshilfe benutzt Am Ende der Sequenz wird durch Ausgabe einer ZT-Feld-Verzweigung mit Forcierung des ZT-Feldes auf binär »4« ein Rücklauf ausgelöst
Durch ein Steuerspeicher-Ladesignal wird die CSU zur Verzweigung auf die Binäradresse »0« forciert. Dieses Signal löscht auch das CSU-Lesezyklus-FIip-Flop (nicht abgebildet) und den System-Taktgeber 1320 und positioniert die CSU in den Ladestatus. Im Lade-Status kann die CSU mit Hilfe des Steuerspeicher-Loaders CSL 1302. des IOC 1305. des Hauptspeichers 102 oder des Wartungspults 1355 geladen werden. Beiim Laden durch den CSL wird am Ende der Ladeoperation ein automatischer Abtastzykius erzeugt Beim Laden mit Hilfe eines anderen Mediums kann eine \btastoperation entweder durch Erzeugung eines Mikrooperations-Signals oder durch Einstellen des Abtastschalters am Wartungspult ausgelöst werden. Ein Steuerspeicher-Abtastsignal forciert die CSU zu einer Verzweigung auf eine binäre Null-Adresse. Eine Steuerspeicher-Abtastoperation ist für die Dauer einer Sequenz unter Hardware-Steuerung. Während der Abtast-Operation ist der System-Taktgeber 1320 außer Betrieb und daher werden keine Befehle oder Tests durchgeführt Am Ende der Abtastsequenz überträgt die Hardware den Inhalt des Interrupt-Rücklaufregisters KA in das Adreßregister KS. Der System-Taktgeber wird wieder in Betrieb gesetzt und die Steuerung wird wieder von der Firmware übernommen.
Ein Hardware-Fehlersignal forciert die CSU zu einer Verzweigung auf die binäre Adresse »4«. Im normalen Verarbeitungsmodus löst ein Hardware-Fehler, der in irgendeiner CPU-Funktionseinheit festgestellt wird, eine Aktivierung einer (nicht abgebildeten) Hardware-Fehlerleitung aus. Die erzeugte Steuerspeicher-Sequenz überprüft die System-Bedingungen, um die durchzuführende Aktion festzulegen. Im Diagnostik-Modus sind die durch Hardware feststellbaren Fehler-
*ä bedingungen für die Mikrodiagnostik erkeninbar. Die Mikrodiagnostik überwacht die durchzuführende Operation. Ein Software-Fehlersignal bewirkt andererseits eine Verzweigung des Steuerspeichers auf die binäre
ίο
Adresse »1«. Dies ist die Sta/eadresse der mikroprogrammgesteuerten Software-Fehler-Anzeigesequenz.
In F i g. J ist das E-FeId 1326, wie bereits beschrieben, ein 3-Bit-Feid für den Verzweigungscode. Das Verzweigungs- und/oder Mikrooperationsfeld 1327 ist den Feldern A, B, C, D und L enthalten (ebenfalls in Block 1335 von F i g. 5 dargestellt); das /4-FeId stellt hierbei die oberen 6 Bits der nächsten Adresse dar, das S-FeId die mittleren 4 Bits der nächsten Adresse des Maskenfeldes der 64-Weg-Verzweigung, das C-FeId ist ein 6-Bit-Testfeld für einen der 64 Tests, das D-Feld ist ein weiteres 6-Bit-Testfeld für einen der 64 Tests und das L-FeId ist das niedrigstwertige Bit. Das /C-FeId 1328 ist ein 14-Bit· Feld, von derr 6 Bits für das Konstanten-Feld verwendet werden, 4 Bits werden für ein Konstanten- oder Steuer-Feld verwendet, und 4 Bits sind ein Steuer-Feld für eine Konstante. Die Daten für das Bus-Feld 1329 setzen sich aus dem QA-FeId zusammen, das 4 Bits für die Steuerung der dem QA-TeU des (JMS-Bus i344 zugeleiteten Informationen besitzt und das QB- Feld besitzt 4 Bits für die Steuerung der Informationen im QB-TeW des <?MS-Bus 1344. Das F-FeId 1330 ist ein 32-Bit-Feld. das zur Erzeugung der Mikrooperations-Unterbefehle codiert wird. Das F-FeId ist in 5 Haupt-Unterfelder unterteilt; eins wird zur Erzeugung von MikroOperationen oder Unterbefehlen für die ACU 1319 und DMU 1321 codiert; ein anderes wird zur Erzeugung der Mikrooperations-Unterbefehle der LSU 1315 codiert; ein drittes Unterfeld wird zur Erzeugung der Mikrooperations-Unterbefehle entweder für die ALU 1317 oder die EMU 1316 codiert; dies hängt vom Status der Steuerbits in einem der beiden verbleibenden Unterfelder ab, die zusätzlich zur Steuerung von Operationen im Steuerspeicher 130 verwendet werden. Das P-FeId 1331 besteht aus 4 Bits, die für Prüfungen reserviert sind. Während des Betriebs sind die Mikrobefehls-Worte
In der SicücfSpciCucr-mStriA Ϊ333 gcSpciCiicFt ttSii-
rend eines Operationszyklus wird die Steuerspeicher-Matrix vom Inhalt des KS-Adreßregisters 1337 adressiert. Dies bewirkt ein Lesen des Inhalts des von der Adresse spezifizierten Speicherplatzes in die Gruppe der Lese-Speicherschaltungen 1357. Teile des Wortinhalts der Lese-Speicherschaltungen werden verteilt oder im Speicherregister übertragen, die sich in jeder der Funktionseinheiten der CPU befinden. Jede Funktionseinheit beinhaltet Decodier-Logikschaltungen zur Erzeugung der erforderlichen Unterbefehle, die vom Steuerspeicherwort unter Steuerung durch den System-Taktgeber spezifiziert werden. Aligemein wird die Decodierung innerhalb jeder der Funktionseinheiten der CPU durchgeführt und nicht zentral. Dies geschieht, um die Decodierungszeit auf ein Minimum herabzusetzen und die Anzahl der Kabel zu verringern, die normalerweise zur Übertragung von Befehlssignalen bei einer zentralen Decodierung erforderlich wären. Zusätzlich erfolgt die Decodierung innerhalb aller Einheiten, um Timing-Probleme, die aus den verschiedenen Kabelverzögerungen entstehen würden, zu verhindern.
Eine typische Decodier-Einheit 1359 ist in F i g. 5 dargestellt, wo sie verschiedene Mikrobefehlswort-Felder öd empfängt und Mikrooperations-Signale a,b,cd...q,r erzeugt Ein typischer Mikrooperations-Decoder 1359 empfängt Befehle von einem Mikrobefehls-Wort Das Feld des Mikrobefehls-Worts wird decodiert und setzt eine von mehreren Leitungen, s, t, u... y, ζ auf logisch 1. Eine Matrix wird dadurch gebildet daß vorbestimmte Steuerleitungen an den Punkten <χ,β,γ...ω den Leitungen s— ζ impedanzmäßig gekoppelt werden. Wenn das Feld eines Mikrobefehls decodiert wird, ist normalerweise eine der Leitungen s—z auf logisch t. Da die Matrix mit griechischen Buchstaben α—ω bezeichneten schwarzen Punkte die Impedanzkopplung zwischen den beiden Leitungsgruppen darstellen, werden aUe elektrischen Signale, die über eine der horizontalen Leitungen laufen, durchgekoppelt, um die vertikalen Leitungen a bis r zu durchlaufen, die mit einer Impedanzkopplung (schwarzer Punkt) markiert äst. Jede der vertikalen Leitungen a—r kann nun als ein Eingang zu einem der UND-Gatter 1360 bis 1365 gekoppelt werden. Andere Eingangssignale können ebenfalls den UND-Gattern 1360 bis 1365, die ein Timing-Signal U von der zentralen Timing-Einheit erhalten, zugeleitet werden. Jedesmal, wenn das Timing-Signal u auf logisch 1 ist, werden demzufolge diejenigen Gatter freigegeben, bei denen alle übrigen Eingangssignale auf logisch 1 sind; diese Gatter liefern dabei dann die Mikrobefehls-Signale für vorbestimmte Funktionseinheiten in der CPu'. Wenn zum Beispiel ein Befehl 1341 von der Lese-Speicherschaltung 1351 decodiert wird und eine Horizontalleitung auf logisch 1 ist, sind auch die vertikalen Steuerleitungen a, b, c und q auf logisch 1 und die UND-Gatter 1360, 1351, 1362 und 1364 werden durchgeschaltet, wenn das Timing-Signal ij sequentiell diesen Gattern zugeführt wird. Die Kombination, in der die vertikalen Steuerleitungen mii den horizontalen Steuerleitungen an den verschiedenen, durch griechische Buchstaben ex— ω angegebenen Punkten gekoppelt sind, stellt eine ständige Schaltmatrix für die Zuführung der Mikrooperations-Signale zur zentralen Verarbeitungseinheit CPU dar, mit denen die Funktionseinheiten innerhalb der Zentraleinheit durch Mikrobefehle gesteuert werden, die von der Steuerspeicher-Matrix 1333 erzeugt werden.
Daher kann eine permanente Firmware, die die Eigenschaft der Veränderbarkeit hat, in die Maschine dieser diiiluUng cingcuäüi Wcfucn, ifiucm icuigiiCn uic erforderliche Mikrooperations-Sequenz angegeben wird, die als Fähigkeit des Computer-Systems erforderlich ist Unter normalen Bedingungen werden die Daten über das CPU-Daten-Schreibregister, das auch Lokal-Register YO 1343 bekannt ist, in die Steuerspeicher-Matrix 1333 eingeschrieben. Ein (nicht abgebildet^ Steuer Flip-Flop legt fest, ob die obere oder die untere Hälfte der Speicher-Matrix beschrieben werden soll. Daten von der Steuer- und Ladeeinheit CLU 1304 werden der CIA/CIU über den Wartungs-Bus QMB 1344 zugeführt und vom Speicherregister YO 1343 gespeichert, bevor sie in die Steuerspeicher-Matrix 1333 eingeschrieben werden. Das Speicherregister 1343 wird durch einen Betrieb im Zeitteilverfahren sowohl als Lese- ais auch örtliches Schreibregister verwendet Der Multiplexer KQM 1345 kann sowohl vom Wartungspult 1355 als auch durch Mikrodiagnostik gesteuert werden, und er bildet für die daran angeschlossenen Register einen Lese-Pfad. Für die nicht-funktionelle Benutzung steht ein Vergleichsregister KP 1350 zur Verfugung, das hauptsächlich für Wartungszwecke zusammen mit der Vergleichslogik 1352 und der Decodier-Logik 1351 benutzt wird.
25
30
35 Hierzu 4 Blatt Zeichnungen

Claims (4)

Patentansprüche:
1. Datenverarbeitungsanlage, die durch Emulation rait fremden Systemen kompatibel ist, mit einer arithmetisch/logischen Einheit zur Durchführung von Befehlen in der systemeigenen Betriebsart,
einer Emulationseinheit, die Befehle in der Betriebsart des fremden Systems durchführt, einer Steuereinheit mit einem Steuerspeicher, der Mikrobefehle enthält, von denen jeder aus mehreren Feldern besteht, wovon eines jeweils die von der arithmetisch/logischen Einheit durchzuführende Operation definiert, und mit einem gemeinsamen Bus, an den die arithmetisch/logische Einheit, die Emulationseinheit und die Steuereinheit angeschlossen sind, dadurch gekennzeichnet,
daß die in, Jem Steuerspeicher (1333) enthaltenen Mikrobefehle (1506) jeweils ein zusätzliches codiertes Feld enthalten, das anzeigt, ob eine Operation von der arithmetisch/logischen Einheit (1317) oder von der Emulationseinheit (1316) durchgeführt werden soll, daß durch dieses zusätzliche codierte Feld eine Schaltvorrichtung (1301,1602,1604,1606,1702,1704, 1706) steuerbar ist, die den zugehörigen Mikrobefehl über den gemeinsamen Bus (1502) entweder zur Emulationseinheit (1316) oder zur arithmetisch/logisehen Einhe^ (i317) leitet,
und daß das zusätzliche cod«;rte Feld, welches in dem jeweils gerade in der Emulationseinheit (1316) oder der arithmetisch/logische- Einheit (1317) ausgeführten Mikrobefehl (1506) enthalten ist, durch seinen Wert anzeigt, ob der darauffolgende Mikrobefehl durch die andere Einheit (1317 bzw. 1316) auszuführen ist.
2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet daß der gemeinsame Bus neben einem gesonderten Datenbus (1500) einen Operationscode-Bus (1502) enthält, über den die in dzn Mikrobefehlen (1506) enthaltenen Operationscodes an Eingänge der Schaltvorrichtung (1602.1604,1606, 1702,1704,1706) angelegt werden.
3. Datenverarbeitungsanlage nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Steuereinheit (130) einen das zusätzliche codierte Feld decodierenden Decoder (1508) und eine von diesem angesteuerte bistabile Speicherschaltung (1510) enthält, deren Zustand den Wert des zusätzlichen codierten Feldes des Mikrobefehls (1506) anzeigt
4. Datenverarbeitungsanlage nach Anspruch 3. dadurch gekennzeichnet, daß der Ausgang der bistabilen Speicherschaltung (1510) mit Eingängen von Gatterschaltungen (1602, 1604. 1606, 1702, 1704, 1706) der Schaltvorrichtung verbunden ist die je nach dem Zustand des am Ausgang der bistabilen Speicherschaltung (1510) vorhandenen Signals die Operationscodes der Mikrobefehle (1506) aus der Steuereinheit entweder der arithmetisch/logischen Einheit (1317) oder der Emulationseinheit zuführt.
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 DE2456578A1 (de) 1975-06-05
DE2456578C2 true DE2456578C2 (de) 1985-05-15

Family

ID=9128516

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2456578A Expired DE2456578C2 (de) 1973-11-30 1974-11-29 Datenverarbeitungsanlage

Country Status (6)

Country Link
US (1) US3997895A (de)
JP (1) JPS5935056B2 (de)
DE (1) DE2456578C2 (de)
FR (1) FR2253435A5 (de)
GB (1) GB1478504A (de)
IT (1) IT1026695B (de)

Families Citing this family (29)

* 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
US4155118A (en) * 1977-09-20 1979-05-15 Burroughs Corporation Organization for an integrated circuit calculator/controller
US4128873A (en) * 1977-09-20 1978-12-05 Burroughs Corporation Structure for an easily testable single chip calculator/controller
US4236204A (en) * 1978-03-13 1980-11-25 Motorola, Inc. Instruction set modifier register
US4315321A (en) * 1978-06-16 1982-02-09 The Kardios Systems Corporation Method and apparatus for enhancing the capabilities of a computing system
US4277827A (en) * 1979-01-02 1981-07-07 Texas Instruments Incorporated Microprocessor based system for the development and emulation of programmable calculator control read only memory software
US4441154A (en) * 1981-04-13 1984-04-03 Texas Instruments Incorporated Self-emulator microcomputer
AU556521B2 (en) * 1981-06-11 1986-11-06 Data General Corporation Arithmetic unit
US4458311A (en) * 1981-10-09 1984-07-03 International Business Machines Corporation Text processor having an interactive display terminal which alternately functions as a data processing terminal
DE3271123D1 (en) * 1982-06-08 1986-06-19 Ibm Deutschland Circuits in the control part of a microprogrammable processor for direct hardware execution of selected instructions
WO1984001635A1 (en) * 1982-10-22 1984-04-26 Ibm 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
EP0532744B1 (de) * 1991-03-07 1996-12-18 Digital Equipment Corporation 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

Family Cites Families (9)

* 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
US3641505A (en) * 1969-06-25 1972-02-08 Bell Telephone Labor Inc Multiprocessor computer adapted for partitioning into a plurality of independently operating systems
US3631405A (en) * 1969-11-12 1971-12-28 Honeywell Inc Sharing of microprograms between processors
US3698007A (en) * 1970-11-30 1972-10-10 Honeywell Inc Central processor unit having simulative interpretation capability
US3721961A (en) * 1971-08-11 1973-03-20 Ibm Data processing subsystems
US3786430A (en) * 1971-11-15 1974-01-15 Ibm Data processing system including a small auxiliary processor for overcoming the effects of faulty hardware
US3766532A (en) * 1972-04-28 1973-10-16 Nanodata Corp Data processing system having two levels of program control
JPS5057348A (de) * 1973-09-19 1975-05-19

Also Published As

Publication number Publication date
JPS5935056B2 (ja) 1984-08-27
JPS50114943A (de) 1975-09-09
US3997895A (en) 1976-12-14
GB1478504A (en) 1977-07-06
DE2456578A1 (de) 1975-06-05
IT1026695B (it) 1978-10-20
FR2253435A5 (de) 1975-06-27

Similar Documents

Publication Publication Date Title
DE2456578C2 (de) Datenverarbeitungsanlage
DE2714805C2 (de)
DE2555963C2 (de) Einrichtung zur Funktionsmodifizierung
DE2648229C2 (de)
DE1774296C2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE3914265C2 (de)
DE3886529T2 (de) Einrichtung in einem Datenverarbeitungssystem zur System-Initialisierung und -Rückstellung.
DE2722099C2 (de)
DE2316296C2 (de) Mikroprogrammierbarer Prozessor
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2030812A1 (de) Modulare Datenrechnersysteme
DE2657848A1 (de) Steuereinheit fuer ein datenverarbeitungssystem
DE1499200B2 (de) Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung
DE2813128A1 (de) Mikroprogrammspeicher
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE2921897A1 (de) Hardware/firmware-dialogsteuerlogik- system
DE3228405A1 (de) Emulator zur erzeugung einer folge von steuersignalen
DE2658864A1 (de) Pruefsystem fuer eine mikroprogrammierte verarbeitungseinheit
DE2755616A1 (de) Asymmetrischer multiprozessor
EP0010185A1 (de) Virtuell-Adressiervorrichtung für einen Computer
DE1499206B2 (de) Rechenanlage
DE1953364A1 (de) Wahlausfuehrungsschaltung fuer programmgesteuerte Datenverarbeiter
DE1549548A1 (de) Vorrichtung zur Aktivierung eines bestimmten Befehls aus einer Vielzahl von Befehlen,die in einem Befehlsspeicher eines Rechners gespeichert sind
DE3307194C2 (de)
DE3323824A1 (de) Speicherprogrammierbare steuerung

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