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

アクセスカウンタ

zoom RSS ぼくのかんがえたさいきょうCPU レジスタに型(属性)をつける その2

<<   作成日時 : 2016/04/10 03:14   >>

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


 ぼくのかんがえたさいきょうCPU レジスタに型(属性)をつけるの再考。

 まずはプロセッサで扱うデータの種類を整理する。

整数型8/16/32/64/128/256/...のbit幅、浮動小数点は半精度、単精度、倍精度、四倍精度、BCD単精度、BCD倍精度、BCD四倍精度。

画像


そして上記データのベクタ型。

画像


 これらのデータの種類を示す8bitのデータ定義。

画像


 最上位の1bitはValidビットで、対応するデータの有効/無効を示す。
 [6:4]はデータのタイプを示す。
000 ... Unsigned(address) 符号なし整数、アドレス参照
001 ... Signed 符号付き整数
010 ... Unsigned Satulate 符号なし整数飽和
011 ... Signed Satulate 符号付き整数飽和
100 ... Float Scalar 浮動小数点 スカラ形式
101 ... Float Vector 浮動小数点 ベクタ形式

 [2:0]はレーン幅の定義。[3]は未使用。
[6:4]のTypeが000〜011の場合は整数レーン定義。
000 ... スカラ
001 ... 8bit
010 ... 16bit
011 ... 32bit
100 ... 64bit
101 ... 128bit
110 ... 256bit
111 ... 512bit

画像


[6:4]のTypeが100〜101の場合は浮動小数点レーン定義。
000 ... 半精度
001 ... 単精度
010 ... 倍精度
011 ... 四倍精度
100 ... reserved
101 ... BCD単精度
110 ... BCD倍精度
111 ... BCD四倍精度
[6:4]のTypeが110〜111はreserved。

 汎用レジスタには属性レジスタが一対一で対応する。その属性レジスタ内に上記のデータ定義を含む。
属性レジスタ内に2つのデータ定義があると、それらは汎用レジスタの上位半分と下位半分に対応する。これにより整数と浮動小数点のレーン混在が可能になる。属性レジスタの余った上位はタグとして使う。これらは別途定義。

 演算については、基本同じ型同士だと結果も同じ型となる。二項演算では第一オペランドの型に結果の型をあわせる。これにより浮動小数点と整数の相互変換も行う。


テーマ

注目テーマ 一覧


月別リンク

ブログ気持玉

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

トラックバック(0件)

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

トラックバック用URL help


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

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文




ぼくのかんがえたさいきょうCPU レジスタに型(属性)をつける その2 竹下世界塔の計算機よもやま話/BIGLOBEウェブリブログ
文字サイズ:       閉じる