JP3004108B2 - Information processing device - Google Patents
Information processing deviceInfo
- Publication number
- JP3004108B2 JP3004108B2 JP3312133A JP31213391A JP3004108B2 JP 3004108 B2 JP3004108 B2 JP 3004108B2 JP 3312133 A JP3312133 A JP 3312133A JP 31213391 A JP31213391 A JP 31213391A JP 3004108 B2 JP3004108 B2 JP 3004108B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- immediate
- operand
- field
- extension
- 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
Links
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
【0001】[0001]
【産業上の利用分野】この発明は、即値オペランドを持
つ特定命令を扱う情報処理装置に係り、特に即値オペラ
ンドを拡張するための即値オペランド拡張方式に関す
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus which handles 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 (functions such as an addition operation and a subtraction operation using the immediate operand) is required. For example, a method of preparing instructions corresponding to the size of the immediate operand was applied.
【0004】また、即値オペランドを修飾する命令を用
意し、特定の命令語内の即値オペランドを、同命令で指
定されたよりサイズの大きい即値オペランドで置換える
方式もあった。There has also been a system in which an instruction for modifying an immediate operand is prepared, and an immediate operand in a specific instruction word is replaced with a larger immediate operand specified by the instruction.
【0005】その他、即値オペランドを上位と下位に分
割し、それぞれに専用のロード命令を用意し、サイズの
大きい即値についてはレジスタを経由して使用する方式
もあった。[0005] In addition, there has been a method in which an immediate operand is divided into an upper order and a lower order, a dedicated load instruction is prepared for each, and an immediate having a large size is used via a register.
【0006】[0006]
【発明が解決しようとする課題】しかし、命令語内に確
保可能な即値オペランドフィールドのサイズを越えるサ
イズの即値オペランドを指定するのに、各機能毎に即値
オペランドのサイズに対応する命令をそれぞれ用意する
方式では、命令数が増え、命令体系が複雑になるという
問題があった。また、この方式では、命令語内のOPコ
ードフィールドのサイズが大きくなるため、オペランド
指定フィールドのサイズが圧迫されるという問題もあっ
た。However, 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, an instruction corresponding to the size of the immediate operand is prepared for each function. In such a method, there is a problem that the number of instructions increases and the instruction system becomes complicated. Further, in this method, since the size of the OP code field in the instruction word becomes large, there is also a problem that the size of the operand designation field is compressed.
【0007】また、命令語内に指定された即値オペラン
ドを単に専用の命令で指定する即値オペランドに置換え
る方式では、命令語サイズ以上のサイズの即値オペラン
ドを指定できないという問題があった。[0007] Further, in the method in which an immediate operand specified in an instruction word is simply replaced with an immediate operand specified by a dedicated instruction, there is a problem that an immediate operand having a size larger than the instruction word size cannot be specified.
【0008】さらに、即値オペランドを分割し、レジス
タを経由して使用する方式では、即値オペランドを使用
するために1フェッチサイクル以上のオーバヘッドを伴
うという問題があった。また、この方式では、パイプラ
イン制御方式の情報処理装置におけるレジスタ・ハザー
ドによる性能低下が起こり得るという問題もあった。Further, in the method in which the immediate operand is divided and used via the register, there is a problem that the use of the immediate operand involves an overhead of one fetch cycle or more. Further, in this method, there is a problem that performance degradation due to a register hazard may occur in an information processing device of a pipeline control method.
【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.
It is an object of the present invention to provide an information processing apparatus capable of specifying a smaller instruction repertoire (type of OP code) without deteriorating performance.
【0010】この発明の他の目的は、並列処理方式の情
報処理装置においては、命令語内に確保可能な即値オペ
ランドフィールドのサイズを越えるサイズの即値オペラ
ンドが、命令のフェッチサイクル数を全く増加させるこ
となく指定できるようにすることにある。Another object of the present invention is to provide a parallel processing type information processing apparatus in which 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 at all. It is to be able to specify without having to.
【0011】[0011]
【課題を解決するための手段】この発明は、即値オペラ
ンドのフィールドを持つ特定命令の即値の拡張部分を指
定する即値拡張命令が上記特定命令の直前または直後に
配された記憶手段と、上記特定命令を実行する前に、同
命令の前記即値オペランドフィールドの内容を、同命令
の直前または直後に配された前記即値拡張命令の指定す
る即値の拡張部分と連結するための連結手段とを設け、
上記連結手段によって連結された即値オペランドを用い
て特定命令を実行するようにしたことを特徴とするもの
である。According to the present invention, there is provided a storage means in which an immediate extension instruction for specifying an immediate extension part of a specific instruction having a field of an immediate operand is arranged immediately before or immediately after the specific instruction; Before executing the instruction, coupling means for coupling the contents of the immediate operand field of the instruction to an immediate portion specified by the immediate extension instruction immediately before or immediately after the instruction is provided.
A specific instruction is executed using the immediate operand connected by the connecting means.
【0012】[0012]
【作用】上記の構成における作用を、VLIW(Very L
ong Instruction Word)型並列方式(VLIW方式)の
情報処理装置(並列演算処理装置)に適用した場合を例
に説明する。なお、VLIW方式の情報処理装置では、
所定数の固定長命令を単位に処理される。この所定数の
命令の集まりは、VLIW型命令(またはVLIW型命
令語)と呼ばれる。The operation in the above configuration is described as VLIW (Very L).
An example in which the present invention is applied to an information processing apparatus (parallel processing unit) of a parallel instruction word (VLIW) type will be described. In a VLIW information processing apparatus,
Processing is performed in units of a predetermined number of fixed-length instructions. This group 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 a VLIW information processing apparatus,
A VLI consisting of a predetermined number of fixed-length instructions (to be processed in parallel)
(W-type instruction) is fetched from a main memory or an instruction cache or other storage means. Here, if it is assumed that the VLIW type instruction including the specific instruction and the immediate extension instruction has been fetched, the immediate extension part specified by the immediate extension instruction (the OP code thereof) is (first selection instruction). (By means) and guided to the coupling means. The contents of the immediate operand field of the specific instruction placed immediately before or immediately after the above immediate extension instruction are also guided to this coupling means. As a result, the extended part of the immediate specified by the immediate extended instruction and the contents of the immediate operand field of the specific instruction are connected by the connecting means, and the immediate operand is expanded. If there is no immediate extension instruction, instead of the immediate extension part, for example, data whose value is all 0 is led to the linking means and linked with the contents of the immediate operand field.
【0014】連結手段によって連結されたデータ(即値
拡張命令が存在する場合には、拡張された即値オペラン
ド)は、特定命令の実行時には(第2の選択手段によっ
て選択されて)、記憶手段からフェッチされたVLIW
型命令内の上記の特定命令に対応する位置の演算器に供
給される。これにより、特定命令および、その直前また
は直後に配された即値拡張命令を含むVLIW型命令が
フェッチされた場合であれば、即値拡張命令の指定する
即値の拡張部分と特定命令の持つ即値オペランドフィー
ルドの内容とが連結されたオペランド、即ち拡張された
即値オペランドを用いた指定の演算が行われる。The data linked by the linking means (the extended immediate operand if an immediate extension instruction is present) 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 a position corresponding to the specific instruction in the type instruction. Thus, if the specific instruction and the VLIW type instruction including the immediate extension instruction immediately before or immediately after the specific instruction are fetched, the immediate extension field specified by the immediate extension instruction and the immediate operand field of the specific instruction The specified operation is performed using an operand concatenated with the contents of the above, that is, an extended immediate operand.
【0015】[0015]
【実施例】図1はこの発明を適用するVLIW方式で且
つパイプライン制御方式の情報処理装置(並列演算処理
装置)の一実施例を示す要部のブロック構成図である。
なお本実施例におけるパイプラインは、フェッチ(命令
フェッチ)ステージF、デコード(命令デコード)ステ
ージD、実行ステージEおよびライトバック(結果の書
込み)ステージWの4段構成であるものとする。FIG. 1 is a block diagram of a main part showing an embodiment of an information processing apparatus (parallel processing unit) of a VLIW system and a pipeline control system to which the present invention is applied.
Note that the pipeline in this embodiment has 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, reference numeral 1 denotes a main memory for providing a storage area for various programs and data, and 11 denotes a main memory.
Is a VLIW type instruction stored in the. This VLIW
The type instruction 11 is a compound instruction including four 32-bit instructions I # 1 to I # 4. An instruction cache 2 stores a copy of a part of the instruction group stored in the main memory 1.
【0017】3はフェッチステージFにおいて命令キャ
ッシュ2からフェッチされたVLIW型命令を保持する
ための128ビットの命令レジスタである。命令レジス
タ3は、VLIW型命令を構成する4命令が保持される
4つの命令フィールド41〜44を持つ。Reference numeral 3 denotes 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 constituting 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 addition instruction having an OP code "add.i" designating immediate addition
1, the OP code “i” specifying the extension of the immediate operand
ext "in the instruction field 32,
The OP code “add.
An immediate addition instruction having "i" is placed in the instruction field 33, and a subtraction instruction having an OP code "sub" designating normal subtraction without using an immediate (subtraction using register data of a register file as an operand) is placed in the instruction field 34 , Respectively, are shown.
【0019】以上の3種の命令(即値加算命令、即値拡
張命令、減算命令)の要部のフォーマットを図2に示
す。図2から明らかなように、即値加算命令は、6ビッ
トの即値オペランドフィールドi6(ビット26〜3
1)を有し、即値拡張命令は、即値(6ビットの即値オ
ペランド)の拡張部分である26ビットの拡張即値オペ
ランドが設定される拡張即値オペランドフィールドi2
6(ビット6〜31)を有している。FIG. 2 shows the format of the main part of the above three types of instructions (immediate addition instruction, immediate expansion instruction, and subtraction instruction). As is apparent from FIG. 2, the immediate add instruction is a 6-bit immediate operand field i6 (bits 26 to 3).
1), and the immediate immediate instruction is an extended immediate operand field i2 in which a 26-bit extended immediate operand, which is an extended part of the immediate (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 included in each instruction is basically composed of 9 bits (higher 9 bits) of bits 0 to 8. However, the OP code “iext” of the immediate extension instruction is substantially equal to the immediate extension instruction with only 5 bits of bits 0 to 4 in order to secure the 26-bit extended immediate operand field i26 (bits 6 to 31). , And is not affected by the contents of the four bits of bits 5 to 9.
【0021】なお本実施例では、VLIW型命令の4命
令の中に即値演算命令が存在し、且つその即値演算命令
がVLIW型命令のうちの1番目または3番目の命令と
なっている場合だけ、その即値演算命令の即値オペラン
ドの拡張が可能な構成となっている。また、この即値オ
ペランドの拡張を指定する即値拡張命令は、拡張の対象
とする即値オペランドを持つ命令(即値演算命令)の直
後、即ちVLIW型命令の4命令のうちの2番目または
4番目に置かれるようになっている。In this embodiment, an immediate operation instruction is present in four VLIW instructions, and the immediate operation instruction is the first or third VLIW instruction. , The immediate operand of the immediate operation instruction can be extended. The immediate extension instruction designating the expansion of the immediate operand is placed immediately after the instruction (immediate operation instruction) having the immediate operand to be extended, that is, the second or fourth of the four VLIW instructions. It is supposed to be.
【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, reference numerals 41 to 44 are provided corresponding to the instruction fields 31 to 34 of the instruction register 3, and the OPs of the instruction held in the fields 31 to 34 are provided.
A decoding circuit (DEC) for decoding a code and outputting various decoding signals. Of the four decoding circuits 41 to 44, the decoding circuits 42 and 44 corresponding to the instruction fields 32 and 34 are the OPs to be decoded.
When the code is "iext", there is no operation for specific signals (referred to as mask signals) M2 and M4 of logic "1" and operation units 92 and 94 described later, that is, NOP (no operation) ) Has a decoding function of outputting a signal (not shown). Note that 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 denote inputs A for inputting outputs of the lower 26 bits (bits 6 to 31) of the instruction fields 32 and 34 of the instruction register 3, and decoding circuits 42 and 4, respectively.
AND having a mask input M for inputting mask signals M2 and M4 from H.4 and a 26-bit output Y
The gate. When the mask input M is "1", the AND gates 52 and 54 output the 26 bits of the input A directly to the output Y.
And 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 denotes an immediate value for connecting the 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 the lower 6 bits (bits 26 to 31) of the instruction field 32 of the instruction register 3 for 26-bit "0" data.
And an immediate data line for transmitting as 32-bit immediate data 72. 63 is an immediate data line for connecting the 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 32-bit immediate data 73; Reference numeral 64 denotes an immediate data line for linking 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に切替える。Numerals 81 to 84 are provided corresponding to the instruction fields 31 to 34 of the instruction register 3. The input R for inputting 32-bit operand data extracted from a register file (not shown) and the immediate data line 61 are provided. To input the 32-bit immediate data 71 to 74, the 32-bit output Y, and the instruction fields 31 to
4 is an immediate operation instruction (having an immediate operand) (decode circuits 41 to 4).
4 from which the specific decode signal is derived). 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, respectively.
34 are arithmetic units that execute the operations designated by. Arithmetic units 91 to
To 94, 32 bits of the output Y of the selectors 81 to 84 are supplied.
【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 are fetched into the instruction register 3 at a fetch stage (fetch cycle) F of the instruction pipeline via the instruction cache 2 in groups of four instructions (that is, in units of VLIW type instructions). Be included. Thereby, V
The first instruction of the LIW type instruction is in the instruction field 31 of the instruction register 3, the second instruction is also in the instruction field 32, the third instruction is in the instruction field 33, and the fourth instruction is in the instruction field 34. Each is retained.
【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 are set.
The decoding circuits 41 to 44 perform a process of decoding the OP code of each instruction stored in the instruction circuit 4. In this decode stage D, the immediate data lines 61 to 64
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 instructions in the instruction fields 31 to 34 (specific decode signals output from the decode circuits 41 to 44 based on the instructions).
It is passed to the computing 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, the generation of the immediate data 71 to 74 will be described in detail. First, the instruction fields 31 to 34
In the instruction fields 32 and 34, there is a possibility that an immediate extension instruction having the OP code "iext" is held as described above. The decode circuits 42 and 44 determine whether 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”), When the instruction held in the fields 32 and 34 is an immediate extension 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 arithmetic unit 92,
A signal for instructing NOP is output to 94.
【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 decode circuits 42 and 44 are guided to mask inputs M of AND gates 52 and 54. The lower 26 bits (bits 6 to 3) of the instruction fields 32 and 34 are input to the inputs A of the AND gates 52 and 54.
1) is derived.
【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 have a mask input M
Is "1", that is, when the instruction held in the instruction fields 32 and 34 is an immediate extension 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
Is output to the output Y as it is.
【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 an immediate extension instruction, the AND gate 52 outputs the output Y.
Are all "0" regardless of the contents of 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 guided to the upper side of the 32-bit immediate data lines 61 and 63. The remaining lower 6 of these 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 led, and the 32-bit immediate data is 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 extension instruction is held in the immediate data lines 61 and 63, the upper 26 bits of the immediate data 71 and 73 generated are the contents of the extended immediate operand field i26 of the immediate 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
When the immediate operation instruction is held in the instruction 1, 33, the immediate operand (6 in the immediate operand field i6) of the instruction is held.
Bit) is concatenated with the extended immediate operand (26 bits of the extended immediate operand field i26 of bits 6 to 31) of the immediate extended instruction if the instruction held in the instruction fields 32 and 34 is an immediate extended instruction. , 6
It is expanded from 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 instruction held in the instruction fields 32 and 34 is not an immediate extension instruction, the immediate data 71 and 73 generated on the immediate data lines 61 and 63 will be described.
Are all "0". The remaining lower 6 bits of the immediate data 71 and 73 are the same as the 6 bits of bits 26 to 31 of the instruction held in the instruction fields 31 and 33 (the content 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 an immediate operation instruction and the instruction fields 32 and 34 hold instructions other than the immediate extension instruction, 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 directly expanded to 32 bits as unsigned data (all the upper 26 bits are “0”).
【0038】さて図1の例では、命令レジスタ3の命令
フィールド31,32,33,34に、それぞれ即値オ
ペランドを持つ即値加算命令,拡張即値オペランドを持
つ即値拡張命令,即値オペランドを持つ即値加算命令,
即値オペランドを持たない通常の減算命令が保持されて
いる。この図1の状態におけるデコードステージDで
は、即値拡張命令に対応するデコード回路42からのマ
スク信号M2は“1”となり、減算命令に対応するデコ
ード回路44からのマスク信号M4は“0”となる。ま
た、デコード回路42から演算器92に対してNOPを
指示する信号が出力される。In the example shown in FIG. 1, the instruction fields 31, 32, 33, and 34 of the instruction register 3 respectively include 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. ,
A normal subtraction instruction without an immediate operand is held. In the decode stage D in the state of FIG. 1, the mask signal M2 from the decode circuit 42 corresponding to the immediate value extension instruction becomes "1", and the mask signal M4 from the decode circuit 44 corresponding to the subtraction instruction becomes "0". . Further, a signal instructing NOP is output from the decode circuit 42 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 decode circuit 42 is "1", 26 bits of the extended immediate operand field i26 of the immediate extended instruction of the instruction field 32 are set to A bits.
The data 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 led. As a result, on the immediate data line 61, 32-bit immediate data 71 is generated by extending 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 expansion 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 guided to the input I of the selector 81. Input S of selector 81
Is supplied with a specific decode signal from the decode circuit 41 indicating that the instruction held in the instruction field 31 is an immediate operation instruction (here, an immediate addition instruction). 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 computing unit 91, where it is calculated at the next execution stage E (addition in this case). Calculation).
【0041】このように本実施例では、即値加算命令
(即値演算命令)と即値拡張命令を合わせ、あたかも3
2ビットの即値を持つ1つの命令であるかのようにし
て、指定の演算(加算演算)を拡張された即値を用いて
行うことができる。As described above, in the present embodiment, the immediate addition instruction (immediate operation instruction) and the immediate extension instruction are combined, and
The specified operation (addition operation) can be performed using the extended 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 decode circuit 44 is "0", the output Y of the
All bits are set to "0". This 26-bit "0"
The data is guided to the upper side of the immediate data line 63. On the remaining lower 6 bits of the immediate data line 63, an immediate operand field i6 of the immediate add instruction of the instruction field 33 is provided.
Are derived. Thereby, the immediate data line 63
Above, the 6-bit immediate operand of the immediate addition instruction in the instruction field 33 is simply extended as unsigned 6-bit data to 32 bits in form (the upper 26 bits are all "0").
The 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 guided 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 operation instruction (here, an immediate addition instruction). In this case, the non-extended immediate data 73 guided to the input I of the selector 83 is selectively output from its output Y and passed to the computing unit 93, where it is computed at the next execution stage E (here, (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 computing unit 92 corresponding to No. 2, the computation is not performed by the signal indicating 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
4, the data of the register file (of the register specifying field) of the normal subtraction instruction held in the instruction field 34 is stored in the input R
Is led to. To the input S of the selector 84, 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 led. 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 computing unit 94, where the operation in the next execution stage E (subtraction operation in this case) is performed. To be served. 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 the types of operation (functions) of the immediate operation instruction are, for example, six, the type of instruction to be increased is to expand the 6-bit immediate operand of the immediate operation instruction to 32 bits. There is only one kind of immediate extension instruction that designates that. On the other hand, in the conventional method in which instructions corresponding to the size of the immediate operand are prepared for each function, the number of instruction types to be increased is the number of operation (function) types of immediate operation, that is, six. It requires five more instructions than this method.
【0047】なお、前記実施例では、即値拡張命令によ
る拡張対象となる(即値を持つ)命令が即値加算命令で
ある場合について説明したが、この対象命令は、即値減
算命令、即値乗算命令など、他の即値演算命令であって
もよく、即値演算の機能を問わない。In the above-described embodiment, the case where the instruction to be extended by the immediate extension instruction (having an immediate value) is an immediate addition instruction has been described. However, the target instruction may be an immediate subtraction instruction, an immediate multiplication instruction, or the like. Other immediate operation instructions may be used, and the function of the immediate operation is not limited.
【0048】また、前記実施例では、即値拡張命令によ
る拡張対象命令が即値拡張命令の直前に配される場合に
ついて説明したが、これに限るものではない。例えば図
4に示すように直後に配される場合でも適用可能であ
る。この場合、即値拡張命令が存在することが許される
VLIW型命令中の位置に対応して、デコード回路4
2,44に相当するデコード回路、ANDゲート52,
54に相当するANDゲート(即値拡張命令の拡張即値
オペランドフィールドi26の内容および全て“0”の
26ビットデータのいずれか一方を選択するセレクタで
もよい)を設けると共に、その直前の命令位置に対応し
て即値データ線61,63に相当する即値データ線を設
ける必要があることは勿論である。Further, in the above-described embodiment, the case where the instruction to be extended 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, the present invention can be applied to a case in which it is arranged immediately after. In this case, the decoding circuit 4 corresponds to the position in the VLIW type instruction where the immediate extension instruction is allowed to exist.
2 and 44, and AND gates 52 and
AND gate (or a selector for selecting one of the contents of the extended immediate operand field i26 of the immediate extended instruction and 26-bit data of all "0") corresponding to the instruction position immediately before it. Needless to say, 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)は命令の配列が即値拡張命令、即値加算命令の順
の場合である。In the above embodiment, the present invention is applied to the VLIW
The case where the present invention is applied to the information processing apparatus of the system has been described.
The present invention is also applicable to an information processing apparatus employing an SC type architecture. In this case, the sequence of the instructions to be extended (for example, an immediate addition instruction) and the immediate extension instruction and the generation of the immediate data (extended immediate) will be briefly described with reference to FIGS. I do. FIG. 5A shows a case where the instruction array is an immediate addition instruction and an immediate extension instruction in this order.
(B) shows a case where the instruction array is an immediate extension instruction and an immediate addition instruction in this order.
【0050】まず、図5(a)の場合、即値加算命令を
デコードすると同時に、次の即値拡張命令をフェッチす
る。この即値拡張命令をフェッチした直後に、この命令
が直前の命令(即値加算命令)の即値オペランド(i
6)を拡張するための命令であることを認識し、直前の
命令(即値加算命令)の実行ステージを遅らせて、その
間に即値オペランドを拡張したものに置換えるか、次の
パイプラインサイクルまでに即値オペランドを拡張した
ものに置換えて、そのままパイプラインを進め、拡張し
た即値オペランド(即値データ)を用いて演算を実行す
る。First, in the case of FIG. 5A, at the same time as decoding the immediate addition instruction, the next immediate expansion instruction is fetched. Immediately after fetching the immediate extension instruction, this instruction is replaced with the immediate operand (i) of the immediately preceding instruction (immediate addition instruction).
6) is recognized as an instruction for extending the instruction, the execution stage of the immediately preceding instruction (immediate addition instruction) is delayed, and the immediate operand is replaced with an extended instruction in the meantime, or by the next pipeline cycle. The immediate operand is replaced with the expanded one, 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 extension instruction is decoded to extend the immediate operand of the next instruction (immediate addition instruction), and the next instruction (immediate addition instruction) is recognized.
Before execution of the instruction, the immediate operand of the instruction (immediate addition instruction) is replaced with an extended immediate operand (immediate data). In the method shown in FIG. 5B, compared to the method shown in FIG. 5A, from the recognition of the extension to the replacement with the extended immediate value,
A margin of two pipeline cycles can be secured.
【0052】また、前記実施例では、即値拡張命令中に
設定される拡張即値オペランドのサイズが26ビットに
限られている場合について説明したが、これに限るもの
ではく、予め定められた複数サイズの1つが設定される
ものであってもよい。但し、即値拡張命令を、拡張即値
オペランドのサイズに対応させて複数種類用意する必要
がある。また、即値演算命令の即値オペランドと即値拡
張命令の拡張即値オペランドとを連結するための連結手
段(即値データ線)を拡張即値オペランドのサイズの種
類分設け、即値拡張命令に応じていずれか1つを選択す
る構成とする必要がある。In the above-described embodiment, the case where the size of the extended immediate operand set in the immediate extension instruction is limited to 26 bits is described. However, the present invention is not limited to this. May be set. However, it is necessary to prepare a plurality of types of immediate extension instructions corresponding to the size of the extended immediate operand. In addition, coupling means (immediate data lines) for coupling the immediate operand of the immediate operation instruction and the extended immediate operand of the immediate extension instruction are provided for the size of the extended immediate operand, and one of them is provided according to the immediate extension instruction. Must be selected.
【0053】この方式では、例えば即値演算命令の演算
(機能)種類が6、即値オペランドのサイズが拡張なし
即値オペランドと2種の拡張即値オペランドとの3種類
であるものとすると、増加する命令種類は、拡張即値オ
ペランドサイズの種類数である2(即値拡張命令2種類
分)だけである。これに対し、各機能毎に即値オペラン
ドのサイズに対応する命令をそれぞれ用意する従来方式
では、増加する命令種類は、演算(機能)種類×拡張即
値オペランドサイズの種類数=6×2=12であり、本
方式より10種類も多くの命令を必要とする。この命令
種類の差は、拡張即値オペランドサイズの種類数が多く
なるほど大きくなる。In this method, for example, 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, the immediate operand without extension and the two types of extended immediate operand, the instruction type which increases Is only 2 (two types of immediate extension instructions), which is the number of types of extended immediate operand sizes. On the other hand, in the conventional method in which instructions corresponding to the size of the immediate operand are prepared for each function, the number of instruction types to be increased is (operation (function) type × extended immediate operand size type = 6 × 2 = 12). Yes, it requires 10 more instructions than this method. The difference between the instruction types increases as the number of types of the extended immediate operand size increases.
【0054】[0054]
【発明の効果】以上詳述したようにこの発明によれば、
即値オペランドのフィールドを持つ特定命令(即値演算
命令)の即値の拡張部分を指定する即値拡張命令を設け
て、上記特定命令の直前または直後に配し、この特定命
令を実行する際には、まず同命令の即値オペランドフィ
ールドの内容に、同命令の直前または直後に配された即
値拡張命令の指定する即値の拡張部分を連結して拡張さ
れた即値オペランドを生成し、この拡張された即値オペ
ランドを用いて特定命令を実行する構成としたので、次
のような効果を得ることができる。As described in detail above, according to the present invention,
An immediate extension instruction that specifies an immediate extension part of a specific instruction (immediate operation instruction) having a field of an immediate operand is provided, arranged immediately before or immediately after the specific instruction, and when executing the specific instruction, The extended immediate part specified by the immediate extension instruction immediately before or immediately after the instruction is concatenated with the contents of the immediate operand field of the instruction to generate an extended immediate operand. Since the configuration is such that the specific instruction is executed by using the instruction, the following effects can be obtained.
【0055】(1)即値を持つ命令(即値演算命令)の
種類に無関係に、同一種類の即値拡張命令による即値拡
張が行えるため、命令レパートリ(OPコードの種類)
の増加を最小限に抑えることができる。このため、OP
コードフィールドのサイズが大きくなる虞がなく、オペ
ランド指定フィールドのサイズが圧迫されることもな
い。(1) Regardless of the type of an instruction having an immediate value (immediate operation instruction), immediate extension can be performed by an immediate extension instruction of the same type, so that an instruction repertoire (type of OP code)
Can be minimized. For this reason, OP
There is no danger that the size of the code field will increase, and the size of the operand designation field will not be squeezed.
【0056】(2)並列処理方式の情報処理装置に適用
した場合に、即値演算命令と同命令(の即値オペラン
ド)を拡張対象とする即値拡張命令を合わせ、あたかも
拡張された即値オペランドを持つ1つの命令であるかの
ように扱えるため、命令のフェッチサイクル数を全く増
やすことなく、命令語内に確保可能な即値オペランドフ
ィールドのサイズを越えるサイズの即値オペランドが指
定できる。(2) When the present invention is applied to a parallel processing type information processing apparatus, an immediate operation instruction and an immediate extension instruction to be extended to the same instruction (immediate operand) are combined, and one having an extended immediate operand is obtained. Since it can be handled 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 at all.
【0057】(3)通常の即値演算命令の直前または直
後に即値拡張命令を配するだけで、拡張された即値オペ
ランドを指定でき、しかも即値拡張命令単独では同命令
自身が持つ即値オペランドを指定できるため、命令レパ
ートリの著しい増加を招く従来方式に比べ、命令体系の
シンプル化、したがってハードウェア構成のシンプル化
が図れる。(3) Just by placing an immediate extension instruction immediately before or immediately after a normal immediate operation instruction, an extended immediate operand can be designated, and the immediate extension instruction alone can designate the immediate operand of the instruction itself. Therefore, the instruction system can be simplified, and thus the hardware configuration can be simplified, as compared with the conventional method that causes a significant increase in the instruction repertoire.
【図1】この発明を適用するVLIW方式で且つパイプ
ライン制御方式の情報処理装置(並列演算処理装置)の
一実施例を示す要部のブロック構成図。FIG. 1 is a block diagram of a main part showing an embodiment of an information processing apparatus (parallel processing unit) 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 a main part of an immediate addition instruction, an immediate expansion instruction, and a subtraction instruction used in the embodiment.
【図3】同実施例における即値加算命令の即値オペラン
ドおよび同命令の直後に配されている即値拡張命令の拡
張即値オペランドと即値データとの関係を示す図。FIG. 3 is a view showing a relationship between an immediate operand of an immediate addition instruction and an extended immediate operand of an immediate expansion instruction arranged immediately after the instruction in the embodiment, and immediate data;
【図4】即値加算命令および即値拡張命令の位置が図3
の例と逆の場合における、即値加算命令の即値オペラン
ドおよび即値拡張命令の拡張即値オペランドと即値デー
タとの関係を示す図。FIG. 4 shows the positions of an immediate addition instruction and an immediate extension instruction in FIG.
The figure which shows the relationship between the immediate data of the immediate operand of the immediate addition instruction | indication, the extended immediate operand of the immediate expansion instruction, and the immediate data in the case opposite to the example of FIG.
【図5】RISC型アーキテクチャを採る情報処理装置
における、即値加算命令の即値オペランドおよび即値拡
張命令の拡張即値オペランドと即値データとの関係を示
す図。FIG. 5 is a diagram showing the relationship between immediate data of an immediate operand of an immediate addition instruction and an extended immediate operand of an immediate expansion instruction in an information processing apparatus employing a RISC 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 to 34: instruction field, 41 to 44: decoding circuit, 52, 54: AND gate (first selecting means), 6
1-64: immediate data line (connection means), 71-74 ... immediate data, 81-84 ... selector (second selection means),
91 to 94: arithmetic unit.
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平3−201133(JP,A) 特開 平3−194621(JP,A) 特開 平3−259340(JP,A) 特開 平3−218526(JP,A) 特開 昭62−107339(JP,A) 特開 昭54−129944(JP,A) 特開 昭57−45648(JP,A) 特開 昭62−125435(JP,A) 特開 昭62−297938(JP,A) 特開 昭62−3338(JP,A) 特開 平3−147021(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/30 - 9/42 ──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-3-201133 (JP, A) JP-A-3-194621 (JP, A) JP-A-3-259340 (JP, A) JP-A-3-259340 218526 (JP, A) JP-A-62-107339 (JP, A) JP-A-54-129944 (JP, A) JP-A-57-45648 (JP, A) JP-A-62-125435 (JP, A) JP-A-62-297938 (JP, A) JP-A-62-3338 (JP, A) JP-A-3-147021 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 9/30-9/42
Claims (1)
めに同数の演算器を有する並列処理方式の情報処理装置
において、 即値オペランドのフィールドを持つ特定命令の即値の拡
張部分を指定する即値拡張命令が前記特定命令と対をな
して配された記憶手段と、 この記憶手段からフェッチされた並列に処理すべき複数
の命令が保持される同数の命令フィールドを持つ命令レ
ジスタと、 前記命令レジスタの各命令フィールド毎に設けられ、上
位側データ線および対応する命令フィールド中の即値オ
ペランド配置可能部分と接続された下位側データ線から
なる即値データ線と、 前記命令レジスタの前記各命令フィールドのうち、少な
くとも、前記即値拡張命令が保持されることが許される
命令フィールドに対応してそれぞれ設けられる第1の選
択手段であって、前記記憶手段から前記命令レジスタに
前記特定命令および即値拡張命令の対を含む複数の命令
がフェッチされて、同即値拡張命令が対応する命令フィ
ールドに保持された場合には、同即値拡張命令の指定す
る即値の拡張部分を選択して、同即値拡張命令と対をな
す前記特定命令の持つ即値オペランドフィールドの内容
が導かれる下位側データ線を持つ前記即値データ線の上
位側データ線に出力し、対応する命令フィールドに前記
即値拡張命令以外の命令が保持された場合には、値が0
の固定のデータを選択して同即値データ線の上位側デー
タ線に出力する第1の選択手段と、 前記命令レジスタの各命令フィールド毎に設けられる第
2の選択手段であって、対応する命令フィールドに前記
特定命令が保持された場合、同命令フィールドに対応す
る前記即値データ線上のデータを即値オペランドとして
選択して、同特定命令の指定する演算を実行する前記演
算器に出力する第2の選択手段とを具備することを特徴
とする情報処理装置。 1. A method for processing a plurality of fixed-length instructions in parallel.
Parallel processing type information processing device having the same number of arithmetic units
The immediate value of a specific instruction with an immediate operand field
An immediate extension instruction that specifies the extension part is paired with the specific instruction.
Storage means arranged in parallel and a plurality of pieces to be processed in parallel fetched from this storage means
Instructions with the same number of instruction fields that hold the same instruction
A register is provided for each instruction field of the instruction register.
Immediate data in the data line and the corresponding instruction field.
From the lower data line connected to the part that can be placed
Among the immediate data lines and the instruction fields of the instruction register,
At least, the immediate extension instruction is allowed to be retained.
The first selection provided for each of the instruction fields
Selecting means for storing the instruction register from the storage means.
A plurality of instructions including a pair of the specific instruction and the immediate extension instruction
Is fetched, and the immediate
Field, the value of the immediate
Select the immediate extension part to be paired with the immediate extension instruction.
Immediate operand field contents of the specific instruction
Above the immediate data line with the lower data line from which
Output to the next data line, and
When an instruction other than the immediate extension instruction is held, the value is 0.
Select the fixed data of
First selecting means for outputting data to the command line;
(2) selecting means, wherein said corresponding instruction field has
If a specific instruction is held, the corresponding instruction field
Data on the immediate data line as an immediate operand
The above-described operation of selecting and executing an operation specified by the specific instruction.
And a second selecting means for outputting to the arithmetic unit.
Information processing device.
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 JPH05150979A (en) | 1993-06-18 |
JP3004108B2 true 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) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1049369A (en) | 1996-08-07 | 1998-02-20 | Ricoh Co Ltd | Data processor |
JP3327818B2 (en) * | 1997-08-29 | 2002-09-24 | 松下電器産業株式会社 | Program conversion device and recording medium |
US7376814B1 (en) * | 1999-09-07 | 2008-05-20 | Nxp B.V. | Method for forming variable length instructions in a processing system |
US8860722B2 (en) | 2004-05-14 | 2014-10-14 | Nvidia Corporation | Early Z scoreboard tracking system and method |
KR20090009981A (en) | 2006-06-15 | 2009-01-23 | 닛본 덴끼 가부시끼가이샤 | Processor and command control method |
US9183607B1 (en) | 2007-08-15 | 2015-11-10 | Nvidia Corporation | Scoreboard cache coherence in a graphics pipeline |
US8736624B1 (en) | 2007-08-15 | 2014-05-27 | Nvidia Corporation | Conditional execution flag in graphics applications |
US8599208B2 (en) | 2007-08-15 | 2013-12-03 | Nvidia Corporation | Shared readable and writeable global values in a graphics processor unit pipeline |
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 |
US8775777B2 (en) * | 2007-08-15 | 2014-07-08 | Nvidia Corporation | Techniques for sourcing immediate values from a VLIW |
US9411595B2 (en) | 2012-05-31 | 2016-08-09 | Nvidia Corporation | Multi-threaded transactional memory coherence |
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 |
-
1991
- 1991-11-27 JP JP3312133A patent/JP3004108B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH05150979A (en) | 1993-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2992223B2 (en) | Computer system, instruction bit length compression method, instruction generation method, and computer system operation method | |
JP3004108B2 (en) | Information processing device | |
US5996057A (en) | Data processing system and method of permutation with replication within a vector register file | |
CA1324671C (en) | Decoding multiple specifiers in a variable length instruction architecture | |
JPH0429093B2 (en) | ||
US4954943A (en) | Data processing system | |
JPH04296937A (en) | Hardware-data-string-operatiion controller and method for performing main-storage-string operation | |
US7546442B1 (en) | Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions | |
JPH0810428B2 (en) | Data processing device | |
JPH07120278B2 (en) | Data processing device | |
JP2003044273A (en) | Data processor and data processing method | |
JPH03286332A (en) | Digital data processor | |
JPH0248732A (en) | Micro processor for instruction pipe line system | |
US5479620A (en) | Control unit modifying micro instructions for one cycle execution | |
JPS6212529B2 (en) | ||
JPS62165242A (en) | Processor | |
JPH034936B2 (en) | ||
JP2916605B2 (en) | Computer processor | |
JPS5838819B2 (en) | Control file device for data processing systems | |
JPS59114677A (en) | Vector processor | |
JPH05274143A (en) | Composite condition processing system | |
JP2583614B2 (en) | Vector arithmetic unit | |
JP2828611B2 (en) | Computer system and instruction execution method | |
JPH0816392A (en) | Computer system, computer-system operating method and computer-instruction-sequence execution method | |
JPH03245223A (en) | Arithmetic unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |