RISC-V原典8章

 第8章はベクトル。いちばん面白い章だと思います。

RISC-V原典 6,7章
RISC-V原典 3,4,5章
RISC-V原典 1,2章


第8章 RV32V:ベクトル

・従来のSIMD。インクリメンタルISAでデータのサイズごとに命令が増え複雑に
・RISC-Vではベクトルアーキテクチャを採用。ベクトル長とクロックあたりの処理の長さを命令エンコーディングから分離
・32個のベクトルレジスタを用意
・mvl:最大ベクトル長。 計算するときに要素数をvl:ベクトル長レジスタにセットする
・vpi:プレディケーションレジスタ。8個
・要素のサイズと浮動小数点/符号付き整数/符号なし整数を組み合わせた型を設定し、同一命令で動的に演算を行う
・ベクタ同士の演算(.vv)、ベクタとスカラの演算(.vs)
・vsetdcfg命令でベクトルレジスタの型を設定
・ベクトルレジスタの中身はベクトルメモリから動的に割り当てる
・コンテキスト切り替え ベクトル命令が使われていない場合はすべてのベクトルレジスタを無効にして処理を軽くする
・vld/vst命令でベクトルレジスタの要素を順にメモリアクセス
・インデックス式ロードストア(ギャザー/スキャッタ)をサポート
・vpi:プレディケーションレジスタで要素ごとに演算を適用するかどうかを決めることで条件付き処理が簡単に
・vselect命令 任意の要素を取り出して並び替え
・vmerge命令 2つのベクトルレジスタから要素を選択して取り出す
・vextract命令 ベクトルレジスタの任意位置から要素を順に取り出して別のレジスタの先頭から置き換え



→要素の型やサイズごとにSIMD命令数が増えることとは別に、ベクトル操作に関しては使われなくなったり新規に便利なものが追加されたりするんじゃなかろうか。一般の命令ほど枯れていない。

→この章が自分にとって面白かったのは、ぼくのかんがえたさいきょうCPUでのデータの扱いが実はベクトルアーキテクチャだったということ。

ぼくのかんがえたさいきょうCPU データ(スライド)
ぼくのかんがえたさいきょうCPU スカラ演算(スライド)
ぼくのかんがえたさいきょうCPU ベクトル演算(スライド)



ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック