コンピュータアーキテクチャ 第 11 回
パイプラインとメモリ・レジスタ間命令 パイプライン (pipeline) 処理 ⇒ メモリ・レジスタ間命令 今回の内容 性能向上 性能低下の回避 メモリ・レジスタ間命令 第 の 値の読み込み パイプラインで効率化 今回の内容 パイプラインがなぜ効果的なのかを知る :あらかじめデータを読み込む ベルトコンベア的な流れ作業 制御部をメモリ・レジスタ間命令対応に拡張 メモリ・レジスタ間ロード命令,ストア命令の実行制御
パイプライン処理の概念 * * 命令を時間差並列処理 ⇒ 並列性はアーキテクチャに依存
パイプラインによるレジスタ間命令の 実行制御を表す状態図
パイプライン処理の命令フェッチ (1) * bA bB A/S_op F bC Mem IAa BPAbSD c0123aLR Fcn GiPAmDdSsD srw F1: ; MAR←PR, PR←PR+1 *
パイプライン処理の命令フェッチ (2) * bA bB A/S_op F bC Mem IAa BPAbSD c0123aLR Fcn GiPAmDdSsD srw F2: ; MDR←mem(MAR), MAR←PR, PR←PR+1 *
パイプライン処理の命令フェッチ (3) * bA bB A/S_op F bC Mem IAa BPAbSD c0123aLR Fcn GiPAmDdSsD srw F3: ; IR←MDR, MDR←mem(MAR), MAR←PR *
演習問題 11.1 パイプライン処理における命令フェッチのタイム チャートを書け.
4 段パイプライン処理 定常的には * 本講義のアーキテクチャでは改造が必要
演習問題 11.2 レジスタ間命令だけを実装した COMETⅡプロセッサで,4 段パイプライン処理を可能とするためにはどのような改造が必要か述べよ.
デコード時間と演算・データ転送時間 *
パイプラインによる性能低下回避 定常的には 2 クロックで 1 命令 *
メモリ・レジスタ間命令 コード r,adr [,x] ・・・ 例: LD GR1,#1000,GR2 ロードアドレス命令 LAD 以外は POP, RET 命令以外は パイプライン処理のプリフェッチによって 命令の を IR へ, を MDR へとりこむ 実効アドレスの計算が必要 (POP, RET を除く) 実行ステップにかかる * * * * クロックサイクル数は様々
メモリ・レジスタ間命令を含めたデコーダ * * LAD, POP, RET を除くメモリ・レジスタ間命令の信号の論理和 *
メモリ・レジスタ間命令を含めた 実行制御を表す状態図 * *
メモリ・レジスタ 間命令を含む 制御信号 生成回路例
ロード命令における実効アドレス計算の制御 命令の例: LD GR0,#****,GR1 bA bB A/S_op F bC Mem IAa BPAbSD c0123aLR Fcn GiPAmDdSsD srw Dec-Ea: ; if LD_m = 1 then MAR←MDR+GRB *
ロード命令 LD GR0,#****,GR1 における制御信号 クロックサイクル Ld0; MDR←mem(MAR) bA bB A/S_op F bC Mem IAa BPAbSD c0123aLR Fcn GiPAmDdSsD srw Ld0: ; MDR←mem(MAR) *
ロード命令 LD GR0,#****,GR1 における制御信号 クロックサイクル Ld1; GRA←MDR bA bB A/S_op F bC Mem IAa BPAbSD c0123aLR Fcn GiPAmDdSsD srw Ld1: ; * GRA←MDR
LD 命令の実行ステップの タイムチャート * bA bB A/S_op F bC Mem IAa BPAbSD c0123aLR Fcn GiPAmDdSsD srw Dec-Ea:001 100000 00111000 000 0001000000 000; Ld0:000 000000 00000000 000 0000110000 010; Ld1:000 000100 00010000 101 1000000000 000
ST 命令の実行ステップの 制御信号とタイムチャート * bA bB A/S_op F bC Mem IAa BPAbSD c0123aLR Fcn GiPAmDdSsD srw Dec-Ea:010 000100 00111000 000 0001000000 000; St0:010 000000 00100000 000 0000010000 000; St1:000 000000 00000000 000 0000000000 001
演習問題 11.3 CPA r,adr,x 命令の実行ステップの制御信号と タイムチャートを示せ.