AT396409B - Mikrorechner mit verbessertem befehlszyklus - Google Patents

Mikrorechner mit verbessertem befehlszyklus Download PDF

Info

Publication number
AT396409B
AT396409B AT0376385A AT376385A AT396409B AT 396409 B AT396409 B AT 396409B AT 0376385 A AT0376385 A AT 0376385A AT 376385 A AT376385 A AT 376385A AT 396409 B AT396409 B AT 396409B
Authority
AT
Austria
Prior art keywords
byte
command
cycle
instruction
counter
Prior art date
Application number
AT0376385A
Other languages
English (en)
Other versions
ATA376385A (de
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 ATA376385A publication Critical patent/ATA376385A/de
Application granted granted Critical
Publication of AT396409B publication Critical patent/AT396409B/de

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

AT 396 409 B
Diese Erfindung betrifft einen Microrechner mit verbessertem Befehlszyklus, mit einem Speicher, in dem Befehle speicherbar sind, von denen zumindest einer ein erstes und ein zweites, jeweils an ein»: bestimmten Adresse speicherbares Byte aufweist, einem mit dem Speicher verbundenen Zähler, der einen osten Eingang für den Empfang einer vorbestimmten Folge von einen Maschinenzyklus bestimmenden Taktimpulsen sowie einen S zweiten Eingang aufweist und der an seinem Ausgang sequentiell jeweils eine der Speicheradressen für das Auslesen der Befehlsbytes abgibt.
Moderne monolithische Microrechner verwenden oft einen pipelineförmigen Aufbau, der eine Überlappung der Abrufzyklen und der Befehlsausführungszyklen gestattet. Im Abrufzyklus werden Befehle von Speicher abgerufen. Jeder Befehl besteht aus einem Operationscode, der in einem nur auslesbaren Speicher (später ROM 10 genannt) gespeichert ist, z. B. einem programmiobaren, nur auslesbaren Speicho (später PROM genannt), sowie einem Operanden, do gleichfalls in einem ROM gespeichert ist und auf einen variablen Wert zeigt, der in einem Speicher mit wahlfreiem Zugriff (später RAM genannt) gespeichert ist. Bei herkömmlichen pipelineförmig aufgebauten Microrechnem erfolgen der Abruf des Operationscodes und der Abruf des Operanden in unterschiedlichen Befehlsausführungszyklen, die später als "Befehlszyklen" bezeichnet woden. Um beispielsweise 15 einen 2-Byte Befehl, der einen 1-Byte Operationscode und einen 1-Byte Operanden enthält, in einem 4-Bit Microrechner abzurufen, sind zwei Befehlszyklen erforderlich. In diesem Fall benötigt daher jedo Befehlszyklus drei Maschinentaktzyklen. Dieser herkömmliche rohrleitungsförmige Aufbau ist nicht ganz zufriedenstellend.
Im allgemeinen ist der Abrufzyklus für das Abrufen des Operationscodes oder der Operanden kürzer als der Befehlszyklus. Das bedeutet, daß im Ausführungszyklus ein Intervall besteht, während dem kein Abruf erfolgt 20 Wenn do nächste Befehlsteil während dieses Intervalls abgerufen woden kann, ist es möglich, den Durchlauf zu verkürzen.
Aufgabe der Erfindung ist es daher, einen Microrechno mit verbessertem Befehlszyklus zu schaffen, welcher die Nachteile der oben beschriebenen herkömmlichen Microrechno vermeidet und dessen Befehlszyklus kürzo ist
Diese Aufgabe wird bei einem Microrechner der eingangs angeführten Art erfindungsgemäß dadurch gelöst, 25 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 Dekodo 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 eines Maschinenzyklus ein zeitkomprimiertes Abrufen des nächsten Befehlsbytes auf das erste Byte 30 erfolgt
Do Zähler spricht auf das Takten eines jeden Abrufzyklus an, um seinen Zählwert schrittweise zu erhöhen, um den Zähl wert mit der Adresse in Übereinstimmung zu halten, zu der der Zugriff in jedem Abrufzyklus erfolgt
Die Befehlsdaten bestehen vorzugsweise aus einem Operationscode-Byte und einem Operanden-Byte, wobei das Operationscode-Byte unmittelbar vor dem Einsatz eines Befehlszyklus abgerufen wird, wobei do Abrufschritt 35 einen Schritt enthält, bei dem das Operanden-Byte, das dem abgerufenen oder Code-Byte zugeordnet ist, gleichzeitig mit dem Einsatz des Befehlszyklus abgerufen wird. Im anderen Fall bestehen die Befehlsdaten aus einem Operationscode-Byte und zwei Operanden-Bytes, wobei das Operationscode-Byte unmittelbar vor dem Einsatz eines ersten Befehls abgerufen wird und beim Abrufen ein erstes Operanden-Byte, das dem abgoufenen Operandencode-Byte zugeordnet ist, gleichzeitig mit dem Einsatz des osten Befehlszyklus abgerufen wird und ein 40 zweites Operanden-Byte, das dem ersten Operanden-Byte zugeordnet ist, während des ersten Befehlszyklus abgerufen wird, der auf den Abruf des osten Operanden-Byte folgt.
Die Erfindung wird nun an Hand einer ausführlichen Beschreibung und den beiliegenden Zeichnungen einer bevorzugten Ausführungsform erörtert, die jedoch nicht als Einschränkung angesehen werden soll, sondern nur zur Erläuterung und zum Verständnis dient. 45 In den Zeichnungen zeigt:
Fig. 1(A) und 1(B) Zeitdiagramme von herkömmlichen und erfindungsgemäßen Befehlszyklen für die Ausführung von 2-Byte Befehlen;
Fig. 2(A) und 2(B) Zeitdiagramme von herkömmlichen und erfindungsgemäßen Befehlszyklen für die Ausführung von 3-Byte Befehlen; 50 Fig. 3 das vereinfachte Blockschaltbild eines Microrechnersystems gemäß dieser Erfindung;
Fig. 4 den Vergleich von Zeitdiagrammen für herkömmliche und erfindungsgemäße Microrechner zur Ausführung von Befehlen, wobei (B) den Zählwert des Programmzählers während der Ausführung von 1-Byte Befehlen und (Q das gleiche bei 2-Byte Befehlen zeigt;
Fig. 5(A) und 5(B) die Dauer von Befehlszyklen für die Ausführung von 2-Byten und 3-Byte Befehlen bei 55 herkömmlichen und erfindungsgemäßen Microrechnem; und
Fig. 6(A) und 6(B) Darstellungen von herkömmlichen und erfindungsgemäßen Decodern.
Nunmehr wird auf die Zeichnungen und besonders auf Fig. 1(A) und 1(B) Bezug genommen, wobei der allgemeine und grundlegende Gedanke der Erfindung im Gegensatz zu herkömmlichen Microrechnem beschrieben wird. Fig. 1(A) zeigt ein typisches bei herkömmlichen Microrechnem verwendetes Verfahren gemäß dem Stand 60 der Technik und Fig. 1(B) ein bevorzugtes Verfahren für den Microrechner dieser Erfindung. Beide Diagramme sind auf die Ausführung eines 2-Byte Befehls gerichtet, der einen 8-Bit Operationscode, z. B. LDA, und einen 8-Bit Operanden besitzt, bei dem es sich in diesem Fall um einen Adressencode handelt, der die RAM-Adresse -2-
AT 396 409 B identifiziert, zu der der Zugriff erfolgen soll. Beim gezeigten Beispiel veranlaßt der Befehl, daß der Inhalt einer bestimmten RAM-Adresse in den Akkumulator übertragen oder geladen werden soll.
Beim herkömmlichen Verfahren von Fig. 1(A) wird der Operationscode LDA für den zweiten Befehlszyklus abgerufen, bevor der erste Befehlszyklus beginnt. Beim nächsten Abrufzyklus, der mit dem Einsatz des ersten Befehlszyklus übereinstimmt, werden Daten in der RAM-Adresse abgerufen, die mit dem Operanden identifiziert wird. Die Daten, die in jenem Abrufzyklus abgerufen werden, der gleichzeitig mit dem ersten Befehlszyklus beginnt, sowie der Operationscode LDA, der vor dem ersten Befehlszyklus abgerufen wird, werden im zweiten Befehlszyklus verwendet
Beim oben erwähnten heikömmlichen Verfahren wird am Ende eines jeden Befehlszyklus ein Programmzähler um einen Schritt erhöht Am Beginn des Abrufzyklus des Operationscodes ist der Zählwert des Programmzählers gleich PC. Am Beginn des ersten Befehlszyklus wird der Programmzähler um 1 erhöht wodurch der Zählwert gleich PC + 1 wird. Auf ähnliche Weise wird der Programmzähler am Beginn des zweiten Befehlszyklus um 1 erhöht, wodurch der Zählwert gleich PC + 2 wird.
Beim Verfahren von Fig. 1(B) wird der Operationscode für den ersten Befehlszyklus abgerufen, bevor der erste Befehlszyklus beginnt, wie dies beim oben beschriebenen Verfahren der Fall war. Dieser 2-Byte Operationscode weist jedoch eine Anforderung auf, den Abrufzyklus zu komprimieren. Im Intervall M2 * M3 während des ersten Befehlszyklus werden die Daten in der RAM-Adresse abgerufen, die mit dem Operanden RAM identifiziert wird. Die im Intervall M2 - M3 im ersten Befehlszyklus abgerufenen Operandendaten sowie der vor dem ersten Befehlszyklus abgerufene Operationscode werden dazu verwendet um den ersten Befehlszyklus auszuführen. Bei diesem Verfahren werden die Daten in der RAM-Adresse, die im Intervall M2 - M3 abgerufen werden, bis zum nachfolgenden Intervall Mq - Mj nicht für die Ausführung des Befehls im ersten Befehlszyklus verwendet Während des oben beschriebenen Verfahrens wird der Programmzähler am Ende eines jeden Befehlszyklus um 1 erhöht. Der Programmzähler wird weiters in Abhängigkeit von jedem M3-Taktimpuls um 1 erhöht Anders ausgedrückt: Am Ende des Abrufzyklus für den Operationscode wird der Zählwert des Programmzählers vom PC auf PC + 1 erhöht In Abhängigkeit vom M3-Takt im ersten Befehlszyklus wird der Programmzähler um 1 erhöht, wodurch sich der Zählwert vom PC + 1 auf PC + 2 ändert Daraufhin wird der Programmzähler am Ende des ersten Befehlszyklus in Abhängigkeit vom Mj-Taktimpuls abermals um 1 erhöht Während des Intervalls Mq - Μχ im ersten Befehlszyklus kann der Operationscode für den nächsten Befehlszyklus abgerufen werden.
Es ist daraus ersichtlich, daß beim bevorzugten Verfahren gemäß dieser Erfindung nur ein Befehlszyklus erforderlich ist, um einen 2-Byte Befehl auszuführen.
Fig. 2(A) und 2(B) zeigen ein anderes Beispiel, das die Ausführung eines 3-Byte Befehls betrifft Das gezeigte Beispiel ist auf den Anruf eines Unterprogramms gerichtet, mit dem die Programmsteuerung auf eine Programmadresse springt, die durch 2 Bytes bestimmt wird, d. h. einem HOHEN Adressen-Byte Pr und einem NIEDEREN Adressen-Byte P^. Der Befehl enthält somit einen 1-Byte (8-Bit) Operationscode CALL sowie die beiden Operanden-Bytes Pjj und Pl.
Beim herkömmlichen Verfahren von Fig. 2(A) wird der Operationscode für den Befehl, der im dritten Befehlszyklus ausgeführt werden soll, vor dem Beginn des ersten Befehlszyklus abgerufen. Im nächsten Abrufzyklus wird gleichzeitig mit dem ersten Befehlszyklus das HOHE Adressen-Byte Pjj abgerufen. Auf ähnliche Weise wird im zweiten Befehlszyklus das NIEDERE Adressen-Byte Pl abgerufen. Das HOHE und NIEDERE Adressen-Byte Pjj und Pl, die in den Abrufzyklen gleichzeitig mit dem ersten und zweiten Befehlszyklus abgerufen werden, sowie der Operationscode CALL, der vor dem ersten Befehlszyklus abgerufen wird, werden dazu verwendet, um den Unterprogramm-Anrufbefehl im dritten Befehlszyklus auszuführen. Während des oben beschriebenen Verfahrens wird der Programmzähler am Ende eines jeden Befehlszyklus um 1 erhöht. Dementsprechend wird am Ende des Abrufzyklus für den Operationscode der Zählwert des Programmzählers von PC auf PC + 1 erhöht. Am Ende des ersten Befehlszyklus wird der Programmzähler um 1 erhöht, wodurch der Zählwert von PC +1 auf PC + 2 ansteigt. Auf ähnliche Weise wird der Programmzähler am Ende des zweiten und dritten Befehlszyklus um 1 erhöht
Beim Verfahren von Fig. 2(B) wird der Operationscode CALL für den auszuführenden Befehl im zweiten Befehlszyklus vor dem Beginn des ersten Befehlszyklus abgerufen. Der Operationscode CALL enthält eine Anforderung, die nachfolgenden Abrufzyklen zu komprimieren. Während des Intervalls M2 - M3 im ersten Befehlszyklus wird das HOHE Adressen-Byte Pjj abgerufen. Während des Intervalls Mq - M^ im ersten Befehlszyklus wird das NIEDERE Adressen-Byte Pl abgerufen. Die Adressen-Bytes Pß und Pl. die im ersten Befehlszyklus abgerufen wurden, sowie der Operationscode CALL, der vor dem ersten Befehlszyklus äbgerufen wurde, werden dazu verwendet, um den Unterprogramm-Anruf im zweiten Befehlszyklus auszuführen. Während des oben beschriebenen Verfahrens wird der Programmzähler am Ende eines jeden Befehlszyklus um 1 erhöht. Weiters wird der Programmzähler in Abhängigkeit von jedem M3-Taktimpuls um 1 erhöht, der in die Mitte eines jeden Befehlszyklus fällt. Am Ende des Abrufzyklus für den Operationscode wird der Zählwert des -3-
AT 396 409 B
Programmzählers von PC auf PC + 1 erhöht. In Abhängigkeit vom Mß-Takt im ersten Befehlszyklus wird der Programmzähler wiederum um 1 erhöht, wodurch der Zählwert gleich PC + 2 wird. Daraufhin wird der Programmzähler in Abhängigkeit vom M^-Taktimpuls am Ende des ersten Befehlszyklus um -1 erhöht usw.
Am Beginn des zweiten Befehlszyklus kann dar Operationscode für den nächsten Befehl abgerufen werden, der ausgeführt werden soll.
Daraus erkennt man, daß beim bevorzugten Verfahren gemäß dieser Erfindung nur zwei Befehlszyklen notwendig sind, um einen 3-Byte Befehl auszuführen.
Fig. 3 zeigt ein Microrechnersystem, das so aufgebaut ist, um das bevorzugte Verfahren auszuführen. Die bevorzugte Ausführungsform eines Microrechners enthält einen programmierbaren ROM (PROM) (1), einen Datenpuffer (2), ein Befehlsregister (3), einen Befehlsdecoder (4), der z. B. auf einer programmierbaren Logik beruhen kann, einen Programmzähler (5), ein RAM-Adressenregister (6), sowie Feldeffekttransistoren (7) bis (9).
Im Zusammenhang mit Fig. 4 wird nunmehr die Arbeitsweise der bevorzugten Ausführungsform des Microrechners beschrieben, der, wie oben erwähnt, aufgebaut ist In Fig. 4 sind bei (A) Taktimpulse M2, M3, Mq und Mi dargestellt, die während jedes Befehlszyklus erzeugt werden. (B) zeigt den Zählwert im Programmzähler (5) während der Ausführung von sequentiellen 1-Byte Befehlen. Bei (C) ist die Änderung des Zählwerts im Programmzähler (5) während der Ausführung von sequentiellen 2-Byte Befehlen dargestellt
Der Befehlsdecoder liefert als Ausgang ein Programmzähler-Erhöhungssignal PCUP sowie mehrere Steuersignale Ci - C3, wobei die letztgenannten Signale den Informationsfluß durch die Microrechnerelemente (1 - 6) steuern. Die Steuersignale Cj, C2 und C3 werden mit den Taktimpulsen M3, Mj und M3 UND-verknüpft, um jeweils die Feldeffekttransistoren (7), (8) und (9) zu steuern.
Wenn die Feldeffekttransistoren (7) und (8) geöffnet sind, können mit ihnen Daten, entweder Operanden oder Operationscodes, vom Programm-ROM (1) im Datenpuffer (2) oder im Befehlsregister (3) verriegelt werden. Wenn der Feldeffekttransistor (9) geöffnet ist, kann mit ihm der Operand im Datenpuffer (2) auf die Datensammelleitung gelegt werden, wodurch der Operand in das RAM-Adressenregister (6) für Lade-, Speicheroder andere Befehle oder in den Programmzähler (5) für den Anruf von Unterprogrammen usw. geladen werden kann.
Wenn der Operationscode eine Anorderung für den zeitkoprimierten Abruf des Operanden enthält, gibt der Befehlsdecoder (4) sowohl einen PCUP-Impuls C2 als auch C3-Impulse ab, mit denen der Operand in Abhängigkeit vom nächsten M^-Tak timpuls in und aus dem Datenpuffer (2) geladen wird, und erhöht den Prpgiammzähler, um auf den nächsten Operationscode zu zeigen.
Beim Beispiel von Fig. 4(B) wird in einem einzigen Befehlszyklus ein 1-Byte-Befehl ausgeführt. Der Abruf der Befehle in PROM (1) wird mit der Rückflanke des Mj-Taktimpulses getaktet, wenn er im Cj-Ausgang des Befehlsdecoders (4) auftritL Zu diesem Zeitpunkt wird der Programmzähler (5) in Abhängigkeit vom PCUP-Signal um 1 erhöht Der abgerufene Befehl (Operationscode) wird in das Befehlsregister (3) gelesen und dann an den Befehlsdecoder (4) gelegt. Der Befehlsdecoder (4) decodiert den abgerufenen Befehl und gibt geeignete Signale Cj, C2, C3 ab.
Die Rückflanke des -Taktes signalisiert den Beginn des Befehlszyklus, in dem der Befehl ausgefühlt wird, der im vorgehenden Befehlszyklus abgerufen wurde. Gleichzeitig mit der Ausführung des Befehls, der im vorhergehenden Zyklus abgerufen wurde, wird während des derzeitigen Befehlszyklus der nächste 1-Byte Befehl abgerufen. Die PROM-Adresse, zu der der Zugriff für den Befehl erfolgen soll, ist durch den Zählwert (PC, PC +1, PC + 2) gekennzeichnet, der mit jeder Rückflanke des M^-Taktes vom PCUP-Signal um 1 erhöht wird.
Da keine Anforderungen für einen komprimierten Abruf des Operanden erfolgen, bleiben die C2- und Cß-Ausgänge des Befehlsdecoders (4) inaktiv, während 1-Byte Befehle ausgeführt werden. Dadurch bleiben die Feldeffekttransistoren (8) und (9) gesperrt. Da weiters das PCUP-Signal des Befehlsdecoders (4) zu diesem Zeitpunkt nicht in der Mitte des Befehlszyklus erzeugt wird, wird der Programmzähler (5) nur in Abhängigkeit von der Rückflanke des Mj-Taktes erhöht
Wenn, wie Fig. 4(C) zeigt, 2-Byte Befehle ausgeführt werden sollen, die einen 1-Byte Operationscode und einen 1-Byte Operanden aufweisen, werden die C2“ und C3*Impulse vom Befehlsdecoder (4) abgegeben, nachdem der Operationscode des Befehls abgerufen wurde, der auf die Rückflanke des M^-Taktes folgt. Der C2- und Cj-Ausgang öffnen die Feldeffekttransistoren (8) und (9), um den Operanden aus dem ROM (1) und in den Datenpuffer (2), den Programmzähler (5) und/oder das RAM-Adressenregister (6) zu laden.
An der Rückflanke des M3>Taktes wird der Programmzähler (5) in Abhängigkeit vom PCUP-Signal des Befehlsdecoders (4) um 1 erhöht. Gleichzeitig werden beispielsweise die Daten im RAM-Adressenregister (6) ausgelesen und bei der Ausführung des Befehls im Intervall Mq - Mj verwendet Während des Intervalls Mq - M} wird der nächste Befehl vom PROM abgerufen. Da der Programmzähler (5) in diesem Fall mit PCUP in Abhängigkeit von der Rückflanke des M3>Taktes erhöht wird, entspricht die vom Zählwert gekennzeichnete PROM-Adresse der Adresse des Operationscodes für den nächsten Befehl. -4-

Claims (4)

  1. AT 396 409 B Um eine Kompression des Abrufzyklus gemäß dem bevorzugten Verfahren durchzuführen, das oben beschrieben wurde, ist es notwendig, daß die zweiten und/oder dritten Bytes der Daten keine Operationscode-Teile enthalten, sondern eher nur Operanden, beispielsweise Daten oder Adressen, besitzen. Da bei den meisten 4-Bit Microrechnem die Befehle nur einen 1-B'yte Operationscode sowie ein oder mehrere Operanden-Bytes enthalten, kann das bevorzugte Verfahren, das oben beschrieben wurde, auf die meisten derartigen Microrechner angewandt werden. Wie Fig. 5(A) und 5(B) zeigen, können mit dem erfindungsgemäßen Microrechner
  2. 2-Byte Befehle, die herkömmlicherweise zwei Befehlszyklen für ihre Ausführung benötigen, bei einem pipelineförmigen Aufbau in einem einzigen Befehlszyklus ausgeführt werden. Auf ähnliche Weise können 3-Byte Befehle, die herkömmlicherweise drei Befehlszyklen für ihre Ausführung benötigen, in zwei Befehlszyklen ausgeföhrt werden. Es ist daher leicht ersichtlich, daß die Erfindung die Laufzeit wesentlich verkürzt. Zusätzlich ist in Fig. 6(A) und 6(B) vereinfacht die Fläche dargestellt, die für den Befehlsdecoder bei einem System gemäß dem Stand der Technik und dem System gemäß der Erfindung erforderlich ist, wobei (A) ein herkömmliches System und (B) das System gemäß der Erfindung zeigt. In Fig. 6(A) und 6(B) kennzeichnen die vertikalen Linien UND-Element Auswahlleitungen und die horizontalen Linien ODER-Element Auswahlleitungen. mj kennzeichnet das Auswahlsignal für den Maschinenzustand 1, mj den Auswahleingang für den Maschinenzustand 2 und tnß den Auswahleingang für den Maschinenzustand 3. Aus Fig. 6(A) und 6(B) erkennt man, daß beim herkömmlichen System drei Maschinenzustände erforderlich sind, um einen 3-Byte Befehl auszuführen, der drei Befehlszyklen erfordert Bei dem erfindungsgmäßen Mikrorechner sind jedoch für die Ausführung von 3-Byte Befehlen nur zwei Befehlszyklen erforderlich. Dadurch werden auch nur zwei Maschinenzustände für den Befehlsdecoder benötigt um 3-Byte Befehle auszuführen. Damit wird die ODER-Element Auswahlleitung, die zur Steuerung einer Signalleitung für den Maschinenzustand 3 dient, überflüssig. Dies führt zu einer beträchtlichen Herabsetzung in der Länge der UND-Element Auswahl-leitungen, wodurch sich eine ähnliche Reduktion in der Größe des Befehlsdecoders ergibt Diese Erfindung erfüllt daher alle Gegenstände und Vorteile, für die sie gedacht ist PATENTANSPRUCH Microrechner mit verbessertem Befehlszyklus, mit einem Speicher, 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, der einen ersten Eingang für den Empfang ein«- vorbestimmten Folge von einen Maschinenzyklus bestimmenden Taktimpulsen sowie einen zweiten Eingang aufweist und der an seinem Ausgang sequentiell jeweils eine der Speicheradressen für das Auslesen der Befehlsbytes äbgibt dadurch gekennzeichnet, daß mit dem Speicher (1) und dem Zähler (5) ein Dekoder (4) verbunden 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 Dekoder (4) anzeigt, daß der Befehl eine Mehrzahl von Bytes aufweist wobei der Zähler (5) unter Steuerung durch das Steuersignal um einen Zählerstand vorwärts zählt und innerhalb eines Maschinenzyklus ein zeitkomprimiertes Abrufen des nächsten Befehlsbytes auf das erste Byte «folgt (Fig.
  3. 3). Hiezu
  4. 4 Blatt Zeichnungen -5-
AT0376385A 1984-12-29 1985-12-27 Mikrorechner mit verbessertem befehlszyklus AT396409B (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
ATA376385A ATA376385A (de) 1992-12-15
AT396409B true AT396409B (de) 1993-09-27

Family

ID=17575063

Family Applications (1)

Application Number Title Priority Date Filing Date
AT0376385A AT396409B (de) 1984-12-29 1985-12-27 Mikrorechner 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

Citations (6)

* 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
US3766527A (en) * 1971-10-01 1973-10-16 Sanders Associates Inc Program control apparatus
GB2047928A (en) * 1979-04-24 1980-12-03 Tektronix Inc Means and Method Within a Digital Processing System for Prefetching both Operation Codes and Operands
GB2059124A (en) * 1978-01-31 1981-04-15 Intel Corp Data processing system
GB2115964A (en) * 1982-03-01 1983-09-14 Hitachi Ltd A digital data processor
EP0117655A2 (de) * 1983-02-02 1984-09-05 John F. Couleur Verfahren und Apparat zur Pipelineverarbeitung mit einer einzigen Arithmetik- und Logikeinheit

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3771138A (en) * 1971-08-31 1973-11-06 Ibm Apparatus and method for serializing instructions from two independent instruction streams
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
US4462073A (en) * 1978-11-08 1984-07-24 Data General Corporation Apparatus for fetching and decoding instructions
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 メモリ制御装置
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
US4742451A (en) * 1984-05-21 1988-05-03 Digital Equipment Corporation Instruction prefetch system for conditional branch instruction for central processor unit

Patent Citations (6)

* 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
US3766527A (en) * 1971-10-01 1973-10-16 Sanders Associates Inc Program control apparatus
GB2059124A (en) * 1978-01-31 1981-04-15 Intel Corp Data processing system
GB2047928A (en) * 1979-04-24 1980-12-03 Tektronix Inc Means and Method Within a Digital Processing System for Prefetching both Operation Codes and Operands
GB2115964A (en) * 1982-03-01 1983-09-14 Hitachi Ltd A digital data processor
EP0117655A2 (de) * 1983-02-02 1984-09-05 John F. Couleur Verfahren und Apparat zur Pipelineverarbeitung mit einer einzigen Arithmetik- und Logikeinheit

Also Published As

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

Similar Documents

Publication Publication Date Title
DE2753062C2 (de) Einrichtung zur wiederholten Durchführung von Programmschleifen
DE69738188T2 (de) Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor
DE3303488A1 (de) Digitales signalverarbeitungssystem
DE2339636C2 (de) Einrichtung zur Adressierung eines schreibbaren Mikroprogrammspeichers
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE2756890A1 (de) Datenverarbeitungssystem
WO2000005723A2 (de) Integrierte schaltung mit einer selbsttesteinrichtung zur durchführung eines selbsttests der integrierten schaltung
AT396409B (de) Mikrorechner mit verbessertem befehlszyklus
DE2426874A1 (de) Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls
DE19526008A1 (de) Vertikal partitionierter, primärer Befehls-Cache-Speicher
DE2246863C3 (de) Einrichtung zur Protokollierung des Programmablaufs in einer Datenverarbeitungsanlage
DE2064383B2 (de) Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen
EP0010263B1 (de) Verfahren und Schaltungsanordnung zur Erweiterung des Adressierungsvolumens einer Zentraleinheit, insbesondere eines Mikroprozessors
DE2617485C3 (de) Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
DE3247256A1 (de) Kombinationswiegemaschine
DE2908776C2 (de) Schaltung zur Speicheradressierung eines Speichers in einem Datenprozessor
DE2720842B2 (de) Datenübertragungssystem
DE2349253C3 (de) Rechnersystem
DE2759120A1 (de) Prozessor fuer datenverarbeitungssysteme
DE2015272A1 (de) Programmleitwerk für eine digitale Datenverarbeitungsanlage
DE68927902T2 (de) Befehlspufferspeicher für einen Mikrocomputer
DE3633898C2 (de)
DE3843638C2 (de)
DE3015876A1 (de) Anordnung und verfahren zur einen digitalprozessor zur vorauslesung eines operationscodeteils und eines operandenteils eines befehlswortes
DE10065498A1 (de) Verfahren und Vorrichtung zur Rekonstruktion des Prozessablaufs eines Steuerprogramms

Legal Events

Date Code Title Description
EIH Change in the person of patent owner
ELJ Ceased due to non-payment of the annual fee
ELJ Ceased due to non-payment of the annual fee