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

アクセスカウンタ

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

<<   作成日時 : 2009/10/05 22:45   >>

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

 今回は命令フォーマットのデコードを再考するだけなのであんまり面白くないです。

・ロード/ストア命令
01fsnnwwppLLLLRxxxxxRbbbbbRddddd

・バイトスワップLLLL[21:18] xは即値に利用
 LLLLは128bit時(倍精度スワップ)
 LLLxは64bit時(単精度スワップ)
 LLxxは32bit時(ワードスワップ)
 Lxxxは16bit時(バイトスワップ)
 8bit時は不要
・即値へのゲタ履かせ バイトアクセス時はなし ワードアクセス時は"0" その他は"00"
・Rbbbbbはレジスタのみ、Rxxxxxは即値になることがある
・Rdddddはストア命令の時に読み出される
・ASI命令はバイト、ワードアクセス不要
・LL/SC命令はバイト、ワードアクセス不要
・LEA命令は8,16,32ビットと同じアドレッシングモードをサポート。これですべての即値アドレッシングモードをカバーできる。
・浮動小数点はロード・ストアのみ、32/64/128/256ビット幅のみ

fsnn
0000 LD{SDQO} ロード 符号拡張なし ww指定
0001 LDS{SDQO} ロード 符号拡張付き ww指定
0010 LD{BW} ロード 符号拡張なし バイト/ワード指定 ww=01 バイト ww=10 ワード
0011 LDS{BW} ロード 符号拡張付き バイト/ワード指定 ww=01 バイト ww=10 ワード
0100 ST{SDQO} ストア ww指定
0101 BLR [()],Rd 32ビット指定のみ - 命令列のジャンプ先に関する操作のため
0110 ST{BW} ストア バイト/ワード指定 ww=01 バイト ww=10 ワード
0111 PREFETCH [()],GR0 32ビット指定のみ - 命令列に関する操作のため
1000 FLD{SDQO} 浮動小数点ロード ww指定
1001 LDA{SDQO} ASI ロード 符号拡張なし 32ビット指定のみ ww指定 LLxx[19:18]はASIレジスタ番号0〜3
1010 LDL{SDQO} Load-Linked 符号拡張なし ww指定
1011 LEA{BWS} Load Effective Address バイト/ワード/単精度指定 ww=01 バイト ww=10 ワード ww=00 単精度
1100 FST{SDQO} 浮動小数点ストア ww指定
1101 STA{SDQO} ASI ストア 符号拡張なし 32ビット指定のみ ww指定 LLxx[19:18]はASIレジスタ番号0〜3
1110 STC{SDQO} Store-Conditional 符号拡張なし ww指定
1111 LLLL4ビット分デコード拡張(未定義)

※BLRIは廃止。割り込みのフラグを直前で落としてからリターンする。割り込み機能については検討中。

即値の範囲(プリフィックス命令なしの場合)
バイト xxxxRxxxxx 10bit
ワード LxxxRxxxxx 9bit+"0"
単精度 LLxxRxxxxx 8bit+"00"
倍精度 LLLxRxxxxx 7bit+"00"
128bit LLLLRxxxxx 6bit+"00"
256bit LLLLRxxxxx 6bit+"00"

ゲタ履かせは最大で32bitアライメント対応。これは命令長が32bitなのでそれに合わせた。各レジスタのビット長でアライメントがそろっていれば高速に動作するよう実装してもよい。
浮動小数点のロード/ストアはレジスタのビット長にアライメントを合わせること。
これ以外の実効アドレスはアライメントエラーとなる。


・プリフィックス命令フォーマット 一般命令拡張用フィールドを用意する
11ppaaabbbcccdddsssssssseeeeeeee

pp=00 ロング即値[27:0]
pp=01 レジスタ拡張+ミドル即値[15:0]
pp=10 レジスタ拡張+ビット範囲開始8bit〜終了8bit
pp=11 一般命令拡張用リザーブ

テーマ

注目テーマ 一覧


月別リンク

ブログ気持玉

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

トラックバック(0件)

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

トラックバック用URL help


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

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
URL(任意)
本 文




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