DE69218493T2 - Mikroprozessor mit Haltbefehl - Google Patents

Mikroprozessor mit Haltbefehl

Info

Publication number
DE69218493T2
DE69218493T2 DE69218493T DE69218493T DE69218493T2 DE 69218493 T2 DE69218493 T2 DE 69218493T2 DE 69218493 T DE69218493 T DE 69218493T DE 69218493 T DE69218493 T DE 69218493T DE 69218493 T2 DE69218493 T2 DE 69218493T2
Authority
DE
Germany
Prior art keywords
instruction
unit
bus
address
bus cycle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69218493T
Other languages
English (en)
Other versions
DE69218493D1 (de
Inventor
Hiroaki C O Nec Corpora Kaneko
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.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric Co Ltd
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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Publication of DE69218493D1 publication Critical patent/DE69218493D1/de
Application granted granted Critical
Publication of DE69218493T2 publication Critical patent/DE69218493T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/22Microcontrol or microprogram arrangements
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30079Pipeline control instructions, e.g. multicycle NOP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • G06F11/364Software debugging by tracing the execution of the program tracing values on a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Advance Control (AREA)
  • Microcomputers (AREA)

Description

    Hintergrund der Erfindung Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf einen Mikroprozessor und insbesondere auf eine Statusnachricht eines Mikroprozessors mit einer Anweisungsverarbeitungsfunktion zum Verarbeiten eines Interrupt oder eines vorübergehenden Halts im Verlauf der Ausführung einer Anweisung.
  • Beschreibung der verwandten Technik
  • Ein Anweisungssatz eines Mikroprozessors kann eine Anweisung zum Unterbrechen oder vorübergehenden Anhalten der Ausführung der Anweisung aufweisen, um die Ausführung der Verarbeitung nachfolgender Anweisungen zu verhindern. Zum Beispiel kann diese Anweisung mit einer HALT-Anweisung in einem 32-Bit-Mikroprozessor i80386 der Intel Corp. beispielhaft dargestellt werden. Diese HALT- Anweisung hat eine Funktion des Verhinderns der Ausführung von Anweisungen, die nach der HALT-Anweisung beschrieben sind, und erhalten den internen Status des Mikroprozessors. Diese Bedingung wird eine "Haltbedingung" genannt. Die Haltbedingung wird durch das Aktivieren eines externen Anschlusses für ein Rücksetzen bzw. Reset, durch einen nicht-maskierbaren Interrupt oder durch einen maskierbare Interrupt ausgelöst.
  • Wenn eine Rücksetzanforderung aktiviert ist, wird der Mikroprozessor initialisiert, und zwar ähnlich zu dem Fall, bei dem gerade eine andere Anweisung als die "HALT- Anweisung" ausgeführt wird. Andererseits wird, wenn eine nicht-maskierbare Interrupt-Anforderung oder eine maskierbare Interrupt-Anforderung aktiviert wird, eine Interruptverarbeitung ausgeführt, und zwar ähnlich zu dem Fall, bei dem eine andere Anweisung als die HALT-Anweisung ausgeführt wird. Die Interrupt-Verarbeitung wird allgemein beim Abschluß der Ausführung der Anweisung betätigt. Jedoch wird die Interrupt-Anforderung sofort bestätigt, wenn sich der Mikroprozessor in der Haltbedingung befindet.
  • In dem oben erwähnten Mikroprozessor i80386 wird der Status von Register-Ressourcen (PC: Programmzähler, CS: Codesegment-Register, PSW: Prorammstatuswort) automatisch in einem Stapelbereich innerhalb eines Speichers gesichert, wenn der Interrupt bestätigt wird. Sie werden gesichert, um nach Abschluß der Interrupt-Verarbeitung die Ausführung der unterbrochenen Anweisungssequenz von einer Anweisung aus neu zu starten, die sich bei einer Adresse befindet, die sich neben der Adresse befindet, bei der die HALT-Anweisung angeordnet worden ist.
  • Die typischerweise durch die HALT-Anweisung dargestellte Halt-/Interrupt-Anweisung wird für die folgenden Zwecke verwendet: 1) Anhalten des Mikroprozessors beim Abschluß der Anweisungsausführungsverarbeitung.
  • 2) Warten auf eine von einer Interrupt- Anforderung begonnene Echt zeitverarbeitung.
  • 3) Beseitigen von Fehlern bzw. Debuggen durch Ersetzen einer Anweisung in einem Programm.
  • Wenn eine Halt-/Interrupt-Anweisung ausgeführt wird, tritt keine externe Veränderung im Status von Anschlüssen wie etwa eines Anschlusses zum Starten eines Buszyklus ein. Somit ist es erforderlich festzustellen, an welcher Position der Anweisungssequenz sich der Status im Verlauf des Debuggens des Programms auf die Haltebedingung geändert hatte.
  • Bei dem oben erwähnten Mikroprozessor i80386 kann der Übergang zu einer Haltbedingung durch Starten eines speziellen, als "HALT-Anzeigezyklus" bezeichneten Buszyklus erkannt werden. Der HALT-Anzeigezyklus hat einen bestimmten Wert ("1011b", wobei der Index "b" eine Binärdarstellung bedeutet) für ein Statussignal (BE#3-BE#0) zum Erkennen der Art des Buszyklus, um ihn von den Buszyklen zum Zugriff auf den Speicher und auf eine I/Q(Eingabe/Ausgabe)-Einheit zu unterscheiden.
  • Der Buszyklus wird im allgemeinen in zwei Arten unterteilt: in einen Schreibtyp zum Ansteuern eines Datenbusanschlusses durch den Mikroprozessor und in einen Lesetyp zum Halten des Datenbusanschlusses in einer Bedingung hoher Impedanz (Hi-Z). Der HALT-Anzeigezyklus des Mikroprozessors i80386 ist der Buszyklus vom Schreibtyp, bei dem alle Adressbusanschlüsse (A&sub3;&sub1;-A&sub2;) auf "0" angesteuert werden und bei dem ein undef inierter Wert auf den Datenbusanschlüssen (D&sub3;&sub1;-D&sub0;) angesteuert wird.
  • Unter anderen Verfahren zum Mitteilen des übergangs zur Haltbedingung gibt es ein im 16-Bit- Mikroprozessor MC68000 von Motorola Inc. verwendetes weiteres Verfahren. Der Mikroprozessor MC68000 weist einen Anschluß HALT auf, der nur zum Anzeigen der Haltbedingung verwendet wird. Dieser Anschluß wird aktiviert, wenn der Mikroprozessor in die Haltbedingung übergeht. Der Anschluß HALT ist ein Eingabe/Ausgabe-Anschluß. Er zeigt nicht nur die Haltbedingung als Ausgabeanschluß an, sondern kann auch als Eingabeanschluß von der Peripherie aktiviert werden, wenn sich der Mikroprozessor in einer anderen Bedingung als der Haltbedingung befindet, so daß der Mikroprozessor vorübergehend zwangsweise in die Haltbedingung überführt wird.
  • In diesem Fall wird der spezielle Buszyklus zum Anzeigen der Haltbedingung nicht gestartet.
  • Im Fall des Debuggens eines Programms, das eine Halt/Interrupt-Anweisung enthält, ist es notwendig, die Register-Ressourssen oder den internen Status des Mikroprozessor zu kennen&sub1; wenn die Halt/Interrupt-Anweisung ausgeführt worden ist.
  • Beim Debuggen ist die wichtigste Register- Ressource ein Programmzähler, der dargestellt, bis wohin die Anweisungssequenz verarbeitet worden ist. Es ist möglich, den Fluß der Programmausführung in einem gewissen Ausmaß durch Beobachten des Status des im Verlauf des Speicherlesezyklus (Holzyklus) zum Holen einer Anweisung ausgegebenen Adressbusanschlusses zu erkennen.
  • Es ist ebenso möglich, den Adressbereich zu erraten, in dem die Halt/Interrupt-Anweisung ausgeführt worden ist, und zwar durch Speichern des gerade vor dem Start des Haltanzeigezyklus oder der Aktivierung des Anschlusses ausgegebenen Status des Adressbusanschlusses im Holzyklus.
  • Jedoch ist es in den folgenden Situationen ausgehend vom Status des Adressenbusanschlusses im Verlauf des Holzyklus nicht möglich, die Adresse, bei der die Halt/Unterbrechungsanweisung ausgeführt worden ist, korrekt zu identifizieren.
  • (1) In dem Fall, daß der Adressbusanschluß zur Identifizierung der Byteadresse ungenügend ist:
  • Bei dem oben erwähnten Mikroprozessor i80386 hat der Programmzähler eine Breite von 32 Bits, wohingegen der Adressbusanschuß eine Breite von 30 Bits (A&sub3;&sub1;-A&sub2;) hat, um die Wortadresse (32-Bit-Einheitsdaten) zu identifizieren. Es ist somit unmöglich zu wissen, bei welchem Byte innerhalb der Wortadresse diejenige HALT-Anweisung angeordnet ist, die den Übergang zur Haltbedingung verursacht hat.
  • (2) In dem Fall, daß der Mikroprozessor eine Pipeline-Verarbeitung ausführt:
  • Um die Anweisungsausführungs-Leistungsfähigkeit zu verbessern, wird eine Pipeline-verarbeitung angewendet, bei der eine Anweisung in eine Vielzahl von Verarbeitungen (Stufen) aufgeteilt, wobei und die Vielzahl von Verarbeitungen gleichzeitig ausgeführt werden. Typische Pipeline- Stufen weisen (1) das Holen eines Anweisungscodes, (2) das Dekodieren einer Anweisung, (3) die Berechnung der effektiven Adresse des Speicheroperanden, (4) die Adressübersetzung von einer virtuellen Adresse in eine physikalische Adresse (im Falle der Anwendung des virtuellen Speicherverfahrens), (5) das Lesen des Operanden, (6) das Ausführen der Anweisung und (7) das Speichern des Ergebnisses auf.
  • In dem Fall, daß eine große Anzahl von Pipeline- Stufen auf diese Weise angewendet wird, geht das "Holen des Anweisungscodes" dem "Speichern des Ergebnisses" (das am Ende einer Reihe von Anweisungsstufen angeordnet ist) um mehrere Anweisungen voraus. Wenn somit die Ausgabe des Haltanzeigezyklus oder die Aktivierung des Anschlusses HALT von außen erfaßt wird, ist die in dem gerade vorhergehenden Holzyklus angezeigte Adresse der in die Haltbedingung übergegangenen Adresse der Anweisung vorausgegangen, und es ist daher notwendig, die Adresse zu korrigieren.
  • Es ist jedoch nicht möglich, die Anzahl der Anweisungen zu identifizieren, um die der Holzyklus vorausgeht, weil die Verarbeitungszeiten der jeweiligen Pipeline-Stufen abhängig von den Anweisungen unterschiedlich ist.
  • (3) In dem Fall, daß die Anweisungscodes in einem Cache-Speicher gespeichert werden:
  • In dem Fall eines Mikroprozessors mit einem Anweisungscode-Cache-Speicher zum Zwischenspeichern von Anweisungscodes (zum Beispiel der Mikroprozessor i80386) wenn die Anweisungssequenz in dem Anweisungscode-Cache- Speicher (im Fall eines Treffers) gespeichert ist, wird die Anweisung nicht vom externen Speicher geholt (der Holzyklus wird nicht gestartet), und der Anweisungscode wird vom Anweisungscode-Cache-Speicher geliefert.
  • Somit weist für den Fall, daß in die Haltbedingung übergegangen wird, wenn der Anweisungscode- Cache-Speicher ein Treffer ist, der gerade vorhergehende Holzyklus einen gänzlich bedeutungslosen Wert in der Adresserfassung auf.
  • Die EP-A-0 371 418 offenbart eine Vorrichtung und ein Verfahren zum Bereitstellen des Programmzählers eines Mikroprozessors außerhalb der Vorrichtung, wobei der Programmzähler außerhalb der Vorrichtung auf einem dafür bestimmten Bus verfügbar gemacht wird. Somit kann ein Emulatur leicht eine Liste ausgeführter Anweisungsadressen durch Überwachen des Bus erzeugen.
  • Zusammenfassung der Erfindung
  • Es ist eine Aufgabe der vorliegenden Erfindung, einen Mikroprozessor bereitzustellen, bei dem die oben erwähnten Mangel der gewöhnlichen Mikroprozessoren überwunden sind. Insbesondere soll der Mikroprozessor in der Lage sein, den internen Status zum Zeitpunkt des Übergangs in die Haltbedingung ohne Erhöhung der Anzahl von externen Anschlüssen leicht zu transferieren.
  • Diese Aufgabe wird mit einem in Anspruch 1 beschriebenen Mikroprozessor gelöst. Die Unteransprüche zeigen weitere vorteilhafte Entwicklungen des Mikroprozessors von Anspruch 1.
  • Das obige und andere Ziele, Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung bevorzugter Ausführungsbeispiele der Erfindung mit Bezug auf die begleitenden Zeichnungen ersichtlich.
  • Kurze Beschreibung der Zeichnungen Figur 1 ist ein Blockdiagramm eines Ausführungsbeispiels des Mikroprozessors gemäß der vorliegenden Erfindung;
  • Figur 2 ist ein Blockdiagramm eines weiteren Ausführungsbeispiels des Mikroprozessors gemäß der vorliegenden Erfindung;
  • Figur 3 ist ein Zeitdiagramm des Haltanzeigezyklus bei dem ersten Ausführungsbeispiel;
  • Figur 4 ist ein Zeitdiagramm des Haltanzeigezyklus bei dem zweiten Ausführungsbeipiel; und
  • Figur 5 ist ein Blockdiagramm der Buszyklus- Steuereinheit des ersten und des zweiten Ausführungsbeispiel
  • Beschreibung der bevorzugten Ausführungsbeispiels
  • In Figur 1 ist ein Blockdiagramm eines Mikroprozessors 100 mit einer HALT-Anweisung als Halt/Interrupt-Anweisung gemäß der vorliegenden Erfindung gezeigt.
  • Um eine Pipeline-Verarbeitung auszuführen, weist der Mikroprozessor 100 eine Anweisungsholeinheit (in den Zeichnungen mit "IU" bezeichnet) 101, eine Anweisungsdecodiereinheit (in den Zeichnungen mit "DU" bezeichnet) 102, eine Anweisungsausführungseinheit (in den Zeichnungen mit "EU" bezeichnet) 103, eine Effektivadresse- Berechnungseinheit (in den Zeichnungen mit "AU" bezeichnet) 104 und eine Buszyklus-Steuereinheit (in den Zeichnungen mit "BU" bezeichnet) 105 auf. Zusätzlich weist der Mikroprozessor 100 Programmzähler PCIU 111, PCDU 112 und PCEU 113 mit einer Breite von 32 Bit zum Halten der Adresse der jeweils von der Anweisungsholeinheit IU 101, von der Anweisungsdecodiereinheit DU 102 und von der Anweisungsausführungseinheit EU 103 verarbeiteten Anweisungen auf.
  • Die Anweisungsholeinheit IU 101 steuert den Beginn eines Holzyklus und sammelt die von einer externen Einheit ein einem Holzyklus geholten Anweisungscodes. Somit wird von der Anweisungsholeinheit IU 101 angenommen, daß sie eine Konfiguration mit einem Anweisungscode-Cache- Speicher aufweist. Der Anweisungscode hat entweder eine Länge von 16 Bit oder eine Länge von 32 Bit.
  • Die Anweisungsdecodiereinheit DU 102 decodiert in der Anweisungsholeinheit IU 101 gesammelte Anweisungscodes und erzeugt Signale, die eine den jeweiligen Anweisungen inhärente Verarbeitung anzeigen. Die von der Anweisungsdecodiereinheit DU 102 erzeugten Signale, die teilweise in Figur 1 weggelassen sind, werden als Betriebsanzeigesignale an andere Einheiten übergeben. Die Anweisungsausführungseinheit EU 103 weist 32 Allgemeinregister mit einer Breite von 32 Bit und 32 Verarbeitungseinheiten mit einer Breite von 32 Bit auf, und sie führt eine von der Anweisungsdecodiereinheit DU 102 bezeichnete Anweisungsausführungsverarbeitung aus. Die interne Steuerung kann entweder als Hardware, wie etwa verdrahtete Logik, oder unter Verwendung eines Mikroprozessors ausgeführt werden.
  • Wenn die Anweisungsdecodiereinheit DU 102 eine Anweisung erfaßt, die einen Zugriff auf einen Speicher oder eine I/O-Vorrichtung enthält, berechnet die Effektivadressen-Berechnungseinheit AU 104 eine Adresse bezüglich eines Operanden. Die für die Adressberechnung verwendeten Elemente sind ein in einem Anweisungscode enthaltener Versatzwert und ein Wert eines Allgemeinregisters. Der erstere wird von der Anweisungsholeinheit IU 101 geliefert, und der letztere wird von der Anweisungsausführungseinheit EU 103 geliefert.
  • Die Buszyklus-Steuereinheit BU 105 erzeugt auf der Grundlage einer von anderen Einheiten gegebenen Adressen-, Daten- und von Startanforderung einen externen Buszyklus. Der Anweisungscode und an die Operandendaten der von der externen Einheit im Verlaufe des Buszyklus gelesenen Daten werden jeweils an die Anweisungsholeinheit IU 101 und an die Anweisungsausführungseinheit EU 103 geliefert.
  • Wie in Figur 1 gezeigt ist, sind die jeweiligen Einheiten durch eine Busstruktur untereinander verbunden.
  • Zum Übertragen eines Ausführungscodes ist die Buszyklus-Steuereinheit BU 105 über einen internen Bus 170 mit der Anweisungsholheit IU 101 verbunden, und diese Anweisungsholheit IU 101 ist über einen internen Bus 172 ebenso mit der Anweisungsdekodiereinheit DU 102 verbunden. Zum Übertragen der für die Adressenberechnung verwendeten Adressenelemente sind die Anweisungsholheit EU 101 und die Anweisungsausführungseinheit EU 103 jeweils über interne Busse 174 und 176 mit der Effektivadress-Berechnungseinheit Au 104 verbunden. Die Anweisungsausführungseinheit EU 103 ist ebenso mit der Buszyklus-Steuereinheit BU 105 verbunden, um einen Leseoperaden und einen Schreiboperanden in beiden Richtungen über einen internen Bus 178 zum transferieren. Die Effektiv-Adress-Berechnungseinheit 104 ist mit der Buszyklus-Steuerheit BU 105 verbunden, um über einen internen Bus 180 eine effektive Adresse zu übertragen. Der Programmzähler PCIU 111, der Programmzähler PCDU 112 und der Programmzähler PCEU 113 sind über den internen Bus 108 mit der Buszyklus-Steuereinheit BU 105 verbunden, um eine im Verlauf eines anderen Buszyklus als den Operandenzugriff verwendete Adresse zu übertragen. Die Anweisungsführungseinheit EU 103 ist über den internen Bus 180 mit der Buszyklus-Steuereinheit Bu 105 verbunden, um eine im Verlauf eines willkürlichen Buszyklus verwendete Adresse zu transferieren.
  • In Figur 1 sind Buszyklus-Start-Anforderungen von der Anweisungsholeinheit IU 101, von der Anweisungsdecodiereinheit DU 102 und von der Anweisungsausführungseinheit EU 103 jeweils durch ein FREQ- Signal, durch ein OPREQ-Signal und durch ein ACREQ-Signal dargestellt. Diese Anforderungssignale bestehen praktisch aus einer Vielzahl von Signalen zum Darstellen der Art von Buszyklen und einer Vielzahl von Signalen zum Festlegen einer Zeitgabe.
  • Es wird nun eine Schnittstellenfunktion zwischen der Buszyklus-Steuereinheit BU 105 und externen Vorrichtungen beschrieben.
  • Die Buszyklus-Steuereinheit BU 105 weist bezüglich des Buszyklus Adressbus-Anschlüsse A&sub3;&sub1;-A&sub1; 121 zum Ausgeben einer Halbwortadresse von 31 Bit (16-Bit- Einheitsadresse), Datenbusanschlüsse D&sub3;&sub1;-D&sub0; 122 zum Senden und Empfangen von 32-Bit-Daten, eine Gruppe von Ausgabeanschlüssen 123, 124 und 125 zum Ausgeben von Statussignalen ST&sub2;-ST&sub0;, die die Art des Buszyklus anzeigen, ein Signal BCYST(-) zum Anzeigen der Anfangszeitgabe des Buszyklus bzw. ein Signal R/W(-) zum Unterscheiden eines Buszyklus vom Lese/Schreib-Typ, und einen Anschluß 126 zum Empfangen eines das Ende des Buszyklus anzeigenden Signals READY(-), das Ende des Buszyklus anzeigt, von einer externen Einheit auf. In dieser Beschreibung bedeutet das Zeichen (-), daß es sich um ein negatives logisches Signal handelt.
  • Ein Basis-Buszyklus besteht aus zwei Zuständen, die synchron mit einem Referenz-Taktsignal CLK 127 sind, das an einen Takteingangsanschluß 127 des Mikroprozessors 100 angelegt wird. Wie in Figur 3 gezeigt ist, werden zu Beginn des ersten Zustands T1 die Adressbusanschlüsse A&sub3;&sub1;-A&sub1; 121 und die Ausgangsanschlüsse 123 und 125 für die Statussignale ST&sub2;-ST&sub0; und das Unterscheidungssignal R/W (-) angesteuert. Weiterhin wird im Verlauf des Zustands T1 der Ausgangsanschluß 124 für das Zeitgabesignal BCYST(-) 124 aktiviert. Im Verlauf des Buszyklus vom Schreibtyp werden die Daten zum Schreiben in der Mitte des Zustands T1 auf den Datenbusanschluß D&sub3;&sub1;-D&sub0; 122 gelegt.
  • Am Ende des zweiten Zustands T2 wird der Zustand des Anschlusses 126 für das Unterscheidungssignal R/W(-) abgetastet. Wenn er sich in einer aktivierten Bedingung befindet, dann ist der Buszyklus abgeschlossen worden, und der Status wird in den Freilaufzustand T1 übertragen. Wenn der Anschluß 126 für das Unterscheidungssignals R/W(-) nicht aktiviert ist, wird der Zustand T2 wiederholt.
  • Im Verlauf des Buszyklus vom Lesetyp werden die Daten auf den Datenbusanschlüssen D&sub3;&sub1;-D0 122 am Ende des Zustands T2 vom Mikroprozessor 100 abgetastet.
  • Der Status der Anschlüsse 123 für die Statussignale ST2-ST0 wird verwendet, um wie im folgenden gezeigt die Art des Buszyklus zu unterscheiden:
  • Der Buszyklus ist für einen Speicherzugriff, für einen I/O-Zugriff und zusätzlich für eine "Haltanzeige" zum Mitteilen, daß der Computer in eine Haltbedingung übergegangen ist, festgelegt.
  • Es wird nun der Betrieb des vorliegenden Ausführungsbeispiels beschrieben.
  • Für die Steuerung der Buszyklus-Steuereinheit BU 105, wenn die Anweisungsholeinheit IU 101 einen Beginn eines Holzyklus anfordert, wird eine im Programmzähler PCIU 111 enthaltene Adresse an die Buszyklus-Steuereinheit BU übertragen, und der Buszyklus vom Lesetyp wird gestartet, um am Anschluß 123 von ST&sub2;-ST&sub0; das Signal "011b" auszugeben. Am Ende des Buszyklus wird der Status an den Datenbusanschlüssen D&sub3;&sub1;-D&sub0; 122 abgetastet und an die Anweisungsholeinheit IU 101 transferiert.
  • Wenn die Anweisungsdecodiereinheit DU 102 das Erfordernis eines Leseoperanden (einzeln) für ein Speicherlesen oder ein I/O-Lesen erfaßt, wird von der Effektivadress-Berechnungseinheit AU 104 vor der Ausführungsverarbeitung durch die Anweisungsausführungseinheit EU 103 eine effektive Adresse berechnet und an die Buszyklus-Steuereinheit BU 105 übertragen. Der Lesebuszyklus wird gestartet, um an den Anschlüssen ST&sub2;-ST&sub0; 123 das Signal "010b" oder "110b" auszugeben. Am Ende des Buszyklus wird der Status an den Datenbusanschlüssen D&sub3;&sub1;-D&sub0; abgetastet und an die Anweisungsausführungseinheit EU 103 übertragen.
  • Wenn die Anweisungsdecodiereinheit DU 102 das Erfordernis eines Schreiboperanden (einzeln) für Speicherschreiben oder ein I/O-Schreiben erfaßt, wird von der Effektivadress-Berechnungseinheit AU 104 vor der Ausführungsverarbeitung durch die Anweisungsausführungseinheit EU 103 eine effektive Adresse berechnet und an die Buszyklus-Steuereinheit BU 105 übertragen. Am Ende der Ausführungsverarbeitung durch die Anweisungsausführungseinheit EU 103 werden Operandendaten von der Anweisungsausführungseinheit EU 103 an die Buszyklus-Steuereinheit BU 105 übertragen, und zur gleichen Zeit ist der Beginn eines Buszyklus vom Schreibtyp erforderlich. Der Schreibbuszyklus zum Ausgeben der Operandendaten und von "010b" oder "110b" an die Datenbusanschlüsse D&sub3;&sub1;-D&sub0; 122 beziehungsweise an den Anschluß ST&sub2;-ST&sub0; 123 wird gestartet.
  • Im Fall einer Anweisung, die eine Vielzahl von Operandenzugriffen (wie etwa eine Zeichenketten- Behandlungsanweisung) erfordert, wird ein Zugriff eines Operanden vom Zeichenkettentyp ausgeführt. In diesem Fall wird im Verlaufe der Anweisungsausführungsverarbeitung eine für den Buszyklus erforderliche Adresse von der Anweisungsausführungseinheit EU 103 an die Buszyklus-Steuereinheit BU 105 übertragen, während eine Start-Anforderung des Buszyklus zum Ausgeben von "001b" an die Anschlüsse ST&sub2;-ST&sub0; 123 von der Anweisungsausführungseinheit EU 103 direkt an die Buszyklus-Steuereinheit BU 105 ausgegeben wird. Die durch die Datenbusanschlüsse D&sub3;&sub1;-D0 122 übertragenen Operandendaten werden zwischen der Anweisungsausführungseinheit EU 103 und der Buszyklus-Steuereinheit BU 105 übertragen.
  • Der Buszyklus zum Ausgeben von "101b" an die Anschlüsse ST&sub2;-ST&sub0; 123 (Maschinenfehleranzeige) wird in dieser Beschreibung nicht erklärt.
  • Es wird nun die Ausführung der HALT-Anweisung erklärt.
  • Die Anweisungsdecodiereinheit DU 102 decodiert eine HALT-Anweisung und weist dann die Anweisungsholeinheit IU 101 an, die Lieferung nachfolgender Anweisungscodes anzuhalten. Die Effektivadress-Berechungseinheit AU 104 kann die Betriebsanweisung nicht empfangen, weil die HALT- Anweisung keinen Operanden mit sich führt. Zur gleichen Zeit wird die Ausführungsverarbeitung der HALT-Anweisung an die Anweisungsausführungseinheit EU 103 angewiesen. Diese Anweisungsausführungseinheit EU 103 übertragen einen Inhalt des Programmzählers PCEU 113 an die Buszyklus-Steuereinheit BU 105 als die Adresse für den Buszyklus. Der Programmzähler PCEU enthält eine die HALT-Anweisung speichernde Adresse.
  • Gleichzeitig wird von der Anweisungsausführungseinheit EU 103 eine Start-Anforderung des Buszyklus zum Ausgeben von "111b" an die Anschlüsse ST&sub2;-ST&sub0; ausgegeben. Ein Buszyklus vom Lesetyp wird gestartet, um die Zunahme des durch die Ansteuerung der Datenbusanschlüsse D&sub3;&sub1;-D&sub0; 122 verursachten elektrischen Energieverbrauchs zu verhindern. Wenn es keinen Bedarf zur Berücksichtigung des elektrischen Energieverbrauchs gibt, braucht man den Buszyklus vom Lesetyp nicht zu verwenden.
  • Im Verlauf des durch die Anforderung begonnenen Buszyklus werden von Beginn des Zustands T1 an ein Inhalt des Programmzählers PCEU 113 "111b" und "1b" an die Adressbusanschlüsse A&sub3;&sub1;-A&sub1; 121, an die Anschlüsse ST&sub2;-ST&sub0; 123 beziehungsweise an den Anschluß R/W(-) 125 ausgegeben. Der Anschluß BCYST(-) 124 wird in der Periode des Zustands T
  • 1 wie die anderen Buszyklen (angesteuert auf "0b") aktiviert.
  • Nach dem Ende des ersten Zustands T2 führt die Buszyklus-Steuereinheit BU 105 die Statusabtastung des Anschlusses READY(-) 126 und eine Buszyklusende Haltesteuerung nicht aus, um die externe Hardware zum Aktivieren des Anschlusses READY(-) 126 bezüglich eines Buszyklus zu vereinfachen.
  • Die Datenbusanschlüsse D&sub3;&sub1;-D&sub0; 122 werden in beiden Zuständen T1 und T2 in einer Hi-Z-Bedingung gehalten.
  • Die Lieferung des der HALT-Anweisung folgenden Anweisungscodes von der Anweisungsholeinheit IU 101 an die Anweisungsdecodiereinheit DU102 wird angehalten, und die Anweisung der Ausführungsverarbeitung wird von der Anweisungsdecodiereinheit DU 102 nicht an die Anweisungsausführungseinheit EU 103 gegeben. Somit wird die Anweisungsausführungseinheit EU 103 solange angehalten, bis eine Rücksetzanforderung oder eine Interrupt-Anforderung (in den Figuren nicht gezeigt) von den externen Vorrichtungen hinzugefügt wird, und der Mikroprozessor 100 wird in die HALT-Bedingung überführt.
  • Wenn die Anweisungsausführungseinheit EU 103 eine von einer externen Vorrichtung angelegte Rücksetzanforderung oder eine Interrupt-Anforderung erfaßt, weist die Anweisungsausführungseinheit EU 103 einen Neustart an die anderen Einheiten an und der Mikroprozessor 100 wird aus der HALT-Bedingung gelöst.
  • Wenn ein Buszyklus ausgegeben wird (wenn ein Anschluß BCYST(-) aktiviert wird), ist es möglich, die Adresse der HALT-Anweisung von der externen Vorrichtung durch Abtasten der Zieladresse eines Adressbusanschlusses A&sub3;&sub1;-A&sub1; 121 zu erkennen.
  • Nach der Ausgabe des Buszyklus für die Haltanzeige wird der Buszyklus-Start an die Buszyklus- Steuereinheit BU 105 solange nicht angefordert, bis die HALT-Bedingung gelöst ist. Demgemäß wird ein neuer Zustand T1 nicht erzeugt, und die Bedingungen der Adressbusanschlüsse A&sub3;&sub1;-A&sub1; 121, die vom T1-Zustand geänderten Ausgangsanschlüsse ST&sub2;-ST&sub0; 123 und der R/W(-)- Anschluß behalten die im Verlauf des Buszyklus für die Haltanzeige ausgegebenen Werte bei.
  • Deshalb ist es nicht nur dann möglich, zu jeder Zeitgabe die Adresse zu erkennen, in der die HALT-Anweisung gesetzt ist, wenn der Haltanzeigezyklus ausgegeben wird, bis eine Haltbedingung-Löseanforderung (ein Rücksetzen oder eine Interrupt-Anforderung) an den Mikroprozessor 100 angelegt wird.
  • In einem System, bei dem die Adressbusanschlüsse A&sub3;&sub1;-A&sub1; 121 immer von einem LED-Anzeiger überwacht werden, kann eine Person direkt die Zieladresse der HALT-Anweisung beobachten.
  • Der Haltanzeigezyklus des vorliegenden Ausführungsbeispiels ist in Figur 3 gezeigt.
  • In diesem Ausführungsbeispiel weisen die Adressbusanschlüsse A&sub3;&sub1;-A&sub1; 121 für einen Adressraum von 32 Bit nur 31 Bits auf. Es ist jedoch nicht nötig, das am wenigsten signifikante Bit (LSB) der Adresse auszugeben, weil die Länge des Anweisungscodes 16 Bit oder 32 Bit beträgt.
  • Ferner führt in diesem Ausführungsbeispiel die Anweisungsausführungseinheit EU 103 den Start des Haltanzeigezyklus aus. Es ist jedoch möglich, die Struktur so abzuändern, daß die Anweisungsdecodiereinheit DU 102 den Start des Haltanzeigezyklus ausführt.
  • Als nächstes wird mit Bezug auf Figur 3 ein zweites Ausführungsbeispiel erklärt. In diesem Ausführungsbeispiel wird nur die Zieladresse der HALT- Anweisung im Verlaufe des Haltanzeigezyklus mitgeteilt. Das zweite Ausführungsbeispiel ist dadurch gekennzeichnet, daß ebenso der Wert eines Prozessorstatusworts (PSW), das den Status des Mikroprozessors darstellt, mitgeteilt wird.
  • In Figur 2 hat der Mikroprozessor 200 mit Ausnahme einer Ausführungseinheit EU 203 die gleiche Konfiguration wie jener des ersten Ausführungsbeispiels Die Anweisungsausführungseinheit EU 203 weist ein PSW 201 mit einer Länge von 32 Bits auf, und zwar einschließlich eines Flags, das den Status der Ganzzahl- Arithmetikoperation darstellt, eines Flags, das den Status einer Fließ-Arithmetikoperation darstellt, und von Flags, die eine Steuerung und einen Status eines Interrupts und einer Ausnahme darstellen. Der Status dieser Flags ist eine wichtige Information, um den internen Status des Mikroprozessors 200 zu kennen. Jedoch kann auf den Status des PSW 201 nur durch eine spezielle Transferanweisung Bezug genommen werden, außer, daß sie indirekt durch eine bedingte Zweiganweisung geprüft wird.
  • Das PSW 201 ist so aufgebaut, daß es in der Lage ist, den Datentransfer zu und von der Buszyklus- Steuereinheit BU 105 sowie den Transfer der Operandendaten über einen internen Bus der Anweisungsausführungseinheit EU 203 auszuführen.
  • In diesem zweiten Ausführungsbeispiel ist der Betrieb identisch mit jenem des ersten Ausführungsbeispiels, bis die Ausführungsverarbeitung der HALT-Anweisung an die Anweisungsausführungseinheit EU 203 angewiesen wird. Die Anweisungsausführungseinheit EU 203 übertragen den Inhalt des Programmzählers PCEU 113 als eine Adresse für einen Buszyklus an die Buszyklus-Steuereinheit BU 105. Ferner wird der Inhalt des PSW 201 als Ausgabedaten des Buszyklus vom Schreibtyp an die Buszyklus-Steuereinheit BU 105 übertragen.
  • Zur gleichen Zeit wird die Buszyklus-Start Anforderung zum Ausgeben von "111b" von der Anweisungsausführungseinheit EU 103 an die Anschlüsse ST&sub2;- ST&sub0; 123 ausgegeben. Der Buszyklus vom Schreibtyp wird gestartet, um die Ausgabe des Wertes des PSW 201 an die Datenbusanschlüsse D&sub3;&sub1;-D&sub0; 122 auszugeben.
  • Vom Beginn des Zustandes T1 an und im Verlauf des von der Anforderung gestarteten Buszyklus wird der Inhalt des Programmzählers PCEU 113 an die Adressbusanschlüsse A&sub3;&sub1;-A&sub1; ausgegeben, und die Signale "111b" und "0b" werden an die Anschlüsse ST&sub2;-ST&sub0; 123 beziehungsweise an den Anschluß R/W(-) 125 ausgegeben. Der Anschluß BCYST(-) 124 wird wie im Verlauf der anderen Buszyklen in der Periode des Zustandes T1 aktiviert (auf "0b" angesteuert).
  • Der Inhalt des an die Buszyklus-Steuereinheit BU 105 übertragenen PSW 201 wird in der Mitte des Zustandes T1 an die Datenbusanschlüsse D&sub3;&sub1;-D&sub0; 122 ausgegeben.
  • Die Statusabtastung des Anschlusses READY(-) 126 und die Buszyklusende-Haltesteuerung werden auf die gleiche Weise wie jene des ersten Ausführungsbeispiels ausgeführt. Die Steuerung zum Lösen der Haltbedingung wird ebenso auf die gleiche Weise wie im ersten Ausführungsbeispiel ausgeführt.
  • Um den Status des PSW zu kennen, nachdem die HALT-Anweisung im Mikroprozessor 100 ausgeführt und in die Haltbedingung übergeführt ist, wird es notwendig, die Verarbeitung, bestehend aus einer Anforderung, eines Interrupt und dann einer Ausgabe des Inhalts des PSW an die externe Einheit oder an die Peripherie, auszuführen.
  • Auf der anderen Seite wird im zweiten Ausführungsbeispiel im Verlauf des Haltanzeigezyklus der Status des PSW 201 an die Datenbusanschlüsse D&sub3;&sub1;-D&sub0; 122 ausgegeben, und daher werden die Verarbeitungen für die Interrupt-Anforderung und die Statusausgabe unnötig. Ferner wird ähnlich zum an die Adressanschlüsse A&sub3;&sub1;-A&sub1; 121 ausgegebenen Inhalt des Programmzählers PCEU 113 der Status der Datenbusanschlüsse D&sub3;&sub1; - D&sub0; 122 während der Haltbedingung nicht geändert. Es ist somit möglich, den Inhalt des PSW 201 mittels eines LED-Anzeigers zu beobachten.
  • Die Zeitgabe des Haltanzeigezyklus in diesem zweiten Ausführungsbeispiel ist in Figur 4 gezeigt.
  • In diesem zweiten Ausführungsbeispiel wird der Betrieb derart ausgeführt, daß der Inhalt des Programmzählers PCEU 113 und der Inhalt des PSW 201 im Verlauf des Haltanzeigezyklus an die Adressbusanschlüsse A&sub3;&sub1;-A&sub1; 121 beziehungsweise an die Datenbusanschlüsse D&sub3;&sub1;-D 122 ausgegeben werden. Es ist jedoch möglich, die intern auszugebenden Betriebsmittel einfach durch Abändern eines Teils der Steuerung der Anweisungsausführungseinheit EU 203 umzukehren (zum Beispiel eine teilweise Abänderung des Mikroprogramms), das heißt, den Inhalt des PSW 201 und den Inhalt des Programmzählers PCEU 113 an die Adressbusanschlüsse A&sub3;&sub1;-A&sub1; 121 beziehungsweise an die Datenbusanschlüsse D&sub3;&sub1;-D&sub0; 122 auszugeben.
  • Es ist ferner einfach, die Konfiguration abzuändern, in der die anderen internen Betriebsmittel der Einheiten außer dem PSW 201 an die Adressbusanschlüsse A&sub3;&sub1;- A&sub1; 121 oder die Datenbusanschlüsse D&sub3;&sub1;-D&sub0; 122 ausgegeben werden.
  • Die Konfiguration der Buszyklus-Steuereinheit BU dieses zweiten Ausführungsbeispiels und des ersten Ausführungsbeispiels und ihr Betrieb wird mit Bezug auf Figur 5 beschrieben.
  • Ein Buszyklus-Start-Anforderungssignal FREQ von der Anweisungsholeinheit IU 101, ein Buszyklus-Start- Anforderungssignal OPREQ von der Anweisungsdecodiereinheit DU 102 und ein Buszyklus-Start-Anforderungssignal ACREQ von der Anweisungsausführungseinheit EU 103 werden gemäß dem Rang der Zugriffspriorität abgestimmt und in Signale AC&sub3;- AC&sub0;, die die Art des Buszyklus darstellen, und in ein Signal ACSTB, das die Zeitgabe der Anforderung darstellt, unterteilt.
  • Eine Adresse und Daten werden über interne Busse IAD&sub3;&sub1;-IAD&sub1; bzw ID&sub3;&sub1;-ID&sub0; an die Buszyklus-Steuereinheit BU 105 übertragen. Ein Signal ACBUSY teilt jeder Einheit mit, daß die Buszyklus-Steuereinheit BU 105 sich im Verlaufe des Beginnens eines Buszyklus befindet, und somit kann eine neue Buszyklus-Start-Anforderung nicht angenommen werden.
  • In Figur 5 zwischenspeichert ein Zugriffsanforderungsregister (in den Zeichnungen mit "ACR bezeichnet) 151 die Signale AC&sub3;-AC&sub0; als Antwort auf das Signal ACSTB, und ein Zugriffsanforderungspuffer (in den Zeichnungen mit "ACB" bezeichnet) 152 erfaßt den Status eines Buszyklus durch ein aus einer Vielzahl von Signalen zusammengesetztes T-Statussignal und steuert die Anschlüsse ST&sub2;-ST&sub0; 123 und den Anschluß R/W(-) 125 durch die zwischengespeicherte Anforderung (die Signale ACR&sub3;-ACR&sub0;) an.
  • Ein Zugriffsanforderungsdecodierer (in den Zeichnungen mit "ACD" bezeichnet) decodiert die zwischengespeicherte Anforderung und erzeugt ein Signal RD, das anzeigt, daß es sich um einen Zugriff vom Lesetyp handelt, und ein Signal HLTD, daß den Haltanzeigezyklus darstellt.
  • Ein Zustandssequenzer (nachstehend als "STSEQ" bezeichnet) 153 verwaltet den T-Zustand des Buszyklus und wird durch die Erfassung des Signals ACSTB gestartet. Die anderen Blöcke werden über den Status des T-Status durch das aus einer Vielzahl von Bit zusammengesetzte T-Status- Signal informiert.
  • Wenn der Buszyklus nicht abgeschlossen ist, erzeugt der STSEQ ein Signal ACBUSY, um andere Einheiten an der Erzeugung eines Signals ACSTB zu hindern. Der STSEQ 153 erfaßt den Status des Anschlusses READY(-) 126 und steuert das Ende des Buszyklus. Wenn der Start des Haltanzeigezyklus angefordert wird, erzeugt der Zugriffsanforderungsdecodierer ACD 154 ein Signal HLTD, um das Abwarten des Buszyklusendes auf der Grundlage des Status des Anschlusses READY(-) 126 zu verhindern. Ferner wird der Anschluß BCYST(-) 126 am Beginn des Buszyklus angesteuert.
  • Ein Datenschreibregister (in den Zeichnungen mit "DTWR" bezeichnet) 155 zwischenspeichert Daten auf dem internen Bus ID&sub3;&sub1;-ID&sub0; in Antwort auf ein Schreibsignal IDTWR, und ein Datenpuffer (in den Zeichnungen mit "DTB" bezeichnet), steuert die durch das T-Zustandsignal zwischengespeicherten Daten an die Datenbusanschlüsse D&sub3;&sub1;-D&sub0; 122 im Verlaufe des Buszyklus vom Schreibtyp an. Ein Datenleseregister (in den Zeichnungen mit "DTRR" bezeichnet) 157 erfaßt das Ende des Buszyklus vom Lesetyp durch das T-Statussignal und weist auch eine Pufferfunktion des Zwischenspeicherns des Status der Datenbusanschlüsse D&sub3;&sub1;-D&sub0; 122 und des Ansteuerns des internen Busses ID&sub3;&sub1;-ID&sub0; in Antwort auf ein Lesesignal IDTRD auf.
  • Ein Adressregister (in den Zeichnungen mit "ADR" bezeichnet) zwischenspeichert die Adresse auf dem internen Bus IAD&sub3;&sub1;-IAD&sub1; in Antwort auf ein Zugriffsanforderungs- Strobe-Signal ACSTB, und ein Adresspuffer (in den Zeichnungen mit "ADB" bezeichnet) 159 steuert die Adresszwischenspeicher durch das T-Zustandssignal an die Adressbusanschlüsse A&sub3;&sub1;-A&sub1; 121 an.
  • Die Art des durch die Buszyklus-Steuereinheit BU 105 begonnenen Buszyklus kann nur durch Abändern des Wertes des Zugriffsanforderungssignals AC&sub3;-AC&sub0; bezeichnet werden. Darüber hinaus kann die ausgegebene Adresse durch den internen Bus IAD&sub3;&sub1;-IAD&sub1; bestimmt werden, und die im Verlauf des Buszyklus vom Schreibtyp ausgegebenen Daten können durch die Werte des internen Busses ID&sub3;&sub1; - ID&sub0; bestimmt werden. Es ist daher möglich, den Buszyklus mit einer hohen Anpassungsfähigkeit zu steuern.
  • Wie oben erwähnt, ist es gemäß der vorliegenden Erfindung möglich, einen Mikroprozessor zu realisieren, der die externen Vorrichtungen einfach über den internen Zustand zum Zeitpunkt des Übergangs in die Haltbedingung mittels Adressbusanschlüssen und Datenbusanschlüssen informieren kann. Diese Anschlüsse sind bei herkömmlichen Mikroprozessoren unentbehrlich, und daher wird die Anzahl von Anschlüssen durch die Mitteilung des internen Status in keiner Weise erhöht.
  • Es ist möglich, den Inhalt des Programmzählers und das Programmstatuswort präzise und einfach zu kennen, wenn das Programm in den Haltzustand unter Verwendung des Mikroprozessors gemäß der vorliegenden Erfindung übergeht. Es ist somit möglich, eine effektive Fehlerbeseitigung in einem Programm zu realisieren.

Claims (6)

1. Mikroprozessor (100, 200), der eine bestimmte Anweisung zum Ausführen eines einfrierenden oder vorübergehenden Halts einer Anweisungsausführung belinhaltet, wobei der Mikroprozessor die folgenden Merkmale aufweist:
eine mit einem externen Adreßbus (121) und einem externen Datenbus (122) verbundene Buszyklus-Steuereinheit (105);
eine mit der Buszyklus-Steuereinheit verbundene Anweisungsholeinheit (101) zum Steuern des Beginns eines Holzyklus und zum Ansammeln von Anweisungscodes, die von einer externen Einheit in dem Holzyklus geholt wurden;
eine mit der Anweisungsholeinheit gekoppelte Anweisungsdecodiereinheit (102) zum Decodieren der in der Anweisungsholeinheit angesammelten Anweisungscodes und zum Erzeugen von Signalen, die eine den jeweiligen Anweisungen inhärente Verarbeitung anzeigen;
eine von der Anweisungsdecodiereinheit gesteuerte Anweisungsausführungseinheit (103), um eine von der Anweisungsdecodiereinheit bezeichnete Verarbeitung auszuführen;
einen Programmzähler (111, 112, 113) zum Halten der Adresse der von der Anweisungsausführungseinheit verarbeiteten Anweisungen;
wobei der Mikroprozessor derart gesteuert wird, daß die Anweisungsdecodiereinheit die Anweisungsholeinheit anweist, die Lieferung nachfolgender Anweisungscodes zu stoppen, wenn die Anweisungsdecodiereinheit die bestimmte Anweisung dekodiert, und daß zur gleichen Zeit die Ausführungsverarbeitungsanweisung dieser bestimmten Anweisung in die Anweisungsausführungseinheit eingegeben wird, so daß die Anweisungsausführungseinheit einen Inhalt des Programmzählers, der dann eine die bestimmte Anweisung speichernde Adresse hält, an die Bussteuereinheit transferiert, die ihrerseits den Inhalt des Programmzählers an entweder den externen Adreßbus oder den externen Datenbus ausgibt, und zwar synchron mit einem bestimmten Statussignal, das anzeigt, daß die Ausgabe der Inhalt des Programmzählers ist.
2. Mikroprozessor nach Anspruch 1, der weiterhin die folgenden Merkmale aufweist:
eine mit der Anweisungsdecodiereinheit (102) und der Anweisungsausführungseinheit (103) gekoppelte Effektivadreß-Berechnungseinheit (104) zum Berechnen einer Adresse für einen Operanden, wenn die Anweisungsdecodiereinheit eine Anweisung erfaßt, die einen Zugriff auf einen Speicher oder auf eine Eingabe/Ausgabe(I/O)-Vorrichtung enthält.
3. Mikroprozessor nach Anspruch 1 oder 2, bei dem die bestimmte Anweisung ein codiertes, bestimmtes Statussignal (ST&sub2;-ST&sub0;) einer Vielzahl von Bits ist, die synchron mit einem erzeugten Buszyklus ausgegeben werden; und bei dem, nachdem der Buszyklus erzeugt worden ist, ein Buszyklusbeginn nur dann angefordert wird, nachdem der einfrierende oder vorübergehende Halt gelöst ist, wodurch während des Buszyklus ein Wert des Inhalts des Programmzählers (111, 112, 113) gehalten wird.
4. Mikroprozessor nach Anspruch 3, bei dem ein Buszyklus von der Anweisungsausführungseinheit (103) oder von der Anweisungsdecodiereinheit (102) erzeugt wird.
5. Mikroprozessor nach einem der vorhergehenden Ansprüche, bei dem der Inhalt des Programmzählers (111, 112, 113) an den Adreßbus (121) ausgegeben wird.
6. Mikroprozessor nach einem der vorhergehenden Ansprüche, bei dem die Anweisungsausführungseinheit (203) ein Prozessorstatuswort (PSW) aufweist, dessen Inhalt synchron mit einem erzeugten Buszyklus an den Datenbus (122) ausgegeben wird, so daß der externen Einheit der Inhalt des Programmzählers (111,112,113) und der Inhalt des Prozessorstatusworts durch die Ausführung der bestimmten Anweisung bekannt wird.
DE69218493T 1991-05-29 1992-05-29 Mikroprozessor mit Haltbefehl Expired - Fee Related DE69218493T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03124242A JP3088129B2 (ja) 1991-05-29 1991-05-29 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
DE69218493D1 DE69218493D1 (de) 1997-04-30
DE69218493T2 true DE69218493T2 (de) 1997-10-09

Family

ID=14880487

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69218493T Expired - Fee Related DE69218493T2 (de) 1991-05-29 1992-05-29 Mikroprozessor mit Haltbefehl

Country Status (5)

Country Link
US (1) US5440700A (de)
EP (1) EP0516172B1 (de)
JP (1) JP3088129B2 (de)
KR (1) KR100263262B1 (de)
DE (1) DE69218493T2 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2720174B1 (fr) * 1994-05-20 1996-08-14 Sgs Thomson Microelectronics Procédé pour tester le déroulement d'un programme d'instructions exécutées par un circuit intégré spécialisé, et circuit intégré spécialisé s'y rapportant.
WO1996038788A2 (en) * 1995-05-31 1996-12-05 Advanced Micro Devices, Inc. Internal state dump mechanism for saving processor values during system testing
US5931956A (en) * 1997-06-10 1999-08-03 Atmel Corporation Digital circuit using memory for monitoring signals for occurrences of predefined breakpoint conditions
US6321331B1 (en) * 1998-04-22 2001-11-20 Transwitch Corporation Real time debugger interface for embedded systems
US20020188813A1 (en) * 2001-05-04 2002-12-12 Hugo Cheung On-chip hardware breakpoint generator with comprehensive memory operation detection
US7010672B2 (en) * 2002-12-11 2006-03-07 Infineon Technologies Ag Digital processor with programmable breakpoint/watchpoint trigger generation circuit
US7237151B2 (en) * 2002-12-17 2007-06-26 Texas Instruments Incorporated Apparatus and method for trace stream identification of a processor reset
US20070169022A1 (en) * 2003-06-18 2007-07-19 Jones Anthony M Processor having multiple instruction sources and execution modes
JPWO2009022371A1 (ja) 2007-08-16 2010-11-04 ネットクリアスシステムズ株式会社 タスク処理装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS592056B2 (ja) * 1975-05-30 1984-01-17 松下電工株式会社 マイクロコンピユ−タノ プログラムカウンタヒヨウジホウシキ
US4308581A (en) * 1979-09-28 1981-12-29 Motorola Inc. Single step system for a microcomputer
JPS57157362A (en) * 1981-03-25 1982-09-28 Hitachi Ltd Method and apparatus of execution path career data pickup for architecture program
JPH06103472B2 (ja) * 1986-10-29 1994-12-14 日本電気株式会社 デバツグ用マイクロプロセツサ
JPH01201737A (ja) * 1988-02-05 1989-08-14 Nec Corp マイクロプロセッサ
JPH0259828A (ja) * 1988-08-24 1990-02-28 Nec Ic Microcomput Syst Ltd マイクロコンピュータ開発支援装置
EP0371418A3 (de) * 1988-11-30 1991-09-04 National Semiconductor Corporation Vorrichtung und Verfahren zur Ausstattung des Programmzählers eines Mikroprozessors ausserhalb des Geräts
US5289587A (en) * 1988-11-30 1994-02-22 National Semiconductor Corporation Apparatus for and method of providing the program counter of a microprocessor external to the device
US5134701A (en) * 1989-02-10 1992-07-28 Hewlett-Packard Co. Test apparatus performing runtime replacement of program instructions with breakpoint instructions for processor having multiple instruction fetch capabilities
JPH03204737A (ja) * 1990-01-08 1991-09-06 Nec Corp 信号処理プロセッサのデバッグ回路

Also Published As

Publication number Publication date
JPH04350732A (ja) 1992-12-04
DE69218493D1 (de) 1997-04-30
KR920022094A (ko) 1992-12-19
JP3088129B2 (ja) 2000-09-18
EP0516172A3 (en) 1993-06-30
KR100263262B1 (ko) 2000-08-01
EP0516172B1 (de) 1997-03-26
EP0516172A2 (de) 1992-12-02
US5440700A (en) 1995-08-08

Similar Documents

Publication Publication Date Title
DE10297856B4 (de) Verfahren und Vorrichtung zum Suspendieren der Ausführung eines Threads, bis ein spezifizierter Speicherzugriff auftritt
DE3586899T2 (de) Instruktionsvorgriffsystem fuer bedingte sprungbefehle in einer zentralen verarbeitungseinrichtung.
DE69027471T2 (de) Fehlersuchperipherie für Mikrorechner, Mikroprozessoren und Kernprozessor beinhaltende integrierte Schaltungen und Vorrichtung die diese Fehlersuchperipherie verwendet
DE3856067T2 (de) Datenprozessor mit einer Unterbrechungsfunktion
DE68927492T2 (de) Verfahren und Vorrichtung zur gleichzeitigen Verteilung von Befehlen an mehrere funktionelle Einheiten
DE68925615T2 (de) Digitalrechnersystem mit Niederstromverbrauchmodus
DE3851033T2 (de) Datenprozessor mit Entwicklungsunterstützungsmerkmalen.
DE3689394T2 (de) Informationsverarbeitungsanlage mit einem Allzweckprozessor und einem Sonderzweckprozessor.
DE3586235T2 (de) Vorausschauende speicherabrufoperation fuer verzweigungsbefehle.
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE3486399T2 (de) Zentrale Verarbeitungseinheit mit der Fähigkeit, Befehle mit variablen Längen zu unterstützen.
DE4311441C2 (de) Verfahren zum Betreiben eines Mikroprozessors mit einem externen Anschluß
DE68924546T2 (de) Verfahren und Vorrichtung zur Ausführung von Befehlen für ein Vektorverarbeitungssystem.
DE3784996T2 (de) Fehlersuchmikroprozessor.
DE19834191C2 (de) Integrierte Schaltungsvorrichtung und ihr Steuerverfahren
DE3801361A1 (de) Verfahren und einrichtung zum detektieren und fuer die spezialbehandlung von memory-mapped eingabe/ausgabereferenzen in einem pipelinemikroprozessor
DE3854369T2 (de) Zentralprozessoreinheit für digitale datenverarbeitungsanordnung mit cache-speicherverwaltungsvorrichtung.
DE112011105042T5 (de) Indikatoren zur Aufzeichnung einer letzten Verzweigung für einen Transaktionsspeicher
DE3650165T2 (de) Buszustandssteuerungsschaltung.
DE69031229T2 (de) Pipeline-Mikroprozessor mit einem Befehlsdekoder, der eine fruehzeitige Dekodierung ausführt
DE69218493T2 (de) Mikroprozessor mit Haltbefehl
DE3735828A1 (de) Verfahren und vorrichtung fuer eine anweisungs-wiederanlaufverarbeitung in einer mikroprogramm-gesteuerten datenverarbeitungsvorrichtung
DE68927292T2 (de) Mikrorechner, geeignet zur Schnellverarbeitung eines Verzweigungsbefehlskodes
DE68921334T2 (de) Gerät zur programmierten vorübergehenden Aufhebung des Prozessorbetriebs zum Wiederversuch, zur Rückgewinnung und zum Austesten.
DE3650578T2 (de) Informationsverarbeitungssystem mit einer Steuerschaltung zum Abwarten einer Registererneuerung und einem Aufnahmemittel des zu erneuernden Registers

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee