竹下世界塔の計算機よもやま話

アクセスカウンタ

zoom RSS ぼくのかんがえたさいきょうCPU ALU命令フォーマット検討

<<   作成日時 : 2010/01/13 22:10   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

□ALU命令フォーマット 地味な検討なのであまり見なくていいです。

・ALU命令
00fssnnnnnnnnnR22222R11111Rddddd
[31:30] ..00 ALU命令
[29] f .. 1なら浮動小数点命令 0のとき以下の通り
[28:27] ss .. SIMD命令 00 non SIMD / 01 16bit / 10 32bit / 11 8bit or 64bit
[26:18] .. nnnnnnnnn 整数演算命令種別(9bit)
[17:12] .. GRs2
[11:6] .. GRs1
[5:0] .. GRd

ssはSIMD命令かどうか指定。"11"を指定したときの動作は、32bitレジスタ長、64bitレジスタ長の場合SIMDパックドデータの長さを8bitとし、128bitレジスタ長、256レジスタ長の場合は64bitとして扱う。これは32/64bitの場合、64bitSIMDパックドデータだと意味がなく、8bitが適当。128/256bit長の場合は8bitSIMDパックドデータだと細かすぎる。16bitのパックドデータを使用推奨。
このビットは拡張する可能性がある。ss="11"に二つの意味を持たせるのはあまりよくないと思うからだ。

nnnnnnnnn 整数演算命令種別(9bit)
・SIMD命令と通常演算命令の動作が異なるもの(ADD,SUBなど)
・SIMD命令と通常演算命令の動作が同じもの(OR,ANDなど)
・SIMD命令のみのもの(PDIST,PACK,UNPKなどのSIMD固有命令)
・通常演算命令のみのもの
・パイプライン制御、その他制御命令(ユーザーモード可)
・特権命令
 ここらへんは命令一覧を作らないと分類しようがないね。

以下は再掲:一部記述を追加
常に積和演算をしなければならない理由もないので、普通の3オペランドの加、減、乗算命令を用意しようか。
浮動小数点レジスタはすべて固定値のない普通に代入や取り出しができるレジスタにし、0や±1.0などは定数設定命令を使うことにしたので。

・積和浮動小数点命令(4オペランド命令)
00fsDTnnF33333F22222F11111Fddddd
[29] f .. 浮動小数点命令 = 1
[28] s .. SIMD命令
[27] D .. 0 単精度 1 倍精度
[26] T .. 浮動小数点4オペランド命令 = 1
[25:24] nn .. 演算命令
 00 FMADD Fd= FRs1×FRs2+FRs3
 01 FMSUB Fd= FRs1×FRs2ーFRs3
 10 FNMADD Fd= ーFRs1×FRs2+FRs3
 11 FNMSUB Fd= ーFRs1×FRs2ーFRs3
[23:18] .. FRs3
[17:12] .. FRs2
[11:6] .. FRs1
[5:0] .. FRd

s .. SIMD命令が1だと、例えば128ビット幅レジスタで倍精度演算ならレジスタの上位64ビット、下位64ビットをそれぞれ計算する。
→コンディションコードが1つの状態につき最大256ビット長レジスタ÷単精度32ビット=8組必要。

・浮動小数点命令
00fsDTnnnnnnnnF22222F11111Fddddd
[29] f .. 浮動小数点命令 = 1
[28] s .. SIMD命令
[27] D .. 0 単精度 1 倍精度
[26] T .. 浮動小数点4オペランド命令 = 0
[25:18] nnnnnnnn .. 浮動小数点演算命令(8bit)
[17:12] .. FRs2
[11:6] .. FRs1
[5:0] .. FRd

浮動小数点演算は2オペランドで済む命令が多い(NEG,ABS,超越関数など)ので、FRs2をデコードの一部に回す可能性もある。

スカラ値×ベクタ値の考え方で、FRs1のSIMDパックドデータの最下位の値と、FRs2のSIMDパックドデータのそれぞれと計算してFRdに格納する形式も欲しい。またはSIMDパックドデータの最下位を他のパックドデータにコピーし同等の効果を得るなど。

テーマ

注目テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文




ぼくのかんがえたさいきょうCPU ALU命令フォーマット検討 竹下世界塔の計算機よもやま話/BIGLOBEウェブリブログ
文字サイズ:       閉じる