3.3 T0マイクロアーキテクチャー
3.3.2 TSIP
3.3.3 命令フェッチとデコード
図3.2はT0のパイプライン構造を示している。
- フェッチとデコードステージは全命令で共通
- 外部メモリポートが空いていれば、キャッシュミスがあった場合に備えて、同じアドレスをプリフェッチする。
- プリフェッチのミスは2サイクルだが、そうでない場合は3サイクルとなる
- プリフェッチをより積極的にすることにより、スカラーコードの命令フェッチ性能を向上させる可能性があるが、余分な回路が必要となる
- デコードステージでは、スカラレジスタファイルが読み込まれ、バイパスが行われる
- インターロックが存在しない場合、命令は適切なユニットにディスパッチされて実行される
- すべての命令は、スカラパイプラインを使用して例外チェックを実行する
- ベクトル命令は、ベクトル機能ユニットを複数サイクル占有する場合がある
3.3.4 スカラーユニット
- スカラALU命令はXステージで実行され、すべての整数ALU演算は1サイクルのレイテンシでバイパスされる
- ただし整数乗算と除算は除く
- 高速外部メモリにより、スカラデータのキャッシュは存在していない。外部メモリは完全にパイプライン化され、3サイクルのレイテンシでスカラロードを返す

3.3.5 ベクトルレジスタファイル
- T0ベクトルレジスタは16エントリ。最初のベクトルレジスタ0は、値ゼロに固定されている
- ベクトル・メモリ・ユニット
- Dステージの終了後にベクトルメモリユニットコントローラにディスパッチされる
- ベクトルメモリパイプラインに対してパイプライン制御信号を生成する小さなステートマシンである
- Rステージ:ベクトルレジスタファイル読み出し
- Mステージ:ベクトルメモリアクセス
- 異なるレーンからのステアデータを、ストアアラインメントクロスバーによって正しいバイト位置に調整される
- ロード命令の場合は、データが外部メモリから戻され、クロス場によって正しい位置に調整される
- Wステージ:ベクトルレジスタファイル書き込み
- 前半:ロード命令の場合は、Mステージの後半でラッチされたロードデータが整列され、ベクトルレジスタに書き込まれる
- 後半:スカラロードまたは巣から抽出命令からのスカラデータが、バイパスによって転送される
- スカラロード命令も実行することができる。
- ベクトルレジスタの読み出しと書き込みポートは独立している
- ベクトル抽出命令では、リードポートとライトポートを同時に使用することにより、2つのポートでベクトルインデックスロードを簡単化している。
- ベクトルインデックスロード・ストア命令は、ベクトルレジスタファイルカラスからデータパスのアドレス生成器にアドレスをインデックスを送信する必要があるため、複雑になる
- Dステージの終了後にベクトルメモリユニットコントローラにディスパッチされる