-
Die Erfindung betrifft Mikroprozessoren
und genauer einen organisatorischen Aufbau der elektronischen Schaltkreise
in solchen Mikroprozessoren sowie ein Verfahren zur Abfolgesteuerung
der durch diese Schaltkreise ausgeführten Operationen in der Weise,
dass die Leistungsfähigkeit
der Mikroprozessoren vom Gesichtspunkt ihrer Geschwindigkeit her erhöht und ihr
Stromverbrauch verringert wird.
-
In einem Mikroprozessor werden die
verschiedenen Befehle eines Programmes sequentiell durch periodische
elektrische Signale realisiert, die durch einen Taktgeneratorschaltkreis
geliefert werden, und die Zyklenzahl des Taktsignals, mit der ein Befehl
ausgeführt
wird, ändert
sich von einem Mikroprozessor zum nächsten in Abhängigkeit
vom Hersteller und vom Typ des Mikroprozessors, wobei diese Zyklenzahl
von einigen Zyklen bis zu einigen -zig Zyklen variiert.
-
Folglich waren die Hersteller von
Mikroprozessoren bemüht,
soweit wie möglich
die Zyklenzahl pro Befehl zu verringern, was zu einer Verringerung der
Frequenz der Taktsignale bei gleicher Leistungsfähigkeit oder wechselweise zu
einer Verringerung des elektrischen Stromverbrauchs führt, die
im gleichen Sinne wie die Frequenz variiert.
-
Derzeit führen die leistungsfähigsten
Mikroprozessoren einen Befehl in einem halben Zyklus aus, aber um
eine solche Leistung zu erreichen, verwenden sie als „Pipeline" oder „Überlappung" und „Parallelität" bekannte Verfahren.
So wird zum Beispiel ein Befehl in vier Zyklen ausgeführt, aber
während
der gleichen Zyklen werden acht weitere Befehle in parallel ausgeführt.
-
Eine Mikroprozessorenstruktur vom
Pipeline-Typ wird zum Beispiel in der Patentschrift EP-A-0 569 312
beschrieben und umfasst parallele Befehlsregister, die in Abhängigkeit
von einem Code im Befehl selbst geladen werden.
-
Solche Verfahren weisen die folgenden Nachteile
auf:
-
- – Das
Verfahren der Pipeline oder der Überlappung
ist leicht zu verwalten, wenn ein lineares Programm abläuft, aber
es ist sehr schwierig zu verwalten, wenn ein Programm zahlreiche „bedingte
Sprünge" aufweist, was meistens
der Fall ist. Im Falle eines bedingten Sprunges würden nämlich die
weiteren, in die Pipeline- oder Überlappungsstruktur
geladenen Befehle nicht ausgeführt,
und es müsste
dann von Neuem die Überlappungsstruktur
aufgefüllt
werden, so dass ein grosser Verlust an Leistungsfähigkeit
eintritt.
- – Eine
solche Architektur führt
zu einer grösseren Komplexität und zu
einem Anwachsen des Volumens des eingesetzten Materials, was nicht
im Sinne eines guten Kompromisses zwischen der Fläche der
integrierten Schaltkreise und der Leistungsfähigkeit des Ganzen liegt.
- – Im
Gefolge eines solchen Verlustes an Leistungsfähigkeit wegen des Überlappens
und wegen des Anwachsen des Materialvolumens führt eine solche Architektur
zu einem grösseren Stromverbrauch.
-
Es ist daher das Ziel der vorliegenden
Erfindung, einen organisatorischen Aufbau von elektronischen Schaltkreisen
in einem Mikroprozessor und ein Verfahren der Abfolgesteuerung der
durch diese Schaltkreise ausgeführten
Operationen zu schaffen, die zu einer höheren Leistungsfähigkeit
des Mikroprozessors, d. h. einer kleinen Taktzyklenzahl pro Befehl,
einer geringen Zyklendauer, d. h. einer erhöhten Taktfrequenz, sowie zu
einem geringen Stromverbrauch führen.
-
Die Erfindung ist hauptsächlich dadurch
gekennzeichnet, dass das Laden jedes Befehlsregisters jeder Stufe
der Überlappungsstruktur
des Mikroprozessors von einem Taktsignal gesteuert wird, dessen
Anlegen an das betreffende Register durch ein Dekodiersignal des
im Befehlsregister enthaltenen Befehls konditioniert wird, die ihm
in der Kette der Befehlsregister vorausgeht.
-
Infolge dieser Architektur wird ein
Befehlsregister in der Kette durch ein Taktsignal weder aktiviert noch
geladen, sofern nicht der im vorangehenden Befehlsregister enthaltene
Befehl dies vorsieht. Daher werden nur die Befehlsregister, die
für die
Ausführung
eines Programmes erforderlich sind, aktiviert oder geladen.
-
Die Erfindung betrifft also einen
Mikroprozessor, der Befehlsregister in Kette enthält, dadurch
gekennzeichnet, dass zumindest ein Ausgangsanschluss jedes Befehlsregisters
mit einem Decodierschaltkreis verbunden ist, dessen Ausgangsanschluss
mit dem Eingangsanschluss des Taktsignals des Befehlsregisters verbunden
ist, das in der Kette folgt, und zwar über einen Logikschaltkreis,
der das Taktsignal empfängt.
-
Die Erfindung betrifft genauer einen
Mikroprozessor des Typs, der zumindest einen Programmspeicher enthält, der über einen
Adressierschaltkreis durch einen Programmzähler adressiert wird und der an
seinen Ausgangsanschlüssen
einen Befehlscode liefert, wenn er adressiert wird; der weiter zumindest ein
Befehlsregister des Typs enthält,
bei dem das Laden durch ein Taktsignal gesteuert wird, das an einen Takteingangsanschluss
angelegt wird und in dem der Befehlscode aufgezeichnet sein muss,
der aus dem Programmspeicher gelesen wurde; sowie einen Taktschaltkreis,
der Taktsignale zur Abfolgesteuerung der durch den Mikroprozessor
ausgeführten
Operationen liefert, dadurch gekennzeichnet, dass
-
- – jedem
Befehlsregister eine Sperrvorrichtung beigeordnet ist, die Eingangsanschlüsse und
einen ersten und zweiten Ausgangsanschluss hat, wobei
- – die
Eingangsanschlüsse
mit den Eingangsanschlüssen
des benannten zugehörigen
Registers, mit dem zweiten Ausgangsanschluss der vorausgehenden
Sperrvorrichtung und mit einem Ausgangsanschluss des Taktschaltkreises
verbunden sind,
- – der
benannte erste Ausgangsanschluss der Sperrvorrichtung mit dem Takt-Eingangsanschluss
des benannten zugehörigen
Befehlsregisters verbunden ist,
- – die
benannte Sperrvorrichtung dafür
bestimmt ist, um auf dem benannten ersten Ausgangsanschluss ein
Ladesignal des benannten zugehörigen
Befehlsregisters zu liefern, wenn der Befehlscode eine vorbestimmte
Ziffernkombination enthält.
-
Die Erfindung wird besser mit Hilfe
der folgenden Beschreibung von besonderen Aus-führungsbeispielen
verstanden, wobei diese Beschreibung mit Bezugnahme auf die beigefügten Zeichnungen
gegeben wird, in denen
-
1 ein
vereinfachtes Schema eines ersten besonderen Ausführungsbeispiels
des Mikroprozessors ist, der von der Erfindung Gebrauch macht und
nur die Elemente enthält,
die für
ein Verständnis der
Erfindung erforderlich sind;
-
die 2A bis 2N sind Signalzustandsdiagramme,
die es gestatten, das Funktionieren des Mikroprozessors der 1 zu verstehen;
-
3 ist
ein vereinfachtes Schema einer zweiten besonderen Ausführungsform
eines Mikroprozessors, der von der Erfindung Gebrauch macht und
nur die Elemente enthält,
die für
ein Verständnis der
Erfindung erforderlich sind;
-
die 4A bis 4N sind Signalzustandsdiagramme,
die es gestatten, das Funktionieren des Mikroprozessors der 3 zu verstehen; und
-
5 ist
ein Schema einer Kette von Befehlsregistern eines Mikroprozessors,
die die Merkmale der Erfindung aufweist.
-
In den Figuren bezeichnen identische
Bezugszahlen die gleichen Elemente mit identischen Funktionen.
-
Wie in 1 zu
sehen, umfasst ein Mikroprozessor, auf den die Erfindung zutrifft,
einen Programmspeicher 10 (auch als ROM bezeichnet), dessen
Speicherzellen durch einen Adressierschaltkreis 12 ausgewählt werden,
dem die Adressen durch einen Programmzähler 14 (auch als
PC bezeichnet) geliefert werden. Der Programmzähler 14 geht über eine
Operation, die schematisch durch das Rechteck 16 dargestellt
wird und die algebraische Ziffer +1 enthält, von einer Adresse zur nächsten,
und das Ergebnis dieser Operation wird im Register 18 aufgezeichnet,
ehe es über
einen Multiplex-Schaltkreis 20 (auch als MUX bezeichnet)
zum Programmzähler 14 übermittelt
wird. Dieser Multiplex-Schaltkreis 20 empfängt nicht
nur Codes vom Register 18, sondern auch jene von einem
Register 22 (auch als IR1 bezeichnet),
das das Ausgangsregister des Programmspeichers 10 ist,
um den aus diesem Speicher gelesenen Befehl aufzuzeichnen. Die im
Register 22 aufgezeichneten Befehlscodes werden in ein
Register 28 (auch als IR2 bezeichnet) übertragen,
bevor sie an ein Register 30 (auch als IR3 bezeichnet) übertragen
werden, das das Befehlsregister einer Arithmetik-Logik-Einheit 36 (auch
als ALU bezeichnet) ist.
-
Die verschiedenen Abfolgesteuersignale werden
durch einen Taktschaltkreis 8 (auch als HOR bezeichnet)
geliefert, und diese Signale werden als Φ1, Φ2, Φ3, Φ4 und Φ5 bezeichnet (2A).
-
Erfindungsgemäss ist die Übermittlung vom Register 22 (IR1) zum Register 28 (IR2)
durch die teilweise Decodierung der Ziffern des Befehlscodes konditioniert,
der im Register 22 (IR1) enthalten
ist. Zu diesem Zweck enthält
die Vorrichtung der Erfindung einen Decodierschaltkreis 24 (auch
als DEC2 bezeichnet), dessen Eingangsanschlüsse mit
den Ausgangsanschlüssen
des Registers 22 (IR1) verbunden sind,
die gleichzeitig die Eingangsanschlüsse des Registers 28 (IR2) sind. Ein erster Ausgangsanschluss 82 des
Schaltkreises 24 ist mit einem der beiden Eingangsanschlüsse eines
Gatters 26 verbunden, das die Logikoperation UND mit dem
Taktsignal Φ3 ausführt.
Der Ausgangsanschluss des Schaltkreises 26 ist mit dem
Eingangsanschluss des Taktsignals des Registers 28 (IR2) verbunden. Wenn das aus der Decodierung
resultierende Signal das Gatter 26 öffnet, liefert letzteres ein
Signal Φ3',
das das Laden des Registers 28 (IR2)
mit dem im Register 22 (IR1) enthaltenen
Code erlaubt.
-
Desgleichen ist erfindungsgemäss die Übermittlung
vom Register 28 (IR2) zum Register 30 (IR3), d. h. wirklich das Laden des letzteren,
durch die teilweise Decodierung der Ziffern des im Register 28 (IR2) enthaltenen Codes mit Hilfe eines Decodierschaltkreise 32 (auch
als DEC3 bezeichnet) konditioniert. Zu diesem Zweck sind die Ausgangsanschlüsse des
Registers 28 (IR2) nicht nur mit
den Eingangsanschlüssen
des Registers 30 (IR3) verbunden,
sondern auch mit den Eingangsanschlüssen eines Decodierschaltkreises 32.
Ein erster Ausgangsanschluss 86 des Decodierschaltkreises 32 ist
mit einem der beiden Eingangsanschlüsse eines Gatters 34 verbunden,
das die Logikoperation UND mit dem Taktsignal Φ4 ausführt. Der
Ausgangsanschluss des Schaltkreises 34 ist mit dem Eingangsanschluss
des Taktsignals des Registers 30 (IR3)
verbunden. Wenn das Decodiersignal des Schaltkreises 32 das
Gatter 34 öffnet,
liefert letzteres ein Signal Φ4',
das das Laden des Registers 30 (IR3)
erlaubt.
-
Der Decodierschaltkreis DEC2 und das Gatter 26 stellen eine
erste Sperrvorrichtung B2 dar;
desgleichen stellen der Decodierschaltkreis DEC3 und das
Gatter 34 eine zweite Sperrvorrichtung B3 dar.
-
Die Arithmetik-Logik-Einheit 36 (ALU)
ist in bekannter Weise über
eine Schiene 48 vom Typ eines BUS mit einem Speicher 50 (auch
als REGS/RAM bezeichnet), und die aus dem Speicher 50 gelesenen
Informationen werden über
eine Schiene 46 vom Typ eines BUS und vier Register 38, 40, 42 und 44 (auch
als MREGA, SREGA, MREGB bzw. SREGB bezeichnet) an die Arithmetik-Logik-Einheit 36 geliefert.
-
In gleichfalls bekannter Weise sind
die Schienen BUS 46 und 48 mit Eingabe-Ausgabe-Schaltkreisen 70 (auch
als I/O bezeichnet) verbunden.
-
Der Speicher 50 enthält Register
und einen eigentlichen Speicher vom Typ des wahlfreien Zugriffs,
besser bekannt unter dem angelsächsischen Akronym
RAM.
-
Die Register jedes Paars 38, 40 und 42, 44 sind
vom Typ Master (Präfix
M) und Slave (Präfix
S), und ihr Laden kann durch die bedingten Taktsignale Φ3' und Φ4' gesteuert
werden, die durch die Gatter 26 bzw. 34 geliefert
werden. Jedoch ist die im Schema der 1 gewählte Lösung in
dem Sinne anders, dass das Ausgangssignal Φ3' des Gatters 26 nicht benutzt
wird, sondern dass ein anderes Signal Φ3" benutzt wird, das
von einem Gatter 90 erzeugt wird, dessen zwei Eingangsanschlüsse mit
dem Ausgangsanschluss des Taktschaltkreises, der das Signal Φ3 liefert, bzw. mit einem anderen Ausgangsanschluss 92 des
Decodierschaltkreises 24 (DEC2)
verbunden sind. Ein Signal auf dem Ausgangsanschluss 92 entspricht
einem vorbestimmten Befehlscode, der anzeigt, dass die Arithmetik-Logik-Einheit 36 (ALU) eingesetzt
werden wird und dass daher die Register 38 und 42 geladen
werden müssen.
Man erhält
somit auf dem Ausgangsanschluss des Gatters 90 ein Signal Φ3'', das zur gleichen
Zeit wie Φ3' auftritt
und das an den Takteingangsanschluss der Register 38 und 42 angelegt
wird.
-
Alle Register des Schemas der 1, darunter die des Speichers 50,
sind vom Typ eines aktiven Abgleichs auf den Zustand des Taktsignals Φ, das an sie
angelegt wird. Diese Funktionsweise wird durch ein Rechteck in jedem
Register dargestellt, verbunden mit einer Identifikation des bedingten
oder nicht bedingten Taktsignals.
-
Die Arithmetik-Logik-Einheit 36 liefert
auf den Ausgangsanschlüssen 72 Signale,
die Weichensignale FL genannt werden, ebenfalls als „Flaggen" bezeichnet, und
diese Signale werden namentlich an den Multiplex-Schaltkreis 20 angelegt.
-
Die durch die Decodierkreise 24 und 32 gelieferten
Signale können
im Mikroprozessor für
andere Ziele als die, das Laden der Befehlsregister 28 und 30 zu
konditionieren, eingesetzt werden. Namentlich ist eine elektrische
Schiene 80 zwischen dem Decodierschaltkreis 24 (DEC2) und dem Decodierschaltkreis 32 vorgesehen,
um letzteren davon zu informieren, ob das Register 28 (IR2) geladen wurde oder nicht geladen wurde.
Zu diesem Zweck haben die Decodierschaltkreise 24 und 32 zwei
Ausgangsanschlüsse,
einen 82 oder 86 für die Verbindung mit dem Gatter 26 bzw. 34,
den anderen 84 oder 88 für die Verbindung mit dem folgenden
Decodierschaltkreis, wie der mit 32 in 1 bezeichnete. Die beiden Ausgangsanschlüsse 82, 84 oder 86, 88 jedes
Decodierschaltkreises 24 oder 32 könnten auch
zusammenfallen, sofern sie der Decodierung einer gleichen Zahl mit
der gleichen Polarität
ensprächen.
Im allgemeinen Fall müssen
die Polaritäten
der Decodiersignale aber unterschiedlich sein können, und die zu decodierenden
Codes können
ebenfalls unterschiedlich sein.
-
Die Funktion des schematisch in 1 dargestellten Mikroprozessors
wird jetzt in seiner Beziehung zu den Merkmalen der Erfindung beschrieben werden,
und es wird auf die Signaldiagramme der 2A bis 2N Bezug
genommen werden.
-
2A stellt
die Zyklen des Taktsignals Φ dar,
wobei jeder Zyklus in zwei Phasen zerfällt: Φ1, Φ2 für
den ersten Zyklus, Φ3, Φ4 für
den zweiten Zyklus, Φ5, ... für
den dritten Zyklus und so fort. Die Diagramme der 2A, 2C, 2E, 2G, 2I, 2K und 2N stellen Zustandssignale dar, während die
schraffierten Diagramme der 2B, 2D, 2F, 2H, 2J, 2L und 2M die Codewerte
darstellen, die an den Ausgangsanschlüssen der verschiedenen Register,
der Speicher und der Arithmetik-Logik-Einheit ALU auftreten, wie in
den Diagrammen angedeutet.
-
In Phase Φ1 (2A) wird das Vorladen des Speichers
ROM (2C) in Hinblick
auf sein Auslesen durch den im Programmzähler PC (2B) enthaltenen Adressencode ausgeführt. Der
Speicher ROM wird während
der Phase Φ2 gelesen (2D), und
sein Inhalt wird im Befehlsregister IR1 (2F) aufgezeichnet, und zwar
infolge der Gegenwart von Signal Φ2 (2E), das an den Takteingangsanschluss
des Registers IR2 angelegt ist. Sobald das Register
IR1 geladen ist, wird der Befehl, den es
enthält,
im Multiplex-Schaltkreis MUX teilweise decodiert, um festzustellen,
ob der Befehl eine Weiche ist. Wenn dies der Fall ist, wählt der
Multiplex-Schaltkreis MUX zwischen der Sprungadresse und der folgenden
Befehlsadresse, die im Register 18 zur Zeit von Φ2 enthalten sind, und zwar in Abhängigkeit
von den Weichenbedingungen, die durch die Signale FL, als Flaggen
bekannt, gegeben werden, die von der Arithmetik-Logik-Einheit ALU
geliefert werden.
-
In der Phase Φ3 wird
ein neuer Befehlsadressencode in den Programmzähler PC geladen, und zwar entweder
die Sprungadresse oder die folgende Programmadresse. Bei einer Weiche
liefert der Decodierschaltkreis DEC2 kein
Signal für
die Öffnung des
Gatters 26, so dass das Register IR2 sich
nicht in die Ladestellung begeben kann, um den im Register IR1 enthaltenen Code (der ein Weichenbefehl
ist) aufzuzeichnen, und es bleibt daher in der Stellung der Speicherung
der vorhergehenden Übertragung.
-
Wenn keine Weiche vorliegt, liefert
der Decodierschaltkreis DEC2 ein Öffnungssignal
für das
Gatter 26, so dass das Register IR2 mit
dem Inhalt des Registers IR1 geladen wird,
sobald das Signal Φ3' erscheint.
Sobald die Ladung ins Register IR2 (2H) erfolgt ist, wird eine
teilweise Decodierung des Befehlscodes durch den Schaltkreis DEC3 realisiert. Wenn diese Decodierung feststellt,
dass es sich um eine durch die Arithmetik-Logik-Einheit ALU auszuführende Operation handelt, öffnet das
Decodiersignal das Gatter 34, so dass das Register IR3 sich in die Stellung begibt, den Inhalt
des Registers IR2 zu laden, sobald das Signal Φ4' erscheint.
-
Das Signal Φ4' zeigt eine Operation
der Einheit ALU an und dient dazu, die Register 40 und 44 (2L) vom Eingangsanschluss
dieser Einheit mit den Inhalten der Register 38 und 42 (2J) zu laden, die im Voraus
durch die Codes geladen worden waren, die während Phase Φ3 (2I)
aus dem Speicher 50 gelesen worden waren, und zwar dank eines
Signals Φ3',
das durch den Decodierkreis 24 geliefert wurde.
-
Die Operationen in der Einheit 36 (ALU)
werden während
der Phase Φ4 ausgeführt,
und zwar so, dass am Ende dieser Phase diese Einheit einerseits die
Signale FL, als Flaggen bekannt, und andererseits den im Speicher 50 (2M) über die Schiene BUS 48 aufzuzeichnenden
Datencode liefert. Das Aufzeichnen im Speicher 50 wird
während
der Phase Φ5 (2N)
realisiert.
-
Die Schiene 80 bezweckt,
den Decodierkreis 32 davon zu informieren, ob das Befehlsregister 28 (IR2) geladen oder nicht geladen worden ist.
Wenn das Register 28 (IR2) geladen
worden ist, dann muss der Decodierschaltkreis 32 (DEC3) bestimmten, ob der laufende Befehl weiter
in der folgenden Stufe der Überlappungsstruktur
ausgeführt
werden muss oder ob er auf diesem Niveau beendet ist. Wenn das Register 28 (IR2) nicht geladen worden ist, dann darf der Decodierkreis 32 (DEC3) keinerlei Signal liefern, da der Befehl
bereits beendet ist. Da aber das Register 28 (IR2) nicht geladen worden ist, behält es seinen
alten Wert, was dazu führen
müsste,
den vorhergehenden Befehl erneut auszuführen. Um eine solche nochmalige
Ausführung
zu verhindern, ist es nötig, über das
Signal auf der Schiene 80 den folgenden Sperrkreis B3 davon zu informieren.
-
Die obige Beschreibung der Funktion
des erfindungsgemässen
Mikroprozessors zeigt, dass ein Befehl in fünf Phasen ausgeführt wird. Übrigens
wird nur eine langsame Operation pro Phase realisiert, und zwar
die Vorladung des Speichers 10, das Auslesen des Speichers 10,
das Auslesen des Speichers 50, die Operation der Einheit 36 (ALU)
und das Aufzeichnen im Speicher 50, wobei jede Phase ausserdem
einfache Decodierungen umfasst. Daraus ergibt sich, dass die Grenzfrequenz
des Taktsignals hoch ist.
-
Da ein Befehl in fünf Phasen
ausgeführt
wird, erlauben es die verschiedenen Niveaus der sich überlappenden
Architektur, in jedem Zyklus einen Befehl auszuführen. Ausserdem erlaubt es
die Art und Weise, vom ersten Befehlsregister IR1 an
Weichen zu behandeln, dass keinerlei Verlust an Leistungsfähigkeit
auftreten. Es gibt daher ebenso viele ausgeführte Befehle wie Zyklen.
-
Der Verbrauch eines solchen Systems
ist optimal, da nur die für
die Ausführung
des Befehls nützlichen
Elemente funktionieren, die anderen aber nicht beansprucht werden.
Darüber
hinaus werden die verschiedenen Register IR2,
IR3, SREGA und SREGB nur geladen, wenn die
an ihren Eingängen
liegenden Werte stabil sind, wodurch es somit möglich ist, die verschiedenen
Operationen einzig mit Werten auszuführen, die frei von instabilen
Zuständen
sind, und zahlreiche unnütze Übergänge zu vermeiden,
d. h. eine Operation mehrere Male auszuführen, wie in den meisten Mikroprozessoren.
-
Es ist zu vermerken, dass diese neue
Architektur und die Abfolgesteuerung, die davon Gebrauch macht,
zu einem vollkommenen Gleichlauf zwischen der Ankunft eines neuen
Befehls bei der Einheit 36 (ALU) und den neuen Daten, mit
denen der Befehl auszuführen
ist, führen.
-
Der Mikroprozessor der 3 unterscheidet sich von
dem der 1 durch die
folgenden Aspekte:
-
- – Fehlen
des Registers 22 (IR1) am Ausgang
des Speichers 10, was dazu führt, dass der Speicher 28 (IR2) während
des Auslesens des Speichers 10 geladen wird,
- – Ersatz
der beiden Registerpaare 38, 40 und 42, 44 durch
je ein einziges Register vom Typ einer aktiven Kippschaltung an
der Vorderflanke des Taktsignals ck,
- – Ersatz
des Registers 30 (IR3) mit aktiver
Zustandssynchronisation durch ein Register 60 (IR3') vom
Typ einer aktiven Kippschaltung an der Vorderflanke des Taktsignals
ck,
- – Fehlen
des Registers 18 und sein Ersatz durch einen Programmzähler 52 (PC') vom Typ einer aktiven
Kippschaltung an der Rückflanke
des Taktsignals ck.
-
Um das Register 22 (IR1) nicht einsetzen zu müssen, wird die Tatsache ausgenutzt,
dass der Speicher 10 (ROM) so vorzuladen ist, dass sich
zu Beginn des Auslesens alle Ausgänge im Zustand „1" befinden. Es wird
deshalb dafür
Sorge getragen, dass alle Betriebs codes der Weichen urteilsfähig sind,
damit ein einfaches Auffinden bestimmter „0"-Werte automatisch einschliesst, dass
der Befehl in das Register 28 (IR2)
geladen werden muss.
-
Durch Weglassen des Registers 22 (IR1) wird somit der Energieverbrauch verringert,
da dieses Register das einzige ist, das bedingungslos geladen wird,
d. h. bei jedem Auslesen. Übrigens
kann die Decodierung durch den Schaltkreis 32 (DEC3), die bei weitem am längsten braucht, mit dem Auslesen
des Befehls beginnen, wodurch sich ein Gewinn bei der Grenzfrequenz
ergibt.
-
Um diesen Gewinn bei der Grenzfrequenz noch
zu erhöhen,
ist es auch möglich,
die Operationen der Einheit 36 (ALU) während eines Teiles der Phase Φ5 zu verlängern,
wenn diese Operationen langsam sind, wie zum Beispiel im Falle einer
parallel/parallel-Multiplikation.
-
Der Mikroprozessor nach dem Schema
der 3 funktioniert ähnlich wie
der nach dem Schema der 1,
während
die Signaldiagramme die der 4A bis 4K sind, wobei die 4L, 4M und 4N die Operationen
anzeigen, die während
aufeinanderfolgender Zyklen durch das Register 10 (4L), die Einheit 36 (4M) und den Speicher 50 (4N) ausgeführt werden
können,
wobei Rechtecke in starken Linien für einen aus dem Speicher 10 gelesenen Befehl
die Weiterleitung der Information von einer Phase zur folgenden
andeuten.
-
Die beiden Ausführungsbeispiele, die unter Bezugnahme
auf die 1 bis 4 beschrieben worden sind, machen für zwei Befehlsregister,
IR2 und IR3, von
der Erfindung Gebrauch, aber es ist klar, dass die Erfindung auf
eine unbegrenzte Anzahl von Befehlsregistern anwendbar ist, wie
es das Schema der 5 zeigt.
-
In diesem Schema sind die (m – 1) Befehlsregister
einer Kette in Reihe geschaltet, aber nur die Register IR2, IRn–1, IRn,
IRn+1 und IRm sind
dargestellt, während
die Register IR3, ..., IRn–2,
IRn+2, ... dazwischen nicht dargestellt
sind.
-
Zu jedem Befehlsregister gehört eine
Sperrvorrichtung B2 , ..., Bn–1 , Bn , Bn+1 ,
..., Bm zur Aktivierung des Ladens
des betreffenden Rgisters in herkömmlicher Art und Weise. Zu
diesem Zweck umfasst jede Sperrvorrichtung einen Decodierkreis DEC2, DECn–1, DECn,
DECn+1, ..., DECm,
dessen Eingangsanschlüsse
mit den Ausgangsanschlüssen
des in der Kette jeweils vorangehenden Befehlsregisters oder mit
dem Speicher 10 für
das erste Befehlsregister IR25m der Kette
verbunden sind. Es versteht sich, dass die Ausgangsanschlüsse eines
Registers mit den Eingangsanschlüssen
des in der Kette nachfolgenden Registers verbunden sind, und es
läuft auf dasselbe
hinaus, wenn gesagt wird, dass die Eingangsanschlüsse eines
Decodierschaltkreises mit den Eingangsanschlüssen des ihm zugehörigen Befehlsregisters
verbunden sind.
-
Ein erster Ausgangsanschluss S2 , ... , Sn–1 , Sn , Sn+1 ,
... , Sm jedes Decodierschaltkreises
DEC ist mit einem ersten Anschluss eines Gatters P (P2 , ... , Pn–1 , Pn , Pn+1 ,
... , Pm ) verbunden, dessen anderer
Eingangsanschluss mit dem Taktschaltkreis 8 (HOR) verbunden
ist, um das ihn betreffende Phasensignal Φ2,
... , Φn–1, Φn, Φn+1, ... , Φm zu
empfangen. Der Ausgangsanschluss des Gatters P ist mit dem Eingangsanschluss
des Taktsignals des Befehlsregisters verbunden, zu dem die Schleife
gehört.
Wenn der im vorausgehenden Register enthaltene Befehlscode dem des
Decodierkreises DEC entspricht, liefert das Gatter ein Signal Φ1',
... , Φn–1', Φn', Φn+1',
... , Φm' für das Laden
des Registers, an das das Signal angelegt wird.
-
Jeder Decodierkreis DEC2,
.... , DECn–1, DECn, DECn+1, ... ,
DECm hat einen zweiten Ausgangsanschluss
S2',
... , Sn–1', Sn', Sn+1', der mit einem zusätzlichen
Eingang En–1,
En, En+1, ... ,
Em des in der Kette der Register folgenden
Decodierkreises verbunden ist. Diese Verbindungen haben, wie weiter oben
bezüglich
der 1 und 3 erklärt worden ist, den Zweck, jede
Sperrschleife über
den Zustand der vorangehenden Sperrschleife zu informieren.
-
Es versteht sich, dass jeder Decodierschaltkreis,
wie er bezüglich
des Schemas der 1 beschrieben
worden ist, weitere Ausgangsanschlüsse haben kann, jeder einer
unterschiedlichen Codierung aller oder eines Teiles der Ziffern
des Befehlscodes entsprechend, und dass die an diesen anderen Ausgangsanschlüssen erscheinenden
Signale vielfältig benutzt
werden können,
wie dies bezüglich
der 1 beschrieben worden
ist.
-
Der erfindungsgemässe Mikroprozessor weist die
folgenden Vorteile auf:
-
- – eine
grosse Leistungsfähigkeit,
da ein Befehl pro Taktzyklus ausgeführt wird;
- – eine
allgemein einfachere Architektur als die im Stande der Technik,
daher ein Gewinn an Fläche und
eine Verringerung des Energieverbrauchs;
- – in
Anbetracht der einfachen Architektur und der Tatsache, dass ein
Befehl in fünf
Phasen ausgeführt
wird, eine erhöhte
maximale Frequenz;
- – einen
sehr niedrigen Verbrauch, da es pro Befehl weniger Zyklen und daher
weniger unnütze Übergänge gibt;
- – bei
einer gegebenen Leistungsfähigkeit
ist es möglich,
eine geringere Taktfrequenz zu haben, daher einen geringerer Stromverbrauch
und die Möglichkeit,
die Spannung herabzusetzen;
- – nur
die vom Befehl betroffenen Befehlsregister sowie die zur Ausführung des
Befehls hinzukommenden Schaltkreise sind aktiv;
- – im
Gegensatz zu den klassischen Verfahren mit Phasenüberschneidung
ist es nicht notwendig, eine Behandlung des Taktsignals auszuführen.