JP3524240B2 - Parallel instruction processing unit - Google Patents

Parallel instruction processing unit

Info

Publication number
JP3524240B2
JP3524240B2 JP29002495A JP29002495A JP3524240B2 JP 3524240 B2 JP3524240 B2 JP 3524240B2 JP 29002495 A JP29002495 A JP 29002495A JP 29002495 A JP29002495 A JP 29002495A JP 3524240 B2 JP3524240 B2 JP 3524240B2
Authority
JP
Japan
Prior art keywords
instruction
code
memory
execution
instruction execution
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
JP29002495A
Other languages
Japanese (ja)
Other versions
JPH09134288A (en
Inventor
淳 河井
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP29002495A priority Critical patent/JP3524240B2/en
Publication of JPH09134288A publication Critical patent/JPH09134288A/en
Application granted granted Critical
Publication of JP3524240B2 publication Critical patent/JP3524240B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、複数の命令を同時
に実行する並列命令処理装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a parallel instruction processing device for simultaneously executing a plurality of instructions.

【0002】[0002]

【従来の技術】従来の並列命令処理装置は、複数の命令
実行部を備え、1つの命令コードを全ての該各命令実行
部に共通に供給し、該各命令実行部において同一の命令
を同時に実行する装置(Single Instruction Multiple
Data stream 命令処理装置、以下、SIMD型命令処理装置
という)と、複数の命令実行部に対して、複数の独立し
た命令コードを同時に命令メモリから読み出して該各命
令実行部に対してそれぞれ供給し、該各命令実行部にお
いて各命令を実行する装置(Multiple Instruction Mul
tiple Data stream 型命令処理装置、以下、MIMD型命令
処理装置という)とがある。図2は、従来のSIMD型命令
処理装置の一例を示す構成ブロック図である。このSIMD
型命令処理装置では、命令メモリ1は命令コードを格納
している。この命令メモリ1に格納されている命令コー
ドは命令実行サイクル時間毎に読み出され、命令レジス
タ2に格納される。命令レジスタ2に格納された命令コ
ードは、次の命令実行サイクルで全ての命令実行部31
〜3n (n;1以上の整数)に出力される。レジスタフ
ァイル41 〜4n は、各命令実行部31 〜3n 毎に対応
してそれぞれ設置され、該各命令実行部31 〜3n に対
してそれぞれ2つの読み出しポート及び1つの書込ポー
トを備えた多ポートレジスタである。
2. Description of the Related Art A conventional parallel instruction processing device is provided with a plurality of instruction execution units, supplies one instruction code to all the instruction execution units in common, and simultaneously executes the same instruction in each of the instruction execution units. Device to execute (Single Instruction Multiple
Data stream instruction processing device (hereinafter referred to as SIMD type instruction processing device) and a plurality of instruction execution units, and a plurality of independent instruction codes are simultaneously read from the instruction memory and supplied to the respective instruction execution units. , A device that executes each instruction in each instruction execution unit (Multiple Instruction Mul
tiple Data stream type instruction processing device, hereinafter referred to as MIMD type instruction processing device). FIG. 2 is a configuration block diagram showing an example of a conventional SIMD type instruction processing device. This SIMD
In the type instruction processing device, the instruction memory 1 stores an instruction code. The instruction code stored in the instruction memory 1 is read at each instruction execution cycle time and stored in the instruction register 2. The instruction code stored in the instruction register 2 is stored in all instruction execution units 3 1 in the next instruction execution cycle.
To 3 n (n; integer of 1 or more). Register file 4 1 to 4 n is disposed in correspondence to each instruction execution unit 3 1 each to 3 n, each of the two read ports and one write against respective instruction execution unit 3 1 to 3 n It is a multi-port register with ports.

【0003】図3は、命令フォーマットを示す図であ
る。命令レジスタ2に格納される命令コードは、図3に
示す命令フォーマットで表され、動作指定、ソース1指
定、ソース2指定、及びデスティネーション指定で構成
されている。ソース1指定、ソース2指定、及びデステ
ィネーション指定では、図2中のレジスタファイル41
〜4n 中の各レジスタ番号が指定される。命令は、ソー
ス1指定で指定されるレジスタの内容(即ち、データ)
とソース2指定で指定されるレジスタの内容(即ち、デ
ータ)に対して動作指定で指定される演算を行い、その
結果をデスティネーション指定で指定されるレジスタに
格納することによって実行される。図4は、従来のMIMD
型命令処理装置の一例を示す構成ブロック図である。こ
のMIMD型命令処理装置では、命令メモリ11は命令コー
ドを格納している。命令メモリ11に格納されている命
令コードは命令実行サイクル時間毎に読み出され、命令
レジスタ121 〜12n に格納される。命令レジスタ2
1 〜2n に格納された各命令コードは、次の命令実行サ
イクルで各命令実行部131 〜13nに出力される。レ
ジスタファイル14は、各命令実行部131 〜13n
対してそれぞれ2つの読み出しポート及び1つの書込ポ
ートを備えた多ポートレジスタである。
FIG. 3 is a diagram showing an instruction format. The instruction code stored in the instruction register 2 is represented by the instruction format shown in FIG. 3, and is composed of operation designation, source 1 designation, source 2 designation, and destination designation. When the source 1 is designated, the source 2 is designated, and the destination is designated, the register file 4 1 in FIG.
Each register number in to 4 n is specified. The instruction is the contents (ie, data) of the register specified by the source 1 specification.
And the source 2 specification, the operation specified by the operation specification is performed on the contents (that is, the data) of the register specified, and the result is stored in the register specified by the destination specification. Figure 4 shows the conventional MIMD
It is a block diagram which shows an example of a type command processing device. In this MIMD type instruction processing device, the instruction memory 11 stores an instruction code. The instruction code stored in the instruction memory 11 is read at each instruction execution cycle time and stored in the instruction registers 12 1 to 12 n . Instruction register 2
The instruction codes stored in 1 to 2 n are output to the instruction execution units 13 1 to 13 n in the next instruction execution cycle. The register file 14 is a multi-port register having two read ports and one write port for each of the instruction execution units 13 1 to 13 n .

【0004】命令レジスタ121 〜12n に格納される
各命令コードは、図2のSIMD型命令処理装置と同様に、
図3に示す単一命令フォーマットで表され、動作指定、
ソース1指定、ソース2指定、及びデスティネーション
指定とで構成されている。ソース1指定、ソース2指
定、及びデスティネーション指定では、図4中のレジス
タファイル14中の各レジスタ番号を指定する。各命令
は、ソース1指定で指定されるレジスタの内容(即ち、
データ)とソース2指定で指定されるレジスタの内容
(即ち、データ)に対して動作指定で指定される演算を
行い、その結果をデスティネーション指定で指定される
レジスタに格納することによって実行される。
The instruction codes stored in the instruction registers 12 1 to 12 n are similar to those in the SIMD type instruction processing device of FIG.
It is represented by the single instruction format shown in FIG.
It is composed of designation of source 1, designation of source 2, and designation of destination. In the source 1 designation, the source 2 designation, and the destination designation, each register number in the register file 14 in FIG. 4 is designated. The contents of the register specified by the source 1 specification (that is,
Data) and the contents of the register designated by the source 2 designation (that is, data), the operation designated by the operation designation is performed, and the result is stored in the register designated by the destination designation. .

【0005】[0005]

【発明が解決しようとする課題】しかしながら、従来の
並列命令処理装置では、次のような課題があった。即
ち、SIMD型命令処理装置では、同一の命令コードを同時
に実行するので、1つのプログラムを構成する命令コー
ドの容量は比較的小さく、又、命令メモリ1から一度に
読み出す命令コードのサイズも小さいので、命令メモリ
1及び命令コードを読み出す命令レジスタ2の回路規模
を小さくできる長所がある。ところが、複数の同一の命
令を実行するので、演算の対象となるレジスタファイル
1 〜4n は各命令実行部31 〜3n に対応してそれぞ
れ設ける必要があり、レジスタファイル全体の回路規模
が大きくなるという問題がある。又、独立した演算対象
データに対する演算を行う場合は、並列実行の利点を活
かすことができるが、各命令実行部31 〜3n が相互に
協力してデータ処理を行い、該各命令実行部31 〜3n
間にデータの依存関係が生ずる場合、或いは各命令実行
部31 〜3n 間でデータの共有を行う場合、データの一
致性を保証するための各命令実行部31 〜3n 間の処理
の待合せ、及びデータの通信のための処理に必要な特別
な回路(例えば、メモリや交換器等)を必要とし、更
に、これらを実行に要する時間が発生するという問題が
ある。
However, the conventional parallel instruction processing device has the following problems. That is, in the SIMD type instruction processing device, since the same instruction code is executed at the same time, the capacity of the instruction code that constitutes one program is relatively small, and the size of the instruction code read from the instruction memory 1 at a time is also small. The advantage is that the circuit scale of the instruction memory 1 and the instruction register 2 for reading the instruction code can be reduced. However, since performing a plurality of same instruction, the register file 4 1 to 4 n to be operations must be provided in correspondence to each instruction execution unit 3 1 to 3 n, the register file overall circuit scale There is a problem that becomes large. Further, when performing operations on independent operation target data, can take advantage of parallel execution, performs data processing each instruction execution unit 3 1 to 3 n are to cooperate with each other, each of said instruction execution unit 3 1 to 3 n
If the data dependency occurs between, or when performing shared data at each instruction execution unit 3 1 between to 3 n, the processing between the instruction execution unit 3 1 to 3 n to ensure consistency of data There is a problem that a special circuit (for example, a memory, a switch, etc.) necessary for waiting and processing for data communication is required, and time required for executing these is generated.

【0006】一方、MIMD型命令処理装置では、命令実行
において参照されるレジスタファイル14は共通であ
り、各命令実行部131 〜13n に固有の命令をそれぞ
れ与えて同時にこれらを実行すること、及び該各命令実
行部131 〜13n から独立して同時に参照及び命令実
行による演算結果の書込みが保証されるので、前記SIMD
型命令処理装置の場合に問題となる命令実行部間の処理
の待合せ及びデータの共有は、容易に行われる。ところ
が、各命令レジスタ21 〜2n から各命令実行部131
〜13n に対して固有の命令コードをそれぞれ与えるの
で、命令メモリ11に格納されている命令コード全体の
容量が大きくなる。更に、例えば逐次処理を行うための
プログラムの実行する場合、命令実行部の数に相当する
複雑かつ大規模な命令コードを命令メモリ11に格納し
なければならないという問題があった。
On the other hand, in the MIMD type instruction processing device, the register file 14 referred to in the instruction execution is common, and each instruction execution section 13 1 to 13 n is given a unique instruction to execute these instructions simultaneously. In addition, since the instruction execution units 13 1 to 13 n are independently referred to at the same time and writing of the operation result by instruction execution is guaranteed, the SIMD
In the case of the type instruction processing device, the waiting of the processing and the sharing of the data between the instruction execution units, which is a problem, are easily performed. However, from each instruction register 2 1 to 2 n to each instruction execution unit 13 1
Since a unique instruction code is given to each of .about.13 n , the capacity of the entire instruction code stored in the instruction memory 11 becomes large. Furthermore, for example, when executing a program for performing sequential processing, there is a problem that a complicated and large-scale instruction code corresponding to the number of instruction execution units must be stored in the instruction memory 11.

【0007】[0007]

【課題を解決するための手段】第1の発明は、前記課題
を解決するために、並列命令処理装置において、1つの
命令で1つの命令実行を行う単一命令を指示する単一命
令指示コード又は1つの命令で複数の命令実行を行う多
重命令を指示する多重命令指示コード及び命令実行のた
めの命令コードを格納する命令メモリと、前記命令メモ
リに対して命令アドレスを送出して読み出す命令コード
を指定するプログラムカウンタと、前記命令メモリから
読み出した命令コードに基づいてマイクロ命令コードを
それぞれ出力する複数のマイクロ命令メモリと、前記命
令メモリから読み出した命令コードが前記単一命令の
時、該単一命令であることを判定して前記命令メモリか
ら読み出した命令コードに対応する前記単一命令を実行
して該単一命令の実行を終了した時に単一命令実行終了
信号に活性を示し、前記命令メモリから読み出した命令
コードが前記多重命令の時、該多重命令であることを判
定して前記複数のマイクロ命令メモリのうちの1つのマ
イクロ命令メモリからのマイクロ命令コードに基づいて
前記多重命令のうちの1つを実行する第1の命令実行部
と、前記命令メモリから読み出した命令コードが前記多
重命令の時、該多重命令であることを判定して前記各マ
イクロ命令メモリからの各マイクロ命令コードに基づい
て前記多重命令を実行する複数の第2の命令実行部と、
前記第1の命令実行部及び前記複数の第2の命令実行部
の全てが前記多重命令の実行を終了した時、多重命令実
行終了信号に活性を示す多重命令実行終了検出回路と
を、備えている。更に、前記プログラムカウンタは、前
記単一命令実行終了信号又は前記多重命令実行終了信号
が活性を示した時、現命令アドレスをインクリメントし
た次の命令アドレスを前記命令メモリへ送出する構成に
している。
In order to solve the above-mentioned problems, a first invention is a parallel instruction processing device, wherein a single instruction instruction code for instructing a single instruction to execute one instruction by one instruction. Alternatively, an instruction memory for storing a multiple instruction instruction code for instructing multiple instructions to execute a plurality of instructions with one instruction and an instruction code for executing the instruction, and an instruction code for sending and reading an instruction address to the instruction memory A plurality of microinstruction memories that respectively output microinstruction codes based on the instruction code read from the instruction memory, and a single instruction when the instruction code read from the instruction memory is the single instruction. It is determined that the instruction is one instruction, the single instruction corresponding to the instruction code read from the instruction memory is executed, and the single instruction is executed. When the instruction code read from the instruction memory is the multiple instruction, it is determined that the instruction code is the multiple instruction and one of the plurality of micro instruction memories is activated. A first instruction execution unit that executes one of the multiple instructions based on a micro instruction code from one micro instruction memory; and when the instruction code read from the instruction memory is the multiple instruction, the multiple instruction A plurality of second instruction execution units that determine that there is one and execute the multiple instructions based on each microinstruction code from each microinstruction memory;
A multi-instruction execution end detection circuit that is active in a multi-instruction execution end signal when all of the first instruction execution unit and the plurality of second instruction execution units have finished executing the multi-instruction. There is. Further, the program counter is configured to send the next instruction address, which is the current instruction address incremented, to the instruction memory when the single instruction execution end signal or the multiple instruction execution end signal is active.

【0008】この第1の発明によれば、以上のように並
列命令処理装置を構成したので、命令メモリから読み出
されて第1の命令実行部で実行される単一命令と、複数
のマイクロ命令メモリに記憶されて該第1の命令実行部
及び複数の第2の命令実行部で同時実行される該第1の
命令実行部及び該各第2の命令実行部に固有の1つ又は
複数のマイクロ命令列に展開されて実行される多重命令
とが、前記命令メモリに記憶されたプログラムに基づい
て実行される。単一命令の実行では、第1の命令実行部
が前記単一命令の実行を終了した時、該第1の命令実行
部から単一命令実行終了信号が出力され、プログラムカ
ウンタに送出される。プログラムカウンタから次の命令
アドレスが命令メモリに出力され、次の命令実行時間に
て命令実行が行われる。多重命令の実行では、第1の命
令実行部及び各第2の命令実行部で同時に実行される固
有の各マイクロ命令列の長さは任意なので、前記第1の
命令実行部及び前記複数の第2の命令実行部の全てが前
記多重命令の実行を終了した時、多重命令実行終了検出
回路から多重命令実行終了信号が出力され、プログラム
カウンタに送出される。プログラムカウンタから次の命
令アドレスが命令メモリに出力され、次の命令実行時間
にて命令実行が行われる。そのため、或る1つのプログ
ラムにおいて、例えばベクタ計算やループ実行等の並列
処理については多重命令実行とし、例えばコントロール
シーケンスに基づいた制御処理等の逐次的な処理につい
ては単一命令実行とすることにより、該プログラムの処
理性能が最大に活用される。
According to the first aspect of the present invention, since the parallel instruction processing device is configured as described above, a single instruction read from the instruction memory and executed by the first instruction execution unit, and a plurality of micro instructions are executed. One or more unique to the first instruction execution unit and each of the second instruction execution units stored in the instruction memory and simultaneously executed by the first instruction execution unit and the plurality of second instruction execution units Multiple instructions that are expanded and executed in the microinstruction sequence are executed based on the program stored in the instruction memory. In the execution of a single instruction, when the first instruction executing unit finishes executing the single instruction, the single instruction executing end signal is output from the first instruction executing unit and sent to the program counter. The next instruction address is output from the program counter to the instruction memory, and the instruction is executed at the next instruction execution time. In execution of multiple instructions, the length of each unique microinstruction sequence that is simultaneously executed by the first instruction execution unit and each second instruction execution unit is arbitrary, so the first instruction execution unit and the plurality of first instruction execution units When all of the two instruction execution units have finished executing the multiple instruction, the multiple instruction execution end detection circuit outputs a multiple instruction execution end signal and sends it to the program counter. The next instruction address is output from the program counter to the instruction memory, and the instruction is executed at the next instruction execution time. Therefore, in a certain program, for example, parallel processing such as vector calculation or loop execution is executed as multiple instructions, and sequential processing such as control processing based on a control sequence is executed as single instruction. , The processing performance of the program is maximized.

【0009】第2の発明では、並列命令処理装置におい
て、第1の発明の命令メモリとプログラムカウンタと複
数のマイクロ命令メモリと、前記命令メモリから読み出
した命令コードが前記単一命令の時、該単一命令である
ことを判定して前記命令メモリから読み出した命令コー
ドに対応する前記単一命令を所定の1命令実行時間で実
行する第1の命令実行部と、第1の発明の複数の第2の
命令実行部と多重命令実行終了検出回路と、前記単一命
令指示コード又は前記多重命令実行終了信号が活性を示
した時、現命令アドレスをインクリメントした次の命令
アドレスを前記命令メモリへ前記所定の1命令実行時間
経過後に送出するプログラムカウンタとを、備えてい
る。この第2の発明によれば、命令メモリから読み出さ
れて第1の命令実行部で実行される単一命令と、複数の
マイクロ命令メモリに記憶されて複数の第2の命令実行
部で同時実行される該各第2の命令実行部に固有の1つ
又は複数のマイクロ命令列に展開されて実行される多重
命令とが、前記命令メモリに記憶されたプログラムに基
づいて実行される。単一命令の実行では、命令レジスタ
から単一命令指示コードが出力され、プログラムカウン
タに送出される。プログラムカウンタから次の命令アド
レスが命令メモリに出力され、次の命令実行時間にて命
令実行が行われる。
According to a second invention, in the parallel instruction processing device, when the instruction memory, the program counter, a plurality of microinstruction memories of the first invention, and the instruction code read from the instruction memory are the single instruction, A first instruction execution unit that determines that the instruction is a single instruction and executes the single instruction corresponding to the instruction code read from the instruction memory in a predetermined one instruction execution time; A second instruction execution unit, a multiple instruction execution end detection circuit, and when the single instruction instruction code or the multiple instruction execution end signal is active, the next instruction address obtained by incrementing the current instruction address is sent to the instruction memory. And a program counter which is transmitted after the predetermined one instruction execution time has elapsed. According to the second aspect of the present invention, a single instruction read from the instruction memory and executed by the first instruction execution unit and a single instruction stored in the plurality of micro instruction memories and simultaneously executed by the plurality of second instruction execution units. The multiple instructions executed by being expanded into one or a plurality of microinstruction sequences unique to each of the second instruction execution units to be executed are executed based on the program stored in the instruction memory. When executing a single instruction, a single instruction instruction code is output from the instruction register and sent to the program counter. The next instruction address is output from the program counter to the instruction memory, and the instruction is executed at the next instruction execution time.

【0010】多重命令の実行では、第2の命令実行部で
同時に実行される固有の各マイクロ命令列の長さは任意
なので、前記複数の第2の命令実行部の全てが前記多重
命令の実行を終了した時、多重命令実行終了検出回路か
ら多重命令実行終了信号が出力され、プログラムカウン
タに送出される。プログラムカウンタから次の命令アド
レスが命令メモリに出力され、次の命令実行時間にて命
令実行が行われる。このため、単一命令のみを実行する
第1の命令実行部と、多重命令実行の際に実行されるマ
イクロ命令列のみを実行する複数の第2の命令実行部と
を別々に設置できる。そして、前記第1の命令実行部を
単一命令実行に最適な構成とし、前記複数の第2の命令
実行部をマイクロ命令実行に適切な構成とすれば、第1
の発明の並列命令処理装置よりも回路規模が削減され
る。従って、前記課題を解決できるのである。
In the execution of multiple instructions, the length of each peculiar microinstruction sequence that is simultaneously executed by the second instruction execution unit is arbitrary, so that all of the plurality of second instruction execution units execute the multiple instructions. At the end of, the multiple instruction execution end detection circuit outputs a multiple instruction execution end signal, which is sent to the program counter. The next instruction address is output from the program counter to the instruction memory, and the instruction is executed at the next instruction execution time. Therefore, it is possible to separately install a first instruction execution unit that executes only a single instruction and a plurality of second instruction execution units that execute only microinstruction sequences executed when multiple instructions are executed. Then, if the first instruction execution unit is configured to be optimal for single instruction execution and the plurality of second instruction execution units is configured to be appropriate for microinstruction execution,
The circuit scale is reduced as compared with the parallel instruction processing device of the invention. Therefore, the above problem can be solved.

【0011】[0011]

【発明の実施の形態】第1の実施形態 図1は、本発明の第1の実施形態を示す並列命令処理装
置の構成ブロック図である。この並列命令処理装置は、
命令メモリ21を有している。この命令メモリ21は、
プログラムを実行するための命令コードを格納する機能
を有し、1クロックサイクルに1語の命令コードを読み
出すことができるものである。命令メモリ21の出力側
は、命令レジスタ22の入力側に接続されている。命令
レジスタ22は、命令メモリ21から読み出した命令コ
ードS21を1命令実行時間だけ保持する機能を有して
いる。命令レジスタ22の出力側は、マイクロ命令メモ
リ231 〜23n の各入力側に共通に接続されると共
に、選択回路24の第1の入力端子に接続されている。
マイクロ命令メモリ231 の出力側は、選択回路24の
第2の入力端子に接続されている。
BEST MODE FOR CARRYING OUT THE INVENTION First Embodiment FIG. 1 is a block diagram showing the configuration of a parallel instruction processing device according to a first embodiment of the present invention. This parallel instruction processor is
It has an instruction memory 21. This instruction memory 21 is
It has a function of storing an instruction code for executing a program and can read out an instruction code of one word in one clock cycle. The output side of the instruction memory 21 is connected to the input side of the instruction register 22. The instruction register 22 has a function of holding the instruction code S21 read from the instruction memory 21 for one instruction execution time. The output side of the instruction register 22 is commonly connected to the respective input sides of the microinstruction memories 23 1 to 23 n , and is also connected to the first input terminal of the selection circuit 24.
The output side of the micro instruction memory 23 1 is connected to the second input terminal of the selection circuit 24.

【0012】選択回路24の出力端子は第1の命令実行
部251 命令コード入力端子に接続され、マイクロ命令
メモリ232 〜23n の各出力端子は、第2の命令実行
部252 〜25n の各命令コード入力端子にそれぞれ接
続されている。マイクロ命令メモリ231 〜23n は、
命令実行部251 〜25n に対する各マイクロ命令コー
ドS231 〜S23n を記憶する機能を有している。命
令実行部251 〜25n は、算術論理演算機構(Arithm
etic Logic Unit 、以下、ALUという)で構成され、
命令メモリ21に格納されている単一命令、及び各マイ
クロ命令メモリ231 〜23n に格納されているマイク
ロ命令を、それぞれ1命令実行時間で実行する機能を有
している。命令実行部251 〜25n の各ソース1デー
タ入力端子s1、各ソース2データ入力端子s2、及び
各デスティネーションデータ出力端子dsは、レジスタ
ファイル26の、各ソース1データ出力端子s1、各ソ
ース2データ出力端子s2、及び各デスティネーション
データ入力端子dsにそれぞれ接続されている。レジス
タファイル26は、全体で2n個の読み出しポートとn
個の書込ポートとを備えている。
The output terminal of the selection circuit 24 is connected to the instruction code input terminal of the first instruction execution section 25 1 and the output terminals of the micro instruction memories 23 2 to 23 n are connected to the second instruction execution sections 25 2 to 25 25, respectively. It is connected to each instruction code input terminal of n . The micro instruction memories 23 1 to 23 n are
And it has a function of storing each microinstruction code S23 1 ~S23 n for the instruction execution unit 25 1 to 25 n. The instruction execution units 25 1 to 25 n are arithmetic logic units (Arithm).
etic Logic Unit, hereinafter referred to as ALU),
It has a function of executing a single instruction stored in the instruction memory 21 and a micro instruction stored in each of the micro instruction memories 23 1 to 23 n in one instruction execution time. The source 1 data input terminal s1, the source 2 data input terminal s2, and the destination data output terminal ds of the instruction execution units 25 1 to 25 n are the source 1 data output terminal s1 and the source of the register file 26, respectively. Two data output terminals s2 and each destination data input terminal ds are connected. The register file 26 has a total of 2n read ports and n
And write ports.

【0013】一方、命令実行部251 〜25n の各実行
終了信号出力端子e1 〜en は、多重命令実行終了検出
回路であるn入力AND回路27の各入力端子にそれぞ
れ接続されている。AND回路27は、各実行終了信号
出力端子e1 〜en の論理積をとる回路である。AND
回路27の出力端子は、選択回路28の第1の入力端子
に接続されている。又、命令実行部251 実行終了信号
出力端子e1 は、選択回路28の第2の入力端子にも接
続されている。選択回路28の出力端子は、プログラム
カウンタ29のクロック入力端子ckに接続されてい
る。更に、前記命令レジスタ22の最上位ビット(以
下、MSBという)出力端子は、選択回路24の選択信
号入力端子、命令実行部251 〜25n の各単一命令/
多重命令入力端子、及び選択回路28の選択信号入力端
子に共通に接続されている。又、命令実行部251 の分
岐先アドレス出力端子は、プログラムカウンタ29のカ
ウント開始値(即ち、初期設定値)入力端子に接続され
ている。プログラムカウンタ29は、命令メモリ21に
対するアドレス信号(即ち、命令アドレス)S29を発
生する機能を有している。このプログラムカウンタ29
における次の命令アドレスは、分岐命令実行による場合
には命令実行部251 から入力される分岐先アドレスD
Aとなり、分岐命令以外の場合には現命令アドレスの次
の命令アドレス(即ち、現命令アドレス+1)となる。
プログラムカウンタ29の出力端子は、命令メモリ21
のアドレス入力端子Aに接続されている。
Meanwhile, the execution end signal output terminal e 1 to e n of the instruction execution unit 25 1 to 25 n are connected to the input terminals of the n-input AND circuit 27 is a multiple instruction execution end detection circuit . AND circuit 27 is a circuit for taking a logical product of each run end signal output terminal e 1 to e n. AND
The output terminal of the circuit 27 is connected to the first input terminal of the selection circuit 28. The instruction execution unit 25 1 execution end signal output terminal e 1 is also connected to the second input terminal of the selection circuit 28. The output terminal of the selection circuit 28 is connected to the clock input terminal ck of the program counter 29. Further, the most significant bit (hereinafter referred to as MSB) output terminal of the instruction register 22 is a selection signal input terminal of the selection circuit 24 and each single instruction / instruction execution unit 25 1 to 25 n.
It is commonly connected to the multiple command input terminal and the selection signal input terminal of the selection circuit 28. The branch destination address output terminal of the instruction execution unit 25 1 is connected to the count start value (that is, initial setting value) input terminal of the program counter 29. The program counter 29 has a function of generating an address signal (that is, an instruction address) S29 for the instruction memory 21. This program counter 29
The next instruction address in is the branch destination address D input from the instruction execution unit 25 1 when the branch instruction is executed.
If it is not a branch instruction, it becomes the instruction address next to the current instruction address (that is, the current instruction address + 1).
The output terminal of the program counter 29 is the instruction memory 21.
Is connected to the address input terminal A of.

【0014】図5は、単一命令フォーマット1の命令フ
ォーマットを示す図である。命令レジスタ22に格納さ
れる命令コードは、図5に示す単一命令フォーマット1
で表され、MSBは“0”であり、本命令が単一命令で
あることを示している。動作指定は本命令により実行す
べき演算種(例えば、加減乗除、論理積、論理和等)を
指定するものであり、ソース1指定及びソース2指定は
演算対象データを格納するレジスタファイル上のレジス
タ番号を指定するものである。又、デスティネーション
指定は、演算結果データの格納先となるレジスタファイ
ル上のレジスタ番号を指定するものである。
FIG. 5 is a diagram showing the instruction format of the single instruction format 1. The instruction code stored in the instruction register 22 is the single instruction format 1 shown in FIG.
The MSB is “0”, indicating that this instruction is a single instruction. The operation designation designates the operation type (for example, addition, subtraction, multiplication, division, logical product, logical sum, etc.) to be executed by this instruction, and the source 1 designation and the source 2 designation are registers on the register file that stores the operation target data. The number is specified. The destination designation is to designate the register number on the register file that is the storage destination of the operation result data.

【0015】図6は、単一命令フォーマット2の命令フ
ォーマットを示す図である。この命令フォーマットは分
岐を行う単一命令のフォーマットであり、MSBが
“0”であり、本命令が単一命令であることを示してい
る。動作指定は、本命令により実行する分岐の種類即ち
無条件分岐又は条件分岐を指定するものであり、分岐条
件指定は、条件分岐における分岐を成立させるための条
件を指定するものである。又、分岐先命令アドレスは、
分岐先の命令アドレスを与えるものである。分岐命令は
単一命令であり、命令実行部251 においてのみ実行さ
れるものである。分岐先アドレスDAは命令実行部25
1 からプログラムカウンタ29に与えられ、分岐の際の
次に実行すべき命令アドレスとなるものである。図7
は、多重命令フォーマットの命令フォーマットを示す図
である。多重命令は、全ての命令実行部251 〜25n
においてそれぞれ固有の一連のマイクロ命令列を実行す
るためのマイクロ命令アドレスを指定するものである。
MSBは“1”であり、本命令が多重命令であることを
示している。MSB以外の部分は、マイクロ命令アドレ
スとしてマイクロ命令メモリ231 〜23n に共通に出
力されるものである。マイクロ命令メモリ231 〜23
n は、共通に与えられたマイクロ命令アドレスS22か
らマイクロ命令を読み出し、各命令実行部251 〜25
n に供給するようになっている。命令実行部251 〜2
n では、各マイクロ命令S231 〜S23n をそれぞ
れ実行し、所定のマイクロ命令を実行した時点で自らマ
イクロ命令の実行を停止するようになっている。
FIG. 6 is a diagram showing the instruction format of the single instruction format 2. This instruction format is a single instruction format for branching, the MSB is "0", and this instruction is a single instruction. The operation designation designates the type of branch executed by this instruction, that is, the unconditional branch or the conditional branch, and the branch condition designation designates the condition for establishing the branch in the conditional branch. The branch destination instruction address is
The instruction address of the branch destination is given. The branch instruction is a single instruction and is executed only in the instruction execution unit 25 1 . The branch destination address DA is the instruction execution unit 25.
It is given from 1 to the program counter 29 and becomes an instruction address to be executed next at the time of branching. Figure 7
FIG. 6 is a diagram showing an instruction format of a multiple instruction format. Multiple instructions are executed by all instruction execution units 25 1 to 25 n.
In the above, a microinstruction address for executing a series of unique microinstruction sequences is designated.
The MSB is "1", indicating that this instruction is a multiple instruction. Portions other than the MSB are commonly output as microinstruction addresses to the microinstruction memories 23 1 to 23 n . Micro instruction memory 23 1-23
n reads a microinstruction from the commonly given microinstruction address S22, and the instruction execution units 25 1 to 25 1
It is designed to supply to n . The instruction execution unit 25 1-2
In 5 n, execute each microinstruction S23 1 ~S23 n, respectively, so as to stop the execution of its own microinstruction at the time of running the predetermined microinstruction.

【0016】図8は、マイクロ命令フォーマットを示す
図である。このフォーマットは、命令実行部251 〜2
n の全てに共通である。最上位ビットは完了指定であ
り、このビットが“1”であるマイクロ命令を与えられ
た場合には、各命令実行部251 〜25n は、その命令
実行直後にマイクロ命令の実行を停止し、各実行終了信
号S251 〜S25n を出力するようになっている。
又、マイクロ命令メモリ231 〜23n は、完了指定が
“1”であるマイクロ命令を読み出した場合、命令レジ
スタ22から新たに多重命令S22が与えられない限
り、新たにマイクロ命令の読み出しは行わず、完了指定
が“1”であるマイクロ命令を各命令実行部251 〜2
n に与え続ける。又、マイクロ命令フォーマットのソ
ース1指定及びソース2指定は、演算対象データを格納
するレジスタファイル26中のレジスタ番号を指定する
ものである。又、デスティネーション指定は、演算結果
データの格納先となるレジスタファイル26中のレジス
タ番号を指定するものである。
FIG. 8 is a diagram showing a microinstruction format. This format is used for the instruction execution units 25 1 to 2
It is common to all 5 n . The most significant bit is a completion designation, and when a microinstruction with this bit being "1" is given, each instruction execution unit 25 1 to 25 n stops the execution of the microinstruction immediately after the execution of the instruction. , The execution end signals S25 1 to S25 n are output.
Further, when the microinstruction memory 23 1 to 23 n reads a microinstruction whose completion designation is “1”, the microinstruction is newly read out unless a new multiple instruction S22 is given from the instruction register 22. The instruction execution units 25 1 to 25
Continue to give 5 n . The source 1 designation and the source 2 designation of the microinstruction format designate the register number in the register file 26 for storing the data to be operated. The destination designation is to designate the register number in the register file 26 that is the storage destination of the operation result data.

【0017】次に、図5、図6、図7及び図8を参照し
つつ、図1の動作を説明する。プログラムカウンタ29
から与えられた命令アドレスS29に基づき、命令メモ
リ21に格納された命令コードが命令実行サイクル毎に
読み出される。読み出された命令コードS21は、命令
レジスタ22に1命令実行時間だけ保持される。命令レ
ジスタ22に保持された命令コードS21は、命令コー
ドS22としてマイクロ命令メモリ231 〜23n 及び
選択回路24に共通に出力される。又、命令コードS2
2のMSB即ち単一/多重命令指示コードS22aは、
選択回路24及び選択回路28の各選択入力端子に出力
される。マイクロ命令メモリ231 〜23n では、単一
/多重命令指示コードS22aが“1”の場合(即ち、
多重命令指示の場合)にのみ、与えられたマイクロ命令
アドレスに基づいてマイクロ命令S231 〜S23n
同時に読み出す。これらのマイクロ命令S231 〜S2
n は、各命令実行部251 〜25n で独立に実行され
る命令であり、それぞれ固有のマイクロ命令である。命
令実行部251 は、単一/多重命令指示コードS22a
の論理レベルに応じて単一命令又は多重命令実行のため
のマイクロ命令列のいずれか一方を実行する。命令実行
部252 〜25n は、多重命令実行のためのマイクロ命
令列のみを実行する。
Next, the operation of FIG. 1 will be described with reference to FIGS. 5, 6, 7, and 8. Program counter 29
The instruction code stored in the instruction memory 21 is read for each instruction execution cycle based on the instruction address S29 given by The read instruction code S21 is held in the instruction register 22 for one instruction execution time. The instruction code S21 held in the instruction register 22 is commonly output as the instruction code S22 to the microinstruction memories 23 1 to 23 n and the selection circuit 24. Also, the instruction code S2
2 MSBs, that is, single / multiple instruction instruction code S22a,
It is output to each selection input terminal of the selection circuit 24 and the selection circuit 28. In the micro instruction memories 23 1 to 23 n , when the single / multiple instruction instruction code S22a is “1” (that is,
Only in the case of multiple command instruction), simultaneously reads the microinstruction S23 1 ~S23 n based on given microinstruction address. These microinstructions S23 1 to S2
3 n are instructions that are independently executed by the instruction execution units 25 1 to 25 n , and are unique micro instructions. The instruction execution unit 25 1 uses the single / multiple instruction instruction code S22a.
Either a single instruction or a microinstruction sequence for multiple instruction execution is executed depending on the logic level of The instruction execution units 25 2 to 25 n execute only microinstruction sequences for executing multiple instructions.

【0018】選択回路24には、命令レジスタ22から
直接与えられる命令コードS22及びマイクロ命令メモ
リ231 から読み出されたマイクロ命令S231 が入力
される。選択回路24では、命令レジスタ22からの単
一/多重命令指示コードS22aを選択信号として、命
令コードS22又はマイクロ命令S231 のいずれか一
方を選択して命令実行部251 に送出する。即ち、単一
/多重命令指示コードS22aが“1”の場合は、命令
コードS22は多重命令であるため、マイクロ命令S2
1 が選択され、単一/多重命令指示コードS22aが
“0”の場合は、命令コードS22が単一命令であるた
め、命令コードS22が選択されて命令実行部251
与えられる。命令実行部251 〜25n は、レジスタフ
ァイル26から各ソース1データs11 〜s1n 及び各
ソース2データs21 〜s2n を入力し、これらに対し
て演算を行いその結果を各デスティネーションデータd
1 〜dsn として該レジスタファイル26に格納す
る。
The selection circuit 24 receives the instruction code S22 directly given from the instruction register 22 and the micro instruction S23 1 read from the micro instruction memory 23 1 . The selection circuit 24 selects either the instruction code S22 or the microinstruction S23 1 as a selection signal using the single / multiple instruction instruction code S22a from the instruction register 22 and sends it to the instruction execution unit 25 1 . That is, when the single / multiple instruction instruction code S22a is "1", the instruction code S22 is a multiple instruction, and therefore the micro instruction S2.
When 3 1 is selected and the single / multiple instruction instruction code S22a is “0”, the instruction code S22 is a single instruction, and therefore the instruction code S22 is selected and given to the instruction execution unit 25 1 . Instruction execution unit 25 1 to 25 n are register file input from 26 each source 1 data s1 1 ~s1 n and the source 2 data s2 1 ~s2 n, the result of each destination performs an operation on these Data d
It is stored in the register file 26 as s 1 to ds n .

【0019】命令コードS22が単一命令の場合には、
命令実行部251 のみが命令実行を行う。この時、命令
実行部252 〜25n では、命令実行を停止した状態に
なっている。命令実行部251 において単一命令の実行
が完了すると、実行終了信号S251 がアサート(本実
施形態では、論理“0”から論理“1”に変化する)さ
れる。実行終了信号S251 は、AND回路27及び選
択回路28に入力される。選択回路28は、単一/多重
命令指示コードS22aが“0”の場合、即ち実行した
命令が単一命令の場合には、命令実行部251 から直接
入力される実行終了信号S251 を選択し、実行終了信
号S28としてプログラムカウンタ29に出力する。プ
ログラムカウンタ29では、実行終了信号S28がアサ
ートされることによってカウント値を1つ進めて次の命
令アドレスS29を出力する。但し、命令実行部251
で実行された命令が分岐命令である場合は、命令実行部
251 から入力される分岐先アドレスDAに対応した値
を次の命令アドレスS29として出力する。
When the instruction code S22 is a single instruction,
Only the instruction execution unit 25 1 executes the instruction. At this time, the instruction execution units 25 2 to 25 n are in a state where the instruction execution is stopped. When the execution of a single instruction is completed in the instruction execution unit 25 1 , the execution end signal S25 1 is asserted (in the present embodiment, changes from logic “0” to logic “1”). The execution end signal S25 1 is input to the AND circuit 27 and the selection circuit 28. When the single / multiple instruction instruction code S22a is "0", that is, when the executed instruction is a single instruction, the selection circuit 28 selects the execution end signal S25 1 directly input from the instruction execution unit 25 1. Then, it is output to the program counter 29 as an execution end signal S28. The program counter 29 advances the count value by one when the execution end signal S28 is asserted, and outputs the next instruction address S29. However, the instruction execution unit 25 1
If the instruction executed in step 1 is a branch instruction, the value corresponding to the branch destination address DA input from the instruction execution unit 25 1 is output as the next instruction address S29.

【0020】命令コードS22が多重命令の場合、各命
令実行部251 〜25n は、同時に与えられる1つ又は
複数のマイクロ命令列S231 〜S23n を実行する。
即ち、命令実行部252 〜25n には、マイクロ命令メ
モリ232 〜23n から読み出されたマイクロ命令S2
2 〜S23n がそれぞれ与えられる。又、命令実行部
251 に対しては、選択回路24においてマイクロ命令
S231 が選択されて入力される。図7に示すマイクロ
命令のMSBは完了指定ビットであり、各命令実行部2
1 〜25n は、該完了指定ビットが“0”の場合に
は、各マイクロ命令メモリ231 〜23n から順次入力
される後続のマイクロ命令S231 〜S23n をそれぞ
れ実行し続ける。一方、完了指定ビットが“1”の場合
には、そのマイクロ命令実行直後に各実行終了信号S2
1 〜S25n をそれぞれ出力すると共に、マイクロ命
令の実行を停止する。マイクロ命令実行は、マイクロ命
令メモリ231 〜23n から新たにマイクロ命令S23
1 〜S23n が与えられることによって再開される。本
実施形態では、1つのマイクロ命令の実行に要する時間
は、全ての命令実行部251 〜25nにおいて共通であ
り、1命令実行時間(例えば、1クロックサイクル時
間)であるとする。
When the instruction code S22 is a multiple instruction, each instruction execution unit 25 1 to 25 n executes one or a plurality of microinstruction sequences S23 1 to S23 n given at the same time.
That is, the instruction execution units 25 2 to 25 n have the microinstruction S2 read from the microinstruction memory 23 2 to 23 n.
3 2 to S23 n are given respectively. Further, the microinstruction S23 1 is selected and input to the instruction execution unit 25 1 by the selection circuit 24. The MSB of the microinstruction shown in FIG. 7 is a completion designation bit, and each instruction execution unit 2
5 1 to 25 n in the case of the complete specified bit is "0" continues to execute each microinstruction memory 23 1-23 subsequent microinstruction sequentially input from n S23 1 ~S23 n, respectively. On the other hand, when the completion designation bit is "1", each execution end signal S2
Each of 5 1 to S25 n is output and the execution of the micro instruction is stopped. The microinstruction execution is performed by newly adding the microinstruction S23 from the microinstruction memories 23 1 to 23 n.
It is restarted by giving 1 to S23 n . In this embodiment, the time required to execute one microinstruction is common to all the instruction execution units 25 1 to 25 n and is one instruction execution time (for example, one clock cycle time).

【0021】命令実行部251 〜25n から出力される
実行終了信号S251 〜S25n は、それぞれ各命令実
行部251 〜25n の固有の時間にアサートされる。各
実行終了信号S251 〜S25n は、AND回路27に
入力される。AND回路27は、実行終了信号S251
〜S25n の全てがアサートされた場合、多重命令実行
終了信号S27をアサートする。選択回路28は、多重
命令実行の際(即ち、単一/多重命令指示コードS22
aが“1”の場合)には多重命令実行終了信号S27を
選択し、実行終了信号S28としてプログラムカウンタ
29に出力する。このようにして、多重命令実行の際に
各命令実行部251 〜25n で実行された任意の数のマ
イクロ命令列の全ての終了が認識され、多重命令自体の
実行完了が認識される。実行終了信号S28がアサート
された時、プログラムカウンタ29は、カウント値を1
つ進めて次の命令アドレスS29として命令メモリ21
へ出力する。
The execution end signal S25 1 ~S25 n outputted from the instruction execution unit 25 1 to 25 n is asserted inherent time of each instruction execution unit 25 1 to 25 n, respectively. The execution end signals S25 1 to S25 n are input to the AND circuit 27. The AND circuit 27 outputs the execution end signal S25 1
If all ~S25 n is asserted, it asserts the multiple instruction execution end signal S27. The selection circuit 28 executes the multiple instruction execution (that is, the single / multiple instruction instruction code S22).
If a is "1"), the multiple instruction execution end signal S27 is selected and output to the program counter 29 as the execution end signal S28. In this way, when the multiple instruction is executed, the completion of all of the arbitrary number of microinstruction sequences executed by the instruction executing units 25 1 to 25 n is recognized, and the completion of execution of the multiple instruction itself is recognized. When the execution end signal S28 is asserted, the program counter 29 sets the count value to 1
And the instruction memory 21 as the next instruction address S29.
Output to.

【0022】以上のように、この第1の実施形態では、
命令メモリ21から読み出されて命令実行部251 のみ
で実行される単一命令と、命令実行部251 〜25n
同時実行される該各命令実行部251 〜25n に固有の
1つ又は複数のマイクロ命令列に展開されて実行される
多重命令とが、命令メモリ21に記憶されたプログラム
に基づいて実行される。多重命令実行においては、各命
令実行部251 〜25n で同時に実行される固有の各マ
イクロ命令列の長さは任意なので、AND回路27にお
いて各命令実行部251 〜25n からの各実行完了信号
S251 〜S25n の論理積をとることにより、多重命
令実行完了信号S27が出力され、プログラムカウンタ
29に送出される。プログラムカウンタ29から次の命
令アドレスS29が命令メモリ21に出力され、次の命
令実行時間にて命令実行が行われる。そのため、或る1
つのプログラムにおいて、例えばベクタ計算やループ実
行等の並列処理については多重命令実行とし、例えばコ
ントロールシーケンスに基づいた制御処理等の逐次的な
処理については単一命令実行とすることにより、該プロ
グラムの処理性能を最大に活用することができる。
As described above, in the first embodiment,
A single instruction to be executed only by the instruction execution unit 25 1 is read from the instruction memory 21, one specific to the respective instruction execution unit 25 1 to 25 n to be executed simultaneously by the instruction execution unit 25 1 to 25 n Multiple instructions that are expanded and executed in one or a plurality of microinstruction sequences are executed based on the program stored in the instruction memory 21. In the execution of multiple instructions, the length of each unique microinstruction sequence that is simultaneously executed by each of the instruction execution units 25 1 to 25 n is arbitrary, so that the execution from each of the instruction execution units 25 1 to 25 n in the AND circuit 27 is performed. By taking the logical product of the completion signals S25 1 to S25 n , the multiple instruction execution completion signal S27 is output and sent to the program counter 29. The next instruction address S29 is output from the program counter 29 to the instruction memory 21, and the instruction is executed at the next instruction execution time. Therefore, a certain one
In one program, for example, parallel processing such as vector calculation or loop execution is executed as multiple instructions, and sequential processing such as control processing based on a control sequence is executed as single instruction. You can maximize the performance.

