ベクトル計算機
ベクトル計算機
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/04/11 07:59 UTC 版)
「ベクトル計算機」も参照 STARでは、新たな命令でループを表す。まず「数値の大きな列」がメモリのどこにあるのかをマシンに教え、ひとつの命令 a(1..1000000) = addv b(1..1000000), c(1..1000000) を実行させる。一見してあまり変化がないようにも思われるが、この場合マシンは百万個ではなくひとつの命令を読み込んで解読すればよい。そのため全体の約4分の1の時間が節約される。 しかし実際の時間短縮はそれほどはっきりしていない。コンピュータのCPUは、特定の仕事をするいくつかの部分から構成される。例えば加算を実行する部分やメモリを読み込む部分などである。命令を処理する場合、CPUの一部分だけが働いていて、命令処理はCPUの中の部分から部分へと流れていくのである。しかし、命令パイプラインの追加によってこれが変わった。CPUは先読みをして、前の命令を処理中に次の命令を読み込む。この流れ作業的手法では、ひとつの命令は時間がかかっているが、全体としてみれば命令が次々と処理されていくのである。 ベクタープロセッサは、これにあるトリックを追加して使用する。データの配置は分かっているので(メモリ上に順番に数値が並んでいる)、データ読み込み性能を上げるようにパイプラインを調整する。ベクトル命令を受け付けると、特別なハードウェアを指定された配列を読み込むように設定し、プロセッサに数値を次々と送り込むのである。 CDCがSTARで使用した手法は、今日では「メモリ・メモリ・アーキテクチャ」として知られている。これはデータを集める方法を意味していて、パイプラインは直接メモリを読み書きするように設定される。この場合、いかなる長さのベクトルでも使用可能で、非常に汎用的である。しかし、遅いメモリにアクセスしてもパイプラインが埋まるようにするために、パイプラインの段数が極めて長くないと性能が出せない。これは、ベクトル演算から通常の命令処理への切り替えに時間がかかることを意味する。さらに通常の命令処理の性能が悪いため、ベクトルからの切り替え時間との相乗効果で通常の命令処理は極めて性能が低下する。結果的に実際のアプリケーション性能は残念なものとなった。これは、設計者がアムダールの法則を考慮していれば最初からわかったことかもしれない。
※この「ベクトル計算機」の解説は、「Cray-1」の解説の一部です。
「ベクトル計算機」を含む「Cray-1」の記事については、「Cray-1」の概要を参照ください。
ベクトル計算機
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/25 13:20 UTC 版)
ベクトル計算機とは、多数のデータ群に対して同じ命令を実行できるCPUまたはコンピュータシステムである。数値の配列またはベクトルに対して高度な操作を実行できる。例えば、A、B、C がそれぞれ64個の64ビット浮動小数点数の配列としたとき、
※この「ベクトル計算機」の解説は、「並列計算」の解説の一部です。
「ベクトル計算機」を含む「並列計算」の記事については、「並列計算」の概要を参照ください。
ベクトル計算機と同じ種類の言葉
固有名詞の分類
- ベクトル計算機のページへのリンク