DE69028224T2 - Mikroprozessor - Google Patents

Mikroprozessor

Info

Publication number
DE69028224T2
DE69028224T2 DE69028224T DE69028224T DE69028224T2 DE 69028224 T2 DE69028224 T2 DE 69028224T2 DE 69028224 T DE69028224 T DE 69028224T DE 69028224 T DE69028224 T DE 69028224T DE 69028224 T2 DE69028224 T2 DE 69028224T2
Authority
DE
Germany
Prior art keywords
register
registers
module
window
register window
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
DE69028224T
Other languages
English (en)
Other versions
DE69028224D1 (de
Inventor
Kenji Sakaue
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.)
Toshiba Corp
Toshiba Electronic Device Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Microelectronics 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 Toshiba Corp, Toshiba Microelectronics Corp filed Critical Toshiba Corp
Publication of DE69028224D1 publication Critical patent/DE69028224D1/de
Application granted granted Critical
Publication of DE69028224T2 publication Critical patent/DE69028224T2/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30123Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
    • G06F9/30127Register windows
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets

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)
  • Devices For Executing Special Programs (AREA)
  • Microcomputers (AREA)

Description

    GEBIET DER ERFINDUNG
  • Diese Erfindung betrifft einen Mikroprozessor, der einen Aufbau mit variablem Registerfenster verwendet.
  • IEEE MICRO. Vol 8, Nr. 2, April 1988, New York US, Borivoje Furth beschreibt eine RISC-Architektur mit überlappenden Registerfenstern mit zwei Größen. Hier wird eine Prozessorarchitektur für RISC-Prozessoren beschrieben, die eine Behandlung von Registerfenstern mit zwei Größen verwendet. Hier können Argumente und lokale Skalare in Registerfenstermodulen mit unterschiedlicher Größe angeordnet werden. Zwei Größen, groß und klein, sind vorgesehen. In Abhängigkeit von der Anzahl von Argumenten und lokalen Skalaren erzeugt ein Compiler, der die Anordnung mit Registerfenstern zweier Größen organisiert, einen Kurzaufruf- Befehl oder einen Langaufruf-Befehl. Wenn das Mikroprozessorprogramm ausgeführt wird, inkrementiert und dekrementiert der Prozessor einfach den Fensterzeiger in Abhängigkeit von einer Entscheidung, ob ein Kurzaufruf- oder ein Langaufruf-Rückführungsaufruf ausgegeben werden soll. Hierbei basiert die Entscheidung, ob das große oder kleine Fenstermodul verwendet werden soll, deshalb auf der Anzahl von Argumenten und lokalen Skalaren.
  • HINTERGRUND DER ERFINDUNG
  • Für den Mikroprozessor gemäß der SPARC-Architektur gibt es Mikroprozessorsysteme, die eine Registerfensterstruktur verwenden. In dem Programm (einem Programm, welches einen Prozeduraufruf mehrmals verwendet), das in derartigen Systemen verwendet wird, werden viele Fenster verwendet.
  • Im Fall, daß die Anzahl von Fenstern auf dem Mikroprozessorchip klein ist, wird dementsprechend ein Überhang durch die Überlauf/Unterlauf-Einfangverarbeitung (overflow/underflow trap processing) des Fensters ein großes Problem. In der SPARC-Architektur werden 16 Register mit einer Länge von 32 Bit benötigt, um ein Fenster hinzuzufügen. Da jedoch die Anzahl von Fenstern auf dem Chip durch die von der Hardware belegte Fläche beschränkt ist, ist es unmöglich, die Anzahl von Fenstern tatsächlich zu vergrößern. In diesem Zusammenhang ist in der SPARC vorgeschrieben, daß die Anzahl von Fenstern mindestens 6 ist und maximal 32 ist.
  • Da der Mikroprozessor des bisherigen Standes der Technik wie voranstehend beschrieben aufgebaut ist, ist die Anzahl von Registern, die einem Fenster zugewiesen oder zugeordnet sind, fest (im folgenden wird dies als Festlegungssystem bezeichnet). Jedoch gibt es viele Fälle, bei denen die Anzahl von Registern, die tatsächlich bei den einzelnen Prozeduraufrufen verwendet werden, kleiner als die Anzahl von Zuordnungen ist. Die Tatsache, daß die Anzahl von Zuordnungen fest ist, ist sehr redundant. Deshalb kann beispielsweise ein derartiges Verfahren nicht verwendet werden, bei dem das Register effektiv verwendet wird, um ein Register, welches in dem gegenwärtigen Fenster nicht verwendet wird, einem anderen Fenster mit einem voreingestellten Fenster zuzuordnen, um somit die Anzahl von Fenstern zu erhöhen.
  • Als eine Technik zum Lösen eines derartigen Problems ist ein variables System bekannt, so daß die Anzahl von Registern, die einem Fenster zugeordnet sind, variabel ist.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Diese Erfindung betrifft eine Technologie zum Konstruieren eines Mikroprozessors mit einem Registerfenster des variablen Systems. Eine der Aufgaben ist wie folgt. Das heißt, es ist eine Technologie zum Konstruieren eines Registerfensters des variablen Systems vorgesehen, um automatisch die Anzahl von Registern, die einem Fenster zugeordnet sind, in Abhängigkeit von dem Inhalt des Ausführungsprogramms des Prozessors zu bestimmen. Somit ist eine Technologie zum Konstruieren eines Prozessors durch ein Registerfenster des variablen Systems vorgesehen, der, so wie er ist, ein Programm ausführen kann, welches für einen Mikroprozessor durch ein Registerfenster des festen Systems entwickelt ist. Infolgedessen wird die Verarbeitungsgeschwindigkeit des Programms des Standes der Technik verbessert, indem der Überhang des overflows/underflows des Fensters ohne eine Veränderung des Inhalts des voranstehend erwähnten Programms verringert wird.
  • Eine andere Aufgabe ist wie folgt. Das heißt, es ist eine Technologie zum Konstruieren eines Mikroprozessors vorgesehen, der versehen ist mit einem Befehl zum Steuern der Anzahl von Registern, die dem Fenster zugeordnet sind in einem Befehl, der als ein Mikroprozessor unter Verwendung eines Registerfensters des variablen Systems eingestellt ist. Somit kann die Anzahl von Registern, die dem Fenster zugeordnet sind, flexibel in Abhängigkeit von der Größe der Anzahl von Registern unter Verwendung einer Prozedur in dem Programm bestimmt werden. Infolgedessen ist die Verwendung des hergestellten Mikroprozessors einfach, die Effizienz einer Verwendung der Fenster ist verbessert, ein Überhang durch einen overflow/underflow des Fensters ist reduziert und der Kostenaufwand ist hervorragend.
  • In dieser Erfindung ist die Anzahl von Registern, die jeweiligen Registerfenstern (Modulen) zugeordnet sind, in der Speichereinrichtung gespeichert. In Abhängigkeit von der Nummer der Zuordnung, wird bestimmt, welche Register d.h. wieviele Register jedes Modul bilden. Dementsprechend verändert sich die Anzahl von Registern, die jedes Modul bilden, in Abhängigkeit von der Nummer einer Zuordnung in der Speichereinrichtung. Das heißt, gemäß der individuellen Prozeduren auf dem Programm wird ein Arbeitsregister bestimmt, welches auf dieser Prozedur verwendet wird, und die Anzahl von Registern wird bestimmt, die dieses Arbeitsregister bilden.
  • Ferner wird in dieser Erfindung eine Speicherung der Anzahl von Registern, die jedem Registerfenster zugeordnet sind, automatisch auf der Grundlage der Adressinformation für das Arbeitsregister ausgeführt. Alternativ wird die Speicherung der Nummer einer Zuordnung auf der Grundlage von einem der Befehle ausgeführt, welche die CPU (das System selbst) ausführen kann.
  • Gemäß dieser Erfindung kann in einem System mit einer Vielzahl von Arbeitsregistern die Anzahl von Registern, die einem Fenster (Modul) zugeordnet sind, verändert werden. Deshalb wird eine Redundanz des Systems beseitigt, was ermöglicht, die Hardwareresourcen ohne Verlust effektiv zu verwenden. Ferner kann ein Mikroprozessor, der auf dem Registerfenstersystem basiert, mit einem hervorragenden Kostenaufwand vorgesehen werden.
  • Ferner wird gemäß dieser Erfindung eine Speicherung der Anzahl von Registern, die Registern des Registerfensters zugeordnet sind, automatisch auf der Grundlage der Adressinformation für das Arbeitsregister ausgeführt. Deshalb kann das existierende Programm des festen Systems so wie es ist ausgeführt werden und ein Überhang durch einen overflow/underflow des Fensters kann reduziert werden.
  • Zusätzlich wird gemäß dieser Erfindung eine Speicherung der Nummer einer Zuordnung auf Grundlage von einem der Befehle ausgeführt, welche die CPU (das System selbst) ausführen kann. Deshalb kann eine Anderung der Nummer einer Zuordnung etc. durch Software in Abhängigkeit von der Größe der Register, die von der Prozedur in dem Programm verwendet werden, realisiert werden. Diese Erfindung kann deshalb einen Mikroprozessor bereitstellen, der in der Verwendung der Register einen höheren Wirkungsgrad aufweist, zweckdienlicher ist und einen besseren Kostenaufwand aufweist, als Mikroprozessoren, die durch den Stand der Technik auf dem festen System basieren.
  • KURZBEZEICHNUNG DER ZEICHNUNGEN
  • In der Zeichnung zeigt:
  • Fig. 1 ein Blockschaltbild eines Mikroprozessors gemäß einer Ausführungsform dieser Erfindung;
  • Fig. 2 ein Erklärungsdiagramm, das eine Ausführungsform der Einzelheiten eines R-FILE 1 Moduls 101 zeigt, das in Fig. 1 gezeigt ist;
  • Fig. 3 ein Zeitablaufdiagramm zum Erläutern des Betriebs des Systems, das in Fig. 1 gezeigt ist; und
  • Fig. 4 ein Erklärungsdiagramm, das den Überblick einer Pipeline-Struktur zeigt.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Fig. 1 ist ein Blockschaltbild, das einen Mikroprozessor gemäß einer Ausführungsform dieser Erfindung zeigt. Insbesondere ist die Ausführungsform gezeigt, bei der die Anzahl von Registern, die den Lokalen (locals) zugeordnet sind, und die Ausgänge des Fensters von acht auf vier geändert werden können.
  • In Fig. 1 bezeichnen Registeradressen rs1-A0 bis 4, Registeradressen rs2-A0 bis 4 und Registeradressen rd-A0 bis 4 ein Quellenregister 1, ein Quellenregister 2 bzw. ein Zielregister. Adressen A0 bis 2 der jeweiligen Adressen werden an ein R-FILE 1 Modul (erstes Register) 101, ein R- FILE 1 Modul (zweites Register) bzw. ein R-FILE 2 Modul 103 geliefert. Diese Register bestehen aus Multiport-RAMs, die sich jeweils voneinander unterscheiden. Insbesondere werden Adressen rs1-A0 bis 2, Adressen Rs2-A0 bis 2 und Adressen rd- A0 bis 4 an Ports P0-A0 bis 6 jedes Moduls, Ports p1-A0 bis 6 bzw. Ports P2-A0 bis 6 geliefert. Jeweilige Adressen A2 werden an einen Logikblock 100 geliefert. Adressen A3 bis 4 der jeweiligen Adressen werden jeweils an Decoder (DEC) 104, 105 bzw. 106 geliefert.
  • Andererseits bezeichnen rs1-D0 bis 31 Ausgangsdaten für das Quellenregister 1 und rs2-D0 bis 31 bezeichnen Ausgangsdaten für das Quellenregister 2. Alle diese rs1-D0 bis 31 und rs2- D0 bis 31 werden von jeweiligen Ports P0-D0 bis 31, P0-D0 bis 31 des R-FILE 1 Moduls 101, des R-FILE 1 Moduls 102 und des R-FILE 2 Moduls 103 ausgegeben. Ferner sind rd-D0 bis 31 Eingangsdaten an dem Zielregister und diese Eingangsdaten werden an jeweilige Ports P2-D0 bis 31 des R-FILE 1 Moduls 101 des R-FILE 1 Moduls 102 und des R-FILE 2 Moduls 103 geliefert.
  • Die mit A0 bis 4 bezeichneten Adressen zeigen 32 Arbeitsregister von 8 Globalen und 24 Registern (8 Eingängen (ins), 8 Lokalen(locals), 8 Ausgängen(outs)) an, die ein Fenster bezeichnen. Daten, die mit D0 bis 31 bezeichnet sind, sind Eingangs/Ausgangs-Daten für das Arbeitsregister entsprechend der Adressen A0 bis 4.
  • Der grundlegende Betrieb für das Programm wird ganz offensichtlich in einem Zyklus zwischen zwei Quellenregistern und einem Zielregister ausgeführt. Jedes R-FILE 1 Modul 101, R-FILE 1 Modul 102 und R-FILE 2 Modul 103, die das Arbeitsregister bilden, besitzt eine Dreiport-Anordnung, die aus zwei Datenausgabeports und einem Dateneingabeport besteht. Die Adressen und Daten werden unabhängig mit den jeweiligen Ports des R-FILE 1 Moduls 101, des R-FILE 1 Moduls 102 und des R-FILE 2 Moduls 103 verbunden.
  • Das R-FILE 1 Modul 101 ist ein Modul des Registerfiles (Registerdatei), das das Arbeitsregister von ins/outs bildet, und besitzt eine Struktur von 32 Bit x 56 Registern. Das R- FILE 1 Modul 102 ist eine Modul des Registerfiles, das das Arbeitsregister von Lokalen bildet, und besitzt eine Struktur von 32 Bit x 56 Registern. Ferner ist das R-FILE 2 Modul 103 ein Modul des Registerfiles, das das Arbeitsregister von Globalen bildet, und besitzt eine Struktur von 32 Bit x 8 Registern.
  • In diesem Zusammenhang ist in jedem R-FILE 1 Modul 101, R- FILE 1 Modul 102 und R-FILE 2 Modul 103 φ ein Eingangsanschluß für einen Takt CLK, RE ist ein Eingangsanschluß für eine Lesefreigabe (read enable) REGR-EN, WE ist ein Eingangsanschluß für eine Schreibfreigabe (write enable) REGW-EN, und S0 bis 2 sind Eingangsanschlüsse für Signale zum Wählen von jeweiligen Ports.
  • Der innere Bereich des R-FILE 1 Moduls 101 ist in 14 Blöcke aufgeteilt, die wie in Fig. 2 gezeigt jeweils mit 0 bis 13 adressiert werden. Ferner besteht ein Block aus 4 Registern. Adressen A3 bis 6 des Ports P0 (4 Bits höherer Ordnung) sind jeweils Blockadressen. Adressen A0 bis 2 (3 Bit niedrigerer Ordnung) des Ports P0 sind Adressen für 8 Register, die jeweils im wesentlichen aus einem Block bestehen, der durch Adressen A3 bis 6 des Ports P0 bezeichnet ist. Adressen A0 bis 6 des Ports P1 und Adressen A0 bis 6 des Ports P2 sind die gleichen wie oben. In Bezug auf den Block, der dem Registerfile zugeordnet ist, wenn das Fenster 13 sich in einem 8-Register-Modus befindet, sind lokale (locals) Blöcke 13, 12 des R-FILE 1 Moduls 102, Ausgänge (outs) sind Blöcke 13, 12 des R-FILE 1 Moduls 101 und Eingänge (ins) ist Block (Anfangszustand) des R-FILE 1 Moduls 101. Bezüglich des Blocks, der dem Registerfile zugeordnet ist, wenn sich das Fenster 13 in einem 4-Register-Modus befindet, ist locals Block 13 des R-FILE 1 Moduls 102, outs ist Block 13 des R- FILE 1 Moduls 101 und ins ist Block 0 (Anfangszustand) des R- FILE 1 Moduls 101. Ob sich Ports P0 bis 2 in einem Freigabezustand befinden oder nicht, wird zusätzlich durch ein Eingangssignal für S0 bis 2 bestimmt. Wenn in diesem Zusammenhang ein Eingangssignal für S0 bis 2 "1" darstellt, werden Ports P0 bis 2 freigegeben.
  • Ferner gibt ein Zeiger 107 für ein gegenwärtiges Fenster (CWP) die Nummer eines Fensters aus, welches von der gegenwärtigen Prozedur verwendet wird. Dieser Zeiger ist als ein Binärzähler mit 5 Bit aufgebaut, der auf Grundlage des Inkrementierungssignals INC einen Inkrementalbetrieb ausführen kann. Da der Zeiger für ein gegenwärtiges Fenster (CWP) 5 Bit mit niedriger Ordnung des Prozessorzustandsregisters (PSR) in SPARC bildet, verwendet der CWP in diesem Zusammenhang in dieser Ausführungsform eine Struktur von 5 Bit im Einklang mit der obigen Ausführungsform Wenn ein Rücksetzsignal RESET dem Zeiger (CWP) 107 für ein gegenwärtiges Fenster eingegeben wird, wird der Zählwert davon als die Nummer des Fensters CWP = 13 gesetzt, das die Prozedur anfänglich verwendet. Da Fenster in der Reihenfolge von der maximalen Fensternummer zu der minimalen in SPARC verwendet werden, wird eine darauf basierende Verwendungsart in dieser Ausführungsform in diesem Zusammenhang verwendet. Wenn in diesem Fall ein Dekrementierungsbetrieb durch das Dekrementierungssignal DEC unter dem Zustand von CWP = 0 ausgeführt wird, wird die Fensternummer auf CWP = 13 zurückgeführt. Ausgangssignale CWP0 bis 4 des Zeigers (CWP) 107 für ein gegenwärtiges Fenster bezeichnen Bits eines Registers (W-CC) 108, das nachstehend beschrieben wird.
  • Ein Register (W-CC) 108 ist ein Register mit 14 Bit zum Speichern von Information, ob jedes Fenster sich in einem 8- Register-Modus oder in einem 4-Register-Modus befindet. Diese 14 Bits entsprechen jeweils 14 Fenstern. Die Bits "0" und "1" entsprechen jeweils dem 8-Register-Modus und dem 4-Register- Modus. Wenn ein RESET eingegeben wird, werden alle Bits auf "0" zurückgesetzt. Somit wird jedes Fenster so eingestellt, daß es sich in dem 4-Modus befindet. Ein Umschalten auf den 8-Register-Modus wird automatisch wie folgt ausgeführt. Arbeitsregister von outs und locals werden in 4 erste Hälften und 4 letztere Hälften jeweils in der Reihenfolge von 8 Adressen aufgeteilt. Wenn nur auf 4 outs und locals der letzteren Hälfte durch die Prozedur zum Verschieben an das nächste Fenster zugegriffen wird, bleibt dieses Fenster in dem 4-Register-Modus. Wenn auf irgendein Register der ersten Hälfte in entweder outs oder locals zugegriffen wird, wird ein entsprechendes Bit des Registers (W-CC) 108 auf "1" gesetzt. Somit wird das Fenster in den 8-Register-Modus gebracht. Die erste Hälfte von locals entspricht r16 bis r19, die letztere Hälfte davon entspricht r20 bis r23, die erste Hälfte von outs entspricht r8 bis r11 und die letztere Hälfte davon entspricht r12 bis r15.
  • Ein Freigabesignai rs1CCW-EN nimmt eine Freigabe vor oder erlaubt, daß rs1-A2 der Registeradresse des Quellenregisters 1 zum Setzen eines Registers (W-CC) 108 verwendet werden. Ferner nimmt ein Freigabsignal rs2CCW-EN eine Freigabe vor, daß rs2-A2 der Registeradresse des Quellenregisters 2 zum Setzen des Registers (W-CC) 108 verwendet wird. Zusätzlich nimmt ein Freigabesignal rdCCW-EN eine Freigabe vor, daß rd- A2 der Registeradresse des Zielregisters zum Setzen des Registers (W-CC) 108 verwendet wird. Diese Freigabesignale rs1CCW-EN, rs2CCW-EN und rdCCW-en werden dem Logikblock 100 eingegeben, dem jeweilige Adressen A2 eingegeben werden. Infolgedessen gibt der Logikblock 100 ein Setzsignal SET-CC zum Setzen eines bestimmten Bits oder von Bits des Registers (W-CC) 108 auf "1" aus. In diesem Zusammenhang wird eine Bitbezeichnung durch CWP0 bis 4 von dem Zeiger (CWP) 107 für ein gegenwärtiges Fenster ausgeführt.
  • Das Register (W-CC) 108, welches der Bitbezeichnung durch das Setzsignal SET-CC von dem Logikblock 100 und CWP0 bis 4 von dem Zeiger (CWP) 107 für ein gegenwärtiges Fenster ausgesetzt worden ist, gibt einen Bitausgang ccn und einen Bitausgang ccn-1 an einen Zeiger (CBP) 109 für einen gegenwärtigen Block aus. In diesem Zusammenhang stellt der Bitausgang ccn den Bitzustand des Registers (W-CC) 108 entsprechend einem gegenwärtigen Fenster dar, und der Bitausgang ccn-1 stellt den Bitzustand des Registers (W-CC) 108 entsprechend einem vorangehenden Fenster dar.
  • Der Zeiger (CBP) 109 für einen gegenwärtigen Block ist ein Binärzähler mit 4 Bit zum Bezeichnen eines Blocks in dem R- FILE 1 Modul 101, das tatsächlich von einem gegenwärtigen Fenster verwendet wird. Dieser Zeiger 109 ist betreibbar, un Werte von "-1", "-2", "+1" und "+2" anzunehmen. Wenn ein Rücksetzsignal RESET dem gegenwärtigen Blockzeiger 109 angegeben wird, weist dieser Zeiger 109 den Block 13 des R- FILE 1 Moduls 101 einem Fenster zu, welches tatsächlich von der Prozedur verwendet wird. Somit ergibt sich CWP = 13. Wenn in diesem Zusammenhang ein Dekrementierungsbetrieb durch das Dekrementierungssignal DEC unter dem Zustand von CWP=0 ausgeführt wird, wird CWP auf CWP=13 zurückgeführt. Durch Ausgänge CWP=CbP0 bis 3 von dem Zeiger (CBP) 109 für einen gegenwärtigen Block wird die Anzahl von Registern, die dem Fenster zugeordnet sind, gesteuert. Es sei darauf hingewiesen, daß diese Ausgänge CBP=CbP0 bis 3 auch eine Funktion aufweisen, um nach außen den overflow/underflow des Fensters zu berichten. Wenn sich CWP auf CWP-1 ändert, um zu dem nächsten Fenster zu schieben, wird CBP CBP-2, wenn der Bitausgang ccn "1" ist, wodurch 8 Register (2 Blöcke) dem gegenwärtigen Fenster zugeordnet werden. Wenn andererseits der Bitausgang ccn "0" ist, wird CBP CBP-1, wodurch 4 Register (1 Block) dem gegenwärtigen Fenster zugeordnet werden. Wenn sich im Gegensatz dazu CWP auf CWP+1 ändert, um auf das vorangehende Fenster zurückzukehren, wird CBP CBP+2 wird, wenn der Bitausgang ccn-1 "1" ist, und, wenn der Bitausgang cc1 "0" ist, wird CBP CBP+1.
  • Subtrahierer (INSAG) 110, 111 und 112 sind Subtrahierer mit 4 Bit zum Umwandeln der Blockbezeichnungsadresse für das R-FILE 1 Modul 101 von ins/outs von dem Wert von outs zu dem Wert von ins, wenn die Registeradresse jeweils ins bezeichnet. Diese Subtrahierer sind jeweils entsprechend der Ports P0, P1 und P2 des R-FILE 1 Moduls 101 vorgesehen. Wenn ins bezeichnet wird und der Bitausgang ccn-1 "1" ist, werden jeweilige Werte von Ausgangssignalen CbP0'0 bis 3, CbP1'0 bis 3 und CbP2'0 bis 3 von den Subtrahierern (INSAG) 110, 111 und 112 gleich CBP-2. Wenn der Bitausgang ccn-1 "0" ist, werden jeweilige Werte von Ausgangssignalen CbP0'0 bis 3, CbP1'0 bis 3, CbP2'0 bis 3 von den Subtrahierern (INSAG) gleich CBP-1. Wenn andererseits outs bezeichnet wird, werden CBP=0 bis 3 so wie sie sind als jeweilige Werte von Ausgängen CbP0'0 bis 3, CbP1'0 bis 3 und CbP2'0 bis 3 von den Subtrahierern (INSAG) 110, 111 und 112 ausgegeben.
  • Decoder (DEC) 104, 105 und 106 decodieren jede 2 Bits von höherer Ordnung der Registeradressen rs1-A0 bis 4, rs2-A0 bis 4 bzw. rd-A0 bis 4, um globals, ins oder locals zu bezeichnen. Wenn ferner A3 = "0" und A4 = "0" ist, werden glob-rs1, glob-rs2 und glob-rd jeweils von dem Decoder (DEC) 104, dem Decoder (DEC) 105 und dem Decoder (DEC) 106 ausgegeben. Wenn ferner A3 = "1" und A4 = "0" ist, werden inrs1, in-rs2 und in-rd von dem Decoder (DEC) 104, dem Decoder (DEC) 105 bzw. dem Decoder (DEC) 106 ausgegeben. Wenn ferner A3 = "0" und A0 = "1" ist, werden loc-rs1, loc-rs2 und loc-rd jeweils von dem Decoder (DEC) 104, dem Decoder (DEC) 105 und dem Decoder (DEC) 106 ausgegeben. Wenn zusätzlich A3 = "1" und A4 = "1" ist, werden out-rs1, out-rs2 und out-rd jeweils von dem Decoder (DEC) 104, dem Decoder (DEC) 105 und dem Decoder (DEC) 106 ausgegben. Von diesen Signalen werden inrs1, in-rs2 und in-rd und out-rs1, rs2 und rd an einem Logikblock 200 verarbeitet. Diese so verarbeiteten Signale werden als Freigabesignale für jeweilige Ports des R-FILE 1 Moduls 101 von IOSEL0 bis 2 ausgegeben und Eingangsanschlüssen S0 bis 2 des R-FILE 1 Moduls 101 eingegeben. Ferner werden loc-rs1, loc-rs2 und loc-rd als Freigabesignale für jeweilige Ports des R-FILE 1 Moduls 102 ausgegeben und Eingangsanschlüssen S0 bis 2 des R-FILE 1 Moduls 102 eingegeben. Zusätzlich werden glob-rs1, glob-rs2 und glob-rd als Freigabesignale für jeweilige Ports des R- FILE 1 Moduls 103 ausgegeben und Eingangsanschlüssen S0 bis 2 des R-FILE 1 Moduls 103 eingegeben. In diesem Zusammenhang entsprechen die Adressen r0 bis 7, r8 bis 15, r16 bis 23 und r24 bis 31 jeweils globals, outs, locals und ins.
  • Nachstehend wird der Betrieb der voranstehend beschriebenen Konfiguration unter Bezugnahme auf das in Fig. 3 gezeigte Zeitablaufdiagramm beschrieben. Fig. 3A zeigt einen Takt CLK; Fig. 3B ein Dekrementierungssignal DEC; Fig. 3C ein Inkrementierungsignal; Fig. 3D ein Lesefreigabesignale REGR- EN, die an das R-FILE 1 Modul 101, das R-FILE 1 Modul 102 und das R-FILE 2 Modul 103 geliefert werden; Fig. 3E ein Schreibfreigabesignal REGW-EN, das an das R-FILE 1 Modul 101, das R-FILE 1 Modul 102 und das R-FILE 2 Modul 103 geliefert wird; Fig. 3F Freigabesignale rs1CCW-EN, rs2CCW-EN und rdCCW- EN um zu ermöglichen, daß die jeweiligen Registeradressen an dem Register (W-CC) 108 eingestellt werden. Fig. 3G Registeradressen rs1-A0 bis 4; Fig. 3H Registeradressen rs2- A0 bis 4; Fig. 31 Registeradressen rd-A0 bis 4; Fig. 3H Ausgangsdaten rs1-D0 bis 31 von dem Quellenregister 1; Figur 3K Ausgangsdaten rs2-D0 bis 31 von dem Quellenregister 2; Fig. 3L Ausgangsdaten rd-D0 bis 31 von dem Zielregister; Fig. 3M Ausgänge CWP0 bis 4 von dem Zeiger (CWP) 107 für ein gegenwärtiges Fenster; Fig. 3N ein Bitausgang ccn von dem Register (W-CC) 108; Fig. 3O ein Bitausgang ccn-1 von dem Register (W-CC) 108; Fig. 3P CbP0 bis 3, die Ausgänge von dem Zeiger (CBP) 109 für einen gegenwärtigen Block sind; Fig. 3Q CbP0'0 bis 3, die von dem Subtrahierer (INSAG) 110 ausgegeben werden; in Fig. 3R werden CbP1'0 bis 3 von dem Subtrahierer (INSAG) 111 ausgegeben; in Fig. 35 werden CbP2'= bis 3 von dem Subtrahierer (INSAG) 112 ausgegeben; in Fig. 3T wird ein glob-rs1 von dem Decoder (DEC) 104 ausgegeben; in Fig. 3U wird ein in-rs1 von dem Decoder (DEC) 104 ausgegeben; in Fig. 3V wird ein loc-rs1 von dem Decoder (DEC) 104 ausgegeben; in Fig. 3W wird ein out-rs1 von dem Decoder (DEC) 104 ausgegeben; und in Fig. 3X wird ein Setzsignal SET-CC von dem Logikblock 100 ausgegeben.
  • In der in Fig. 3 gezeigten Befehlsabfolge bezeichnet die Periode ADD, die Periode bezeichnet SAVE, die Periode bezeichnet ADD und die Periode bezeichnet SAVE. In der Periode von , die ADD anzeigt, werden r31 von rs1 und r12 von rs2 zu r7 von rd addiert und das addierte Ergebnis wird verschoben. Dann verschiebt sich der Betrieb bei der Periode die SAVE anzeigt, zu dem nächsten Fenster, wobei somit CWP durch CWP-1 ersetzt wird. Bei der Periode von , die ADD anzeigt, werden r16 von rs1 und r12 von rs2 zu r6 von rd addiert und das addierte Ergebnis wird verschoben. Schließlich wird bei der Periode von , die SAVE anzeigt, ein Speicher- oder save-Betrieb ausgeführt. Diesbezüglich wird angenommen, daß 7, 3 und 2 jeweils in [r31], [r12] und [r16] gespeichert werden. In dieser Ausführungsform wird eine Pipeline-Struktur mit 4 Stufen verwendet.
  • Nachstehend wird unter Bezugnahme auf Fig. 4 die Anordnung der Pipeline-Struktur erläutert. Die Verarbeitung an jeweiligen Stufen wird beschrieben, indem als ein Beispiel ein ADD-Befehl verwendet wird.
  • Zu Anfang wird ein ADD-Befehl von einem Speicher 200 herausgenommen und dann in ein Befehlsregister (IR) 202 (Schritt F) geschrieben. Dann wird der Befehl in dem Befehlsregister (IR) 202 einem Befehlsdecoder (IDEC) 204 eingegeben und dann dort decodiert. Eine Adresse für den nächsten Befehl wird durch den Adressengenerator (AG) 206 und einen Programmzähler (PC) 208 erzeugt. Registeradressen rs1 und rs2 (Daten von zwei Quellenregistern) werden von einem Registerfile (RF) 210 ausgelesen und werden dann in ein A-Register 212 bzw. ein B-Register 214 eingeschrieben (Schritt D).
  • Daten aus dem A-Register 212 und Daten aus dem B-Register 214 werden an einer Arithmetik- und Logikeinheit ALU 216 addiert. Das addierte Ergebnis wird in ein Ergebnisregister (R) 218 geschrieben (Schritt E).
  • Ein Datenwert von einem Befehlsregister (R) 218 wird in das Zielregister eingeschrieben, welches mit rd angezeigt ist (Schritt S).
  • In dem in Fig. 3 gezeigten Zeitablaufdiagramm wird eine Anzeige in einer solchen Weise durchgeführt, daß bewirkt wird, daß jeweilige Schritte t1, t2, t3, und t4 des Takts CLK entsprechen. Das heißt, zu Anfang werden im Fall eines ADD- Befehls von , im Schritt D von t2 Registeradressen rs1-A0 bis 4 und rs2-A0 bis 4 gleich 31 bzw. 12. Somit werden Daten von r31 und r12 aus dem Registerfile ausgelesen. Es sei darauf hingewiesen, daß, da der tatsächliche Lesebetrieb zu der letzteren Hälfte von t2 ausgeführt wird, Daten rs1-D0 bis 31 und Daten rs2-D0 bis 31 zu der letzteren Hälfte von t2 ausgegeben werden. Da in diesem Fall der Datenwert von r31 3 darstellt, werden die Daten rs1-D0 bis 31 und die Daten rs2- D0 bis 31 gleich 7 bzw. 3. Dann wird eine Operation, die als r31+r12=10 ausgedrückt wird, in dem Schritt E von t3 ausgeführt. Das so erhaltene Ergebnis wird in das Register eingeschrieben. Da r31 ein ins-Register ist, ergibt sich CbP0'0 bis 3 = 0 bei CBP-1 zur Zeit eines Auslesens von r31. Bei dem nächsten Schritt S von t4 wird ein Datenwert in dem Ergebnisregister in das Zielregister r7 geschrieben. Ein Schreibbetrieb wird an der ersten Hälfte von t4 ausgeführt. Es sei darauf hingewiesen, daß ein Lesebetrieb für einen ADD- Befehl von zu der ersten Hälfte von t4 ausgeführt wird.
  • Im Fall eines SAVE-Befehis von im Schritt E von t4, wird eine Operation, die aus CWP = CWP -1 ausgedrückt wird, ausgeführt. Bei der Ausführung von besteht kein Zugriff auflocals und ein Zugriff auf outs wird als ein Zugriff auf r12 von der letzteren Hälfte in r8 bis r15 durchgeführt. Infolgedessen bleibt das Bit 13 des Registers (W-CC) 108 auf "0". Das heißt, das Fenster 13 bleibt in dem 4-Register- Modus. Somit wird eine Operation, die als CBP = CBP -1 ausgedrückt wird, ausgeführt.
  • Im Fall eines ADD-Befehls von , im Schritt D von t4, werden Daten 2, 3 von r16 und r12 als Daten rs1-D0 bis 31 und rs2-D0 bis 31 ausgegeben. Da zu dieser Zeit r16 ein Register der ersten Hälfte von locals ist, wird der Setzausgang SET-CC gleich "1". Somit wird "1" an dem Bit 12 des Registers (W-CC) 108 gesetzt. Infolgedessen wird das Fenster 12 in den 8- Register-Modus gebracht.
  • Im Fall eines SAVE-Befehls von im Schritt E von t4, wird eine Operation, die als CWP = CWP -1 ausgedrückt ist, ausgeführt. Da sich das Fenster 12 in dem 8-Register-Modus befindet, wird eine Operation, die als CBP=CBP -1 ausgedrückt wird, ausgeführt.
  • In der oben beschriebenen Ausführungsform wird eine Behandlung der Anzahl einer Zuordnung von locals und outs bei jeden Blöcken ausgeführt. Die Anzahl von Registern von locals und diejenige von ins/outs ist gleich zueinander und locals und ins/outs sind getrennt als unterschiedliche Module vorgesehen. Infolgedessen ergeben sich die folgenden Vorteile: Es ist ausreichend, daß die Bedingungsinformation für jedes Fenster ein Bit ist. Die tatsächliche Adressenerzeugungsschaltung wird vereinfacht. Zusätzlich kann eine Berechnung der tatsächlichen Adresse bei einer hohen Geschwindigkeit ausgeführt werden.
  • Während in der oben beschriebenen Ausführungsform eine Umschaltung zwischen acht und vier Registern dargestellt ist, sei darauf hingewiesen, daß die Anzahl von Registern, die zugeordnet werden sollen, beliebig innerhalb eines Bereichs von acht bis null Registern gewählt werden kann. Ferner kann die Anzahl von Registern, die locals zugeordnet sind, und diejenige, die outs zugeordnet ist, sich voneinander unterscheiden.
  • Wenn in diesem Zusammenhang die Anzahl von Registern für das Fenster variabel ist, wird ein 14 Bit Register für das Register (W-CC) 108 benötigt, ein 4 Bit Zähler wird für einen Zeiger (CBP) 109 eines gegenwärtigen Block benötigt und eine Funktionsschaltung eines 4 Bit Volladdierers x3=12 Bit Volladdierer wird für Subtrahierer (INSAG) 110, 111 und 112 benötigt. Da im Gegensatz dazu eine Schaltung, die zum Addieren von -Fenstern benötigt wird, ein Register mit einer Länge von 32 Bit x16x ist, kann man erkennen, daß die in Fig. 1 gezeigte Konfiguration hinsichtlich des Kostenaufwands weitaus überlegen ist.
  • Während in der oben beschriebenen Ausführungsform eine Umschaltung zwischen acht und vier Registern ausgeführt wird, ist es natürlich selbstverständlich, daß ein Verfahren verwendet werden kann, bei welchem dem Prozessor selbst ermöglicht wird, einen Umschaltbefehl aufzuweisen, um unter Verwendung dieses Befehls eine Umschaltung auf der Software auszuführen.
  • In diesem Fall ist es ausreichend, in dem Befehlssatz des Prozessors einen Befehl bereitzustellen, um den Inhalt des Registers, das die Funktion wie beispielsweise das in Fig. 1 gezeigte W-CC Register ausführt, in einen vorgegebenen Wert umzuschreiben.