【0023】更に、多重命令実行時に各命令実行部25
1 〜25n において実行されるマイクロ命令列を任意と
することができるので、複数のデータに対してそれぞれ
複数の計算処理を施すような処理が容易になる。例え
ば、各命令実行部251 〜25n において、隣接する命
令実行部で直前に計算された結果を、自命令実行部での
次の演算対象データとするようなパイプライン的な計算
処理(即ち、ソフトウェアパイプライニング)を並列に
行うことが容易になる。又、本実施形態による並列命令
処理装置では、従来の図2のSIMD型命令処理装置におけ
る各レジスタファイルを各命令実行部と対でそれぞれ設
ける必要がないので、回路規模の増大、データの一致性
を保証するための命令実行部間の処理の待合せ、データ
の通信のための処理に必要な回路を設けることによる回
路規模の増大、及び処理時間が増加するという問題が解
消される。更に、本実施形態による並列命令処理装置で
は、命令実行部251 〜25n に対する各マイクロ命令
コードS231 〜S23n を記憶するマイクロ命令メモ
リ231 〜23n を備えているので、従来の図4のMIMD
型命令処理装置における各命令実行部に対して固有の命
令コードを与えるための命令コード容量の増大、特に逐
次処理となるプログラム部分の実行において、命令実行
部の数に相当する複雑かつ大規模な命令コードを命令メ
モリ11に格納しなければならないという問題が解消さ
れる。
In addition, each instruction execution unit 25 when executing multiple instructions
Since the microinstruction sequence executed in 1 to 25 n can be arbitrarily set, it becomes easy to perform a plurality of calculation processes on a plurality of data. For example, in each instruction execution unit 25 1 to 25 n , a pipeline-like calculation process (that is, a result calculated immediately before by an adjacent instruction execution unit as the next operation target data in the own instruction execution unit) (that is, , Software pipelining) in parallel. Further, in the parallel instruction processing device according to the present embodiment, it is not necessary to provide each register file in the conventional SIMD type instruction processing device of FIG. 2 in pairs with each instruction execution unit, so that the circuit scale is increased and the data consistency is improved. It is possible to solve the problems of waiting for processing between the instruction execution units for ensuring the above, increasing the circuit scale by providing a circuit necessary for the processing for data communication, and increasing the processing time. Furthermore, the parallel instruction processing apparatus according to this embodiment is provided with the micro-instruction memory 23 1 ~ 23 n for storing each microinstruction code S23 1 ~S23 n for the instruction execution unit 25 1 to 25 n, the conventional FIG. MIMD of 4
Of an instruction code capacity for giving a unique instruction code to each instruction execution unit in a distributed instruction processing apparatus, particularly in executing a program portion that is a sequential process, a complicated and large-scale equivalent to the number of instruction execution units The problem that the instruction code must be stored in the instruction memory 11 is solved.

