続いてCrayのデータパスを調べてみました。SIMDを採用したベクトル演算型のCPUは、通常のデータパスとは別に、SIMD用のデータパスが専用にあるのが特徴です。図は、The Cray X-MP/Model 24から持ってきました。
ベクトル演算用データパス
ベクトル演算に関してはベクトル演算専用のALUを持っています。スカラー演算と同じく、メモリ上のベクトルを一度Vector Registerに転送してから演算を行います。
ベクトル演算のデータパス上に、一部スカラーデータ用のデータパスがあります。これは、あるベクトルに対して一定のスカラー値を加算するような処理で使用します。FORTRANのサンプルプログラムです。
DO 100 I=1,64
100 A(I) = A(I) + 1.0