ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

Cray X-MPのデータパス

続いてCrayのデータパスを調べてみました。SIMDを採用したベクトル演算型のCPUは、通常のデータパスとは別に、SIMD用のデータパスが専用にあるのが特徴です。図は、The Cray X-MP/Model 24から持ってきました。

スカラーデータ用データパス

こちらは通常の演算用データパスです。ベクトル型の演算と対応させてスカラー型と表現されています。通常のRISCプロセッサ同様に、メモリのデータに対して直接の演算はできず、まずレジスタに持ってこないと使えません。
マルチプロセッサ用のレジスタも、スカラーデータとしてしかアクセスできません。

ベクトル演算用データパス

ベクトル演算に関してはベクトル演算専用のALUを持っています。スカラー演算と同じく、メモリ上のベクトルを一度Vector Registerに転送してから演算を行います。

ベクトル演算のデータパス上に、一部スカラーデータ用のデータパスがあります。これは、あるベクトルに対して一定のスカラー値を加算するような処理で使用します。FORTRANのサンプルプログラムです。

       DO 100 I=1,64
100         A(I) = A(I) + 1.0