プロジェクト実習 LSIの設計と実現 パイプライン実行とハザード おさらい • 配線はwire、レジスタはreg • 配線の接続は assign (alwaysの外で) • レジスタへの代入は alwaysの中で <= – 2回以上代入しない – すべての条件で1回だけ代入する • 代入時は両辺のビット幅を合わせる 今日の目標 • フラグレジスタ • ロードストア • パイプライン動作とハザード フラグレジスタ • Zero Flag – 演算結果が0の時に1 • Negative Flag – 演算結果が負の時に1 • Carry Flag – 演算結果に桁上がり、桁下がりが起きた場合に1 • ただしシフト演算では変化しない 0011-0011=0000 0011-0001=0010 ZF=1, NF=0, CF=0 ZF=0, NF=0, CF=0 Carry Flag 0001-0011=1110 1-3=14(-16) 1100-0001=1011 12-1=11 1100-1111=1101 12-15=13(-16) 1111-1100=0011 15-12=3 0111-1111=1000 7-15=8(-16) ZF=0, NF=1, CF=1 < (CF=1) ZF=0, NF=1, CF=0 > (CF=0) ZF=0, NF=1, CF=1 < (CF=1) ZF=0, NF=0, CF=0 > (CF=0) ZF=0, NF=1, CF=1 < (CF=1) CFは符号なし の比較結果を 示す 実装方法 • ZF – 0かどうか • NF – どこを見れば符号がわかる? • CF – 16bitではなく17bitで計算してみると、、、 ロードストア • 仕様 – r1←M[gr[r2]+val3] – M[gr[r2]+val3] ← r1 • EXステージでアドレス計算 – gr[r2]+val3 – addiが出来れていれば楽勝 • MEMステージでメモリ読み書き – daddr, dw, ddata_out(store時) を適切に設定 – load結果は次サイクルでddata_in パイプライン実行 • たくさんの洗濯物を考える – 洗濯 – 乾燥 – たたむ・片付ける 洗濯 乾燥 たたむ 洗濯 乾燥 たたむ 洗濯 乾燥 たたむ パイプラインプロセッサ • • • • • フェッチ デコード 実行 メモリ 書き込み • • • • • 取引内容を確認し 残高を確認し 取引をして (なし) 残高を更新 銀行のパイプライン処理 処理 確認 残高 照会 取引 残高 更新 処理 確認 残高 照会 取引 残高 更新 処理 確認 残高 照会 取引 残高 更新 銀行のパイプライン処理 処理 確認 残高 照会 取引 残高 更新 処理 確認 残高 照会 取引 残高 更新 処理 確認 残高 照会 取引 • すべて別の口座ならば問題なし • 同じ口座が混ざっていると? 残高 更新 銀行のパイプライン処理 Aさん +1万円 残高 照会 取引 残高 更新 処理 確認 残高 照会 取引 残高 更新 銀行のパイプライン処理 Aさん Aさん +1万円 10万円 Aさん -1万円 取引 残高 更新 残高 照会 取引 残高 更新 銀行のパイプライン処理 Aさん Aさん 10万円 +1万円 10万円 +1万円 Aさん Aさん -1万円 10万円 残高 更新 取引 残高 更新 銀行のパイプライン処理 Aさん Aさん 10万円 Aさん +1万円 10万円 +1万円 11万円 Aさん Aさん 10万円 -1万円 10万円 -1万円 残高 更新 銀行のパイプライン処理 Aさん Aさん 10万円 Aさん +1万円 10万円 +1万円 11万円 Aさん Aさん 10万円 Aさん -1万円 10万円 -1万円 9万円 • さてAさんの現在の残高は? • どうすれば解決できる? ハザードの回避(1/2) Aさん Aさん 10万円 Aさん +1万円 10万円 +1万円 11万円 • ストール – 同時に同じ口座を処理しちゃダメ →性能の低下 Aさん Aさん -1万円 11万円 ハザードの回避(2/2) Aさん Aさん 10万円 Aさん +1万円 10万円 +1万円 11万円 Aさん Aさん 11万円 10万円 Aさん -1万円 10万円 -1万円 10万円 9万円 • フォワーディング – 関係者が相互確認 – 常にできるとは限らない 今後の予定 • 来週は祝日 • 再来週までに – ハザード処理 – 分岐命令 以外を完成させること • 自習 – 火曜日午後? 分岐命令 • とは? パイプラインプロセッサと分岐 PC=1 ID EX MEM WB PC=2 ID EX MEM WB PC=3 ID EX MEM WB PC=X ID EX MEM WB
© Copyright 2024 ExpyDoc