2. 背景と動機
- 何でベクトルプロセッサが廃れたのか?
- マイクロプロセッサの性能向上が以外とすごかった。
- スーパスカラ・アウトオブオーダ実行の効果が大きい。単一の命令ストリームから命令レベル並列性を引き出す。ベクトル化可能かどうかは関係なく、すべての命令ストリームから引き出せる。
- じゃあ、ベクトル命令はもはや不要ではないか?という議論になる
- 本論文では、ベクトルアーキテクチャの独自のメリットについて議論する。
- 命令レベル並列性・スレッドレベル並列性・データレベル並列性において、ベクトルは最も安価である。
- 従来の科学技術系スーパコンピュータの分野以外でも、ベクトル実行に適しているということを議論する。
- スカラ命令を性能向上するために大量の回路面積を挿入するよりは、ベクトル命令のために回路面積を使った方がマシ。
- たとえベクトル化可能なプログラムが全く存在していなかったとしても、同じ面積のスカラ実装で性能向上できる割合はわずか。
- メモリアクセスのピン帯域に制約されているというのは間違っており、ベクトル命令はより多くの帯域幅を出せるために有利である。
- 様々なデータ並列性が存在する
- 命令レベル並列性 (Instruction Level Parallelism)
- スレッドレベル並列性 (Thread Level Parallelism)
- データレベル並列性 (Data Level Parallelism)
- このうち、データレベル並列性はもっとも柔軟性が低く、ILP, TLPでも抽出が可能である。
- しかし、柔軟性が低いがゆえに、単一のフェッチで大量のデータ処理を行うことができる。
- ベクトル処理について。
ここで、はベクトル長である。
- ベクトル・メモリ・アーキテクチャとベクトル・レジスタ・アーキテクチャの違い
- ベクトルレジスタアーキテクチャのユーザプログラミングモデル
- スカラユニット
- ベクトルユニット
- 仮想プロセッサについて
- ベクトルユニットを仮想プロセッサ(VP)の集合体としてみなすことができる
- VPごとに1つのローカルレジスタファイルの配列として扱う
- 演算がベクトルユニット内の利用可能な物理処理要素にまたがって時間多重化されるため、「仮想」である