DE69227064T2 - Informationsverarbeitungssystem - Google Patents
InformationsverarbeitungssystemInfo
- Publication number
- DE69227064T2 DE69227064T2 DE69227064T DE69227064T DE69227064T2 DE 69227064 T2 DE69227064 T2 DE 69227064T2 DE 69227064 T DE69227064 T DE 69227064T DE 69227064 T DE69227064 T DE 69227064T DE 69227064 T2 DE69227064 T2 DE 69227064T2
- Authority
- DE
- Germany
- Prior art keywords
- state
- counter
- instruction
- detection
- processing
- 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 - Fee Related
Links
- 230000010365 information processing Effects 0.000 title claims description 21
- 238000012545 processing Methods 0.000 claims description 77
- 238000001514 detection method Methods 0.000 claims description 27
- 230000005540 biological transmission Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 7
- 101100173726 Arabidopsis thaliana OR23 gene Proteins 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 description 3
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 101000810330 Arabidopsis thaliana Eukaryotic translation initiation factor 3 subunit E Proteins 0.000 description 1
- 102000008016 Eukaryotic Initiation Factor-3 Human genes 0.000 description 1
- 101000767160 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) Intracellular protein transport protein USO1 Proteins 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 101150083561 nop-1 gene Proteins 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30196—Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/327—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for interrupts
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)
- Computer And Data Communications (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf ein Informationsverarbeitungssystem, beispielsweise auf ein Verfahren zum Erzeugen von Anweisungen in einem Informationsverarbeitungssystem, wie z. B. einem Mikroprozessor oder einem Mikrocontroller.
- In den letzten Jahren wurden zahlreiche Informationsverarbeitungssysteme entwickelt, wie z. B. CPUs (zentrale Verarbeitungseinheiten) und MPUs (Mikroverarbeitungseinheiten).
- In einem Mikrocomputer, der z. B. einen Mikroprozessor oder Mikrocontroller als ein Informationsverarbeitungssystem beherbergt, ist es erwünscht, daß die Kosten reduziert werden und die Zuverlässigkeit des Produkts verbessert wird, und es wird gefordert, daß die maximale Leistungsfähigkeit mit begrenzter Hardware realisiert wird.
- Wie später mit Verweis auf die Zeichnungen erläutert wird, war im herkömmlichen Informationsverarbeitungssystem, wenn ein Code für eine spezifische Verarbeitung, z. B. eine Unterbrechungsverarbeitung und eine Rücksetzverarbeitung, zugeordnet wurde, die Praxis gewesen, eindeutige Codes zuzuordnen, um eine Überlappung mit Benutzeranweisungen zu vermeiden, so daß es z. B. zwei Codes gab, die durch den Benutzer auf einer Anweisungsabbildung nicht verwendet werden konnten, und daher die folgenden Probleme auftraten.
- Das heißt, in einer normalen Entwurfsarbeit ist schließlich die absolute Zahl der Anweisungen, die durch den Benutzer verwendet werden können, durch die Anzahl von Anweisungen für die oben erwähnte spezifische Verarbeitung (Unterbrechungsverarbeitung und Rücksetzverarbeitung), z. B. zwei Anweisungen, reduziert, und daher wurde die Effizienz einer Nutzung der Anweisungsabbildung auf der Benutzerseite verschlechtert.
- In einigen Anordnungen nach dem Stand der Technik wurde versucht, diese Verschlechterung zu überwinden, indem die Anzahl von die Anweisungscodes definierenden Bits vergrößert wurde, wodurch die Zahl verfügbarer Anweisungen erhöht wurde. EP-A-0 374 526 und FR-A-7 926 362 zeigen zwei solche Anordnungen: in der ersten adressieren 8-Bit-Anweisungscodes Nachschlagtabellen, wenn bestimmte Modus-Bits gesetzt sind, wodurch in den Tabellen gespeicherte 16-Bit-Anweisungscodes erzeugt werden, die ebenfalls programmierbar sind; in der zweiten Anordnung werden die Anweisungscode-Bits durch m Bits vermehrt, die durch den Mikroanweisungsspeicher geliefert werden.
- Wenn die Benutzer unterschieden und die diesen spezifischen Verarbeitungsoperationen (Unterbrechungsverarbeitung und Rücksetzverarbeitung) zugeordneten Codes verwendet wurden, war es ferner unmöglich, die Operationen zu garantieren, und die Möglichkeiten unvorhergesehener Störungen nahmen zu.
- Die vorliegende Erfindung hat daher als ihre Aufgabe, die Effizienz einer Nutzung der Anweisungsabbildung zu erhöhen und ein äußerst zuverlässiges Informationsverarbeitungssystem zu schaffen.
- Diese Aufgabe wird durch ein Informationsverarbeitungssystem gelöst, wie es in den beigefügten Ansprüchen dargelegt ist.
- Die obige Aufgabe und Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung der bevorzugten Ausführungsformen mit Verweis auf die beiliegenden Zeichnungen ersichtlicher, worin:
- Fig. 1 ein Blockdiagramm eines herkömmlichen Informationsverarbeitungssystems ist, das nur die auf die vorliegende Erfindung bezogenen Teile zeigt;
- Fig. 2 eine allgemeine Aufbaudarstellung des Informationsverarbeitungssystems gemäß der vorliegenden Erfindung ist;
- Fig. 3 eine grundlegende Aufbaudarstellung des Informationsverarbeitungssystems gemäß der vorliegenden Erfindung ist;
- Fig. 4 ein Schaltungsdiagramm ist, das eine Ausführungsform auf der Basis der vorliegenden Erfindung zeigt;
- Fig. 5 ein Blockdiagramm eines bekannten Beispiels des gesamten Informationsverarbeitungssystems ist, für das die vorliegende Erfindung verwendet wird;
- Fig. 6 eine Darstellung ist, die ein detailliertes Beispiel eines CPU-Kerns in Fig. 5 zeigt;
- Fig. 7 eine Aufbaudarstellung zum Erläutern der Funktionen eines Dekodierers ist;
- Fig. 8 ein Zeitdiagramm zum Erläutern der Operation der in Fig. 7 gezeigten Schaltung ist;
- Fig. 9 eine Darstellung ist, die ein spezifisches Beispiel eines Dekodierers zeigt;
- Fig. 10 ein Zeitdiagramm zum Erläutern der Operation des in Fig. 9 dargestellten Dekodierers ist;
- Fig. 11 eine Darstellung eines Beispiels einer Dekodiererabbildung ist;
- Fig. 12 eine Darstellung eines spezifischen Beispiels eines Zustandszählers und eines Zustandsänderungsmittels ist;
- Fig. 13 eine Darstellung ist, die das Innere einer in Fig. 12 gezeigten Zählerzelle darstellt;
- Fig. 14 ein Zeitdiagramm zum Erläutern der Operation der Zählerzellen von Fig. 12 ist; und
- Fig. 15 eine Darstellung ist, die ein anderes Beispiel einer Schaltung zeigt, die eine äquivalente Funktion wie die in Fig. 12 dargestellte Schaltungsfunktion ausführt.
- Bevor die Ausführungsformen der vorliegenden Erfindung beschrieben werden, werden zuerst mit Verweis auf die zugehörigen Figuren der Stand der Technik und die Probleme darin beschrieben.
- Fig. 1 ist ein Blockdiagramm eines herkömmlichen Informationsverarbeitungssystems, das nur die auf die vorliegende Erfindung bezogenen Teile darstellt. Die Figur zeigt einen Mikroprozessor als ein Beispiel eines sehr oft verwendeten Informationsverarbeitungssystems. Der Mikroprozessor 1 stellt den Fall einer Unterbrechungsverarbeitung und Rücksetzverarbeitung als Beispiele der oben erwähnten vorbestimmten spezifischen Verarbeitung dar.
- Der Mikroprozessor 1 besteht im allgemeinen aus einem Anweisungsregister 2, einem Zustandszähler 3, einem Dekodierer 4, einer Unterbrechung-Handhabungsschaltung 5, einer Unterbrechungscode-Einstelleinheit 6, einer Rücksetz-Hand habungsschaltung 7, einer Rücksetzcode-Einstelleinheit 8 und einem Benutzerprogrammspeicher 9.
- Man beachte, daß B1 bis B4 Puffer sind und UND1 ein UND- Gatter ist. Das Anweisungsregister 2 speichert vorübergehend vom Speicher 9 gelesene oder abgerufene Anweisungscodes für eine Eingabe in die Steuerschaltung (in diesem Fall den Dekodierer 4) eines Mikroprozessors. Der Zustandszähler 3 zeigt den Zustand des Inneren des Systems gemäß dem Anweisungscode während der Zeit, wenn die Verarbeitung gerade an dem Anweisungscode ausgeführt wird.
- Der Dekodierer 4 erzeugt verschiedene Steuersignale auf der Basis der Werte des Anweisungsregisters 2 und des Zustandszählers 3.
- Als nächstes wird der Operationsmodus erläutert.
- Es gibt hauptsächlich drei Arten von CPU-Steueroperationen: Ausführung von Anweisungen, Unterbrechungsverarbeitung und Rücksetzverarbeitung.
- Während einer Ausführung einer Benutzeranweisung wird normalerweise ein aus einem programmierbaren logischen Array oder Feld (PLA) etc. bestehender Dekodierer 4 verwendet, um den Inhalt eines im Anweisungsregister 2 während der Ausführung der Benutzeranweisung gehaltenen Anweisungscodes und des Zustandszählers (Interner-Zustand-Zähler) 3 zu dekodieren, der zeigt, welcher Schritt der Anweisungen gerade ausgeführt wird, und die oben erwähnten verschiedenen Arten von Steuersignalen zu erzeugen.
- Mehrere Verfahren wurden für die sequentielle Steuerung in einer Unterbrechung-Handhabung und Rücksetz-Handhabung den vorbestimmten spezifischen Verarbeitungsoperationen - erwähnt. Als eines von diesen gibt es das Verfahren zum Zuordnen von Anweisungscodes zur Unterbrechungsverarbeitung und Rücksetzverarbeitung.
- Auf ein Detektieren einer Unterbrechungsanforderung oder eines Rücksetzens hin wird in diesem Verfahren der entsprechende Anweisungscode durch eine Code-Erzeugungseinheit 6 bzw. 8 geliefert und im Anweisungsregister 2 in dem System gespeichert, und der schon vorhandene Dekodierer 4 wird für eine Steuerung der Unterbrechungsverarbeitung oder der Rücksetzverarbeitung verwendet. In diesem Fall wird die Abrufoperation des nächsten Anweisungscodes vorübergehend ge stoppt, indem das Schaltgatter SG3 durch das UND-Gatter 1 UND1 geschlossen wird.
- Das heißt, in dem Fall eines Zuordnens eines Codes für die Unterbrechungsverarbeitung oder die Rücksetzverarbeitung wurde, um eine Überlappung mit der Benutzeranweisung (allgemeine Anweisung) zu vermeiden, von einem eindeutigen Code für die Codes Gebrauch gemacht, die die Unterbrechungsverarbeitung und die Rücksetzverarbeitung darstellen. Folglich ergaben sich die vorher erwähnten beiden Probleme.
- Fig. 2 ist eine allgemeine Aufbaudarstellung des Informationsverarbeitungssystems gemäß der vorliegenden Erfindung. Der Zustandszähler 3 ist aufgebaut, um eine Vielzahl von Operationsanweisungen für den gleichen Anweisungscode zuzuordnen, indem irgendein Wert aus Werten, die eine Vielzahl von Zuständen darstellen, für einen spezifischen Anwendungscode selektiv gegeben oder geliefert wird.
- Fig. 3 ist eine grundlegende Aufbaudarstellung des Informationsverarbeitungssystems gemäß der vorliegenden Erfindung. Das Informationsverarbeitungssystem gemäß der vorliegenden Erfindung liefert ein Informationsverarbeitungssystem mit
- einem Anweisungsregister 2, das sequentiell eine Vielzahl von Benutzeranweisungscodes empfängt und die Benutzeranweisungscodes speichert und hält, während eine Verarbeitung der Anweisungen entsprechend den empfangenen Benutzeranweisungscodes gerade ausgeführt wird,
- einem Zustandszähler 3, der eine den internen Zustand des Systems darstellende Zahl ausgibt, die sich gemäß dem Hochzählen der Schritte der Verarbeitung infolge einer Ausführung einer Verarbeitung von Anweisungen entsprechend den in dem oben erwähnten Anweisungsregister 2 gespeichert und gehaltenen Benutzeranweisungscodes ändert, und
- einem Dekodierer 4, der als Eingabe die im oben erwähnten Anweisungsregister 2 gespeicherten und gehaltenen Benutzeranweisungscodes und die oben erwähnte Interner-Zustand- Zahl empfängt, die durch den oben erwähnten Zustandszähler 3 angezeigt wird, und verschiedene Arten von Steuersignalen für verschiedene Teile in dem System auf der Basis dieser Werte erzeugt. Die springende Punkt der vorliegenden Erfin dung liegt in dem Einschluß der weiteren folgenden beiden Aufbauelemente (a) und (b) in dem System:
- (a) ein Detektion/Speichermittel 10, das detektiert, wann eine vorbestimmte spezifische Verarbeitungsoperation in dem System ausgeführt werden muß, und einen spezifischen Anweisungscode, der aus der Vielzahl von Benutzeranweisungscodes vorausgewählt wurde, in dem oben erwähnten Anweisungsregister speichert und
- (b) ein Zustandsänderungsmittel 20, das mit dem oben erwähnten Zustandszähler 3 zusammenarbeitet und die oben erwähnte Interner-Zustand-Zahl des Zustandszählers 3 ändert, wenn die oben erwähnte Detektion und Speicherung durchgeführt werden, um den spezifischen Anweisungscode in einen anderen Anweisungscode umzuwandeln, der durch die Benutzeranweisungscodes nicht definiert werden kann.
- Das Zustandsänderungsmittel 20 wird aktiviert, wenn eine Detektion durch das oben erwähnte Detektion/Speichermittel 10 vorliegt.
- Alternativ dazu wird das Auftreten der vorbestimmten spezifischen Verarbeitung außerhalb des Systems detektiert, und das Detektionssignal wird verwendet, um das Zustandsänderungsmittel 20 zu aktivieren. (siehe "Externe Detektion" in Fig. 3)
- Fig. 4 ist ein Schaltungsdiagramm, das eine Ausführungsform auf der Basis der vorliegenden Erfindung zeigt. Man beachte, daß in dieser Ausführungsform von einer Unterbrechungsverarbeitung und Rücksetzverarbeitung als Beispiele der vorbestimmten spezifischen Verarbeitung Gebrauch gemacht wird. Man beachte, daß die Figuren hindurch die gleichen Aufbauelemente mit den gleichen Bezugsziffern oder -symbolen dargestellt sind.
- Der Mikroprozessor 1, d. h. das Informationsverarbeitungssystem der vorliegenden Ausführungsform, besteht im allgemeinen aus einem Anweisungsregister 2, einem Zustandszähler 3, einem Dekodierer 4, Teilen des Detektion/Speichermittels 10, d. h. der Unterbrechung-Handhabungsschaltung 5 und der Unterbrechungskonstante-Einstelleinheit 6a, anderen Teilen des Mittels, d. h. der Rücksetz-Handhabungsschaltung 7 und der Rücksetzkonstante-Einstelleinheit 8a, dem Benutzer programmspeicher 9 und der Konstante-Einstelleinheit 21, die das Zustandsänderungsmittel 20 bildet.
- Man beachte, daß das ODER1 ein ODER-Gatter ist, und UND1 ein NOR-Gatter ist.
- Der Zustandszähler 3 in der vorliegenden Ausführungsform besteht aus 4 Bits (0, 1, 2, 3).
- Die Unterbrechungskonstante-Einstelleinheit 6a und die Rücksetzkonstante-Einstelleinheit 8a haben für diese z. B. Anweisungscodes der logischen "00" und "01" eingestellt. Die Bedeutungen dieser Codes im Sinne der Benutzeranweisungen sind z. B. eine "KEINE-OPERATION"-Anweisung (NOP) und "SPRUNG"-Anweisung (JMP).
- Das Detektion/Speichermittel 10 detektiert eine Unterbrechungsanforderung als die spezifische Verarbeitung, stoppt einmal gemäß dieser Detektion die Übertragung des nächsten Benutzeranweisungscodes zum Anweisungsregister 2 (schließt das Schaltgatter SG3) und speichert den spezifischen Anweisungscode (NOP), der der Unterbrechungsverarbeitung vorher zugeordnet wurde, durch das offene Schaltgatter SG1 im Anweisungsregister.
- Das Zustandsänderungsmittel 20 wird eingestellt, so daß der durch den Zustandszähler 3 dargestellte interne Zustand dem Unterbrechungsverarbeitungszustand entspricht.
- Das Detektion/Speichermittel 10 detektiert eine Rücksetzeingabe als die spezifische Verarbeitung, stoppt einmal gemäß dieser Detektion die Übertragung des nächsten Benutzeranweisungscodes zum Anweisungsregister 2 (schließt das Schaltgatter SG3) und speichert den spezifischen Anweisungscode (JMP), der der Rücksetzverarbeitung vorher zugeordnet wurde, durch das offene Schaltgatter SG2 im Anweisungsregister.
- Das Zustandsänderungsmittel 20 wird eingestellt, so daß der durch den Zustandszähler 3 dargestellte interne Zustand dem Rücksetzverarbeitungszustand entspricht.
- Der Zustandszähler 3 zählt die Interner-Zustand-Zahl von 0 für die Benutzeranweisungscodes hoch, während das Zustandsänderungsmittel 20 den Zustandszähler steuert, um von einer vorbestimmten Interner-Zustand-Zahl 0 auf z. B. 8 hochzuzählen.
- Als nächstes wird der Operationsmodus erläutert.
- Die Tabelle zeigt die Sequenz (den Operationsablauf des Zustandszählers 3) in den jeweiligen Anweisungen (Verarbeitung).
- In dieser Ausführungsform sind alle Anweisungen so konstruiert, daß sie mit dem Zustand "15" enden (die Operation beim Zustand "15" wird für alle Anweisungen gemeinsam gemacht und ist eine Abrufoperation für den nächsten Anweisungscode). Der Sprung in dem Ablauf durch den Zustandszähler 3 (Sprung vom Zustand "00" zu "15" durch eine NOP- Anweisung etc.) wird durch die Steuerung des Dekodierers 4 durchgeführt. TABELLE
- Wenn eine Unterbrechung von der CPU genau in der Mitte einer Ausführung einer Benutzeranweisung erzeugt wird, stellt zuerst die Unterbrechungskonstante-Einstelleinheit 6a im Anweisungsregister 2 zwangsweise "00" ein, und die Konstante-Einstelleinheit 21 stellt im Zustandszähler 3 "8" ein. Die vorbestimmte Unterbrechungsverarbeitung wird durch den Dekodierer 4 durch die Zustände "9", "10" und "15" ausgeführt.
- Der Anweisungscode "00" bedeutet hier NOP in den Benutzeranweisungen, aber in einem anderen Fall als einer Unterbrechungsverarbeitung wird der Zustandszähler 3 nicht durch die Konstante-Einstelleinheit 21 eingestellt. Der Zustand in diesem Fall beginnt von "0" aus und springt direkt zum Zustand "15", ohne durch den Zustand "8" zu gehen. Daher gibt es in der Operation in zwei Verarbeitungsarten keine Verwirrung, und die NOP-Verarbeitung und Unterbrechungsverarbeitung werden voneinander unterschieden unabhängig durchgeführt.
- Wenn von der CPU eine Rücksetzeingabe empfangen wird, stellt ähnlich die Rücksetzkonstante-Einstelleinheit 18a im Anweisungsregister 2 zwangsweise "01" ein, und die Konstante-Einstelleinheit 10 stellt im Zustandszähler 3 "8" ein. Die vorbestimmte Rücksetzverarbeitung wird durch den Dekodierer 4 durch die Zustände "9", "10", "11", "12" und "15" ausgeführt.
- Der Anweisungscode "01" stimmt hier auch mit einer SPRUNG-Anweisung in den Benutzeranweisungen überein, aber in einem anderen Fall als einer Rücksetzverarbeitung wird der Zustandszähler 3 durch die Konstante-Einstelleinheit 10 nicht eingestellt. Der Zustand in diesem Fall beginnt von "0" aus und springt zum Zustand "15", wobei durch die Zustände "1" und "2" gegangen wird. Daher gibt es in einer Operation in zwei Verarbeitungsarten keine Verwirrung, und die SPRUNG-Verarbeitung und Rücksetzverarbeitung werden voneinander unterschieden unabhängig durchgeführt.
- Obgleich die SPRUNG-Verarbeitung und die Rücksetzverarbeitung in den Anweisungscodes überlappen, gibt es daher in der Operation keine Verwirrung, und die Anweisungen werden separat von den Benutzeranweisungen gehandhabt oder bearbeitet.
- Auf diese Weise ist es in der vorliegenden Ausführungsform möglich, die absolute Zahl von Anweisungen im Vergleich zum Beispiel nach dem Stand der Technik zu erhöhen, weil für die Unterbrechungsverarbeitung und die Rücksetzverarbeitung keine eindeutigen Codes verwendet werden.
- Daher ist es möglich, die maximale Leistungsfähigkeit in den begrenzten Hardwareressourcen zu erhalten, und Anweisungscodes, die für den Benutzer zu verwenden unbequem wären, existieren nicht länger, ist es somit möglich, vorher Störungen während einer tatsächlichen Verwendung durch den Benutzer zu verhindern, und ist es möglich, die Zuverlässigkeit zu erhöhen.
- Man beachte, daß die oben erwähnte Ausführungsform unter der Annahme erläutert wurde, daß der Zustandszähler 3 ein 4- Bit-Typ war, die Codes der Unterbrechungsverarbeitung und der Rücksetzverarbeitung "00" bzw. "01" waren und die mit diesen Codes überlappenden Benutzeranweisungen NOP- und JMP- Anweisungen waren; die Erfindung ist aber nicht auf diese begrenzt. Es ist möglich, eine beliebige Kombination der Zahl von Bits des Zustandszählers 3, des Codes der Unterbrechungsverarbeitung, des Codes der Rücksetzverarbeitung und der mit diesen überlappenden Anweisungscodes zu verwenden.
- Fig. 5 ist ein Blockdiagramm eines bekannten Beispiels des gesamten Informationsverarbeitungssystems, für das die vorliegende Erfindung verwendet wird. Man beachte, daß das Layout oder die Darstellung der Figur einen Ein-Chip-Mikrocomputer zeigt. Die vorliegende Erfindung wird insbesondere für das Innere des CPU-Kerns (ganz oben links in der Figur) verwendet.
- Fig. 6 ist eine Darstellung, die ein detailliertes Beispiel eines CPU-Kerns in Fig. 5 zeigt. Die drei, unten in der Figur gezeigten Blöcke entsprechen den Elementen 2, 3 und 4, die schon erwähnt wurden. Man beachte, daß in den Figuren die Abkürzungen das folgende bedeuten, beginnend von ganz oben in der Figur:
- PC: Programmzähler
- ALU: Arithmetische und logische Einheit
- PS: Programmstatus
- "H": Hoch
- "L": Niedrig
- SP: Stapelzähler
- A: Akkumulator
- IX: Index
- EP: Erweiterter Zeiger
- Fig. 7 ist eine Aufbaudarstellung der Funktionen eines Dekodierers. Der Dekodierer 4 und das Anweisungsregister (IR) 2 und der Zustandszähler (SC) 3, die mit demselben zusammenarbeiten, sind so, wie sie vorher erläutert wurden. Die ALU ist in Fig. 6 dargestellt. Das Register A, das Register B und das Register C übertragen durch Busse Daten mit der ALU.
- Die Ausgabe des Dekodierers 4 (verschiedene Arten von Steuersignalen) wird zum Teil an die Gatter G1 und G2 bis G6 angelegt. Das Öffnen und Schließen dieser Gatter wird individuell gesteuert. Der Dekodierer 4 gibt auch ein Modussignal aus und bezeichnet den Operationsmodus (Addition, Subtraktion etc.) der ALU.
- Fig. 8 ist ein Zeitdiagramm zum Erläutern der Operation der in Fig. 7 gezeigten Schaltung. Das IR, der SC, G1 bis G6 und MODUS der Reihen der Figur zeigen Teile entsprechend Fig. 7. Gemäß dem Beispiel dieser Figur wird eine ADDIEREN- Anweisung ausgeführt, werden Daten der Register A und B addiert, und die Ergebnisse werden im Register C gespeichert.
- Im ersten Zyklus werden die Gatter G1 und G2 geöffnet, und die Daten (A) werden an einen Eingang der ALU gegeben.
- Im zweiten Zyklus werden die Gatter G3 und G4 geöffnet, und die Daten (B) werden an den anderen Eingang der ALU gegeben.
- Im dritten Zyklus werden die Gatter G5 und G6 geöffnet, und die Ergebnisse der Addition der ALU werden zum Register C übertragen.
- Fig. 9 ist eine Darstellung, die ein spezifisches Beispiel eines Dekodierers zeigt. Wie veranschaulicht ist, besteht er aus einem programmierbaren logischen Feld (PLA).
- IR[0], IR [1] ... geben die Ausgaben der Bits (erstes Bit, zweites Bit etc.) des Anweisungsregisters 2 an, während SC[0], SC[1] ... die Ausgaben der Bits (erstes Bit, zweites Bit ...) des Zustandszählers (SC) 3 anzeigen.
- Fig. 10 ist ein Zeitdiagramm zum Erläutern der Operation des in Fig. 9 dargestellten Dekodierers. Bezugnehmend auf Fig. 9 und Fig. 10 wird zuerst der oberste Transistor (P- Kanal-MOSFET) in der Gruppe von Transistoren in der Spalte 41 von Fig. 9 durch den "L"-Pegel ("L" in Fig. 10) des Entladungssignals EIN-geschaltet und lädt die Ausgabe AUS1 auf Vcc. Wenn das Entladungssignal der "H"-Pegel ("H" in Fig. 10) wird, wird danach der unterste Transistor (N-Kanal-MOSFET) in der Gruppe von Transistoren in Spalte 41 EIN-geschaltet.
- Die den IR[0] bis IR[2] (zur Vereinfachung werden nur drei Bits abgedeckt, das gleiche unten) entsprechenden Transistoren in Spalte 41 werden hier alle EIN-geschaltet, wenn IR[0] bis IR[2] "111" sind. Ferner werden die SC[0] bis SC[2] entsprechenden Transistoren alle EIN-geschaltet, wenn SC[0] bis SC[2] "101" sind. Die Ausgabe AUS1 wird daher der "L"- Pegel, wie in Fig. 10 dargestellt ist. Der SC[1] entsprechende Transistor hat ein Gatter, das mit dem SC[1]-Bit durch einen Inverter (INV) verbunden ist, so daß, wenn SC[1] 0 ist, der Transistor EIN-geschaltet wird. Man beachte, daß die Ausgabe AUS1 eines der früher erwähnten Steuersignale wird, wenn es im Pegel invertiert wird.
- Genau der gleiche Sachverhalt findet auf die Gruppe von Transistoren in Spalte 42 Anwendung. Wenn IR[0] bis IR[2] "010" sind und SC[0] bis SC[2] "110" sind, erscheint bei dem AUS2 die Ausgabe "L".
- Fig. 11 ist eine Darstellung eines Beispiels einer Dekodiererabbildung und entspricht der oben erwähnten Tabelle. Die Abbildung der Figur wird ausführlicher dargestellt. In Fig. 11 sind (A), (C) und (B) durch die bei (A), (C) und (B) in Fig. 4 erscheinenden Signale ausgedrückte Informationen und sind Informationen über den gegenwärtigen Zustand, ein Feld von Steuersignalen und ein Feld zum Spezifizieren des nächsten Zustandes.
- Die oben erwähnten P und Q sind übliche Anweisungen, wobei P aus vier Anweisungszyklen und Q aus sechs Anweisungszyklen besteht. Man beachte, daß "R" in der Figur ein Abrufen der nächsten Anweisung anzeigt.
- Bezüglich der Anweisung P im Zyklus Nr. 1 ist bestimmt, daß der nächste Zustand 1 ist und bei dem Zustand nach diesem der Zustand gleich 2 (P-2) ist. Bei P-3 ist bestimmt, daß der nächste Zustand gleich 15 ist. Beim Zyklus Nr. 4 wird der Zustand 15. Der beim Zyklus Nr. 4 dargestellte nächste Zustand ist 0. Der vorliegende Zustand 0 der Anweisung Q wird gestartet. Das gleiche wird danach wiederholt. In der Ausführungsform der vorliegenden Erfindung wird auch die gewöhnliche NOP-Anweisung als eine INT-(Unterbrechung)-Anweisung verwendet. Wenn die gewöhnliche NOP-Anweisung eingegeben wird, wird die Ausführung der Anweisung in zwei Zyklen (Nr. 1 und Nr. 2) von NOP-1 und NOP-2 abgeschlossen.
- Falls jedoch eine Unterbrechungsanweisung (INT) eingegeben wird, wird der Zustandszähler 3 gemäß der vorliegenden Erfindung auf einen bestimmten Wert (8) voreingestellt, und die Schritte INT-1 ... INT-6 werden längs der Zyklen Nr. 1' ... Nr. 6' ausgeführt.
- Falls eine gewöhnliche JMP-(SPRUNG)-Anweisung eingegeben wird, werden ferner JMP-1...JMP-4 über vier Zyklen (Nr. 1 ... Nr. 4) ausgeführt.
- Falls die Rücksetzanweisung (RST) eingegeben wird, wird jedoch gemäß der vorliegenden Erfindung der Zustandszähler 3 auf einen bestimmten Wert (8) voreingestellt, und die Schritte RST-1 ... RST-6 werden über die sechs Zyklen (Nr. 1'... Nr. 6') ausgeführt.
- Grundsätzlich arbeitet das Zustandsänderungsmittel 20, um von einer Interner-Zustand-Zahl hochzuzählen, die nicht mit der Interner-Zustand-Zahl überlappt, die den oben erwähnten spezifischen Anweisungscode (NOP, JMP) verwendet.
- Ferner arbeitet das Zustandsänderungsmittel 20 so, daß die endgültige Interner-Zustand-Zahl, die der spezifische Anweisungscode (NOP, JMP) verwendet, und die endgültige Interner-Zustand-Zahl angepaßt werden, die der von dem spezifischen Code umgewandelte andere Anweisungscode (INT, RST) verwendet.
- Auf diese Weise ist die Konstruktion des Dekodierers 4 vereinfacht, und die Hardware wird ebenfalls einfacher.
- Daher ist es vorteilhaft, falls der spezifische Anweisungscode aus Benutzeranweisungscodes mit kleinen Zahlen interner Zustände unter der Vielzahl von Benutzeranweisungscodes ausgewählt wird.
- Fig. 12 ist eine Darstellung eines spezifischen Beispiels eines Zustandszählers und eines Zustandsmodifiziermittels.
- In Fig. 12 bestehen der Zustandszähler 3 und das Zustandsänderungsmittel 20 im Grunde aus einer Vielzahl von Zählerzellen 31, ODER-Gattern 23 und Multiplexern 24, die durch Carry-In-Anschlüsse Cin und Carry-Out-Anschlüsse Cout in Kaskade geschaltet sind.
- Die Ausgangsanschlüsse Q der Zählerzellen sind mit dem Eingang des Dekodierers 4 (siehe (A) in Fig. 4) verbunden. Die Schreibanschlüsse W der Zählerzellen 31 sind mit den Ausgängen der ODER-Gatter verbunden, die als zwei Eingaben das Ladesignal vom Dekodierer 4 und das (von ODER 1 in Fig. 4 ausgegebene) Detektionssignal vom Detektion/Speichermittel 10 empfangen.
- Die Datenanschlüsse Din der Zählerzellen 31 sind in BIT- Korrespondenz mit dem Ausgang der Multiplexer 24 verbunden, die die Ladedaten-BITS (b0, b1, b2), die zusammen mit dem Ladesignal vom Dekodierer ausgegeben werden, oder die vorbestimmte Interner-Zustand-Zahl nach 0 darstellenden BITS (Erdungsleitung 25, die alle "0" zur Folge hat) selektiv ausgeben, die zusammen mit dem Detektionssignal ausgegeben werden.
- Fig. 13 ist eine Darstellung, die das Innere einer in Fig. 12 dargestellten Zählerzelle zeigt.
- Die Zählerzellen 31 enthalten D-Flipflops 32.
- Ferner enthalten sie andere Multiplexer 33, die das Signal von dem Carry-In-Anschluß oder das Signal von dem Datenanschluß Din an den Dateneingabeanschluß D des D-Flipflops 32 selektiv anlegen.
- Wenn eine gewöhnliche Anweisung ausgeführt wird, wählen die Multiplexer 33 das Eingangssignal der Cin-Seite aus, und der Zustandszähler 3 zählt von 0 aufwärts.
- Wenn andererseits die unter der vorliegenden Erfindung erzeugte Verarbeitung (Unterbrechung und/oder Rücksetzen) ausgeführt wird, wird das Eingangssignal auf der Din-Seite ausgewählt. Zu dieser Zeit werden die Eingabedaten (Din) der vier Zählerzellen 31 "1000". Die Ausgaben 60 bis 63 in Fig. 12 zeigen "8" an (siehe "8" in Fig. 4).
- Fig. 14 ist ein Zeitdiagramm zum Erläutern der Operation der Zählerzellen von Fig. 12. In der Figur ist CK eine Takteingabe und in Fig. 12 und auch in Fig. 13 dargestellt. Die Bezugsziffern 60 bis 63 sind Ausgaben der in Fig. 12 gezeigten Zählerzellen 31. ODER23 zeigt die Ausgabe vom ODER 23 in Fig. 12 an. Wenn es keine Ausgabe von dem ODER23 gibt; wird die Ausgabe (60 bis 63) des Zustandszählers (31) mit jedem Fall der Takte CK aufwärts, d. h. n → n+1 → n+2 ..., gezählt.
- Falls jedoch von dem ODER23 eine Ausgabe erzeugt wird, wird die Ausgabe (60 bis 63) des Zustandszählers (31) zwangsweise auf "8" voreingestellt und wird mit jedem Fall der Takte CK dann aufwärts, d. h. 8 → 9 → 10 ..., gezählt.
- Fig. 15 ist eine Darstellung, die ein anderes Beispiel einer Schaltung zeigt, die eine äquivalente Funktion wie die in Fig. 12 gezeigte Schaltungsfunktion ausführt. Gemäß dieser Konstruktion sind Funktionen, die jedem Paar einer Zählerzelle 31 und eines Multiplexers 24 entsprechen, durch die Zählerzellen 35 mit Eingabeanschlüssen RST für ein asynchrones erzwungenes Rücksetzen realisiert, und BITS ("8"), die die vorbestimmte Interner-Zustand-Zahl nach 0 darstellen, werden in BIT-(D)-Korrespondenz in den Zählerzellen 35 voreingestellt. Gemäß dieser Konstruktion werden die Multiplexer 24 von Fig. 12 unnötig.
- In der vorliegenden Erfindung ist es möglich, dem gleichen Anweisungscode eine Vielzahl von Operationsanweisungen zuzuordnen, indem an den Zustandszähler 3 ein Wert, der eine Unterbrechungsverarbeitung und/oder Rücksetzverarbeitung für einen spezifischen Anweisungscode (NOP, JMP) anzeigt, auf der Basis eines von außerhalb eingegebenen Zustandseinstellsignals gegeben oder geliefert wird.
- Daher ist es möglich, unabhängige Operationen zu realisieren, ohne eindeutige Codes für die Unterbrechungsverarbeitung und die Rücksetzverarbeitung einzustellen.
Claims (14)
1. Informationsverarbeitungssystem mit
einem Anweisungsregister (2), das sequentiell eine
Vielzahl von Benutzeranweisungscodes empfängt und die
Benutzeranweisungscodes speichert und hält, während eine
Verarbeitung der Anweisungen entsprechend den empfangenen
Benutzeranweisungscodes gerade ausgeführt wird,
einem Zustandszähler (3), der eine den internen Zustand
des Systems darstellende Zahl ausgibt, die sich gemäß den
sequentiellen Ausführungsschritten ändert, durch die
Anweisungen entsprechend den im oben erwähnten Anweisungsregister
gespeicherten und gehaltenen Benutzeranweisungscodes
ausgeführt werden, und
einem Dekodierer (4), der als Eingabe die im oben
erwähnten Anweisungsregister gespeicherten und gehaltenen
Benutzeranweisungscodes und die durch den oben erwähnten
Zustandszähler angezeigte Interner-Zustand-Zahl empfängt und
verschiedene Arten von Steuersignalen (C, B) für
verschiedene Teile in dem System auf der Basis dieser Werte erzeugt,
worin das System gekennzeichnet ist, indem es ferner die
folgenden Bauelemente enthält:
ein Detektion/Speichermittel (10), das detektiert, wann
eine vorbestimmte spezifische Verarbeitungsoperation
(UNTERBRECHUNG, RÜCKSETZEN) in dem System ausgeführt werden
muß, und einen spezifischen Anweisungscode (NOP, JMP), der
aus der Vielzahl von Benutzeranweisungscodes vorausgewählt
wurde, im oben erwähnten Anweisungsregister speichert, und
ein Zustandsänderungsmittel (20), das mit dem oben
erwähnten Zustandszähler zusammenarbeitet und die oben
erwähnte Interner-Zustand-Zahl des Zustandszählers ändert ("8"),
wenn die oben erwähnte Detektion und Speicherung
durchgeführt werden, so daß der spezifische Anweisungscode (NOP,
JNP) die vorbestimmte spezifische Verarbeitungsoperation
(UNTERBRECHUNG, RÜCKSETZEN) definiert, die durch die
Benutzeranweisungscodes nicht direkt definiert ist.
2. System nach Anspruch 1, worin
der Zustandszähler (3) die Interner-Zustand-Zahl von
einem Wert 0 für die Benutzeranweisungscodes hochzählt,
wäh
rend das Zustandsänderungsmittel (20) den Zustandszähler
steuert, um von einer vorbestimmten Interner-Zustand-Zahl 8
an hochzuzählen.
3. System nach Anspruch 2, worin das
Zustandsänderungsmittel (20) so arbeitet, daß die Interner-Zustand-Zahl in
einem Wertebereich hochgezählt wird, der nicht mit dem
Interner-Zustand-Zahlbereich überlappt, den die oben erwähnten
spezifischen Anweisungscodes verwenden.
4. System nach Anspruch 3, worin das
Zustandsänderungsmittel (20) so arbeitet, das die endgültige Interner-
Zustand-Zahl, die der spezifische Anweisungscode verwendet,
und die endgültige Interner-Zustand-Zahl, die am Ende einer
Ausführung der vorbestimmten spezifischen
Verarbeitungsoperation erreicht wird, angepaßt werden.
5. System nach Anspruch 1, worin der spezifische
Anweisungscode aus Benutzeranweisungscodes mit kleinen Zahlen
interner Zustände unter der Vielzahl von
Benutzeranweisungscode ausgewählt wird.
6. System nach Anspruch 1, worin das
Zustandsänderungsmittel (20) aktiviert wird, wenn eine Detektion durch das
Detektion/Speichermittel (10) vorliegt.
7. System nach Anspruch 1, worin das Auftreten der
vorbestimmten spezifischen Verarbeitung außerhalb des Systems
detektiert wird und das Detektionssignal verwendet wird, um
das Zustandsänderungsmittel (20) zu aktivieren.
8. System nach Anspruch 1, worin:
das Detektion/Speichermittel (10) eine
Unterbrechungsanforderung als die spezifische Verarbeitung detektiert, gemäß
dieser Detektion einmal die Übertragung des nächsten
Benutzeranweisungscodes zu dem Anweisungsregister (2) stoppt und
den spezifischen Anweisungscode (NOP), der für eine
Unterbrechungsverarbeitung vorausgewählt wurde, im
Anweisungsregister speichert, und
das Zustandsänderungsmittel (20) so eingestellt wird,
daß der durch den Zustandszähler (3) dargestellte interne
Zustand ("8") dem Unterbrechungsverarbeitungszustand
entspricht.
9. System nach Anspruch 8, worin der spezifische
Anweisungscode eine "Sprung"-Anweisung ist.
10. System nach Anspruch 1, worin das
Detektion/Speichermittel (10) eine Rücksetzeingabe als die spezifische
Verarbeitung detektiert, gemäß dieser Detektion die
Übertragung des nächsten Benutzeranweisungscodes zu dem
Anweisungsregister (2) stoppt und den spezifischen Anweisungscode
(JMP), der für eine Rücksetzverarbeitung vorausgewählt
wurde, in dem Anweisungsregister speichert und
das Zustandsänderungsmittel (20) so eingestellt ist, daß
der durch den Zustandszähler (3) dargestellte interne
Zustand ("8") dem Rücksetzverarbeitungszustand entspricht.
11. System nach Anspruch 10, worin der spezifische
Anweisungscode eine "Keine-Operation"-(NOP)-Anweisung ist.
12. System nach Anspruch 2, worin der Zustandszähler (3)
und das Zustandsänderungsmittel (20) aus einer Vielzahl von
Zählerzellen (31), ODER-Gattern (23) und Multiplexern (24)
bestehen, die durch Carry-In-(Cin)-Anschlüsse und Carry-Out-
(Cout)-Anschlüsse in Kaskade geschaltet sind,
Ausgabe-(Q)-Anschlüsse der Zählerzellen mit dem Eingang
des Dekodierers (4) verbunden sind,
Schreibanschlüsse (W) der Zählerzellen mit den Ausgängen
der ODER-Gatter (23) verbunden sind, die als zwei Eingaben
das Ladesignal (B) vom Dekodierer und das Detektionssignal
(ODER1) von dem Dektektion/Speichermittel (10) empfangen,
und
Datenanschlüsse (Din) der Zählerzellen in
Bit-Korrespondenz mit der Ausgabe der Multiplexer (24) verbunden sind,
die die Ladedaten-Bits (b0, b1, b2), die zusammen mit dem
Ladesignal (B) vom Dekodierer ausgegeben werden, oder die
vorbestimmte Interner-Zustand-Zahl ("8") nach 0
darstellenden Bits (25), die zusammen mit dem Detektionssignal (ODER1)
ausgegeben werden, selektiv ausgeben.
13. System nach Anspruch 12, worin die Zählerzellen (31)
D-Flipflops (32) und andere Multiplexer (33) enthalten, die
das Signal von dem Carry-In-Anschluß (Cin) oder das Signal
von den Datenanschlüssen (Din) an die
Dateneingangsanschlüsse (D) der D-Flipflops selektiv anlegen.
14. System nach Anspruch 13, worin Paare einer
Zählerzelle (31) und eines Multiplexers (24) Zählerzellen (35)
funktionsmäßig äquivalent sind, die jeweils einen
Eingangsanschluß für ein ansynchrones erzwungenes Rücksetzen haben,
und worin Bits, die die vorbestimmte Interner-Zustand-Zahl
("8") nach 0 darstellen, in den Zählerzellen (35) in Bit-
Korrespondenz voreingestellt sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3102781A JP2677719B2 (ja) | 1991-05-08 | 1991-05-08 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69227064D1 DE69227064D1 (de) | 1998-10-29 |
DE69227064T2 true DE69227064T2 (de) | 1999-02-11 |
Family
ID=14336689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69227064T Expired - Fee Related DE69227064T2 (de) | 1991-05-08 | 1992-05-08 | Informationsverarbeitungssystem |
Country Status (5)
Country | Link |
---|---|
US (1) | US5404554A (de) |
EP (1) | EP0514092B1 (de) |
JP (1) | JP2677719B2 (de) |
KR (1) | KR950001415B1 (de) |
DE (1) | DE69227064T2 (de) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5848289A (en) * | 1992-11-27 | 1998-12-08 | Motorola, Inc. | Extensible central processing unit |
US5692170A (en) * | 1995-04-28 | 1997-11-25 | Metaflow Technologies, Inc. | Apparatus for detecting and executing traps in a superscalar processor |
US6076156A (en) * | 1997-07-17 | 2000-06-13 | Advanced Micro Devices, Inc. | Instruction redefinition using model specific registers |
JP4502532B2 (ja) * | 2001-02-23 | 2010-07-14 | 株式会社ルネサステクノロジ | データ処理装置 |
US8543796B2 (en) * | 2008-11-05 | 2013-09-24 | Intel Corporation | Optimizing performance of instructions based on sequence detection or information associated with the instructions |
US9135005B2 (en) | 2010-01-28 | 2015-09-15 | International Business Machines Corporation | History and alignment based cracking for store multiple instructions for optimizing operand store compare penalties |
US8938605B2 (en) * | 2010-03-05 | 2015-01-20 | International Business Machines Corporation | Instruction cracking based on machine state |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2846537C2 (de) * | 1978-10-26 | 1986-09-18 | Standard Elektrik Lorenz Ag, 7000 Stuttgart | Mikroprogrammierte Datenverarbeitungseinrichtung |
EP0139080B1 (de) * | 1980-02-25 | 1989-08-30 | Kabushiki Kaisha Toshiba | Datenverarbeitungssystem |
US4509114A (en) * | 1982-02-22 | 1985-04-02 | International Business Machines Corporation | Microword control mechanism utilizing a programmable logic array and a sequence counter |
JPS58199499A (ja) * | 1982-05-17 | 1983-11-19 | Toshiba Corp | デ−タ処理装置 |
JPS5999550A (ja) * | 1982-11-29 | 1984-06-08 | Toshiba Corp | マイクロプログラム制御装置 |
US4498136A (en) * | 1982-12-15 | 1985-02-05 | Ibm Corporation | Interrupt processor |
US4709324A (en) * | 1985-11-27 | 1987-11-24 | Motorola, Inc. | Data processor control unit having an interrupt service using instruction prefetch redirection |
JPS62221729A (ja) * | 1986-03-13 | 1987-09-29 | Fujitsu Ltd | マイクロプログラム制御方式 |
US5226122A (en) * | 1987-08-21 | 1993-07-06 | Compaq Computer Corp. | Programmable logic system for filtering commands to a microprocessor |
JPH01263732A (ja) * | 1988-04-14 | 1989-10-20 | Sharp Corp | マイクロプロセッサーの特定動作処理方式 |
JPH0795269B2 (ja) * | 1988-11-04 | 1995-10-11 | 富士通株式会社 | 命令コードのデコード装置 |
JPH02183830A (ja) * | 1988-12-21 | 1990-07-18 | Internatl Business Mach Corp <Ibm> | マイクロプログラム変換機構を有するコンピュータ |
US5202964A (en) * | 1990-10-26 | 1993-04-13 | Rolm Systems | Interface controller including messaging scanner accessing state action table |
-
1991
- 1991-05-08 JP JP3102781A patent/JP2677719B2/ja not_active Expired - Fee Related
-
1992
- 1992-05-08 DE DE69227064T patent/DE69227064T2/de not_active Expired - Fee Related
- 1992-05-08 KR KR1019920007800A patent/KR950001415B1/ko not_active IP Right Cessation
- 1992-05-08 US US07/880,598 patent/US5404554A/en not_active Expired - Lifetime
- 1992-05-08 EP EP92304169A patent/EP0514092B1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
KR950001415B1 (ko) | 1995-02-24 |
EP0514092B1 (de) | 1998-09-23 |
EP0514092A3 (en) | 1993-10-20 |
JPH04333141A (ja) | 1992-11-20 |
US5404554A (en) | 1995-04-04 |
DE69227064D1 (de) | 1998-10-29 |
JP2677719B2 (ja) | 1997-11-17 |
EP0514092A2 (de) | 1992-11-19 |
KR920022092A (ko) | 1992-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3853613T2 (de) | Mikrorechner mit flexiblen anwendungsspezifischen integrierten Schaltungen. | |
DE2755273C2 (de) | ||
DE69714472T2 (de) | Verfahren zum überprüfen eines integrierten speichers mit hilfe einer integrierten dma-schaltung | |
DE2357003C2 (de) | Prozessor für eine Mehrprogramm-Datenverarbeitungsanlage | |
DE3751297T2 (de) | Schaltung zur Programmsteuerung. | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2524046C2 (de) | Elektronische Datenverarbeitungsanlage | |
DE3650602T2 (de) | Datenverarbeitungssystem | |
DE2935906C2 (de) | Mikroprozessor | |
DE2719295A1 (de) | Programmsteuerung | |
DE4418892C2 (de) | Mikrocomputer | |
DE3121742C2 (de) | Mikroprogramm-Steuereinrichtung | |
DE69130513T2 (de) | Verfahren zur Durchführung boolescher Operationen zwischen zwei beliebigen Bits von zwei beliebigen Registern | |
DE69732793T2 (de) | Acht-bit-mikrokontroller mit risc-architektur | |
DE69227064T2 (de) | Informationsverarbeitungssystem | |
EP0350039B1 (de) | Zähler-/Zeitgeber-Schaltung für einen Microcontroller | |
DE69131954T2 (de) | Zeichenfolgensuchgerät und -system | |
DE2364865A1 (de) | Erweitertes speicheradressenbildungssystem eines digitalen rechnersystems | |
DE3650154T2 (de) | Datenverarbeitendes Gerät. | |
DE2702722A1 (de) | Instruktionsinterpretation in elektronischen datenverarbeitungsanlagen | |
DE2952163C2 (de) | Datenverarbeitungsanlage mit einem ersten und einem zweiten Prozessor | |
DE2801853A1 (de) | Integrierte digitale datenverarbeitungseinrichtung | |
EP0111161B1 (de) | Vorrichtung zur Mikrobefehls-Bereitstellung für mindestens zwei unabhängig arbeitende Funktionseinheiten in einem integrierten, mikroprogrammierten elektronischen Baustein und Verfahren zu ihrem Betrieb | |
DE69500544T2 (de) | Mikrocomputer mit integrierter Haltepunktanordnung zur Erkennung von zusammengesetzten Ereignissen | |
DE3101270C2 (de) | Rechneranordnung zur Wortverarbeitung mit einer Einrichtung zur Funktionserweiterung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |