DE2907181C2 - Prozessor mit einem Befehlssatz-Modifizierregister - Google Patents

Prozessor mit einem Befehlssatz-Modifizierregister

Info

Publication number
DE2907181C2
DE2907181C2 DE2907181A DE2907181A DE2907181C2 DE 2907181 C2 DE2907181 C2 DE 2907181C2 DE 2907181 A DE2907181 A DE 2907181A DE 2907181 A DE2907181 A DE 2907181A DE 2907181 C2 DE2907181 C2 DE 2907181C2
Authority
DE
Germany
Prior art keywords
instruction
register
processor
command
control
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
DE2907181A
Other languages
English (en)
Other versions
DE2907181A1 (de
Inventor
Stanley Edward Round Rock Tex. Groves
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of DE2907181A1 publication Critical patent/DE2907181A1/de
Application granted granted Critical
Publication of DE2907181C2 publication Critical patent/DE2907181C2/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30196Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Description

Die Erfindung betrifft einen Prozessor mit einem Befehlsregister zum Speichern eines zur Ausführung ausgewählten Befehls aus einer Mehrzahl von Befehlssätzen, einer Befehlsdekodier-Schaltung, welche einen Satz von Steuersignalen auf den ausgewählten Befehl hin erzeugt und einer Steuerlogik zum Steuern des Prozessorbetriebes entsprechend den Steuersignalen.
Ein derartiger Prozessor ist aus der DE-OS 25 42 740 bekannt
Ferner ist aus der DE-OS 24 56 578 ein Prozessor bekannt der zur Emulation von Befehlssätzen anderer Rechner geeignet ist
In einem Datenverarbeitungssystem werden die grundlegenden logischen und arithmetischen Maßnahmen in Form von Rechenoperationen durch einen Prozessor durchgeführt Zu diesem Zweck ist in dem Prozessor eine Anzahl von Registern und logischen Schaltungen vorgesehen. Die Register werden dazu verwendet, eine Information (Daten und Befehle) aufzunehmen, zu speichern und wieder abzugeben. Die entsprechende Information wird durch den Prozessor verwendet In einem typischen Prozessor sind verschiedene unterschiedliche Register vorhanden. Beispielsweise wird in einem als Akkumulator bezeichneten Register das Ergebnis einer logischen oder einer arithmetischen Operation vorübergehend gespeichert oder es werden auch Daten vorübergehend gespeichert. Ein Programmzähler speichert die Adresse des nächsten Befehls, der ausgeführt werden solL Ein Befehlsregister speichert den Befehlscode (auch als Operationscode bezeichnet), der ein Teil eines Befehlswortes sein kann, wobei der vom Prozessor gerade ausgeführte Befehl angesprochen ist Em Adressenregister oder ein Datenzähler speichert den Operandenteil eines gerade ausgeführten Befehls. In der vorliegenden Beschreibung wird dee Begriff »Befehl« dazu verwendet, speziell den Befehlscode oder den Operationscodeteil eines Befehls anzusprechen.
to Um einen Prozessor in die Lage zu versetzen, daß er die gewünschten arithmetischen und logischen Operationen ausführen kann, wird der Prozessor mit der Möglichkeit ausgestattet einen bestimmten Befehlsvorrat von einzelnen Befehlen ausführen zu können, der auch als Befehlssatz bezeichnet wird. Einzelne Befehle werden durch den Prozessor ausgeführt, um solche Operationen durchführen zu können. Beispielsweise wird Information in ein Register gespeichert es wird Information zwischen Registern oder zwischen Registern und
dem Speicher übertragen, es wird der Inhalt von zwei Registern verglichen usw. Solche Befehle werden auch als Makrobefehle bezeichnet da die Ausführung eines solchen Befehls durch den Prozessor eine Anzahl von Teiloperationen enthält die auch als Mikrobefehle bezeichnet werden. Während der Ausführung eines einzelnen Befehls treten verschiedene logische Verknüpfungsglieder in Funktion, die unter der Steuerung einer entsprechenden Steuerschaltung in genau vorgegebener Folge geöffnet und/oder geschlossen werden können, um die von einem Befehl vorgegebene Makrooperation auszuführen. Das Offnen und das Schließen jedes logischen Verknüpfungsgliedes kann einzeln als ein Mikrobefehl angesehen werden.
Es ist für einen Prozessor sehr vorteilhaft wenn er die Möglichkeit hat einen Befehlssatz für einen anderen Computer zusätzlich zu seinem eigenen Befehlssatz auszuführen. Normalerweise wird der Prozessor mit einem einzigen Befehlssatz betrieben, der einer Anzahl von individuellen Operationscodewörtern enthält, von denen jedes eine bestimmte Kombination der Binärziffern 1 und 0 aufweist und zwar in Abhängigkeit davon, weiche Befehlsdekodierschaltung und welche Befehlsausfühmngs-Steuerschaltung vorhanden ist um alle einzelnen Mikrobefehle auszuführen, die zur Durchführung eines bestimmten Befehls erforderlich sind. Eine bekannte Vorgehensweise, die als Mikroprogrammierung bezeichnet wird, ermöglicht es einem Prozessor, Befehlssätze von verschiedenen Computern auszuführen. Beispielsweise verwendet das IBM-System/360 und das
so IBM-System/370 ebenso wie andere bekannte Computersysteme ein spezielles Programm, welches als Mikroprogramm bezeichnet wird, um eine Mehrzahl von einzelnen Mikrobefehlen auszuführen, welche zusammen einen grundlegenden Makrobefehl bilden. In Reaktion auf einen vorgegebenen Makrobefehl wird ein spezieller Prozessor-Speicher, der als Steuerspeicher zu bezeichnen ist angesteuert, und ein Mikroprogramm, welches dem Makrobefehl entspricht gelangt zur Ausführung, wobei jeder der Mikrobefehle dazu dient, die gewünschte Operation der Befehlsausführungs-Steuerlogikschaltung zu steuern. Auf diese Weise können beispielsweise bei dem Computer IBM 1401 die Befehle auf einem Computer IBM, System/360 oder System/370 ausgeführt werden.
Es dürfte einleuchtend sein, daß die Möglichkeit eines Prozessors, einen anderen Prozessor durch die Ausführung des Befehlssatzes des anderen Prozessors zu ersetzen, einen großen Teil der Flexibilität und Vielseitigkeit
eines Computersystems darstellt, was schließlich zu erheblichen Einsparungen beim Benutzer eines solchen Systems führen kann.
Die Vorteile für den Benutzer eines Datenverarbeitungssystems, welches derartige Fähigkeiten aufweist, wobei auch die für ein anderes Computersystem geschriebenen Programme verwendbar sind, vermeidet somit die Notwendigkeit, einen oft erheblichen Aufwand für die Änderung von Programmen zu treiben.
Während die Technik der Mikroprogrammierung in einer Anzahl von Großrechnern ebenso wie bei Minicomputern verwendet wurde, ist sie für Mikrocomputer nicht geeignet, bei denen der für einen Steuerspeicher erforderliche Raum bei <ier begrenzten Fläche auf einem Halbleiterplättchen praktisch nicht zur Verfügung steht.
Der Erfindung liegt die Aufgabe zugrunde, einen Prozessor der eingangs genannten Art so zu verbessern, daß zwei Befehlssätze wahlweise ausgeführt werden können, ohne daß zwei getrennte Befehlsdekodier-Schaltungen erforderlich sind. Auf diese Weise soll der Prozessor nur ein Minimum an Raum benötigen.
Zur Lösung dieser Aufgabe dienen die im Patentbegehren niedergelegten Merkmale.
Die Erfindung hat den wesentlichen Vorteil, daß die in der Befehlsdekodierlogik vorhandene Dekodierschaltung ermöglicht, daß zwei Sätze von Befehlen selektiv ausgeführt werden können, ohne daß gesonderte Befehlsdekodierschaltungen erforderlich wären. Dadurch ist insgesamt eine Reduzierung der Schaltelemente im Prozessor möglich.
Gemäß der Erfindung ist weiter der Vorteil erreichbar, daß bei außerordentlich geringem Platzbedarf in einer integrierten Schaltung mehr als ein Befehlssatz ausgeführt werden kann.
Die erfindungsgemäße Anordnung weist weiterhin den Vorteil auf, daß kein platzraubender Steuerspeicher vorzusehen ist, um mehrere Befehlssätze verwenden zu können.
In vorteilhafter Weise wird gemäß der Erfindung ein Befehlssatz-Modifizierregister verwendet, um die Arbeitsweise des Prozessors von εϊηεπι Befehlssatz auf einen anderen Befehlssatz umschalten zu können. Dieses Befehlssatz-Modifizierregister arbeitet programmgesteuert.
Es wird gemäß der Erfindung be-i einer integrierten Schaltung, insbesondere bei einer integrierten Großschaltung, für einen Mikroprozessor, der mehr als einen Befehlssatz verarbeiten kann, nur außerordentlich wenig Raum auf dem Halbleitermaterial verwendet.
Eine bevorzugte Weiterbildung der Erfindung ist im Anspruch 2 niedergelegt
Die Erfindung wird nachfolgend beispielsweise anhand der Zeichnung beschrieben; in dieser zeigt
F i g. 1 ein Blockschaltbild einer bevorzugten Ausführungsform der erfindungsgemäßen Anordnung, welche interne Datenschienen, programmierbare Register und logische Verknüpfungsglieder veranschaulicht, und
F i g. 2 ein detailliertes Logikdiagramm eines Teils des in der F i g. 1 dargestellten Blockschaltbildes.
Die F i g. 1 veranschaulicht in einem Blockdiagramm einen Prozessor, welcher interne Datenschienen, programmierbare Register und logische Verknüpfungsglieder aufweist Das Blockschaltbild der Fig. 1 stellt eine Ausführungsform der Anordnung eines Mikroprozessors dar, wobei in der F i g. 1 die Lehre der Erfindung veranschaulicht ist. Eine vollständige Beschreibung des MikroDrozessors ist in der US-PS 40 37 204 enthalten.
Obwohl das Blockschaltbild der Fig. 1 in der US-PS 40 37 204 im einzelnen erläutert ist, sollen die wesentlichsten Teile dieser Anordnung hier nochmals dargelegt werden. Die F i g. 1 enthält eine Anzahl von Steuerfunktionsblöcken, beispielsweise eine Schienensteuerschaltung 11, eine Haltlogik 13, einen Taktgenerator 21, eine Logik zum erneuten Starten 35, eine Befehlsdekodiereinrichtung und eine Steuereinrichtung 41 sowie eine Unterbrechungslogikschaltung 45. Die in der Fig. 1 ίο dargestellte Anordnung oder Architektur des Prozessors läßt die wesentlichsten Verbindungswege zwischen den wichtigsten Funktionsblöcken erkennen.
Der in der Fig. 1 dargestellte Mikroprozessor 10 hat vier 16-Bit-Register und vier 8-Bit-Register, welche dem
Programmierer zugänglich sind. Die Programmzähler PCL und PCH, welche durch das Bezugszeichen 58 bzw. 66 bezeichnet sind, haben jeweils ein 2-Byte-Register, welches die laufende Programmadresse anzeigt Ihr Inhalt wird nach der Ausführung eines Befehls auf den neuesten Stand gebracht Das Inkrementierregister INC, welches das mit INCL bezeichnete Register 36 und das mit INCH bezeichnete Register 40 aufweist bringt die laufende Programmadresse während der Ausführung eines laufenden Befehls dadurch auf den neuesten Stand, daß der Inhalt entsprechend erhöht oder vermindert wird. Es kann der Inhalt in den Programmzähler geladen werden, und zwar unabhängig von der Adressenschiene, und es kann dieses Register auch als Hilfsregister ebenso wie als Aufwärts-Abwärts-Zähler eingesetzt werden oder auch als Inkrementiereinrichtung, welche den Inhalt laufend erhöht oder vermindert, so daß mit diesem Register auch andere Register beeinflußt werden können, die an die Adressenschiene oder die Datenschiene angeschlossen sind. Die Stappelanzeige SP umfaßt die Anzeigeeinheiten 70 und 76, die mit SPL bzw. SPH bezeichnet sind, und stellt ein 2-Byte-Register dar, welches die Adresse des nächsten verfügbaren Speicherplatzes in einem externen Rückstellstappel darstellt
Das mit T bezeichnete Zwischenregister 38 wid zur vorübergehenden Datenspeicherung verwendet und kann Adressenbits höherer Ordnung aufnehmen. Das Indexregister IX enthält die Register 65 und 69, die mit IXL bzw. IXH bezeichnet sind, und stellt ein 2-Byte-Register dar, welches dazu verwendet wi.'d, eine 16-Bit-Speicheradresse bei einer indizierten Speicheradressierung aufzunehmen.
Die 8-Bit-Akkumulatoren 82 und 77, die mit ACCA bzw. ACCB bezeichnet sind, werden dazu verwendet,
so Operanden und Ergebnisse von der arithmetischen Logikeinheit 88 aufzunehmen. Das Konditionscoderegister 85 zeigt sechs verschiedene Markierungen an: Negative Zahl, Null, Überlauf, Übertrag vom Bit 7, Übertrag vom Bit 3 und Unterbrechungsmaskierung. Diese sechs Bits des Konditionscoderegisters werden als rrüfbare Bedingungen für bedingte Verzweigungsbefehie verwendet Das ivonditionscoderegister 85 enthält auch zwei nicht bezeichnete Bits.
Nachfolgend wi.d eine Ausführungsform der Erfindung unter besonderer Bezugnahme auf das mit IR bezeichnete Befehlsregister 53, das mit ISMR bezeichnete Befehlssatz-Modifizierregister 100 sowie auch die Befehlsdekodier- und Steuerschaltung 41 näher beschrieben. Das Befehlsregister 53 ist ein 8-Bit-Register, welches verriegelt weiden kann und die Information in Form einzelner Befehle enthält, die dem Register von der Datenschiene 57 zugeführt werden. Die Befehlsdekodier- und Steuerschaltung 41 erzeugt eine Anzahl von
Steuersignalen, die über eine Anzahl von Leitungen geführt werden, die in der Steuersignalschiene 43 zusammengefaßt sind. Diese Leitungen sind Ober den gesamten Prozessor verteilt und mit den Registern, mit der arithmetischen Logikeinheit, mit den Schienen, mit den Steuerfunktionsblöcken sowie mit verschiedenen Kopplungs- und Pufferschaltungen verbunden, um die notwendige Information während der Ausführung eines vorgegebenen Befehls, der im Befehlsregister 53 enthalten ist, in der erforderlichen Weise zu steuern. Die genaue Schaltung ist aus der US-PS 40 37 204 ersichtlicht. Es wird insbesondere auf die Fig.3A—3N, 3P—3Z, 3AA-3NN und 3PP-3TT hingewiesen. Aus diesen Figuren und der zugehörigen Beschreibung sind die Schaltungsverbindungen zwischen der Befehlsdekodier- und Steuerschaltung 41 und den verschiedenen Prozessorteilen ersichtlich, mit Ausnahme der Verbindungen zwischen der BefphMekod'.er-Steuersehakung 41 und dem mit ISVfR bezeichneten Befehlssatz-Modifizierregister 100. Diese Verbindungen werden unten anhand der F i g. 2 diskutiert.
Aus der F i g. 1 ist weiterhin ersichtlich, daß das Befehlssatz-Modifizierregister 100 eine Information über die Datenschiene 57 aufnehmen kann, und zwar über den Zweig 95. Eine derartige Information dient dazu, eine binäre Zahl in das Register 100 zu laden, welche einen bestimmten Befehlssatz darstellt Für jede einzelne Zahl, die in dem Register 100 gespeichert wird, ist es möglich, daß die Befehlsdekodier-Steuerschaltung 41 einen bestimmten vorgegebenen Befehl interpretiert, der als Teil eines anderen Befehlssatzes im Befehlsregister 53 enthalten ist In seiner einfachen Ausführungsform kann das Register 100 ein 1-Bit-Flip-Flop sein, dessen einer Zustand anzeigt, daß die in dem Befehlsregister 53 gespeicherten Befehle derart zu interpretieren sind, daß sie einem ersten Befehlssatz angehören, während der andere Zustand anzeigt, daß die aufgenommenen Befehle so zu interpretieren sind, daß sie einem zweiten Befehlssatz angehören.
Der bestimmte Status, auf den das Register 100 eingestellt ist, wird als entsprechendes Signal über die Schiene 101 der Befehlsdekodier-Steuerschaltung 41 zugeführt. Das Register 100 kann auch entsprechende Steuersignale von der Befehlsdekodier-Steuerschaltung 41 über die Schiene 102 erhalten.
Nachfolgend werden anhand der F i g. 2 der Aufbau und die Arbeitsweise des Befehlssatz-Modifizierregisters 100 beschrieben, und zwar insbesondere das Zusammenwirken dieses Registers mit dem Befehlsregister 53 und mit der Befehlsdekodier-Steuerschaltung 41. Die Befehlsdekodier-Steuerschaltung 41 ist in der F i g. 2 durch eine gestrichelte Linie hervorgehoben, und sie enthält eine Befehlsdekodier-Schaltung 111 sowie eine Befehlsausführungs-Steuerlogik 112 Eine Mehrzahl von Registern und Steuerleitungen 43,102 und 23 für die arithmetische Logikeinheit, zwei Sätze von Ausgangsleitungen 141-148 sowie 151 — 158, ein Paar von ISMR-Ausgangsleitungen 140 und 150, eine Taktsignalschiene 25, eine Neustart-Logiksteuerleitung 37, eine nicht maskierbare Unterbrechungsleitung 47 (NMI) und eine Unterbrechungsanforderungsleitung 51 (ΙΚζ>) bilden Anpaßeinrichtungen und Verbindungseinrichtungen für die Befehlsdekodier-Steuerschaltung 41 und die übrigen Teile des Prozessors.
Innerhalb der Befehlsdekodier-Schaltung 111 schneiden eine Vielzahl von Leitungen 116 die ISMR-Ausgangsieitungen 140 und 150 und die IR-Ausgangsleitungen 141 —148 sowie 151 —158 und führen zu der Logik schaltung innerhalb der Befehlsausführungs-Steuerlogik 112, welche eine Folge von Ausgangssignalen über die Register und die Steuerleitungen 43, 23 und 102 für die arithmetische Logikeinheit erzeugen, um die Arbeitsweise der verschiedenen Register und weiterer Tei le der Steuerschaltung innerhalb des Prozessors in Reaktion auf die Inhalte der Einheiten IR und ISMR zu steuern. Die Leitungen 116 sind mit den Leitungen 140—148 und 150—158 an den Stellen verbunden, die
to beispielsweise in der F i g. 2 durch χ veranschaulicht sind, wobei jede dieser Stellen einen Transistor darstellt der durch die Zuführung eines Signals mit dem logischen Pegel 1 durchlässig wird, wobei dieses Signal über die Leitungen 140—148 oder 150-158 der Steuerelek trode zugeführt wird. Dieser Transistor wird gesperrt, wenn ein Signal, welches einer binären 0 entspricht der Steuerelektrode zugeführt wird.
Ein repräsentativer Teil der Befehlsausführungs-Steuerlogik 112 der Befehlsdekodier-Steuerschaltung
M 41 ist in der gestrichelten Umrandung 103 dargestellt und enthält ein UND-Glied 107, einen Inverter 108 sowie ein NAND-Glied 109. Es ist darauf hinzuweisen, daß der Logikschaltungsteil 103 nur zur Veranschaulichung dargestellt ist, da normalerweise eine typische Prozes sor-Befehlsdekodier-Steuerschaltung eine wesentlich größere Anzahl von logischen Verknüpfungsgliedern zwischsn der Befehlsdekodier-Schaltung 111 und dem Ausgang der Befehlsdekodier-Steuerschaltung 41 aufweist. Es wird hierzu beispielsweise auf die US-PS 40 37 204, und zwar insbesondere auf die Fig. 3 hingewiesen. Aus dieser Druckschrift ist eine typische Befehlsdekodier-Steuerschaltung bekannt.
Das Register 53 wird zweckmäßigerweise in Form einer Mehrzahl von bistabilen Verriegelungen oder Flip-Flops ausgebildet, wobei jeweils für ein Bit eine entsprechende bistabile Anordnung vorgesehen ist wobei über die Leitungen 121 — 128 ein Befehlswort zugeführt wird. Das Register 53 empfängt als Steuereingangssignal ein Unterbrechungsantwortsignal über die Leitung 47' ebenso wie Steuersignale von der Befehlsdekodier-Steuerschaltung 41 über nicht dargestellte Leitungen. In Reaktion auf den binären Wert welcher über jede der I R-Eingangslei tungen 121 — 128 zugeführt wird, erzeugt das Register 53 einen entsprechenden bi nären Wert über die Ausgangsleitungen 141 — 148, und das Komplement eines solchen Wertes, welches durch Inverter 131 — 138 erzeugt wird, wird über die Leitungen 151 -158 geführt
Die mit ISMR bezeichnete Einheit 100 kann auch als
so eines oder mehrere von bistabilen Kippgliedt. η oder Flip-Flops ausgebildet sein. Es ist nur ein solches Flip-Flop erforderlich, um die Möglichkeit zu scharfen, daß ein zusätzlicher Befehlssatz ausgeführt wird. Es kann jedoch die Möglichkeit einen dritten und einen vierten Befehlssatz auszuführen, leicht auch dadurch geschaffen werden, daß ein zusätzliches Flip-Flop verwendet wird usw. In Reaktion auf ein binäres Signal, welches über die ISMR-Eingangsleitung 120 empfangen wird, erzeugt das Register 100 ein Signal welches denselben Binär wert hat und es wird dieses Signal über die Leitung 140 und das Komplement dieses Signals über die Leitung 150 abgeführt nachdem durch den Inverter 130 eine Invertierung vorgenommen wurde. Die gestrichelten Eingangsleitungen 166—168 für das Register 100 stellen zusätzliche mögliche Eingangsleitungen dar, von denen jede die Möglichkeit schafft doppelt soviele zusätzliche Befehlssätze auszuführen. Es können daher mit N Eingangsleitungen 2" Befehlssätze ausgeführt werden.
Nachfolgend wird die Arbeitsweise einer bevorzugten Ausführungsform der erfindungsgemäßen Anordnung anhand der F i g. 2 beschrieben. Die Ausgangsleitung 141 — 14« sowie 151 —158 des Registers 53 sind an verschiedene Leitungen 116 angeschlossen, wie es bereits oben erläutert wurde, um die gewünschte Dekodierung "ines Befehls innerhalb eines vorgegebenen Befehlssa'.zes ausführen zu können. Es sei beispielsweise angenommen, daß sich das Register 100 in einem ersten Zustand befindet, der einem ersten auszufahrenden Befehlssatz entspricht. Die Ausführung dieses Befehls kann in Reaktion auf beispielsweise eine binäre 0 als Eingangssignal auf der Leitung 120 und auch in Reaktion darauf erfolgen, daß das Register 53 ein 8-Bit-Befehlswort 11011001 speichert (über die Leitung 128 wird das Bit mit dem höchsten Stellenwert und über die Leitung 121 wird das Bit mit dem geringsten Stellenwert zugeführt). Da angenommen wurde, daß das Register 100 eine O speichert, ist die Leitung 140 tiefgelegt, und die Leitung 150 ist hochgelegt. Das Ausgangssignal mit dem hohen Pegel auf der Leitung 150 von dem Register 100 schaltet die Transistoren 170, 173,175 und 177 ein, deren Steuerelektroden auf das Signal mit dem hohen Pegel auf der Leitung 150 ansprechen. Weil das Register 53 gemäß der oben getroffenen Annahme das Befehlswort 11011001 enthält, sind die Leitungen 141,152,153, 144,145, 156, 147 und 148 alle hochgelegt, während die verbleibenden Ausgänge des Registers 53 tiefgelegt sind. Die Transistoren, deren Steuerelektroden mit denjenigen Leitungen des Registers 53 verbunden sind, welche hochgelegt sind, werden eingeschaltet, während solche Transistoren, deren Steuerelektroden mit denjenigen Leitungen verbunden sind, die tiefgelegt sind, abgeschaltet oder gesperrt bleiben. Leitungspfade werden entlang bestimmten Leitungen 116 zu der Befehlsausführungs-Steuerlogik 112 gebildet, vorausgesetzt, daß alle angeschlossenen Transistoren entlang solchen Leitungen durch eine geeignete Kombination von Ausgangssignalen mit hohem Pegel vom Register 53 aktiviert sind. Beispielsweise wird ein Leitungspfad entlang der Leitung 163 gebildet, weil die Transistoren 175,178 und 179 alle eingeschaltet sind. In entsprechender Weise erzeugt- das ODER-Glied 183 ein Eingangssigna! mit hohem Pegel für das UND-Glied 107. In ähnlicher Weise wird die Leitung 165 durchgeschaltet, da die Transistoren 177, 190, 191 und 192 alle eingeschaltet sind, so daß das ODER-Glied 184 als Eingangssignal mit hohem Pegel für das UND-Glied 107 erzeugt In entsprechender Weise erzeugt das UND-Glied 107 ein Eingangssignal mit hohem Pegel für das NAND-Glied 109. Da weder der Transistor 194 noch der Transistor 195 auf den Leitungen 160 bzw. 161 eingeschaltet ist, erzeugt das ODER-Glied 182 ein Eingangssignal mit tiefem Pegel für den Inverter 108, der seinerseits ein Eingangssignal mit hohem Pegel für das NAND-Glied 109 erzeugt Das NAND-Glied 109 erzeugt somit ein Ausgangssignal mit tiefem Pegel für das Befehlswort 11011001 des ersten Befehlssatzes.
Wenn es erwünscht ist dasselbe logische Ausgangssignal von dem dargestellten Teil 103 der Befehlsausführungs-Steuerlogikschaltung 112 zu erhalten, indem ein insgesamt anderes Befehlswort von einem zweiten Befehlssatz verwendet wird, wird der Status von ISMR auf eine logische »1« umgeschaltet so daß die Ausgangsleitung 140 hochgelegt ist und die Leitung 150 tiefgeiegt ist Wenn angenommen wird, daß 01110001 das Befehlswort im zweiten Befehlssatz ist, welches dem Befehlswort 11011001 im ersten Befehlssatz entspricht werden entsprechende Verbindungstransistoren entlang den Leitungen 160, 162 und 164 vorgesehen, welche als alternative Eingänge für die ODER-Glieder 182-184 dienen, um das identische logische Ergebnis am Ausgang des logischen Schaltungsteils 103 für beide Befehlsworte zu liefern. Die Leitung 164 wird hochgelegt, da die Transistoren 176 und 193 eingeschaltet werden, und es wird folglich auch das ODER-Glied 184 eingeschaltet, welches ein Eingangssignal mit hohem Pegel dem UND-Glied 107 zuführt. Die Leitung 162 wird ebenfalls durchgeschaltet, wenn die Transistoren 174 und 180 eingeschaltet werden, so daß ODER-Glied 183 ein Eingangssignal mit hohem Pegel dem UND-Glied 107 zuführt. Folglich wird das UND-Glied 107 eingeschaltet und erzeugt ein Ausgangssignal mit hohem Pegel für das NAND-Glied 109. Die Leitung 160 wird nicht durchgeschaltet, da weder der Transistor 194 noch der Transistor 195 für dieses Befehlswort aktiviert wird. Dies führt zu dem Ergebnis, daß das ODER-Glied 182 ein Eingangssignal mit tiefem Pegel für den Inverter 108 liefert, welcher ein Eingangssignal mit hohem Pegel für das NAND-Glied 109 erzeugt. Das NAND-Glied 109 erzeugt somit ein Ausgangssignal mit tiefem Pegel, da seine beiden Eingänge hochgelegt sind. Somit ist schließlich das Ausgangssignal den Teils 103 der Logikschaltung dasselbe, unabhängig . -von, ob das Befehlswort 11011001 des ersten Befehlssatzes oder das Befehlswort 01110001 des zweiten Befehlssatzes am Register 53 vorhanden ist. Um zu gewährleisten, daß identisehe Ergebnisse von jedem der (nicht dargestellten) Abschnitte der anderen logischen Schaltung der Befehlsausführungs-Steuerlogik 112 für diese'zwei verschiedenen Befehlsworte erhalten werden, sind zwischen den Leitungen 116 sowie den Leitungen 140—148 und 150—158 vom Register 100 und vom Register 53 in analoger Weise Schaltungsverbindungen vorzusehen wie sie oben anhand des Teils 103 der Logikschaiiung beschrieben wurden.
Ein ODER-Glied 180-184 ist für jedes Eingangssignal der Befehlsausführungs-Steuerlogik 112 vorgesehen, wenn es erwünscht ist, die identische Steuersignalfoige über das Register und die Steuerleitungen 23,102 und 43 der arithmetischen Logikeinheit für verschiedene Befehlsworte von verschiedenen Befehlssätzen zu erzeugen. Der Eingang für jedes ODER-Glied ist mit einer separaten Leitung verbunden, welche jedem verschiedenen Befehlssatz entspricht, dessen Befehle ausgeführt werden sollen. Bei dem in der F i g. 2 veranschaulichten bevorzugten Ausführungsbeispiel können
so zwei verschiedene Befehlssätze ausgeführt werden, und zvar in Abhängigkeit vom logischen Status der ISMR-Ausgangsleitungen 140 und 150. Demgemäß sind zwei Eingangsleitungen oder Eingangssignale für jedes ODER-Glied 180—184 vorhanden. Wenn es erwünscht ist vier verschiedene Befehlssätze zur Ausführung zu bringen, dann würde ein Maximum von vier Leitungen 116 als Eingangsleitungen jedem ODER-Glied 180-184 zugeführt Es ist zu bemerken, daß ein ODER-Glied nicht für jede Eingangsleitung vorzusehen ist die der Befehlsausführungs-Steuerlogik 112 zugeführt wird, da für bestimmte Befehle von zwei oder mehr Befehlssätzen verschiedene Bitpositionen gemeinsam sein können, und solche Teile der Befehlsausführungs-Steuerlogik 112, deren Arbeitsweise durch eine binäre 1 ausgelöst werden kann, kann stets dann bei solchen Bits in Betrieb gesetzt werden, wenn eine binäre 1 in der entsprechenden Bitposition vorhanden ist unabhängig davon, ob ein Befehlswort aus dem einen Befehlssatz oder aus dem
anderen Befehlssatz vorliegt. Beispielsweise wird die Leitung 167 durchgeschaltet, sobald eine binäre 1 über die Leitung 121 und 126 als Eingangssignal für das Register 53 empfangen wird. Da es erwünscht ist, daß die Leitung 167 durchgeschaltet wird, sobald die Transistoren 198 und 1?9 eingeschaltet werden, unabhängig vom Status der übrigen Bits im Befehlswort, besteht keine Notwendigkeit, ein ODER-Glied zwischen der Befehlsdekodierlogik 111 und der Befehlsausführungs-Steuerlogik 112 vorzusehen oder eine alternative Eingangslei- tung für ein solches ODER-Glied zur Verfügung zu stellen.
Das Register 100 kann in seinem Inhalt geändert werden, wodurch angezeigt wird, daß ein anderer Befehlssatz ausgeführt werden soll, und zwar entweder durch ein geeignetes Signal, welches über die Steuerleitung 102 von der Befehlsausführungs-Steuerlogik 112 übermittelt wird, und zwar in Reaktion auf einen geeigneten Befehl, der in das Register 53 geladen wird oder direkt über die Datenschiene 57, als Ergebnis eines Speicher-Zugriffs, der beispielsweise wieder unter der Programmsteuerung erfolgen kann, und zwar in Reaktion auf einen vorgegebenen Befehl im Register 53. In alternativer Weise kann das Register 100 durch irgendeine geeignete Einrichtung geladen werden, beispielsweise durch ei- nen Konsolschalter.
Hierzu 2 Blatt Zeichnungen
30
35
40
45
50
55
60

Claims (2)

Patentansprüche:
1. Prozessor mit einem Befehlsregister zum Speichern eines zar Ausführung ausgewählten Befehls aus einer Mehrzahl von Befehlssätzen, einer Befehlsdekodier-Schaltung, welche einen Satz von Steuersignalen auf den ausgewählten Befehl hin erzeugt, und einer Steuerlogik zum Steuern des Prozessorbetriebs entsprechend den Steuersignalen, dadurch gekennzeichnet,
daß der Prozessor ein Befehlssatz-Modifizierregister (100) zum Speichern eines ausgewählten Befehlssatz-Modifikators aufweist welcher den Befehlssatz anzeigt aus dem der Befehl ausgewählt ist, und
daß die Befehlsdekodier-Schaltung (111) eine logische Zustandsmatrix aufweist mit einem ersten Satz von Eingängen (141 148; 151—158), welche mit dem BefcB*reg!ster (53) verbunden sind und auf den dort gespeicherten Befehl ansprechen, einem zweiten Satz von Eingängen (140,150), welche mit dem Befehlssatz-Modifizierregister (100) verbunden sind und auf den dort gespeicherten Befehlssatz-Modifikator ansprechen, und mit einem Satz von Ausgängen (180—184), welche mit der Steuerlogik (112) verbunden sind und den Satz von Steuersignalen in diese eingeben, worauf die Steuerlogik (112) Steuersignale zum Steuern des Prozessorbetriebes entsprechend dem ausgewählten Befehl des ausgewählten Befehlssatzes erzeugt
2. Prozessor nach Anspruch 1, dadurch gekennzeichnet daß das Befchlssatz-Modifizierregister (100) von einem Datenbus (57J jes Prozessors durch ein Steuersignal (102) der Steuerlogik (112) geladen wird.
DE2907181A 1978-03-13 1979-02-23 Prozessor mit einem Befehlssatz-Modifizierregister Expired DE2907181C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/885,709 US4236204A (en) 1978-03-13 1978-03-13 Instruction set modifier register

Publications (2)

Publication Number Publication Date
DE2907181A1 DE2907181A1 (de) 1979-09-20
DE2907181C2 true DE2907181C2 (de) 1986-01-16

Family

ID=25387529

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2907181A Expired DE2907181C2 (de) 1978-03-13 1979-02-23 Prozessor mit einem Befehlssatz-Modifizierregister

Country Status (8)

Country Link
US (1) US4236204A (de)
JP (2) JPS54127243A (de)
DE (1) DE2907181C2 (de)
FR (1) FR2420169B1 (de)
GB (1) GB2016755B (de)
HK (1) HK66884A (de)
MY (1) MY8500495A (de)
SG (1) SG18684G (de)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4519028A (en) * 1981-02-17 1985-05-21 Digital Equipment Corporation CPU with multi-stage mode register for defining CPU operating environment including charging its communications protocol
US4499604A (en) * 1981-05-22 1985-02-12 Data General Corporation Digital data processing system for executing instructions containing operation codes belonging to a plurality of operation code sets and names corresponding to name table entries
US4575797A (en) * 1981-05-22 1986-03-11 Data General Corporation Digital data processing system incorporating object-based addressing and capable of executing instructions belonging to several instruction sets
JPS5938870A (ja) * 1982-08-30 1984-03-02 Sharp Corp 電子式計算機
US4876639A (en) * 1983-09-20 1989-10-24 Mensch Jr William D Method and circuitry for causing sixteen bit microprocessor to execute eight bit op codes to produce either internal sixteen bit operation or internal eight bit operation in accordance with an emulation bit
EP0159699A3 (de) * 1984-04-23 1988-09-28 Nec Corporation Datenverarbeitungsanlage zur Ausführung von Mikroprogrammen entsprechend einer Vielzahl von Systemarchitekturen
JPS6133546A (ja) * 1984-07-25 1986-02-17 Nec Corp 情報処理装置
PH24865A (en) * 1987-03-24 1990-12-26 Ibm Mode conversion of computer commands
US5084814A (en) * 1987-10-30 1992-01-28 Motorola, Inc. Data processor with development support features
US5179703A (en) * 1987-11-17 1993-01-12 International Business Machines Corporation Dynamically adaptive environment for computer programs
NL8800071A (nl) * 1988-01-13 1989-08-01 Philips Nv Dataprocessorsysteem en videoprocessorsysteem, voorzien van een dergelijk dataprocessorsysteem.
EP0344951A3 (de) * 1988-05-31 1991-09-18 Raytheon Company Verfahren und Apparatur zur Steuerung der Ausführungsgeschwindigkeit einer Rechnerverarbeitungseinheit
US5280620A (en) * 1988-12-16 1994-01-18 U.S. Philips Corporation Coupling network for a data processor, including a series connection of a cross-bar switch and an array of silos
GB2266606B (en) * 1992-04-27 1996-02-14 Intel Corp A microprocessor with an external command mode
FR2693571B1 (fr) * 1992-07-13 1994-09-30 Texas Instruments France Système de traitement de données dont le programme de commande comporte des instructions dépendant de paramètres d'état.
JPH08509080A (ja) * 1992-07-13 1996-09-24 テキサス インスツルメンツ インコーポレイテッド プログラムループ処理のためのデバイスを備えたデータ処理システム
US5848289A (en) * 1992-11-27 1998-12-08 Motorola, Inc. Extensible central processing unit
GB2289353B (en) * 1994-05-03 1997-08-27 Advanced Risc Mach Ltd Data processing with multiple instruction sets
GB2307072B (en) * 1994-06-10 1998-05-13 Advanced Risc Mach Ltd Interoperability with multiple instruction sets
US5649179A (en) * 1995-05-19 1997-07-15 Motorola, Inc. Dynamic instruction allocation for a SIMD processor
EP0790551A1 (de) * 1996-02-16 1997-08-20 Koninklijke KPN N.V. Verfahren zur Änderung des Befehlssatzes einer Chipkarte
US5867681A (en) * 1996-05-23 1999-02-02 Lsi Logic Corporation Microprocessor having register dependent immediate decompression
US5794010A (en) * 1996-06-10 1998-08-11 Lsi Logic Corporation Method and apparatus for allowing execution of both compressed instructions and decompressed instructions in a microprocessor
US5896519A (en) * 1996-06-10 1999-04-20 Lsi Logic Corporation Apparatus for detecting instructions from a variable-length compressed instruction set having extended and non-extended instructions
EP0858167A1 (de) 1997-01-29 1998-08-12 Hewlett-Packard Company Feldprogrammierbarer Prozessor
EP0858168A1 (de) 1997-01-29 1998-08-12 Hewlett-Packard Company Feldprogrammierbarer Gatterprozessor
US5925124A (en) * 1997-02-27 1999-07-20 International Business Machines Corporation Dynamic conversion between different instruction codes by recombination of instruction elements
JP3340343B2 (ja) * 1997-03-13 2002-11-05 株式会社東芝 プロセッサ及び情報処理装置
US6076156A (en) * 1997-07-17 2000-06-13 Advanced Micro Devices, Inc. Instruction redefinition using model specific registers
US6000029A (en) 1997-11-03 1999-12-07 Motorola, Inc. Method and apparatus for affecting subsequent instruction processing in a data processor
DE69834942T2 (de) 1997-12-17 2007-06-06 Panasonic Europe Ltd., Uxbridge Vorrichtung zum Multiplizieren
DE69827589T2 (de) 1997-12-17 2005-11-03 Elixent Ltd. Konfigurierbare Verarbeitungsanordnung und Verfahren zur Benutzung dieser Anordnung, um eine Zentraleinheit aufzubauen
EP0924602B1 (de) * 1997-12-17 2009-10-28 Panasonic Corporation Befehlsmaskierung um Befehlsströme einem Prozessor zuzuleiten
DE69841256D1 (de) 1997-12-17 2009-12-10 Panasonic Corp Befehlsmaskierung um Befehlsströme einem Prozessor zuzuleiten
US6332215B1 (en) * 1998-12-08 2001-12-18 Nazomi Communications, Inc. Java virtual machine hardware for RISC and CISC processors
US20050149694A1 (en) * 1998-12-08 2005-07-07 Mukesh Patel Java hardware accelerator using microcode engine
US7225436B1 (en) 1998-12-08 2007-05-29 Nazomi Communications Inc. Java hardware accelerator using microcode engine
US6633969B1 (en) 2000-08-11 2003-10-14 Lsi Logic Corporation Instruction translation system and method achieving single-cycle translation of variable-length MIPS16 instructions
GB2367654B (en) 2000-10-05 2004-10-27 Advanced Risc Mach Ltd Storing stack operands in registers
GB2367653B (en) 2000-10-05 2004-10-20 Advanced Risc Mach Ltd Restarting translated instructions
US20020069402A1 (en) * 2000-10-05 2002-06-06 Nevill Edward Colles Scheduling control within a system having mixed hardware and software based instruction execution
EP1197847A3 (de) * 2000-10-10 2003-05-21 Nazomi Communications Inc. Java-Hardwarebeschleuniger mit Mikrokodemaschine
GB2369464B (en) 2000-11-27 2005-01-05 Advanced Risc Mach Ltd A data processing apparatus and method for saving return state
US7076771B2 (en) 2000-12-01 2006-07-11 Arm Limited Instruction interpretation within a data processing system
US7711926B2 (en) 2001-04-18 2010-05-04 Mips Technologies, Inc. Mapping system and method for instruction set processing
GB2376099B (en) * 2001-05-31 2005-11-16 Advanced Risc Mach Ltd Program instruction interpretation
GB2376097B (en) 2001-05-31 2005-04-06 Advanced Risc Mach Ltd Configuration control within data processing systems
GB2376100B (en) * 2001-05-31 2005-03-09 Advanced Risc Mach Ltd Data processing using multiple instruction sets
GB2376098B (en) * 2001-05-31 2004-11-24 Advanced Risc Mach Ltd Unhandled operation handling in multiple instruction set systems
US6826681B2 (en) 2001-06-18 2004-11-30 Mips Technologies, Inc. Instruction specified register value saving in allocated caller stack or not yet allocated callee stack
US8769508B2 (en) 2001-08-24 2014-07-01 Nazomi Communications Inc. Virtual machine hardware for RISC and CISC processors
US7131118B2 (en) * 2002-07-25 2006-10-31 Arm Limited Write-through caching a JAVA® local variable within a register of a register bank
GB2399897B (en) * 2003-03-26 2006-02-01 Advanced Risc Mach Ltd Memory recycling in computer systems
US7707389B2 (en) 2003-10-31 2010-04-27 Mips Technologies, Inc. Multi-ISA instruction fetch unit for a processor, and applications thereof
GB2412192B (en) * 2004-03-18 2007-08-29 Advanced Risc Mach Ltd Function calling mechanism
US7930526B2 (en) 2004-03-24 2011-04-19 Arm Limited Compare and branch mechanism
US7802080B2 (en) 2004-03-24 2010-09-21 Arm Limited Null exception handling
US7502918B1 (en) * 2008-03-28 2009-03-10 International Business Machines Corporation Method and system for data dependent performance increment and power reduction

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3422404A (en) * 1966-02-23 1969-01-14 David E Ferguson Apparatus and method for decoding operation codes in digital computers
US3764988A (en) * 1971-03-01 1973-10-09 Hitachi Ltd Instruction processing device using advanced control system
US3771138A (en) * 1971-08-31 1973-11-06 Ibm Apparatus and method for serializing instructions from two independent instruction streams
DE2245284C3 (de) * 1972-09-15 1975-11-13 Ibm Deutschland Gmbh, 7000 Stuttgart Datenverarbeitungsanlage
FR2253435A5 (de) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
US4042972A (en) * 1974-09-25 1977-08-16 Data General Corporation Microprogram data processing technique and apparatus
JPS5313854A (en) * 1976-07-23 1978-02-07 Panafacom Ltd Information processor

Also Published As

Publication number Publication date
GB2016755A (en) 1979-09-26
JPS54127243A (en) 1979-10-03
DE2907181A1 (de) 1979-09-20
JPS5933553U (ja) 1984-03-01
FR2420169A1 (fr) 1979-10-12
FR2420169B1 (fr) 1986-08-22
US4236204A (en) 1980-11-25
MY8500495A (en) 1985-12-31
GB2016755B (en) 1982-04-28
HK66884A (en) 1984-08-31
SG18684G (en) 1985-02-15

Similar Documents

Publication Publication Date Title
DE2907181C2 (de) Prozessor mit einem Befehlssatz-Modifizierregister
DE2755273C2 (de)
DE2714805C2 (de)
DE2716369C2 (de)
DE69530520T2 (de) Computerprogrammprodukt zur Verwendung von Mehrfachbefehlssätzen
DE1499722C2 (de) Einrichtung zur Modifizierung von Informationswörtern
DE1549523B2 (de) Datenverarbeitungsanlage
DE2023354C2 (de) Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher
DE2935906C2 (de) Mikroprozessor
DE2748991A1 (de) Einrichtung zur umsetzung von datenformaten
DE1774296B2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE1915818A1 (de) Elektronisches Datenverarbeitungssystem
DE2540975A1 (de) Multi-mikro-prozessor-einheit
DE3687867T2 (de) Mikrorechner.
DE2019444A1 (de) Datenverarbeitungsanlage
DE3751108T2 (de) Mikroprozessor mit der Fähigkeit, an einen Koprozessor geschaltet zu werden.
EP0010185A1 (de) Virtuell-Adressiervorrichtung für einen Computer
DE2533737A1 (de) Datenprozessor
DE2245284A1 (de) Datenverarbeitungsanlage
DE2725614C2 (de)
DE4222275C2 (de) Parallelprozessor und Betriebsverfahren für diesen
DE69111778T2 (de) Verfahren und Gerät zur Erweiterung einer Rechnerarchitektur von zweiunddreissig auf vierundsechzig Bits.
CH632349A5 (de) Einrichtung zur mikrobefehlssteuerung.
DE3650154T2 (de) Datenverarbeitendes Gerät.
DE2801853A1 (de) Integrierte digitale datenverarbeitungseinrichtung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition