[go: up one dir, main page]

DE69622608T2 - Informationsprozessor - Google Patents

Informationsprozessor

Info

Publication number
DE69622608T2
DE69622608T2 DE69622608T DE69622608T DE69622608T2 DE 69622608 T2 DE69622608 T2 DE 69622608T2 DE 69622608 T DE69622608 T DE 69622608T DE 69622608 T DE69622608 T DE 69622608T DE 69622608 T2 DE69622608 T2 DE 69622608T2
Authority
DE
Germany
Prior art keywords
instruction
general
return
subroutine
purpose register
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
DE69622608T
Other languages
English (en)
Other versions
DE69622608D1 (de
Inventor
Hiroshi Katsuta
Sachiko Okayama
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 Electronics Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Application granted granted Critical
Publication of DE69622608D1 publication Critical patent/DE69622608D1/de
Publication of DE69622608T2 publication Critical patent/DE69622608T2/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
    • 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/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30054Unconditional branch instructions
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation of subprogram jump address

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)

Description

    HINTERGRUND DER ERFINDUNG GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft Informationsprozessoren, und insbesondere, einen Informationsprozessor, in dem Verarbeitungsüberhang reduziert wird, der während der Verarbeitung zum Aufrufen eines Unterprogrammes und zum Zurückspringen aus demselben vorkommt.
  • BESCHREIBUNG DER BETREFFENDEN TECHNIK
  • Bei Computern des von-Neumann-Typs, wird ein Programmzähler (hierin wird künftig von PC gesprochen), der eine Anweisung einer auszuführenden Adresse anzeigt, aktualisiert, um Programme, die in einem Speicher eingespeichert sind, aufeinanderfolgend zu lesen und auszuführen. Im Allgemeinen müssen zentrale Datenverarbeitungsanlagen (hierin wird künftig von CPU gesprochen) der Computer des von-Neumann-Typs zum Speichern vor dem Verzweigen von einem Hauptprogramm zu einem Unterprogramm eine Adresse einer zunächst nach der Rückkehr von einem Unterprogramm auszuführenden Anweisung speichern (hierin wird künftig von einer Rücksprungadresse gesprochen).
  • Im Folgenden wird die Beschreibung eines konventionellen Informationsprozessors gegeben, der eine CPU einschließt, die eine Rufanweisung für Unterprogrammverarbeitung aufweist und eine Anweisung, um vom Unterprogramm zurückzuspringen.
  • Ein Informationsprozessor nach dem ersten Stand der Technik ist so aufgebaut, daß eine Rücksprungadresse, durch Verwenden eines Allzweckregisters als Stapelzeiger in einen Speicher eingespeichert wird. Nach diesem ersten bekannten Stand der Technik wird eine JAL-Anweisung als Unterprogramm-Aufrufanweisung und eine JMP-Anweisung als Rücksprung-Anweisung verwendet. JAL-Anweisungen dienen zum Aufrufen eines Unterprogrammes durch Adressierung, während JMP-Anweisungen zum Zurückspringen von einem Unterprogramm mittels eines Registers dienen.
  • Der zweite Stand der Technik ist in der Japanischen ungeprüften Patent Veröffentlichung (Kokai) Nr. Showa 63-316 134 mit dem Titel "Integrierter Halbleiter-Schaltkreis" offenbart. Dieser zweite bekannte Stand der Technik verwendet ein Schieberegister zur Unterprogramm-Verarbeitung an Stelle eines Speichers, der als Stapel verwendet wird. Zusätzlich verwendet der zweite Stand der Technik eine CALL-Anweisung als Unterprogramm-Verarbeitungs- Aufrufanweisung und eine RET-Anweisung als Rücksprunganweisung.
  • Im Folgenden wird eine Beschreibung von Aufbau und Arbeitsweise dieser Informationsprozessoren nach dem Stand der Technik gegeben. Die Bauart von dem ersten Stand der Technik ist in Fig. 5 veranschaulicht. In der Abbildung bezeichnet die Bezugsnummer 410 einen Anweisungsdecodierer, 440 einen PC (Programmzähler), 441 einen Inkrementierer, der, in Erwiderung auf ein Wortüberwechselsignal S34, den Wert des PC440 um "2" oder "4" steigert, 501 bis 531 Allzweckregister, 500 ein Allzweckregister, dessen Datum bei "0" festgesetzt ist, 600 bis 631 Zwei-Eingänge-UND- schaltkreise, 650 einen Zwei-Eingänge-ODER-Schaltkreis, 420 einen Daten-Bus, und 430 einen Speicher. Nach dem ersten Stand der Technik wird der Speicher 430 als Stapel für die Rücksprungadressen genutzt.
  • Der Anweisungsdecodierer 410 decodiert verschiedene Arten von Anweisungen, einschließlich einer Unterprogramm-Aufrufanweisung und einer Rücksprunganweisung und gibt, basierend auf den Ergebnissen des Decodierens, ein Lesesignal (RD Signal) S52, ein Schreibsignal (WR Signal) S53, ein Rücksprungsignal S54, ein Sicherungssignal S55, Register-Auswahlsignale S0 bis S31, eine Adresse von einem Unterprogramm und ein Wortüberwechselsignal S34, das einen Byte-Zählwert aus einer decodierten Anweisung (Länge einer Anweisung) anzeigt, aus. Zusätzlich gibt der Anweisungsdecodierer 410 32-Bit Adressdaten auf den Daten-Bus aus.
  • Der Inkrementierer 441 empfängt jedesmal eine Ausgabe vom PC440 und gibt, in Erwiderung zum Wortüberwechselsignal S34, eine Summe von einem Zählerwertes ("2" oder "4") aus, der gleichwertig mit der Byte-Länge einer Anweisung, die decodiert worden ist, und der die Ausgabe des PC440 ist.
  • Die Ausgabe des Rückkehrsignales S54 aus dem Anweisungsdecodierer 410 wird zu Einsen der entsprechenden Eingänge der UND- Schaltkreise 600 bis 631 geliefert. Das Sicherungssignal S55 von dem Anweisungsdecodierer 410 wird zu einem Eingang des ODER- Schaltkreises 650 geliefert.
  • Die Register-Auswahlsignale S0 bis S31 stimmen mit den entsprechenden UND-Schaltkreisen 600 bis 631 überein. Genauer stimmt das Register-Auswahlsignal S0 mit dem UND-Schaltkreis 600, und das Register-Auswahlsignal S31 mit dem UND-Schaltkreis 631 überein. Die Register-Auswahlsignale S0 bis S31 werden demgemäß zu den anderen der entsprechenden Eingänge ihrer korrespondierenden UND-Schaltkreise 600 bis 631 geleitet.
  • Die UND-Schaltkreise 600 bis 631 erhalten entsprechend das UND von dem Rückkehrsignal S54 und den Register-Auswahlsignalen S0 bis S31. Die Ausgaben der UND-Schaltkreise 600 bis 631 werden als Auswahlsignale zum Auswählen der korrespondierenden Allzweckregister 500 bis 530 ausgegeben. Genauer, wenn der logische Wert des Rückkehrsignals "1" ist, und irgendeines der Register- Auswahlsignale S0 bis S31 erreicht "1", erreicht eine der Ausgaben der UND-Schaltkreise 600 bis 631 "1", um das eine korrespondierende der Allzweckregister 500 bis 531 auszuwählen.
  • Das vom Anweisungsdecodierer 410 ausgegebene Wortüberwechselsignal S34 ist ein Signal, das den Inkrementierer 441 steuert. Das Wortüberwechselsignal S34 nimmt den logischen Wert "0" an, wenn eine Anweisung, die gerade decodiert wird, zwei Bytes lang ist, und es nimmt den logischen Wert "1" an, wenn eine Anweisung, die gerade decodiert wird, vier Bytes lang ist. Der Inkrementierer 441 wird gesteuert, um den Zählwert "2" zum PC440 zu addieren, wenn der logische Wert des Wortüberwechselsignals S34 "0" ist; und den Zählwert "4" zu addieren, wenn der logische Wert des Wortüberwechselsignals S34 "1" ist.
  • Der UND-Schaltkreis 631 erlangt das UND vom Rücksprungsingal S54 und dem Register-Auswahlsignal S31 und gibt dasselbe an den ODER-Schaltkreis 650 aus. Wenn das Rücksprungsignal S54 "1" ist und das Register-Auswahlsignal S31 "1" ist, nimmt die Ausgabe des ODER-Schaltkreis 650 den logischen Wert "1" an, um das Allzweckregister 531 auszuwählen. Zusätzlich nimmt, wenn der logische Wert des Sicherungssignals S55 "1" ist, die Ausgabe des ODER-Schaltkreis 650 den logischen Wert "1" an, um das Allzweckregister 531 auszuwählen.
  • Das RD Signal S52 und das WR Signal S53 werden an die Allzweckregister 500 bis 531 geliefert. Wenn das RD Signal den logischen Wert "1" annimmt, werden Daten von einem ausgewählten Allzweckregister auf den Daten-Bus 420 ausgegeben. Wenn das WR Signal S53 den logischen Wert "1" annimmt, werden die Daten, die auf dem Daten-Bus sind, in ein ausgewähltes Allzweckregister geschrieben.
  • Der Anweisungsdecodierer 410 gibt bei Abschluß des Schreibens einer Rücksprungadresse in ein Allzweckregister eine Adresse von einem Unterprogramm auf den Daten-Bus 420 aus.
  • Fig. 6 zeigt ein Format von Anweisungscodes, die durch den Informationsprozessor verarbeitet werden sollen, der in Fig. 5 veranschaulicht ist. Zum Aufrufen eines Unterprogramms wird eine JAL-Anweisung 401a ausgeführt, die in Fig. 6 veranschaulicht ist. Die Bitnummern 15 bis 10 der JAL-Anweisung 401a stellen ein Feld von Operandencodes dar, welches den Betrieb der JAL-Anweisung 401a leitet. Die Bitnummern 9 bis 0 und 31 bis 16 stellen ein Feld zum Einstellen eines Versatzadresswertes dar, der ein Verzweigungsziel anzeigt. Zum Zurückkehren aus einem Unterprogramm wird eine JMP-Anweisung 402a ausgeführt. Die JMP-Anweisung 402a ist so angeordnet, wie in Fig. 6 gezeigt, wobei die Bitnummern 15 bis 10 ein Operandencode-Feld darstellen, welches den Betrieb der JMP-Anweisung leitet. Die Bitnummern 9 bis 5 stellen ein ungenutztes Feld dar, das ganz auf "0" gesetzt ist. Die Bitnummern 4 bis 0 stellen ein Feld zum Bestimmen eines Allzweckregisters dar, wobei dieses Feld die Allzweckregister 501 bis 531 durch 5-Bit Binärzahlen bestimmt. Eine Anweisung 400a zeigt eine Code-Anordnung von einer Register-zu-Register Datenübertragungsanweisung (MOV, reg, reg).
  • Mit Bezug auf die Fig. 5 und 6 wird die Beschreibung von der Arbeitsweise zum Aufrufen eines Unterprogrammes und zum Rückspringen von diesem gegeben. Durch Decodieren der JAL-Anweisung 401a, gibt der Anweisungsdecodierer 410 das auf "0" gesetzte RD Signal S52, das auf "1" gesetzte WR Signal S53, das auf "0" gesetzte Rücksprungsignal, das auf "1" gesetzte Sicherungssignal S55 und die alle auf "0" gesetzten Register-Auswahlsignale S1 bis S31 aus, und gibt auch das auf "1" gesetzte Wortüberwechselsignal S34 aus, weil die Anweisung vier Bytes lang ist, und gibt dann eine Adresse des Unterprogrammes auf den Daten-Bus 420 aus.
  • Die JAL-Anweisung 401a wird hier wie folgt beschrieben.
  • JAL Unterprogramm Name
  • Die Beschreibung der Verarbeitung zum Ausführen der JAL-Anweisung 401a, um eine Rücksprungadresse in das Allzweckregister 531 zu speichern, wird gegeben. In Fig. 5, wenn die JAL-Anweisung 401a durch den Anweisungsdecodierer 410 decodiert wurde, erreichen sowohl das Sicherungssignal S55 als auch das Wortüberwechselsignal S34 "1", so daß ein Wert, der durch Steigern des Werts von dem PC440 um "4" erreicht wird, als Rücksprungadresse auf den Daten-Bus 420 ausgegeben wird. Zur selben Zeit erreicht die Ausgabe des ODER-Schaltkreises 650 "1", um das Allzweckregister 531 auszuwählen. Zu diesem Zeitpunkt wird die Rücksprungadresse auf dem Daten-Bus 420 in das Allzweckregister 531 geschrieben, da das WR Signal S53 "1" ist.
  • Andererseits, da das Rücksprungsignal "1" ist, geben alle UND- Schaltkreise 600 bis 631 "0" aus. Daher wird keine Rücksprungadresse in die Allzweckregister 501 bis 530 geschrieben.
  • Nach dem Sichern der Rücksprungadresse, gibt der Anweisungsdecodierer 410 eine Adresse von einem Unterprogramm auf den Daten- Bus 420 aus, um eine Adresse von einem Unterprogramm zu setzen, die durch den PC440 aufgerufen wird, wobei die Steuerung auf das Unterprogramm übertragen wird.
  • Wie vorstehend beschrieben, ist es notwendig, vor dem Zurückspringen von einem Unterprogramm den Inhalt (Rücksprungadressen) des Allzweckregister 531 in den Speicher 430, der, in Vorbereitung auf einen weiteren Aufruf zu einem anderen Unterprogramm, als Stapel verwendet wird, zu speichern, sobald die Steuerung an das Unterprogramm übergeht, da das Allzweckregister 531 regelmäßig genutzt wird, um eine Rücksprungadresse zu sichern. Ein derartiges Stapeln einer Rücksprungadresse ist erforderlich, da, wenn die JAL-Anweisung 401a ausgeführt wurde, um ein anderes Unterprogramm vor dem Rücksprung von einem ersten Unterprogramm aufzurufen, die Inhalte des Allzweckregister 531 umgeschrieben werden, um eine Rücksprungadresse für das Hauptprogramm zu verlieren.
  • Für das Zurückspringen vom Unterprogramm wird die JMP-Anweisung 402a als Rücksprunganweisung ausgeführt. Die 5-Bit-Daten der JMP-Anweisung 402, die ein Allzweckregister bestimmt, werden durch den Anweisungsdecodierer 410 decodiert, so daß eines der Register-Auswahlsignale S1 bis S31 zum Auswählen des bestimmten Allzweckregisters ausgegeben wird. Darüberhinaus setzt der Anweisungsdecodierer 410 beim Decodieren der JMP-Anweisung das RD Signal S52 auf "1", das WR Signal S53 auf "0", das Rücksprungsignal S54 auf "1", das Sicherungssignal S55 auf "0" und eines der Register-Auswahlsignale S1 bis S31, das dem bestimmten Allzweckregister entspricht, auf "1".
  • Die JMP-Anweisung 402a wird wie folgt beschrieben.
  • JMP (Allzweckregister Name)
  • Das Verfahren des Lesens einer Rücksprungadresse durch ausführen der JMP-Anweisung 402a wird mit Bezug auf Fig. 5 beschrieben. Hier wird die Beschreibung von einem Fall gegeben, bei dem ein Allzweckregister zum Lesen einer Rücksprungadresse das Allzweckregister 531 ist. In Fig. 5 wird, zuerst unter dem Programm von dem Unterprogramm, eine Rücksprungadresse aus dem Speicher 430, der Rücksprungadressen speichert, gelesen und im Allzweckregister 531 eingespeichert. Danach wird die JMP-Anweisung 402a, die das Allzweckregister 531 bestimmt, ausgeführt. Infolge des Decodierens der JMP-Anweisung 402a, gibt der Anweisungsdecodierer 410 das Rücksprungsignal S54 und das Register-Auswahlsignal S31 aus, die beide auf "1" gesetzt sind, so daß die Ausgabe von dem ODER-Schaltkreis 650 "1" erreicht, um das Allzweckregister 531 auszuwählen. Zur selben Zeit gibt der Anweisungsdecodierer 410 das RD Signal S52 aus, das auf "1" gesetzt ist, so daß der Wert des Allzweckregisters 531 auf den Daten-Bus 420 ausgegeben wird. Zusätzlich wird der Wert des Daten-Bus 420 auf den PC440 als Rücksprungadresse gesetzt.
  • Nach dem ersten bekannten Stand der Technik, der in Fig. 5 veranschaulicht ist, wird zum Verarbeiten des Sicherns der Rücksprungadresse und zum Zurückspringen durch regelmäßiges Verwenden des Allzweckregisters 531, die Rücksprungadresse im Allzweckregister 531 zur Zeit eines Unterprogrammaufrufes gesichert, und der Wert des Allzweckregister wird, in Vorbereitung auf einen nächstfolgenden Unterprogramm-Aufruf, gestapelt und im Speicher 430 gehalten. Weiterhin ist es notwendig, die Rücksprungadresse, die bei dem Speicher 430 gehalten ist, in das Allzweckregister 531 im Moment des Zurückspringens vom Unterprogramm einzulesen. Rücksprungadressen werden daher so häufig zwischen dem Allzweckregister 531 und dem Speicher 430 zum Sichern der Rücksprungadresse und zur Rücksprungverarbeitung übertragen, daß dies einen Verarbeitungsüberhang nach sich zieht.
  • Im Hinblick darauf wird eine genaue Beschreibung im folgenden gegeben werden, zum Beispiel von einem Fall von doppelter Verschachtelung eines Unterprogrammes, das heißt, einem Fall, wobei ein anderes Unterpogramm ohne Rücksprung von einem Unterprogramm zum Hauptprogramm aufgerufen wird.
  • Fig. 7 zeigt den Verschachtelvorgang eines Unterprogrammes durch die JAL-Anweisung 401a und die Art und Weise des Sicherns und Zurückspringens zum PC440. Fig. 8 veranschaulicht das Sichern der Rücksprungadresse und die Rücksprungverarbeitung sowie die Taktzahl, die bei jedem Schritt des Verschachtelvorgangs der Unterprogramme, der in Fig. 7 gezeigt ist, für die Verarbeitung erforderlich ist. Hier verschachtelt das Programm, das in der durch den Pfeil angezeigten Richtung ausgeführt wird, aus einem Programm R1 in ein Unterprogramm SR1 und weiter in ein Unterprogramm SR2. Der Stapelzeiger wird nicht durch spezielle Hardware implementiert, sondern durch das Allzweckregister 503.
  • Wenn die JAL-Anweisung 401a bei Schritt 701 im Hauptprogramm R1 ausgeführt wird, wird eine Rücksprungadresse im Allzweckregister 531 gesichert, um eine Adresse vom Unterprogramm SR1 zum PC440 zu setzen. Sobald sich, bei Schritt 702, die Steuerung an das Unterprogramm SR1 überträgt, werden die Inhalte des Allzweckregister 531 bei einer Adresse des Speichers 430 gespeichert, die durch den Stapelzeiger (Allzweckregister 503) angezeigt ist, um den Stapelzeiger um "4" zu steigern. Von Schritt 702 an wird die Verarbeitung des Unterprogrammes SR1 ausgeführt.
  • Wenn die JAL-Anweisung bei Schritt 703 im Unterprogramm ausgeführt wird, wird eine Rücksprungadresse im Allzweckregister 531 gesichert, um eine Adresse von dem Unterprogramme SR2 zum PC440 zu setzen. Sobald sich die Steuerung bei Schritt 704 auf das Unterprogramm SR2 überträgt, werden die Inhalte des Allzweckregister 531 bei einer Adresse des Speichers 430 gespeichert, die durch den Stapelzeiger angezeigt ist, um den Stapelzeiger um "4" zu steigern. Von Schritt 704 an wird die Bearbeitung des Unterprogramm SR2 durchgeführt.
  • Wenn die Verarbeitung des Unterprogrammes SR2 abgeschlossen ist, wird der Wert des Stapelzeiger in Schritt 705 um "4" reduziert, um den Inhalt des Speichers 430 bei einer Adresse, die durch den Stapelzeiger angezeigt wird, in das Allzweckregister 531 abzurufen. Die Ausführung der JMP-Anweisung 402a bei Schritt 706 hat zur Folge, daß eine Rücksprungadresse in den PC440 gesetzt wird, wobei die Steuerung an das Unterprogramm SR1 zurückspringt.
  • Dann folgt die Bearbeitung des Unterprogrammes SR1. Wenn die Bearbeitung abschließt, wird der Wert des Stapelzeigers um "4" reduziert, um den Inhalt (Rücksprungadresse) bei einer Adresse, die durch den Stapelzeiger angezeigt ist, in Schritt 707 in das Allzweckregister 531 aufzurufen. Bei Schritt 708 wird die JMP- Anweisung 402a ausgeführt, um eine Rücksprungadresse in den PC440 zu setzen, wobei die Steuerung zum Hauptprogramm R1 zurückspringt.
  • Damit ist es notwendig, eine Rücksprungadresse in einen Speicher (Stapel) zu speichern und eine Rücksprungadresse zu jedem Zeit punkt eines Unterprogrammaufrufes und Rückkehr aus dem Speicher aufzurufen, was einen Verarbeitungsüberhang nach sich zieht. Wie in Fig. 7 veranschaulicht, wird, wenn ein anderes Unterprogramm ohne Zurückspringen vom Hauptprogramm zum Unterprogramm aufgerufen wird, durch einen Unterprogrammaufruf mehr Verarbeitungsüberhang nach sich gezogen. Der Aufbau des zweiten Stand der Technik wird in Fig. 9 veranschaulicht, bei welcher der Wert eines Programmzählers in einem Schieberegister gespeichert wird, um einen derartigen Verarbeitungsüberhang zu reduzieren, der durch die Verarbeitung zum Speichern einer Rücksprungadresse in einen Speicher und zum Zurückspringen, wie es nach dem ersten Stand der Technik erforderlich ist, verursacht wird.
  • In Fig. 9, welche die Bauart des zweiten Stands der Technik zeigt, bezeichnet die Referenznummer 801 einen 16-Bit Adreßbus, 802 einen PC zum Eingeben und Ausgeben von 16-Bit Adressdaten D0 bis D15 vom/zum Adreßbus 801, 803 eine Anweisungsdecodiererschaltkreis zum Decodieren eines Anweisungscodes zu, der spezifische Anweisungscodes (CALL-Anweisung, RET-Anweisung) decodiert und auf Ausgabesignallinien 804, 805 entsprechend ausgibt, gemäß der Zeit des Decodierens. 806 stellt ein bidirektionales Schieberegister dar, das eine Zuletzt-herein-zuerst-heraus-Funktion aufweist, bei der eine Vielzahl an Registerstufen 806-1 bis 806- n verbunden werden. Das bidirektionale Schieberegister 806 leitet die Vorwärts-Schiebeoperation und die Rückwärts-Schiebeoperation in Erwiderung auf die Decodierer-Ausgabesignale 804 und 805 vom Anweisungsdecodierer-Schaltkreis 803. Das Bezugszeichen 807 bezeichnet einen Steuerschaltkreis zum Steuern der Ein-/Ausgabe von Daten zwischen dem PC802 und dem Schiftregister 806.
  • Die Arbeitsweise von dem zweiten Stand der Technik, die in Fig. 9 veranschaulicht ist, wird beschrieben. Wenn die CALL-Anweisung zur Zeit eines Unterprogramm-Aufrufes ausgeführt wird, wird eine Adresse (Rücksprungadresse) einer Anweisung, die nachfolgend auf die oben beschriebene CALL-Anweisung im Programm vorhanden ist, durch den PC802 angezeigt. Die Rücksprungadresse, die Inhalt des PC802 ist, wird nicht im Speicher gesichert. Eine Vorwärts- Schiebeoperation des bidirektionalen Schieberegisters 806 wird in Erwiderung eines Timingsignals geleitet, das durch eine CALL- Decodiererausgabe ("1") von der Ausgabesignalleitung 804 vom Anweisungsdecodierer-Schaltkreis 803 erzeugt wird, um die oben beschriebene Rücksprungadresse im bidirektionalen Schiftregister 806 zu sichern.
  • Dann, wenn die RET-Anweisung bei der Durchführung des Unterprogrammes ausgeführt wird, wird die Rückwärts-Schiebeoperation des bidirektionalen Schiftregisters 806 in Erwiderung auf ein Timingsignal geleitet, das durch die RET-Decodiererausgabe "1" von der Ausgabesignalleitung 805 vom Anweisungsdecodierer-Schaltkreis 803 erzeugt wurde, wodurch die letzte Rücksprungadresse, die in der umgekehrten Richtung des bidirektionalen Schiftregisters 806 enthalten ist, zuerst ausgegeben und zu dem PC802 durch die Steuerschaltung 807 hindurch zurückgegeben wird.
  • Zusätzlich wird, wenn die CALL-Anweisung mehrere Male erfolgreich ausgeführt wird (mit anderen Worten wird die CALL-Anweisung mehrere Male ohne Ausführung der RET-Anweisungen ausgeführt), wird die Vorwärts-Schiebeoperation des bidirektionalen Schiftregisters 806 jedesmal ausgeführt, wenn die CALL-Anweisung wie oben beschrieben ausgeführt wird. Danach, wenn die RET-Anweisung nach der oben beschriebenen erfolgreichen Ausführung der CALL-Anweisungen ausgeführt wurde, werden die aktuellen Daten der Rücksprungadressen, die im bidirektionalen Schieberegister enthalten sind durch Rückwärts-Schieben des bidirektionalen Schiftregisters 806 auf den PC802 ausgelesen. Ist die selbe Anzahl von den RET-Anweisungen wie die Anzahl der CALL-Anweisungen ausgeführt, werden alle Rücksprungadresse aus dem bidirektionalen Schieberegister herausgenommen.
  • Wie vorhergehend beschrieben, ist es unnötig, einen Speicher zum Zwecke des Speicherns und Sicherns von Rücksprungadressdaten des PC802 zu verwenden. Ein derartiger Verarbeitungsüberhang, wie er nach dem ersten Stand der Technik vorkommen würde, wird daher behoben.
  • Da nach dem oben beschriebenen ersten Stand der Technik ein spezifisches Allzweckregister 531 regelmäßig zum Sichern einer Rücksprungadresse verwendet wird, erfordert jede Verarbeitung für einen Unterprogrammaufruf und jede Verarbeitung zum Rücksprung von einem Unterprogramm, daß eine Rücksprungadresse von dem Allzweckregister 531 in einem Speicher eingespeichert wird und von diesem zurückgegeben wird. Im Ergebnis wird eine Rücksprungadresse so häufig zwischen einem Allzweckregister und einem Speicher übertragen, daß ein Verarbeitungsüberhang vorkommt, der eine Verarbeitungsgeschwindigkeit reduziert.
  • Nach dem zweiten Stand der Technik, der so aufgebaut ist, daß eine Rücksprungadresse in einem bidirektionalen Schieberegister gesichert ist und zu diesem zurückgegeben wird, ist der Verarbeitungsüberhang, den das Speichern und Zurückspringen von einer Rücksprungadresse nach sich zieht, was ein Nachteil des ersten Stands der Technik ist, reduziert. Die Bauart des zweiten bekannten Stand der Technik benötigt jedoch das Vorsehen einer anderen dediziert Steuer-Hardware, die ein bidirektionales Schieberegister einschließt. Eine große zentrale Datenverarbeitungsanlage und Mehrkosten sind daher erforderlich.
  • Zusätzlich wird es sich beim Abwägen der Beschleunigung der Verarbeitung gegen die Reduzierung der Größe des Schaltkreises als unmöglich erweisen, eine derartige Bauart, wie sie in dem oben beschriebenen zweiten Stand der Technik veranschaulicht ist, einem Einchip Mikrocomputer und dergleichen zu eigen zu machen, dem größte Wichtigkeit bei der Reduzierung der Größe des Schaltkreises beigelegt wird.
  • Die Referenz "Hewlett-Packard Precision Architecture: The Processor ("Der Prozessor"), Hewlett-Packard Journal, Vol. 37, Nr. 8, 1. August 1986, Seiten 4-22, XP000211314, Mahon, M. J. et al." offenbart einen Baustil eines RISC Prozessors, der ein Unterprogramm-Rufübereinkommen verwendet, das ähnlich dem des zweiten Stand der Technik ist, und eine Einzelanweisung-verzögerte Verzweigung durchführt, um Leitungsverriegelungen zu minimieren.
  • Beim Verzweigen wird die Rücksprungadresse des Rufprogrammes in einem vordefinierten Allzweckregister gesichert, bevor der Regeldurchfluß an das Unterprogramm übertragen wird. Um sowohl die Leerzeichen-Identifizierung des Aufrufers als auch den Versatz innerhalb des Leerzeichens zu sichern, wird das Leerzeichenregister SR0 zum Sichern der Leerzeichen-Identifizierung verwendet, und das Allgemeine Register GR31 wird zum Sichern der Versatzadresse verwendet.
  • Dieses Verfahren zeigt den typischen Verarbeitungsüberhang vor und nach der Ausführung eines Unterprogrammes. Darüberhinaus basiert das Sichern der Rücksprungadresse nur auf der Tätigeit von den Registern SR0 und Gr31.
  • In ähnlicher Art offenbart die Referenz "Inside Intel's i960CA superscalar processor, Microprozessors und Microsystems, Vol. 14, Nr. 6, Juli 1990, London GB, Seiten 385-396, XP000 151094, Steve MCGeady" ein vordefiniertes Schema durch die Verwendung des Anordnens der Parameter in umfassenden Registern in der Art eines linearen Stapels. Dieses Verfahren bleibt nur solange in einem typischen Verarbeitungsüberhang, wie die aufgerufenen Arbeitsanweisungen einige Parameter enthalten.
  • Beide Referenzen bieten keine vorhandene Anweisung, die vorteilhafterweise ein Feld vorsieht, das imstande ist, das Register zum Sichern der Rücksprungadresse auszuwählen, wie in der vorliegenden Erfindung.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Eine Aufgabe der vorliegenden Erfindung ist es, die obigen Probleme durch Vorsehen eines Informationsprozessors zu lösen, dessen Funktion zum Sichern einer Rücksprungadresse in ein willkür liches Allzweckregister das Vorkommen eines Verarbeitungsüberhanges beim Sichern und Zurückspringen von einer Rücksprungadresse während des Verarbeitens eines Unterprogrammes verhindern kann.
  • Eine andere Aufgabe der vorliegenden Erfindung ist es, einen hochwirtschaftlichen Informationsprozessor vorzusehen, der einfache Abwandlungen eines Schaltkreises ohne Ausrüstung der dediziert Hardware erlaubt, um die Verarbeitung zu beschleunigen, ohne das dies einen Verarbeitungsüberhang beim Sichern und Zurückspringen einer Rücksprungadresse während des Sicherns nach sich zieht, während zusätzliche Kosten gespart werden.
  • Gemäß dem ersten Aspekt der Erfindung weist ein Informationsprozessor folgendes auf:
  • einen Programmzähler, der eine Adresse einer auszuführenden Anweisung anzeigt;
  • eine Vielzahl von Allzweckregistern;
  • Ausführungsmittel zum Ausführen einer Unterpogramm-Aufrufanweisung;
  • Mittel zum Auswählen eines willkürlichen Allzweckregisters aus der Vielzahl von Allzweckregistern zur Zeit der Ausführung der Unterproramm-Aufrufanweisung; und
  • Mittel zum Sichern eines Anweisungszählwertes zum Rücksprung von dem Unterprogramm in ein ausgewähltes Allzweckregister.
  • Im bevorzugten Aufbau ist ein Code der Unterprogramm-Aufrufanweisung vorgesehen, mit einem Feld zum Bestimmen eines Allzweckregisters zum Sichern eines Anweisungszählwertes für den Rücksprung, und das Allzweckregister-Auswahlmittel wählt, in Erwiderung auf ein Bestimmungssignal, ein Allzweckregister aus, für die Ausgabe des Allzweckregisters durch die Ausführung der Unterprogramm-Aufrufanweisung mittels der Ausführungsmittel.
  • In einer anderen bevorzugten Ausführung ist ein Code der Unterprogramm-Aufrufanweisung vorgesehen, mit einem Feld zum Bestimmen eines Allzweckregisters zum Sichern eines Anweisungszählwertes für den Rücksprung, das Allzweckregister-Auswahlmittel wählt ein Allzweckregister aus, in Erwiderung eines Bestimmungssignales für das Allzweckregister, ausgegeben durch die Ausführung der Unterprogramm-Aufrufanweisung mittels der Ausführungsmittel, und das Sicherungsmittel sichert einen Wert, der durch addieren einer Länge der Unterprogramm-Aufrufanweisung zum Anweisungszählwert erhalten wird als den Anweisungszählwert für den Rücksprung in das ausgewählte Allzweckregister in Erwiderung auf ein Sicherungsignal von einem Anweisungszählwert für den Rücksprung, das durch die Ausführung der Unterprogamm-Aufrufanweisung mittels der Ausführungsmittel ausgegeben wird.
  • Gemäß dem zweiten Aspekt der Erfindung weist ein Informationsprozessor folgendes auf:
  • einen Programmzähler, der eine Adresse einer auszuführenden Anweisung anzeigt;
  • eine Vielzahl von Allzweckregistern;
  • Mittel zum Ausführen einer Unterprogramm-Aufrufanweisung und einer Anweisung, um von einem Unterprogramm zurückzukehren;
  • Mittel zum Auswählen eines willkürlichen Allzweckregisters unter der Vielzahl von Allzweckregistern zur Zeit der Ausführung der Unterprogramm-Aufrufanweisung;
  • Mittel zum Sichern eines Anweisungszählwertes zum Zurückspringen von dem Unterprogramm in ein ausgewähltes Allzweckregister; und
  • Mittel zum Lesen des Anweisungszählwertes für dem Rücksprung vom Allzweckregister, welches den Anweisungszählwert für den Rücksprung sichert und denselben zum Programmzähler setzt, zum Zeitpunkt der Ausführung der Anweisung zum Zurückspringen vom Unterprogramm.
  • Im bevorzugten Aufbau ist ein Code der Unterprogramm-Aufrufanweisung mit einem Feld zum Bestimmen eines Allzweckregisters zum Sichern eines Anweisungszählwertes für den Rücksprung vorgesehen, das Allzweckregister-Auswahlmittel wählt ein Allzweckregister aus in Erwiderung eines Bestimmungssignales für das Allzweckregister, ausgegeben durch die Ausführung der Unterprogramm-Aufrufanweisung mittels der Ausführungsmittel, das Sicherungsmittel sichert einen Wert, der durch addieren einer Länge der Unterprogramm-Aufrufanweisung zum Anweisungszählwert erhalten wird als den Anweisungszählwert für den Rücksprung in das ausgewählte Allzweckregister in Erwiderung auf ein Sicherungssignal von einem Anweisungszählwert für den Rücksprung, das durch die Ausführung der Unterprogramm-Aufrufanweisung mittels der Ausführungsmittel ausgegeben wird, und das Mittel zum Lesen eines Anweisungszählwertes für den Rücksprung liest den Anweisungszählwert für den Rücksprung von dem Allzweckregister, das durch das Allzweckregister-Auswahlsignal bestimmt wird, das durch die Ausführung der Anweisung zum Zurückspringen von dem Unterprogramm durch das Anweisungs-Ausführungsmittel ausgegeben wird, und setzt denselben zu dem Programmzähler.
  • Gemäß dem dritten Aspekt der Erfindung weist ein Informationsprozessor folgendes auf:
  • einen Programmzähler, der eine Adresse einer auszuführenden Anweisung anzeigt;
  • eine Vielzahl von Allzweckregistern;
  • Ausführungsmittel zum Ausführen einer Unterprogramm-Aufrufanweisung einschließlich Bestimmung eines Allzweckregisters zum Aufrufen eines Unterprogrammes;
  • Mittel zum Auswählen eines spezifischen Allzweckregisters, das durch die Anweisung zur Zeit der Ausführung der Unterprogramm- Aufrufanweisung bestimmt wird; und
  • Mittel zum Sichern eines Anweisungszählwertes für den Rücksprung vom Unterprogramm in ein ausgewähltes Allzweckregister.
  • Im bevorzugten Aufbau ist ein Code der Unterprogramm-Aufrufanweisung vorgesehen mit einem Feld zum Bestimmen eines Allzweckregisters zum Sichern eines Anweisungszählwertes für den Rücksprung vorgesehen, das Allzweckregister-Auswahlmittel wählt ein Allzweckregister aus, in Erwiderung auf ein Bestimmungsignal für die Allzweckregister-Ausgabe, durch die Ausführung der Unterprogramm-Aufrufanweisung mittels der Ausführungsmittel, und das Sicherungsmittel sichert einen Wert, der durch Addieren einer Länge der Unterprogramm-Aufrufanweisung zum Anweisungszählwert erhalten wird als den Anweisungszählwert für den Rücksprung in das ausgewählte Allzweckregister, in Erwiderung auf ein Sicherungssignal von einem Anweisungszählwert für den Rücksprung durch die Ausführung der Unterprogramm-Aufrufanweisung mittels der Ausführungsmittel ausgegeben wird.
  • Nach einem noch weiteren Aspekt der Erfindung, weist ein Informationsprozessor folgendes auf:
  • eine Vielzahl von Registern zum Gebrauch in Mehrfachunterbrechung;
  • Mittel zum Bestimmen eines willkürlichen Registers unter der Vielzahl von Registern zur Zeit der Unterbrechung; und
  • Mittel zum Speichern einer Adresse zum Zurückspringen von der Unterbrechung in das bestimmte Register.
  • Im oben erwähnten Aufbau ist ein Anweisungscode der Unterbrechung vorgesehen mit einem Feld zum Bestimmen eines Registers zum Speichern einer Rücksprungadresse, und das Registerbestimmungsmittel bestimmt ein Register in Erwiderung auf ein Bestimmungssignal für das Register, ausgegeben durch die Ausführung der Unterbrechungsanweisung.
  • In einem anderen bevorzugten Aufbau, ist ein Anweisungscode der Unterbrechung mit einem Feld zum Bestimmen eines Registers zum Speichern einer Rücksprungadresse vorgesehen, das Registerbestimmungsmittel bestimmt ein Allzweckregister in Erwiderung auf ein Bestimmungssignal für das Register, ausgegeben durch die Ausführung der Unterbrechungsanweisung, und das Speichermittel sichert einen Wert, der durch Addieren einer Länge der Unterbrechungsanweisung zu einem Anweisungszählwert, wie die Rücksprungadresse im bestimmten Register, erhalten wird.
  • Andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden aus der detaillierten Beschreibung deutlich, die im folgenden gegeben ist.
  • KURZBESCHREIUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung wird noch vollständiger aus der ausführlichen Beschreibung heraus verstanden werden, die hier im folgenden gegeben ist, und aus den begleitenden Zeichnungen von der bevorzugten Ausführungsform der Erfindung, die jedoch nicht zu eingrenzend für die Erfindung verstanden werden sollten, sondern ausschießlich zur Erklärung und zum Verständnis dienen. Es zeigen:
  • Fig. 1 ein Blockdiagramm, das eine Bauart eines Informationsprozessors veranschaulicht, nach einer Ausführungsform der vorliegenden Erfindung
  • Fig. 2 ein Diagramm, das ein Beispiel von der Anordnung von Anweisungscodes veranschaulicht, wie sie in der in Fig. 1 gezeigten Ausführungsform ausgeführt werden müssen.
  • Fig. 3 ein Diagramm, das den Verarbeitungsfluß zum Verschachteln eines Unterprogrammes veranschaulicht, nach der in Fig. 1 gezeigten Ausführungsform.
  • Fig. 4 ein Diagramm, das Rücksprungadressensicherung und Rücksprungverarbeitung veranschaulicht sowie die Taktzahl, die für die Verarbeitung bei jedem Schritt des Verschachtelns des Unterprogrammes, wie in Fig. 3 gezeigt, notwendig ist.
  • Fig. 5 ein Blockdiagramm, das die Bauart eines Informationsprozessors nach dem ersten bekannten Stand der Technik veranschaulicht.
  • Fig. 6 ein Diagramm, das ein Beispiel der Anweisungscodes nach dem, in Fig. 5 gezeigten, ersten Stand der Technik veranschaulicht.
  • Fig. 7 ein Diagramm, das den Fluß von konventionellem Verarbeiten zum Verschachteln eines Unterprogrammes zeigt.
  • Fig. 8 ein Diagramm, das Rücksprungadressensicherung und Rücksprungverarbeitung veranschaulicht, sowie die Taktzahl, die für die Verarbeitung bei jedem Schritt des Verschachtelns des Unterprogrammes, wie in Fig. 7 gezeigt, notwendig ist.
  • Fig. 9 ein Blockdiagramm, das die Bauart eines Informationsprozessors nach dem zweiten Stand der Technik zeigt
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Eine bevorzugte Ausführungsform der vorliegenden Erfindung wird unter Bezugnahme auf die begleitenden Zeichnungen im Einzelnen beschrieben. Fig. 1 ist ein Blockdiagramm, das die Bauart eines Informationsprozessors nach einer Ausführungsform der vorliegenden Erfindung zeigt. In Fig. 1, die einen Teil der Bauart eines Informationsprozessors, wie z. B. einen Mikrocomputer, veranschaulicht, bezeichnet das Bezugszeichen 10 einen Anweisungsdecodierer, 40 bezeichnet einen PC, 41 bezeichnet einen Inkrementierer, 101 bis 131 bezeichnen Allzweckregister, 100 bezeichnet ein Allzweckregister, dessen Datum auf "0" fixiert ist, 200 bis 231 bezeichnen Zwei-Eingänge-UND-Schaltkreise, 250 bezeichnet einen Zwei-Eingänge-ODER-Schaltkreis, 20 bezeichnet einen Daten-Bus und 30 bezeichnet einen Speicher.
  • Wie in der Abbildung veranschaulicht, weist der Informationsprozessor nach der vorliegenden Ausführungsform eine Bauart auf, die zum größten Teil mit der Bauart des, in Fig. 5 gezeigten, ersten Stand der Technik, gemein ist.
  • In dieser Ausührungsform ersetzen der Zwei-Eingänge-UND-Schaltkreis 231 und der Zwei-Eingänge-ODER-Schaltkreis 250 entsprechend den ODER-Schaltkreis 650 bzw. den UND-Schaltkreis 631, die in Fig. 5 gezeigt sind.
  • Der Anweisungsdecodierer 10 ist zugelassen, Anweisungscodes zu decodieren, die von denen des ersten Stands der Technik abweichen und die verbleibenden Funktionen sind dieselben, wie die des ersten bekannten Stands der Technik. Zusätzlich wird der Speicher 30 in der vorliegenden Ausführungsform nicht als Stapel für Rücksprungadressen verwendet. Auch wird auf dieselbe Art wie beim ersten Stand der Technik eine Unterprogrammadresse auf den Daten-Bus 420 ausgegeben, nachdem das Schreiben einer Rücksprungadresse in ein Allzweckregister durch den Anweisungsdecodierer 10 vollendet ist.
  • Der Anweisungsdecodierer 10 decodiert verschiedene Arten von Anweisungen, wie z. B. eine Unterprogramm-Aufrufanweisung und eine Rücksprunganweisung und gibt, von den Ergebnissen des Decodierens ausgehend, ein Lesesignal (RD Signal) S52, ein Schreibsingal (WR Signal) S53, ein Rücksprungsignal S54, ein Sicherungsignal S55, Register-Auswahlsignale S0 bis S31, eine Unterprogrammadresse und ein Wortüberwechselsignal S34 aus, angezeigt von der Byte-Zahl einer decodierten Anweisung (Länge der Anweisung).
  • Der Inkrementierer 41 empfängt jedesmal eine Ausgabe des PC40 und gibt, in Erwiderung des Wortüberwechselsignales S34, eine Summe des Zählwertes ("2" oder "4") aus, die mit der Bytezahl einer Anweisung, die gerade decodiert wird, und die der Ausgabe des PC40 gleichwertig ist.
  • In Fig. 1 werden das Rücksprungsignal S54 und das Sicherungssignal S55 vom Anweisungsdecodierer 10 an den ODER-Schaltkreis 250 ausgegeben. Der ODER-Schaltkreis 250 erhält das ODER vom Rücksprungsignal S54 und von dem Sicherungsignal S55 und gibt das Ergebnis an Einsen der entsprechenden Eingaben der UND-Schaltkreise 200 bis 230 und 231 aus.
  • Die Register-Auswahlsignale S0 bis S31 korrespondieren mit den UND-Schaltkreisen 200 bis 231 entsprechend. Genauer korrespondieren das Register-Auswahlsignal S0 mit dem UND-Schaltkreis 200 und das Register-Auswahlsignal S31 mit dem UND-Schaltkreis 231. Die Register-Auswahlsignale S0 bis S31 werden daher den anderen der entsprechenden Eingaben ihrer korrespondierenden UND-Schaltkreise 200 bis 231 zugeführt. Der UND-Schaltkreis 231 erhält das UND vom Register-Auswahlsignal S31 sowie von der Ausgabe des ODER-Schaltkreises 250 und gibt das Ergebnis zum Allzweckregister 131.
  • Die UND-Schaltkreise 200 bis 231 erhalten entsprechend das UND von der Ausgabe des ODER-Schaltkreises 250 und den Register-Auswahlsignalen S0 bis S30 und geben die Ergebnisse als Auswahlsig nale zum Auswählen der korrespondierenden Allzweckregister 100 bis 131 aus. Genauer erreicht eine der Ausgaben der UND-Schaltkreise 200 bis 231 "1", um eines der korrespondierenden Allzweckregister 100 bis 131 auszuwählen, wenn der logische Wert des Rücksprungsignales S54 oder das Sicherungssignal S55 "1" ist, und irgendeines der Register-Auswahlsignale S0 bis S30 den logischen Wert "1" erreicht.
  • Das Wortüberwechselsignal S34, das von dem Anweisungsdecodierer 10 ausgegeben wird, ist ein Signal zum Steuern des Inkrementierers 41. Das Wortüberwechselsignal S34 erreicht den logischen Wert "0", wenn eine Anweisung, die gerade decodiert wird, zwei Bytes lang ist, und erreicht den logischen Wert "1", wenn eine Anweisung, die gerade decodiert wird, vier Bytes lang ist. Der Inkrementierer 41 wird gesteuert, um den Zählwert "2" zu dem PC40 zu addieren, wenn der logische Wert des Wortüberwechselsignales S34 "0" ist, und den Zählwert "4" zu addieren, wenn der logische Wert des Wortüberwechselsignales S34 "1" ist.
  • Während der in Fig. 5 gezeigte erste Stand der Technik so aufgebaut ist, daß eine Rücksprungadresse regelmäßig in einem spezifischen Allzweckregister zum Zeitpunkt eines Unterprogrammaufrufes gesichert wird, ist in der vorliegenden Ausführungsform ein Allzweckregister zum Sichern einer Rücksprungadresse nicht auf ein Spezifisches eingegrenzt. Mit anderen Worten, es wird eine Rücksprungadresse in einem willkürlich bestimmten Allzweckregister durch eine Unterprogramm-Aufrufanweisung gespeichert, die später beschrieben werden wird.
  • Fig. 2 zeigt eine Anordnung von Anweisungscodes, die durch den Informationsprozessor verarbeitet werden sollen, gemäß der in Fig. 1 gezeigten vorliegenden Ausführungsform. Um ein Unterprogramm aufzurufen wird eine JARL-Anweisung 401 ausgeführt. Die Bitnummern 10 bis 5 der JARL-Anweisung 401 bezeichnen ein Feld von Operandencodes zum Leiten der Arbeitsweise der JARL-Anweisung 401. Die Bitnummern 15 bis 11 bezeichnen ein Registerbestimmungsfeld zum Bestimmen von irgendeinem der Allzweckregis ter 101 bis 131, dieses Feld bestimmt die Allzweckregister 101 bis 131 durch 5-Bit Binärzahlen. Die Bitnummern 4 bis 0 und die Bitnummern 31 bis 16 bezeichnen Versatzadresswerte, die Verzweigungsziele (Unterprogramme) anzeigen. Eine Anweisung 400 bezeichnet eine Code-Anordnung von einer Register-zu-Register Datenübertragungsanweisung (MOV reg, reg).
  • Die JARL-Anweisung 401 für einen Unterprogrammaufruf und eine JMP-Anweisung 402 für den Rücksprung von einem Unterprogramm sind so angeordnet, daß sie dasselbe Format eines Registerbestimmungsfeldes aufweisen, wie das der Register-zu-Register Datenübertragungsanweisung (MOV reg, reg) 400 oder dergleichen.
  • Mit Bezug auf Fig. 1 und 2 werden die Arbeitsschritte, die zur Zeit eines Unterprogrammaufrufes und des Rücksprunges von einem Unterprogramm durchgeführt werden müssen, beschrieben.
  • Beim Decodieren der JARL-Anweisung 401 setzt der Anweisungsdecodierer 10 das RD Signal S54 auf "0", das WD Signal S53 auf "1", das Rücksprungsignal S54 auf "0", das Sicherungssignal S55 auf "1" und ein Register-Auswahlsignal (irgendeines aus S1 bis S31), das mit einem Allzweckregister korrespondiert, welches durch die JARL-Anweisung 401 bestimmt wurde, auf "1" und gibt eine Adresse eines Unterprogrammes, das durch die JARL-Anweisung 401 bestimmt wurde, auf den Daten-Bus 20 aus.
  • Die JARL-Anweisung 401 wird wie folgt beschrieben.
  • JARL Unterprogramm-Name Allzweckregister-Name
  • Hier wird eine Beschreibung der Verarbeitung gegeben, die durchgeführt werden muß, wenn das Allzweckregister 130 durch die JARL-Anweisung 401 bestimmt wird. Im Ergebnis des Decodierens der JARL-Anweisung 401 durch den Anweisungsdecoder 10 erreicht das Sicherungssignal S55"1" und das Wortüberwechselsignal S34 erreicht "1", um eine Rücksprungadresse auf den Daten-Bus 20 auszugeben.
  • Zur selben Zeit erreicht die Ausgabe des UND-Schaltkreis 230 "1", um das Allzweckregister 130 auszuwählen, wobei die Ausgabe des ODER-Schaltkreis 250 "1" ist und des Register-Auswahlsignal S30, korrespondierend mit dem Allzweckregister 130 "1" ist. Dann wird der Wert der Rücksprungadresse auf dem Daten-Bus 20 in das Allzweckregister 130 geschrieben, wobei das WR Signal S53 "1" ist.
  • In der Zwischenzeit ist das Rücksprungsignal "0", was keine Wirkung hat. Weiterhin gibt der Anweisungsdecodierer 10 eine Adresse eines Unterprogramms, das durch die JARL-Anweisung 401 bestimmt wurde, auf den Daten-Bus 20 aus, um die Adresse des Unterprogramms auf den PC40 zu schreiben.
  • Zur Zeit des Rücksprunges von einem Unterprogramm wird die JMP- Anweisung 402 ausgeführt. Die JMP-Anweisung 402 wird aus Anweisungscodes gebildet, die so angeordnet sind wie in Fig. 2 veranschaulicht. Die Bitnummern 15 bis 11 des JMP-Anweisungscode 402 bezeichnen ein ungenutztes Feld, das ganz auf "0" gesetzt ist. Die Bitnummern 10 bis 5 bezeichnen ein Feld von Opterandencodes zum Leiten der Arbeitsweise der JMP-Anweisung. Die Bitnummern 4 bis 0 bezeichnen ein Feld zum Bestimmen von Allzweckregistern, dieses Feld bestimmt irgendeines der Register 101 bis 131 durch 5-Bit Binärzahlen.
  • Beim Decodieren der JMP-Anweisung 402, setzt der Anweisungsdecodierer 10 das RD Signal S52 auf "1", das WR Signal S53 auf "0", das Rücksprungsignal S54 auf "1", das Sicherungssignal S55 auf "0" und das Register-Auswahlsignal (irgendeines der S1 bis S31), das mit einem Allzweckregister korrespondiert, welches durch die JMP-Anweisung 402 bestimmt wurde, auf "1". Hier wird eine Beschreibung von einem Fall gegeben, bei dem das Allzweckregister 130 durch die JMP-Anweisung 402 bestimmt wurde.
  • Als Ergebnis des Decodierens der JMP-Anweisung 402, gibt der Anweisungsdecodierer 10 das Rücksprungsignal S54 aus, dessen Wert auf "1" gesetzt ist, so daß die Ausgabe des ODER-Schaltkreises 250 den logischen Wert "1" erreicht. Da der Anweisungsdecodierer 10 auch das RD Signal S52 ausgibt, dessen Wert auf "1" gesetzt ist, wird zu dieser Zeit eine Rücksprungadresse aus dem Allzweckregister 130 ausgelesen und, in Erwiderung auf das RD Signal 52, auf den Daten-Bus 20 ausgegeben. In der Zwischenzeit wird die Rücksprungadresse auf dem Daten-Bus 20 zu dem PC40 gesetzt, da das Rücksprungsignal S54 "1" ist.
  • Fig. 3, ebenso wie Fig. 7, zeigten den Verschachtelvorgang von Unterprogrammen durch die JARL-Anweisung 401 und die Art der Verarbeitung zum Sichern und Zurückspringen einer Rücksprungadresse in und zu dem PC40. Fig. 4 veranschaulicht das Speichern einer Rücksprungadresse und die Rücksprungverarbeitung, sowie die Taktzahl, die zum Verarbeiten bei jedem Schritt des Verschachtelvorgangs der in Fig. 3 gezeigten Unterprogramme erforderlich ist. Das Programm, das in der vom Pfeil angezeigten Richtung ausgeführt wird, verschachtelt sich aus einem Hauptprogramm R1 in eine Unterprogramm SR1 und dann in ein Unterprogramm SR2. An dieser Stelle werden eine Rücksprungadresse, die in dem Hauptprogramm gesichert werden soll, und eine Rücksprungadresse, die in dem Unterprogramm SR1 gesichert werden soll, in den entsprechenden Allzweckregistern 130 und 129 gesichert.
  • Wenn die JARL-Anweisung 401 (das Allzweckregister 130 bestimmend) bei Schritt 301 im Hauptprogramm R1 ausgeführt wird, wird eine Rücksprungadresse in dem bestimmten Allzweckregister 130 gesichert, um eine Adresse des Unterprogramms SR1 zum PC40 zu setzen. Nachdem die Steuerung bei Schritt 302 an das Unterprogramm SR1 übergeht, startet sofort die Verarbeitung des Unterprogramms SR1, weil das Speichern einer Rücksprungadresse im Speicher 30, das konventionell erforderlich ist, unnötig ist.
  • Wenn die JARL-Anweisung 401 (das Allzweckregister 129 bestimmend) bei Schritt 303 im Unterprogramm SR1 ausgeführt wird, wird eine Rücksprungadresse in dem bestimmten Allzweckregister 129 gesichert, um die Adresse des Unterprogramms SR2 zum PC40 zu setzen. Nachdem die Steuerung bei Schritt 304 auf das Unterprogramm SR2 übergeht, wird die Verarbeitung des Unterprogramms SR2 sofort ausgeführt, ohne die Notwendigkeit des Speicherns einer Rücksprungadresse im Speicher 30.
  • Wenn die Verarbeitung des Unterprogramms SR2 vollendet ist, wird in Schritt 308 die JMP-Anweisung 402 (das Allzweckregister 129 bestimmend) ausgeführt, um die Rücksprungadresse, die aus dem Allzweckregister 129 herausgelesen wurde, zum PC40 zu setzen, wodurch die Steuerung zum Haupt-Unterprogramm SR1 zurückspringt. Darauffolgend wird die Verarbeitung des Unterprogramms SR1 geleitet. Bei der Vollendung der Verarbeitung des Unterprogramms SR1, wird die JMP-Anweisung 402 (das Allzweckregister 130 bestimmend) in Schritt 308 ausgeführt, um eine Rücksprungadresse, die aus dem Allzweckregister 130 herausgelesen wurde, zum PC 40 zu setzen, wobei die Steuerung zum Hauptprogramm R1 zurückspringt.
  • Somit erfordert die vorliegende Ausführungsform keine Verarbeitung zum Speichern und Zurückspringen eines Wertes einer Rücksprungadresse in und zum Speicher 30 zur Zeit eines Unterprogrammaufrufes und zum Zurückspringen zu demselben für die gleiche Verschachtelung. Ein Verarbeitungsüberhang, der beim Speichern einer Rücksprungadresse in einem Speicher entsteht, wird daher eliminiert.
  • Nach dem ersten Stand der Technik beläuft sich die Taktzahl, die zum Rücksprungadressen-Sichern und Verarbeiten des Rückspringens notwendig ist, auf 22 Takte, wie in Fig. 8 gezeigt. Andererseits erfordert die vorliegende Ausführungsform die Gesamtsumme von 12 Takten zum Rücksprungadressen-Sichern und Verarbeiten des Rückspringens, wie in Fig. 4 gezeigt, das sind nur 54 Prozent der Takte, die für den ersten Stand der Technik notwendig sind. Demgemäß wird der Verarbeitungsüberhang reduziert.
  • Zusätzlich ermöglicht das Formatieren der Codes der JARL-Anweisung 401, um dasselbe Registerbestimmungsfeld aufzuweisen, wie diejenigen der Register-zu-Register-Datenübertragungsanweisung (Mov reg, reg) 400 und dergleichen, wie in Fig. 2 veranschaulicht, daß ein Decoder zum Decodieren einer Daten-übertragungsanweisung auch wie die obigen Decoder für die JARL-Anweisung verwendet wird, was den Anweisungsdecoder der vorliegenden Ausführungsform zum Decodieren der JARL-Anweisung 401 einschließlich der Registerbestimmung betrifft. Es daher unnötig, einen Decoder vorzusehen, welcher der Registerbestimmung der JARL-Anweisung 401 dediziert ist. Wie im Vorhergehenden beschrieben, ist die vorliegende Ausführungsform höchst praktisch, weil Rücksprungadressen in Allzweckregistern gesichert werden können, solange sie vorhanden sind.
  • Gemäß der vorliegenden Erfindung, wird, in Erwiderung auf eine Ausgabe von einer decodierten Unterprogramm-Aufrufnweisung, ein Anweisungszählwert für den Rücksprung zum Sichern in ein willkürlich ausgewähltes Allzweckregister hineingeschrieben. Dies eliminiert einen beim Speichern eines Anweisungszählwertes für den Rücksprung in einen Speicher vorkommenden Verarbeitungsüberhang und einen beim Zurückspringen eines Anweisungszählwertes für den Rücksprung vom Speicher vorkommenden Verarbeitungsüberhang, was darauf hinausläuft, daß die Hochgeschwindigkeits-Verarbeitung durch einen Informationsprozessor verwirklicht ist.
  • Wie im vorhergehenden gemäß der vorliegenden Erfindung beschrieben, ermöglichen ein einfacher Schaltkreisaufbau und Veränderung der Anweisungscodes das Sichern und Zurückspringen von einer Rücksprungadresse in und zu einem willkürlichen Allzweckregister, dadurch wird ein beim Aufruf eines Unterprogrammes und beim Zurückspringen von demselben vorkommender Verarbeitungsüberhang eiliminiert, um einen Hochgeschwindigkeits-Informationsprozessor zu verwirklichen.
  • Darüberhinaus, weil die vorliegende Erfindung das Wegfallen eines Verarbeitungsüberhanges, nicht durch neuerliches Ausrüsten mit der dedizierten Hardware, wie es konventionell angenommen wird, sondern durch einfache Veränderung eines Schaltkreises verwirklicht, erfordert sie keine zusätzlichen Kosten und ist hochwirtschaftlich. Auch wird die Größe des Schaltkreises nicht durch das Hinzufügen von dedizierter Hardware erhöht. Die vorliegende Erfindung kann daher in einen derartigen Informationsprozessor aufgenommen werden, um Hochgeschwindigkeits-Verarbeitung als ein Einzel-Chip Mikrocomputer zu verwirklichen, was für die Reduzierung der Größe des Schaltkreises größte Wichtigkeit erlangt.
  • Obwohl die vorliegende Erfindung im Vorhergehenden mit Bezug auf die bevorzugte Ausführungsform beschrieben wurde, ist die vorliegende Erfindung nicht darauf begrenzt. Zum Beispiel ist die Anzahl der Allzweckregister und UND-Schaltkreise nicht auf die begrenzt, die in den Abbildungen gezeigt sind. Hinzu kommt, daß, während in der obigen Ausführungsform die Beschreibung eines Falles gegeben wurde, bei dem ein Unterprogramm durch doppelte Verschachtelung hindurch aufgerufen wird, die Erfindung auch auf einen Fall angewendet werden kann, bei dem ein Unterprogramm durch Dreifach- oder mehrfache Verschachtelung hindurch aufgerufen wird.

Claims (11)

1. Informationsprozessor, der folgendes aufweist:
einen Programmzähler (40) der eine Adresse von einer Anweisung anzeigt, die auszuführen ist;
eine Mehrzahl von Allzweckregistern (100-131);
Ausführungsmittel (10) zum Ausführen einer Unterprogramm-Aufrufanweisung;
mindestens eines aus der Mehrzahl von Allzweckregistern (100-131), das durch die Ausführungsmittel gebraucht wird; und
Mittel zum Sichern eines Anweisungzählwertes für einen Rücksprung von dem Unterprogramm in ein Allzweckregister,
gekennzeichnet durch
Mittel zum Auswählen eines willkürlichen Allzweckregisters unter der Mehrzahl von Allzweckregistern (100-131) zur Zeit der Ausführung der Unterprogramm-Aufrufanweisung, wobei das Sicherungsmittel den Anweisungszählwert für einen Rücksprung von dem Unterprogramm in das willkürlich ausgewählte Allzweckregister sichert.
2. Informationsprozessor nach Anspruch 1, wobei ein Code von der Unterprogramm-Aufrufanweisung mit einem Feld zum Bestimmen eines Allzweckregister zum Sichern eines Anweisungszählwertes für den Rücksprung vorgesehen ist, und das Allzweckregister-Auswahlmittel ein Allzweckregister auswählt, in Erwiderung auf ein Bestimmungssignal für das Allzweck register, das durch die Ausführung der Unterprogramm-Aufrufanweisung mittels des Ausführungsmittels ausgegeben wurde.
3. Informationsprozessor nach Anspruch 2, wobei das Sicherungsmittel einen Wert, der durch Addieren einer Länge der Unterprogramm-Aufrufnweisung zu dem Anweisungszählwert als der Anweisungszählwert für den Rücksprung in dem ausgewählten Allzweckregister sichert, in Erwiderung auf ein Sicherungsignal von einem Anweisungszählwert für den Rücksprung, ausgegeben durch die Ausführung der Unterprogramm-Aufrufanweisung mittels des Ausführungsmittels.
4. Informationsprozessor nach einem der Ansprüche 1 bis 3, der weiterhin folgendes aufweist:
Mittel zum Lesen des Anweisungszählwertes für den Rücksprung von dem Allzweckregister, das den Anweisungszählwert für den Rücksprung und zum Setzen desselben auf den Programmzähler zur Zeit der Ausführung von der Anweisung zum Rücksprung von dem Unterprogramm sichert.
5. Informationsprozessor nach Anspruch 4, wobei das Mittel zum Lesen des Anweisungszählwertes für den Rücksprung den Anweisungszählwert für den Rücksprung von dem Allzweckregister liest, das durch das Allzweckregister-Bestimmungssignal bestimmt wurde, ausgegeben durch die Ausführung der Anweisung zum Rücksprung von dem Unterprogramm mittels des Anweisungsausführungsmittels.
6. Informationsprozessor nach Anspruch 5, wobei die Unterprogramm-Aufrufanweisung ferner mit einem Code von der Anweisung zum Rücksprung von einem Unterprogramm vorgesehen ist, der mit einem Feld zum Bestimmen eines Allzweckregisters vorgesehen ist, von dem ein Anweisungszählwert für den Rücksprung zu lesen ist.
7. Informationsprozessor nach Anspruch 5, wobei das Mittel zum Lesen eines Anweisungszählwertes für den Rücksprung den Anweisungszählwert für den Rücksprung von dem Allzweckregister liest, das durch das Allzweckregister-Auswahlsignal ausgewählt wurde, ausgegeben durch die Ausführung von der Anweisung zum Rücksprung von dem Unterprogramm durch Anweisungsausführungsmittel, und denselben auf den Programmzähler setzt.
8. Informationsprozessor nach Anspruch 1, wobei die Unterprogramm-Aufrufanweisung die Bestimmung eines Allzweckregisters zum Aufrufen eines Unterprogrammes einschließt; das Auswahlmittel zum Auswählen eines spezifischen Allzweckregister bestimmt ist, das durch die Anweisung zur Zeit der Ausführung der Unterprogramm-Aufrufanweisung bestimmt wird.
9. Informationsprozessor nach Anspruch 8, wobei
ein Code von der Unterprogramm-Aufrufanweisung mit einem Feld zum Bestimmen eines Allzweckregisters zum Sichern eines Anweisungszählwertes für den Rücksprung vorgesehen ist, und
das Allzweckregisterauswahlmittel ein Allzweckregister auswählt, in Erwiderung auf ein Bestimmungssignal für das Allzweckregister, ausgegeben durch die Ausführung die Unterprogramm-Aufrufanweisung mittels des Ausführungsmittels.
10. Informationsprozessor nach Anspruch 1, wobei
ein Anweisungscode von der Unterbrechung mit einem Feld zum Bestimmen eines Registers für das Speichern einer Rücksprungadresse vorgesehen ist, und
das Registerbestimmungsmittel ein Register bestimmt, in Erwiderung auf ein Bestimmungssignal für das Register, das durch die Ausführung der Unterbrechungsanweisung ausgegeben wurde.
11. Informationsprozessor nach Anspruch 10, wobei das Speichermittel einen Wert als die Rücksprungadresse in dem bestimmten Register sichert, der durch Addieren einer Länge der Unterbrechungsanweisung zu einem Anweisungszählwert erhalten wird.
DE69622608T 1995-01-31 1996-01-30 Informationsprozessor Expired - Fee Related DE69622608T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7034671A JPH08212075A (ja) 1995-01-31 1995-01-31 情報処理装置

