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

アクセスカウンタ

zoom RSS ぼくのかんがえたさいきょうCPU: 2017.05 データと型

<<   作成日時 : 2017/05/24 02:01   >>

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

 汎用レジスタで扱うデータのサイズや型について定義する。メモリ操作命令ではレジスタのサイズだけを扱い中身(型)は無視する。汎用レジスタ間の算術演算でのみ型を扱う。演算の結果、データのサイズが変わってしまっては扱いにこまるので、演算結果は2つある引数のうち最初の引数に合わせることにする。

・用語など定義
レジスタのサイズ 2^(n-1)バイト {1,2,4,8,16,...} 〜32768バイト
レジスタで扱うデータのサイズ 2^(n-1)バイト {1,2,4,8,16,...} 〜32768バイト
レーン数 レジスタのサイズ内にあるデータの数。レジスタのサイズ÷データのサイズで求められる。
レーンについて 同一サイズ/同一型のデータがレジスタ内に2^(n-1)個存在し、下位側からレーン0、レーン1、…と番号を振る。
スカラとベクタ 複数のレーンがあるものをベクタ、レーンが1個(=レジスタのサイズとデータのサイズが同じ)のものをスカラと呼ぶ。
型 データの種類。整数型、浮動小数点型、十進浮動小数点型、BCD型、これらを組み合わせたユーザ定義など

以下、演算の記号を〇、演算のソースをRs1/Rs2、演算の結果をRdとする。

・整数演算
Rs1とRs2について Rs1、Rs2とも汎用レジスタまたはオペランドの即値指定。
即値指定について 即値は1レーンのスカラ値として扱われる。
データのサイズがRs1>Rs2 Rs2の値が符号拡張され、Rs1〇Rs2→Rdが実行される。RdのデータのサイズはRs1と同じ。
データのサイズがRs1<Rs2 Rs2の値が下位ビットからRs1と同じサイズだけ取り出され、Rs1〇Rs2→Rdが実行される。RdのデータのサイズはRs1と同じ。

・ベクタの演算 ベクタ同士の演算でもRdのレジスタのサイズはRaと同じになる。
レーン数が同じ場合 同じレーン番号同士で演算が行われる。
 例:Rs1[D:C:B:A] 〇 Rs2[d:c:b:a] → Rd[D〇d:C〇c:B〇b:A〇a]
Rs1のレーン数が多い場合 Rs2のレーンが繰り返し適用される。
 例:Rs1[D:C:B:A] 〇 Rs2[b:a] → Rd[D〇b:C〇a:B〇b:A〇a]
Rs2のレーン数が多い場合 Rs1とRs1に対応するRs2の下位レーン同士で演算が行われる。
 例:Rs1[B:A] 〇 Rs2[d:c:b:a] → Rd[B〇b:A〇a]

・浮動小数点演算
精度がRs1>Rs2 Rs2の精度がRs1の精度に変換され、Rs1 〇 Rs2 → Rd が実行される。
精度がRs1<Rs2 Rs2の精度がRs1の精度に変換され、Rs1 〇 Rs2 → Rd が実行される。
十進浮動小数点の混在 Rs1の形式にRs2が変換された後、Rs1 〇 Rs2 → Rd が実行される。
精度変換のエラーについて より低い精度への変換で数値が表現できなくなった場合はRdとともにフラグで後続命令にエラーを通知する。
型変換のエラーについて 整数→浮動小数点数、または浮動小数点数→整数の変換で数値が表現できなくなった場合はRdとともにフラグで後続命令にエラーを通知する。

・積和演算などRs3の扱いについて
3引数をとる積和演算などではRs3の扱いはRs2に準じる。

・実効アドレスの計算について
実効アドレスはRs1+Rs2→Rdで、Rdは整数型、データのサイズは与えられたアドレス空間によって決まる。
Rs1,Rs2は整数型として扱われる。

 ロード命令で汎用レジスタに値を持ってきた時点ではレーン数1の整数として扱われるので、別の命令で浮動小数点などの型やレーン分割を設定する。
 サイズの変更は明に行う。例えば符号拡張、ゼロ拡張、2つのレジスタ連結、など。


富士ホーロー ベイクウェアー 角形デコレーション底取型15cm フッ素樹脂 ケーキ型富士ホーロー ベイクウェアー 角形デコレーション底取型15cm フッ素樹脂 ケーキ型

富士ホーロー
売り上げランキング : 716417

Amazonで詳しく見る
by G-Tools


テーマ

注目テーマ 一覧


月別リンク

ブログ気持玉

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

トラックバック(1件)

タイトル (本文) ブログ名/日時
ぼくのかんがえたさいきょうCPU: 2017.06 算術演算命令
 算術演算命令はデータを数として扱い、四則演算を行う。整数型や浮動小数点型はソースレジスタRaの形式に合わせて変換され、Rdに保存される。演算結果はRaと同じレジスタ幅、レーン構成になる。 ...続きを見る
竹下世界塔の計算機よもやま話
2017/06/02 19:26

トラックバック用URL help


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

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文




ぼくのかんがえたさいきょうCPU: 2017.05 データと型 竹下世界塔の計算機よもやま話/BIGLOBEウェブリブログ
文字サイズ:       閉じる