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

アクセスカウンタ

zoom RSS Mill CPUのmetadata前半

<<   作成日時 : 2014/02/14 11:02   >>

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

 正月にスライドやビデオ観てたので理解した分を整理。

http://ootbcomp.com/docs/metadata/

 Mill CPUのmetadataとは?
・データをロードした時に、データに追加するタグでデータ幅やスカラ/ベクタであるかどうかを表す。
・恐らくロード命令のバイト幅指定で決まる
・データにデータサイズのタグが付いているので、演算後にオーバフローになるか、サイズを拡張すべきかがわかる。サイズを自動的に拡張し、タグを付け直すことができる
ー Mill CPUの演算命令は演算結果がラップアラウンド/オーバーフロー/飽和/サイズ拡張を選ぶことができる
ー サイズ拡張とは?例えば8bit×8bitの結果は16bitになるが、この時サイズを8bit→16bitに拡張してレジスタに保存する
・スカラ×ベクタなどの演算がタグを見ただけで判別できる
・metadataはサイズのみ扱う。データが整数か浮動小数点かは区別していない
(ビデオでは型の判別はハードウエアではやらないと言っている)
・ストア命令で保存するときにはタグは取り除かれる
・恐らく汎用レジスタにタグは付随し、演算時に一緒に流れていくのではないか

 metafloatとは?
・IEEE754浮動小数点演算では例外を発生するフラグがある。これが投機的実行を妨げる要因となる
・metadataと同じように演算結果のフラグを演算結果にタグ付けした (meta-flags)
・演算ではmeta-flagsをorして蓄積し、最後に判断

 pick命令
・C言語の三項演算子のこと
・どちらを実行するかはBelt上にある命令を片方無効にするだけなので分岐命令不要でzero latencyと言っている
・感想:PA-RISCのNullficationに近いが、Millは命令列ひとかたまりを無効にする

 とりあえずこれだけ。後半につづく

テーマ

注目テーマ 一覧


月別リンク

ブログ気持玉

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

トラックバック(0件)

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

トラックバック用URL help


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

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文




Mill CPUのmetadata前半 竹下世界塔の計算機よもやま話/BIGLOBEウェブリブログ
文字サイズ:       閉じる