Publications (2)

Publication Number Publication Date
DE69622608D1 DE69622608D1 (de) 2002-09-05
DE69622608T2 true DE69622608T2 (de) 2003-03-06

Family

ID=12420901

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69622608T Expired - Fee Related DE69622608T2 (de) 1995-01-31 1996-01-30 Informationsprozessor

Country Status (5)

Country Link
US (1) US5867696A (de)
EP (1) EP0725336B1 (de)
JP (1) JPH08212075A (de)
KR (1) KR100314484B1 (de)
DE (1) DE69622608T2 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2857600B2 (ja) * 1995-05-11 1999-02-17 松下電器産業株式会社 プロセッサ及びプログラム翻訳装置
US6370636B1 (en) 1996-07-31 2002-04-09 Hyundai Electronics Industries Co., Ltd. Accessing byte lines from dual memory blocks and aligning for variable length instruction execution
JPH1091432A (ja) * 1996-09-13 1998-04-10 Sanyo Electric Co Ltd プログラム実行方法およびプログラム実行装置
JP3723019B2 (ja) 1999-09-29 2005-12-07 富士通株式会社 サブルーチンリターン相当の命令の分岐予測を行う装置および方法
US6560696B1 (en) * 1999-12-29 2003-05-06 Intel Corporation Return register stack target predictor
EP1898826B1 (de) 2005-04-18 2016-12-07 Image Navigation Ltd Verfahren und gerät zur dentalimplantation
US7945901B2 (en) * 2006-08-16 2011-05-17 Seiko Epson Corporation System and method for facilitating software profiling procedures
CN100442226C (zh) * 2007-07-02 2008-12-10 美的集团有限公司 微波炉返回键的设定方法
US7882338B2 (en) * 2008-02-20 2011-02-01 International Business Machines Corporation Method, system and computer program product for an implicit predicted return from a predicted subroutine
JP2016015475A (ja) * 2014-06-13 2016-01-28 株式会社半導体エネルギー研究所 半導体装置、及び電子機器

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4777587A (en) * 1985-08-30 1988-10-11 Advanced Micro Devices, Inc. System for processing single-cycle branch instruction in a pipeline having relative, absolute, indirect and trap addresses
JPS63316134A (ja) * 1987-06-18 1988-12-23 Toshiba Corp 半導体集積回路
JPH04217027A (ja) * 1990-12-18 1992-08-07 Nec Corp 情報処理装置
US5507030A (en) * 1991-03-07 1996-04-09 Digitial Equipment Corporation Successive translation, execution and interpretation of computer program having code at unknown locations due to execution transfer instructions having computed destination addresses
JP3325309B2 (ja) * 1992-11-02 2002-09-17 富士通株式会社 サブルーチンリターン命令処理装置
JP3499252B2 (ja) * 1993-03-19 2004-02-23 株式会社ルネサステクノロジ コンパイル装置及びデータ処理装置
AU6629894A (en) * 1993-05-07 1994-12-12 Apple Computer, Inc. Method for decoding guest instructions for a host computer

