DE69624484T2 - Organisationssystem und verfahren zur reihenfolgebestimmung der schaltungen eines mikroprozessors - Google Patents

Organisationssystem und verfahren zur reihenfolgebestimmung der schaltungen eines mikroprozessors Download PDF

Info

Publication number
DE69624484T2
DE69624484T2 DE69624484T DE69624484T DE69624484T2 DE 69624484 T2 DE69624484 T2 DE 69624484T2 DE 69624484 T DE69624484 T DE 69624484T DE 69624484 T DE69624484 T DE 69624484T DE 69624484 T2 DE69624484 T2 DE 69624484T2
Authority
DE
Germany
Prior art keywords
register
dec
input
command
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69624484T
Other languages
English (en)
Other versions
DE69624484D1 (de
Inventor
Jean-Marc Masgonty
Claude Arm
Christian Piguet
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EM Microelectronic Marin SA
Original Assignee
Centre Suisse dElectronique et Microtechnique SA CSEM
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Centre Suisse dElectronique et Microtechnique SA CSEM filed Critical Centre Suisse dElectronique et Microtechnique SA CSEM
Publication of DE69624484D1 publication Critical patent/DE69624484D1/de
Application granted granted Critical
Publication of DE69624484T2 publication Critical patent/DE69624484T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3873Variable length pipelines, e.g. elastic pipeline
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Description

  • 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.

Claims (5)

  1. Mikroprozessor mit wenigstens einem Programmspeicher (10, ROM), der von einem Programmzähler (14/PC) über einen Adressierschaltkreis (12) adressiert wird und der an seinen Ausgangsanschlüssen einen Befehlscode liefert, wenn er adressiert wird, wenigstens einem Befehlsregister (28/IR2), das durch ein Taktsignal (Φ, ck) gesteuert geladen wird, wobei das Taktsignal an einen Takteingangsanschluß angelegt wird, wobei das Laden dem Wert eines Codes untergeordnet ist, in dem der Befehlscode, der aus dem Programmspeicher (10/ROM) gelesen wird, aufgezeichnet werden muß, und einem Taktschaltkreis (8/HOR), der Taktsignale für die Abfolgesteuerung der Operationen, welche von dem Mikroprozessor ausgeführt werden, liefert, dadurch gekennzeichnet, daß der Mikroprozessor wenigstens zwei Befehlsregister aufweist, die in Folge verwendet werden, und daß jedes Befehlsregister ab dem zweiten einer Sperreinrichtung (B2 , B3 , ... Bn–1 , Bn , Bn+1 , ... Bm ) zugeordnet ist, welche Eingangsanschlüsse und wenigstens einen ersten und einen zweiten Ausgangsanschluß aufweist, wobei die Eingangsanschlüsse mit den Eingangsanschlüssen des zugehörigen Registers, mit dem zweiten Ausgangsanschluß (S'2 , ... S'n–1 , S'n , S'n+1 , ... Sm ) der vorhergehenden Sperreinrichtung und mit einem Ausgangsanschluß des Taktschaltkreises (8/HOR) verbunden sind, der erste Ausgangsanschluß der Sperreinrichtung mit dem Takteingangsanschluß des zugehörigen Befehlsregisters verbunden ist, die Sperreinrichtung vorgesehen ist, um an dem ersten Ausgangsanschluß ein Signal (Φ') zum Laden des zugehörigen Befehlsregisters zu liefern, wenn der in dem vorangehenden Register gelesene Befehlscode eine Ziffernkombination enthält, die in einer vorgegebenen Gesamtheit von Kombinationen auftritt.
  2. Mikroprozessor nach Anspruch 1, dadurch gekennzeichnet, daß jede Sperreinrichtung (B2 , .. Bn–1 , Bn , Bn+1 , .. Bm ) einen Dekodierschaltkreis (DEC2, ...DECn–1, DECn+1, ... DECm) und ein elektronisches Gatter (P2 , ... Pn–1 , Pn , Pn+1 , ... Pm ) aufweist, wobei jeder Dekodierschaltkreis Eingangsanschlüsse und wenigstens einen ersten und einen zweiten Ausgangsanschlße aufweist, die Eingangsanschlüsse einerseits mit den Eingangsanschlüssen des zugehörigen Befehlsregisters und andererseits mit dem zweiten Ausgangsanschluß (S'2 , ... Sn–1 , S'n , S'n+1 , ...) des Dekodierschaltkreises (DEC2, ... DECn–1, DECn, DECn+1, ...) der vorangehenden Sperreinrichtung verbunden sind, der erste Ausgangsanschluß (S2 , ... Sn–1 , Sn , Sn+1 , ... Sm ) des Dekodierschaltkreises mit einem der zwei Eingangsanschlüsse des Gatters (P2 , ... Pn–1 , Pn , Pn+1 , Pn , Pn+1 , ... Pm ) und der andere Eingangsanschluß des Gatters mit dem Taktschaltkreis verbunden ist, das Gatter (P2 , ... Pn–1 , Pn , Pn+1 , Pn , Pn+1 ... Pm ) einen Ausgangsanschluß aufweist, der dem ersten Ausgangsanschluß der Sperreinrichtung entspricht.
  3. Mikroprozessor nach Anspruch 1 oder 2, mit einer Arithmetik-Logik-Einheit (36/ALU), die einem Datenspeicher (50/REGS/RAM) zugeordnet ist, Eingangsregistern (54 und 56) für Daten in der Einheit (36/ALU) und einem Befehlsregister (60), das den Operationscode enthält, der mit den Daten in der Einheit auszuführen ist, dadurch gekennzeichnet, daß das Signal (ck'), welches von der Sperreinrichtung (B3 ) geliefert wird, welche dem Befehlsregister (60, IR'3) zugeordnet ist, an den Takteingangsanschluß der Eingangsregister (54, 56) angelegt wird.
  4. Mikroprozessor nach Anspruch 3, bei dem die Dateneingangsregister in der Einheit (36/ALU) jeweils ein Registerpaar (38, 40 und 42, 44) umfassen, dadurch gekennzeichnet, daß das Signal (Φ'4), welches von der Sperreinrichtung (B3 ) geliefert wird, die dem Befehlsregister (30, IR3) zugeordnet ist, einerseits an den Taktsignal-Eingangsanschluß der Eingangsregister (40, 44) angelegt wird, die mit der Einheit (36/ALU) direkt verbunden sind, und daß ein Signal (Φ''3), welches von einer Sperreinrichtung (B2 ) geliefert wird, die dem Befehlsregister (28/IR2) am Ausgang des Programmspeichers (10/ROM) zugeordnet ist, andererseits an den Taktsignal-Eingangsanschluß der Eingangsregister (38, 42), welche direkt mit dem Datenspeicher (50) verbunden sind, angelegt wird.
  5. Mikroprozessor nach einem der vorangehenden Ansprüche 2 bis 4, dadurch gekennzeichnet, daß jeder Dekodierschaltkreis (DEC2, ... DECn–1, DECn, DECn+1) wenigstens zwei Ausgangsanschlüsse aufweist, wobei jeder Ausgangsan schluß ein Decodiersignal liefert, wenn der Befehlscode, der in dem zugehörigen Register enthalten ist, eine vorgegebene Ziffernkombination aufweist, und jedes Decodiersignal zum Steuern einer Operation in dem Mikroprozessor verwendet wird.
DE69624484T 1995-07-31 1996-07-30 Organisationssystem und verfahren zur reihenfolgebestimmung der schaltungen eines mikroprozessors Expired - Lifetime DE69624484T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9509316A FR2737589B1 (fr) 1995-07-31 1995-07-31 Systeme d'organisation et procede de sequencement des circuits d'un microprocesseur
FR9509316 1995-07-31
PCT/FR1996/001203 WO1997005545A1 (fr) 1995-07-31 1996-07-30 Systeme d'organisation et procede de sequencement des circuits d'un microprocesseur

Publications (2)

Publication Number Publication Date
DE69624484D1 DE69624484D1 (de) 2002-11-28
DE69624484T2 true DE69624484T2 (de) 2004-04-08

Family

ID=9481568

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69624484T Expired - Lifetime DE69624484T2 (de) 1995-07-31 1996-07-30 Organisationssystem und verfahren zur reihenfolgebestimmung der schaltungen eines mikroprozessors

Country Status (8)

Country Link
US (1) US6275928B1 (de)
EP (1) EP0842465B1 (de)
AT (1) ATE226741T1 (de)
CA (1) CA2228703A1 (de)
DE (1) DE69624484T2 (de)
FR (1) FR2737589B1 (de)
TW (1) TW359798B (de)
WO (1) WO1997005545A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3853098B2 (ja) * 1999-01-18 2006-12-06 シャープ株式会社 データ駆動型情報処理システム
US6651176B1 (en) * 1999-12-08 2003-11-18 Hewlett-Packard Development Company, L.P. Systems and methods for variable control of power dissipation in a pipelined processor

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58106636A (ja) * 1981-12-18 1983-06-25 Hitachi Ltd パイプライン演算装置
US4980817A (en) * 1987-08-31 1990-12-25 Digital Equipment Vector register system for executing plural read/write commands concurrently and independently routing data to plural read/write ports
US5471626A (en) * 1992-05-06 1995-11-28 International Business Machines Corporation Variable stage entry/exit instruction pipeline
JP2636695B2 (ja) * 1993-08-03 1997-07-30 日本電気株式会社 パイプライン処理回路
US5526501A (en) 1993-08-12 1996-06-11 Hughes Aircraft Company Variable accuracy indirect addressing scheme for SIMD multi-processors and apparatus implementing same
US5835753A (en) * 1995-04-12 1998-11-10 Advanced Micro Devices, Inc. Microprocessor with dynamically extendable pipeline stages and a classifying circuit

Also Published As

Publication number Publication date
WO1997005545A1 (fr) 1997-02-13
EP0842465A1 (de) 1998-05-20
TW359798B (en) 1999-06-01
EP0842465B1 (de) 2002-10-23
US6275928B1 (en) 2001-08-14
FR2737589B1 (fr) 1997-09-12
FR2737589A1 (fr) 1997-02-07
DE69624484D1 (de) 2002-11-28
CA2228703A1 (fr) 1997-02-13
ATE226741T1 (de) 2002-11-15

Similar Documents

Publication Publication Date Title
DE2918223C2 (de) Schnittstelleneinrichtung zum Einsatz zwischen einem Digitalrechner und einem Speichergerät und ein Verfahren zum Synchronisieren bitseriell einlaufender Daten
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE3638572C2 (de)
DE1524239A1 (de) Verfahren zur Lokalisierung eines Fehlers in einer Anlage mit mindestens zwei parallel arbeitenden Rechengeraeten
DE2117936B2 (de) Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems
DE2536622C2 (de) Verzweigungssteuerung mit flexibler Auswahl von Steuerworten
DE2339636A1 (de) Programmsteuereinrichtung
DE2452214A1 (de) Mikroprozessor mit unmittelbarer und indirekter adressierung
DE2926322A1 (de) Speicher-subsystem
DE1499190C3 (de) Elektronische Datenverarbeitungsanlage
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
DE2245284A1 (de) Datenverarbeitungsanlage
DE2403039C2 (de) Einrichtung zur Befehlsausführung in einer adressenerweiterten elektronischen Datenverarbeitungsanlage
DE69624484T2 (de) Organisationssystem und verfahren zur reihenfolgebestimmung der schaltungen eines mikroprozessors
DE2906685A1 (de) Instruktionsdecodierer
DE1524117B1 (de) Datenverarbeitungsanlage mit Umlaufregistern
DE2936801C2 (de) Steuereinrichtung zur Ausführung von Instruktionen
DE2622140C3 (de) Einrichtung zur Steuerung manueller Operationen
DE2265696C2 (de) Rechenanordnung
DE2234982A1 (de) Expanderschaltung fuer ein programmierbares steuergeraet
DE3428424A1 (de) Verfahren und zentralprozessor fuer eine ablaufsteuerung
DE2954533C2 (de)
DE2440627C2 (de) Mikroprogrammierter Rechner
DE3432837A1 (de) Datenkompressions- und datenexpandiereinrichtung zum uebertragen bzw. speichern von daten
DE2502005C2 (de) Schaltungsanordnung zur Zuordnung von Adressen zu Operationen zwecks Ausführung von Befehlen in einer Datenverarbeitungseinrichtung

Legal Events

Date Code Title Description
8332 No legal effect for de
8370 Indication related to discontinuation of the patent is to be deleted
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: EM MICROELECTRONIC-MARIN S.A., MARIN, CH

8328 Change in the person/name/address of the agent

Representative=s name: SPARING ROEHL HENSELER, 40237 DUESSELDORF