Claims (9)

1. Ein Mikroprozessor unter Verwendung einer Struktur mit variablem Registerfenster, umfassend:
a) Eine Vielzahl von Registerfenstermodulen, wobei jedes Modul einen Satz von ersten Registern (101) umfaßt;
b) wobei eine bestimmte Anzahl der Registerfenstermodule selektiv einzelnen Prozeduren eines Programms zugeordnet sind, um dadurch ein jeweiliges Arbeitsregister zu bestimmen, welches in einer jeweiligen Prozedur verwendet wird;
c) wobei der Satz von ersten Registern (101) gemeinsam einem jeweiligen Registerfenstermodul zugeordnet ist;
d) eine Speichereinrichtung (108) zum Speichern der Anzahl von Register in dem jeden Satz von ersten Registern (101), die jeweils ein Registerfenstermodul bilden;
e) wobei die Register der ersten Register (101), die jedes der Registerfenstermodule bilden, auf der Basis der gespeicherten Anzahl von Registern in dem jeden Satz von ersten Registern (101), die ein jeweiliges Registerfenstermodul bilden, bestimmt sind;
f) wobei die Speichereinrichtung (108) automatisch die Anzahl von ersten Registern (101), die jeweils die Registerfenstermodule bilden, auf der Basis von Adressinformation für das jeweilige Arbeitsregister speichert.
2. Ein Mikroprozessor nach Anspruch 1, dadurch gekennzeichnet, daß die Speichereinrichtung (108) konstruiert ist, um die Anzahl von Registern in dem Satz von ersten Registern (101), die ein jeweiliges Registerfenstermodul bilden, auf der Basis eines Befehis zu speichern, den der Mikroprozessor ausführen kann.
3. Ein Mikroprozessor nach Anspruch 1, wobei
- die ersten Register (101) einen Satz von Einheitsregisterblöcken, (Fig. 2) zu jedem ( ist eine positive ganze Zahl) Registern bilden;
- die ersten Register eines jeweiligen Satzes von Einheitsregisterblöcken gemeinsam einem jeweiligen Registerfenstermodul zugeordnet sind.
4. Ein Mikroprozessor nach Anspruch 3, wobei die Speichereinrichtung (108) konstruiert ist, um die Anzahl M (M ist eine positive ganze Zahl) der Einheitsregisterblöcke als die Anzahl von ersten Registern (101), die jedes der Registerfenstermodule bilden, zu speichern, wodurch die Anzahl von ersten Registern, die jeweils die Registerfenstermodule bilden, als n x M bestimmt ist.
5. Ein Mikroprozessor nach Anspruch 1, wobei die ersten Register (101) gemeinsam zwei benachbarten Registerfenstermodulen zugeordnet sind, denen jeweils Seriennummern zugewiesen sind.
6. Ein Mikroprozessor nach Anspruch 3, wobei der Satz von Einheitsregisterblöcken (Fig. 2) gemeinsam 2 benachbarten Registerfenstermodulen zugeordnet sind, denen Seriennummern zugewiesen sind.
7. Mikroprozessor nach Anspruch 1, wobei das Registerfenstermodul ferner ein zweites Register (102) umfaßt, das nur einem entsprechenden Registerfenstermodul selbst zugeordnet ist.
8. Mikroprozessor nach Anspruch 7 und 5, wobei die Anzahl von ersten Registern (101), die gemeinsam den jeweiligen 2 benachbarten Registerfenstermodulen zugeordnet sind, denen Seriennummern zugewiesen sind, und die Anzahl von ersten Registern (101), die einem entsprechenden Registerfenstermodul zugeordnet sind, gleich zueinander sind.
9. Ein Mikroprozessor nach Anspruch 7, wobei das erste Register (101) und das zweite Register (102) aus Multiport-RAMs gebildet sind, die sich jeweils voneinander unterscheiden.
DE69028224T 1989-02-17 1990-02-16 Mikroprozessor Expired - Fee Related DE69028224T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1037805A JPH0630063B2 (ja) 1989-02-17 1989-02-17 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
DE69028224D1 DE69028224D1 (de) 1996-10-02
DE69028224T2 true DE69028224T2 (de) 1997-02-06

Family

ID=12507729

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69028224T Expired - Fee Related DE69028224T2 (de) 1989-02-17 1990-02-16 Mikroprozessor

Country Status (5)

Country Link
US (1) US5642523A (de)
EP (1) EP0383342B1 (de)
JP (1) JPH0630063B2 (de)
KR (1) KR920006789B1 (de)
DE (1) DE69028224T2 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539911A (en) * 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
JPH07114498A (ja) * 1993-10-15 1995-05-02 Toshiba Corp マイクロプロセッサ
ATE457492T1 (de) * 1998-10-10 2010-02-15 Ibm Programmkodekonvertierung mit verringerter übersetzung
JP2000353092A (ja) * 1999-06-09 2000-12-19 Nec Corp 情報処理装置及びそのレジスタファイル切替方法
US6553487B1 (en) * 2000-01-07 2003-04-22 Motorola, Inc. Device and method for performing high-speed low overhead context switch
JP3763518B2 (ja) 2001-05-29 2006-04-05 インターナショナル・ビジネス・マシーンズ・コーポレーション コンパイラ、そのコンパイル方法およびプログラム
EP1470476A4 (de) * 2002-01-31 2007-05-30 Arc Int Konfigurierbarer datenprozessor mit mehrlängen-anweisungssatz architektur
US7127592B2 (en) * 2003-01-08 2006-10-24 Sun Microsystems, Inc. Method and apparatus for dynamically allocating registers in a windowed architecture
JP2006039874A (ja) * 2004-07-26 2006-02-09 Fujitsu Ltd 情報処理装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4777588A (en) * 1985-08-30 1988-10-11 Advanced Micro Devices, Inc. General-purpose register file optimized for intraprocedural register allocation, procedure calls, and multitasking performance
US5021947A (en) * 1986-03-31 1991-06-04 Hughes Aircraft Company Data-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and data processing
JP2545789B2 (ja) * 1986-04-14 1996-10-23 株式会社日立製作所 情報処理装置
JPH0217541A (ja) * 1988-07-06 1990-01-22 Hitachi Ltd スタツク方式マイクロコンピュータ
US5083263A (en) * 1988-07-28 1992-01-21 Sun Microsystems, Inc. BISC with interconnected register ring and selectively operating portion of the ring as a conventional computer

Also Published As

Publication number Publication date
DE69028224D1 (de) 1996-10-02
KR900013390A (ko) 1990-09-05
JPH02217925A (ja) 1990-08-30
EP0383342A2 (de) 1990-08-22
US5642523A (en) 1997-06-24
JPH0630063B2 (ja) 1994-04-20
EP0383342A3 (de) 1992-10-07
KR920006789B1 (ko) 1992-08-17
EP0383342B1 (de) 1996-08-28

Similar Documents

Publication Publication Date Title
DE3882772T2 (de) Vektorprozessor angepasst zum Sortieren von Vektordaten.
DE4217012C2 (de) Mit einer Vielzahl von Befehlsströmen und statischer Verschachtelung arbeitender Mikroprozessor
DE68927371T2 (de) Verfahren und Vorrichtung zur Verarbeitung von mehreren Zustandscodes wie für einen Parallel-Pipeline-Rechner
DE2819571C2 (de)
DE69127101T2 (de) System für verteilte mehrfachrechnerkommunikation
DE3424962C2 (de)
DE2350884C2 (de) Adreßumsetzungseinheit
DE2716369C2 (de)
DE3885775T2 (de) Digitaler Signalprozessor.
DE69114333T2 (de) Rechner mit der Fähigkeit mehrere Befehle gleichzeitig auszuführen.
DE3587277T2 (de) System fuer die umgehungssteuerung beim pipelinebetrieb eines computers.
DE3784050T2 (de) Ein paralleler datenprozessor.
DE3248215A1 (de) Vektorprozessor
DE2524046C2 (de) Elektronische Datenverarbeitungsanlage
DE4134192A1 (de) Integrierter schaltkreis mit verarbeitung im speicher
DE69028224T2 (de) Mikroprozessor
DE2536622A1 (de) Mikroprogrammsteuerung mit flexibler auswahl von steuerworten
DE3400723A1 (de) Vektorprozessor
DE2912073C2 (de)
DE3121742A1 (de) Mikroprogrammsteuerverfahren und -einrichtung zu dessen durchfuehrung
DE3587446T2 (de) Signalverarbeitungsprozessor und hierarchische Multiverarbeitungstruktur mit mindestens einem solchen Prozessor.
DE3930313A1 (de) Vektorprozessor
DE2548720A1 (de) Mikroprogramm-steuerwerk
DE3314139C2 (de)
DE19628039B4 (de) Speicheradressen-Steuerschaltung

Legal Events

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