Also Published As

Publication number Publication date
KR100314484B1 (ko) 2001-12-28
EP0725336A3 (de) 1997-02-12
DE69622608D1 (de) 2002-09-05
EP0725336B1 (de) 2002-07-31
EP0725336A2 (de) 1996-08-07
US5867696A (en) 1999-02-02
KR960029971A (ko) 1996-08-17
JPH08212075A (ja) 1996-08-20

Similar Documents

Publication Publication Date Title
DE69115344T2 (de) Vorverarbeitungsprozessor zur Verbindung von Befehlen für einen Cache-Speicher
DE3587277T2 (de) System fuer die umgehungssteuerung beim pipelinebetrieb eines computers.
DE3751503T2 (de) Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen.
DE3424962C2 (de)
DE3689923T2 (de) Dreiphasen-Pipeline-Signalprozessor.
DE3751164T2 (de) Datenprozessor mit verschiedenen Unterbrechungsverarbeitungsarten.
DE3882772T2 (de) Vektorprozessor angepasst zum Sortieren von Vektordaten.
DE69418146T2 (de) Temporärer Registersatz für einen superpipeline-superskalaren Prozessor
DE2714805A1 (de) Datenverarbeitungssystem
DE69133571T2 (de) Datenprozessor mit der Fähigkeit, zwei Befehle gleichzeitig auszuführen
DE2910839A1 (de) Einrichtung zur ausfuehrung einer speziellen verzweigungsinstruktion
DE68924719T2 (de) Vorrichtung und Verfahren zur Ausführung eines Unterprogramms in einem Datenverarbeitungssystem mit Blockumschaltung.
DE69622608T2 (de) Informationsprozessor
DE3856139T2 (de) Mikroprozessor
DE69231237T2 (de) Datenverarbeitungsvorrichtung
DE69322566T2 (de) Datenprozessor
DE69824032T2 (de) Computer-prozessor und verfahren zum kontinuierlichen schreiben und lesen von daten
DE69032463T2 (de) Verzweigungssteuerschaltung
DE69229424T2 (de) Adressengeneration in einer Datenverarbeitungseinheit
DE3486073T2 (de) Vektorverarbeitungsgeraet.
DE2906685C2 (de)
DE69112434T2 (de) Kurvengenerator.
DE3586709T2 (de) Informationsverarbeitungseinheit.
DE3855066T2 (de) Operationsvorrichtung zur Verarbeitung von Daten willkürlicher Länge
DE3226214C2 (de) Datenverarbeitungsanlage

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: NEC ELECTRONICS CORP., KAWASAKI, KANAGAWA, JP

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee