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

アクセスカウンタ

zoom RSS ぼくのかんがえたさいきょうCPU 8bit可変長命令フォーマット続き

<<   作成日時 : 2015/12/27 02:03   >>

なるほど(納得、参考になった、ヘー) ブログ気持玉 1 / トラックバック 0 / コメント 0

 8bit可変長フォーマットを少し直した。

 以前の→ ぼくのかんがえたさいきょうCPU 8bit可変長命令フォーマット

※2016/2/8微修正

0で始まるものは命令、1で始まるものはオペランド。
命令フォーマットは 命令[オペランド]の組み合わせ。

0xxxxxxx 命令ヘッダ
・2,3バイト命令はRd(destination register)をフォーマット内に含む。

00xx_xxxx 1バイト命令ヘッダ
010x_xxxx_xxdddddd 2バイト命令ヘッダ
011x_xxxx_xxxxxxxx_xxdddddd 3バイト命令ヘッダ

1xxxxxxx オペランド指定

10cccccc 6bitリテラル 終端
1100_AAAA AABB_BBBB 2オペランド 即値が後ろに続く
1101_AAAA AABB_BBBB 2オペランド 終端
1110_AAAA AABB_BBBB ss_CCCCCC 3オペランド 終端
1111_0000 reserved
1111_nnnn cccc_cccc 8x(nnnn) リテラル 8〜120bit 終端

オペランド指定は以下のパターン
(1) なし
(2) 即値のみ 10ccccccまたは1111_nnnn ...
(3) 2オペランドのみ 1101_RaRb
(4) 2オペランド+即値 1100_RaRb の後ろに(2)
(5) 3オペランド 1110_RaRb_ssRc

オペランドの組み合わせによって命令の動作を修飾できる。

例:演算命令

1バイト命令
0000_aaaa オペランドなし Reserved
0000_aaaa 即値 直前の命令のRdに即値を演算、結果をこの命令のRdとする。
0000_aaaa Ra,Rb Rb = Rb 演算 Ra
0000_aaaa Ra,Rb 即値 Rb = Ra 演算 即値
0000_aaaa Ra,Rb,Rc Reserved(バイト命令の3オペランド命令とかぶる)

2バイト命令
010_0_aaaa 00_dddddd オペランドなし Reserved
010_0_aaaa 00_dddddd 即値のみ Rd=即値 or Reserved
010_0_aaaa 00_dddddd Ra,Rb Rd = Rb 演算 Ra
010_0_aaaa 00_dddddd Ra,Rb 10_cccccc SIMD演算
010_0_aaaa 00_dddddd Ra,Rb 1111_nnnn ... Rd = Rb 演算 Ra 演算 即値 4オペランド命令
010_0_aaaa 00_dddddd Ra,Rb,Rc Rd = Rb 演算 Ra 演算 Rc ssで優先順など指定 4オペランド命令


例:分岐命令

1バイト命令:直前の命令の実行結果のフラグを見る。
0010_cond オペランドなし 条件成立で1命令スキップ
0010_cond 即値 条件成立で相対分岐
0010_cond Ra,Rb 条件成立でレジスタの値をコピー(Conditional Move)
0010_cond Ra,Rb 即値 Rb-Raの結果で条件を判断し、相対分岐
0010_cond Ra,Rb,Rc Ra-Rbの結果で条件を判断し、Rcを操作(0クリアなど。ssで指定)

2バイト命令:なし

例:メモリ操作命令

1バイト命令:なし

2バイト命令:(EAはEffective Address 操作対象となるアドレス)
010_0_mmmm 11_dddddd オペランドなし Reserved
010_0_mmmm 11_dddddd 即値 即値をEAとしてロードストア
010_0_mmmm 11_dddddd Ra Rb EAは[Ra+Rb]
010_0_mmmm 11_dddddd Ra Rb 10_cccccc EAは[Ra+Rb] ccccccの6bitを修飾 endian swapなど
010_0_mmmm 11_dddddd Ra Rb 1111_nnnn ... EAは[Ra+Rb+即値]
010_0_mmmm 11_dddddd Ra Rb Rc EAは[Ra+Rb]:ASI(Rc) ssの2bitでASI空間の指定(即値orレジスタ参照)

テーマ

注目テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 1
なるほど(納得、参考になった、ヘー)

トラックバック(0件)

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

トラックバック用URL help


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

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文




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