JPH05150979A - Immediate operand extension method - Google Patents
Immediate operand extension methodInfo
- Publication number
- JPH05150979A JPH05150979A JP3312133A JP31213391A JPH05150979A JP H05150979 A JPH05150979 A JP H05150979A JP 3312133 A JP3312133 A JP 3312133A JP 31213391 A JP31213391 A JP 31213391A JP H05150979 A JPH05150979 A JP H05150979A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- immediate
- operand
- extended
- field
- 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.)
- Granted
Links
Landscapes
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
(57)【要約】
【目的】命令語内に確保可能な即値オペランドフィール
ドのサイズを越えるサイズの即値オペランドが、より少
ない命令レパートリで且つ性能を悪化させることなく指
定できるようにする。
【構成】命令レジスタ3の命令フィールド31〜34の
例えばフィールド32に即値拡張命令が保持されると、
デコード回路42からのマスク信号M2が“1”とな
り、この即値拡張命令の拡張即値オペランドフィールド
i26の26ビットがゲート52を通して32ビット即
値データ線61の上位側に導かれる。このとき、命令フ
ィールド31に即値加算命令が保持されているものとす
ると、その即値オペランドフィールドi6の6ビットが
無条件で即値データ線61の下位側に導かれ、拡張され
た即値データ71が生成される。この即値データ71は
セレクタ81により演算器91に選択出力されて指定の
演算に供される。
(57) [Summary] [Purpose] To enable specification of an immediate operand of a size that exceeds the size of the immediate operand field that can be secured in an instruction word, with a smaller instruction repertoire and without degrading performance. [Structure] When an immediate expansion instruction is held in, for example, the field 32 of the instruction fields 31 to 34 of the instruction register 3,
The mask signal M2 from the decoding circuit 42 becomes "1", and 26 bits of the extended immediate operand field i26 of this immediate extended instruction are guided to the upper side of the 32-bit immediate data line 61 through the gate 52. At this time, if it is assumed that an immediate value addition instruction is held in the instruction field 31, 6 bits of the immediate value operand field i6 are unconditionally guided to the lower side of the immediate data line 61, and expanded immediate data 71 is generated. To be done. This immediate data 71 is selectively output to the arithmetic unit 91 by the selector 81 and used for the specified arithmetic operation.
Description
【0001】[0001]
【産業上の利用分野】この発明は、即値オペランドを持
つ特定命令を扱う情報処理装置に係り、特に即値オペラ
ンドを拡張するための即値オペランド拡張方式に関す
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus for handling a specific instruction having an immediate operand, and more particularly to an immediate operand extension method for extending an immediate operand.
【0002】[0002]
【従来の技術】計算機システムなどの情報処理装置で扱
われる各種命令(命令語)の1つに、即値オペランドを
持つ命令がある。この即値オペランドを持つ命令は、即
値オペランドのフィールドの他に、命令コード(OPコ
ード)のフィールド、デスティネーションフィールド等
のフィールドを持つ。このため、命令語内に確保可能な
即値オペランドフィールドのサイズは限られる。2. Description of the Related Art One of various instructions (instruction words) handled by an information processing apparatus such as a computer system is an instruction having an immediate operand. The instruction having the immediate operand has fields such as an instruction code (OP code) field and a destination field in addition to the immediate operand field. Therefore, the size of the immediate operand field that can be secured in the instruction word is limited.
【0003】そこで従来は、命令語内に確保可能な即値
オペランドフィールドのサイズを越えるサイズの即値オ
ペランドを指定するために、各機能(即値オペランドを
用いた加算演算、減算演算などの各機能)毎に即値オペ
ランドのサイズに対応する命令をそれぞれ用意する等の
方式を適用していた。Therefore, conventionally, in order to specify an immediate operand having a size exceeding the size of an immediate operand field that can be secured in an instruction word, each function (each function such as addition operation and subtraction operation using an immediate operand) is specified. A method such as preparing an instruction corresponding to the size of an immediate operand has been applied.
【0004】また、即値オペランドを修飾する命令を用
意し、特定の命令語内の即値オペランドを、同命令で指
定されたよりサイズの大きい即値オペランドで置換える
方式もあった。There is also a method of preparing an instruction for modifying an immediate operand and replacing the immediate operand in a specific instruction word with an immediate operand of a larger size designated by the instruction.
【0005】その他、即値オペランドを上位と下位に分
割し、それぞれに専用のロード命令を用意し、サイズの
大きい即値についてはレジスタを経由して使用する方式
もあった。In addition, there is also a method in which an immediate operand is divided into upper and lower parts, a dedicated load instruction is prepared for each, and a large immediate value is used via a register.
【0006】[0006]
【発明が解決しようとする課題】しかし、命令語内に確
保可能な即値オペランドフィールドのサイズを越えるサ
イズの即値オペランドを指定するのに、各機能毎に即値
オペランドのサイズに対応する命令をそれぞれ用意する
方式では、命令数が増え、命令体系が複雑になるという
問題があった。また、この方式では、命令語内のOPコ
ードフィールドのサイズが大きくなるため、オペランド
指定フィールドのサイズが圧迫されるという問題もあっ
た。However, in order to specify an immediate operand having a size exceeding the size of the immediate operand field that can be secured in the instruction word, an instruction corresponding to the size of the immediate operand is prepared for each function. However, the method has a problem that the number of instructions increases and the instruction system becomes complicated. Also, in this method, the size of the OP code field in the instruction word becomes large, so that the size of the operand designation field is pressed.
【0007】また、命令語内に指定された即値オペラン
ドを単に専用の命令で指定する即値オペランドに置換え
る方式では、命令語サイズ以上のサイズの即値オペラン
ドを指定できないという問題があった。Further, in the system in which the immediate operand specified in the instruction word is simply replaced with the immediate operand specified by the dedicated instruction, there is a problem that the immediate operand having a size larger than the instruction word size cannot be specified.
【0008】さらに、即値オペランドを分割し、レジス
タを経由して使用する方式では、即値オペランドを使用
するために1フェッチサイクル以上のオーバヘッドを伴
うという問題があった。また、この方式では、パイプラ
イン制御方式の情報処理装置におけるレジスタ・ハザー
ドによる性能低下が起こり得るという問題もあった。Further, in the method of dividing the immediate operand and using it via the register, there is a problem that the overhead of one fetch cycle or more is involved because the immediate operand is used. In addition, this system has a problem that the performance may be deteriorated due to register hazard in the pipeline control system information processing apparatus.
【0009】この発明は上記事情に鑑みてなされたもの
でその目的は、命令語内に確保可能な即値オペランドフ
ィールドのサイズを越えるサイズの即値オペランドが、
より少ない命令レパートリ(OPコードの種類)で且つ
性能を悪化させることなく指定できる即値オペランド拡
張方式を提供することにある。The present invention has been made in view of the above circumstances, and an object thereof is to provide an immediate operand having a size exceeding the size of an immediate operand field that can be secured in an instruction word.
An object of the present invention is to provide an immediate operand extension method that can be specified with a smaller instruction repertoire (type of OP code) and without degrading performance.
【0010】この発明の他の目的は、並列処理方式の情
報処理装置においては、命令語内に確保可能な即値オペ
ランドフィールドのサイズを越えるサイズの即値オペラ
ンドが、命令のフェッチサイクル数を全く増加させるこ
となく指定できるようにすることにある。Another object of the present invention is that in an information processing apparatus of a parallel processing system, an immediate operand having a size exceeding the size of an immediate operand field that can be secured in an instruction word causes the number of instruction fetch cycles to increase. There is no need to specify it.
【0011】[0011]
【課題を解決するための手段】この発明は、即値オペラ
ンドのフィールドを持つ特定命令の即値の拡張部分を指
定する即値拡張命令が上記特定命令の直前または直後に
配された記憶手段と、上記特定命令を実行する前に、同
命令の前記即値オペランドフィールドの内容を、同命令
の直前または直後に配された前記即値拡張命令の指定す
る即値の拡張部分と連結するための連結手段とを設け、
上記連結手段によって連結された即値オペランドを用い
て特定命令を実行するようにしたことを特徴とするもの
である。SUMMARY OF THE INVENTION According to the present invention, there is provided storage means in which an immediate expansion instruction for designating an immediate expansion portion of a specific instruction having an immediate operand field is arranged immediately before or after the specific instruction, and the specific instruction. Before executing the instruction, there is provided connection means for connecting the contents of the immediate operand field of the instruction with an immediate extension part specified by the immediate extension instruction arranged immediately before or after the instruction,
It is characterized in that a specific instruction is executed by using the immediate operands connected by the connecting means.
【0012】[0012]
【作用】上記の構成における作用を、VLIW(Very L
ong Instruction Word)型並列方式(VLIW方式)の
情報処理装置(並列演算処理装置)に適用した場合を例
に説明する。なお、VLIW方式の情報処理装置では、
所定数の固定長命令を単位に処理される。この所定数の
命令の集まりは、VLIW型命令(またはVLIW型命
令語)と呼ばれる。[Operation] The operation in the above-mentioned configuration is performed by VLIW (Very L
An example will be described in which the invention is applied to an information processing device (parallel operation processing device) of a parallel system (VLIW system) of the long instruction word type. In addition, in the VLIW type information processing device,
It is processed in units of a predetermined number of fixed length instructions. This set of a predetermined number of instructions is called a VLIW type instruction (or VLIW type instruction word).
【0013】まず、VLIW方式の情報処理装置では、
並列に処理すべき所定数の固定長命令(からなるVLI
W型命令)が主記憶あるいは命令キャッシュ等の記憶手
段からフェッチされる。ここで、上記の特定命令および
即値拡張命令を含むVLIW型命令がフェッチされたも
のとすると、即値拡張命令(のOPコード)に応じて同
命令の指定する即値の拡張部分が(第1の選択手段によ
って)選択されて連結手段に導かれる。この連結手段に
は、上記の即値拡張命令の直前または直後に配された特
定命令の持つ即値オペランドフィールドの内容も導かれ
る。これにより、即値拡張命令の指定する即値の拡張部
分と特定命令の持つ即値オペランドフィールドの内容と
が連結手段によって連結され、即値オペランドが拡張さ
れる。もし、即値拡張命令が存在しない場合には、即値
拡張部分に代えて、例えば値が全て0のデータが連結手
段に導かれ、即値オペランドフィールドの内容と連結さ
れる。First, in the VLIW type information processing apparatus,
A VLI consisting of a fixed number of fixed-length instructions (to be processed in parallel
W type instruction) is fetched from a storage unit such as a main memory or an instruction cache. Here, if it is assumed that a VLIW type instruction including the specific instruction and the immediate extension instruction is fetched, the immediate extension portion specified by the immediate extension instruction (the OP code of the immediate extension instruction is (first selection Selected by the means) and led to the connecting means. The contents of the immediate operand field of the specific instruction placed immediately before or after the immediate extension instruction are also led to this connecting means. As a result, the extension part of the immediate value designated by the immediate value extension instruction and the content of the immediate value operand field of the specific instruction are linked by the linking means, and the immediate value operand is extended. If there is no immediate value extension instruction, instead of the immediate value extension part, for example, data with all values of 0 is guided to the concatenation means and concatenated with the contents of the immediate value operand field.
【0014】連結手段によって連結されたデータ(即値
拡張命令が存在する場合には、拡張された即値オペラン
ド)は、特定命令の実行時には(第2の選択手段によっ
て選択されて)、記憶手段からフェッチされたVLIW
型命令内の上記の特定命令に対応する位置の演算器に供
給される。これにより、特定命令および、その直前また
は直後に配された即値拡張命令を含むVLIW型命令が
フェッチされた場合であれば、即値拡張命令の指定する
即値の拡張部分と特定命令の持つ即値オペランドフィー
ルドの内容とが連結されたオペランド、即ち拡張された
即値オペランドを用いた指定の演算が行われる。The data linked by the linking means (extended immediate value operand if an immediate value extension instruction exists) is fetched from the storage means when the specific instruction is executed (selected by the second selecting means). VLIW
It is supplied to the arithmetic unit at the position corresponding to the above specific instruction in the type instruction. As a result, when a VLIW type instruction including the specific instruction and the immediate extended instruction arranged immediately before or after the specific instruction is fetched, the immediate extended portion specified by the immediate extended instruction and the immediate operand field of the specific instruction are held. The specified operation is performed using the operand concatenated with the contents of, that is, the extended immediate operand.
【0015】[0015]
【実施例】図1はこの発明を適用するVLIW方式で且
つパイプライン制御方式の情報処理装置(並列演算処理
装置)の一実施例を示す要部のブロック構成図である。
なお本実施例におけるパイプラインは、フェッチ(命令
フェッチ)ステージF、デコード(命令デコード)ステ
ージD、実行ステージEおよびライトバック(結果の書
込み)ステージWの4段構成であるものとする。DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a block diagram of the essential part showing an embodiment of an information processing device (parallel arithmetic processing device) of the VLIW system and the pipeline control system to which the present invention is applied.
Note that the pipeline in this embodiment is assumed to have a four-stage configuration including a fetch (instruction fetch) stage F, a decode (instruction decode) stage D, an execution stage E, and a write back (write result) stage W.
【0016】図1において、1は各種プログラムおよび
データ等の格納領域を提供する主記憶、11は主記憶1
に格納されているVLIW型命令である。このVLIW
型命令11は、4つの32ビット命令I#1〜I#4か
らなる複合命令である。2は主記憶1に格納されている
命令群の一部のコピーが置かれる命令キャッシュであ
る。In FIG. 1, 1 is a main memory that provides a storage area for various programs and data, and 11 is a main memory 1.
Is a VLIW type instruction stored in. This VLIW
The type instruction 11 is a compound instruction composed of four 32-bit instructions I # 1 to I # 4. Reference numeral 2 is an instruction cache in which a copy of a part of the instruction group stored in the main memory 1 is placed.
【0017】3はフェッチステージFにおいて命令キャ
ッシュ2からフェッチされたVLIW型命令を保持する
ための128ビットの命令レジスタである。命令レジス
タ3は、VLIW型命令を構成する4命令が保持される
4つの命令フィールド41〜44を持つ。Reference numeral 3 is a 128-bit instruction register for holding the VLIW type instruction fetched from the instruction cache 2 in the fetch stage F. The instruction register 3 has four instruction fields 41 to 44 in which four instructions forming a VLIW type instruction are held.
【0018】図1では、即値加算を指定するOPコード
“add.i”を持つ即値加算命令が命令フィールド3
1に、即値オペランドの拡張を指定するOPコード“i
ext”を持つ即値拡張命令が命令フィールド32に、
(命令フィールド31と同様に)OPコード“add.
i”を持つ即値加算命令が命令フィールド33に、そし
て即値を用いない通常の減算(レジスタファイルのレジ
スタデータをオペランドとして用いる減算)を指定する
OPコード“sub”を持つ減算命令が命令フィールド
34に、それぞれ保持されている状態が示されている。In FIG. 1, an immediate value addition instruction having an OP code "add.i" designating immediate value addition is an instruction field 3
The OP code "i" that specifies the extension of the immediate operand is set to 1.
An immediate value extension instruction having "ext" is placed in the instruction field 32,
(Similar to instruction field 31) OP code "add.
The immediate addition instruction with i ”is in the instruction field 33, and the subtraction instruction with the OP code“ sub ”that specifies normal subtraction without using an immediate value (subtraction using register data of the register file as an operand) is in the instruction field 34. , The respective retained states are shown.
【0019】以上の3種の命令(即値加算命令、即値拡
張命令、減算命令)の要部のフォーマットを図2に示
す。図2から明らかなように、即値加算命令は、6ビッ
トの即値オペランドフィールドi6(ビット26〜3
1)を有し、即値拡張命令は、即値(6ビットの即値オ
ペランド)の拡張部分である26ビットの拡張即値オペ
ランドが設定される拡張即値オペランドフィールドi2
6(ビット6〜31)を有している。FIG. 2 shows the format of the essential parts of the above three types of instructions (immediate value addition instruction, immediate value extension instruction, subtraction instruction). As is clear from FIG. 2, the immediate addition instruction is executed in the 6-bit immediate operand field i6 (bits 26 to 3).
1), the immediate extended instruction has an extended immediate operand field i2 in which a 26-bit extended immediate operand, which is an extended portion of an immediate value (6-bit immediate operand), is set.
6 (bits 6 to 31).
【0020】また、各命令が有する命令語のOPコード
は、基本的にはビット0〜8の9ビット(上位の9ビッ
ト)で構成される。但し、即値拡張命令のOPコード
“iext”は、上記した26ビットの拡張即値オペラ
ンドフィールドi26(ビット6〜31)を確保するた
めに、実質的にビット0〜4の5ビットだけで即値拡張
命令であることが指定でき、ビット5〜9の4ビットの
内容に影響されないようになっている。The OP code of the instruction word of each instruction is basically composed of 9 bits of bits 0 to 8 (upper 9 bits). However, the OP code “iext” of the immediate value extension instruction is substantially only 5 bits of bits 0 to 4 in order to secure the above-mentioned 26-bit extended immediate value operand field i26 (bits 6 to 31). Can be specified, and the contents of the 4 bits of bits 5 to 9 are not affected.
【0021】なお本実施例では、VLIW型命令の4命
令の中に即値演算命令が存在し、且つその即値演算命令
がVLIW型命令のうちの1番目または3番目の命令と
なっている場合だけ、その即値演算命令の即値オペラン
ドの拡張が可能な構成となっている。また、この即値オ
ペランドの拡張を指定する即値拡張命令は、拡張の対象
とする即値オペランドを持つ命令(即値演算命令)の直
後、即ちVLIW型命令の4命令のうちの2番目または
4番目に置かれるようになっている。In this embodiment, only when there is an immediate operation instruction among the four VLIW instructions and the immediate operation instruction is the first or third instruction of the VLIW instructions. The immediate value operand of the immediate value operation instruction can be expanded. The immediate extension instruction that specifies the extension of the immediate operand is placed immediately after the instruction having the immediate operand to be extended (immediate operation instruction), that is, the second or fourth of the four VLIW instructions. It is designed so that it can be played.
【0022】再び図1を参照すると、41〜44は命令
レジスタ3の命令フィールド31〜34に対応して設け
られ、同フィールド31〜34に保持された命令のOP
コードをデコードして各種のデコード信号を出力するデ
コード回路(DEC)である。この4つのデコード回路
41〜44のうち、命令フィールド32,34に対応す
るデコード回路42,44は、デコード対象となるOP
コードが“iext”である場合に、論理“1”の特定
の信号(マスク信号と呼ぶ)M2,M4、および後述す
る演算器92,94に対して演算動作の無いこと、即ち
NOP(ノーオペレーション)を指示する信号(図示せ
ず)を出力するデコード機能を有する。なお、デコード
回路41,43がデコード回路42,44と同一デコー
ド機能を持つものであっても構わない。Referring again to FIG. 1, 41 to 44 are provided corresponding to the instruction fields 31 to 34 of the instruction register 3, and the OP of the instruction held in the fields 31 to 34 is OP.
A decoding circuit (DEC) that decodes a code and outputs various decode signals. Of the four decode circuits 41 to 44, the decode circuits 42 and 44 corresponding to the instruction fields 32 and 34 are OP to be decoded.
When the code is "iext", there is no operation operation for the specific signals (called mask signals) M2 and M4 of logic "1", and the operation units 92 and 94 described later, that is, NOP (no operation). ) Output signal (not shown). The decoding circuits 41 and 43 may have the same decoding function as the decoding circuits 42 and 44.
【0023】52,54は命令レジスタ3の命令フィー
ルド32,34の下位26ビット(ビット6〜31)の
出力を入力するための入力Aと、デコード回路42,4
4からのマスク信号M2,M4を入力するためのマスク
入力Mと、26ビット出力Yとを持つAND(アンド)
ゲートである。ANDゲート52,54は、マスク入力
Mが“1”のとき入力Aの26ビットをそのまま出力Y
に出力し、マスク入力Mが“0”のとき出力Yの26ビ
ットを全て“0”とする。Reference numerals 52 and 54 designate an input A for inputting the output of the lower 26 bits (bits 6 to 31) of the instruction fields 32 and 34 of the instruction register 3 and the decoding circuits 42 and 4.
AND having a mask input M for inputting mask signals M2 and M4 from 4 and a 26-bit output Y
It is a gate. The AND gates 52 and 54 output the 26 bits of the input A as they are when the mask input M is "1".
When the mask input M is "0", all 26 bits of the output Y are set to "0".
【0024】61はANDゲート52の出力Yの26ビ
ットを命令レジスタ3の命令フィールド31の下位6ビ
ット(ビット26〜31)の出力に連結し、32ビット
の即値データ71として伝達するための即値データ線、
62は26ビットの“0”データを命令レジスタ3の命
令フィールド32の下位6ビット(ビット26〜31)
の出力に連結し、32ビットの即値データ72として伝
達するための即値データ線である。63はANDゲート
54の出力Yの26ビットを命令レジスタ3の命令フィ
ールド33の下位6ビット(ビット26〜31)の出力
に連結し、32ビットの即値データ73として伝達する
ための即値データ線、64は26ビットの“0”データ
を命令レジスタ3の命令フィールド34の下位6ビット
(ビット26〜31)の出力に連結し、32ビットの即
値データ74として伝達するための即値データ線であ
る。Reference numeral 61 is an immediate value for connecting 26 bits of the output Y of the AND gate 52 to the output of the lower 6 bits (bits 26 to 31) of the instruction field 31 of the instruction register 3 and transmitting it as immediate data 71 of 32 bits. Data line,
Reference numeral 62 denotes 26-bit “0” data, and the lower 6 bits (bits 26 to 31) of the instruction field 32 of the instruction register 3
Is an immediate data line for connecting to the output of and transmitting as 32-bit immediate data 72. 63 is an immediate data line for connecting 26 bits of the output Y of the AND gate 54 to the output of the lower 6 bits (bits 26 to 31) of the instruction field 33 of the instruction register 3 and transmitting it as immediate data 73 of 32 bits, Reference numeral 64 is an immediate data line for connecting 26-bit "0" data to the output of the lower 6 bits (bits 26 to 31) of the instruction field 34 of the instruction register 3 and transmitting it as 32-bit immediate data 74.
【0025】81〜84は命令レジスタ3の命令フィー
ルド31〜34に対応して設けられ、図示せぬレジスタ
ファイルから取出された32ビットのオペランドデータ
を入力するための入力Rと、即値データ線61〜64上
の32ビット即値データ71〜74を入力するための入
力Iと、32ビット出力Yと、命令フィールド31〜3
4に保持されている命令が(即値オペランドを持つ)即
値演算命令であるか否かを示す(デコード回路41〜4
4からの特定デコード信号が導かれる)入力Sとを持つ
セレクタである。セレクタ81〜84は、入力Sの状態
に応じて出力Yを入力Iまたは入力Rに切替える。Reference numerals 81 to 84 are provided corresponding to the instruction fields 31 to 34 of the instruction register 3, and an input R for inputting 32-bit operand data fetched from a register file (not shown) and an immediate data line 61. Up to 64, input I for inputting 32-bit immediate data 71 to 74, 32-bit output Y, and instruction fields 31 to 31.
4 indicates whether the instruction held in 4 is an immediate operation instruction (having an immediate operand) (decoding circuits 41 to 4).
4 is a selector having an input S to which a specific decode signal from 4 is introduced). The selectors 81 to 84 switch the output Y to the input I or the input R according to the state of the input S.
【0026】91〜94は命令レジスタ3の命令フィー
ルド31〜34に対応して設けられ、同フィールド31
〜34の指定する演算をデコード回路41〜44のデコ
ード結果に従って実行する演算器である。演算器91〜
94にはセレクタ81〜84の出力Yの32ビットが供
給されるようになっている。Reference numerals 91 to 94 are provided corresponding to the instruction fields 31 to 34 of the instruction register 3, and the field 31 is provided.
Is a computing unit that executes the computations designated by 34 to 34 according to the decoding results of the decoding circuits 41 to 44. Computing unit 91-
32 bits of the output Y of the selectors 81 to 84 are supplied to 94.
【0027】次に、図1の構成の動作を説明する。ま
ず、主記憶1中の命令は、命令キャッシュ2を経由し
て、命令パイプラインのフェッチステージ(フェッチサ
イクル)Fで、命令レジスタ3に4命令の組ずつ(即ち
VLIW型命令を単位に)取込まれる。これにより、V
LIW型命令の1番目の命令は命令レジスタ3の命令フ
ィールド31に、2番目の命令は同じく命令フィールド
32に、3番目の命令は命令フィールド33に、そして
4番目の命令は命令フィールド34に、それぞれ保持さ
れる。Next, the operation of the configuration shown in FIG. 1 will be described. First, the instructions in the main memory 1 pass through the instruction cache 2 and are fetched into the instruction register 3 in groups of 4 instructions (that is, in units of VLIW type instructions) at the fetch stage (fetch cycle) F of the instruction pipeline. Get caught. This gives V
The first instruction of the LIW type instruction is the instruction field 31 of the instruction register 3, the second instruction is the same instruction field 32, the third instruction is the instruction field 33, and the fourth instruction is the instruction field 34. Retained respectively.
【0028】次のデコードステージ(デコードサイク
ル)Dでは、命令レジスタ3の命令フィールド31〜3
4に保持されている各命令のOPコードをデコードする
処理がデコード回路41〜44により行われる。このデ
コードステージDでは、即値データ線61〜64上32
ビットの即値データ71〜74が生成される。そして、
この即値データ71〜74またはレジスタファイルから
のデータが、命令フィールド31〜34の命令(をもと
にデコード回路41〜44から出力される特定デコード
信号)に応じてセレクタ81〜84により切替えられ、
次の実行ステージEのために演算器91〜94に渡され
る。In the next decode stage (decode cycle) D, the instruction fields 31 to 3 of the instruction register 3
The decoding circuits 41 to 44 perform a process of decoding the OP code of each instruction held in No. 4. In this decode stage D, the immediate data lines 61 to 64 are 32
Bit immediate data 71 to 74 are generated. And
The immediate data 71 to 74 or the data from the register file is switched by the selectors 81 to 84 in accordance with the instruction in the instruction fields 31 to 34 (a specific decode signal output from the decode circuits 41 to 44 based on the instruction fields 31 to 34).
It is passed to the arithmetic units 91 to 94 for the next execution stage E.
【0029】ここで、即値データ71〜74の生成の詳
細について説明する。まず、命令フィールド31〜34
のうちの命令フィールド32,34には、前記したよう
にOPコード“iext”を持つ即値拡張命令が保持さ
れる可能性がある。デコード回路42,44は、命令フ
ィールド32,34に保持されている命令のOPコード
が“iext”の場合(OPコードの上位の5ビットが
“iext”に固有の特定値の場合)、即ち命令フィー
ルド32,34に保持されている命令が即値拡張命令の
場合には、その命令中の拡張即値オペランドフィールド
i26の内容(ビット6〜31の26ビット)を有効と
するためのマスク信号M2,M4、および演算器92,
94に対してNOPを指示するための信号を出力する。Here, details of generation of the immediate data 71 to 74 will be described. First, the instruction fields 31 to 34
In the instruction fields 32 and 34, there is a possibility that the immediate value extension instruction having the OP code “iext” is held as described above. The decoding circuits 42 and 44 execute the instruction when the OP code of the instruction held in the instruction fields 32 and 34 is “iext” (when the upper 5 bits of the OP code is a specific value unique to “iext”), that is, the instruction. If the instruction held in the fields 32 and 34 is an immediate extended instruction, mask signals M2 and M4 for validating the contents (26 bits of bits 6 to 31) of the extended immediate operand field i26 in the instruction. , And the computing unit 92,
A signal for instructing NOP to 94 is output.
【0030】デコード回路42,44からのマスク信号
M2,M4はANDゲート52,54のマスク入力Mに
導かれる。ANDゲート52,54の入力Aには命令フ
ィールド32,34の下位の26ビット(ビット6〜3
1)が導かれる。The mask signals M2 and M4 from the decoding circuits 42 and 44 are led to the mask input M of the AND gates 52 and 54. The lower 26 bits of the instruction fields 32 and 34 (bits 6 to 3) are input to the inputs A of the AND gates 52 and 54.
1) is introduced.
【0031】ANDゲート52,54は、マスク入力M
が“1”の場合、即ち命令フィールド32,34に保持
されている命令が(OPコード“iext”を持つ)即
値拡張命令である場合には、入力Aの26ビット、即ち
命令フィールド32,34の下位の26ビット(ビット
6〜31)である拡張即値オペランドフィールドi26
の内容のそのまま出力Yに出力する。The AND gates 52 and 54 receive the mask input M.
Is "1", that is, when the instruction held in the instruction fields 32 and 34 is an immediate extended instruction (having the OP code "iext"), 26 bits of the input A, that is, the instruction fields 32 and 34 Extended immediate operand field i26 which is the lower 26 bits (bits 6 to 31) of
The contents of are output to the output Y as they are.
【0032】一方、マスク入力Mが“0”の場合、即ち
命令フィールド32,34に保持されている命令が即値
拡張命令でない場合には、ANDゲート52は、出力Y
の26ビットを入力Aの内容に無関係に全て“0”とす
る。On the other hand, when the mask input M is "0", that is, when the instruction held in the instruction fields 32 and 34 is not the immediate extension instruction, the AND gate 52 outputs the output Y.
26 bits are set to "0" regardless of the contents of the input A.
【0033】ANDゲート52,54の出力Yの26ビ
ットは、32ビット即値データ線61,63の上位側に
導かれる。この即値データ線61,63の残りの下位6
ビット側には命令フィールド32,34の直前に位置す
る命令フィールド31,33の下位の6ビット(ビット
26〜31)の内容が導かれ、同データ線61,63上
に、32ビットの即値データ71,73が生成される。The 26 bits of the output Y of the AND gates 52 and 54 are led to the upper side of the 32-bit immediate data lines 61 and 63. The remaining lower 6 of the immediate data lines 61 and 63
On the bit side, the contents of the lower 6 bits (bits 26 to 31) of the instruction fields 31 and 33 located immediately before the instruction fields 32 and 34 are introduced, and the 32-bit immediate data on the same data lines 61 and 63. 71 and 73 are generated.
【0034】この結果、もし命令フィールド32,34
に即値拡張命令が保持されているならば、即値データ線
61,63上に生成される即値データ71,73の上位
26ビットは即値拡張命令の拡張即値オペランドフィー
ルドi26の内容(ビット6〜31の26ビット)とな
る。また、即値データ71,73の残りの下位6ビット
は、命令フィールド32,34の直前の命令フィールド
31,33に保持されている命令(この場合、必ず即値
演算命令となる)の即値オペランドフィールドi6の内
容(ビット26〜31の6ビット)そのものとなる。As a result, if the instruction fields 32, 34
If the immediate value extension instruction is held in, the upper 26 bits of the immediate value data 71, 73 generated on the immediate value data lines 61, 63 are the contents of the extended immediate value operand field i26 of the immediate value extension instruction (bits 6 to 31). 26 bits). The remaining lower 6 bits of the immediate data 71, 73 are the immediate operand field i6 of the instruction (in this case, always an immediate operation instruction) held in the instruction fields 31, 33 immediately before the instruction fields 32, 34. (6 bits of bits 26 to 31) itself.
【0035】即ち、命令レジスタ3の命令フィールド3
1,33に即値演算命令が保持されている場合、同命令
の即値オペランド(即値オペランドフィールドi6の6
ビット)は、命令フィールド32,34に保持されてい
る命令が即値拡張命令であるならば、その即値拡張命令
の拡張即値オペランド(ビット6〜31の拡張即値オペ
ランドフィールドi26の26ビット)と連結され、6
ビットから32ビットに拡張される。That is, the instruction field 3 of the instruction register 3
If an immediate operation instruction is held in 1, 33, the immediate operand of the instruction (6 in the immediate operand field i6
Bit) is concatenated with the extended immediate operand of the immediate extended instruction (26 bits of the extended immediate operand field i26 of bits 6 to 31) if the instruction held in the instruction fields 32 and 34 is an immediate extended instruction. , 6
It is extended from 32 bits to 32 bits.
【0036】一方、命令フィールド32,34に保持さ
れている命令が即値拡張命令以外であるならば、即値デ
ータ線61,63上に生成される即値データ71,73
の上位26ビットは全て“0”となる。また、即値デー
タ71,73の残りの下位6ビットは、命令フィールド
31,33に保持されている命令のビット26〜31の
6ビットそのもの(即値演算命令であれば即値オペラン
ドフィールドi6の内容)となる。On the other hand, if the instructions held in the instruction fields 32 and 34 are other than the immediate extended instructions, the immediate data 71 and 73 generated on the immediate data lines 61 and 63 are generated.
The upper 26 bits of all are "0". The remaining lower 6 bits of the immediate data 71, 73 are the 6 bits of bits 26 to 31 of the instruction held in the instruction fields 31, 33 (the contents of the immediate operand field i6 in the case of an immediate operation instruction). Become.
【0037】したがって、命令フィールド31,33に
即値演算命令が保持され、命令フィールド32,34に
即値拡張命令以外の命令が保持されている場合には、即
値データ線61,63上の即値データ71,73は、命
令フィールド31,33の即値演算命令の即値オペラン
ドフィールドi6の6ビットを、そのまま符号なしデー
タとして32ビットに拡張(上位26ビットは全て
“0”)したものとなる。Therefore, when the instruction fields 31 and 33 hold the immediate operation instructions and the instruction fields 32 and 34 hold instructions other than the immediate extension instructions, the immediate data 71 on the immediate data lines 61 and 63 are stored. , 73 are 6 bits of the immediate operand field i6 of the immediate operation instruction of the instruction fields 31 and 33, which are expanded as they are to 32 bits as unsigned data (the upper 26 bits are all “0”).
【0038】さて図1の例では、命令レジスタ3の命令
フィールド31,32,33,34に、それぞれ即値オ
ペランドを持つ即値加算命令,拡張即値オペランドを持
つ即値拡張命令,即値オペランドを持つ即値加算命令,
即値オペランドを持たない通常の減算命令が保持されて
いる。この図1の状態におけるデコードステージDで
は、即値拡張命令に対応するデコード回路42からのマ
スク信号M2は“1”となり、減算命令に対応するデコ
ード回路44からのマスク信号M4は“0”となる。ま
た、デコード回路42から演算器92に対してNOPを
指示する信号が出力される。In the example of FIG. 1, in the instruction fields 31, 32, 33, and 34 of the instruction register 3, an immediate addition instruction having an immediate operand, an immediate extension instruction having an extended immediate operand, and an immediate addition instruction having an immediate operand are provided. ,
It holds a normal subtraction instruction that has no immediate operands. In the decode stage D in the state of FIG. 1, the mask signal M2 from the decode circuit 42 corresponding to the immediate extension instruction is "1", and the mask signal M4 from the decode circuit 44 corresponding to the subtraction instruction is "0". .. Further, the decoding circuit 42 outputs a signal instructing NOP to the arithmetic unit 92.
【0039】デコード回路42からのマスク信号M2が
“1”の場合、命令フィールド32の即値拡張命令の拡
張即値オペランドフィールドi26の26ビットが、A
NDゲート52によりそのまま即値データ線61の上位
側に出力される。即値データ線61の残りの下位6ビッ
ト側には、命令フィールド31の即値加算命令の即値オ
ペランドフィールドi6の6ビットが導かれる。これに
より、即値データ線61上には、命令フィールド31の
即値加算命令の6ビット即値オペランドを命令フィール
ド32の即値拡張命令の26ビット拡張即値オペランド
で拡張した32ビット即値データ71が生成される。以
上の即値加算命令の即値オペランドおよび即値拡張命令
の拡張即値オペランドと即値データ(71)との関係を
図3に示す。When the mask signal M2 from the decoding circuit 42 is "1", the 26 bits of the extended immediate operand field i26 of the immediate extended instruction of the instruction field 32 are A
It is directly output to the upper side of the immediate data line 61 by the ND gate 52. To the remaining lower 6 bits of the immediate data line 61, 6 bits of the immediate operand field i6 of the immediate addition instruction of the instruction field 31 are introduced. As a result, 32-bit immediate data 71 is generated on the immediate data line 61 by expanding the 6-bit immediate operand of the immediate addition instruction of the instruction field 31 with the 26-bit extended immediate operand of the immediate extended instruction of the instruction field 32. FIG. 3 shows the relationship between the immediate operand of the immediate addition instruction and the extended immediate operand of the immediate extension instruction and the immediate data (71).
【0040】即値データ線61上の即値データ71はセ
レクタ81の入力Iに導かれる。セレクタ81の入力S
には、命令フィールド31に保持されている命令が即値
演算命令(ここでは即値加算命令)であることを示すデ
コード回路41からの特定デコード信号が導かれる。こ
の場合セレクタ81は、出力Yを入力I側に切替える。
これにより、セレクタ81の入力Iに導かれている拡張
された即値データ71が、その出力Yから選択的に出力
されて演算器91に渡され、次の実行ステージEでの演
算(ここでは加算演算)に供される。The immediate data 71 on the immediate data line 61 is led to the input I of the selector 81. Input S of selector 81
A specific decode signal from the decode circuit 41 indicating that the instruction held in the instruction field 31 is an immediate value operation instruction (here, an immediate value addition instruction) is guided to. In this case, the selector 81 switches the output Y to the input I side.
As a result, the expanded immediate data 71 guided to the input I of the selector 81 is selectively output from the output Y and passed to the arithmetic unit 91, and the arithmetic operation (addition in this case) in the next execution stage E is performed. Calculation).
【0041】このように本実施例では、即値加算命令
(即値演算命令)と即値拡張命令を合わせ、あたかも3
2ビットの即値を持つ1つの命令であるかのようにし
て、指定の演算(加算演算)を拡張された即値を用いて
行うことができる。As described above, in the present embodiment, the immediate value addition instruction (immediate value operation instruction) and the immediate value extension instruction are combined, and it is as if
The specified operation (addition operation) can be performed using the expanded immediate value as if it were one instruction having a 2-bit immediate value.
【0042】さて、デコード回路44からのマスク信号
M4が“0”の場合、ANDゲート54の出力Yの26
ビットは全て“0”にされる。この26ビットの“0”
データは即値データ線63の上位側に導かれる。即値デ
ータ線63の残りの下位6ビット側には、命令フィール
ド33の即値加算命令の即値オペランドフィールドi6
の6ビットが導かれる。これにより、即値データ線63
上には、命令フィールド33の即値加算命令の6ビット
即値オペランドを単に符号なし6ビットデータとして形
式上32ビットに拡張(上位26ビットは全て“0”)
された即値データ73が生成される。When the mask signal M4 from the decoding circuit 44 is "0", the output Y of the AND gate 54 is 26.
All bits are set to "0". This 26-bit "0"
The data is guided to the upper side of the immediate data line 63. In the remaining lower 6 bits of the immediate data line 63, the immediate operand field i6 of the immediate addition instruction of the instruction field 33
6 bits are derived. As a result, the immediate data line 63
Above, the 6-bit immediate operand of the immediate addition instruction in the instruction field 33 is simply expanded to 32 bits as unsigned 6-bit data (upper 26 bits are all "0").
Generated immediate data 73 is generated.
【0043】即値データ線63上の即値データ73はセ
レクタ83の入力Iに導かれる。セレクタ83の入力S
には、命令フィールド33に保持されている命令が即値
演算命令(ここでは即値加算命令)であることを示すデ
コード回路43からの特定デコード信号が導かれる。こ
の場合、セレクタ83の入力Iに導かれている拡張され
ていない即値データ73が、その出力Yから選択的に出
力されて演算器93に渡され、次の実行ステージEでの
演算(ここでは加算演算)に供される。The immediate data 73 on the immediate data line 63 is led to the input I of the selector 83. Input S of selector 83
A specific decode signal from the decode circuit 43 indicating that the instruction held in the instruction field 33 is an immediate value operation instruction (here, an immediate value addition instruction) is introduced to the. In this case, the unexpanded immediate data 73 led to the input I of the selector 83 is selectively output from the output Y and passed to the arithmetic unit 93, and the arithmetic operation at the next execution stage E (here, It is used for addition operation).
【0044】次に、命令レジスタ3の命令フィールド3
2に対応する演算器92では、命令フィールド32に保
持されている即値拡張命令に応じてデコード回路42か
ら出力されるNOPを指示する信号により、演算は行わ
れない。この場合、即値データ線62上の即値データ7
2は捨てられる。Next, the instruction field 3 of the instruction register 3
In the arithmetic unit 92 corresponding to 2, the operation is not performed by the signal instructing the NOP output from the decoding circuit 42 in response to the immediate extension instruction held in the instruction field 32. In this case, the immediate data 7 on the immediate data line 62
2 is discarded.
【0045】次に、命令レジスタ3の命令フィールド3
4に対応するセレクタ84では、命令フィールド34に
保持された通常の減算命令の(レジスタ指定フィールド
の)指定するレジスタファイルのデータが、その入力R
に導かれる。セレクタ84の入力Sには、命令フィール
ド34に保持されている命令が即値演算命令でないこと
を示すデコード回路44からの特定デコード信号が導か
れる。この場合セレクタ84は、出力Yを入力R側に切
替える。これにより、セレクタ84の入力Rに導かれて
いるレジスタファイルのデータが、その出力Yから選択
的に出力されて演算器94に渡され、次の実行ステージ
Eでの演算(ここでは減算演算)に供される。この場
合、即値データ線64上の即値データ74は捨てられ
る。Next, the instruction field 3 of the instruction register 3
In the selector 84 corresponding to 4, the data of the register file designated by the normal subtraction instruction (in the register designation field) held in the instruction field 34 is input R
Be led to. A specific decode signal from the decode circuit 44 indicating that the instruction held in the instruction field 34 is not an immediate operation instruction is introduced to the input S of the selector 84. In this case, the selector 84 switches the output Y to the input R side. As a result, the data of the register file guided to the input R of the selector 84 is selectively output from the output Y and passed to the arithmetic unit 94, and the arithmetic operation at the next execution stage E (subtraction arithmetic here) is performed. Be offered to. In this case, the immediate data 74 on the immediate data line 64 is discarded.
【0046】本実施例によれば、即値演算命令の演算
(機能)種類が例えば6種であるものとすると、増加す
る命令種類は、即値演算命令の持つ6ビット即値オペラ
ンドを32ビットに拡張することを指定する即値拡張命
令の1種だけである。これに対し、各機能毎に即値オペ
ランドのサイズに対応する命令をそれぞれ用意する従来
方式では、増加する命令種類は、即値演算の演算(機
能)種類分、即ち6であり。本方式より5種類も多くの
命令を必要とする。According to this embodiment, assuming that there are six kinds of operations (functions) of immediate value operation instructions, the number of kinds of instructions to be increased increases the 6-bit immediate value operand of the immediate value operation instruction to 32 bits. There is only one type of immediate extension instruction that specifies that. On the other hand, in the conventional method in which the instruction corresponding to the size of the immediate operand is prepared for each function, the number of types of instructions to be increased is 6 for the type of operation (function) of the immediate value operation, that is, 6. Five types of instructions are required more than this method.
【0047】なお、前記実施例では、即値拡張命令によ
る拡張対象となる(即値を持つ)命令が即値加算命令で
ある場合について説明したが、この対象命令は、即値減
算命令、即値乗算命令など、他の即値演算命令であって
もよく、即値演算の機能を問わない。In the above embodiment, the case where the instruction to be expanded (having an immediate value) by the immediate value expansion instruction is the immediate value addition instruction is explained. However, the target instruction is an immediate value subtraction instruction, an immediate value multiplication instruction, or the like. Other immediate value calculation instructions may be used, and the function of immediate value calculation does not matter.
【0048】また、前記実施例では、即値拡張命令によ
る拡張対象命令が即値拡張命令の直前に配される場合に
ついて説明したが、これに限るものではない。例えば図
4に示すように直後に配される場合でも適用可能であ
る。この場合、即値拡張命令が存在することが許される
VLIW型命令中の位置に対応して、デコード回路4
2,44に相当するデコード回路、ANDゲート52,
54に相当するANDゲート(即値拡張命令の拡張即値
オペランドフィールドi26の内容および全て“0”の
26ビットデータのいずれか一方を選択するセレクタで
もよい)を設けると共に、その直前の命令位置に対応し
て即値データ線61,63に相当する即値データ線を設
ける必要があることは勿論である。In the above embodiment, the case where the extension target instruction by the immediate extension instruction is arranged immediately before the immediate extension instruction has been described, but the present invention is not limited to this. For example, as shown in FIG. 4, it is applicable even when it is arranged immediately after. In this case, the decoding circuit 4 corresponds to the position in the VLIW type instruction in which the immediate value extension instruction is allowed to exist.
Decode circuits corresponding to 2, 44, AND gate 52,
An AND gate corresponding to 54 (a selector for selecting either the contents of the extended immediate operand field i26 of the immediate extended instruction or 26-bit data of all "0") may be provided and the instruction position immediately before that may be provided. Of course, it is necessary to provide immediate data lines corresponding to the immediate data lines 61 and 63.
【0049】また、前記実施例では、本発明をVLIW
方式の情報処理装置に適用した場合について説明した
が、命令実行を1命令ずつ行う情報処理装置、特にRI
SC型アーキテクチャを採る情報処理装置等にも適用可
能である。この場合の、拡張対象命令(例えば即値加算
命令)および即値拡張命令の並びと、即値データ(拡張
された即値)の生成とについて、図5(a),(b)を
参照して簡単に説明する。なお、図5(a)は命令の配
列が即値加算命令、即値拡張命令の順の場合、図5
(b)は命令の配列が即値拡張命令、即値加算命令の順
の場合である。Further, in the above-mentioned embodiment, the present invention is applied to VLIW.
The case where the present invention is applied to the information processing apparatus of the method has been described. However, an information processing apparatus that executes instructions one by one, particularly RI
It is also applicable to an information processing device adopting the SC type architecture. In this case, the arrangement of the extension target instruction (for example, immediate value addition instruction) and the immediate value extension instruction, and the generation of the immediate data (extended immediate value) will be briefly described with reference to FIGS. To do. It should be noted that FIG. 5A shows that when the instruction array is in the order of immediate value addition instruction and immediate value extension instruction, FIG.
(B) is a case where the instruction array is in the order of immediate expansion instruction and immediate addition instruction.
【0050】まず、図5(a)の場合、即値加算命令を
デコードすると同時に、次の即値拡張命令をフェッチす
る。この即値拡張命令をフェッチした直後に、この命令
が直前の命令(即値加算命令)の即値オペランド(i
6)を拡張するための命令であることを認識し、直前の
命令(即値加算命令)の実行ステージを遅らせて、その
間に即値オペランドを拡張したものに置換えるか、次の
パイプラインサイクルまでに即値オペランドを拡張した
ものに置換えて、そのままパイプラインを進め、拡張し
た即値オペランド(即値データ)を用いて演算を実行す
る。First, in the case of FIG. 5A, the immediate value addition instruction is decoded, and at the same time, the next immediate value extension instruction is fetched. Immediately after fetching this immediate expansion instruction, this instruction immediately executes the immediate operand (i
Recognize that it is an instruction for extending 6), delay the execution stage of the immediately preceding instruction (immediate value addition instruction), and replace the immediate value operand with the extended one in the meantime, or until the next pipeline cycle. The immediate operand is replaced with the expanded immediate operand, the pipeline is advanced as it is, and the operation is executed using the expanded immediate operand (immediate data).
【0051】次に、図5(b)の場合、即値拡張命令を
デコードして次の命令(即値加算命令)の即値オペラン
ドを拡張することを認識し、次の命令(即値加算命令)
の実行までにその命令(即値加算命令)の即値オペラン
ドを拡張した即値オペランド(即値データ)に置換えて
おく。この図5(b)の方式では、図5(a)の方式に
比べ、拡張の認識から拡張した即値への置換えまでに、
2パイプラインサイクルの余裕が確保できる。Next, in the case of FIG. 5B, it is recognized that the immediate value extension instruction is decoded and the immediate value operand of the next instruction (immediate value addition instruction) is extended, and the next instruction (immediate value addition instruction) is executed.
Before execution of, the immediate operand of the instruction (immediate addition instruction) is replaced with the expanded immediate operand (immediate data). In the method of FIG. 5B, compared with the method of FIG. 5A, from the recognition of the expansion to the replacement with the expanded immediate value,
A margin of 2 pipeline cycles can be secured.
【0052】また、前記実施例では、即値拡張命令中に
設定される拡張即値オペランドのサイズが26ビットに
限られている場合について説明したが、これに限るもの
ではく、予め定められた複数サイズの1つが設定される
ものであってもよい。但し、即値拡張命令を、拡張即値
オペランドのサイズに対応させて複数種類用意する必要
がある。また、即値演算命令の即値オペランドと即値拡
張命令の拡張即値オペランドとを連結するための連結手
段(即値データ線)を拡張即値オペランドのサイズの種
類分設け、即値拡張命令に応じていずれか1つを選択す
る構成とする必要がある。In the above embodiment, the case where the size of the extended immediate operand set in the immediate extended instruction is limited to 26 bits has been described. However, the size is not limited to this, and a plurality of predetermined sizes are used. One of them may be set. However, it is necessary to prepare a plurality of types of immediate immediate extension instructions corresponding to the sizes of extended immediate operands. Further, connection means (immediate data line) for connecting the immediate operand of the immediate operation instruction and the extended immediate operand of the immediate extension instruction is provided for each type of the size of the extended immediate operand, and one of them is provided depending on the immediate extension instruction. Must be selected.
【0053】この方式では、例えば即値演算命令の演算
(機能)種類が6、即値オペランドのサイズが拡張なし
即値オペランドと2種の拡張即値オペランドとの3種類
であるものとすると、増加する命令種類は、拡張即値オ
ペランドサイズの種類数である2(即値拡張命令2種類
分)だけである。これに対し、各機能毎に即値オペラン
ドのサイズに対応する命令をそれぞれ用意する従来方式
では、増加する命令種類は、演算(機能)種類×拡張即
値オペランドサイズの種類数=6×2=12であり、本
方式より10種類も多くの命令を必要とする。この命令
種類の差は、拡張即値オペランドサイズの種類数が多く
なるほど大きくなる。In this method, assuming that the operation (function) type of the immediate operation instruction is 6, and the size of the immediate operand is three types, that is, an immediate operand without extension and two extended immediate operands, the instruction types that increase Is 2 which is the number of types of extended immediate operand size (for two types of immediate extended instructions). On the other hand, in the conventional method in which an instruction corresponding to the size of an immediate operand is prepared for each function, the number of types of instructions to be increased is: operation (function) type x number of types of extended immediate operand size = 6 x 2 = 12 Yes, 10 more instructions are required than this method. This difference in instruction type increases as the number of types of extended immediate operand sizes increases.
【0054】[0054]
【発明の効果】以上詳述したようにこの発明によれば、
即値オペランドのフィールドを持つ特定命令(即値演算
命令)の即値の拡張部分を指定する即値拡張命令を設け
て、上記特定命令の直前または直後に配し、この特定命
令を実行する際には、まず同命令の即値オペランドフィ
ールドの内容に、同命令の直前または直後に配された即
値拡張命令の指定する即値の拡張部分を連結して拡張さ
れた即値オペランドを生成し、この拡張された即値オペ
ランドを用いて特定命令を実行する構成としたので、次
のような効果を得ることができる。As described in detail above, according to the present invention,
An immediate value extension instruction that specifies an immediate value extension part of a specific instruction (immediate value operation instruction) having an immediate operand field is provided and placed immediately before or after the specific instruction. When executing this specific instruction, first The extended immediate operand specified by the immediate extended instruction placed immediately before or after the immediate operand of the instruction is concatenated with the contents of the immediate operand field to generate an extended immediate operand. Since the specific instruction is executed by using the configuration, the following effects can be obtained.
【0055】(1)即値を持つ命令(即値演算命令)の
種類に無関係に、同一種類の即値拡張命令による即値拡
張が行えるため、命令レパートリ(OPコードの種類)
の増加を最小限に抑えることができる。このため、OP
コードフィールドのサイズが大きくなる虞がなく、オペ
ランド指定フィールドのサイズが圧迫されることもな
い。(1) Regardless of the type of instruction having an immediate value (immediate value operation instruction), immediate value extension can be performed by an immediate value extension instruction of the same type, so an instruction repertoire (type of OP code)
Can be minimized. Therefore, OP
The size of the code field does not increase, and the size of the operand designating field is not restricted.
【0056】(2)並列処理方式の情報処理装置に適用
した場合に、即値演算命令と同命令(の即値オペラン
ド)を拡張対象とする即値拡張命令を合わせ、あたかも
拡張された即値オペランドを持つ1つの命令であるかの
ように扱えるため、命令のフェッチサイクル数を全く増
やすことなく、命令語内に確保可能な即値オペランドフ
ィールドのサイズを越えるサイズの即値オペランドが指
定できる。(2) When applied to an information processing apparatus of a parallel processing system, an immediate operation instruction and an immediate extension instruction for expanding the immediate instruction (immediate operand of the same instruction) are combined, and it is as if having an extended immediate operand. Since it can be treated as if it were one instruction, an immediate operand having a size exceeding the size of the immediate operand field that can be secured in the instruction word can be specified without increasing the number of instruction fetch cycles.
【0057】(3)通常の即値演算命令の直前または直
後に即値拡張命令を配するだけで、拡張された即値オペ
ランドを指定でき、しかも即値拡張命令単独では同命令
自身が持つ即値オペランドを指定できるため、命令レパ
ートリの著しい増加を招く従来方式に比べ、命令体系の
シンプル化、したがってハードウェア構成のシンプル化
が図れる。(3) An immediate immediate extended instruction can be specified just before or after an ordinary immediate arithmetic operation instruction, and an extended immediate operand can be specified, and an immediate immediate operand alone can specify an immediate operand of the instruction itself. Therefore, the instruction system, and hence the hardware configuration, can be simplified as compared with the conventional method in which the instruction repertoire significantly increases.
【図1】この発明を適用するVLIW方式で且つパイプ
ライン制御方式の情報処理装置(並列演算処理装置)の
一実施例を示す要部のブロック構成図。FIG. 1 is a block configuration diagram of a main part showing an embodiment of an information processing device (parallel arithmetic processing device) of a VLIW system and a pipeline control system to which the present invention is applied.
【図2】同実施例で用いられる即値加算命令、即値拡張
命令および減算命令の要部のフォーマットを示す図。FIG. 2 is a diagram showing a format of essential parts of an immediate value addition instruction, an immediate value extension instruction, and a subtraction instruction used in the embodiment.
【図3】同実施例における即値加算命令の即値オペラン
ドおよび同命令の直後に配されている即値拡張命令の拡
張即値オペランドと即値データとの関係を示す図。FIG. 3 is a diagram showing a relationship between an immediate operand of an immediate addition instruction and an extended immediate operand of an immediate extended instruction arranged immediately after the instruction in the embodiment, and immediate data.
【図4】即値加算命令および即値拡張命令の位置が図3
の例と逆の場合における、即値加算命令の即値オペラン
ドおよび即値拡張命令の拡張即値オペランドと即値デー
タとの関係を示す図。FIG. 4 shows the positions of immediate value addition instructions and immediate value extension instructions.
7 is a diagram showing the relationship between the immediate operand of the immediate addition instruction and the extended immediate operand of the immediate extended instruction, and the immediate data in the case opposite to the example of FIG.
【図5】RISC型アーキテクチャを採る情報処理装置
における、即値加算命令の即値オペランドおよび即値拡
張命令の拡張即値オペランドと即値データとの関係を示
す図。FIG. 5 is a diagram showing a relationship between an immediate value operand of an immediate addition instruction and an extended immediate operand of an immediate extension instruction and immediate data in an information processing apparatus adopting a RISC type architecture.
1…主記憶、2…命令キャッシュ、3…命令レジスタ、
31〜34…命令フィールド、41〜44…デコード回
路、52,54…ANDゲート(第1の選択手段)、6
1〜64…即値データ線(連結手段)、71〜74…即
値データ、81〜84…セレクタ(第2の選択手段)、
91〜94…演算器。1 ... main memory, 2 ... instruction cache, 3 ... instruction register,
31-34 ... Instruction field, 41-44 ... Decode circuit, 52, 54 ... AND gate (first selecting means), 6
1-64 ... Immediate data line (connecting means), 71-74 ... Immediate data, 81-84 ... Selector (second selecting means),
91-94 ... Operation unit.
【手続補正書】[Procedure amendment]
【提出日】平成4年1月24日[Submission date] January 24, 1992
【手続補正1】[Procedure Amendment 1]
【補正対象書類名】図面[Document name to be corrected] Drawing
【補正対象項目名】図1[Name of item to be corrected] Figure 1
【補正方法】変更[Correction method] Change
【補正内容】[Correction content]
【図1】 [Figure 1]
Claims (2)
命令の即値の拡張部分を指定する即値拡張命令が前記特
定命令の直前または直後に配された記憶手段と、 前記特定命令を実行する前に、同命令の前記即値オペラ
ンドフィールドの内容を、同命令の直前または直後に配
された前記即値拡張命令の指定する即値の拡張部分と連
結するための連結手段とを具備し、 前記連結手段によって連結された即値オペランドを用い
て前記特定命令を実行するようにしたことを特徴とする
即値オペランド拡張方式。1. An immediate value extension instruction for designating an immediate extension part of a specific instruction having an immediate operand field is arranged immediately before or after the specific instruction, and a storage means before executing the specific instruction. A linking unit for linking the contents of the immediate operand field of the instruction with an extended portion of the immediate value designated by the immediate extended instruction placed immediately before or after the same instruction, and connected by the linking unit. An immediate operand extension method characterized in that the specific instruction is executed using an immediate operand.
めに同数の演算器を有する並列処理方式の情報処理装置
において、 即値オペランドのフィールドを持つ特定命令の即値の拡
張部分を指定する即値拡張命令が前記特定命令と対をな
して配された記憶手段と、 この記憶手段から前記特定命令および即値拡張命令の対
を含む複数の命令が並列に処理すべき命令としてフェッ
チされた場合に、前記即値拡張命令の指定する即値の拡
張部分を選択する第1の選択手段と、 この第1の選択手段の出力を、前記即値拡張命令と対を
なす前記特定命令の持つ即値オペランドフィールドの内
容と連結するための連結手段と、 前記特定命令の実行時に、前記連結手段によって連結さ
れた即値オペランドを選択して同命令の指定する演算を
実行する前記演算器に出力する第2の選択手段とを具備
し、 前記連結手段によって連結された即値オペランドを用い
て前記特定命令を実行するようにしたことを特徴とする
即値オペランド拡張方式。2. In an information processing apparatus of a parallel processing system having the same number of arithmetic units for processing a plurality of fixed-length instructions in parallel, an immediate value designating an immediate portion of a specific instruction having an immediate operand field. When an extended instruction is arranged in pairs with the specific instruction, and a plurality of instructions including a pair of the specific instruction and the immediate extended instruction are fetched from the storage means as instructions to be processed in parallel, A first selecting means for selecting an immediate portion to be specified by the immediate extending instruction; and an output of the first selecting means as contents of an immediate operand field of the specific instruction paired with the immediate extending instruction. Concatenation means for concatenation, and the operation for executing the operation designated by the instruction by selecting the immediate operands concatenated by the concatenation means when the specific instruction is executed Second; and a selection means, the immediate operand extension method being characterized in that so as to execute the specific instruction using an immediate operand which is connected by said connecting means for outputting the.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3312133A JP3004108B2 (en) | 1991-11-27 | 1991-11-27 | Information processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3312133A JP3004108B2 (en) | 1991-11-27 | 1991-11-27 | Information processing device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH05150979A true JPH05150979A (en) | 1993-06-18 |
| JP3004108B2 JP3004108B2 (en) | 2000-01-31 |
Family
ID=18025653
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3312133A Expired - Fee Related JP3004108B2 (en) | 1991-11-27 | 1991-11-27 | Information processing device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3004108B2 (en) |
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6189086B1 (en) | 1996-08-07 | 2001-02-13 | Ricoh Company Ltd. | Data processing apparatus |
| JP2003508863A (en) * | 1999-09-07 | 2003-03-04 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Variable instruction length processing |
| KR100496946B1 (en) * | 1997-08-29 | 2005-09-09 | 마츠시타 덴끼 산교 가부시키가이샤 | Program conversion apparatus for constant reconstructing vliw processor |
| WO2007145319A1 (en) | 2006-06-15 | 2007-12-21 | Nec Corporation | Processor and command control method |
| JP2009059354A (en) * | 2007-08-15 | 2009-03-19 | Nvidia Corp | How to procure immediate values from very long command words |
| US8314803B2 (en) | 2007-08-15 | 2012-11-20 | Nvidia Corporation | Buffering deserialized pixel data in a graphics processor unit pipeline |
| US8521800B1 (en) | 2007-08-15 | 2013-08-27 | Nvidia Corporation | Interconnected arithmetic logic units |
| US8599208B2 (en) | 2007-08-15 | 2013-12-03 | Nvidia Corporation | Shared readable and writeable global values in a graphics processor unit pipeline |
| US8736624B1 (en) | 2007-08-15 | 2014-05-27 | Nvidia Corporation | Conditional execution flag in graphics applications |
| US9317251B2 (en) | 2012-12-31 | 2016-04-19 | Nvidia Corporation | Efficient correction of normalizer shift amount errors in fused multiply add operations |
| US9824009B2 (en) | 2012-12-21 | 2017-11-21 | Nvidia Corporation | Information coherency maintenance systems and methods |
| US10102142B2 (en) | 2012-12-26 | 2018-10-16 | Nvidia Corporation | Virtual address based memory reordering |
-
1991
- 1991-11-27 JP JP3312133A patent/JP3004108B2/en not_active Expired - Fee Related
Cited By (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6189086B1 (en) | 1996-08-07 | 2001-02-13 | Ricoh Company Ltd. | Data processing apparatus |
| KR100496946B1 (en) * | 1997-08-29 | 2005-09-09 | 마츠시타 덴끼 산교 가부시키가이샤 | Program conversion apparatus for constant reconstructing vliw processor |
| JP2003508863A (en) * | 1999-09-07 | 2003-03-04 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Variable instruction length processing |
| US8131978B2 (en) | 2006-06-15 | 2012-03-06 | Nec Corporation | Restoring plural instructions for same cycle execution from partial instructions and combined supplementing portions generated for compact storage |
| WO2007145319A1 (en) | 2006-06-15 | 2007-12-21 | Nec Corporation | Processor and command control method |
| US8314803B2 (en) | 2007-08-15 | 2012-11-20 | Nvidia Corporation | Buffering deserialized pixel data in a graphics processor unit pipeline |
| JP2009059354A (en) * | 2007-08-15 | 2009-03-19 | Nvidia Corp | How to procure immediate values from very long command words |
| US8521800B1 (en) | 2007-08-15 | 2013-08-27 | Nvidia Corporation | Interconnected arithmetic logic units |
| US8599208B2 (en) | 2007-08-15 | 2013-12-03 | Nvidia Corporation | Shared readable and writeable global values in a graphics processor unit pipeline |
| US8736624B1 (en) | 2007-08-15 | 2014-05-27 | Nvidia Corporation | Conditional execution flag in graphics applications |
| US8775777B2 (en) | 2007-08-15 | 2014-07-08 | Nvidia Corporation | Techniques for sourcing immediate values from a VLIW |
| US9448766B2 (en) | 2007-08-15 | 2016-09-20 | Nvidia Corporation | Interconnected arithmetic logic units |
| US9824009B2 (en) | 2012-12-21 | 2017-11-21 | Nvidia Corporation | Information coherency maintenance systems and methods |
| US10102142B2 (en) | 2012-12-26 | 2018-10-16 | Nvidia Corporation | Virtual address based memory reordering |
| US9317251B2 (en) | 2012-12-31 | 2016-04-19 | Nvidia Corporation | Efficient correction of normalizer shift amount errors in fused multiply add operations |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3004108B2 (en) | 2000-01-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6889318B1 (en) | Instruction fusion for digital signal processor | |
| US5922066A (en) | Multifunction data aligner in wide data width processor | |
| US5996057A (en) | Data processing system and method of permutation with replication within a vector register file | |
| US6334176B1 (en) | Method and apparatus for generating an alignment control vector | |
| EP2569694B1 (en) | Conditional compare instruction | |
| EP0378830B1 (en) | Method and apparatus for handling multiple condition codes as for a parallel pipeline computer | |
| EP0426393B1 (en) | Instructing method and execution system | |
| JP2002333978A (en) | Vliw type processor | |
| JP2000227858A (en) | Processor and instruction processing method thereof | |
| US9965275B2 (en) | Element size increasing instruction | |
| EP1204918B1 (en) | Conditional instruction execution in a computer | |
| JPH03218523A (en) | Data processor | |
| US12271737B2 (en) | Pair merge execution units for microinstructions | |
| JP2013242892A (en) | Method and system to combine corresponding half word units from multiple register units within microprocessor | |
| JP2620511B2 (en) | Data processor | |
| JPH05150979A (en) | Immediate operand extension method | |
| US7822955B2 (en) | Data processing apparatus and method for utilizing endianess independent data values | |
| US5274777A (en) | Digital data processor executing a conditional instruction within a single machine cycle | |
| JP3578883B2 (en) | Data processing device | |
| US20030037085A1 (en) | Field processing unit | |
| JPH0673105B2 (en) | Instruction pipeline type microprocessor | |
| US7047396B1 (en) | Fixed length memory to memory arithmetic and architecture for a communications embedded processor system | |
| JP2538053B2 (en) | Control device | |
| JPH05274143A (en) | Composite condition processing system | |
| JP2000231488A (en) | Processor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |