DE4420703A1 - Mikrocomputer - Google Patents
MikrocomputerInfo
- Publication number
- DE4420703A1 DE4420703A1 DE4420703A DE4420703A DE4420703A1 DE 4420703 A1 DE4420703 A1 DE 4420703A1 DE 4420703 A DE4420703 A DE 4420703A DE 4420703 A DE4420703 A DE 4420703A DE 4420703 A1 DE4420703 A1 DE 4420703A1
- Authority
- DE
- Germany
- Prior art keywords
- instruction
- register
- code
- microcomputer
- bits
- 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.)
- Ceased
Links
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/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
-
- 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, look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
Description
Die vorliegende Erfindung betrifft einen Mikrocomputer und
insbesondere einen Mikrocomputer, durch welchen die Ausführung
von Anweisungen durch dessen CPU beschleunigt ist und eine
Hochgeschwindigkeits-Operation zur Zeit von Verarbeitungen,
wie bespielsweise eines Rücksetzens, eines Unterbrechens und
so weiter, ermöglicht ist.
Fig. 1 ist ein Impulsdiagramm zum Erläutern eines Beispiels
von Basisanweisungszyklen, das heißt eines Timings für das
Ausführen einer Basisanweisung eines herkömmlichen Mikro
computers.
In diesem herkömmlichen Beispiel beträgt eine Eingangstakt
frequenz 40 MHz, mit anderen Worten liegt ein 25-ns-Zyklus
vor, und werden zwei Basistakte BCLK 1 und BCLK 2 verwendet,
welche durch weiteres Teilen des Zyklus in zwei Zyklen erhal
ten werden, um die Phasen derselben zu verschieben. Ein Basis
zyklus zum Zugreifen auf einen mit dem Mikrocomputer verbun
denen Speicher entspricht 100 ns, was zwei Zyklen des Basis
takts (eines Maschinentakts) sind. Somit wird bei einem Adreß
signal (A) ein Zeitabschnitt von 100 ns im wesentlichen als
ein Zyklus behandelt. In einem auf der linken Halbseite der
Fig. 1 dargestellten Lesezyklus wird ein Datensignal D bei 50 ns
einer ersten Hälfte des einen Basiszyklus wirksam. In einem
auf der rechten Halbseite der Fig. 1 dargestellten Schreib
zyklus wird das Datensignal D bei 75 ns der ersten Hälfte aus
einer CPU ausgegeben.
Im allgemeinen wird ein Programmspeicher im wesentlichen durch
eine gleiche in Fig. 1 beispielhaft dargestellte Operation
gelesen und wird ein Holen einer Anweisung bei einer Zeit von
4 Zyklen (100 ns) ausgeführt, wenn diese auf dem Eingangstakt
basiert.
Fig. 2 ist eine schematische Darstellung zum Erläutern eines
Pipelineverarbeitungs-Prinzips, welches in den letzten Jahren
bei vielen Mikrocomputern übernommen wurde.
Auf Grundlage des einen Maschinenzyklus werden Verarbeitungen
in entsprechenden Stufen, Holen einer Anweisung (IF), De
codieren einer Anweisung (ID), Anweisungsausführung und Be
rechnung einer effektiven Adresse (EX), Speicherzugriff (MEM)
und Zurückschreiben (WB), aufeinanderfolgend ausgeführt. Da
die Anweisungsdecodierungen aufeinanderfolgend für jeden
Zyklus ausgeführt werden und die Anweisungen jeweils in den
entsprechenden Stufen parallel kontinuierlich verarbeitet
werden, sind offenbar fünf Anweisungen als Ganzes gleichzeitig
parallel zu verarbeiten. Durch eine derartige Pipelinever
arbeitung sind im Vergleich zu einer Anweisung pro Maschinen
zyklus offenbar komplizierte Verarbeitungen auszuführen.
Fig. 3 ist eine schematische Darstellung, welche ein Beispiel
von Angaben zeigt, welche bei vorstehend beschriebenen Pipe
lineverarbeitungen zu berücksichtigen sind. Insbesondere sind
Mechanismen dargestellt, die erforderlich sind, wenn eine aus
den Anweisungen ADD, SUB, AND, OR and XOR bestehende Anwei
sungskette, wie in Fig. 3 gezeigt, ausgeführt wird.
In Fig. 3 spezifiziert ein Bezugszeichen R unmittelbar nach
jeder Anweisung ein Zielregister, und zwei Rs danach spezi
fizieren Operanden enthaltende Quellregister.
Das heißt, obwohl die Addieranweisung (ADD), welche eine erste
Anweisung ist, den Inhalt eines Registers R2 und den eines
Registers R3 addiert und das Ergebnis in einem Register R1
speichert (in das Register R1 zurückschreibt), da ein im
Register R1 gespeicherter Wert in der zweiten bis vierten An
weisung verwendet wird, ist in entsprechenden Ausführungs
zyklen, bevor das Ergebnis der Addition durch die erste
Addieranweisung im Register R1 gespeichert wird, eine Bypass-
Schaltung in der CPU erforderlich, welche es verwendbar macht.
Und in der XOR-Anweisung, welche eine fünfte Anweisung ist,
kann ein im allgemeinen in das Register R1 zurückgeschriebener
Wert schließlich verwendet werden.
Wie vorstehend beschrieben, wird beim herkömmlichen Mikro
computer der eine Maschinenzyklus selbst durch eine Mehrzahl
von Takten gebildet, was einen beträchtlich langen Anweisungs
ausführungs-Zyklus verursacht. Das ist ein Verfahren, das zum
Erhöhen der Zuverlässigkeit in Reaktion auf einige Probleme
beim Boardentwurf, wie beispielsweise eine Verzögerungszeit,
ein Brechen von Busleitungen und so weiter, im Boardcomputer-
Zeitalter verwendet wird.
Obwohl die Pipelineverarbeitung ein sehr wirksames Entwurfs
verfahren zum schnellen Ausführen einer komplizierten An
weisung ist, wie es auch im vorstehend genannten Beispiel ge
zeigt ist, ergeben sich komplizierte Schaltungen, da einigen
Sonderverarbeitungen entsprechende besondere Schaltungen bei
gefügt werden müssen.
Auch die CPU im herkömmlichen Mikrocomputer benötigt ver
schiedene Zyklen zur Verarbeitung der Anweisung zum Holen, zur
Decodierung und Ausführung, welche eine Verbesserung der Aus
führungsgeschwindigkeit begrenzen. Da es jedoch eine Grenze
beim Vergrößern einer Taktfrequenz gibt, ist es notwendig zu
betrachten, wie viele Verarbeitungen in einem Zyklus ausge
führt werden können.
Obwohl ein Verfahren zum Ausführen einer Mehrzahl von An
weisungen in einem Zyklus derzeit beispielsweise eine Super-
Scaler-Technik und dergleichen verwendet wird, um die Ver
arbeitungsfähigkeit zu verbessern, wird in einem hoch
funktionalen Mikrocomputer auf dem Gebiet kostenorientierter
Mikro-Steuereinrichtungen vor allem ein zu einer Kostenver
ringerung der Chips führendes Erzeugnis mit hoher Verarbei
tungsgeschwindigkeit und einfachem Aufbau benötigt. Insbe
sondere auf dem Gebiet einer Echtzeitsteuerung, bei welcher
eine Reaktionsgeschwindigkeit von mehreren µs benötigt wird,
wie durch das Anwendungsgebiet einer Motorsteuerung und der
gleichen verdeutlicht, wird eher eine einfache und mit hoher
Geschwindigkeit operierende CPU als eine CISC-Konfiguration
benötigt, welche komplexe hochfunktionale Anweisungen umfaßt.
Die vorliegende Erfindung ist entwickelt worden, um derartige
Probleme zu lösen, und daher liegt ihr die Aufgabe zugrunde,
einen Mikrocomputer vorzusehen, der dazu in der Lage ist, An
weisungen für jeden Eingangstaktzyklus durch Vereinfachen der
Verarbeitung an sich auszuführen.
Ein erfindungsgemäßer Mikrocomputer nach Anspruch 1 liegt vor,
wenn vier Abschnitte eines Hochpegels, ein Tiefpegel, ein
Hochpegel und ein Tiefpegel von zwei Zyklen eines Systemtakts
durch Zeitabschnitte T1, T2, T3 und T4 festgelegt sind, wobei
zunächst im Zeitabschnitt T1 eine Adresse der auszuführenden
Anweisung an einen Speicher ausgegeben wird. Im Zeitabschnitt
T2 wird ein Code der Anweisung aus dem Speicher gelesen und in
einem Anweisungsdecodierer decodiert und werden Daten aus
einem Quellregister geholt, welches einen durch das Decodier
ergebnis spezifizierten Operanden enthält, um die Operation in
einer ALU zu starten. Im Zeitabschnitt T3 wird das Operations
ergebnis der ALU in einem spezifizierten Register gespeichert
und eine Adresse einer als nächstes auszuführenden Anweisung
ausgegeben. Der Zeitabschnitt T3 bedeutet den Zeitabschnitt T1
für die darauffolgende Anweisung. Somit wird das Timing T4 im
wesentlichen nicht verwendet. Bei diesem Verfahren können bei
allen Zyklen Daten gesichert werden, da, vereinfacht betrach
tet, auf das Register in einer derartigen Weise zugegriffen
wird, daß der Operand aus dem Quellregister im Tiefpegelab
schnitt des Takts gelesen wird und das Operationsergebnis im
darauffolgenden Hochpegel-Zeitabschnitt in das Zielregister
geschrieben wird.
Nun ist der Zeitabschnitt T1 zum Vor-Laden von Speicher-Bit
leitungen notwendig, und das Lesen und Schreiben des Anwei
sungscodes oder der Anweisungsdaten ist im Zeitabschnitt T2
ausführbar. In derartigen Anweisungszyklen des Mikrocomputers
der vorliegenden Erfindung kann in jedem Zyklus auf den
Speicher zugegriffen werden. Das Lesen und Schreiben im
Register in den Tiefpegel- und den Hochpegelabschnitten des
Takts ist sehr wesentlich, um eine Konsistenz der verarbei
teten Daten zu bewahren. Im Falle des Verwendens eines Wertes
von einem Register A für eine Operation und des zeitweiligen
Zurückgebens des Ergebnisses an das Register A und des an
schließenden Weiterschiebens des Wertes in ein Register B
können beispielsweise, obgleich das selbstverständlich ist,
die Daten solange nicht zum Register B übertragen werden, bis
die den Wert des Registers A verwendende Operation beendet
ist. Somit müssen die Verarbeitungen des Ladens, des
Operierens und des Speicherns des Operationsergebnisses des
Registerwertes in einem Zyklus ausgeführt werden, um die Zeit
insgesamt effektiv zu verwenden.
Da es notwendig ist, das Decodieren des Anweisungscodes be
reits im Zeitabschnitt T2 zu beenden, ist eine einen Vor-Lade-
Zeitabschnitt benötigende Schaltung, wie beispielsweise ein
Mikro-Sequenz-ROM oder dergleichen, in einem Decodierer nicht
geeignet. Der Grund besteht darin, daß, obwohl ein Eingang be
reits im Vor-Lade-Zeitabschnitt stabilisiert sein muß, wenn er
in einer Vor-Lade-Schaltung decodiert wird, im Falle des
Mikrocomputers der vorliegenden Erfindung ein notwendiges
Steuersignal nur nach dem Zeitabschnitt T3 erhalten werden
kann, wenn es aufrechterhalten wird, da er zu einem Zeitpunkt,
bei welchem der Code aus einem Programmspeichergebiet ausge
lesen wird, bereits im Zeitabschnitt T2 ist. Insbesondere im
Falle des Ausführens der Anweisung in einem Zyklus, obwohl
eine nächste Verzweigungszieladresse im Zeitabschnitt T3 zur
Zeit des Ausführens der Verzweigungsadresse ausgegeben werden
muß, solange die Vor-Lade-Schaltung verwendet wird, wird das
Steuersignal zu diesem Zweck erst nach Eintreten in den Zeit
abschnitt T3 erhalten, was zu spät ist. Um das notwendige
Steuersignal im Zeitabschnitt T2 zu erhalten, ist es somit
notwendig, den Code in einer statischen Schaltung zu deco
dieren.
Um ein derartiges Timing zu realisieren, ist es notwendig,
eine folgende Busstruktur als interne Konfiguration der CPU zu
verwenden. Das heißt, zur Verbindung zwischen dem Register und
der ALU sind zwei oder mehr Pfade, insbesondere eine Bus
struktur aus zwei Leitungen zum Lesen und zum Schreiben, not
wendig. Da ein Operationscode gleichzeitig mit der Operation
der Registerdaten geholt wird, um in jedem Zyklus auf den
Speicher zuzugreifen, muß eine einen Programmzähler umfassende
Adreßausgangsschaltung unabhängig von den vorstehend genannten
Registerbussen einen Datenbus umfassen.
Ein erfindungsgemäßer Mikrocomputer nach Anspruch 2 besteht
darin, daß zusätzlich zum Aufbau gemäß Anspruch 1 ein Aufbau
vorgeschlagen wird, welcher die Ausführung einer Unter
brechung, eines Rücksetzens, von Sonderverarbeitungen und so
weiter bewältigt. Im Mikrocomputer der vorliegenden Erfindung
sind die Operationscodes diesen Sonderverarbeitungen im voraus
zugewiesen, und wenn deren Ausführungsanforderung erteilt
wird, dann wird ein Pfad aus einem Programmspeichergebiet zu
einer Operationscode-Verriegelungseinrichtung getrennt und der
Code aus einer Codeerzeugeeinrichtung zur Sonderverarbeitung
wirksam zugeführt. Nachdem der Sonderverarbeitungs-Code zuge
führt wurde, wird er in einem Anweisungsdecodierer auf dem
gleichen Wege wie im Falle einer gewöhnlichen Anweisungsaus
führung decodiert, um ein notwendiges Steuersignal zu erzeu
gen.
Ein erfindungsgemäßer Mikrocomputer nach Anspruch 3 besteht
darin, daß zusätzlich zum Aufbau gemäß Anspruch 2 die Anwei
sungen zum Rücksetzen, zur Sonderverarbeitung, für eine
Spezialanweisung und so weiter im Programmspeichergebiet im
voraus auf dem gleichen Wege wie eine gewöhnliche Anweisung
gespeichert werden, daß überdies die Anweisungscodes durch die
vorstehend genannte Hardwareschaltung wirksam zugeführt werden
und eine Schaltung realisiert ist, welche auch beim aus dem
Programmspeichergebiet geholten Anweisungscode äquivalent
funktioniert.
Ein erfindungsgemäßer Mikrocomputer nach Anspruch 4 besteht
darin, daß eine CPU vorgesehen ist, welche den in einer vor
stehend beschriebenen Art und Weise erhaltenen Anweisungscode
decodiert und ein Zielsteuersignal mit einem Zieltiming er
zeugt. Insbesondere ist sie derart ausgelegt, daß ein Wert des
die Anzahl von Anweisungszyklen zählenden Zählers und ein Aus
gang der Anweisungscode-Verriegelungseinrichtung kombiniert
sind, um eine Anzahl von Steuersignalen durch eine statische
Kombinationsschaltung zu erhalten. Obgleich einige Verfahren
zum Ausbilden des Zählers in Betracht gezogen werden können,
ist es beispielsweise möglich, einen Rückwärtszähler zu ver
wenden, bei welchem die Anzahl von Ausführungszyklen in einer
Decodierstufe des Anweisungscodes gesetzt wird, oder einen auf
das Decodierergebnis eines Wertes der Operationscode-Ver
riegelungseinrichtung reagierenden Schiebetakt durch Verwenden
eines Schieberegisters zu steuern.
Die den Anweisungsdecodierer betreffenden Erfindungen sind
vorstehend beschrieben, wohingegen die die bedingte Verzwei
gungsanweisung betreffenden Erfindungen nachstehend beschrie
ben werden.
Ein erfindungsgemäßer Mikrocomputer nach Anspruch 5 umfaßt
eine Zustandsentscheidungsschaltung, bei welcher ein Signal
ausgang, der anzeigt, ob die Verzweigungsbedingung erfüllt ist
oder nicht, durch Entnehmen nur eines notwendigen Bits durch
einen Maskenregister-Wert immer aktiv ist, nachdem ein im
voraus durch eine Software spezifizierter Registerwert und ein
Vergleichsregister-Wert für jedes Bit bezüglich der Kon
figuration zum Ausführen der Anweisung zur bedingten Verzwei
gung verglichen wurden.
Ein erfindungsgemäßer Mikrocomputer nach Anspruch 6 ist derart
ausgebildet, daß zusätzlich zum Aufbau gemäß Anspruch 5 die
Zustandsentscheidungsschaltung dazu in der Lage ist, das
Register durch eine einfache Anweisung zu spezifizieren. Das
heißt, das Spezifizieren des zu vergleichenden Registers und
der verglichenen Bits sowie eine Unterscheidung des Hoch
pegels/Tiefpegels kann durch eine Anweisung ausgeführt werden.
Ein Schaltungsaufbau eines Entscheidungsregisters, Schaltungs
aufbauten eines Maskendatenregisters und eines Vergleichs
datenregisters sowie eine zu diesem Zweck notwendige Anwei
sungsausführungs-Sequenz sind ferner vorgesehen.
Ein erfindungsgemäßer Mikrocomputer nach Anspruch 7 weist
einen Aufbau auf, welchem eine Steuerregistergruppe von ver
schiedenen peripheren Funktionsschaltungen als Zustandsent
scheidungs-Schaltungsregister gemäß Anspruch 5, Operationser
gebnis-Flags der ALU und eine Gruppe von Unterbrechungsan
forderungs-Bits zugewiesen sind. Das heißt, Statusbits zum Er
kennen verschiedener Zustände, wie beispielsweise eines Zeit
geber-Überlaufs, einer Unterbrechung von einer Eingabe zu
einem externen Anschluß und eines Statusflags eines FIFOs,
sind zugewiesen, um den Aufbau zu realisieren, welcher dazu in
der Lage ist, den Zustand sofort ohne die Operationsentschei
dung mittels der ALU zu bestimmen.
Ein erfindungsgemäßer Mikrocomputer nach Anspruch B umfaßt
eine Einrichtung zum Synchronisieren mit dem in der Erfindung
gemäß Anspruch 1 beschriebenen Basisanweisungs-Timing zur Zeit
des Realisierens der Zustandsentscheidungsschaltung gemäß An
spruch 5.
Ein erfindungsgemäßer Mikrocomputer nach Anspruch 9 ist derart
ausgebildet, daß durch direktes Eingeben eines 1-Bit-Steuer
codes im Anweisungsoperationscode aus der Operationscode-Ver
riegelungseinrichtung in die Zustandsentscheidungsschaltung
zur Zeit des Realisierens der Zustandsentscheidungsschaltung
gemäß Anspruch 5 eine unbedingte Verzweigung ausgeführt wird.
Die den ALU-Aufbau betreffenden Erfindungen werden nachstehend
beschrieben.
Ein erfindungsgemäßer Mikrocomputer nach Anspruch 10 ist aus
gebildet, um eine Register-zu-Register-Operation ohne Verwen
dung eines Akkumulators auszuführen, und umfaßt zum Ausbilden
eines 2-Wege-Bussystems ein Zwischenregister, welches einen
der Operanden hält und ihn der ALU übergibt.
Ein erfindungsgemäßer Mikrocomputer nach Anspruch 11 umfaßt
zusätzlich zum Aufbau gemäß Anspruch 10 eine Steuerschaltung,
welche entsprechende obere n Bits und untere m Bits des
Zwischenregisters durch die unterschiedlichen Steuersignale
steuert und den oberen n Bits oder den unteren m Bits der ALU
anstelle eines Zwischenregister-Ausgangs wirksam "0" zuführt,
und eine Inversionssteuerschaltung, welche den Zwischen
registerwert invertiert und ihn der ALU übergibt. Damit können
Zwei-Variablen-Operationen, wie beispielsweise die ADD-, SUB-,
AND- und OR-Anweisung, oder Ein-Variablen-Operationen, wie
beispielsweise die NOT-, DEC-, INC- und Schiebe-Anweisung,
durch eine Volladdierer-Schaltung als Hauptbestandteil gebil
det werden. Sie ist jedoch derart ausgebildet, daß die Aus
führung einer Nicht-Operationsanweisung, wie beispielsweise
einer MOV-Anweisung zur Datenübertragung, über einen separaten
Umweg durch die ALU läuft. Durch Einschließen einer Übertrag
flag-Steuerschaltung wird sowohl eine numerische Operation als
auch eine logische Operation durch verschiedene Steuersignale
realisiert.
Ein erfindungsgemäßer Mikrocomputer nach Anspruch 12 besteht
darin, daß zusätzlich zum Aufbau gemäß Anspruch 11 eine
Schiebeeinrichtung an einer Ausgangsseite eines Volladdierers
zur Ausgabe nach einer Rechtsverschiebung oder einer Links
verschiebung angeordnet ist. Durch Hinzufügen der Schiebe
schaltung ist nicht nur eine Ein-Bit-Verschiebung, sondern
ferner eine Mehr-Bit-Verschiebung möglich. Ein Schiebeeinrich
tungs-Ausgang treibt den Registerbus nach dem zeitweiligen
Speichern des Operationsergebnisses in einer Ergebnis-Ver
riegelungseinrichtung.
Ein erfindungsgemäßer Mikrocomputer nach Anspruch 13 umfaßt
zusätzlich zum Aufbau gemäß Anspruch 10 eine Verriegelungs
schaltung, welche einen aus dem Register ausgelesenen Wert in
einer Vor-Zuführungsstufe zur ALU hält, um dadurch die
Operation sowohl im Zeitabschnitt T2 als auch im Zeitabschnitt
T3 auszuführen. Da es eine Verzögerungszeit beim Lesen von
Daten aus dem Register infolge einer großen Schaltungs-
Leitungskapazität des Registerbusses gibt, ist es möglich,
durch zeitweiliges Halten der Daten durch die Verriegelungs
einrichtung eine Geschwindigkeitsbegrenzung der Operation zu
erreichen.
Ein erfindungsgemäßer Mikrocomputer nach Anspruch 14 betrifft
einen Anweisungssatz. Der im Mikrocomputer der vorliegenden
Erfindung enthaltene Anweisungssatz unterscheidet die Arten
von Operationen durch 6 Bits an einer festgelegten Position in
den Anweisungscodes. Ein Bit unter diesen unterscheidet eine
Bytelängen-Operation und eine 16-Bit-Wortlängen-Operation, und
ein Bit unterscheidet die Schiebeoperation und die Nicht-
Schiebeoperation. Die verbleibenden 4 Bits spezifizieren die
weiter unterteilten Operationsarten.
Ein erfindungsgemäßer Mikrocomputer nach Anspruch 15 umfaßt
den Anweisungssatz, welcher eine Anweisungsgruppe und deren
Anweisungscode vorsieht, welcher verschiedene Handhabungen
bezüglich der ALU mit einem 63-Wort-Register ausführt, wobei
der Anweisungscode im wesentlichen aus 16 Bits gebildet ist.
In den 16-Bit-Codes sind neben den die Operationsarten und die
Handhabung anzeigenden Codes eine Verschiebung, die das Quell
register, das Zielregister sowie die Verzweigungszieladresse
der Verzweigungsanweisung spezifizieren, und ein 8-Bit-Direkt
wert enthalten, wodurch die meisten der Anweisungen durch eine
1-Wort-Anweisung spezifiziert werden können. Die Steuersignale
für die Anweisungen werden im wesentlichen mit vier Arten des
Timings erzeugt, um die CPU-Operation zu realisieren.
Ein erfindungsgemäßer Mikrocomputer nach Anspruch 16 umfaßt
Funktionsregister, welche direkt in einem Registerraum in der
CPU angeordnet sind. Das heißt, nicht nur ein Eingang und ein
Ausgang von Daten zu und aus einem Zeitgeber, ein serieller
E/A, ein FIFO, ein Echtzeit-E/A, ein A/D-Wandler und so
weiter, sondern auch verschiedene in einem herkömmlichen
Mikrocomputer verwendete Funktionsregister, wie beispielsweise
deren Steuerbits, Statusbits und Unterbrechungsanforderungs
register sind direkt zugewiesen. Dadurch kann auf diese
Funktionsregister sehr schnell auf dem gleichen Wege wie auf
die Register in der CPU zugegriffen werden.
Ein erfindungsgemäßer Mikrocomputer nach Anspruch 17 sieht ein
Verfahren vor, wodurch bei der Entwurfsgestaltung und in
Logikentwurfs-Stufen an IC-Chips der vorstehend genannten
Funktionsregister einige Basiselement-Funktionsregister von
einer einfachen Daten-Verriegelungseinrichtung bis zu einer
funktionalen Verriegelungseinrichtung einer Einzelimpuls-Er
zeugung im voraus ausgebildet werden, um die notwendigen
Register aus den auf die Funktion von jedem einzelnen Bit
reagierenden Zellen für eine Kombination zu wählen. Insbe
sondere bei der Entwurfsgestaltung werden die Zellen in einem
Schachbrettmuster angeordnet, um den Chipentwurf zu reali
sieren.
Ein erfindungsgemäßer Mikrocomputer nach Anspruch 18 besteht
darin, daß die CPU mit einer großen Erweiterbarkeit durch
Beifügen eines hochfunktionalen Operationsblocks in einem
Registerraum in der CPU realisiert ist.
Ein erfindungsgemäßer Mikrocomputer nach Anspruch 19 ist der
art ausgebildet, daß die im Zeitabschnitt T2 auszuführenden
Verarbeitungen des Aufbaus gemäß Anspruch 1 weiter aufgeteilt
sind, um den Anweisungscode zu holen und einen Abschnitt der
Anweisung im Zeitabschnitt T2 zu decodieren, den Operanden aus
dem Register für die Operation im Zeitabschnitt T3 zu laden
und das Operationsergebnis im Zeitabschnitt T4 im Zielregister
zu speichern.
Wie die Ansprüche 20, 21 und 22 wird die Erfindung nach den
Ansprüchen 2, 3 und 4 bei der Erfindung gemäß Anspruch 19
verwendet.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 1 wird auf
das Register zugegriffen, derart daß im Tiefpegel-Abschnitt
des Taktes der Operand aus dem Quellregister gelesen wird und
das Operationsergebnis im darauffolgenden Hochpegel-Abschnitt
in das Zielregister geschrieben und die Registeroperation im
wesentlichen in einem Zyklus des Systemtakts ausgeführt wird.
Im erfindungsgemäßen Mikrocomputer nach den Ansprüchen 2 und 3
werden Sonderverarbeitungen ferner auf dem gleichen Wege wie
die anderen allgemeinen Anweisungen bei und nach der Anwei
sungsdecodierung verarbeitet.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 4 wird der
über mehrere Zyklen ausgeführte Anweisungscode decodiert, um
das Steuersignal zu erzeugen. Insbesondere im Falle des Ver
wendens eines Rückwärtszählsystems wird ein Signal leicht er
zeugt, welches die Handhabung des Holens der Quelldaten zur
Zeit eines geraden Zählergebnisses und des Speicherns der
Daten zur Zeit eines ungeraden Zählergebnisses steuert, wenn
eine Mehrzahl von Daten kontinuierlich gehandhabt wird,
beispielsweise wenn die Mehrzahl von Daten kontinuierlich
übertragen wird.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 5 wird die
Anweisung zur bedingten Verzweigung in einem Zustand ausge
führt, in welchem eine Entscheidung der Verzweigungsbedingung
zur Zeit des Ausführens der Verzweigungsanweisung bereits
erhalten worden ist. Insbesondere ist die Verzweigungsbe
dingung bereits im Zeitabschnitt T2 entschieden worden, und
die vorliegende Verzweigung wird im späteren Zeitabschnitt T3
durch Ausgeben der neuen Adresse ausgeführt. Die Verzweigungs
zieladreß-Operation kann ausgeführt werden durch einfaches
Entnehmen aus dem Anweisungscode selbst oder durch Verschieben
eines speziellen Registerwertes zum Programmzähler während des
Zeitabschnitts T3 oder durch Vorsehen einer Sonderadreß-
Operationsschaltung im Programmzähler und Betreiben eines
direkt im Anweisungscode enthaltenen Operandenwertes, um eine
relative Adresse zu berechnen.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 6 wird die
Anweisung zum wirksameren Ausführen der bedingten Verzweigung
durch eine minimal notwendige Anweisung ohne Einsparen nicht
notwendiger Zeit während der Vorbereitung beim Verwenden der
Verzweigungsanweisung gemäß Anspruch 5 unterstützt.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 7 wird der
Bitzustand in entsprechenden Zyklen überwacht, und wenn eine
beliebige Änderung des Zustands vorhanden ist, dann wird sie
sofort erkannt, und es wird möglich, in eine neue Routine zu
verzweigen, da ein Statusregister und dergleichen im
funktionalen Block direkt als Zustandsentscheidungsziel der
bedingten Verzweigung, wenn notwendig, durch vorheriges
Spezifizieren eines speziellen Bits, verwendet werden kann.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 8 und An
spruch 9 wird eine Schaltung zum Ausführen der vorstehend ge
nannten Anweisung zur bedingten Verzweigung wirksam reali
siert.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 10 und An
spruch 13 kann die Handhabung des Ladens, der Operation und
der Operationsergebnis-Speicherung von einem Register in einem
Zyklus ausgeführt werden, und durch Verteilen des Zwischen
registers kann ein Spielraum beim Register-Ladetiming erreicht
werden.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 11 sind die
Ausführung von 8-Bit-Längen-Operationen und häufig vorkommende
Handhabungen erleichtert.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 12 ist
nicht nur eine Schiebeoperationsschaltung realisiert, sondern
ist ferner eine für eine Multiplikation und eine Division
wirksame ADD-&-Shift-Operation in einer Anweisung pro einem
Ausführungszyklus realisiert.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 14 ist die
Beziehung zwischen einer ALU-Konfiguration und dem Anweisungs
code festgelegt.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 15 ist ein
Anweisungssatz einer CPU von einer auf einer Anweisungslänge
von 16 Bit basierenden Registermaschine als Anweisungssatz
vorgesehen. Im wesentlichen ist eine Anweisung pro Zyklus
realisiert.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 16 können
durch Anordnen eines Funktionsregisters in einer CPU-Register
gruppe mit einer größten Zugriffsgeschwindigkeit entsprechende
Funktionen gesteuert werden und können die Zustände durch die
Maschinenzyklus-Geschwindigkeit überwacht werden. Diese Er
findung ist insbesondere auf dem Gebiet von eine Hochge
schwindigkeits-Steuerung benötigenden Mikro-Steuereinrich
tungen wirksam.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 17 ist ein
Entwurfsverfahren vorgesehen, welches beim schnellen
Realisieren des Entwurfs von für das Gebiet geeigneten
peripheren Funktionen zur Zeit des Entwickelns einer ASIC-
Mikro-Steuereinrichtung wirksam ist.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 18 sind
Operationsfunktionen mit einer großen Schaltungsstruktur und
verschiedenen notwendigen auf geeignete Gebiete reagierenden
Bedingungen leicht beigefügt, wie beispielsweise eine Schal
tung zur Multiplikation, Division und so weiter zur
kontinuierlichen Operation bei hoher Geschwindigkeit, eine
Produktsummen-Operationsschaltung, eine Fließkomma-Operations
schaltung und dergleichen.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 19 sind die
Spielräume der zum Lesen des Anweisungscodes erlaubten Zeit
und der für eine Operation erlaubten Zeit erweitert, obwohl
ein Ausgang einer effektiven Adresse während des Zeitab
schnitts T1 der Erfindung nach Anspruch 1 ähnlich ist, und
sind die Grenzen auf einer Niederspannungsseite und einer
Hochgeschwindigkeits-Operationsseite fest, während mit einem
Zyklus pro Anweisung operiert wird. Das Merkmal des Ausführens
der Verzweigungszieladreß-Operation der Verzweigungsanweisung
in den Zeitabschnitten T2, T3 auf dem gleichen Wege wie vorher
und auch die Verzweigungsanweisung in einem Zyklus werden
ferner in diesem Anspruch beibehalten.
Wie in den Ansprüchen 20, 21 und 22 wird die Erfindung nach
den Ansprüchen 2, 3 und 4 in der Erfindung nach Anspruch 19
verwendet.
Die vorstehenden und weitere Aufgaben und Merkmale der Er
findung werden aus der nachstehenden detaillierten Beschrei
bung mit den beigefügten Zeichnungen völlig augenscheinlich
werden.
Von den Figuren zeigen:
Fig. 1 ein Impulsdiagramm zum Erläutern eines
Basisanweisungszyklus eines herkömmlichen
Mikrocomputers;
Fig. 2 eine schematische Darstellung zum Erläutern des
Prinzips einer Pipelineverarbeitung, die im
allgemeinen in einem herkömmlichen Mikro
computer durchgeführt wird;
Fig. 3 eine schematische Darstellung, welche bei der
Pipelineverarbeitung zu berücksichtigende
Angaben zeigt;
Fig. 4 ein Impulsdiagramm, welches einen Basiszyklus
einer Anweisungsausführungs-Sequenz einer CPU
einer ersten Ausführungsform eines Mikro
computers der vorliegenden Erfindung darstellt;
Fig. 5 ein Blockschaltbild, welches ein Beispiel eines
speziellen Aufbaus einer ersten Ausführungsform
eines Mikrocomputers gemäß der vorliegenden
Erfindung darstellt;
Fig. 6 ein Blockschaltbild, welches ein Beispiel eines
Aufbaus eines Registerbusses einer CPU einer
ersten Ausführungsform eines Mikrocomputers
gemäß der vorliegenden Erfindung darstellt;
Fig. 7 ein Blockschaltbild, welches ein Beispiel eines
anderen Aufbaus eines Registers einer CPU einer
ersten Ausführungsform eines Mikrocomputers
gemäß der vorliegenden Erfindung darstellt;
Fig. 8 ein Blockschaltbild, welches im wesentlichen
einen Aufbau eines Hauptteils in einem
Programmzähler-Aufbau einer ersten Ausführungs
form eines Mikrocomputers gemäß der vor
liegenden Erfindung darstellt;
Fig. 9 ein Blockschaltbild, welches im wesentlichen
einen Aufbau einer Steuerschaltung in einem
Programmzähler-Aufbau einer ersten Ausführungs
form eines Mikrocomputers gemäß der vor
liegenden Erfindung darstellt;
Fig. 10 ein Blockschaltbild, welches ein Beispiel eines
Schaltungsaufbaus eines Anweisungsdecodierers
einer ersten Ausführungsform eines Mikro
computers gemäß der vorliegenden Erfindung dar
stellt;
Fig. 11 ein Blockschaltbild, welches ein Beispiel eines
Schaltungsaufbaus eines Anweisungsdecodierers
einer ersten Ausführungsform eines Mikro
computers gemäß der vorliegenden Erfindung dar
stellt;
Fig. 12A ein Blockschaltbild, welches ein Beispiel eines
Schaltungsaufbaus eines Anweisungsdecodierers
einer ersten Ausführungsform eines Mikro
computers gemäß der vorliegenden Erfindung dar
stellt;
Fig. 12B ein Blockschaltbild, welches ein Beispiel eines
Schaltungsaufbaus eines Anweisungsdecodierers
einer ersten Ausführungsform eines Mikro
computers gemäß der vorliegenden Erfindung dar
stellt;
Fig. 13 ein Blockschaltbild, welches ein Beispiel eines
Schaltungsaufbaus eines Anweisungsdecodierers
einer ersten Ausführungsform eines Mikro
computers gemäß der vorliegenden Erfindung dar
stellt;
Fig. 14 eine Tabelle, welche Sondercodes in einer
ersten Ausführungsform eines Mikrocomputers
gemäß der vorliegenden Erfindung darstellt;
Fig. 15A ein Abschnitt einer Tabelle, welche Steuer
signale für jede Anweisung in einer ersten
Ausführungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung darstellt;
Fig. 15B einen Abschnitt einer Tabelle, welche Steuer
signale für jede Anweisung in einer ersten
Ausführungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung darstellt;
Fig. 15C einen Abschnitt einer Tabelle, welche Steuer
signale für jede Anweisung in einer ersten
Ausführungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung darstellt;
Fig. 15D einen Abschnitt einer Tabelle, welche Steuer
signale für jede Anweisung in einer ersten
Ausführungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung darstellt;
Fig. 15E einen Abschnitt einer Tabelle, welche Steuer
signale für jede Anweisung in einer ersten
Ausführungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung darstellt;
Fig. 15F einen Abschnitt einer Tabelle, welche Steuer
signale für jede Anweisung in einer ersten
Ausführungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung darstellt;
Fig. 15G einen Abschnitt einer Tabelle, welche Steuer
signale für jede Anweisung in einer ersten
Ausführungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung darstellt;
Fig. 15H einen Abschnitt einer Tabelle, welche Steuer
signale für jede Anweisung in einer ersten
Ausführungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung darstellt;
Fig. 15I einen Abschnitt einer Tabelle, welche Steuer
signale für jede Anweisung in einer ersten
Ausführungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung darstellt;
Fig. 15J einen Abschnitt einer Tabelle, welche Steuer
signale für jede Anweisung in einer ersten
Ausführungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung darstellt;
Fig. 15K einen Abschnitt einer Tabelle, welche Steuer
signale für jede Anweisung in einer ersten
Ausführungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung darstellt;
Fig. 15L einen Abschnitt einer Tabelle, welche Steuer
signale für jede Anweisung in einer ersten
Ausführungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung darstellt;
Fig. 15M einen Abschnitt einer Tabelle, welche Steuer
signale für jede Anweisung in einer ersten
Ausführungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung darstellt;
Fig. 15N einen Abschnitt einer Tabelle, welche Steuer
signale für jede Anweisung in einer ersten
Ausführungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung darstellt;
Fig. 15O einen Abschnitt einer Tabelle, welche Steuer
signale für jede Anweisung in einer ersten
Ausführungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung darstellt;
Fig. 15P einen Abschnitt einer Tabelle, welche Steuer
signale für jede Anweisung in einer ersten
Ausführungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung darstellt;
Fig. 16 eine Tabelle, welche Steuersignale für jede
Anweisung in einer ersten Ausführungsform eines
Mikrocomputers gemäß der vorliegenden Erfindung
darstellt;
Fig. 17A einen Abschnitt einer Tabelle, welche den
Inhalt jeder Anweisung einer ersten Aus
führungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung erläutert;
Fig. 17B einen Abschnitt einer Tabelle, welche den
Inhalt jeder Anweisung einer ersten Aus
führungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung erläutert;
Fig. 17C einen Abschnitt einer Tabelle, welche den
Inhalt jeder Anweisung einer ersten Aus
führungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung erläutert;
Fig. 17D einen Abschnitt einer Tabelle, welche den
Inhalt jeder Anweisung einer ersten Aus
führungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung erläutert;
Fig. 17E einen Abschnitt einer Tabelle, welche den
Inhalt jeder Anweisung einer ersten Aus
führungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung erläutert;
Fig. 18 eine Darstellung, welche den Inhalt jeder
Anweisung einer ersten Ausführungsform eines
Mikrocomputers gemäß der vorliegenden Erfindung
erläutert;
Fig. 19 ein Blockschaltbild, welches ein Beispiel eines
eine Zustandsentscheidungs-Schaltung um
fassenden Aufbaus als eine andere Ausführungs
form eines Mikrocomputers der vorliegenden Er
findung darstellt;
Fig. 20A einen Abschnitt einer Tabelle, welche einen
Registersatz einer ersten Ausführungsform eines
Mikrocomputers gemäß der vorliegenden Erfindung
zeigt;
Fig. 20B einen Abschnitt einer Tabelle, welche einen
Registersatz einer ersten Ausführungsform eines
Mikrocomputers gemäß der vorliegenden Erfindung
zeigt;
Fig. 20C einen Abschnitt einer Tabelle, welche einen
Registersatz einer ersten Ausführungsform eines
Mikrocomputers gemäß der vorliegenden Erfindung
zeigt;
Fig. 20D einen Abschnitt einer Tabelle, welche einen
Registersatz einer ersten Ausführungsform eines
Mikrocomputers gemäß der vorliegenden Erfindung
zeigt;
Fig. 20E einen Abschnitt einer Tabelle, welche einen
Registersatz einer ersten Ausführungsform eines
Mikrocomputers gemäß der vorliegenden Erfindung
zeigt;
Fig. 20F einen Abschnitt einer Tabelle, welche einen
Registersatz einer ersten Ausführungsform eines
Mikrocomputers gemäß der vorliegenden Erfindung
zeigt;
Fig. 21A einen Abschnitt einer Tabelle, welche jede
Funktion für jedes Bit von jedem Register einer
ersten Ausführungsform eines Mikrocomputers ge
mäß der vorliegenden Erfindung zeigt;
Fig. 21B einen Abschnitt einer Tabelle, welche jede
Funktion für jedes Bit von jedem Register einer
ersten Ausführungsform eines Mikrocomputers ge
mäß der vorliegenden Erfindung zeigt;
Fig. 21C einen Abschnitt einer Tabelle, welche jede
Funktion für jedes Bit von jedem Register einer
ersten Ausführungsform eines Mikrocomputers ge
mäß der vorliegenden Erfindung zeigt;
Fig. 21D einen Abschnitt einer Tabelle, welche jede
Funktion für jedes Bit von jedem Register einer
ersten Ausführungsform eines Mikrocomputers ge
mäß der vorliegenden Erfindung zeigt;
Fig. 21E einen Abschnitt einer Tabelle, welche jede
Funktion für jedes Bit von jedem Register einer
ersten Ausführungsform eines Mikrocomputers ge
mäß der vorliegenden Erfindung zeigt;
Fig. 21F einen Abschnitt einer Tabelle, welche jede
Funktion für jedes Bit von jedem Register einer
ersten Ausführungsform eines Mikrocomputers ge
mäß der vorliegenden Erfindung zeigt;
Fig. 21G einen Abschnitt einer Tabelle, welche jede
Funktion für jedes Bit von jedem Register einer
ersten Ausführungsform eines Mikrocomputers ge
mäß der vorliegenden Erfindung zeigt;
Fig. 21H einen Abschnitt einer Tabelle, welche jede
Funktion für jedes Bit von jedem Register einer
ersten Ausführungsform eines Mikrocomputers ge
mäß der vorliegenden Erfindung zeigt;
Fig. 21I einen Abschnitt einer Tabelle, welche jede
Funktion für jedes Bit von jedem Register einer
ersten Ausführungsform eines Mikrocomputers ge
mäß der vorliegenden Erfindung zeigt;
Fig. 21J einen Abschnitt einer Tabelle, welche jede
Funktion für jedes Bit von jedem Register einer
ersten Ausführungsform eines Mikrocomputers ge
mäß der vorliegenden Erfindung zeigt;
Fig. 21K einen Abschnitt einer Tabelle, welche jede
Funktion für jedes Bit von jedem Register einer
ersten Ausführungsform eines Mikrocomputers ge
mäß der vorliegenden Erfindung zeigt;
Fig. 21L einen Abschnitt einer Tabelle, welche jede
Funktion für jedes Bit von jedem Register einer
ersten Ausführungsform eines Mikrocomputers ge
mäß der vorliegenden Erfindung zeigt;
Fig. 22 ein Blockschaltbild, welches einen Aufbau eines
Funktionsblocks an einem unteren Seitenab
schnitt einer ALU einer ersten Ausführungsform
eines Mikrocomputers gemäß der vorliegenden Er
findung darstellt;
Fig. 23 ein Blockschaltbild, welches einen Aufbau eines
Funktionsblocks an einem oberen Seitenab
schnitt einer ALU einer ersten Ausführungsform
eines Mikrocomputers gemäß der vorliegenden Er
findung darstellt;
Fig. 24 ein Blockschaltbild, welches einen anderen
Aufbau eines Funktionsblocks an einem unteren
Seitenabschnitt einer ALU einer ersten Aus
führungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung darstellt;
Fig. 25 ein Blockschaltbild, welches einen anderen
Aufbau eines Funktionsblocks an einem oberen
Seitenabschnitt einer ALU einer ersten Aus
führungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung darstellt;
Fig. 26A eine schematische Darstellung, welche ein
Beispiel von Zellfunktionen verschiedener
Steuerbits zum Erleichtern einer ASIC-Er
weiterung als weitere Ausführungsform einer
ersten Ausführungsform eines Mikrocomputers
gemäß der vorliegenden Erfindung zeigt;
Fig. 26B eine schematische Darstellung, welche ein
Beispiel von Zellfunktionen verschiedener
Steuerbits zum Erleichtern einer ASIC-Er
weiterung als weitere Ausführungsform einer
ersten Ausführungsform eines Mikrocomputers
gemäß der vorliegenden Erfindung zeigt;
Fig. 26C eine schematische Darstellung, welche ein
Beispiel von Zellfunktionen verschiedener
Steuerbits zum Erleichtern einer ASIC-Er
weiterung als weitere Ausführungsform einer
ersten Ausführungsform eines Mikrocomputers
gemäß der vorliegenden Erfindung zeigt;
Fig. 26D eine schematische Darstellung, welche ein
Beispiel von Zellfunktionen verschiedener
Steuerbits zum Erleichtern einer ASIC-Er
weiterung als weitere Ausführungsform einer
ersten Ausführungsform eines Mikrocomputers
gern der vorliegenden Erfindung zeigt;
Fig. 27A eine schematische Darstellung, welche ein
Beispiel von Zellfunktionen verschiedener
Steuerbits zum Erleichtern einer ASIC-Er
weiterung als weitere Ausführungsform einer
ersten Ausführungsform eines Mikrocomputers
gemäß der vorliegenden Erfindung zeigt;
Fig. 27B eine schematische Darstellung, welche ein
Beispiel von Zellfunktionen verschiedener
Steuerbits zum Erleichtern einer ASIC-Er
weiterung als weitere Ausführungsform einer
ersten Ausführungsform eines Mikrocomputers
gemäß der vorliegenden Erfindung zeigt;
Fig. 28 ein Schaltbild, welches eine spezielle
Schaltung von einer Zelle einer weiteren Aus
führungsform einer ersten Ausführungsform eines
Mikrocomputers gemäß der vorliegenden Erfindung
darstellt;
Fig. 29 ein Schaltbild, welches eine separate spezielle
Schaltung von einer Funktionszelle einer
weiteren Ausführungsform einer ersten Aus
führungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung darstellt;
Fig. 30 ein Schaltbild, welches eine Funktionszelle
einer weiteren Ausführungsform einer ersten
Ausführungsform eines Mikrocomputers gemäß der
vorliegenden Erfindung darstellt, welche
Funktionszelle ein aus einem Funktionsblock
ausgegebenes Statussignal empfängt;
Fig. 31A einen Abschnitt eines Impulsdiagramms, welches
einen Basiszyklus von einer Anweisungsaus
führungs-Sequenz einer CPU einer zweiten Aus
führungsform eines Mikrocomputers gemäß der vor
liegenden Erfindung darstellt;
Fig. 31B einen Abschnitt eines Impulsdiagramms, welches
einen Basiszyklus von einer Anweisungsaus
führungs-Sequenz einer CPU einer zweiten Aus
führungsform eines Mikrocomputers gemäß der vor
liegenden Erfindung darstellt; und
Fig. 32 ein Blockschaltbild, welches ein Beispiel eines
speziellen Aufbaus einer zweiten Ausführungs
form eines Mikrocomputers gemäß der vor
liegenden Erfindung zeigt.
Nachstehend wird die vorliegende Erfindung auf Grundlage der
ihre Ausführungsformen darstellenden Zeichnungen im einzelnen
beschrieben.
Fig. 4 ist ein Impulsdiagramm, welches einen Basiszyklus
einer Anweisungsausführungs-Sequenz durch eine CPU einer
ersten Ausführungsform eines Mikrocomputers gemäß der vor
liegenden Erfindung zeigt.
Nachstehend wird die Anweisungsausführungs-Sequenz der ersten
Ausführungsform des Mikrocomputers der vorliegenden Erfindung
unter Bezugnahme auf das Blockschaltbild der Fig. 5, das ein
Beispiel eines speziellen Aufbaus der CPU darstellt, der Reihe
nach beschrieben.
In Fig. 4 bezeichnet das Bezugszeichen 1 eine Wellenform
eines Basistakts Φ. Obwohl in dem vorstehend genannten her
kömmlichen Beispiel ein Takt, der durch einen im Mikrocomputer
eingebauten Oszillator erzeugt wird, in zwei Takte zur Ver
wendung als Basistakt Φ geteilt wird, wird beim Mikrocomputer
der vorliegenden Erfindung der durch den eingebauten
Oszillator erzeugte Takt selbst verwendet. Wenn insbesondere
eine Oszillationsfrequenz des eingebauten Oszillators
beispielsweise 6 MHz ist, dann beträgt ein Zyklus des Basis
takts Φ 167 ns.
Ein Hochpegel-Abschnitt eines ersten Zyklus in den beiden
Zyklen des Basistakts Φ wird als Zeitabschnitt T1 bezeichnet,
ein Tiefpegel-Abschnitt desselben als Zeitabschnitt T2, ein
Hochpegel-Abschnitt eines zweiten Zyklus wird als Zeitab
schnitt T3 und ein Tiefpegel-Abschnitt desselben als Zeitab
schnitt T4 bezeichnet.
Das Bezugszeichen 2 bezeichnet eine Wellenform eines ersten
Hilfstaktes ΦH. Der Hilfstakt ΦH beruht darauf, daß in den
Zeitabschnitten T1 und T3, welche die Hochpegel-Abschnitte
(nachstehend als "H" bezeichnet) des Basistakts Φ sind, das
Timing derart festgelegt ist, daß ein Zunehmen um eine Zeit
"td" gegenüber demjenigen des Basistakts Φ verzögert ist und
ein Abnehmen mit dem des Basistakts Φ synchronisiert ist.
Ähnlich bezeichnet das Bezugszeichen 3 eine Wellenform eines
zweiten Hilfstaktes ΦL. Der Hilfstakt ΦL beruht darauf, daß in
den Zeitabschnitten T2 und T4, welche die Tiefpegel-Abschnitte
(nachstehend als "L" bezeichnet) des Basistakts Φ sind, das
Timing derart festgelegt ist, daß ein Zunehmen um die Zeit td
gegenüber dem Abnehmen des Basistakts Φ verzögert ist und das
Abnehmen mit dem Zunehmen des Basistakts Φ synchronisiert ist.
Die Hilfstakte ΦH, ΦL haben eine große Bedeutung beim Ver
hindern eines Fortlaufens, wie es nachstehend beschrieben
wird.
Das Bezugszeichen 4 bezeichnet ein Timing des Lesens von Daten
aus einem Programmspeichergebiet 51, wie beispielsweise aus
einem ROM oder RAM, EPROM, EEPROM und so weiter. Insbesondere
werden die Bitleitungen des Programmspeichergebiets 51 beim
Timing im durch das Bezugszeichen 4a bezeichneten Zeitab
schnitt T1 vorgeladen und werden beim Timing im durch das
Bezugszeichen 4b bezeichneten Zeitabschnitt T2 Zieldaten ent
nommen. Da jedoch das Auslesetiming schließlich verzögert
wird, wenn im Zeitabschnitt T2 Daten gelesen werden, gibt es
einen Zeitabschnitt, in welchem die Daten für eine bestimmte
Zeit nach dem Abnehmen des Basistakts Φ im Zeitabschnitt T2
nicht festgelegt sind. Um das zu kompensieren, ist die vor
stehend genannte Verzögerungszeit td in den Hilfstakten ΦH und
ΦL festgelegt, so daß im unbestimmten Zeitabschnitt der Daten
in einer nachstehend beschriebenen Steuersignal-Erzeugeschal
tung der CPU ein Steuersignal nicht fehlerhaft ausgegeben
wird. Der nicht festgelegte Zeitabschnitt von Daten beträgt
gewöhnlich 15 bis 30 ns.
Das Bezugszeichen 5 bezeichnet ein Timing des Ausgebens einer
Adresse während der Ausführung eines Programms, welches sich
über die Zeitabschnitte T1, T2 erstreckt. Im Falle eines Zu
greifens auf Daten im Programmspeichergebiet 51 eines
Speichers wird die Adresse mit diesem Timing ausgegeben. Ob
gleich die Zugriffsadresse durch einen Programmzähler 40 er
zeugt und ausgegeben wird, wird ihr spezielles Timing mit dem
Bezugszeichen 12 bezeichnet.
Das Bezugszeichen 6 bezeichnet ein Timing des Lesens eines
Programm-(Anweisungs-)Codes aus dem Programmspeichergebiet
51, welcher unter der durch das Timing 5 bestimmten Adresse
gespeichert ist, und ein Übertragen desselben zur CPU (durch
die CPU geholt). Gleichzeitig mit dem durch die CPU geholten
Anweisungscode wird dieser in einem Anweisungsdecodierer 66
mit einem durch das Bezugszeichen 8 bezeichneten Timing de
codiert.
Der Code wird aus dem Programmspeichergebiet 51 gelesen und
nur im Halbzyklus-Zeitabschnitt T2 des Basistakts Φ decodiert.
Der aus dem Programmspeichergebiet 51 gelesene Code wird in
einer Operationscode-Verriegelungseinrichtung 56 mit einem mit
dem Bezugszeichen 7 bezeichneten Timing verriegelt. Bezüglich
der Anweisung, welche die Ausführungszeit von zwei oder mehr
Zyklen des Basistakts Φ benötigt, wie durch das Bezugszeichen
7b bezeichnet, wird der Anweisungscode solange in der
Operationscode-Verriegelungseinrichtung 56 kontinuierlich ver
riegelt, bis die Anweisung ausgeführt worden ist.
Das Bezugszeichen 9 bezeichnet ein Lesetiming aus einem Quell
register, welches einen Operanden hält. Das heißt, der
Operand, der durch die in der vorstehend genannten Weise de
codierte Anweisung gehandhabt wird, wird aus dem Quellregister
gelesen, welches denselben in einem Registersatz 20 hält, und
in eine ALU 22 geladen.
Das Bezugszeichen 10 bezeichnet ein Operations-Timing der ALU
22. Das heißt, eine Operation mit dem mit dem vorstehend ge
nannten Timing 9 aus dem Quellregister in die ALU 22 geladenen
Operanden wird durch die ALU 22 ausgeführt, und das Ergebnis
wird mit einem Timing 10 in einer Ergebnis-Verriegelungsein
richtung 23 gespeichert.
Schließlich wird mit einem durch das Bezugszeichen 11 bezeich
neten Timing des Zeitabschnitts T3 das Operationsergebnis
durch die ALU 22 in einem Zielregister (Registersicherung) im
Registersatz 20 gespeichert, um eine Reihe von Anweisungsaus
führungen zu beenden.
Das Bezugszeichen 12 bezeichnet ein Operationstiming des
Programmzählers 40. Obgleich nachstehend im einzelnen be
schrieben, wird der Programmzähler 40 gebildet aus: einer Ver
riegelungseinrichtung 41, welche einen Zählwert PC hält und
diesen zum Programmspeichergebiet 51 durch den Adreßbus aus
gibt, und einem Inkrementierer 42, welcher den PC-Wert zu
einer Zeit um "+1" inkrementiert, und einem Register 44,
welches den durch den Inkrementierer 42 inkrementierten PC-
Wert hält, um damit durch die Verriegelungseinrichtung 41 ver
riegelt zu werden.
Wird vorausgesetzt, daß der PC-Wert des Programmzählers 40 mit
einem sich über die Zeitabschnitte T1, T2 erstreckenden Timing
12a "PC" ist, dann wird er im Inkrementierer 42 mit einem
Timing auf "PC + 1" inkrementiert, welches sich über die um
einen Halbzyklus verzögerten Zeitabschnitte T2, T3 erstreckt.
Durch erneutes Speichern dieses neuen inkrementierten PC-
Wertes "PC + 1" in der Verriegelungseinrichtung 41 des
Programmzählers 40 mit einem sich über die Zeitabschnitte T3,
T4 erstreckenden Timing 12c wird der um eine Adresse weiterge
rückte "PC + 1"-Wert zum Adreßbus als Wert des Programmzahlers
40 ausgegeben. Zur Zeit des Ausführens einer Verzweigungsan
weisung wird eine neue Verzweigungszieladresse mit einem
Timing 12d erzeugt, welches den gleichen Zeitabschnitt wie das
Timing 12b aufweist, und mit dem Timing 12c in der Ver
riegelungseinrichtung 41 des Programmzählers gespeichert.
Das Bezugszeichen 13 bezeichnet ein Basistiming einer Gruppe
von Steuersignalen, welche durch Decodieren des Anweisungs
codes durch den Anweisungsdecodierer 66 des Mikrocomputers der
vorliegenden Erfindung erzeugt werden und grob in fünf Arten
eingeteilt sind.
Eine Gruppe von Signalen e0X sind Steuersignale, die direkt
aus einer statischen Kombinationsschaltung im Anweisungsde
codierer 66 gleichzeitig mit dem Holen der Anweisung ausge
geben werden.
Eine Gruppe von Signalen e2X sind Steuersignale, welche
beispielsweise das Timing des Signals e0X mit dem Timing des
Hilfstakts ΦL bilden, wobei dieses Beispiel ein Registerlade-
Steuersignal kennzeichnet.
Eine Gruppe von Signalen e4X sind Steuersignale, die direkt in
der statischen Kombinationsschaltung im Anweisungsdecodierer
66 aus dem mit dem Timing 7 verriegelten Anweisungscode er
zeugt werden, und ein Signal e6X ist ein Steuersignal, welches
das Timing des Signals e4X mit dem Timing des Hilfstakts ΦH
bildet.
Obwohl die CPU im wesentlichen durch Kombination der vor
stehenden vier Timing-Arten gesteuert wird, wird teilweise ein
Sonder-Timing-Signal zusätzlich verwendet.
Fig. 6 ist ein Blockschaltbild, welches einen Aufbau aus
Registerbussen und Registern 20-A, 20-B . . . 20-N, einer ALU 22
und weiteren damit verbundenen Teilen einer CPU einer ersten
Ausführungsform des Mikrocomputers der vorliegenden Erfindung
darstellt.
In Fig. 6 bezeichnen die Bezugszeichen 20-A, 20-B . . . 20-N
interne Register der CPU, welche als Ganzes einen Registersatz
20 bilden. Registeradreßbusse A, B . . . N sind den ent
sprechenden Registern 20-A, 20-B . . . 20-N zugewiesen. Die
Register 20-A, 20-B . . . 20-N sind mit einem Leseregisterbus
SEQ-A (C) 25 mittels Schaltern 28-A, 28-B . . . 28-N verbunden.
Die Schalter 28-A, 28-B . . . 28-N werden durch Steuersignale
e21-A, e21-B . . . e21-N entsprechend gesteuert. Die Signale
e21-A, e21-B . . . e21-N werden durch Decodieren eines 5-Bit-
Quellregister-Spezifizierungssignals 33, welches das Quell
register spezifiziert, und eines durch das Bezugszeichen 34
bezeichneten Register-Lesesteuerungs-Timingsignals e21 durch
entsprechende Decodierschaltungen 37-A, 37-B . . . 37-N erhal
ten.
Das Bezugszeichen 21 bezeichnet ein Zwischenregister, dessen
einer Ausgang direkt mit einem Eingang der ALU 22 verbunden
ist und dessen anderer Ausgang mit dem Registerbus SEQ-A (C)
ebenso wie die anderen Register verbunden ist.
Die ALU 22 führt eine numerische Operation, eine logische
Operation, eine Schiebeoperation und so weiter unter Verwen
dung der aus dem Registerbus SEQ-A (C) gesendeten Daten und
eines im Zwischenregister 21 als Operand gehaltenen Wertes
aus. Das Operationsergebnis der ALU 22 wird in einer Ergebnis-
Verriegelungseinrichtung 23 gehalten und treibt einen
Registerbus SEQ-B (D) 26 mittels eines Buspuffers 24.
Nun ist als modifiziertes Beispiel der in Fig. 6 dargestell
ten Ausführungsform ein erfindungsgemäßer Aufbau gemäß An
spruch 13 verwendbar, welcher in Fig. 7 gezeigt ist. Das
heißt, ferner ist ein Aufbau verwendbar, welcher ein Puffer
register 27 umfaßt, das aus dem Registerbus SEQ-A (C) 25 aus
gelesene Daten zeitweilig hält. Im Falle des Verwendens eines
derartigen Aufbaus ist ein ausreichender Timingentwurf
möglich, welcher im in Fig. 4 dargestellten Timing 10b be
schrieben ist. In Fig. 7 werden die zum Pufferregister 27
eingegebenen Daten durch einen Schalter 30 gesteuert, welcher
eingeschaltet ist, wenn sich der Hilfstakt ΦL im Hochpegel be
findet.
Bei einem derartigen Aufbau, der eine Verriegelungsschaltung
umfaßt, welche den aus dem Register gelesenen Wert vor dem
Zuführen zur ALU 22 hält, wird eine Ausführungsge
schwindigkeits-Grenze der ALU 22 erreicht, da die Operation
der ALU 22 über einen Zyklus der Zeitabschnitte T2 und T3
ausgeführt wird, wie durch das Bezugszeichen 10b dargestellt.
In jedem beliebigen Fall wird das Operationsergebnis der ALU
22 über die Zeitabschnitte T2, T3 in der Ergebnis-Ver
riegelungseinrichtung 23 gehalten, um den Registerbus SEQ-B
(D) 26 auf der Schreibseite zu treiben.
In der in Fig. 6 dargestellten ursprünglichen Ausführungsform
existieren das Pufferregister 27 und der Steuerschalter 30
jedoch nicht, und der Registerbus SEQ-A (C) 25 ist mit dem
Eingang der ALU 22 direkt verbunden. Ferner wird ein Übertrag
mittels eines Pfades 32 zur ALU 22 eingegeben und wird ein
Übertragsausgang mittels eines Pfades 31 in einem Übertragsbit
gespeichert.
Der Registerbus SEQ-B (D) 26 dient dazu, das Operationsergeb
nis der ALU 22 zum Register zurückzuführen, und er ist mit den
Registern 20-A, 20-B . . . 20-N mittels Schaltern 29-A, 29-B . . . 29-N
zum Speichern von Daten in den Registern und mit dem
Zwischenregister 21 mittels eines Schalters 29-T verbunden.
Die Schalter 29-A, 29-B . . . 29-N und 29-T werden durch Steuer
signale e61-A, e61-B . . . e61-N und e61-T gesteuert. Die
Steuersignale e61-A, e61-B . . . e61-N und e61-T werden durch
Decodieren eines 5-Bit-Zielregister-Spezifizierungssignals 35,
welches das Zielregister spezifiziert, und eines mit dem Be
zugszeichen 36 bezeichneten Registerschreibsteuerungs-Timing
signals e61 durch Decodierschaltungen 38-A, 38-B . . . 38-N er
halten.
Die vorstehend genannten Schalter sind durch Zeichen ○ in
Fig. 6 und Fig. 7 dargestellt und werden durch die neben
stehend angegebenen Signale ein- und ausgeschaltet. Als
spezielles Verfahren zum Realisieren dieser Schalter sind
beispielsweise ein Verfahren zum Bilden durch ein Trans
missions-Gate und ein Verfahren zum Kombinieren von zwei N-
Kanal-Transistoren, in welche ein Steuersignal aus zwei
Signalleitungen TRUE und BAR eingegeben wird, verwendbar.
Fig. 8 und Fig. 9 sind Blockschaltbilder, welche einen Auf
bau eines Programmzählers einer ersten Ausführungsform eines
Mikrocomputers der vorliegenden Erfindung zeigen. Fig. 8
zeigt im wesentlichen den Aufbau eines Hauptteils des
Programmzählers, und Fig. 9 stellt im wesentlichen den Aufbau
einer Steuerschaltung dar.
In Fig. 9 bezeichnet das Bezugszeichen 41 eine 13-Bit-SC-Ver
riegelungseinrichtung, welche einen Zählwert (den PC-Wert) des
Programmzählers hält. Die SC-Verriegelungseinrichtung 41 gibt
Adreßsignale eines ROMs und eines RAMs mittels eines Adreßbus
puffers aus.
Das Bezugszeichen 42 bezeichnet einen Inkrementierer (SC-In
krementierer) des Programmzählers. Der SC-Inkrementierer 42
inkrementiert einen Wert der SC-Verriegelungseinrichtung 41 um
"+1", wenn ein Inkrementsteuereingang 43 auf "H" ist, und
führt die oberen 4 Bits des Ergebnisses einem Ergebnis-H-
Register 44-a und die unteren 9 Bits einem Ergebnis-L-Register
44-b zu. Ein Ergebnisregister 44 wird aus dem Ergebnis-H-
Register 44-a und dem Ergebnis-L-Register 44-b gebildet.
Gewöhnlich werden die Ausgänge der Register 44-a und 44-b
einem SEQ-E-Bus, welcher ein Registerbus in einem Adreß
operationsblock ist, mittels eines Schalters 45 zugeführt, und
sie sind gebildet, um einen neuen Wert in die SC-Ver
riegelungseinrichtung 41 zu setzen. Ein das Ein-/Aus-Timing
des Schalters 45 steuerndes Steuersignal ist ein SC-
Sicherungssignal.
Dagegen sind die Ausgänge des Ergebnis-H-Registers 44-a und
des Ergebnis-L-Registers 44-b ferner mit einem SEQ-F-Bus ver
bunden, um einen Pfad zum Speichern einer Ausführungsquell
adresse in einem nachstehend beschriebenen Stack-Register zu
bilden, wenn eine Unterbrechung oder ein Unterprogrammaufruf
stattfindet.
In der nachstehenden Beschreibung wird ein charakteristischer
Aufbau des Mikrocomputers der vorliegenden Erfindung darge
stellt.
In der Figur bezeichnen die Bezugszeichen 45H1, 45H2 . . . 45H8
obere 5-Bit-Stacks, und die Bezugszeichen 45L1, 45L2 . . . 45L8
bezeichnen untere 8-Bit-Stacks. Jedes dieser Stacks bildet
durch das obere Stack 45H1 und das untere Stack 45L1, durch
das obere Stack 45H2 und das untere Stack 45L2 . . . sowie durch
das obere Stack 45H8 und das untere Stack 45L8 ein Stack
register.
Die oberen Stacks 45H1, 45H2 . . . 45H8 haben als Eingangspfade
sowohl einen Pfad, welcher Daten aus dem vorstehend genannten
SEQ-F-Bus holt, als auch einen Pfad, welcher das Operationser
gebnis der ALU 22 mittels des SEQ-D-Busses holt. Die unteren
Stacks 45L1, 45L2 . . . 45L8 haben als Eingangspfade sowohl
einen Pfad, welcher Daten aus dem vorstehend genannten SEQ-F-
Bus holt, als auch einen Pfad, welcher das Operationsergebnis
der ALU 22 mittels des SEQ-B-Busses holt.
Ferner gibt es als Ausgangspfade der oberen Stacks 45H1, 45H2 . . . 45H8
einen Pfad, der mit dem SEQ-E-Bus verbunden ist,
welcher einer SC-Verriegelungseinrichtung 41 Daten zuführt,
und einen Pfad, der mit einem SEQ-C-Bus verbunden ist, welcher
einem Operationseingang der ALU 22 Daten zuführt. Als Aus
gangspfade der unteren Stacks 45L1, 45L2 . . . 45L8 gibt es
einen Pfad, der mit dem SEQ-E-Bus verbunden ist, welcher der
SC-Verriegelungseinrichtung 41 Daten zuführt, und einen Pfad,
der mit einem SEQ-A-Bus verbunden ist, welcher einem
Operationseingang der ALU 22 Daten zuführt.
Durch die Stacks 45H1, 45H2 . . . 45H8 und 45L1, 45L2 . . . 45L8
wird eine Einrichtung zum Zuführen des Operationsergebnisses
der ALU 22 zur SC-Verriegelungseinrichtung 41 des Programm
zählers als Adresse der als nächstes auszuführenden Anweisung
gebildet.
Ferner sind mit dem SEQ-E-Bus verbunden: ein Pfad 46, welcher
eine Verzweigungszieladresse direkt aus einer Operationscode-
Verriegelungseinrichtung 56 mit 16-Bit-Konfiguration empfängt,
ein Pfad 47, welcher einen Rücksetzvektor als festgelegte
Adresse unter Verwendung einer Hardware zur Zeit eines Rück
setzens des Systems zuführt, und ein Pfad 48, welcher den
Rücksetzvektor aus einer Test-Rücksetzvektor-Schaltung unter
Verwendung einer Software zuführt.
In Fig. 9 ist eine mit dem Bezugszeichen 48 bezeichnete
Schaltung auf der linken Seite des SEQ-E-Busses eine Steuer
schaltung zum Steuern des Betriebs des Programmzählers. Die
Steuerschaltung 48 gibt eine folgende Mehrzahl von Steuer
signalen ein, um die Steuersignale, wie beispielsweise SC save
und so weiter, zu erzeugen.
Obwohl der in Fig. 8 und Fig. 9 dargestellte Programmzähler
40 im wesentlichen mit dem Timing des Hilfstakts ΦH gesichert
wird, gibt es einige Faktoren, um das zu unterbinden. Zunächst
wird ein PC-Wert "SC+ 1" zur Zeit des Ausführens der 2-
Zyklen-Anweisung durch ein Signal e42B verworfen, welches das
SC-Sicherungssignal mittels eines ODER-Gatters 403 und eines
UND-Gatters 404 bedeutungslos macht. Obwohl ein "br av"-Signal
(Verzweigung vorhanden) anzeigt, daß die Verzweigung zur Zeit
des Ausführens der Verzweigungsanweisung wirksam ist, wird es
als Ausgang eines ODER-Gatters 401 nur dann realisiert, wenn
entweder ein Verzweigungssteuerungssignal, welches ein Ausgang
einer nachstehend zu beschreibenden Zustandsentscheidungs
schaltung ist, ein Signal e43B (Verzweigungsbedingung : Signal
zur Steuerung der Anweisung zur bedingten Verzweigung) oder
ein 1-Bit-o11-Wert der Operationscode-Verriegelungseinrichtung
56 zu diesem Zeitpunkt auf "H" geht.
Das Bit o11 ist das Bit, welches die unbedingte Verzweigung
steuert. Wenn das Bit o11 auf "L" steht, dann zeigt es-eine
bedingte Verzweigung an, und wenn das Bit o11 auf "H" steht,
dann zeigt es eine unbedingte Verzweigung an.
Ein Signal e82B ist ein Steuersignal, welches das Inkremen
tieren des PC-Wertes zum Sichern einer Rückkehradresse zur
Zeit der Unterbrechung oder Abbruchunterbrechung zurückweist.
Die Anweisungsausführung der bedingten Verzweigung des Mikro
computers der vorliegenden Erfindung ist kennzeichnend und
verwendet ein Verfahren, wodurch die unteren 9 Bits (Bit 8 bis
Bit 0) der Verzweigungszieladresse aus dem durch die
Operationscode-Verriegelungseinrichtung 56 gehaltenen An
weisungsoperanden mittels des Pfades 46 direkt zugeführt
werden und die oberen 4 Bits derart vorliegen, daß ein
Spezifizieren von +1/+0/-1 und einer absoluten Nullseite von
einer derzeit ausgeführten Seite gewählt werden kann. Somit
werden durch Aktivieren eines Ausgangs eines UND-Gatters 402
durch ein Signal e63 (Verzweigungs-SC-Sicherungssignal) zur
Zeit des Ausführens der Verzweigungsanweisung die unteren 9
Bits der Verzweigungszieladresse aus der Operationscode-Ver
riegelungseinrichtung 56 mittels des Pfades 46 und des SEQ-E-
Busses der SC-Verriegelungseinrichtung 41 zugeführt, und die
oberen 4 Bits liegen derart vor, daß durch Aktivieren der
Seitenoperation durch ein Signal e47 (Seitensignal) eine
Seitenspezifizierungsschaltung durch 2 Bits, den Bits o10 und
o9 des Operationscodes, aktiviert wird.
Zur Zeit eines Unterprogrammaufrufs werden die Bits o12 bis o3
des in der Operationscode-Verriegelungseinrichtung 56 als 10-
Bit-Adresse gehaltenen Operanden im Anweisungscode durch ein
Steuersignal e64 mittels des Pfades 47 und des SEQ-E-Busses
der SC-Verriegelungseinrichtung 41 direkt zugeführt. Im Falle
eines Unterprogrammaufrufs werden in dieser Ausführungsform
die unteren 3 Bits (Bit 2 bis Bit 0) durch das Steuersignal
e64 immer mit einem festgelegten Wert von "000" auf dem
gleichen Wege wie vorstehend beschrieben zugeführt.
Die Erzeugung eines Unterbrechungsvektors des Mikrocomputers
der vorliegenden Erfindung ist ferner kennzeichnend, wobei
Daten, die durch ein in Reaktion auf Unterbrechungsfaktoren im
voraus zugewiesenes Stack-Register gehalten werden, unver
ändert als Sprungzieladresse der Unterbrechungsroutine dienen.
Somit ist es im Falle des Verwendens der Unterbrechung not
wendig, den Unterbrechungsvektor im voraus durch die Programme
in die Stacks 45H1, 45H2 . . . 45H8 und 45L1, 45L2 . . . 45L8 zu
schreiben. Die Daten werden übermittelt und zwischen dem
Programmzähler und den Stacks 45H1, 45H2 . . . 45H8 und 45L1,
45L2 . . . 45L8 durch die Steuersignale e65-1, e65-2 . . . e65-8
und e66-1, e66-2 . . . e66-8 der mit dem SEQ-E-Bus verbundenen
Schalter empfangen.
Es gibt ferner ein Verfahren zum Ausführen der Verzweigungsan
weisung, bei welchem die Zieladresse durch das Programm be
rechnet wird und in einem beliebigen der Stacks 45H1, 45H2 . . . 45H8
und 45L1, 45L2 . . . 45L8 im voraus gespeichert wird, wobei
es durch Ausführen der speziellen Verzweigungsanweisung
möglich ist, in alle Adreßräume zu verzweigen. Beim Mikro
computer der vorliegenden Erfindung wird die Anweisung BRT
(Verzweigungsknoten) und BSR (Verzweigung mit Stack) genannt.
Wenn diese Anweisung ausgeführt wird, dann werden die Daten
zwischen dem Programmzähler und den Stacks 45H1, 45H2 . . . 45H8
und 45L1, 45L2 . . . 45L8 durch die vorstehend genannten Steuer
signale e65-1, e65-2 . . . e65-8 und e66-1, e66-2 . . . e66-8
übermittelt und empfangen.
Schließlich werden in diesem Adreßoperationsblock für den
Datenzugriff im Speicherraum ferner die Stack-Register ver
wendet. Das heißt, es kann auf zwei Arten von durch das
Programm gesetzten Adressen zugegriffen werden, wenn es not
wendig ist, Daten im gewöhnlich direkt als Programmspeicher
gebiet verwendeten Speicherraum durch Verwenden von zwei
Sätzen externer Adreß-Pointer 45P1, 45P2 mit der gleichen
Konfiguration wie der durch Kombinieren der entsprechenden
Stacks 45H1, 45H2 . . . 45H8 und 45L1, 45L2 . . . 45L8 gebildeten
Stack-Register zu bearbeiten, um sie durch das Bit 11 des An
weisungscodes zu spezifizieren, obgleich das in Fig. 9 nicht
dargestellt ist. Auch in diesem Fall werden die Daten zwischen
dem Programmzähler und den Stacks 45H1, 45H2 . . . 45H8 und
45L1, 45L2 . . . 45L8 durch die Steuersignale e65-1, e65-2 . . . e65-8
übermittelt und empfangen.
Fig. 10 bis Fig. 13 sind Blockschaltbilder, welche ein
Beispiel eines Schaltungsaufbaus eines Anweisungsdecodierers
einer ersten Ausführungsform eines Mikrocomputers der vor
liegenden Erfindung darstellen. Fig. 10 ist ein Blockschalt
bild, welches den Aufbau einer Operationscode-Verriegelungs
einrichtung 56 zeigt, Fig. 11 ist ein Blockschaltbild,
welches den Aufbau einer Anweisungszyklus-Steuerschaltung
zeigt, Fig. 12A und Fig. 12B sind Blockschaltbilder, welche
den Aufbau einer Anweisungsdecodierschaltung zeigen, und Fig.
13 ist ein Blockschaltbild, welches den Aufbau einer Schaltung
zum Erzeugen eines Steuersignals eXX, das entsprechende Ab
schnitte der CPU steuert, darstellt.
In Fig. 10 bezeichnet das Bezugszeichen 51 ein Programm
speichergebiet des Speichers. Beim Empfangen der aus dem
Programmspeichergebiet 51 an einen Datenbus SQR (15 bis 0)
ausgegebenen Daten werden Anweisungscodedaten als Signal OPDEC
15 bis 0 und direkt als ein Eingang OPDEC 15 bis 0 eines
Anweisungsdecodierers 66 mittels eines Schalters 52a und eines
Puffers 53 zugeführt. Der Ausgang des Puffers 53 wird mittels
eines Schalters 54 zur Operationscode-Verriegelungseinrichtung
56 eingegeben. Manipulationen zum Halten des Anweisungscodes
in der Operationscode-Verriegelungseinrichtung 56 werden in
jedem Anweisungszyklus wiederholt.
Gewöhnlich ist ein Signal e87 auf "L" und ein Signal e10B auf
"H". Somit ist der Ausgang eines ODER-Gatters 55B, dem diese
Signale eingegeben werden, auf "H". Da der Ausgang eines UND-
Gatters 55A, in welches der Hilfstakt ΦL und der Ausgang des
ODER-Gatters 55B eingegeben werden, auf "H" ist, schaltet
während des Zeitabschnitts "H" des Hilfstakts ΦL gewöhnlich
der Schalter 54 ein, wodurch der Operationscode in ent
sprechenden Zyklen in der Operationscode-Verriegelungsein
richtung 56 gespeichert wird. Da das Signal e10B im Falle
einer 2-Zyklen-Anweisung oder einer 3-Zyklen-Anweisung aktiv
("L") wird und der Ausgang des ODER-Gatters 55B auf "L" geht,
schaltet der Schalter 54 aus, wodurch die Operationscode-Ver
riegelungseinrichtung 56 daran gehindert wird, den Operations
code zu verriegeln.
Der Ausgang der Operationscode-Verriegelungseinrichtung 56
dient als weiterer Eingang OP 15 bis 0 des Anweisungsde
codierers 66. Durch Einschalten eines beliebigen der Schalter
57-a, 57-b und 57-c, um den Betrieb der ALU 22 zu steuern,
wird ferner ein Signal CLC 4 bis 0 aus einem Signal OPDEC 12
bis 8 und den Signalen OP 12 bis 8, 6 bis 2 erzeugt.
Das CLC-Signal besteht aus 5 Bits und dient einem Unter
scheiden der Operationstypen. Insbesondere im Falle einer
Registeroperation werden die Bits 12 bis 8 (OPDEC 12 bis 8)
des Anweisungscodes im Zeitabschnitt T2 verwendet, im Falle
einer Speicheroperation werden die Bits 6 bis 2 (OP 6 bis 2)
des Anweisungscodes im Zeitabschnitt T4 des zweiten Zyklus
verwendet, und im Falle einer Operation eines 16-Bit-Direkt
werts des Operanden, welcher eine 2-Wort-Anweisung ist, und
dem Register werden die Bits 12 bis 8 des Anweisungscodes OP
12 bis 8 im Zeitabschnitt T6 des dritten Zyklus verwendet. Das
CLC-Signal dient ferner als Eingang des Anweisungsdecodierers
66.
Das Bezugszeichen 58 bezeichnet einen Spezialcodegenerator,
welcher zur Zeit einer durch externe Faktoren verursachten
Sonderverarbeitung, welche sich von jener der Programme, wie
beispielsweise Unterbrechung, Rücksetzen, Abbruch und so
weiter, unterscheidet, einen ihr entsprechenden Anweisungscode
(Spezialcode) in einer Hardwareschaltung erzeugt, um ihn dem
Anweisungsdecodierer 66 wirksam zuzuführen.
Obwohl gewöhnlich ein Schalter 52-b ausgeschaltet ist und auf
das Programmspeichergebiet 51 mittels des Datenbusses SQR (15
bis 0) 50 zugegriffen wird, da das Signal e87 auf "L" ist,
wenn die vorstehend genannte Sonderverarbeitung gestartet ist,
ändert sich das Signal e87 auf "H" und wird der durch den
Spezialcodegenerator 58 erzeugte Code zugeführt. Da zu dieser
Zeit der Schalter 54 durch das ODER-Gatter 55B und das UND-
Gatter 55A eingeschaltet ist, wenn sich das Signal e87 auf "H"
ändert, wird der aus dem Spezialcodegenerator 58 ausgegebene
Code ferner in der Operationscode-Verriegelungseinrichtung 56
wirksam gespeichert.
Der Sondercode umfaßt einige Sondercodes, welche von den
Faktoren abhängen. In der Ausführungsform der vorliegenden Er
findung sind die in der Tabelle der Fig. 14 dargestellten
Codes gesetzt.
In Fig. 14 ist "BRK" der Code, welcher zu einem Abbruchvektor
springt, "RTB" ist der Code, welcher aus dem Abbruch zurück
kehrt, "INT" ist der Unterbrechungsverarbeitungscode, "RES"
ist der Code, der das System zurücksetzt, und "TES" ist der
Code, welcher das System zum Test zurücksetzt.
Fig. 11 ist ein Blockschaltbild, welches ein Beispiel des
Aufbaus eines Anweisungszykluszählers 62 zeigt, welcher die
Anzahl von Anweisungszyklen steuert.
Der Anweisungsdecodierer 66 decodiert die Signale der Ausgänge
OP 15 bis 0 der Operationscode-Verriegelungseinrichtung 56
durch eine statische Logikschaltung 60, um Signale THREECYC
(3-Zyklen-Anweisung), TWOCYC (2-Zyklen-Anweisung) und ONECYC
(1-Zyklus-Anweisung) zu erzeugen, welche anzeigen, in welchem
Zyklus die Anweisung ist. Um aus diesen Signalen Signale
ONESIGPRE, ONESIG, TWOSIGPRE, TWQSIG, THREESIGPRE und THREESIG
zu erzeugen, die anzeigen, in welchem Zyklus ein vorliegender
Zustand ist, sind Kombinationsschaltungen 61-a, 61-b und 61-c
gemäß Übergangsfestlegungen der entsprechenden Zustände vorge
sehen.
Die Bezugszeichen 62-a, 62-b, 62-c und 63-a, 63-b, 63-c be
zeichnen einfache Schieberegister, wobei die Schieberegister
62-a, 62-b und 62-c eine Schiebeoperation in Synchronisation
mit dem Hilfstakt ΦL ausführen und die Schieberegister 63-a,
63-b und 63-c eine Schiebeoperation in Synchronisation mit dem
Hilfstakt ΦH ausführen.
Fig. 12A und Fig. 12B sind Blockschaltbilder, welche den
Aufbau eines Operanden-Decodierers darstellen. Da in der
ersten Ausführungsform des Mikrocomputers der vorliegenden Er
findung der Operand der Registerspezifizierung und dergleichen
in dem 16-Bitlängen-Anweisungscode enthalten ist, ist es not
wendig, den Operanden zur Zeit des Ausführens der Anweisung zu
entnehmen. Die Blockschaltbilder der Fig. 12A und der Fig.
12B zeigen den Aufbau des Operanden-Decodierers für diesen
Zweck.
Im Falle einer Register-zu-Register-Datenübertragungsanweisung
wird eine Übertragungs-Quellregister-Spezifizierungsadresse
"Source Reg (6)" durch 6 Bits von den Bits 7 bis 2 erhalten,
welche aus einem zum Datenbus SQR (15 bis 0) 50 ausgegebenen
Datensignal erhalten werden. Wogegen eine Übertragungs-Ziel
register-Spezifizierungsadresse "Destination Reg (6)" aus den
Bits 13 bis 8 an einem Ausgang OP (15 bis 0) der Operations
code-Verriegelungseinrichtung 56 erhalten wird. Im Falle des
Speicherns eines Direktwertes im Register wird der Direktwert
(16 Bits) einem Registerbus SEQ-A, -C 25 mittels eines Gatters
zugeführt, welches durch ein Signal e22 ein/aus-gesteuert
wird. Obwohl es im Falle von 8-Bit-Daten gerade ausreicht, ihn
dem Registerbus SEQ-A 25 der unteren 8 Bits zuzuführen, ist
der Aufbau zum gleichzeitigen Zuführen desselben zum Register
bus SEQ-C 25 der oberen 8 Bits und zum Steuern desselben durch
eine Logik in der ALU 22 zur Zeit des tatsächlichen Speicherns
im Register im Schaltungsaufbau einfacher, da er auf dem
gleichen Wege wie die nachstehend zu beschreibende 16-Bit-
Daten-Direktoperation behandelt wird.
Die wichtigsten Signale in den Blockschaltbildern der Fig.
12A und Fig. 12B können folgendermaßen beschrieben werden.
Ein "FROM stack (4)" spezifiziert ein Speicher-Stackregister
einer Rückkehrzieladresse zur Zeit einer Unterbrechung, einer
Unterprogrammverzweigung und dergleichen. Ein "T0 stack (4)"
spezifiziert ein Speicher-Stackregister eines Unterbrechungs
vektors oder ein Stackregister, welches eine Verzweigungsziel
adresse einer Verzweigungsanweisung unter Verwendung des
Stackregisters speichert.
Ein "culc.type (5)" ist ein Signal, welches die Arten der vor
stehend beschriebenen Operation spezifiziert. Ein "Branch
always or not" ist ein Signal, welches die bedingte Ver
zweigungsanweisung und die unbedingte Verzweigung unterschei
det und als Signal o11 zur Steuerschaltung 48 des Programm
zählers 40 übermittelt wird, welcher in der vorstehend be
schriebenen Fig. 9 dargestellt ist. Ein "Selected Reg (4)"
spezifiziert ein durch eine Verzweigungsbedingungs-Entschei
dungsschaltung zu bestimmendes Register, und ein "int enable
control (4)" und ein "int return stack enable (4)" sind Unter
brechungssteuerregister.
Ein "Destination Reg (6)" spezifiziert eine Registeradresse,
welche die Datenübertragung und Speicherziele spezifiziert. Im
Unterschied dazu spezifiziert ein "Source Reg (6)" Register
adressen der Datenübertragung und von Entnahmequellen.
Ein "Bit Select (4)" ist ein Signal, welches ein Zielbit zur
Zeit der Ausführung der Anweisung zum Setzen und Löschen eines
Bits spezifiziert und dazu in der Lage ist, 16 Bits in einer
Breite von 4 Bit zu spezifizieren. Ein "Branch Adrs L (9)" ist
ein Signal, welches die unteren 9 Bits der Verzweigungsziel
adresse der Verzweigungsanweisung spezifiziert, und ein "JSR
Adrs (10)" ist ein Signal, welches eine Startadresse eines
Unterprogramms der Unterprogramm-Verzweigungsanweisung spezi
fiziert. Ein "Imm Data (16)" ist ein Paß, das verwendet wird,
wenn ein Direktwert bei der Operation wie vorstehend beschrie
ben verwendet wird.
Fig. 13 ist ein Blockschaltbild, welches ein Beispiel eines
Schaltungsaufbaus des Anweisungsdecodierers des Mikrocomputers
der vorliegenden Erfindung darstellt. In Fig. 13 werden die
in den Tabellen der Anweisungssätze der Fig. 15A bis Fig.
15P gezeigten Steuersignale für jede Anweisung unter Verwen
dung der in Fig. 10 bis Fig. 12A und Fig. 12B beschriebenen
Signale erzeugt.
Obwohl die Steuersignale mit der Bezeichnung Nr. e0X im
wesentlichen in den Zeitabschnitten T1 und T2 aktiv sind, er
lauben sie es nicht, notwendige Fehlimpulse an Übergangs
stellen des Timings zu erzeugen, welche durch kontinuierliches
Erzeugen von Fehlimpulsen aus dem Ausgang des Programm
speichergebiets 51 oder der Operationscode-Verriegelungsein
richtung 56 verursacht werden. Das verhält sich derart, da die
Steuersignale mit der Bezeichnung Nr. e0X nur in einem Ab
schnitt verwendet werden, der die Schaltung steuert, welche am
Ende selbst dann zur Zieloperation zurückkehrt, wenn sie durch
die Erzeugung von Fehlimpulsen einmal unnötig betrieben wird,
da kein Problem auftritt, wenn die Zieloperation mit dem
Timing einer zunehmenden Flanke des Zeitabschnitts T2
schließlich abgeschlossen wird.
Die Signale mit der Bezeichnung Nr. e2X sind im Zeitabschnitt
T2 aktiv und in Synchronisation mit dem Hilfstakt ΦL. Die
Signale werden in einem Abschnitt verwendet, welcher eine
Schaltung steuert, in welcher ein Fehlimpuls nicht erlaubt
ist. Eine Schaltung, in der ein Fehlimpuls nicht erlaubt ist,
ist beispielsweise die Schaltung zum Steuern des Ladens der
Registerwerte. Wenn bei einer derartigen Schaltung der Fehl
impuls zur Zeit des Ladens des Registerwerts erzeugt wird,
dann wird der zeitweilig vorgeladene Registerbus SEQ-A 25 auf
einen nicht notwendigen Wert entladen und benötigt Zeit, um zu
einem geeigneten Wert zurückzukehren, so daß es nicht erlaubt
ist, den Fehlimpuls zu erzeugen.
Ähnlich sind die Signale mit der Bezeichnung Nr. e6X im Zeit
abschnitt T3 aktiv und in Synchronisation mit dem Hilfstakt
ΦH. Bei diesem Signal, wie beispielsweise bei dem Signal e61
zum Schreiben in das Register, ist es absolut nicht erlaubt,
einen Fehlimpuls zu erzeugen, da die Daten dann in ein
falsches Register geschrieben werden würden, was zu einer
Funktionsstörung führen wurde, wenn der Fehlimpuls erzeugt
werden würde.
Die Signale mit der Bezeichnung Nr. e4X sind in den Zeitab
schnitten T2, T3 aktiv und werden zum Steuern der Schaltung
verwendet, bei welcher in der gleichen Weise wie bei den
Signalen mit der Bezeichnung Nr. e0X ein Fehlimpuls erlaubt
ist.
Daneben werden die Signale mit der Bezeichnung Nr. e8X als
Steuersignale verwendet, die mit einem speziellen Timing er
zeugt sind. Obwohl beispielsweise das in Reaktion auf die
vorstehend genannte Unterbrechung und das Rücksetzen erzeugte
Signal e87 im Zeitabschnitt T2 aktiv ist, da es asynchron zum
Lesen des Programms erzeugt wird, wird es anders als diese
Signale bezeichnet.
Fig. 15A bis Fig. 15P sind Tabellen von Anweisungssätzen der
CPU der ersten Ausführungsform des Mikrocomputers der vor
liegenden Erfindung, welche die Anweisungen und deren Codes
sowie Steuersignale zeigen, welche aktiv werden, wenn
entsprechende Anweisungen ausgeführt werden. Fig. 15A bis
Fig. 15P sind ursprünglich ein Blatt mit Tabellen, bei
welchem Fig. 15A, Fig. 15C, Fig. 15E, Fig. 15G, Fig. 15I,
Fig. 15K, Fig. 15M, Fig. 15O in einer Anordnung von oben
nach unten angeordnet sind und Fig. 15B, Fig. 15D, Fig.
15F, Fig. 15H, Fig. 15J, Fig. 15L, Fig. 15N und Fig. 15P
in einer Anordnung von oben nach unten angeordnet sind und bei
welchem die ersteren Tabellenblätter auf der linken Seite und
die letzteren Tabellenblätter auf der rechten Seite sind.
Auf den Tabellenblättern von ungerader Zahl sind eine Anwei
sungsgruppe, ein mnemonischer Code, eine Funktion und ein 16-
Bitlängen-Anweisungscode in einer von der linken Seitenspalte
ausgehenden Anordnung angegeben, und auf den Tabellenblättern
von gerader Zahl sind die Anweisungsgruppe, der mnemonische
Code und das Steuersignal eXX in einer von der linken Seiten
spalte ausgehenden Anordnung angegeben. Der Inhalt bezüglich
entsprechender Anweisungen ist in Fig. 17A bis Fig. 17E und
in Fig. 18 schematisch dargestellt.
Die Anweisungen STM, BMS und BMC sind Anweisungen zum Aus
statten der Bedingungsentscheidungsschaltung mit einer An
weisung, und sie werden verwendet, wenn über eine Bedingung
entschieden wird. Die in Fig. 18 dargestellten Bezugszeichen
sind Bezugszeichen zum Bezeichnen der in Fig. 15A bis Fig.
15P verwendeten Operanden.
Fig. 16 zeigt die Beziehung der Anweisungscode-Erzeugung in
übersichtlicher Weise. In der Figur sind die Codes in einem
Abschnitt angeordnet, welcher mit Angaben zum Decodieren ver
sehen ist.
Ein derartiger beim Mikrocomputer der vorliegenden Erfindung
verwendeter Anweisungssatz ist gemäß folgenden Gesichtspunkten
ausgebildet, 67615 00070 552 001000280000000200012000285916750400040 0002004420703 00004 67496um die Anweisungsausführungs-Geschwindigkeit zu
verbessern.
- (1) Nichtverwendung einer Operanden-Adreßoperation,
- (2) Nichtverwendung einer Operation zur relativen Adressierung der Verzweigungsanweisung,
- (3) Nichtausführung einer Entscheidung zur bedingten Verzwei gung im Anweisungsdecodierzyklus, und
- (4) im wesentlichen bestehen die meisten Anweisungen aus einer Anweisung/einem Wort (16 Bits) oder können in einem Zyklus zum Holen geholt werden.
Nun dient die Adreßoperation dazu, die Speicheradresse, auf
welche durch ein Indexregister zugegriffen wird, oder eine
Verschiebung während der Ausführung der Anweisung zu hand
haben. Durch Nichtverwenden der Adreßoperation von (1) und (2)
kann in den Basiszyklen des Mikrocomputers ein Zyklus weg
gelassen werden.
Obwohl sich eine Adreßbitbreite gewöhnlich wenigstens über
etwa 16 Bits oder in einigen Fällen über 64 Bits erstreckt,
wenn vorausgesetzt wird, daß für die Übertragungszeit der
Adreßoperation ein Zyklus benötigt wird, wird eine Engstelle
beim Verbessern der Anweisungsausführungs-Geschwindigkeit her
vorgerufen. Da die Programme an einen ROM gebunden sind und in
Steuerprogrammen festgelegt sind, ist das Indexregister und
dergleichen durch vorheriges Optimieren der notwendigen Adreß
operation zur Zeit des Programmierens oder durch Annehmen von
nicht zu groß angelegten Programmen nicht immer notwendig.
Insbesondere wird die nachstehende Anweisung bezüglich (1)
vorgeschlagen, um die Operanden-Adreßoperation nicht zu ver
wenden.
Zunächst sind die Register dazu vorgesehen, durch eine
physikalische Adresse des Registers direkt spezifiziert zu
werden. In dieser Ausführungsform sind die Register in. 64
Räumen angeordnet und durch 6 Bits spezifiziert. Der Grund da
für, daß eine Breite von 6 Bits verwendet wird, besteht darin,
daß eine maximale Bitbreite berücksichtigt wird, welche es er
möglicht, eine Anweisungsbitlänge in einem Wort von (4) anzu
nehmen.
Bei der SET-Anweisung, welche den Direktwert im Register
speichert, sind 8 Bits des 16-Bit-Anweisungscodes belegt, wenn
ein Direktwert mit einer Größe von einem Byte gespeichert
wird, so daß 2 Bits zur Anweisungscode-Identifizierung ver
bleiben, wenn 6 Bits zur Registeradreß-Spezifizierung verwen
det werden. Bei der Register-zu-Register-Übertragungsanweisung
der MOV-Anweisung werden entsprechend 6 Bits (insgesamt 12
Bits) zum Spezifizieren des Quellregisters und des Ziel
registers benötigt, wobei die verbleibenden 4 Bits somit zum
Identifizieren des Anweisungscodes verwendet werden. Im Falle
einer Registeroperationsanweisung, wie beispielsweise der ADD-
Anweisung, verbleiben selbst dann 4 Bits zur Anweisungscode-
Identifizierung, wenn 6 Bits zum Kennzeichnen der Operations
typen verwendet werden. Bei den in den Tabellen der Fig. 15A
bis 15P dargestellten Anweisungssätzen entspricht das den An
weisungen, die mit "source reg", "dest reg", "immediate data",
"calculate type" und so weiter bezeichnet sind.
Anschließend ist es dazu vorgesehen, die Adreßoperation durch
Verwenden einer indirekten Adressierung des Registers unter
Verwendung eines Wertes zu eliminieren, welcher diejenige
Speicheradresse in einem Spezialregister auch für einen
Speichergebietszugriff speichert, auf welche zugegriffen wird.
Bei den in den Tabellen der Fig. 15A bis Fig. 15P darge
stellten Anweisungssätzen entsprechen dem eine Reihe von zur
Operationsgruppe "ext. data operation" gehörenden Anweisungs
gruppen von "SET ext2", Daten und so weiter. In dieser Aus
führungsform sind zwei Register mit "externem Adreßpointer"
(in Fig. 20A bis Fig. 20F mit EAP bezeichnet) enthalten,
wodurch sich das verwendete Speicherregister für eine in
direkte Adresse um ein Bit des "ext"-Bits im Anweisungscode
unterscheidet. Als Speicheradresse, auf die zugegriffen wird,
wird der im Register gespeicherte Wert selbst verwendet. Bei
der praktischen Schaltung weisen die Register mit "externem
Adreßpointer" einen zum in Fig. 7 dargestellten Stackregister
45 äquivalenten Schaltungsaufbau auf, wodurch die Daten
mittels eines E-Busses (SEQ-E) oder eines F-Busses (SEQ-F)
direkt zum Programmzähler 41 (in diesem Falle wirkt dieser als
Speicheradreßpuffer) übertragen werden können. Zur Zeit des
Ausführens der indirekten Adressierung des Registers ist ein
Gatter e61-A offen und fließen Werte der EAP-Register mittels
des E-Busses zur SC-Verriegelungseinrichtung 41.
In diesem Fall wird ein ursprünglicher PC-Wert des Programm
zählers im Ergebnisregister 44 des Programmzählers gehalten.
Ein Mechanismus zum Spezifizieren eines Gatters e65-A oder
e65-B besteht darin, daß das Stackregister direkt hardware
schaltungsmäßig spezifiziert ist, um damit ein Stack 13 oder
14 durch ein Signal e51 oder e52 durch eine Signalleitung zum
"T0-Stack (4)" in einer Schaltung des in Fig. 12A und Fig.
12B dargestellten Anweisungsdecodierers 66 zu spezifizieren.
Um auf das Speichergebiet zuzugreifen, ist ein Zyklus jedoch
nicht ausreichend, sondern ist eine Mehrzahl von Zyklen als
Ausführungszyklen erforderlich, da der Speicherraum mit dem
Programmgebiet 51 übereinstimmt.
Obgleich es im allgemeinen bekannt ist, die Verzweigungsan
weisung zur relativen Adressierung zu verwenden, wird sie in
dieser Ausführungsform nicht verwendet, da sie bei der Adreß
operation auch in diesem Fall Zeit benötigt. Statt dessen sind
die indirekte Verzweigung des Registers der Anweisungen BRT,
BRS, RTS, welche die vorstehend genannten Stackregister ver
wenden, und die der Anweisungen BRC, BRA, JSR, deren direktes
Verzweigungsziel das Operandenbit im Anweisungscode ist, vor
gesehen.
Bei den Anweisungen BRT, BRS, RTS wird der im spezifizierten
"Stack"-Register gespeicherte Wert direkt im Programmzähler
substituiert. Im Falle der BRT-Anweisung werden die 4 Bits der
Bits 5 bis 2 der Anweisungs-Verriegelungseinrichtung mit dem
Ausgang des in Fig. 12A und Fig. 12B gezeigten "T0 Stack
(4)" verbunden und wird das Signal e65 aktiv, um eines der in
Fig. 7 dargestellten Gatter e65-1 bis e65-8 zu öffnen, wo
durch der Stackregister-Wert mittels des E-Busses im Programm
zähler 41 gespeichert wird. Gleichzeitig werden die 4 Bits der
Bits 9 bis 6 der Anweisungs-Verriegelungseinrichtung mit dem
Ausgang des in Fig. 12A und Fig. 12B gezeigten "FROM Stack
(4)" verbunden und wird das Signal e66 aktiv, um eines der in
Fig. 7 dargestellten Gatter e66-1 bis e66-8 zu öffnen, wo
durch der bisher verarbeitete und im Ergebnisregister 44 ge
haltene PC-Wert im separaten spezifizierten Stackregister
mittels des F-Busses gesichert wird.
Auf diese Weise wird eine Art von Anweisung zur Verzweigung in
ein Unterprogramm durch indirekte Spezifizierung eines
Registers in dieser Ausführungsform realisiert. Die andere
BRS-, RTS-Anweisung führt nur eine abgewandelte Operation der
BRT-Anweisung aus. Bei diesen Anweisungen ist es möglich, in
eine Adresse mit einer Breite von 16 Bit, was eine Stack
register-Breite ist, frei zu verzweigen.
Die bedingte Verzweigung der Anweisungen BRC, BRA beruht da
rauf, daß durch Einführen der absoluten Adresse der unteren 9
Bits und eines Konzepts von 512-Byte-Einheitsseiten anstelle
der Operationen mit relativer Adresse vier Arten ihrer eigenen
Seite, Seiten davor und danach und absoluten Nullseite durch
2-Bit-Steuerbits (den Bits 9 und 10 in den Zeilen der BRA, BRC
in Fig. 15A bis 15P zugewiesen) dargestellt werden, wobei 1
Bit der Steuerbits zur bedingten Verzweigung/unbedingten Ver
zweigung (dem Bit 11 in den Zeilen der BRA, BRC in Fig. 15A
bis Fig. 15P zugewiesen) dazu hinzugefügt wird, um einen 12-
Bit-Operanden zur gemeinsamen Verwendung mit den verbleibenden
4 Bits bei der Anweisungs-Identifizierung zu erhalten. Die
relative Adresse kann in einer Einheit von Seiten addiert oder
subtrahiert werden, und diese Inkrementier-/Dekrementier
operation kann durch eine Schaltung realisiert werden, welche
eine Breite verarbeitet, die durch eine Subtraktion von 9 Bits
von einer Adreßbitbreite erhalten wird, womit eine für den
Übertrag benötigte Verzögerungszeit verkleinert werden kann.
Als tatsächliche Schaltung entspricht diesem Steuerabschnitt
ein durch ein Signal e47 in den Tabellen der Fig. 15A bis
Fig. 15P UND-verknüpftes Signal "page activate", und sie ist
vom Ergebnis-H-Register 44H an einem oberen Abschnitt des Er
gebnisregisters 44 getrennt, um die Seitenspezifizierung dem
E-Bus unabhängig zuzuführen. Wohingegen die unteren 9 Bits
derart gehandhabt werden, daß der Adreßwert direkt aus der
Anweisungscode-Verriegelungseinrichtung zugeführt wird. Diese
Operation wird durch ein Steuersignal gesteuert, welches durch
das Signal e63 UND-verknüpft ist.
Um es bei der JSR-Anweisung zu ermöglichen, das die Rückkehr
adresse speichernde Stackregister zu wählen, werden die
unteren 3 Bits zum Spezifizieren des Stackregisters verwendet
und die 10 Bits von den Bits 3 bis 12 zum Spezifizieren der
mit Versetzung oktal vorgesehenen absoluten Adresse des Unter
programms verwendet. Obwohl die Unterprogramm-Anordnung auf
eine Adressenbreite von 13 Bit oder einen 8-K-Wortraum be
schränkt ist, ist sie im Falle eines kleinangelegten Steuer
programms selbst unter dieser Beschränkung ausreichend
praktisch. Mit anderen Worten, der Mikrocomputer der vor
liegenden Erfindung ist bei einem gewissen Abstrich an
Flexibilität eines Allgemeinzweckprogramms für eine hohe Ge
schwindigkeit ausgelegt.
Die JSR-Anweisung wird unbedingt ausgeführt, und die Adresse
der unteren 13 Bits wird dem Programmzähler 41 aus der An
weisungscode-Verriegelungseinrichtung mittels des E-Busses
durch eine durch das Signal e64 gesperrte Schaltung in Fig. 7
direkt zugeführt. Gleichzeitig wird die bisher gehaltene
effektive Adresse aus dem Ergebnisregister 44 mittels des F-
Busses durch das Steuersignal e66 im spezifizierten Stack
register gespeichert. Die Kennzeichnung des Speicher-Stack
registers ist ein Signalpfad aus 3 Bits der Bits 0 bis 2 der
Anweisungs-Verriegelungseinrichtung, welche den "FROM stack
(4)" in Fig. 12A und Fig. 12B durch ein Steuersignal e49
wählt. Zu dieser Zeit ist das niederwertigste 1 Bit auf "1"
festgelegt.
Wie vorstehend beschrieben, wird das Steuersignal eXX in den
Tabellen der Fig. 15A bis Fig. 15P durch Decodieren des An
weisungs-Identifizierungsbitfeldes und eines die Anzahl von
Zyklen zählenden Schaltungsausgangs erzeugt, obwohl die An
weisungscodes aus dem Operandenfeld und dem Anweisungs-
Identifizierungsfeld gebildet sind. Dieses wird nachstehend in
Bezug auf Gegenmaßnahmen zur bedingten Verzweigungsentschei
dung zu beschreiben sein, welches ein drittes Merkmal von Ein
richtungen ist, die mit dem Anweisungssatz im Zusammenhang
stehen.
Dies sind vom Gesichtspunkt des in dieser Ausführungsform ver
wendeten Anweisungssatzes die Einrichtungen zur Hochge
schwindigkeits-Ausführung.
Anschließend wird ein Konzept zum Vorsehen der Anweisungscodes
des Anweisungssatzes dieser Ausführungsform beschrieben. Beim
Mikrocomputer der vorliegenden Erfindung ist eine Anwei
sung/ein Wort ein grundlegendes Konzept, und ferner werden
folgende Punkte berücksichtigt.
- (1) Zuweisen von mehr Operandenbits zum Setzen eines Direkt wertes,
- (2) Zuweisen von mehr Operandenbits zur Verzweigungsanweisung,
- (3) Handhaben ohne Bitverschiebung des Operandenbits, und der Direktwert wird bis zum Äußersten verwendet,
- (4) Festlegen eines spezifizierten Bits der Quellregister- Adresse,
- (5) Festlegen von soviel wie möglich Positionen eines spezi fizierten Bits der Zielregister-Adresse und eines spezifizier ten Bits der Adresse des indirekten Verzweigungsregisters,
- (6) Anhäufen von Steuerbits vom Operationstyp und
- (7) Zuweisen einer eine kleine schädliche Wirkung auf die Aus führung des Programms ausübenden Anweisung zum Anweisungscode von jedem Bit "H".
Fig. 16 ist eine Tabelle, in welcher die Anweisungs-Identi
fizierungsbits der Anweisungssätze in den in Fig. 15A bis
Fig. 15P gezeigten Tabellen entnommen und eingestellt sind.
In Fig. 16 sind nur die Bits mit dem Eingangswert von "1"
oder "0" minimal notwendige Bits zum Identifizieren der An
weisungen.
Um die vorstehend genannten Ziele (1) bis (3) zu erreichen,
sind die Identifizierungsbits vollständig auf das Bit 0 und 1
und das untere Bit 14 und 15 festgelegt. Das heißt, um das
Ziel (3) zu erreichen, haben der 8-Bit-Direktwert der SET-
Anweisung und die unteren 9 Bits des Verzweigungsziels der
BRA-, BRC-Anweisung ihre Bits ausgerichtet, und die unteren 8
oder 9 Bits sind notwendig. Und daher ist es logisch, die Bits
8 bis 13 zur Speicherzielregister-Spezifizierung der SET-An
weisung zu verwenden, und bequem, die MOV-Anweisung zu reali
sieren, wenn umgekehrt die Quellregister-Spezifizierung von
(4) auf der unteren Bitseite ist.
Das Festlegen der Quellregister-Spezifizierung von (4) bedeu
tet, das Quellregister unabhängig von der Anweisungsde
codierung zu spezifizieren, und dient dazu, die Anweisungsaus
führungszeit zu verkürzen. Die in Fig. 12A und Fig. 12B dar
gestellte Erzeugung der Operandenbits wird durch Setzen der
zeitmäßig einfachsten Operation auf der Eingangsseite eines
Fehlerwertes (durch else in der Figur dargestellt) schnell
realisiert. Da sich die Quellregister-Spezifizierung in einer
ersten Prozedur von Anweisungsausführungs-Prozeduren befindet,
ist der Zustand von (4) wesentlich. Wenn nur die MOV-Anweisung
betrachtet wird, dann kann die Quellregister-Spezifizierung an
einer beliebigen Position der unteren 8 Bits sein, wenn jedoch
ferner das Decodieren der anderen Anweisungen, wie beispiels
weise der BRT-, BRS-, RES-Anweisung, betrachtet wird, dann ist
es erwünscht, die 6 Bits der Bits 3 bis 7 zu verwenden. Als
Operationstyp-Spezifizierungscode wird die gleiche Position
wie die der Zielregister-Spezifizierungsbits oder werden die 5
Bits der Bits 8 bis 12 verwendet.
Bezüglich Punkt (7) wird die Anweisung mit kleiner schädlicher
Wirkung durch Zuweisen der MOV-Anweisung der Codezuweisung
unterworfen. Das wird deshalb ausgeführt, da es zum Hochge
schwindigkeits-Lesen vorteilhaft ist, den Datenbus 50 in Ver
bindung mit der Speicher-Leseschaltung auf "H" vorzuladen,
wenn der Speicher in entsprechenden Zyklen gelesen wird, und
im Lesezyklus im Zeitabschnitt T2 wird der Anweisungscode von
allen Bits "H" gelesen. Durch Eingeben vieler "0"en in den
Identifizierungsbits der Anweisung, wie beispielsweise der
RES-Anweisung oder der STP-Anweisung, bei welcher eine große
Wirkung einer Funktionsstörung erwartet wird, der Verzwei
gungsanweisung und so weiter, kann die Möglichkeit einer
Funktionsstörung im Zeitabschnitt T2 verringert werden.
Das Ergebnis des Vorsehens des Anweisungscodes durch Berück
sichtigen der vorstehenden Punkte ist ein Beispiel der in den
Tabellen der Fig. 15A bis Fig. 15P dargestellten Anweisungs
sätze. In dieser Ausführungsform werden verwendbare Codes
nicht vollständig verwendet und wird die nicht festgelegte An
weisungsdecodierung ausgelassen, um die Schaltungen zu ver
kleinern.
Anschließend wird eine Ausführungsform (nachstehend als andere
Ausführungsform der ersten Ausführungsform bezeichnet) des
eine Zustandsentscheidungsschaltung umfassenden Mikrocomputers
als Erfindung gemäß Anspruch 5 beschrieben.
Fig. 19 ist ein Blockschaltbild, welches einen Aufbau der Zu
standsentscheidungsschaltung einer anderen Ausführungsform der
ersten Ausführungsform des Mikrocomputers der vorliegenden Er
findung zeigt.
In Fig. 19 sind mit den Bezugszeichen 101-1 bis 101-15 be
zeichnete 8-Bit-Register Registergruppen, welche als Zustands
entscheidungsziele gewählt werden können. Die Register 101-1
bis 101-15 sind mit einem SEQ-T-Bus durch Schalter 102-1 bis
102-15 entsprechend verbunden und werden durch Signale T00 bis
T14 entsprechend gesteuert. Die Signale T00 bis T14 werden
durch Decodieren eines Signals "Select Reg (4)" 103 erhalten,
und das Zustandsentscheidungs-Zielregister kann durch die An
weisungen BMS, BMC und STM gewählt werden, wie vorstehend be
schrieben.
Auf derartige Weise werden die Ausgänge entsprechender Bits
von einem aus den Registern 101-1 bis 101-5 gewählten Register
den Eingängen von EXNOR-Gattern 104-0 bis 104-7 entsprechend
zugeführt. Die anderen Eingänge der EXNOR-Gatter 104-0 bis
104-7 sind mit den Ausgängen von Vergleichsregistern 105-0 bis
105-7 verbunden, und die Koinzidenz der beiden wird für jedes
Bit entschieden.
Das Bezugszeichen 106 bezeichnet ein Maskenregister. Das Mas
kenregister 106 maskiert die Ausgänge der EXNOR-Gatter 104-0
bis 104-7 durch eine Schaltung 100 und bearbeitet die ganzen 8
Bits für die Verzweigungsbedingungsentscheidung UND-mäßig und
synchronisiert schließlich ferner den Ausgang der Schaltung
100 mit dem Hilfstakt ΦL, und es entscheidet zu steuern, ob
die BRC-Anweisung mit dem Timing T3 verzweigt oder nicht.
Das Maskenregister 106 umfaßt Datensätze 107-0 bis 107-7 und
eine Datenlöschschaltung und funktioniert derart, daß nur ein
spezifiziertes Bit direkt durch ein Steuersignal e70 gesetzt
wird und alle anderen Bits gelöscht werden. Diese Funktion
wird in Reaktion auf die vorstehend genannten Anweisungen BMS,
BMC verwendet. Das Bit wird durch eine Schaltung 108 spezi
fiziert, welche Signale B0 bis B7 erzeugt. Als Eingänge der
Schaltung 108 werden ein Signal "bit decoder (3)" und ein
Bithandhabungs-Steuersignal e41B verwendet. Wenn beispiels
weise das Bit 1 gewählt ist, dann geht nur ein Signal B1B auf
"L", und die sich vom Signal B1B unterscheidenden Signale B0B,
B2B . . . B7B gehen auf "H", und die anderen Bits werden durch
das Signal e70 gelöscht.
Die aus den Registern 101-1 bis 101-15 gebildeten Register
gruppen liegen derart vor, daß das Bitsetzen und das Bit
löschen durch die in Fig. 19 gezeigten Schaltungen bewirkt
wird, abgesehen von dem vorstehend Beschriebenen. Das heißt,
durch das Spezifizieren der vorstehend beschriebenen Schaltung
108 und eines "Zielregisters (6)" 109 kann nur das spezifi
zierte Bit auf einen Pegel geändert werden, welcher aus einem
SEQ-B-Bus mittels zweier Schalter 110 eingegeben wird. Zur Zeit des Ausführens der Bitoperationsanweisung kann das Ziel bit des Zielregisters durch die Anweisungen SEB und CLB ge setzt werden, da die CPU des Mikrocomputers der vorliegenden Erfindung bei der Bitsetzanweisung und der Bitlöschanweisung entsprechende Werte von "FF" und "00" als Ausgang der ALU 22 in den SEQ-B-Bus wirksam eingibt.
SEQ-B-Bus mittels zweier Schalter 110 eingegeben wird. Zur Zeit des Ausführens der Bitoperationsanweisung kann das Ziel bit des Zielregisters durch die Anweisungen SEB und CLB ge setzt werden, da die CPU des Mikrocomputers der vorliegenden Erfindung bei der Bitsetzanweisung und der Bitlöschanweisung entsprechende Werte von "FF" und "00" als Ausgang der ALU 22 in den SEQ-B-Bus wirksam eingibt.
Die Anweisungen BMS und BMC werden durch diese Schaltungs
funktionen ausgeführt. Das heißt, das spezifizierte Bit des
Maskenregisters 106 wird durch ein Signal "Bit Decoder" spezi
fiziert und durch Aktivieren des Signals e70 gesetzt. Eine
Adresse des Vergleichsregisters 105 wird durch das Signal e44B
(vergleiche Fig. 12A und Fig. 12B) zum "Dest Reg" 109 wirk
sam spezifiziert, aus der ALU 22 werden alle "H"- oder alle
"L"-Daten in den SEQ-B-Bus eingegeben, um einen Wert im Ver
gleichsregister 105 (vergleiche Fig. 22, Fig. 15A bis Fig.
15P) zu speichern, und eine Adresse wird gespeichert, welche
dasjenige Register spezifiziert, das in der "Select Reg Latch"
103 mit dem Timing des Signals e69 zu vergleichen ist (ver
gleiche Fig. 12A und Fig. 12B).
Als Ausführungsform der Zielregistergruppen 101-1 bis 101-15
der Zustandsentscheidungsschaltung sind bei den in Fig. 20A
bis Fig. 20F dargestellten Registersätzen insbesondere die
Register gesetzt, deren Adressen "SEQ adrs" 15 aus den
Adressen 01 bis 0F sind. Insbesondere werden die Funktionen
von jedem Bit der Register in Fig. 21A bis Fig. 21L be
schrieben.
Wenn beispielsweise das zu spezifizierende Bit im voraus durch
die Anweisungen BMS und BMC durch Zuweisen des Zeitgeber-Über
laufbits oder des Unterbrechungsanforderungsbits zu den Re
gistergruppen 101-1 bis 101-15 gesetzt wird, durch Bilden
eines Programms wie "QLOOP : BRC LOP", dann ist es im Falle
des Auftretens eines Überlaufs möglich, aus der Warteschleife
in den nächsten Zyklus auszutreten. Das bedeutet, daß eine
Routine mit sehr großer Reaktionsgeschwindigkeit realisiert
werden kann durch Bilden eines Programms, welches auf ein vor
her stattgefundenes Ereignis wartet.
Die in Fig. 20A bis Fig. 20F und Fig. 21A bis Fig. 21L
dargestellten Tabellen der Spezialfunktionsregister werden
nachstehend im besonderen beschrieben. Diese Ausführungsform
ist dazu ausgelegt, um einer Verwendung beim Realisieren von
Sonderfunktionen zur Verarbeitung eines Kommunikations
protokolls unter Verwendung des vorstehend beschriebenen
Mikrocomputers der vorliegenden Erfindung angepaßt zu sein.
Fig. 20A bis Fig. 20F sind ursprünglich ein Blatt mit
Tabellen, welche in einer Anordnung von oben nach unten an
geordnet sind.
Fig. 21A bis Fig. 21L sind ursprünglich ein Blatt mit
Tabellen. Fig. 21A, Fig. 21B, Fig. 21C, Fig. 21D, Fig.
21E und Fig. 21F sind in einer Anordnung von oben nach unten
angeordnet, und Fig. 21G, Fig. 21H, Fig. 21I, Fig. 21J,
Fig. 21K und Fig. 21L sind in einer Anordnung von oben nach
unten angeordnet, und die ersteren Tabellenblätter sind auf
der linken Seite und die letzteren Tabellenblätter auf der
rechten Seite.
Im Mikrocomputer der vorliegenden Erfindung wird selbst ein
Frame-Protokoll in einem Multi-Master-Bus-Kommunikationssystem
verarbeitet, wobei seine Funktion zur Verarbeitung mit hoher
Geschwindigkeit gute Verwendung findet.
Insbesondere ist er derart ausgebildet, daß selbst Verarbei
tungen einer Entscheidung, einer Daten-Wiederholung, einer
Frame-Wiederholung und dergleichen durch Programme und Soft
ware gehandhabt werden können. Im Falle nur eines Programms
ist für Abschnitte mit kleiner Verarbeitungsgeschwindigkeit
eine Sonderschaltung hinzugefügt, um durch eine Hardware zu
kompensieren. Ein mit einer Kommunikationsfunktion und einer
Steuerfunktion versehener Mikrocomuter, der auf einem Chip
integriert ist, kann realisiert werden durch Verwenden eines
Aufbaus auf einem Chip, bei welchem zwei Mikrocomputer auf
einem Chip vorgesehen sind, wobei der Hochgeschwindigkeits-
Mikrocomputer der vorliegenden Erfindung als einer der Mikro
computer zur Sonderkommunikations-Verarbeitung als Sub-MCU
verwendet wird und ein herkömmlicher Mikrocomputer als
weiterer Mikrocomputer verwendet wird, um die Funktionen der
art wie eine Mensch-Maschine-Schnittstelle oder eine mechani
sche Steuerung zu programmieren.
Fig. 20A bis Fig. 20F sind Tabellen von Registergruppen,
welche in einem Registerraum in der CPU des Mikrocomputers
dieser Ausführungsform angeordnet sind.
Der Registerraum ist als Raum von maximal 64 Adressen festge
legt, welche durch 6-Bit-Registeradressen spezifiziert sind.
Das zu handhabende Register kann durch einen 6-Bit-Code spezi
fiziert sein, welcher das Quellregister, das Zielregister und
so weiter im Anweisungscode spezifiziert. In den Figuren ent
spricht eine Spalte "SEQ adrs" der Registeradresse. Die Spalte
der "SEQ adrs" ist die Adresse, welche zur Zeit des Zugreifens
von der Haupt-CPU-Seite verwendet wird, und "verborgen" in der
Spalte bedeutet, daß aus der Haupt-CPU nicht auf sie zuge
griffen werden kann. Lokale Adressen "local adrs" sind ferner
auf der Haupt-CPU-Seite vorgesehen, um Adreßraum zu sparen.
Durch Verwenden von Registern, auf welche aus den beiden CPUs
als Einrichtung zum Übergeben und Empfangen von Daten zuge
griffen werden kann, ist ein schwach gekoppeltes Doppel-Pro
zessorsystem realisiert.
In der nachstehenden Beschreibung wird die Registeradresse auf
der Sub-CPU-Seite der Spalte "SEQ adrs" beschrieben, wenn
nicht anders vorgesehen.
Obwohl der Registerraum auf 64 Adressen festgelegt ist, ist
nur das unter der Adresse "3F" angeordnete Zwischenregister
eine Besonderheit und, wie nachstehend beschrieben, ist nur
die Schreibseite von einer Registerdatenangabe auch Adressen
"1E" und "1F" zugewiesen, so daß die hochwertigen Bytes und
die niederwertigen Bytes vertauscht werden können. Schematisch
sind das die Register, die durch mit einem Kreis versehene
Bezugszeichen 12 und 13 in nachstehend zu beschreibender Fig.
27A und Fig. 27B dargestellt sind, und obwohl nur die Adresse
"3F" zur Lesezeit gelesen wird, werden zur Schreibzeit im
Falle des Registers, das durch das mit einem Kreis versehene
Bezugszeichen 13 bezeichnet ist, die Daten von einem Schreib
bus für niederwertige Bytes SEQ-B geschrieben, wenn die
Adresse "1F" spezifiziert ist, obgleich die Daten von einem
gewöhnlichen Bus für hochwertige Bytes SEQ-D geschrieben wer
den, wenn die Adresse "3F" spezifiziert ist.
Das Maskenregister 106 für die Anweisung zur bedingten Ver
zweigung ist der Adresse "0" zugewiesen, und das Vergleichs
register 105 für eine Anweisung zur bedingten Verzweigung ist
der Adresse "10" zugewiesen. Bei Festlegung der Funktions
register in Reaktion auf eine andere Verwendung werden die
anderen 59 Adressen verwendet.
Die 32 Register der Adressen "00" bis "1F" sind Register mit
der Größe von einem Byte, wodurch zur Zeit des Ausführens der
Operationsanweisung und dergleichen in Verbindung mit dem An
weisungscode die Byte-Operation automatisch gewählt wird. Bei
diesen sind die 16 Register der Adressen "0" bis "0F" die
Register, welche zu einer Entscheidung zur bedingten Verzwei
gung besonders in der Lage sind. Die 32 Register der Adressen
"20" bis "3F" sind Register mit der Größe eines Wortes. Bei
diesen sind die 14 Register der Adressen "30" bis "3D" ferner
mit dem Programmzähler mittels des SEQ-E-Busses und des SEQ-F-
Busses verbunden.
Bei diesen Registern gibt es folgende zu beschreibende Typen.
- (1) Eine Registergruppe einer Datenbus-Boxtyp-Byteeinheit, einer Worteinheit oder eines FIFO-Typs, welche zu und aus der Haupt-CPU Daten übergeben und empfangen. In Abhängigkeit von den Registern wird im voraus eine Datenübertragungsrichtung aus der Haupt-CPU in die Sub-CPU oder umgekehrt bestimmt und sind hardwaremäßige Verbindungen vorhanden.
Schematisch weisen die in Fig. 27A und Fig. 27B dargestell
ten Register, welche durch die mit einem Kreis versehenen Be
zugszeichen 6 und 7 bezeichnet sind, derartige Funktionen auf.
In der Figur bezeichnet CPU-L einen lokalen Bus, welcher mit
der Haupt-CPU verbunden ist und durch ein Signal CXXC oder ein
Signal CXXS verriegelt wird, um zwischen der Verriegelung
Daten zu übergeben und zu empfangen. Das Register, welches
durch das mit einem Kreis versehene Bezugszeichen 6 gekenn
zeichnet ist, ist dasjenige von der Haupt-CPU zur Sub-CPU, und
das Register, welches durch das mit einem Kreis versehene Be
zugszeichen 7 gekennzeichnet ist, ist dasjenige von der Sub-
CPU zur Haupt-CPU, und diese Register befinden sich in einem
Doppelverriegelungs-Aufbau, um die Schreibtimings der beiden
CPUs zu synchronisieren. Ein die Doppelverriegelungen ver
bindender Datenbus wird durch ein Steuersignal HXX verriegelt,
um das Auftreten einer Datenänderung auf der Leseseite infolge
des Verlierens von Daten beim Schreiben zu verhindern. Obwohl
die leseseitige Verriegelung nur zum Lesen dient, kann die
schreibseitige Verriegelung auch gelesen werden.
- (2) Ein Zeitgeber-Funktionsregister: Zeitgeber 1/Zeitgeber 2 der Adressen "2A" und "2B",
- (3) ein Übertragungs- und Empfangsdaten- Funktionsregister:
TXD-Daten, RXD-Daten usw. der Adressen "1A" bis "1D", - (4) ein Unterbrechungs-Steuerregister: SEQ int req, SEQ int enable der Adressen "0A" und "0B",
- (5) ein Operations-Flagregister: ALU-Flag der Adresse "0E" und
- (6) ein Funktionsschaltungs-Steuerregister: Adressen "01" bis "09".
Bezüglich detaillierter Funktionen der entsprechenden Bits
wird auf Fig. 21A bis Fig. 21L Bezug genommen.
Diesen Funktionsregistern sind im Falle eines FIFOs die Bits
zugewiesen, welche den Status anzeigen, wie beispielsweise
eine Datenvollheit, eine Datenleerheit und so weiter, oder das
Steuerbit der FIFO-Löschung ist zugewiesen.
In den Spalten "Typ" der Fig. 21A bis Fig. 21L sind die Be
zugszeichen dargestellt, die mit dem Typ der in Fig. 26A bis
Fig. 26D, Fig. 27A und Fig. 27B verwendeten Register ver
knüpft sind. In Abhängigkeit von entsprechenden Funktionen
dient es den Bits zum Übergeben und Empfangen von Daten an die
und aus der Haupt-CPU und zum Steuern der Funktionsblöcke und
zum Lesen des Status. Das geeignete Register wird wie bei der
Verwendung gefordert gewählt, wobei beispielsweise nicht nur
aus dem Registerbus des Mikrocomputers auf dasselbe zuge
griffen wird, sondern ein Einzelimpuls beim Schreiben erzeugt
wird oder ein Pegelsignal ausgegeben wird, um die Funktions
blöcke zu steuern, oder das Pegelsignal nicht aus der Ver
riegelung im Takt geholt wird, sondern aus den Funktions
blöcken.
Um eine Codelänge des Anweisungscodes zu sichern, werden nicht
zu viele Register bei der Auswahl des Zielregisters der Zu
standsentscheidungsschaltung gewählt. Wenn jedoch das Verwen
dungsgebiet des Mikrocomputers auf das Bestimmen eines ge
eigneten Funktionsregisters im voraus spezialisiert ist, dann
kann eine geeignet und schnell auf entsprechende Gebiete
reagierende Zustandsentscheidungsschaltung leicht vorgesehen
werden.
Anschließend wird unter Bezugnahme auf die in Fig. 22 und
Fig. 23 dargestellten Blockschaltbilder ein Beispiel eines
Aufbaus der ALU 22 einer anderen Ausführungsform der ersten
Ausführungsform des Mikrocomputers der vorliegenden Erfindung
beschrieben. Fig. 22 ist ein Blockschaltbild, welches den
Aufbau für die unteren 8 Bits der ALU 22 zeigt, und Fig. 23
ist ein Blockschaltbild, welches den Aufbau für die oberen 8
Bits der ALU 22 darstellt.
Bevor der Betrieb des Hauptteils der ALU 22 beschrieben wird,
wird zunächst der Betrieb des in dieser Ausführungsform ver
wendeten Zwischenregisters 21 beschrieben.
In Fig. 22 bezeichnet das Bezugszeichen 120L die 8 Bits auf
der unteren Seite des Zwischenregisters 21. Wenn eine
Register-Spezifizierungsadresse "3F" lautet, dann werden aus
einer die unteren 8 Bits eines Registerbusses 26 führenden
SEQ-B-Leitung durch einen Eingangsschalter 121-1 Daten zuge
führt. In diesem Fall werden gleichzeitig auch die oberen 8
Bits in die obere Seite 120H des Zwischenregisters 21 ge
schrieben. Ein Eingangsschalter 121-2 weist eine besondere
Funktion auf. Wenn die Register-Spezifizierungsadresse "1E"
lautet, dann empfängt er einen Dateneingang aus einer die
oberen 8 Bits des Registerbusses 26 führenden SEQ-D-Leitung
und ist dazu in der Lage, ein höherwertiges Byte auf dem Bus
in das Zwischenregister 21 als Daten eines niederwertigen
Bytes einzugeben.
In Fig. 23 bezeichnet das Bezugszeichen 120H die 8 Bits auf
der oberen Seite des Zwischenregisters 21. Wenn die Register-
Spezifizierungsadresse "3F" lautet, dann werden aus der die
oberen 8 Bits des Registerbusses 26 führenden SEQ-D-Leitung
durch einen Eingangsschalter 121-4 Daten zugeführt. In diesem
Fall werden gleichzeitig auch die unteren 8 Bits in die untere
Seite 120L des Zwischenregisters geschrieben. Ein Eingangs
schalter 121-3 weist eine besondere Funktion auf: Wenn die
Register-Spezifizierungsadresse "1F" lautet, dann empfängt er
einen Dateneingang aus einer die unteren 8 Bits des Register
busses 26 führenden SEQ-B-Leitung und ist dazu in der Lage,
ein niederwertiges Byte auf dem Bus in das Zwischenregister 21
als Daten eines hochwertigen Bytes einzugeben.
Obwohl das Zwischenregister 21 im wesentlichen ein Register
mit einer Länge von 16 Bit ist, umfaßt es 3 Adressen "3F",
"1E" und "1F", wodurch drei Handhabungsarten des gewöhnlichen
Schreibens von Daten, der Datenübertragung aus dem hoch
wertigen Byte in das niederwertige Byte und aus dem nieder
wertigen Byte in das hochwertige Byte möglich sind. Da insbe
sondere diese Handhabungen möglich sind, ohne den Spezialan
weisungscode zu vergrößern, ist es möglich, die Schaltung des
Anweisungsdecodierers zu vereinfachen, und das ist vorteilhaft
beim Erleichtern des Entwurfs, wenn eine Kombination von An
weisungscodes betrachtet wird.
Zur weiteren Beschreibung wird nun zur Fig. 22 und Fig. 23
zurückgekehrt, wobei die Bezugszeichen 122L und 122H Schalter
bezeichnen, welche den Eingängen des ALU-Hauptteils 125L, 125H
auf der Seite des Zwischenregisters 21 "0" zuführen und welche
durch entsprechende Signale e00B und e01B gesteuert werden und
gewöhnlich mit der "0" zuführenden Seite verbunden sind, doch
wenn sich die Signale e00B und e01B auf "H" ändern, dann
werden sie mit der Seite des Zwischenregisters 120L, 120H ver
bunden. Signale, die sich für obere und untere Verwendungen
unterscheiden, werden als diese Steuersignale verwendet.
Durch mit den Bezugszeichen 123L, 123H bezeichnete Schalter
und einen Inverter wird eine Funktion gebildet, welche durch
Signale e04 und e0F gesteuert wird, um die dem ALU-Hauptteil
125L, 125H zuzuführenden Daten zu invertieren.
Wird das Vorstehende zusammengefaßt, dann ist die dem einen
Eingang des ALU-Hauptteils 125L, 125H zuzuführende Datenangabe
der Wert des Zwischenregisters 120L, 120H oder "0", oder sein
invertierter Wert, und das Zwischenregister 120H für das hoch
wertige Byte und das Zwischenregister 120L für das nieder
wertige Byte können separat gesteuert werden.
Die Bezugszeichen 124L, 124H bezeichnen Schalter, welche die
den Eingängen auf der anderen Seite des ALU-Hauptteils 125L,
125H zuzuführenden Daten steuern und durch entsprechende
Signale e02 und e03 gesteuert werden, wodurch es möglich ist
zu wählen, ob die aus dem Register mittels der Leitungen SEQ-A
und SEQ-C gelesenen Daten einzugeben sind oder ob "0" wirksam
einzugeben ist.
Durch die beiden in der vorstehend beschriebenen Weise erhal
tenen Eingänge werden die Operationen im einen Volladdierer
umfassenden ALU-Hauptteil 125L, 125H bewirkt. Addition (ADD),
logisches Produkt (AND) und logische Summe (OR) werden durch
Signale e07 und e08 umgeschaltet. Eine logische Negation (NOT)
von Daten kann durch ein Signal e06B gewählt werden, und eine
exklusive logische Summe (EXOR) wird durch das Signal e0F aus
geführt. Eine Subtraktion wird durch Kombinieren der vor
stehend beschriebenen Inversionssteuerung der niederwertigen
Seite 120L und der hochwertigen Seite 120H des Zwischen
registers 21 und der nachstehend zu beschreibenden Übertrags-
Steuerung realisiert. Wenn das Operationsergebnis der ALU 22
in allen Bits "0" ist, dann wird ein Nullflag gesetzt.
Anschließend wird die Übertrags-Flagsteuerung beschrieben.
Obwohl es Operationen mit Übertrag und solche ohne Übertrag
bei der Addition und Subtraktion gibt, ist es in dieser Aus
führungsform möglich zu wählen, entweder das Übertragsflag
durch ein Signal e0DB einzugeben oder ein Signal e05 direkt
einzugeben. Im Falle einer Addition ohne Übertrag ist das
Signal e05 auf "L" gebracht, um die Addition zu handhaben, und
im Falle einer Subtraktion ohne Übertrag kann das Signal e05
auf "H" gebracht sein, um einen Datenpfad aus dem Zwischen
register 21 durch die Signale e04 und e0F für eine ADD-
Operation zu invertieren. Bei der Inkrementierverarbeitung
kann das Signal e05 auf "H" gebracht sein, um zu dem einen
Eingang des ALU-Hauptteils 125 durch die Signale e00B und e01B
für eine ADD-Operation "0" einzugeben. Bei der Dekrementier
verarbeitung kann es durch Setzen des Signals e05 auf "L" und
Eingeben von "FFFF" zu dem einen Eingang des ALU-Hauptteils
125 durch die Signale e00B und e01B, e04, e0F realisiert
werden. Die Übertragflags zur Zeit der Addition und Sub
traktion sind im Pfad eines Schalters 126L und 126H gesetzt.
Im Falle einer 8-Bit-Operation wird ein Signal e03B "H", um
den Schalter 126L festzulegen, und im Falle einer 16-Bit-Wort-
Operation steht das Signal e03B auf "1L", um den Schalter 126H
festzulegen.
Eine Schiebeoperation wird durch eine Schiebeschaltung 127
verarbeitet. Ein Datenpfad wird aus vier Datenpfaden gewählt:
Der Ausgang der ALU 22 wird durch Signale e09 und e0A im Takt
ausgegeben, oder die Daten des SEQ-A und des SEQ-C werden die
ALU 22 überbrückend im Takt ausgegeben, oder sie werden durch
Verschieben um 1 Bit nach rechts ausgegeben, oder sie werden
durch Verschieben um 1 Bit nach links ausgegeben. In der
Schiebeschaltung 127 sind zur Zeit entsprechender Ver
schiebungen Kombinationen einer Verschiebung mit Übertrag,
einer Verschiebung mit "0"-Einfügung, einer Rechts- und Links
verschiebung, einer 8-Bit-Verschiebung und einer 16-Bit-Ver
schiebung realisiert, und die entsprechend darauf reagierenden
Schaltergruppen von 127 werden funktionsmäßig gesteuert. Der
Ausgang der Schiebeschaltung 127 wird durch ein Signal e23
gesteuert und in einer Operationsergebnis-Verriegelungsein
richtung 23L, 23H gespeichert, und die Ausgänge der Ver
riegelungseinrichtung 23L, 23H treiben immer die Register
schreibbusleitung SEQ-B, SEQ-D.
Die ALU 22 gemäß der Erfindung nach Anspruch 13 ist durch Bei
fügen von in Fig. 24 und Fig. 25 dargestellten Ver
riegelungseinrichtungen 130L, 130H zur vorhergehenden Stufe
von Schaltern 124L, 124H zusätzlich zum in Fig. 22 und Fig.
23 gezeigten Aufbau realisiert.
Die Verriegelungseinrichtungen 130L, 130H empfangen die Daten
der Busse SEQ-A und SEQ-C durch Eingangs-Steuerschalter 131L,
131H und verriegeln die Daten mit dem Timing des Hilfstaktes
ΦL. Die Timings der verschiedenen ALU-Steuersignale vom Signal
e00 bis zum Signal e0F müssen erneut bestimmt werden, um in
den Zeitabschnitten T2 und T3 nacheinander aktiv zu werden,
und das das Timing zum Halten eines Ergebnisses steuernde
Signal e23 muß ferner verändert werden, um im Zyklus T3 wirk
sam zu werden.
Fig. 26A bis Fig. 26D, Fig. 27A und Fig. 27B sind sche
matische Darstellungen, welche Beispiele von Zellfunktionen
verschiedener Steuerbits zum Erleichtern einer ASIC-Er
weiterung zeigen, welche eine auf die Erfindung gemäß Anspruch
17 bezogene Ausführungsform ist. Insbesondere realisiert die
hier dargestellte Zelle verschiedene Funktionen, welche wirk
sam sind, wenn der Mikrocomputer der vorliegenden Erfindung
als Sub-CPU-Seite der durch einen Aufbau auf einem Chip re
alisierten Doppel-CPU vorgesehen ist.
In Fig. 26A bis Fig. 26D, Fig. 27A und Fig. 27B wurden die
Busse SEQ-A, SEQ-B und SEQ-T bereits beschrieben.
Ein CPU-L-Bus ist ein Datenbus, der mit der Haupt-CPU verbun
den ist, und die damit verbundenen Registergruppen sind dazu
vorgesehen, um als Schnittstellenregister mit der Haupt-CPU
verwendet zu werden.
Die Kreise in der Figur zeigen Schalter, welche die Register
und die Busse verbinden, und Signale LXX, SXX und so weiter
werden wirksam, wenn auf die Zielregisteradressen zugegriffen
wird. Die Signale XX dienen als entsprechende Register
adressen. Das im Typ-A-Register verwendete Signal GXX ist das
Signal, welches zur Zeit des Übergebens und Empfangens von
Daten synchronisiert ist, wobei der Fall angenommen ist, in
welchem die beiden CPUs nicht synchronisiert arbeiten. Die
leeren quadratischen Kästen stellen einfache Verriegelungen
dar, und die schraffierten quadratischen Kästen bedeuten
Funktionsschaltungen. Durch Ändern der Kombinationen der
Registergruppen in Reaktion auf die Verwendungen kann der
Mikrocomputer der vorliegenden Erfindung derart vorgesehen
sein, daß er dem ASIC angepaßt ist.
In der Ausführungsform des Mikrocomputers der vorliegenden
Erfindung ist angenommen, daß die Registerzellen in die Zu
standsentscheidungsschaltung mit leichter Bithandhabung ein
gebaut sind.
Fig. 28 ist ein Schaltbild, welches ein Beispiel eines
speziellen Schaltungsaufbaus der in der vorstehend genannten
Fig. 26A bis Fig. 26D und Fig. 27A, Fig. 27B dargestellten
Zellen zeigt.
Diese Schaltung ist dadurch gekennzeichnet, daß die Register
busse, wie beispielsweise SEQ-B, SEQ-A und so weiter, in
Aluminiumverdrahtung als Paar von TRUE (wahr) und BAR (falsch)
ausgelegt sind und die Schalter zu den entsprechenden
Registern nur durch Kombination von N-Kanal-Transistoren re
alisiert sind. Obwohl eine Schreibleitung zu den Registern ein
direkter Pegeleingang vom Transmissions-Gattertyp in die Ver
riegelungseinrichtungen vom RAM-Typ ist, ist ferner eine Lese
leitung derart vorgesehen, daß die RAM-Verriegelungsdaten ein
mal durch einen Gattereingang empfangen werden und einer
Impedanzumwandlung unterworfen werden, bevor die SEQ-A-Leitung
getrieben wird.
Durch ein derartiges Schaltungssystem ist es möglich, dasselbe
derart auszubilden, daß in der Leitungskapazität der SEQ-A-
Leitung beim Lese-Timing angesammelte Restladungen keine
schädlichen Wirkungen auf den Registerpegel ausüben. Das
heißt, obwohl bei einigen herkömmlichen Verfahren die Lese
leitung auch ein direkter Pegelausgang vom Transmissions-
Gattertyp aus den Verriegelungseinrichtungen vom RAM-Typ ist,
bestand aus diesem Grund die Möglichkeit, daß die in der Lei
tungskapazität angesammelten Ladungen umgekehrt fließen, um
die Registerwerte zu invertieren.
Fig. 29 ist ein Schaltbild, welches ein weiteres Beispiel
eines Aufbaus der Funktionszellen zeigt, in welchen ein
Einzelimpuls von einem Zyklus erzeugt wird, wenn eine "1" in
das Bit geschrieben wird.
Fig. 30 ist ein Schaltbild, welches ein Beispiel des Aufbaus
einer Funktionszelle darstellt, welche ein Statussignal
empfängt, das aus den in Fig. 28 und Fig. 29 gezeigten
Funktionsblöcken ausgegeben wird, bei welcher deren Impedanz
isolation selbst dann durch Eingeben des Gattersignals er
reicht wird, wenn die Entwurfspositionen der Funktionsblöcke
einen Abstand aufweisen.
Beim in Fig. 4 gezeigten Timing-Entwurf des Mikrocomputers
der vorliegenden Erfindung, wie vorstehend im einzelnen be
schrieben, besteht nun die Möglichkeit des Fehlens eines
Spielraums der Operationsgeschwindigkeit, obwohl es möglich
ist, eine Anweisung in einem Zyklus auszuführen.
Insbesondere im in Fig. 4 gezeigten Zeitabschnitt T2 werden
Schaltungsverzögerungen angesammelt, da vier Handhabungsarten
vom Holen des Anweisungscodes, Decodieren der Anweisung, Laden
des Operanden aus dem Zielregister bis zur Operation ausge
führt werden. Und daher wird eine obere Grenze der Operations
geschwindigkeit durch den Zeitabschnitt T2 als Engstelle be
schränkt. Insbesondere ist im Gegensatz dazu bei der eine hohe
Geschwindigkeit bezweckenden vorstehend genannten Ausführungs
form die Verarbeitungskapazität nicht voll ausgeschöpft, da es
Zeit erfordert, die Daten aus dem Speicher zu lesen und die
Operation auszuführen.
Daher besteht eine Aufgabe darin, eine größere Leistungs
fähigkeit zu realisieren durch weiteres Unterteilen der im
Zeitabschnitt T2 auszuführenden Verarbeitung der vorstehend
genannten Ausführungsform und, in der folgenden Ausführungs
form, durch Holen des Anweisungscodes und Decodieren eines
Teils der Anweisung im Zeitabschnitt T2, Laden des Operanden
aus dem Register und Ausführen der Operation im Zeitabschnitt
T3 und Speichern des Operationsergebnisses im Zielregister im
Zeitabschnitt T4, wodurch die entsprechenden Verarbeitungs
zeiten auf entsprechende Zeitabschnitte verteilt werden, um
die Belastung auszugleichen.
Die Ausgabe der effektiven Adresse im Zeitabschnitt T1 ist der
in der vorstehend genannten Ausführungsform ähnlich. Das
Merkmal des Durchführens der Verzweigungsziel-Adreßoperation
der Verzweigungsanweisung in den Zeitabschnitten T2 und T3 in
der gleichen vorstehenden Weise und des Ausführens selbst der
Verzweigungsanweisung in einem Zyklus wird auch in dieser Aus
führungsform beibehalten.
Fig. 31A und Fig. 31B zeigen Timing-Darstellungen von einem
Basiszyklus einer Anweisungsausführungs-Sequenz einer CPU
einer zweiten Ausführungsform des Mikrocomputers der vor
liegenden Erfindung.
Da in Fig. 31A und Fig. 31B die mit den Bezugszeichen 1 bis
6 bezeichneten Timings eines Basistakts Φ, eines Hilfstakts
ΦH, eines Hilfstakts ΦL, eines Lesens von Daten, einer Adreß
ausgabe und eines Holens eines Anweisungscodes die gleichen
sind wie bei der vorstehend genannten ersten Ausführungsform,
ist deren Beschreibung ausgelassen.
Die diese zweite Ausführungsform und die vorstehend genannte
erste Ausführungsform unterscheidenden Punkte sind durch das
Bezugszeichen 7 (7-1, 7-2) und die darauffolgenden Bezugs
zeichen bezeichnet. Nachstehend werden die Timing-Dar
stellungen der Reihe nach beschrieben, wobei Bezug genommen
wird auf das Blockschaltbild der Fig. 32, welches ein
Beispiel eines speziellen Aufbaus der CPU dieser zweiten Aus
führungsform zeigt.
In dieser Ausführungsform ist eine Operanden-Verriegelungsein
richtung durch Doppelstufen-Halbverriegelungseinrichtungen 56A, 56B
ausgebildet und mit einem Operations-Timing einer mit
dem Bezugszeichen 7-1 bezeichneten ersten Anweisungscode-Ver
riegelungseinrichtung und mit einem Operations-Timing einer
mit dem Bezugszeichen 7-2 in Fig. 31A bezeichneten zweiten
Anweisungscode-Verriegelungseinrichtung zugeordnet.
Die erste Operationscode-Verriegelungseinrichtung 56A hält den
Wert, der an einen Datenbus (SEQ 15 bis 0) 50 aus einem
Programmspeichergebiet 51 bei jedem Speicherlese-Timing im
Zeitabschnitt T2 ausgegeben wird. Im darauffolgenden Zeitab
schnitt T3 wird der durch die erste Operationscode-Ver
riegelungseinrichtung 56A gehaltene Wert zur zweiten
Operationscode-Verriegelungseinrichtung 56B gesendet und durch
dieselbe gehalten. Doch der gehaltene Inhalt der zweiten
Operationscode-Verriegelungseinrichtung 56B liegt derart vor,
daß bei einer Anweisung mit einem Ausführungszyklus von zwei
oder mehr Zyklen der Anweisungscode solange kontinuierlich ge
halten wird, wie durch das Bezugszeichen 7-b bezeichnet, bis
die Anweisung ausgeführt worden ist.
Die Bezugszeichen 8-1, 8-2 bezeichnen Timings, welche ver
schiedene Steuersignale eXX zum Ausführen der Anweisung in
Reaktion auf die Ausgänge der vorstehend genannten ersten und
zweiten Operationscode-Verriegelungseinrichtung 56A, 56B er
zeugen. Da die Steuersignale in entsprechenden Phasen erzeugt
werden, werden ein Signal, das anzeigt, welche Phase der
Phasen entsprechenden Anweisungen vorliegt, und ein Ausgangs
signal eines Zykluszählers 66 in dieser Ausführungsform
parallel eingegeben, wie in Fig. 32 dargestellt.
Anschließend wird das Holen des Operanden nach dem Decodieren
der Anweisung ausgeführt. Wie durch das Bezugszeichen 9-1 dar
gestellt, wird die Registeradresse eines den Operanden hal
tenden Quellregisters in den Zeitabschnitten T2, T3 aktiviert.
Die Daten werden im Zeitabschnitt T3 mit einem durch das Be
zugszeichen 9-2 bezeichneten Timing gelesen. Da ein Signal des
Timings 9-1, bei welchem die Registeradresse spezifiziert
wird, durch Anhäufen aus dem Speicherlese-Timing verzögert
wird, wird ein Adreßsignal zu Zeitpunkten von 20 bis 40 ns im
Zeitabschnitt T2 bestimmt. Somit kann durch Ausführen des
Lesens der Registerdaten im darauffolgenden Zeitabschnitt T3
ein Timing-Spielraum beträchtlich verbessert werden, wodurch
eine Hochgeschwindigkeits-Verarbeitung möglich ist. Das ist
der sich von der ersten Ausführungsform unterscheidende Punkt.
Die aus dem Quellregister im Zeitabschnitt T3 gelesenen
Operandendaten werden in einer Vor-Verriegelungseinrichtung 28
an einer Eingangsseite der ALU 22 mit einem durch das Bezugs
zeichen 10-1 bezeichneten Timing gehalten. Ein Punkt, der den
Aufbau der zweiten Ausführungsform und den der vorstehend ge
nannten ersten Ausführungsform unterscheidet, besteht darin,
daß die Vor-Verriegelungseinrichtung 28 an einer Eingangsseite
der ALU 22 vorgesehen ist und die in Fig. 22 dargestellte Er
gebnis-Verriegelungseinrichtung 129 entfernt ist.
Durch die Vor-Verriegelungseinrichtung 28 ist es möglich, die
Operandendaten während des Betriebs der ALU 22 in den Zeitab
schnitten T3 und T4 kontinuierlich zu halten. Somit ist die im
wesentlichen für die ALU 22 erlaubte Operationszeit im Ver
gleich zur ersten Ausführungsform mehr als doppelt so groß,
und ein Geschwindigkeitsspielraum kann erweitert werden.
Die Operationsergebnis-Speicherverarbeitung durch die ALU 22
wird mit einem mit dem Bezugszeichen 11-2 bezeichneten Timing
im Zeitabschnitt T4 ausgeführt, und eine Reihe von Hauptver
arbeitungen der Anweisung werden abgeschlossen. Die Speicher
register-Spezifizierung besteht darin, daß die Registeradresse
in einem durch das Bezugszeichen 11-1 bezeichneten Zeitab
schnitt ausgegeben wird und die Daten im spezifizierten
Register gespeichert werden, nachdem dieser Wert festgelegt
worden ist.
Das "Lesen des Registers", die "Operation" und das "Zurück
schreiben" wird bei jeder Flanke des Basistakts Φ durch eine
einfache Pipelineverarbeitung ausgeführt und eine Hochge
schwindigkeits-Verarbeitung realisiert, da das Lesen und
Schreiben im Register den Abschnitten "H" und "L" des Taktes
in den Zeitabschnitten T3 und T4 zugewiesen ist, wie vor
stehend festgestellt.
Die durch die Bezugszeichen 9-1, 9-2 bezeichneten Steuer
signale der Lesezyklen der Quellregister werden aus einem Aus
gang der ersten Operationscode-Verriegelungseinrichtung 56A
erzeugt, und die durch das Bezugszeichen 10-1 bezeichneten
Steuersignale zum Betrieb der ALU 22 sowie die Handhabung des
durch das Bezugszeichen 11 bezeichneten Zurückschreibens in
das Speicherregister werden aus einem Ausgang der zweiten
Operationscode-Verriegelungseinrichtung 56B erzeugt. Dieser
Punkt ist nachstehend zu beschreiben.
Ein typisches Beispiel einer Datenoperation in der zweiten
Ausführungsform ist vorstehend beschrieben worden, und an
schließend wird ein Überblick über das Programmsteuer-Timing
bezüglich des Programmzählers gegeben.
Obwohl die Steuerung des Programmzählers 40 durch das Bezugs
zeichen 12 bezeichnet ist, ist sie im wesentlichen der der
ersten Ausführungsform ähnlich. Zur Zeit des Ausführens der
Verzweigungsanweisung, nachdem das Decodieren der Anweisung im
Zeitabschnitt T2 ausgeführt ist, wird das die Verzweigungs
zieladresse speichernde Register spezifiziert und wird an
stelle eines durch das Bezugszeichen 12b bezeichneten Wertes
"PC+ 1" die Verzweigungszieladresse mit einem durch das Be
zugszeichen 12c bezeichneten Timing in den Programmzähler ge
laden, wie durch das Bezugszeichen 12d bezeichnet. Zum Aus
führen einer Anweisung in einem Zyklus unterscheidet sich in
dieser Weise das Timing der Verzweigungsanweisung an sich
nicht von dem der ersten Ausführungsform.
Steuersignalgruppen, deren Timings mit dem Bezugszeichen 13
bezeichnet sind, unterscheiden sich teilweise von denen der
ersten Ausführungsform. In der zweiten Ausführungsform ist ein
Timing-Signal, wie beispielsweise die Signale e0X bis e8X,
Grundlage. Wesentlich ist hier, daß das Signal e2X, welches im
Zeitabschnitt T2 in der ersten Ausführungsform aktiv war, in
der zweiten Ausführungsform im Zeitabschnitt T3 aktiv ist und
sowohl beim Lesen von Daten der Registergruppen oder von
Direktdaten als auch an der Steuerung der darauffolgenden
Speicherung der effektiven Adresse im Programmzähler teil
nimmt.
Ähnlich ist das Signal e6X, welches im Zeitabschnitt T3 in der
ersten Ausführungsform aktiv war, in der zweiten Ausführungs
form im Zeitabschnitt T4 aktiv, und das Zurückschreiben in die
Registergruppen wird mit diesem Timing gesteuert. Es ist zu
verstehen, daß das alles zur Erweiterung des Spielraums der
Operationsgeschwindigkeit dient.
Das Signal e8X wird dazu verwendet, um die Ausführung einer
speziellen Anweisung zu steuern, und die Signale e0X bis e6X
werden gewöhnlich zur Steuerung verwendet.
Ein Beispiel eines speziellen Aufbaus der CPU der zweiten Aus
führungsform, deren Steuer-Timing unter Bezugnahme auf Fig.
31A und Fig. 31B vorstehend beschrieben worden ist, ist im
Blockschaltbild der Fig. 32 dargestellt. In Fig. 32 bezeich
nen entsprechende Bezugszeichen die gleichen Bestandteile wie
in Fig. 6 bis Fig. 10, welche das Beispiel des Aufbaus der
ersten Ausführungsform zeigen, und da die Bestandteile im
wesentlichen den gleichen Aufbau aufweisen, werden daher nur
die unterschiedlichen Abschnitte nachstehend beschrieben.
Die in Fig. 10 dargestellte Operationscode-Verriegelungs
einrichtung 56 der ersten Ausführungsform ist in Zwei-Stufen-
Verriegelungseinrichtungen der ersten und der zweiten
Operationscode-Verriegelungseinrichtung 56A, 56B unterteilt.
Die Schalter 54-A und 54-B, welche deren Datenverriegelungs-
Timings steuern, werden nicht einfach in einer gegenphasigen
Beziehung ein- und ausgeschaltet, sondern der Schalter 54-B
wird derart gesteuert, daß er den Auszustand beibehält, so daß
der ausgeführte Anweisungscode durch die zweite Operations
code-Verriegelungseinrichtung 56B zur Zeit des Ausführens
einer Mehrfachzyklen-Anweisung kontinuierlich gehalten wird.
Während der Schalter 54-A für den Halbzyklus bis zum darauf
folgenden Zyklus, in welchem die Operandenwerte beispielsweise
des Direktwertes 65, der absoluten Verzweigungsadresse 46 und
so weiter notwendig sind, durch Halten des Wertes des Daten
busses SQR (15 bis 0) jederzeit gehalten wird, wenn der
Speicherwert gelesen wird.
Obwohl der Anweisungsdecodierer 66 die Steuersignale e01 . . . eXX
durch Decodieren auf Grundlage der Daten OPDEC und des
durch die beiden Operationscode-Verriegelungseinrichtungen 56A
und 56B gehaltenen Operationscodes erzeugt, ist zum Ausführen
einer Mehrfachzyklen-Anweisung ein Anweisungszyklen-Zähler 62
in dieser Ausführungsform vorgesehen. Im Anweisungsdecodierer
66 erzeugte Steuersignalgruppen 62-p werden in den Anweisungs
zyklen-Zähler 62 eingegeben, welcher eine Rückkopplungs-
Schleife 62-g umfaßt.
Ein großer Unterschied zwischen dem Aufbau der in Fig. 32 ge
zeigten zweiten Ausführungsform und dem der ersten Aus
führungsform besteht darin, daß die Vor-Verriegelungsein
richtung 28 auf einer Eingangsseite der ALU 22 enthalten ist
und die Ergebnis-Verriegelungseinrichtung auf der Ausgangs
seite entfernt ist, wie vorstehend beschrieben. Ein Schalter
30 ist auf der Eingangs Seite der Vor-Verriegelungseinrichtung
28 vorgesehen, und ein Schalter 39-a ist auf ihrer Ausgangs
seite vorgesehen, wobei es Zweck eines derartigen Aufbaus ist,
die Registerwerte im Zeitabschnitt T3 zu lesen und die Daten
in der Vor-Verriegelungseinrichtung 28 bis zum Zeitabschnitt
T4 zu halten, in welchem die Operationsausführung fortgesetzt
wird, wie unter Bezugnahme auf Fig. 31A und Fig. 31B be
schrieben.
Da ein anderer zur ALU 22 weiterzugebender Operand im
Zwischenregister 21 gehalten wird und das Zurückschreiben des
Operationsergebnisses im Zeitabschnitt T4 beendet ist, ist es
nicht notwendig, die in der ersten Ausführungsform enthaltene
Ergebnis-Verriegelungseinrichtung 23 in der zweiten Aus
führungsform vorzusehen.
Der Schalter 30 wird eingeschaltet, wenn das Signal e2X im
Zeitabschnitt T3 aktiv wird, und die Schalter 39-a, 39-b
werden eingeschaltet, wenn das Signal e4X in den Zeitab
schnitten T3 und T4 aktiv wird.
Da die anderen Funktionen im wesentlichen denen der ersten
Ausführungsform ähnlich sind, sind deren Beschreibungen wegge
lassen.
Da in der zweiten Ausführungsform der für die Anweisungsaus
führungs-Schritte notwendige Zyklus abgetrennt ist, wie vor
stehend beschrieben, ist der Operationsspielraum wesentlich
verbessert und sind sowohl die Ausführungsgeschwindigkeit als
auch eine ausführbare untere Spannungsbegrenzung relativ ver
größert. Dadurch wird es nahegelegt, einen zur Hochge
schwindigkeits-Verarbeitung befähigten Mikrocomputer zu reali
sieren.
Wenn beim herkömmlichen Mikrocomputer die Eingangstaktfrequenz
zunimmt, dann besteht die Möglichkeit, daß eine elektromagne
tische Störwelle und dergleichen erzeugt wird, und daher kann
der Preis einer Gegenmaßnahme bei einem einen niedrigen Preis
erfordernden allgemeinen Konsumerzeugnis nicht vernachlässigt
werden. Insbesondere bei den in den letzten Jahren allgemein
eingeführten handlichen portablen Erzeugnissen ist das Ent
stehen einer Störwelle gesetzlich geregelt. Inzwischen sind
Mikrocomputer nicht nur in elektrischen Einrichtungen in
stalliert, sondern auch in zahlreichen Erzeugnissen, und somit
ist die Anforderung an sie groß, wenn die Hochge
schwindigkeits-Verarbeitung durch eine niedrige Frequenz
(einige MHz) möglich ist.
Die vorliegende Erfindung betrifft eine derartige Anforderung
und gestattet es, einen Mikrocomputer mit höherer Verarbei
tungsgeschwindigkeit bei der gleichen Frequenz vorzusehen.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 1 wird die
Verarbeitung sehr schnell ausgeführt, da eine Register
operation im wesentlichen in einem Zyklus eines Systemtakts
ausgeführt wird. Ferner wird eine spezielle Erkennungsschal
tung zum Schützen von Daten nicht benötigt und kann eine Ziel-
CPU durch einen einfachen Anweisungsdecodierer gebildet sein.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 2 und An
spruch 3 ist das gleiche Entwurfsverfahren beim Anweisungsde
codierer verwendbar, da selbst eine Sonderverarbeitung auf dem
gleichen Weg wie eine andere allgemeine Anweisung an und nach
dem Anweisungsdecodierer verarbeitet werden kann. Somit ist
der Entwurf zur Kostenverringerung vereinheitlicht.
Im erfindungsgemäßen Mikrocomputer nach Anspruch 4 wird der
über verschiedene Zyklen ausgeführte Anweisungscode decodiert,
um Steuersignale zu erzeugen. Insbesondere im Falle des Ver
wendens eines Rückwärtszählverfahrens, wenn eine Mehrzahl von
Daten der Reihe nach gehandhabt wird, beispielsweise in einem
derartigen Fall, wenn die Mehrzahl von Daten der Reihe nach
übertragen wird, ist es leicht, ein Signal zu erzeugen,
welches die Handhabung des Holens von Quelldaten zur Zeit von
geraden Zählwerten und des Speicherns der Daten zur Zeit von
ungeraden Zählwerten steuert.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 5 ist die
Ausführungsgeschwindigkeit der Verzweigungsanweisung ver
bessert, da ein Zustand realisiert ist, in welchem die Zu
standsentscheidung zur Verzweigungsanweisung zur Zeit der Ver
zweigungsausführung beendet ist.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 6 kann die
Anweisung zum wirksamen Ausführen einer bedingten Verzweigung
durch die minimal notwendige Anweisung ohne Zeitvergeudung für
einen Vorbereitungszeitabschnitt beim Verwenden der Verzwei
gungsanweisung gemäß Anspruch 5 unterstützt werden.
Da beim erfindungsgemäßen Mikrocomputer nach Anspruch 7 das
Statusregister und dergleichen im Funktionsblock direkt als
Bedingung der bedingten Verzweigung verwendet werden kann,
wird, wenn notwendig, ein spezielles Bit im voraus spezi
fiziert, um den Bitzustand in den entsprechenden Zyklen zu
überwachen, und wenn eine beliebige Zustandsänderung eintritt,
dann wird sie sofort erkannt, um in eine neue Routine zu ver
zweigen, so daß eine Hochgeschwindigkeits-Verarbeitung möglich
ist.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 8 und
Anspruch 9 ist eine Schaltung zur vorstehend genannten Aus
führung der Anweisung zur bedingten Verzweigung wirksam re
alisiert.
Beim Mikrocomputer nach Anspruch 10 und Anspruch 13 kann die
Handhabung des Ladens, das Bearbeitens und des Ladens des
Operationsergebnisses von einem Register in einem Zyklus
bewirkt werden, und es ist möglich, einen Spielraum beim
Registerlade-Timing durch Verteilen des Zwischenregisters zu
erreichen.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 11 ist ein
wirksames Steuerverfahren zum Erleichtern der Ausführung einer
Operation mit einer Länge von 8 Bit oder einer häufig vor
kommenden Handhabung verwirklicht.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 12 ist
nicht nur eine Schiebeoperationsschaltung realisiert, sondern
kann ferner ein Schaltungsaufbau vorgesehen sein, welcher dazu
geeignet ist, eine bei einer Multiplikation und einer Division
wirksame ADD-&-Shift-Operation in einer Anweisung pro Aus
führungszyklus zu realisieren.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 14 ist die
Beziehung zwischen der ALU-Konfiguration und dem Anweisungs
code festgelegt, wodurch eine einfache ALU ausgebildet sein
kann.
Im erfindungsgemäßen Mikrocomputer nach Anspruch 15 ist ein
Anweisungssatz von einer CPU einer auf einer 16-Bit-Anwei
sungslänge basierenden Registermaschine als deren Anweisungs
satz vorgesehen, wodurch ein CPU-Betrieb vorgesehen werden
kann, welcher im wesentlichen eine Anweisung pro Zyklus re
alisiert.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 16 ist die
Erfindung besonders wirksam auf dem Gebiet einer Mikrosteuer
einrichtung, welche eine schnelle Steuerung benötigt, und
durch Anordnen eines Funktionsregisters in der den schnellsten
Zugriff erlaubenden CPU-Registergruppe ist es möglich, ent
sprechende Funktionen zu steuern und die Zustände mit der
Maschinenzyklus-Geschwindigkeit zu überwachen.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 17 ist zur
Zeit des Entwickelns einer ASIC-Mikrosteuereinrichtung ein
wirksames Entwurfsverfahren beim schnellen Realisieren des
Entwurfs von für das Gebiet geeigneten peripheren Funktionen
vorgesehen.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 18 wird
eine Aufgabe dadurch gelöst, daß zusätzlich eine arithmetische
Einheit hinzugefügt wird, um seine eigene Leistungsfähigkeit
der CPU zu verbessern.
Beim erfindungsgemäßen Mikrocomputer nach Anspruch 19 kann im
Vergleich zur Erfindung gemäß Anspruch 1 ein Operationsspiel
raum wesentlich erweitert werden, da ein für den Anweisungs
ausführungsschritt notwendiger Zyklus abgetrennt werden kann.
Da ferner sowohl die Ausführungsgeschwindigkeit als auch ein
Spielraum der betreibbaren Niederspannung relativ vergrößert
ist, wird ein Mikrocomputer mit der Fähigkeit zur Hochge
schwindigkeits-Verarbeitung realisiert.
Wie in den Ansprüchen 20, 21 und 22 wird die Erfindung gemäß
den Ansprüchen 2, 3 und 4 in der Erfindung gemäß Anspruch 19
verwendet.
Da diese Erfindung in verschiedenen Formen ausgeführt sein
kann, ohne vom Wesen ihrer wesentlichen Merkmale abzuweichen,
ist die vorliegende Ausführungsform daher erläuternd und nicht
beschränkend, da der Bereich der Erfindung eher durch die
beigefügten Ansprüche als durch die ihnen vorstehende Be
schreibung festgelegt ist, und es ist daher vorgesehen, daß
alle in den Bereich der Abmessungen und der Grenzen der An
sprüche fallenden Änderungen oder Gleichwertigkeiten von der
artigen Abmessungen und Grenzen derselben von den Ansprüchen
umfaßt sind.
Claims (22)
1. Mikrocomputer, welcher mit einem 2-Zyklen-Systemtakt
betrieben wird, umfassend:
einen Speicher (51), der auszuführende Anweisungscodes speichert;
eine CPU, welche umfaßt einen Programmzähler (40), der eine auszuführende Anweisungsadresse ausgibt, einen Anweisungs decodierer (66), welcher den aus dem Speicher (51) gelesenen Anweisungscode decodiert, und eine ALU (22), welche eine durch das Decodierergebnis vom Anweisungsdecodierer (66) spezifizierte Operation ausführt; und
eine Registergruppe (20), welche eine Mehrzahl von Registern umfaßt, von denen jedes als ein einen Anweisungs operanden und ein Operationsergebnis speicherndes Ziel spezi fiziert werden kann;
bei welchem während eines ersten Halbzyklus-Abschnitts des Systemtakts der Programmzähler (40) die auszuführende An weisungsadresse ausgibt,
während eines dem ersten Halbzyklus-Abschnitt des System takts folgenden zweiten Halbzyklus-Abschnitts der Speicher (51) den Anweisungscode ausgibt, welcher der durch den Programmzähler (40) ausgegebenen Adresse entspricht, der An weisungsdecodierer (66) den aus dem Speicher (51) ausgegebenen Anweisungscode liest und decodiert, und die ALU (22) Daten aus dem Register holt, welches durch das Decodierergebnis des An weisungsdecodierers (66) als Operand spezifiziert ist, wobei danach die Operation beginnt, und
während eines dem zweiten Halbzyklus-Abschnitt des Systemtakts folgenden dritten Halbzyklus-Abschnitts die ALU (22) das Operationsergebnis in demjenigen Register speichert, welches durch das Decodierergebnis des Anweisungsdecodierers (66) als Ziel spezifiziert ist, und der Programmzähler (40) eine als nächstes auszuführende Anweisungsadresse ausgibt.
einen Speicher (51), der auszuführende Anweisungscodes speichert;
eine CPU, welche umfaßt einen Programmzähler (40), der eine auszuführende Anweisungsadresse ausgibt, einen Anweisungs decodierer (66), welcher den aus dem Speicher (51) gelesenen Anweisungscode decodiert, und eine ALU (22), welche eine durch das Decodierergebnis vom Anweisungsdecodierer (66) spezifizierte Operation ausführt; und
eine Registergruppe (20), welche eine Mehrzahl von Registern umfaßt, von denen jedes als ein einen Anweisungs operanden und ein Operationsergebnis speicherndes Ziel spezi fiziert werden kann;
bei welchem während eines ersten Halbzyklus-Abschnitts des Systemtakts der Programmzähler (40) die auszuführende An weisungsadresse ausgibt,
während eines dem ersten Halbzyklus-Abschnitt des System takts folgenden zweiten Halbzyklus-Abschnitts der Speicher (51) den Anweisungscode ausgibt, welcher der durch den Programmzähler (40) ausgegebenen Adresse entspricht, der An weisungsdecodierer (66) den aus dem Speicher (51) ausgegebenen Anweisungscode liest und decodiert, und die ALU (22) Daten aus dem Register holt, welches durch das Decodierergebnis des An weisungsdecodierers (66) als Operand spezifiziert ist, wobei danach die Operation beginnt, und
während eines dem zweiten Halbzyklus-Abschnitt des Systemtakts folgenden dritten Halbzyklus-Abschnitts die ALU (22) das Operationsergebnis in demjenigen Register speichert, welches durch das Decodierergebnis des Anweisungsdecodierers (66) als Ziel spezifiziert ist, und der Programmzähler (40) eine als nächstes auszuführende Anweisungsadresse ausgibt.
2. Mikrocomputer nach Anspruch 1, ferner umfassend:
eine Codeerzeugeeinrichtung (58) zum Erzeugen von Sonderver arbeitungcodes, von denen jeder im voraus in Reaktion auf eine Mehrzahl von Sonderverarbeitungen entsprechend zugewiesen ist; eine Codeverriegelungseinrichtung (56) zum Halten des aus dem Speicher (51) gelesenen Anweisungscodes und zum Übergeben des selben an den Anweisungsdecodierer (66); und
eine Einrichtung (52-a, 52-b) zum Unterbinden des Zuführens eines Codes zur Codeverriegelungseinrichtung (56) aus dem Speicher (51) und zum wirksamen Zuführen des der erzeugten Sonderverarbeitung entsprechenden Sonderverarbeitungscodes zur Codeverriegelungseinrichtung (56) aus der Codeerzeugeeinrich tung (58), wenn eine Ausführungsanforderung der Sonderver arbeitung vorliegt.
eine Codeerzeugeeinrichtung (58) zum Erzeugen von Sonderver arbeitungcodes, von denen jeder im voraus in Reaktion auf eine Mehrzahl von Sonderverarbeitungen entsprechend zugewiesen ist; eine Codeverriegelungseinrichtung (56) zum Halten des aus dem Speicher (51) gelesenen Anweisungscodes und zum Übergeben des selben an den Anweisungsdecodierer (66); und
eine Einrichtung (52-a, 52-b) zum Unterbinden des Zuführens eines Codes zur Codeverriegelungseinrichtung (56) aus dem Speicher (51) und zum wirksamen Zuführen des der erzeugten Sonderverarbeitung entsprechenden Sonderverarbeitungscodes zur Codeverriegelungseinrichtung (56) aus der Codeerzeugeeinrich tung (58), wenn eine Ausführungsanforderung der Sonderver arbeitung vorliegt.
3. Mikrocomputer nach Anspruch 2, bei welchem
ein Programmspeichergebiet des Speichers (51) die Sonderverarbeitungscodes speichert, welche im voraus in Reaktion auf eine Mehrzahl von Sonderverarbeitungen ent sprechend zugewiesen sind, und
eine äquivalente Verarbeitung selbst für den aus dem Programmspeichergebiet geholten Sonderverarbeitungscode oder für den aus der Codeerzeugeeinrichtung (58) zugeführten Sonderverarbeitungscode ausgeführt wird.
ein Programmspeichergebiet des Speichers (51) die Sonderverarbeitungscodes speichert, welche im voraus in Reaktion auf eine Mehrzahl von Sonderverarbeitungen ent sprechend zugewiesen sind, und
eine äquivalente Verarbeitung selbst für den aus dem Programmspeichergebiet geholten Sonderverarbeitungscode oder für den aus der Codeerzeugeeinrichtung (58) zugeführten Sonderverarbeitungscode ausgeführt wird.
4. Mikrocomputer nach Anspruch 2, bei welchem
die CPU ferner eine Zähleinrichtung (62) zum Zählen der Anzahl
von Anweisungszyklen umfaßt und Ausgänge der Codeverriege
lungseinrichtung (56) und Werte der Zähleinrichtung kombi
niert, um eine Mehrzahl von Steuersignalen zu erzeugen.
5. Mikrocomputer, der eine Zustandsentscheidungsschaltung
umfaßt, welche aufweist:
eine Registergruppe (107), die aus einer Mehrzahl von Registern gebildet ist, von denen eines durch Ausführung einer Anweisung zur bedingten Verzweigung spezifiziert ist und in welche ein vorbestimmter Wert im Code der Anweisung zur be dingten Verzweigung gesetzt ist;
ein Vergleichsregister (105), welches das Operationser gebnis bei der Anweisungsausführung speichert;
eine Vergleichseinrichtung (104) zum Vergleichen eines Wertes des durch die Anweisung zur bedingten Verzweigung spezifizierten Registers in der Registergruppe (107) und eines Wertes des Vergleichsregisters Bit für Bit und
ein Maskenregister (106), welches durch Entnehmen von Werten allein notwendiger Bits des durch die Anweisung zur bedingten Verzweigung spezifizierten Registers in der Registergruppe (107) ein Zustandsentscheidungssignal zum An geben, ob die Verzweigungsbedingung der Anweisung zur beding ten Verzweigung erfüllt ist oder nicht, in einen Zustand ver setzt, welcher angibt, daß die Verzweigungsbedingung erfüllt ist.
eine Registergruppe (107), die aus einer Mehrzahl von Registern gebildet ist, von denen eines durch Ausführung einer Anweisung zur bedingten Verzweigung spezifiziert ist und in welche ein vorbestimmter Wert im Code der Anweisung zur be dingten Verzweigung gesetzt ist;
ein Vergleichsregister (105), welches das Operationser gebnis bei der Anweisungsausführung speichert;
eine Vergleichseinrichtung (104) zum Vergleichen eines Wertes des durch die Anweisung zur bedingten Verzweigung spezifizierten Registers in der Registergruppe (107) und eines Wertes des Vergleichsregisters Bit für Bit und
ein Maskenregister (106), welches durch Entnehmen von Werten allein notwendiger Bits des durch die Anweisung zur bedingten Verzweigung spezifizierten Registers in der Registergruppe (107) ein Zustandsentscheidungssignal zum An geben, ob die Verzweigungsbedingung der Anweisung zur beding ten Verzweigung erfüllt ist oder nicht, in einen Zustand ver setzt, welcher angibt, daß die Verzweigungsbedingung erfüllt ist.
6. Mikrocomputer nach Anspruch 5, bei welchem die Zustands
entscheidungsschaltung ein Spezifizieren des Registers, ein
Spezifizieren von zu vergleichenden Bits und ein Unterscheiden
von Signalwerten ausführt.
7. Mikrocomputer nach Anspruch 5, bei welchem eine
Registergruppe zum Steuern einer peripheren Funktionsschal
tung, Operationsergebnisflags und eine Unterbrechungsan
forderungs-Bitgruppe als spezifizierbare Register der Zu
standsentscheidungsschaltung zugewiesen sind.
8. Mikrocomputer nach Anspruch 5, welcher
eine Einrichtung (106) zum Synchronisieren des Zustandsent
scheidungssignals mit einem Basistakt umfaßt.
9. Mikrocomputer nach Anspruch 5, bei welchem eine unbe
dingte Verzweigung durch direktes Übergeben eines 1-Bit-
Steuercodes im Anweisungscode an die Zustandsentscheidungs
schaltung ausgeführt wird.
10. Mikrocomputer, umfassend:
einen 2-Wege-Bus, der aus einem mit einem Eingang einer ALU (22) verbundenen ersten Bus (25) und einem mit einem anderen Eingang der ALU (22) verbundenen zweiten Bus (26) ge bildet ist; und
ein Zwischenregister (21), das zwischen einem der Busse des 2- Wege-Busses und der ALU (22) angeordnet ist und einen Operanden nach zeitweiligem Halten desselben an die ALU (22) übergibt.
einen 2-Wege-Bus, der aus einem mit einem Eingang einer ALU (22) verbundenen ersten Bus (25) und einem mit einem anderen Eingang der ALU (22) verbundenen zweiten Bus (26) ge bildet ist; und
ein Zwischenregister (21), das zwischen einem der Busse des 2- Wege-Busses und der ALU (22) angeordnet ist und einen Operanden nach zeitweiligem Halten desselben an die ALU (22) übergibt.
11. Mikrocomputer nach Anspruch 10, bei welchem
obere n Bits (120H) und untere m Bits (120L) des Zwischen
registers (21) durch unterschiedliche Steuersignale ent
sprechend gesteuert werden und welcher
ferner umfaßt: eine Steuereinrichtung (122H, 122L) zum wirksamen Umwandeln aller oberen n Bits (120H) oder aller unteren m Bits (120L) des Ausgangs des Zwischenregisters (21) in "0", um sie der ALU (22) zuzuführen, und
eine Inversionssteuerschaltung (123H, 123L), welche jedes Bit des Zwischenregisters (21) invertiert, um es der ALU (22) zuzuführen.
ferner umfaßt: eine Steuereinrichtung (122H, 122L) zum wirksamen Umwandeln aller oberen n Bits (120H) oder aller unteren m Bits (120L) des Ausgangs des Zwischenregisters (21) in "0", um sie der ALU (22) zuzuführen, und
eine Inversionssteuerschaltung (123H, 123L), welche jedes Bit des Zwischenregisters (21) invertiert, um es der ALU (22) zuzuführen.
12. Mikrocomputer nach Anspruch 11, welcher ferner eine
Schiebeeinrichtung (127H, 127L) zum Verschieben des Ausgangs
der ALU (22) nach rechts oder links umfaßt.
13. Mikrocomputer nach Anspruch 11, welcher ferner eine
Verriegelungsschaltung (23H, 23L) umfaßt, welche nach ein
maligem Halten den aus dem Register gelesenen Wert der ALU
(22) zuführt.
14. Mikrocomputer, welcher
einen Anweisungssatz umfaßt, bei welchem ein Bit aus 6 Bits an
einer festgelegten Position in jedem Anweisungscode zum Unter
scheiden einer Bytelängen-Operation und einer 16-Bit-Wort
längen-Operation verwendet wird, ein anderes Bit zum Unter
scheiden einer Schiebeoperation und einer Nicht-Schiebe
operation verwendet wird und die verbleibenden 4 Bits zum
Spezifizieren der Arten von unterteilten Operationen verwendet
werden.
15. Mikrocomputer, welcher
einen eine Anweisungsgruppe und deren Anweisungscodes vor
sehenden Anweisungssatz umfaßt, welcher verschiedene
Operationen für eine CPU mit Registern mit einer Breite von 63
Wort ausführt, wobei die Anweisungscodes im wesentlichen aus
16 Bits gebildet sind, wobei in den 16-Bit-Codes neben den die
Operationsarten und die Handhabung anzeigenden Codes eine ein
Quellregister, ein Zielregister und eine Verzweigungsziel
adresse einer Verzweigungsadresse spezifizierende Verschiebung
und ein Wert mit einer Länge von 8 Bit enthalten sind.
16. Mikrocomputer, bei welchem
Steuerschaltungen zur direkten Unterbrechung, periphere
Steuerregister und Funktionsregister, welche Datenregister
umfassen, direkt in einem Registerraum in einer CPU angeordnet
sind.
17. Mikrocomputer, welcher
Funktionsregister umfaßt, bei welchen in der Stufe des Layout
entwurfs und des Logikentwurfs im voraus eine Mehrzahl von
Basiselement-Funktionsregistern vorgesehen ist, welche eine
Datenverriegelungseinrichtung umfassen mit der Funktion, einen
Einzelimpuls zu erzeugen, und die Register mit notwendigen
Funktionen in Reaktion auf eine Verwendung ausgewählt und
kombiniert sind.
18. Mikrocomputer, bei welchem
ein hochfunktionaler Operationsblock in einem Registerraum
einer CPU zugewiesen ist.
19. Mikrocomputer, welcher mit einem 2-Zyklen-Systemtakt
betrieben wird, umfassend:
einen Speicher (51), der auszuführende Anweisungscodes speichert;
eine CPU, welche umfaßt: einen Programmzähler (40), der eine auszuführende Anweisungsadresse ausgibt, einen Anweisungsde codierer (66), welcher den aus dem Speicher (51) gelesenen Anweisungscode decodiert, und eine ALU (22), welche einen durch das Decodierergebnis des Anweisungsdecodierers (66) spezifizierten Operanden über einen vorbestimmten Zeitab schnitt hält; und
eine Registergruppe (20), welche eine Mehrzahl von Registern umfaßt, von denen jedes als ein einen Anweisungs operanden und ein Operationsergebnis speicherndes Ziel spezi fiziert werden kann; und
eine Vor-Verriegelungseinrichtung, welche nach einmaligem Halten den aus dem Register gelesenen Wert der ALU (22) zu führt;
bei welchem während eines ersten Halbzyklus-Abschnitts des Systemtakts der Programmzähler (40) die auszuführende An weisungsadresse ausgibt,
während eines dem ersten Halbzyklus-Abschnitt des System takts folgenden zweiten Halbzyklus-Abschnitts der Speicher (51) denjenigen Anweisungscode ausgibt, welcher der durch den Programmzähler (40) ausgegebenen Adresse entspricht, und der Anweisungsdecodierer (66) den aus dem Speicher (51) ausge gebenen Anweisungscode liest und decodiert, um die durch das Decodierergebnis als Operand spezifizierte Registeradresse auszugeben,
während eines dem zweiten Halbzyklus-Abschnitt des Systemtakts folgenden dritten Halbzyklus-Abschnitts die ALU (22) Daten aus dem durch das Decodierergebnis des Anweisungs decodierers (66) als Operand spezifizierten Register holt, um sie in der Vor-Verriegelungseinrichtung zu verriegeln, und die Operation startet, und der Programmzähler (40) eine als nächstes auszuführende Anweisungsadresse ausgibt, und
während eines dem dritten Halbzyklus-Abschnitt des Systemtakts folgenden vierten Halbzyklus-Abschnitts die ALU (22) die Operation fortsetzt und das Operationsergebnis in dem durch das Decodierergebnis des Anweisungsdecodierers (66) als Ziel spezifizierten Register speichert.
einen Speicher (51), der auszuführende Anweisungscodes speichert;
eine CPU, welche umfaßt: einen Programmzähler (40), der eine auszuführende Anweisungsadresse ausgibt, einen Anweisungsde codierer (66), welcher den aus dem Speicher (51) gelesenen Anweisungscode decodiert, und eine ALU (22), welche einen durch das Decodierergebnis des Anweisungsdecodierers (66) spezifizierten Operanden über einen vorbestimmten Zeitab schnitt hält; und
eine Registergruppe (20), welche eine Mehrzahl von Registern umfaßt, von denen jedes als ein einen Anweisungs operanden und ein Operationsergebnis speicherndes Ziel spezi fiziert werden kann; und
eine Vor-Verriegelungseinrichtung, welche nach einmaligem Halten den aus dem Register gelesenen Wert der ALU (22) zu führt;
bei welchem während eines ersten Halbzyklus-Abschnitts des Systemtakts der Programmzähler (40) die auszuführende An weisungsadresse ausgibt,
während eines dem ersten Halbzyklus-Abschnitt des System takts folgenden zweiten Halbzyklus-Abschnitts der Speicher (51) denjenigen Anweisungscode ausgibt, welcher der durch den Programmzähler (40) ausgegebenen Adresse entspricht, und der Anweisungsdecodierer (66) den aus dem Speicher (51) ausge gebenen Anweisungscode liest und decodiert, um die durch das Decodierergebnis als Operand spezifizierte Registeradresse auszugeben,
während eines dem zweiten Halbzyklus-Abschnitt des Systemtakts folgenden dritten Halbzyklus-Abschnitts die ALU (22) Daten aus dem durch das Decodierergebnis des Anweisungs decodierers (66) als Operand spezifizierten Register holt, um sie in der Vor-Verriegelungseinrichtung zu verriegeln, und die Operation startet, und der Programmzähler (40) eine als nächstes auszuführende Anweisungsadresse ausgibt, und
während eines dem dritten Halbzyklus-Abschnitt des Systemtakts folgenden vierten Halbzyklus-Abschnitts die ALU (22) die Operation fortsetzt und das Operationsergebnis in dem durch das Decodierergebnis des Anweisungsdecodierers (66) als Ziel spezifizierten Register speichert.
20. Mikrocomputer nach Anspruch 19, ferner umfassend:
eine Codeerzeugeeinrichtung (58) zum Erzeugen von Codes für Sonderverarbeitungscodes, von denen jeder im voraus in Reaktion auf eine Mehrzahl von Sonderverarbeitungen entsprechend zuge wiesen ist;
eine Codeverriegelungseinrichtung (56) zum Halten des aus dem Speicher (51) gelesenen Anweisungscodes und zum Übergeben des selben an den Anweisungsdecodierer (66); und
eine Einrichtung zum Unterbinden des Zuführens eines Codes zur Codeverriegelungseinrichtung (56) aus dem Speicher (51) und zum wirksamen Zuführen des der erzeugten Sonderverarbeitung entsprechenden Sonderverarbeitungscodes zur Codeverriegelungs einrichtung (56) aus der Codeerzeugeeinrichtung (58), wenn eine Ausführungsanforderung der Sonderverarbeitung vorliegt.
eine Codeerzeugeeinrichtung (58) zum Erzeugen von Codes für Sonderverarbeitungscodes, von denen jeder im voraus in Reaktion auf eine Mehrzahl von Sonderverarbeitungen entsprechend zuge wiesen ist;
eine Codeverriegelungseinrichtung (56) zum Halten des aus dem Speicher (51) gelesenen Anweisungscodes und zum Übergeben des selben an den Anweisungsdecodierer (66); und
eine Einrichtung zum Unterbinden des Zuführens eines Codes zur Codeverriegelungseinrichtung (56) aus dem Speicher (51) und zum wirksamen Zuführen des der erzeugten Sonderverarbeitung entsprechenden Sonderverarbeitungscodes zur Codeverriegelungs einrichtung (56) aus der Codeerzeugeeinrichtung (58), wenn eine Ausführungsanforderung der Sonderverarbeitung vorliegt.
21. Mikrocomputer nach Anspruch 20, bei welchem
ein Programmspeichergebiet des Speichers (51) Sonderver
arbeitungscodes speichert, welche in Reaktion auf eine Mehr
zahl von Sonderverarbeitungen im voraus entsprechend zuge
wiesen sind, und
eine äquivalente Verarbeitung selbst für den aus dem Programmspeichergebiet geholten Sonderverarbeitungscode oder für den aus der Codeerzeugeeinrichtung (58) zugeführten Sonderverarbeitungscode ausgeführt wird.
eine äquivalente Verarbeitung selbst für den aus dem Programmspeichergebiet geholten Sonderverarbeitungscode oder für den aus der Codeerzeugeeinrichtung (58) zugeführten Sonderverarbeitungscode ausgeführt wird.
22. Mikrocomputer nach Anspruch 20, bei welchem
die CPU ferner eine Zähleinrichtung (62) zum Zählen der Anzahl
von Anweisungszyklen umfaßt und Ausgänge der Codever
riegelungseinrichtung (56) und Werte der Zähleinrichtung
kombiniert, um eine Mehrzahl von Steuersignalen zu erzeugen.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14202893 | 1993-06-14 | ||
JP6009123A JPH0764788A (ja) | 1993-06-14 | 1994-01-31 | マイクロコンピュータ |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4420703A1 true DE4420703A1 (de) | 1994-12-15 |
Family
ID=26343782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4420703A Ceased DE4420703A1 (de) | 1993-06-14 | 1994-06-14 | Mikrocomputer |
Country Status (3)
Country | Link |
---|---|
US (1) | US5550994A (de) |
JP (1) | JPH0764788A (de) |
DE (1) | DE4420703A1 (de) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6419881B1 (en) | 1994-10-18 | 2002-07-16 | Symyx Technologies, Inc. | Combinatorial arrays of organometallic compounds and catalysts |
US6502191B1 (en) * | 1997-02-14 | 2002-12-31 | Tumbleweed Communications Corp. | Method and system for binary data firewall delivery |
US20040073617A1 (en) | 2000-06-19 | 2004-04-15 | Milliken Walter Clark | Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail |
US8132250B2 (en) | 2002-03-08 | 2012-03-06 | Mcafee, Inc. | Message profiling systems and methods |
US8561167B2 (en) | 2002-03-08 | 2013-10-15 | Mcafee, Inc. | Web reputation scoring |
US6941467B2 (en) | 2002-03-08 | 2005-09-06 | Ciphertrust, Inc. | Systems and methods for adaptive message interrogation through multiple queues |
US7903549B2 (en) | 2002-03-08 | 2011-03-08 | Secure Computing Corporation | Content-based policy compliance systems and methods |
US20060015942A1 (en) | 2002-03-08 | 2006-01-19 | Ciphertrust, Inc. | Systems and methods for classification of messaging entities |
US8578480B2 (en) | 2002-03-08 | 2013-11-05 | Mcafee, Inc. | Systems and methods for identifying potentially malicious messages |
US7693947B2 (en) | 2002-03-08 | 2010-04-06 | Mcafee, Inc. | Systems and methods for graphically displaying messaging traffic |
US7124438B2 (en) | 2002-03-08 | 2006-10-17 | Ciphertrust, Inc. | Systems and methods for anomaly detection in patterns of monitored communications |
US7870203B2 (en) | 2002-03-08 | 2011-01-11 | Mcafee, Inc. | Methods and systems for exposing messaging reputation to an end user |
US7458098B2 (en) | 2002-03-08 | 2008-11-25 | Secure Computing Corporation | Systems and methods for enhancing electronic communication security |
US7694128B2 (en) | 2002-03-08 | 2010-04-06 | Mcafee, Inc. | Systems and methods for secure communication delivery |
US7096498B2 (en) | 2002-03-08 | 2006-08-22 | Cipher Trust, Inc. | Systems and methods for message threat management |
US8635690B2 (en) | 2004-11-05 | 2014-01-21 | Mcafee, Inc. | Reputation based message processing |
US7937480B2 (en) | 2005-06-02 | 2011-05-03 | Mcafee, Inc. | Aggregation of reputation data |
US7779156B2 (en) | 2007-01-24 | 2010-08-17 | Mcafee, Inc. | Reputation based load balancing |
US8763114B2 (en) | 2007-01-24 | 2014-06-24 | Mcafee, Inc. | Detecting image spam |
US7949716B2 (en) | 2007-01-24 | 2011-05-24 | Mcafee, Inc. | Correlation and analysis of entity attributes |
US8179798B2 (en) | 2007-01-24 | 2012-05-15 | Mcafee, Inc. | Reputation based connection throttling |
US8214497B2 (en) | 2007-01-24 | 2012-07-03 | Mcafee, Inc. | Multi-dimensional reputation scoring |
US8185930B2 (en) | 2007-11-06 | 2012-05-22 | Mcafee, Inc. | Adjusting filter or classification control settings |
US8045458B2 (en) | 2007-11-08 | 2011-10-25 | Mcafee, Inc. | Prioritizing network traffic |
US8160975B2 (en) | 2008-01-25 | 2012-04-17 | Mcafee, Inc. | Granular support vector machine with random granularity |
US8589503B2 (en) | 2008-04-04 | 2013-11-19 | Mcafee, Inc. | Prioritizing network traffic |
US8621638B2 (en) | 2010-05-14 | 2013-12-31 | Mcafee, Inc. | Systems and methods for classification of messaging entities |
US9817642B2 (en) * | 2015-06-25 | 2017-11-14 | Intel Corporation | Apparatus and method for efficient call/return emulation using a dual return stack buffer |
CN114116018A (zh) * | 2020-08-26 | 2022-03-01 | 比亚迪半导体股份有限公司 | 配置芯片及调用程序的方法、装置、存储介质及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0460720A (ja) * | 1990-06-29 | 1992-02-26 | Hitachi Ltd | 条件分岐命令制御方式 |
US5287467A (en) * | 1991-04-18 | 1994-02-15 | International Business Machines Corporation | Pipeline for removing and concurrently executing two or more branch instructions in synchronization with other instructions executing in the execution unit |
-
1994
- 1994-01-31 JP JP6009123A patent/JPH0764788A/ja active Pending
- 1994-05-23 US US08/247,836 patent/US5550994A/en not_active Expired - Fee Related
- 1994-06-14 DE DE4420703A patent/DE4420703A1/de not_active Ceased
Non-Patent Citations (2)
Title |
---|
GÄUSHEIMER, W., REISCH, J.: Mehr MIPS mit Mips. In: c't, Heft 9, 1991, S. 228-243 * |
GB Buch Barry Wilkinson: Computer Architecture, Prentice Hall, 1991, S. 3-10 und 148-160 * |
Also Published As
Publication number | Publication date |
---|---|
US5550994A (en) | 1996-08-27 |
JPH0764788A (ja) | 1995-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4420703A1 (de) | Mikrocomputer | |
DE4301417C2 (de) | Computersystem mit Einrichtung zur parallelen Befehlsausführung | |
DE2704842C2 (de) | Im Pipeline-Betrieb arbeitende Datenverarbeitungseinrichtung | |
DE19506435C2 (de) | Verfahren und Einrichtung zum Vermeiden von Rückschreibkonflikten zwischen einen gemeinsamen Rückschreibpfad verwendenden Ausführungseinheiten | |
DE69433339T2 (de) | Lade-/Speicherfunktionseinheiten und Datencachespeicher für Mikroprozessoren | |
DE2357003C2 (de) | Prozessor für eine Mehrprogramm-Datenverarbeitungsanlage | |
DE2117936C3 (de) | Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems | |
DE3424962C2 (de) | ||
DE19882363B4 (de) | Prozessor mit einem Umgehungsnetzwerk und mehreren Ports | |
DE2161886C2 (de) | Befehlsausführungseinheit in einer elektronischen Datenverarbeitungszentrale für die gleichzeitige Verarbeitung mehrerer Befehle | |
DE2023354C2 (de) | Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher | |
DE69133571T2 (de) | Datenprozessor mit der Fähigkeit, zwei Befehle gleichzeitig auszuführen | |
DE2835095C2 (de) | Digitale Rechenanlage mit einem ersten und mindestens einem zweiten miteinander koppelbaren mikroprogrammierten Prozessoren | |
DE19506990A1 (de) | Einrichtung zur Datenumleitung in einem Prozessor mit mehreren Ausführungseinheiten | |
DE2234867A1 (de) | Anordnung in datenverarbeitungsanlagen zum steuern der verarbeitung zweier voneinander unabhaengiger programme | |
DE19860062A1 (de) | Verfahren der erzwungenen Registerteilung für die Konstruktion von leistungsarmen VLSI | |
DE69632655T2 (de) | Pipeline-Datenverarbeitungsanordnung zur Durchführung einer Mehrzahl von untereinander datenabhängigen Datenprozessen | |
EP0825540B1 (de) | Prozessor mit Pipelining-Aufbau | |
DE3638572A1 (de) | Vektorprozessor | |
DE3114921A1 (de) | Datenverarbeitungssystem | |
DE1549478B1 (de) | Gleitkomma-Rechenwerk zur schnellen Addition oder Subtraktion binaerer Operanden | |
DE19842254A1 (de) | Datenverarbeitungsgerät | |
DE3307194C2 (de) | ||
DE19738542A1 (de) | Datenverarbeitungseinrichtung | |
DE2835110A1 (de) | Schneller echtzeit-rechneremulator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |