DE3546332C2 - Mikroprozessor mit verbessertem Befehlszyklus - Google Patents

Mikroprozessor mit verbessertem Befehlszyklus

Info

Publication number
DE3546332C2
DE3546332C2 DE3546332A DE3546332A DE3546332C2 DE 3546332 C2 DE3546332 C2 DE 3546332C2 DE 3546332 A DE3546332 A DE 3546332A DE 3546332 A DE3546332 A DE 3546332A DE 3546332 C2 DE3546332 C2 DE 3546332C2
Authority
DE
Germany
Prior art keywords
command
cycle
byte
memory
code
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
Application number
DE3546332A
Other languages
English (en)
Other versions
DE3546332A1 (de
Inventor
Nobuhisa Watanabe
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of DE3546332A1 publication Critical patent/DE3546332A1/de
Application granted granted Critical
Publication of DE3546332C2 publication Critical patent/DE3546332C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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/3802Instruction prefetching
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/321Program or instruction counter, e.g. incrementing
    • 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/3824Operand accessing
    • G06F9/383Operand prefetching

Landscapes

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

Description

Die Erfindung betrifft einen Mikroprozessor mit verbessertem Befehlszy­ klus gemäß dem Oberbegriff des Patentanspruchs.
Bei modernen Festkörper-Mikroprozessoren wird häufig eine sog. Pipeline-Struktur verwendet, die es ermöglicht, daß sich Bearbeitungszyklen und Befehlszyklen überlappen. Im Bearbeitungszyklus werden Befehle aus dem Speicher be­ arbeitet. Jeder Befehl besteht aus einem Operationsbefehl (OP-Code), der in einem Festspeicher (ROM) oder einem programmierbaren Speicher (PROM) gespeichert ist und einem ebenfalls in einem ROM gespeicherten Operanden- oder Datenteil der auf einen veränderlichen Wert im Random-Access-Speicher (RAM) angewendet werden kann. Bei der herkömmlichen Pipeline- Bauart wird das Bearbeiten des Operationsbefehls und des Datenteils in verschiedenen Befehlsablaufzyklen durch­ geführt, die nachfolgend als Befehlszyklen bezeichnet werden. Um z. B. einen 2-Byte-Befehl, bestehend aus einem 1-Byte- OP-Code und einem 1-Byte-Datenteil in einem 4-Bit- Mikroprozessor zu bearbeiten, sind zwei Befehlszyklen erforderlich. In diesem Fall benötigt daher jeder Befehls­ zyklus drei Rechnertaktzyklen. Diese herkömmliche Pipeline- Bauart benötigt daher relativ lange Betriebszeiten, um ein bestimmtes Programm zu erledigen.
Im allgemeinen ist der Bearbeitungszyklus zur Bearbeitung von OP-Code oder Datenteilen kürzer, als der Befehlszyklus. Dies bedeutet, daß es während des Ausführungszyklus einen Zeitraum gibt, in dem keine Bearbeitung erfolgt. Wenn der nächste Befehl bereits in diesem Zeitraum abgerufen werden könnte, ließe sich die Laufzeit verkürzen.
Der Erfindung liegt die Aufgabe zugrunde, einen Mikroprozessor mit ei­ nem Betriebsverfahren der eingangs genannten Art so zu verbessern, daß durch einen anderen Arbeitszyklus eine Verkürzung des Befehlsablaufs erreicht wird.
Die Lösung der gestellten Aufgabe ist im kennzeichnenden Teil des Patent­ anspruchs angegeben.
Ein erfindungsgemäßer Mikroprozessor ist dadurch gekennzeichnet, daß mit dem Speicher und dem Zähler ein Dekoder verbunden ist, der das erste Byte jedes vom Speicher ausgelesenen Befehls empfängt und an seinem Ausgang entsprechende Steuersignale abgibt, die am zweiten Eingang des Zählers anliegen, wenn das erste Byte im Dekoder anzeigt, daß der Befehl eine Mehrzahl von Bytes aufweist, wobei der Zähler unter Steuerung durch das Steuersignal um einen Zählerstand vorwärts zählt und innerhalb ei­ nes Maschinenzyklus ein zeitkomprimiertes Abrufen des nächsten Be­ fehlsbytes auf das erste Byte erfolgt.
Der Zähler spricht auf das Takten eines jeden Abrufzyklus an, um seinen Zählwert schrittweise zu erhöhen, und so den Zählwert mit der Adresse in Übereinstimmung zu halten, zu der der Zugriff in jedem Abrufzyklus er­ folgt.
Die Befehlsdaten bestehen aus einem OP-Code-Byte und einem Operanden- oder Datenbyte, wobei das OP-Code-Byte unmittelbar vor dem Beginn eines Befehlszyklus bearbeitet wird und dieser Bearbeitungsschritt den Schritt zur Bearbeitung des dem bearbeiteten OP-Code-Byte zugeordneten Datenbytes enthält und während des Beginns des Befehlszyklus abläuft. Alternativ bestehen die Befehlsdaten aus einem OP-Code-Byte und zwei Operanden- oder Datenbytes, wobei das OP-Code-Byte unmittel­ bar vor dem Beginn eines ersten Befehls bearbeitet wird, wobei dieser Bearbeitungsschritt die Schritte zur Be­ arbeitung eines ersten, dem bearbeiteten OP-Code-Byte zugeordneten Datenbytes enthält und während des Beginns des Befehlszyklus abläuft, sowie die Schritte zur Be­ arbeitung eines zweiten, dem ersten Datenbyte zuge­ ordneten Datenbyte enthält, und zwar während des ersten Befehlszyklus, der der Bearbeitung des ersten Datenbytes folgt.
Die Zeichnung stellt ein Ausführungsbeispiel der Erfindung dar. Es zeigen:
Fig. 1(A) und 1(B) Ablaufdiagramme von Befehlszyklen herkömmlicher und erfindungsgemäß vorge­ schlagener Ausführung von 2-Byte-Befehlen,
Fig. 2(A) und 2(B) Ablaufdiagramme von Befehlszyklen konventioneller und erfindungsgemäßer Art zur Ausführung von 3-Byte-Befehlen,
Fig. 3 ein schematisches Blockschaltbild eines erfindungsgemäßen Mikroprozessorsystems,
Fig. 4 den Vergleich von Ablaufdiagrammen von konventionellen und erfindungsgemäßen Befehlsabläufen mit einem Wert des Programmzählers während der Ausführung von 1-Byte-Befehlen (B) und der von 2-Byte-Befehlen (C),
Fig. 5(A) und 5(B) die Dauer der Befehlszyklen zur Aus­ führung von 2-Byte- und 3-Byte-Befehlen nach dem herkömmlichen und dem erfindungs­ gemäßen Verfahren und
Fig. 6(A) und 6(B) Abbildungen eines herkömmlichen und des Befehlsdekoders bei erfindungs­ gemäßer Verfahrensführung.
Die Erfindung wird anhand der nachfolgenden Beschreibung und den Zeichnungen einer bevorzugten Ausführungsform erläutert, die jedoch keine Beschränkung der Anmeldung beinhalten soll, da auch andere Ausführungsbeispiele vorliegen, die unter den Erfindungsgedanken fallen.
Bezugnehmend auf Fig. 1(A) und 1(B) wird die grundlegende Idee des erfindungsgemäßen Verfahrens im Vergleich zu einem herkömmlichen Verfahren beschrieben. Fig. 1(A) zeigt ein typisches konventionelles Verfahren und Fig. 1(B) das erfindungsgemäße Verfahren. Beide Diagramme zeigen die Ausführung eines 2-Byte-Befehls, der einen 8-Bit-Operationsbefehl (OP-Code), wie z. B. LDA, und einen 8-Bit-Operanden- oder Datenteil, der in diesem Fall ein Adreßenteil ist, der die zugehörige RAM-Adresse angibt, enthält. Im gezeigten Beispiel veranlaßt der Befehl, daß der Inhalt einer bestimmten RAM-Adresse in den Speicher über­ tragen oder geladen wird.
Im herkömmlichen Ablauf nach Fig. 1(A) wird der OP-Code LDA für den zweiten Befehlszyklus bearbeitet, bevor der erste Befehlszyklus beginnt. Im nächsten bearbeiteten Zyklus, der mit dem Beginn des ersten Befehlszyklus zu­ sammenfällt, werden die vom Datenteil in der RAM-Adresse festgestellten Daten bearbeitet. Die im Bearbeitungs­ zyklus bearbeiteten Daten, die gleichzeitig mit dem ersten Befehlszyklus beginnen, und der OP-Code LDA, der vor dem ersten Befehlszyklus bearbeitet wurde, werden während des zweiten Befehlszyklus verwendet.
Beim herkömmlichen Verfahren wird ferner ein Programmzähler am Ende jedes Befehlszyklus um eins erhöht. Zu Beginn des Bearbeitungszyklus des OP-Codes steht der Programmzähler auf dem Wert PC. Zu Beginn des ersten Befehlszyklus wird der Programmzähler um eins auf den Wert PC + 1 heraufgesetzt. Entsprechend wird der Programmzähler zu Beginn des zweiten Befehlszyklus um 1 heraufgesetzt, so daß sein Wert dann PC + 2 beträgt.
Im Verfahren gemaß der Erfindung nach Fig. 1(B) wird der OP-Code für den ersten Befehlszyklus, wie im oben be­ schriebenen Verfahren, vor Beginn des ersten Befehls­ zyklus bearbeitet. Dieser 2-Byte-OP-Code enthält eine Anordnung, den Bearbeitungszyklus zu kürzen. Im Zeitraum M₂ bis M₃ des ersten Befehlszyklus werden Daten in der RAM- Adresse, die vom Daten-RAM bestimmt werden, bearbeitet. Die Datenteile, die im Zeitraum M₂ bis M₃ des ersten Befehls­ zyklus bearbeitet werden, und der OP-Code, der vor dem ersten Befehlszyklus bearbeitet wird, werden zur Aus­ führung des ersten Befehlszyklus verwendet. Beim Verfahren gemäß der Anmeldung werden die im Zeitraum M₂ bis M₃ bear­ beiteten Daten der RAM-Adresse zur Ausführung des Befehls im ersten Befehlszyklus erst im folgenden Zeitraum M₀ bis M₁ benötigt.
Im Verlauf des Verfahrens wird am Ende jedes Befehlszyklus der Programmzähler um eins erhöht. Der Programmzähler wird also bei jedem M₃-Zeittakt um eins heraufgesetzt. Mit anderen Worten wird am Ende des Bearbeitungszyklus für den OP-Code der Wert des Programmzählers von PC auf PC + 1 erhöht. Im Zusammenhang mit dem M₃-Takt im ersten Befehls­ zyklus wird der Programmzähler um eins erhöht und der Wert des Zählers entsprechend von PC + 1 auf PC + 2 erhöht. Anschließend wird der Programmzähler gemäß einem M₁- Zeittakt am Ende des ersten Befehlszyklus erneut um eins heraufgesetzt.
Im Zeitraum M₀ bis M₁ des ersten Befehlszyklus kann der OP-Code für den nächsten Befehlszyklus bearbeitet werden.
Man benötigt daher ersichtlicherweise nur einen Befehlszyklus, um einen 2-Byte-Befehl gemäß dem Verfahren nach der Erfindung auszuführen.
Die Fig. 2(A) und 2(B) zeigen ein anderes Beispiel, das die Ausführung eines 3-Byte-Befehls betrifft. Das gezeigte Beispiel bezieht sich auf den Aufruf eines Unterprogramms, durch das das Steuerprogramm auf eine 2-Byte-Programm­ adresse, d. h. ein HIGH-Adreßbyte PH und ein LOW-Adreß­ byte PL springt. Der Befehl enthält also einen 1-Byte- (8-Bit)-OP-Code CALL und die zwei Datenbytes PH und PL.
Beim konventionellen Verfahren nach Fig. 2(A) wird der OP-Code für den Befehl, der im dritten Befehlszyklus ausgeführt werden soll, vor dem Beginn des ersten Befehls­ zyklus bearbeitet. Im nächsten Bearbeitungszyklus der zeitgleich mit dem ersten Befehlszyklus abläuft, wird das HIGH-Adreßbyte PH bearbeitet. Ähnlich wird im zweiten Befehlszyklus das LOW-Adreßbyte PL bearbeitet. Die HIGH- und LOW-Adreßbytes PH und PL- die in Bearbeitungszyklen zugleich mit dem ersten und zweiten Befehlszyklus bearbeitet werden und der OP-Code CALL, der vor dem ersten Befehlszyklus bearbeitet wird, werden dazu benutzt, den Aufruf des Unter­ programms im dritten Befehlszyklus auszuführen.
Im Verlauf des Verfahrens wird am Ende jedes Befehlszyklus der Programmzähler um eins erhöht. Entsprechend wird am Ende des Bearbeitungszyklus für den OP-Code der Wert des Programmzählers von PC auf PC + 1 erhöht. Am Ende des ersten Befehlszyklus wird der Programmzähler um eins heraufgesetzt, und der Wert des Zählers wächst entsprechend von PC + 1 auf PC + 2. In gleicher Weise wird der Programm­ zähler am Ende des zweiten und dritten Befehlszyklus um eins erhöht.
Im Verfahren gemäß der Erfindung nach Fig. 2(B) wird der OP-Code CALL für den Befehl, der im zweiten Befehls­ zyklus ausgeführt werden soll, vor Beginn des ersten Befehlszyklus ausgeführt. Der OP-Code CALL enthält eine Anordnung, die nachfolgenden Bearbeitungszyklen zu kürzen. Im Zeitraum M₂ bis M₃ im ersten Befehlszyklus wird das HIGH-Adreßbyte PH bearbeitet. Im Zeitraum M₀ bis M₁ im ersten Befehlszyklus wird das LOW-Adreßbyte PL bearbeitet. Die Adreßbytes PH und PL, die im ersten Befehlszyklus bearbeitet werden und der OP-Code CALL, der vor dem ersten Befehlszyklus bearbeitet wird, werden dazu benutzt, den Aufruf des Unterprogramms im zweiten Befehlszyklus auszuführen.
Im Verlauf des Verfahrens wird am Ende jedes Befehlszyklus der Programmzähler um eins erhöht. Der Programmzähler wird also bei jedem M₃-Zeittakt, der mitten (auf halbem Wege) in jeden Befehlszyklus fällt, um eins heraufge­ setzt. Am Ende des Bearbeitungszyklus für den OP-Code erhöht sich der Wert des Programmspeichers von PC auf PC + 1. Entsprechend dem M₃-Takt im ersten Befehlszyklus wird der Programmzähler erneut um eins erhöht und der Wert des Programmzählers steigt demzufolge auf PC + 2. Schließlich wird der Programmzähler gemäß dem M₁-Zeittakt am Ende des ersten Befehlszyklus um eins erhöht und so weiter.
Zu Beginn des zweiten Befehlszyklus kann der OP-Code für den nächsten auszuführenden Befehl bearbeitet werden.
Man benötigt daher, wie hieraus zu bemerken ist, nur zwei Befehlszyklen, um einen 3-Byte-Befehl gemäß dem Verfahren der vorliegenden Anmeldung auszuführen.
Fig. 3 zeigt ein Mikroprozessorsystem, das zur Ausführung des Verfahrens gemäß der vorliegenden Erfindung geeignet ist. Das Ausführungsbeispiel des Mikroprozessors enthält ein programmierbares ROM (PROM) 1, einen Pufferspeicher 2, einen Befehlsspeicher 3, einen Befehlsdekoder 4, der z. B. auf einer programmierbaren Logikmatrix (PLA) basiert, einen Programmzähler 5, ein RAM-Adreß-Speicher 6 und Feld­ effekttransistoren 7 bis 9.
Die Wirkungsweise des Ausführungsbeispiels des Mikro­ prozessors wird nachfolgend unter Bezug auf Fig. 4 be­ schrieben. Fig. 4(A) zeigt Zeittakte M₂, M₃, M₀ und M₁, die während jedes Befehlszyklus erzeugt werden. (B) zeigt den Zählerwert des Programmzählers 5 während der Ausführung von logisch fortlaufenden 1-Byte-Befehlen. (C) zeigt die Änderung des Zählerwertes im Programmzähler 5 während der Ausführung von logisch fortlaufenden 2-Byte- Befehlen.
Der Befehlsdekoder 4 gibt ein Signal PCUP zur Erhöhung des Programmspeichers und einige Steuersignale C₁ bis C₃, die den Informationsfluß zwischen den Mikroprozessorelementen 1 bis 6 steuern. Die Steuersignale C₁, C₂ und C₃ werden mit dem Zeittakt M₃, M₁ bzw. M₃ verknüpft (AND), um die FETs 7, 8 und 9 zu steuern. Wenn die FETs 7 und 8 leitend sind, lassen sie Daten, entweder Datenteile oder OP-Codes, vom PROM 1 zum Pufferspeicher 2 oder zum Befehlsspeicher 3 gelangen. Wenn FET 9 leitend ist, läßt er den Datenteil aus dem Pufferspeicher 2 in den Datenbus gelangen, von wo der Datenteil in den RAM-Adreß- Speicher 6 als Menge, als Speichergröße oder als ähnlicher Befehl oder in den Programmzähler 5 zum Aufruf von Unter­ programmen usw. geladen werden kann.
Wenn ein OP-Code eine Anordnung zur beschleunigten Bearbeitung des Datenteils enthält, gibt der Befehls­ dekoder 4 sowohl einen PCUP-Impuls, als auch C₂- und C₃-Impulse, die es ermöglichen, daß der Datenteil in und aus dem Pufferspeicher 2 nach Maßgabe des nächsten M₁-Zeittaktes geladen wird, und erhöht den Programmzähler, um zum nächsten OP-Code zu gelangen.
Im Beispiel nach Fig. 4(B) wird ein 1-Byte-Befehl in einem einzelnen Befehlszyklus ausgeführt. Die Bearbeitung der Befehle in PROM 1 wird von der abfallenden Flanke des M₁- Zeittaktimpulses getriggert, wenn die C₁-Ausgangsgröße vom Befehlsdekoder 4 vorliegt. Zur gleichen Zeit wird der Programmspeicher 5 gemäß dem PCUP-Signal um eins erhöht. Der bearbeitete Befehl (OP-Code) wird in das Befehlsregister 3 eingelesen und danach zum Befehlsdekoder 4 geleitet. Der Befehlsdekoder 4 entschlüsselt den über­ mittelten Befehl und gibt geeignete Signale C₁, C₂, C₃ aus.
Die abfallende Flanke des M₁-Zeittaktimpulses bestimmt den Beginn des Befehlszyklus, in welchem der Befehl des vorangegangenen Befehlszyklus ausgeführt wird. Gleich­ zeitig mit der Ausführung des Befehls des vorangegangenen Zyklus wird der nächste 1-Byte-Befehl während des laufenden Befehlszyklus bearbeitet. Die PROM-Adresse, die den Befehl erhalten soll, wird durch den Zählerwert (PC, PC + 1, PC + 2) dargestellt, der bei jeder ab­ fallenden Flanke des M₁-Taktimpulses durch das PCUP-Signal um eins erhöht wird.
Während der Ausführung von 1-Byte-Befehlen bleiben die Aus­ gänge C₂ und C₃ des Befehlsdekoders inaktiv, wenn keine Forderungen nach beschleunigter Behandlung des Datenteils vorliegen. Demzufolge bleiben die FETs 8 und 9 nichtleitend. Wenn in dieser Zeit das PCUP-Signal des Befehlsdekoders 4 nicht mitten im Befehlszyklus abgegeben wird, wird der Programmzähler 5 nur von der abfallenden Flanke des M₁- Taktimpulses heraufgesetzt.
Wenn, wie in Fig. 4(C) dargestellt ist, die 2-Byte-Befehle, die aus einem 1-Byte-OP-Code und einem 1-Byte-Datenteil bestehen, ausgeführt werden sollen, werden die C₂- und C₃-Impulse vom Befehlsdekoder 4 ausgegeben, wenn der OP- Code des Befehls, der auf die abfallende Flanke des M₁- Taktimpulses folgt, bearbeitet ist. Die Ausgänge C₂ und C₃ machen die FETs 8 und 9 leitend, so daß der Datenteil aus ROM 1 in den Pufferspeicher 2, den Programm­ zähler 5 und/oder den RAM-Adreß-Speicher 6 geladen wird.
Bei der abfallenden Flanke des M₃-Taktimpulses wird der Programmzähler 5 gemäß dem PCUP-Signal des Befehlsde­ koders 4 um eins erhöht. Zur gleichen Zeit werden z. B. die Daten aus dem RAM-Adreß-Speicher 6 ausgelesen und zur Ausführung des Befehls im Zeitraum M₀ bis M₁ verwendet.
Im Zeitraum M₀ bis M₁ wird der nächste Befehl vom PROM bearbeitet. Da in diesem Fall der Programmzähler 5 durch PCUP gemäß der abfallenden Flanke des M₃-Taktimpulses erhöht wird, wird die PROM-Adresse, die durch den Wert des Zählers vertreten wird, mit der Adresse des OP-Codes für den nächsten Befehl übereinstimmen.
Um eine Kürzung des Bearbeitungszyklus nach dem erfindungs­ gemäßen Verfahren zu ermöglichen, ist es nötig, daß die zweiten und/oder dritten Datenbytes keine OP-Code- Komponenten, sondern nur Datenteile, wie Daten oder Adressen, enthalten. Da in den meisten 4-Bit-Mikro­ prozessoren die Befehle nur einen 1-Byte-OP-Code und einen oder mehrere Daten-Bytes enthalten, ist das Verfahren für die meisten Mikroprozessoren dieses Typs anwendbar.
Wie die Diagramme der Fig. 5(A) und 5(B) für das erfindungsgemäße Verfahren zeigen, können 2-Byte-Befehle, die üblicher­ weise zwei Befehlszyklen zur Ausführung erfordern, in einem einzigen Befehlszyklus in einer Pipeline-Struktur ausgeführt werden. Genau so können 3-Byte-Befehle, die üblicherweise drei Befehlszyklen zur Ausführung erfordern, in zwei Befehls­ zyklen ausgeführt werden. Bei Anwendung des Verfahrens gemäß der Erfindung wird also die Betriebsablaufzeit erheblich verkürzt.
Außerdem zeigen Fig. 6(A) und 6(B) als Diagramm die Flächen, die für den Befehlsdekoder herkömmlicher Art und für das System gemäß der Erfindung erforderlich sind, wobei (A) ein konventionelles System und (B) das gemäß der Erfindung zeigen. Die vertikalen Linien in Fig. 6(A) und 6(B) stellen Auswahlzeilen von UND-Elementen und die horizontalen Linien Auswahlzeilen von ODER-Elementen dar. m₁ stellt das Auswahlsignal für Maschinenstatus 1, m₂ den Auswahleingang für Maschinenstatus 2 und m₃ den Auswahleingang für Maschinenstatus 3 dar.
Wie aus Fig. 6 (A) und 6 (B) zu entnehmen ist, sind beim konventionellen System drei Maschinenzustände erforderlich, um einen 3-Byte-Befehl mit drei Befehlszyklen auszuführen. Beim Verfahren gemäß der Erfindung sind dagegen nur zwei Befehlszyklen nötig, um 3-Byte-Befehle auszuführen. Folglich sind auch nur zwei Maschinenzustände des Befehls­ dekoders erforderlich, um 3-Byte-Befehle zu bearbeiten. Die ODER-Element-Auswahlzeile, die zum Steuern einer Signalzeile für Maschinenstatus 3 dient, wird daher über­ flüssig. Das führt zu einer bemerkenswerten Verkürzung der UND-Element-Auswahlzeilen und erlaubt eine entsprechende Verkleinerung der Abmessungen des Befehlsdekoders.
Wie nochmals erwähnt sei, wurde die spezielle Anordnung und eine bevorzugte Ausführungsform eines Mikroprozessors hier nur mitgeteilt, um das der Erfindung zugrundeliegende Prinzip besser verständlich zu machen. Andere Ausführungs­ formen von Mikroprozessoren, die sich für das erfindungs­ gemäße Verfahren eignen, lassen sich in dem dargelegten Rahmen angeben.

Claims (1)

  1. Mikroprozessor mit verbessertem Befehlszyklus, mit einem Speicher (1), in dem Befehle speicherbar sind, von denen zumindest einer ein erstes und ein zweites, jeweils an einer bestimmten Adresse speicherbares Byte aufweist, einem mit dem Speicher verbundenen Zähler (5), der einen er­ sten Eingang für den Empfang einer vorbestimmten Folge von einen Ma­ schinenzyklus bestimmenden Taktimpulsen sowie einen zweiten Eingang aufweist und der an seinem Ausgang sequentiell jeweils eine der Speicher­ adressen für das Auslesen der Befehlsbytes abgibt, dadurch gekenn­ zeichnet, daß mit dem Speicher (1) und dem Zähler (5) ein Dekoder (4) ver­ bunden ist, der das erste Byte jedes vom Speicher (1) ausgelesenen Befehls empfängt und an seinem Ausgang entsprechende Steuersignale abgibt, die am zweiten Eingang des Zählers (5) anliegen, wenn das erste Byte im Deko­ der (4) anzeigt, daß der Befehl eine Mehrzahl von Operandenbytes aufweist, wobei der Zähler (5) unter Steuerung durch eines der Steuersignale um einen Zählerstand vorwärts zählt und innerhalb eines Maschinenzyklus ein zeitkomprimier­ tes Abrufen des auf das erste Byte folgenden nächsten Befehlsbytes erfolgt.
DE3546332A 1984-12-29 1985-12-30 Mikroprozessor mit verbessertem Befehlszyklus Expired - Fee Related DE3546332C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59276835A JPH0776917B2 (ja) 1984-12-29 1984-12-29 マイクロコンピユ−タ

Publications (2)

Publication Number Publication Date
DE3546332A1 DE3546332A1 (de) 1986-07-10
DE3546332C2 true DE3546332C2 (de) 1995-09-21

Family

ID=17575063

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3546332A Expired - Fee Related DE3546332C2 (de) 1984-12-29 1985-12-30 Mikroprozessor mit verbessertem Befehlszyklus

Country Status (12)

Country Link
US (3) US5630085A (de)
JP (1) JPH0776917B2 (de)
KR (1) KR930009754B1 (de)
CN (1) CN1024960C (de)
AT (1) AT396409B (de)
AU (1) AU582408B2 (de)
CA (1) CA1242802A (de)
DE (1) DE3546332C2 (de)
FR (1) FR2575563B1 (de)
GB (1) GB2169115B (de)
IT (1) IT1208731B (de)
NL (1) NL193474C (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5088035A (en) * 1988-12-09 1992-02-11 Commodore Business Machines, Inc. System for accelerating execution of program instructions by a microprocessor
GB2230116B (en) * 1989-04-07 1993-02-17 Intel Corp An improvement for pipelined decoding of instructions in a pipelined processor
US5293592A (en) * 1989-04-07 1994-03-08 Intel Corporatino Decoder for pipelined system having portion indicating type of address generation and other portion controlling address generation within pipeline
US6003127A (en) * 1995-10-04 1999-12-14 Nippondenso Co., Ltd. Pipeline processing apparatus for reducing delays in the performance of processing operations
US5901293A (en) * 1996-06-25 1999-05-04 Claxton; Daniel Dean Bus interface controller for serially-accessed variable-access-time memory device
KR100308211B1 (ko) 1999-03-27 2001-10-29 윤종용 압축 명령을 갖는 마이크로 컴퓨터 시스템
US6978360B2 (en) * 2001-05-11 2005-12-20 International Business Machines Corporation Scalable processor
US7552427B2 (en) * 2004-12-13 2009-06-23 Intel Corporation Method and apparatus for implementing a bi-endian capable compiler
US9112495B1 (en) 2013-03-15 2015-08-18 Mie Fujitsu Semiconductor Limited Integrated circuit device body bias circuits and methods

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3609700A (en) * 1970-02-24 1971-09-28 Burroughs Corp Data processing system having an improved fetch overlap feature
US3771138A (en) * 1971-08-31 1973-11-06 Ibm Apparatus and method for serializing instructions from two independent instruction streams
BE789583A (fr) * 1971-10-01 1973-02-01 Sanders Associates Inc Appareil de controle de programme pour machine de traitement del'information
US3793631A (en) * 1972-09-22 1974-02-19 Westinghouse Electric Corp Digital computer apparatus operative with jump instructions
US3840861A (en) * 1972-10-30 1974-10-08 Amdahl Corp Data processing system having an instruction pipeline for concurrently processing a plurality of instructions
US3961313A (en) * 1974-12-04 1976-06-01 International Business Machines Corporation Computer control apparatus
US4079455A (en) * 1976-12-13 1978-03-14 Rca Corporation Microprocessor architecture
DE2702586C3 (de) * 1977-01-22 1979-07-05 Standard Elektrik Lorenz Ag, 7000 Stuttgart Schaltungsanordnung zum Steuern des Speicherzugriffs bei einem Rechner
US4363091A (en) * 1978-01-31 1982-12-07 Intel Corporation Extended address, single and multiple bit microprocessor
US4462073A (en) * 1978-11-08 1984-07-24 Data General Corporation Apparatus for fetching and decoding instructions
CA1134952A (en) * 1979-04-24 1982-11-02 Thomas E. Kloos Means and method within a digital processing system for prefetching both operation codes and operands
US4346437A (en) * 1979-08-31 1982-08-24 Bell Telephone Laboratories, Incorporated Microcomputer using a double opcode instruction
US4316247A (en) * 1979-10-30 1982-02-16 Texas Instruments, Inc. Low power consumption data processing system
US4399507A (en) * 1981-06-30 1983-08-16 Ibm Corporation Instruction address stack in the data memory of an instruction-pipelined processor
US4541045A (en) * 1981-09-21 1985-09-10 Racal-Milgo, Inc. Microprocessor architecture employing efficient operand and instruction addressing
US4654781A (en) * 1981-10-02 1987-03-31 Raytheon Company Byte addressable memory for variable length instructions and data
JPS58134350A (ja) * 1982-02-04 1983-08-10 Matsushita Electric Ind Co Ltd メモリ制御装置
JPS58149541A (ja) * 1982-03-01 1983-09-05 Hitachi Ltd デ−タ処理装置
JPS58205256A (ja) * 1982-05-24 1983-11-30 Matsushita Electric Ind Co Ltd データ処理方法
JPS5920049A (ja) * 1982-07-26 1984-02-01 Nec Corp 演算処理装置
US4471432A (en) * 1982-10-13 1984-09-11 Wilhite John E Method and apparatus for initiating the execution of instructions using a central pipeline execution unit
US4613935A (en) * 1983-02-02 1986-09-23 Couleur John F Method and apparatus for pipe line processing with a single arithmetic logic unit
US4742451A (en) * 1984-05-21 1988-05-03 Digital Equipment Corporation Instruction prefetch system for conditional branch instruction for central processor unit

Also Published As

Publication number Publication date
NL193474C (nl) 1999-11-02
FR2575563B1 (fr) 1990-12-07
JPS61157946A (ja) 1986-07-17
JPH0776917B2 (ja) 1995-08-16
AU582408B2 (en) 1989-03-23
US5621907A (en) 1997-04-15
IT1208731B (it) 1989-07-10
US6484252B1 (en) 2002-11-19
NL193474B (nl) 1999-07-01
US5630085A (en) 1997-05-13
FR2575563A1 (fr) 1986-07-04
IT8548990A0 (it) 1985-12-27
GB2169115B (en) 1989-01-11
GB8531800D0 (en) 1986-02-05
NL8503516A (nl) 1986-07-16
CA1242802A (en) 1988-10-04
DE3546332A1 (de) 1986-07-10
AU5147785A (en) 1986-07-03
KR860005297A (ko) 1986-07-21
CN85109719A (zh) 1986-07-02
CN1024960C (zh) 1994-06-08
ATA376385A (de) 1992-12-15
KR930009754B1 (ko) 1993-10-09
AT396409B (de) 1993-09-27
GB2169115A (en) 1986-07-02

Similar Documents

Publication Publication Date Title
DE2457612C3 (de) Mikroprogrammier-Steuereinrichtung
DE4410775C2 (de) Steuergerät und Arbeitsverfahren eines Betriebssystems für dieses Steuergerät
DE3732808A1 (de) Verfahren und vorrichtung zum erzeugen und bearbeiten von unterbrechungspunkten in einem monitorprogramm
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE3546332C2 (de) Mikroprozessor mit verbessertem Befehlszyklus
DE2944757C2 (de) Programmierbare Prozeßsteuerung
DE3833938C2 (de)
DE2750344A1 (de) Verfahren und vorrichtung zum gleichzeitigen betaetigen irgendeiner anzahl einer mehrzahl von vorrichtungen
DE2246863C3 (de) Einrichtung zur Protokollierung des Programmablaufs in einer Datenverarbeitungsanlage
DE2617485A1 (de) Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen
DE2245284A1 (de) Datenverarbeitungsanlage
EP0566942B1 (de) Verfahren zur Reduzierung von Störsignalen die durch digitale Signalprozessoren verursacht werden
DE2418921A1 (de) Vorrichtung und verfahren zum speichern und ausfuehren von mikroprogrammen in einem datenverarbeitungssystem
DE10065498A1 (de) Verfahren und Vorrichtung zur Rekonstruktion des Prozessablaufs eines Steuerprogramms
DE3633898A1 (de) Einrichtung zur folgesteuerung eines aeusseren kreises, beispielsweise eines pipelineprozessors
DE2606295C3 (de) Anordnung zur Übertragung von Zeichen zwischen über einen Multiplexkanal ansteuerbaren peripheren Einheiten und einem Arbeitsspeicher eines Zentralprozessors
DE2419836C3 (de) Schaltungsanordnung zur Durchführung von Unterprogramm-Sprungbefehlen in Datenverarbeitungsanlagen
EP0612421B1 (de) Speicherprogrammierbare steuerung
DE2216533C3 (de) Anordnung zur Steuerung der Durchführung mehrerer Aufgaben in einer DTENVERARBEITUNGSANLAGE
EP1091290B1 (de) Prozessorsystem mit Speicher- oder Ladebebefehl mit Trenninformation
DE1549582B1 (de) Anordnung zur bestimmung der niedrigstwertigen bit position
CH663807A5 (de) Mikrorechnersteuereinheit fuer den stellantrieb einer strickmaschine.
EP0326803B1 (de) Anordnung zur Erweiterung eines Befehlsspeicherbereichs
DE2007401C (de) Pufferspeicher zum Verzogern der Adressierung bei einer programmgesteuer ten Fernmeldeanlage
DE1499200C (de) Datenverarbeitungsanlage mit vorranggesteuerter Programmunterbrechung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Free format text: PATENTANWAELTE MUELLER & HOFFMANN, 81667 MUENCHEN

8339 Ceased/non-payment of the annual fee