【0024】第2の実施形態 図9は、本発明の第2の実施形態を示す並列命令処理装
置の構成ブロック図であり、図1中の要素と共通の要素
には共通の符号が付されている。この並列命令処理装置
は、図1の並列命令処理装置と同様に、命令メモリ21
を有している。命令メモリ21の出力側は、命令レジス
タ22の入力側に接続されている。命令レジスタ22の
出力側は、マイクロ命令メモリ231 〜23n の各入力
側に共通に接続されると共に、第1の命令実行部である
単一命令実行部25Sの命令入力端子に接続されてい
る。この単一命令実行部25Sは、例えばALUで構成
され、1命令実行時間(例えば、1クロックサイクル時
間)で単一命令のみを実行する機能を有している。マイ
クロ命令メモリ231 〜23n の各出力端子は、第2の
命令実行部である命令実行部25m1 〜25mn の各命
令コード入力端子にそれぞれ接続されている。命令実行
部25m1 〜25mn も、例えばALUで構成され、マ
イクロ命令のみを実行する機能を有している。命令実行
部25m1 〜25mn の各ソース1データ入力端子s
1、各ソース2データ入力端子s2、及び各デスティネ
ーションデータ出力端子dsは、レジスタファイル26
の、各ソース1データ出力端子s1、各ソース2データ
出力端子s2、及び各デスティネーションデータ入力端
子dsに接続されている。
Second Embodiment FIG. 9 is a block diagram showing the configuration of a parallel instruction processing device according to a second embodiment of the present invention. Elements common to those in FIG. 1 are designated by common reference numerals. ing. This parallel instruction processing device is similar to the parallel instruction processing device of FIG.
have. The output side of the instruction memory 21 is connected to the input side of the instruction register 22. The output side of the instruction register 22 is commonly connected to the input sides of the microinstruction memories 23 1 to 23 n , and is also connected to the instruction input terminal of the single instruction execution section 25S which is the first instruction execution section. There is. The single instruction execution unit 25S is composed of, for example, an ALU, and has a function of executing only a single instruction in one instruction execution time (for example, one clock cycle time). The output terminals of the microinstruction memory 23 1 ~ 23 n are connected to each instruction code input terminal of the second instruction execution unit in which the instruction execution unit 25m 1 ~25m n. Instruction execution unit 25m 1 ~25m n be formed of, for example, ALU, and has a function of executing only the microinstruction. Each source 1 data input terminal s of the instruction execution unit 25m 1 to 25m n
1, each source 2 data input terminal s2, and each destination data output terminal ds
Of each source 1 data output terminal s1, each source 2 data output terminal s2, and each destination data input terminal ds.

【0025】一方、命令実行部25m1 〜25mn の各
実行終了信号出力端子e1 〜en は、多重命令実行終了
検出回路である(n+1)入力AND回路27Aの各入
力端子にそれぞれ接続されている。又、前記命令レジス
タ22のMSB出力端子は、AND回路27Aの或る一
つの入力端子、命令実行部25m1 〜25mn の各単一
命令/多重命令入力端子、及び単一命令実行部25Sの
単一命令/多重命令入力端子に共通に接続されている。
更に、命令レジスタ22のMSB出力端子は、インバー
タ31を介して2入力OR回路32の第1の入力端子に
接続されている。AND回路27Aの出力端子は、OR
回路32の第2の入力端子に接続されている。OR回路
32の出力端子は、プログラムカウンタ29のクロック
入力端子ckに接続されている。単一命令実行部25S
の分岐先アドレス出力端子は、プログラムカウンタ29
のカウント開始値(初期設定値)入力端子に接続されて
いる。プログラムカウンタ29の出力端子は、命令メモ
リ21のアドレス入力端子Aに接続されている。
On the other hand, the execution end signal output terminal e 1 to e n of the instruction execution unit 25m 1 ~25m n are respectively connected to the input terminals of a multiple instruction execution end detection circuit (n + 1) input AND circuit 27A ing. Further, MSB output terminal of the instruction register 22, certain one input terminal of the AND circuit 27A, the single instruction / multiple instruction input of the instruction execution unit 25m 1 ~25m n, and a single command execution unit 25S Commonly connected to single command / multiple command input terminals.
Further, the MSB output terminal of the instruction register 22 is connected to the first input terminal of the 2-input OR circuit 32 via the inverter 31. The output terminal of the AND circuit 27A is OR
It is connected to the second input terminal of the circuit 32. The output terminal of the OR circuit 32 is connected to the clock input terminal ck of the program counter 29. Single instruction execution unit 25S
The branch destination address output terminal of the
It is connected to the count start value (initial setting value) input terminal of. The output terminal of the program counter 29 is connected to the address input terminal A of the instruction memory 21.

【0026】次に、図9の動作を説明する。図9の並列
命令処理装置では、図1の並列命令処理装置とほぼ同様
の動作が行われるが、次の点が異なっている。即ち、単
一命令実行部25Sと命令実行部25m1 〜25mn
を設け、命令コードS22が単一命令の場合には、単一
命令実行部25Sに対してのみ命令コードS22が与え
られて実行され、命令実行部25m1 〜25mn には命
令コードS22が与えられない。この際、単一命令の実
行時間は、1命令実行時間(例えば、1クロックサイク
ル時間)に固定されているので、単一命令実行部25S
からは実行終了信号は出力されず、“0”の単一/多重
命令指示コードS22aがインバータ31を介してOR
回路32に入力され、該OR回路32から“1”の実行
終了信号S32としてプログラムカウンタ29に出力さ
れる。又、命令コードS22が多重命令の場合には、命
令実行部25m1 〜25mnに命令コードS22が与え
られて実行される。命令実行部25m1 〜25mn にお
いて命令の実行が終了すると、“1”の実行終了信号S
25m1 〜S25mnがAND回路27Aに出力され
る。この時、単一/多重命令指示コードS22aは
“1”なので、AND回路27Aから“1”の多重命令
実行終了信号S27Aが出力され、該多重命令実行終了
信号S27AがOR回路32に入力され、該OR回路3
2から“1”の実行終了信号S32としてプログラムカ
ウンタ29に出力される。
Next, the operation of FIG. 9 will be described. The parallel instruction processing device of FIG. 9 performs almost the same operation as the parallel instruction processing device of FIG. 1, except for the following points. That is, provided a single instruction execution unit 25S and the instruction execution unit 25m 1 ~25m n, when the instruction code S22 is single instruction is given only instruction codes S22 for a single instruction execution unit 25S runs, the instruction execution unit 25m 1 ~25m n not given instruction code S22. At this time, since the execution time of the single instruction is fixed to one instruction execution time (for example, one clock cycle time), the single instruction execution unit 25S
Does not output an execution end signal, and the single / multiple instruction instruction code S22a of "0" is ORed through the inverter 31.
It is input to the circuit 32 and is output from the OR circuit 32 to the program counter 29 as an execution end signal S32 of "1". Further, the instruction code S22 is the case of multiple instructions, the instruction execution unit 25m 1 ~25m n in the instruction code S22 is executed provided. When the execution of the instruction ends at the instruction execution unit 25m 1 ~25m n, "1" execution end signal S
25m 1 ~S25m n is output to the AND circuit 27A. At this time, since the single / multiple instruction instruction code S22a is "1", the AND circuit 27A outputs the multiple instruction execution end signal S27A of "1", and the multiple instruction execution end signal S27A is input to the OR circuit 32. The OR circuit 3
2 is output to the program counter 29 as the execution end signal S32 of "1".

【0027】以上のように、この第2の実施形態では、
単一命令のみを実行する単一命令実行部25Sと、多重
命令実行の際に実行されるマイクロ命令列のみを実行す
る命令実行部251 〜25n とを別々に設置するため、
単一命令実行部25Sを単一命令実行(例えば、論理演
算、プログラムの流れの処理等)に最適な構成とし、命
令実行部25m1 〜25mn をマイクロ命令実行(例え
ば四則演算等の簡単な演算)に最適な構成とすることが
できる。そのため、第1の実施形態の並列命令処理装置
では、図1中の命令実行部251 は、単一命令及びマイ
クロ命令の両方を実行できる回路構成をとる必要があっ
たのに対し、単一命令実行部25Sは単一命令のみを実
行すればよいので、第1の実施形態の利点に加え、更に
回路規模の削減ができる。
As described above, in the second embodiment,
Since the single instruction execution unit 25S for executing only a single instruction and the instruction execution units 25 1 to 25 n for executing only a microinstruction sequence executed when executing multiple instructions are separately installed,
Single Instruction execute a single instruction execution unit 25S (e.g., logical operations, the flow of processing of a program) and the optimum configuration, simple such as a micro instruction execution (e.g. arithmetic operation instruction execution unit 25m 1 ~25m n The configuration can be optimized for calculation). Therefore, in the parallel instruction processing device according to the first embodiment, the instruction execution unit 25 1 in FIG. 1 needs to have a circuit configuration capable of executing both a single instruction and a micro instruction. Since the instruction execution unit 25S only needs to execute a single instruction, the circuit scale can be further reduced in addition to the advantages of the first embodiment.

【0028】[0028]

【発明の効果】以上詳細に説明したように、第1の発明
によれば、命令メモリから読み出されて第1の命令実行
部のみで実行される単一命令と、前記第1の命令実行部
及び複数の第2の命令実行部で同時実行される該第1の
命令実行部及び該各第2の命令実行部に固有の1つ又は
複数のマイクロ命令列に展開されて実行される多重命令
とが、前記命令メモリに記憶されたプログラムに基づい
て実行される。多重命令実行においては、各第2の命令
実行部で同時に実行される固有の各マイクロ命令列の長
さは任意なので、前記複数の第2の命令実行部の全てが
前記多重命令の実行を終了した時、多重命令実行終了検
出回路から多重命令実行終了信号が出力され、プログラ
ムカウンタに送出される。プログラムカウンタから次の
命令アドレスが命令メモリに出力され、次の命令実行時
間にて命令実行が行われる。そのため、或る1つのプロ
グラムにおいて、例えばベクタ計算やループ実行等の並
列処理については多重命令実行とし、例えばコントロー
ルシーケンスに基づいた制御処理等の逐次的な処理につ
いては単一命令実行とすることにより、該プログラムの
処理性能を最大に活用できる。
As described in detail above, according to the first invention, a single instruction read from the instruction memory and executed only by the first instruction executing section, and the first instruction execution Section and a plurality of second instruction executing sections are simultaneously executed by the first instruction executing section and each second instruction executing section. Instructions are executed based on a program stored in the instruction memory. In multiple instruction execution, the length of each unique microinstruction sequence that is simultaneously executed by each second instruction execution unit is arbitrary, so that all of the plurality of second instruction execution units complete execution of the multiple instructions. At this time, the multiple instruction execution end detection circuit outputs a multiple instruction execution end signal, which is sent to the program counter. The next instruction address is output from the program counter to the instruction memory, and the instruction is executed at the next instruction execution time. Therefore, in a certain program, for example, parallel processing such as vector calculation or loop execution is executed as multiple instructions, and sequential processing such as control processing based on a control sequence is executed as single instruction. Therefore, the processing performance of the program can be maximized.

【0029】更に、多重命令実行時に前記第1の命令実
行部及び前記各第2の命令実行部において実行されるマ
イクロ命令列を任意とすることができるので、複数のデ
ータに対してそれぞれ複数の計算処理を施すような処理
が容易になる。例えば、前記第1の命令実行部及び前記
各第2の命令実行部において、隣接する命令実行部で直
前に計算された結果を、自命令実行部での次の演算対象
データとするようなパイプライン的な計算処理(即ち、
ソフトウェアパイプライニング)を並列に行うことが容
易にできる。その上、本発明の並列命令処理装置では、
従来のSIMD型命令処理装置における各レジスタファイル
を各命令実行部と対でそれぞれ設ける必要がないので、
回路規模の増大、データの一致性を保証するための命令
実行部間の処理の待合せ、データの通信のための処理に
必要な回路を設けることによる回路規模の増大、及び処
理時間が増加するという問題を解消できる。更に、本発
明の並列命令処理装置では、各第2の命令実行部に対す
る各マイクロ命令コードを記憶する各マイクロ命令メモ
リを備えているので、従来のMIMD型命令処理装置におけ
る各命令実行部に対して固有の命令コードを与えるため
の命令コード容量の増大、特に逐次処理となるプログラ
ム部分の実行において、命令実行部の数に相当する複雑
かつ大規模な命令コードを命令メモリに格納しなければ
ならないという問題を解消できる。
Further, since it is possible to make an arbitrary microinstruction sequence executed in the first instruction execution unit and each second instruction execution unit at the time of execution of multiple instructions, a plurality of microinstructions can be provided for a plurality of data. Processing such as calculation processing is facilitated. For example, in the first instruction execution unit and each of the second instruction execution units, a pipe that uses the result calculated immediately before by the adjacent instruction execution unit as the next operation target data in the own instruction execution unit Line-like calculation processing (that is,
Software pipelining) can be easily performed in parallel. Moreover, in the parallel instruction processing device of the present invention,
Since it is not necessary to provide each register file in the conventional SIMD type instruction processing device in pairs with each instruction execution unit,
It is said that the circuit scale increases, the waiting of the processing between the instruction execution units for guaranteeing the consistency of the data, the circuit scale increase by providing the circuit necessary for the processing for the data communication, and the processing time increase. You can solve the problem. Further, since the parallel instruction processing device of the present invention is provided with each microinstruction memory for storing each microinstruction code for each second instruction execution unit, it is possible to use each of the instruction execution units in the conventional MIMD type instruction processing device. In order to increase the instruction code capacity for giving a unique instruction code, especially in the execution of a program part that is a sequential process, a complicated and large-scale instruction code equivalent to the number of instruction execution parts must be stored in the instruction memory. The problem can be solved.

【0030】第2の発明によれば、単一命令のみを実行
する第1の命令実行部と、多重命令実行の際に実行され
るマイクロ命令列のみを実行する複数の第2の命令実行
部とを別々に設置するため、前記第1の命令実行部を単
一命令実行(例えば、論理演算、プログラムの流れの処
理等)に最適な構成とし、前記複数の第2の命令実行部
をマイクロ命令実行(例えば四則演算等の簡単な演算)
に最適な構成とすることができる。そのため、第1の発
明の並列命令処理装置では、第1の命令実行部は、単一
命令及びマイクロ命令の両方を実行できる回路構成をと
る必要があったのに対し、第2の発明の第1の命令実行
部は単一命令のみを実行すればよいので、第1の発明の
効果に加え、更に回路規模を削減できる。
According to the second invention, the first instruction executing section for executing only a single instruction and the plurality of second instruction executing sections for executing only the micro instruction sequence executed at the time of executing multiple instructions. In order to separately install the first and second instruction execution units, the first instruction execution unit has an optimal configuration for single instruction execution (for example, logical operation, processing of program flow, etc.), and the plurality of second instruction execution units are Instruction execution (for example, simple arithmetic such as four arithmetic operations)
It is possible to have an optimal configuration for. Therefore, in the parallel instruction processing device according to the first aspect of the invention, the first instruction execution part needs to have a circuit configuration capable of executing both a single instruction and a microinstruction, while the first instruction execution part according to the second aspect of the invention. Since the first instruction execution unit only needs to execute a single instruction, the circuit scale can be further reduced in addition to the effect of the first invention.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の第1の実施形態を示す並列命令処理装
置の構成ブロック図である。
FIG. 1 is a configuration block diagram of a parallel instruction processing device showing a first embodiment of the present invention.

【図2】従来のSIMD型命令処理装置の構成ブロック図で
ある。
FIG. 2 is a configuration block diagram of a conventional SIMD type instruction processing device.

【図3】命令フォーマットを示す図である。FIG. 3 is a diagram showing an instruction format.

【図4】従来のMIMD型命令処理装置の構成ブロック図で
ある。
FIG. 4 is a configuration block diagram of a conventional MIMD type instruction processing device.

【図5】単一命令フォーマット1を示す図である。FIG. 5 is a diagram showing a single instruction format 1.

【図6】単一命令フォーマット2を示す図である。FIG. 6 is a diagram showing a single instruction format 2;

【図7】多重命令フォーマットを示す図である。FIG. 7 is a diagram showing a multiple instruction format.

【図8】マイクロ命令フォーマットを示す図である。FIG. 8 is a diagram showing a microinstruction format.

【図9】本発明の第2の実施形態を示す並列命令処理装
置の構成ブロック図である。
FIG. 9 is a configuration block diagram of a parallel instruction processing device showing a second exemplary embodiment of the present invention.

【符号の説明】[Explanation of symbols]

21
命令メモリ 29
プログラムカウンタ 251 ,25S
第1の命令実行部 231 〜23n
マイクロ命令メモリ 252 〜25n ,25m1 〜25mn
第2の命令実行部 27,27A
AND回路(多重命令実行終了検出回路)
21
Instruction memory 29
Program counter 25 1 , 25S
First instruction execution unit 23 1 to 23 n
Micro instruction memory 25 2 to 25 n , 25 m 1 to 25 m n
Second instruction execution unit 27, 27A
AND circuit (multiple instruction execution end detection circuit)

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 1つの命令で1つの命令実行を行う単一
命令を指示する単一命令指示コード又は1つの命令で複
数の命令実行を行う多重命令を指示する多重命令指示コ
ード及び命令実行のための命令コードを格納する命令メ
モリと、 前記命令メモリに対して命令アドレスを送出して読み出
す命令コードを指定するプログラムカウンタと、 前記命令メモリから読み出した命令コードに基づいてマ
イクロ命令コードをそれぞれ出力する複数のマイクロ命
令メモリと、 前記命令メモリから読み出した命令コードが前記単一命
令の時、該単一命令であることを判定して前記命令メモ
リから読み出した命令コードに対応する前記単一命令を
実行して該単一命令の実行を終了した時に単一命令実行
終了信号に活性を示し、前記命令メモリから読み出した
命令コードが前記多重命令の時、該多重命令であること
を判定して前記複数のマイクロ命令メモリのうちの1つ
のマイクロ命令メモリからのマイクロ命令コードに基づ
いて前記多重命令のうちの1つを実行する第1の命令実
行部と、 前記命令メモリから読み出した命令コードが前記多重命
令の時、該多重命令であることを判定して前記各マイク
ロ命令メモリからの各マイクロ命令コードに基づいて前
記多重命令を実行する複数の第2の命令実行部と、 前記第1の命令実行部及び前記複数の第2の命令実行部
の全てが前記多重命令の実行を終了した時、多重命令実
行終了信号に活性を示す多重命令実行終了検出回路とを
備え、 前記プログラムカウンタは、前記単一命令実行終了信号
又は前記多重命令実行終了信号が活性を示した時、現命
令アドレスをインクリメントした次の命令アドレスを前
記命令メモリへ送出する構成にしたことを特徴とする並
列命令処理装置。
1. A single instruction instruction code for instructing a single instruction to execute one instruction with one instruction, or a multiple instruction instruction code for instructing multiple instructions to execute a plurality of instructions with one instruction, and instruction execution An instruction memory for storing an instruction code for storing the instruction code, a program counter for designating an instruction code for sending and reading an instruction address to the instruction memory, and outputting a micro instruction code based on the instruction code read from the instruction memory A plurality of microinstruction memories, and when the instruction code read from the instruction memory is the single instruction, the single instruction corresponding to the instruction code read from the instruction memory by determining that the instruction code is the single instruction. Is executed to end the execution of the single instruction, the single instruction execution end signal is activated, and the instruction read from the instruction memory is read. When the instruction code is the multi-instruction, it is determined that the multi-instruction is the multi-instruction and one of the multi-instruction is executed based on the micro-instruction code from one of the plurality of micro-instruction memories. A first instruction executing unit for executing; and when the instruction code read from the instruction memory is the multiple instruction, it is determined that the multiple instruction is the multiple instruction, and the micro instruction code from each of the micro instruction memories is used for the determination. A plurality of second instruction execution units that execute multiple instructions, and a multiple instruction execution end signal when all of the first instruction execution unit and the plurality of second instruction execution units have finished executing the multiple instructions A multi-instruction execution end detection circuit that is active when the single-instruction execution end signal or the multi-instruction execution end signal is active. Parallel instruction processing apparatus incremented the next instruction address scan is characterized in that the arrangement to be sent to the instruction memory.
【請求項2】 請求項1記載の命令メモリと、 請求項1記載のプログラムカウンタと、 請求項1記載の複数のマイクロ命令メモリと、 前記命令メモリから読み出した命令コードが前記単一命
令の時、該単一命令であることを判定して前記命令メモ
リから読み出した命令コードに対応する前記単一命令を
所定の1命令実行時間で実行する第1の命令実行部と、 請求項1記載の複数の第2の命令実行部と、 請求項1記載の多重命令実行終了検出回路と、 前記単一命令指示コード又は前記多重命令実行終了信号
が活性を示した時、現命令アドレスをインクリメントし
た次の命令アドレスを前記命令メモリへ前記所定の1命
令実行時間経過後に送出するプログラムカウンタとを、 備えたことを特徴とする並列命令処理装置。
2. The instruction memory according to claim 1, the program counter according to claim 1, the plurality of microinstruction memories according to claim 1, and the instruction code read from the instruction memory when the single instruction is given. The first instruction execution unit that determines that the instruction is the single instruction and executes the single instruction corresponding to the instruction code read from the instruction memory in a predetermined one instruction execution time. A plurality of second instruction execution units; a multiple instruction execution end detection circuit according to claim 1; and a current instruction address incremented when the single instruction instruction code or the multiple instruction execution end signal is active. And a program counter for sending the instruction address of 1. to the instruction memory after the elapse of the predetermined one instruction execution time.
JP29002495A 1995-11-08 1995-11-08 Parallel instruction processing unit Expired - Fee Related JP3524240B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29002495A JP3524240B2 (en) 1995-11-08 1995-11-08 Parallel instruction processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29002495A JP3524240B2 (en) 1995-11-08 1995-11-08 Parallel instruction processing unit

Publications (2)

Publication Number Publication Date
JPH09134288A JPH09134288A (en) 1997-05-20
JP3524240B2 true JP3524240B2 (en) 2004-05-10

Family

ID=17750808

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29002495A Expired - Fee Related JP3524240B2 (en) 1995-11-08 1995-11-08 Parallel instruction processing unit

Country Status (1)

Country Link
JP (1) JP3524240B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366999B1 (en) * 1998-01-28 2002-04-02 Bops, Inc. Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution

Also Published As

Publication number Publication date
JPH09134288A (en) 1997-05-20

Similar Documents

Publication Publication Date Title
US6219775B1 (en) Massively parallel computer including auxiliary vector processor
US8918627B2 (en) Multithreaded processor with multiple concurrent pipelines per thread
EP0996057B1 (en) Data processor with an instruction unit having a cache and a ROM
US6356994B1 (en) Methods and apparatus for instruction addressing in indirect VLIW processors
JP2010009610A (en) Processor device, method of operating dual processor, and operation method for array processor
JP2002536738A (en) Dynamic VLIW sub-instruction selection system for execution time parallel processing in an indirect VLIW processor
JPS61248135A (en) Pipeline type processor and control thereof
JPH02226420A (en) Floating point computation execution apparatus
JP3449186B2 (en) Data processing device having pipeline bypass function
US5276824A (en) Data processor having a multi-stage instruction pipe and selection logic responsive to an instruction decoder for selecting one stage of the instruction pipe
JPH1165839A (en) Instruction control mechanism of processor
JPH09237184A (en) Instruction executing method and its device
JP3524240B2 (en) Parallel instruction processing unit
US4803615A (en) Microcode control of a parallel architecture microprocessor
KR100636596B1 (en) Parallel Data Path Architecture for High Energy Efficient
JP3851008B2 (en) Processor, semiconductor integrated circuit having the same, processing apparatus, and instruction processing method
JPH04359323A (en) Microcomputer
USRE41012E1 (en) Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor
JP2004021890A (en) Data processor
JPH07110769A (en) Vliw type computer
KR950014161B1 (en) Two stage instructin pipe-line processing method of array processor
JPH08263290A (en) Data processor
JP2003248670A (en) Processor
JPH01147723A (en) Pipe line processing system for information processor
JPH11119995A (en) Device and method for processing data

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040120

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040212

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090220

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090220

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100220

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110220

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110220

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140220

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees