CPU設計と パイプライン.

Slides:



Advertisements
Similar presentations
CPU 実験について 2006 年 10 月 13 日金曜日 平野貴仁. CPU 実験の成績 プロセッサ、アセンブラ、シミュレータ を担当 プロセッサ、アセンブラ、シミュレータ を担当 2005 年度 CPU 実験優勝 2005 年度 CPU 実験優勝 – 間違って P3 形式で出場 ( 規約上問題はない.
Advertisements

計算機システムⅡ 命令レベル並列処理とアウトオブオーダ処理
07. 値予測 五島 正裕.
07. 値予測 五島 正裕.
基本情報技術概論(第10回) 埼玉大学 理工学研究科 堀山 貴史
計算機システムⅡ 主記憶装置とALU,レジスタの制御
情報塾( ) CPUとメモリがどんなふうに動くのだろう。 レジスタやI/O プログラムの実行、マシン語。
高性能コンピューティング学講座 三輪 忍 高性能コンピューティング論2 高性能コンピューティング論2 第4回 投機 高性能コンピューティング学講座 三輪 忍
CPU実験 第1回中間発表 4班 瀬沼、高橋、津田、富山、張本.
情報システム基盤学基礎1 コンピュータアーキテクチャ編 第2回 命令
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
オリジナルなCPUの開発 指導教授:笠原 宏 05IE063 戸塚 雄太 05IE074 橋本 将平 05IE089 牧野 政道
App. A アセンブラ、リンカ、 SPIMシミュレータ
計算機システムⅡ 命令セットアーキテクチャ
プロセッサ設計教育のための 命令セット・スーパースカラシミュレータの試作と評価
プログラムはなぜ動くのか.
第3回 CPUの管理と例外処理 OSによるハードウェアの管理 CPUの構成、動作 CPUの管理 例外処理、割り込み処理 コンテキストスイッチ
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第5回 CPUの役割と仕組み3 割り込み、パイプライン、並列処理
高性能コンピューティング論2 第5回 Out-of-Order実行機構
計算機システムⅡ 入出力と周辺装置 和田俊和.
基本情報技術概論(第8回) 埼玉大学 理工学研究科 堀山 貴史
第7回 2006/6/12.
計算機入門I ハードウェア(1) 計算機のハードウェア構成 ~計算機のハードウェアとは何か~
組み込み向けCPU 小型デバイスに搭載されるCPU 特徴 携帯電話,デジタルカメラ,PDA,センサデバイスなど 小型 低消費電力 多機能
Advanced Computer Architecture
・ディジタル回路とクロック ・プロセッサアーキテクチャ ・例外処理 ・パイプライン ・ハザード
プロジェクト実習 LSIの設計と実現 パイプライン実行とハザード.
アドバンスト コンピュータ アーキテクチャ RISC と 命令パイプライン
非レイテンシ指向 レジスタ・キャッシュ・システム
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
勉強会その3    2016/5/1 10 8分35秒 データの表現 演算.
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第1週目 アセンブリ言語講座
Advanced Computer Architecture
Advanced Computer Architecture
第6回 6/4/2011 状態遷移回路とシングルサイクルCPU設計
Advanced Computer Architecture
コンピュータの基本構成について 1E16M001-1 秋田梨紗 1E16M010-2 梅山桃香 1E16M013-3 大津智紗子
ディジタル回路の設計と CADによるシステム設計
計算機構成 第3回 データパス:計算をするところ テキスト14‐19、29‐35
計算機構成 第4回 アキュムレータマシン テキスト第3章
08. メモリ非曖昧化 五島 正裕.
計算機工学III オペレーティングシステム #4 並行プロセス:排他制御基礎 2006/04/28 津邑 公暁
計算機構成 第11回 マルチサイクルCPU 慶應大学 天野英晴.
計算機構成 第5回 RISCの命令セットアーキテクチャ テキスト第4章
情報とコンピュータ 静岡大学工学部 安藤和敏
コンピュータアーキテクチャ 第 11 回.
コンピュータアーキテクチャ 第 10 回.
09. メモリ・ディスアンビギュエーション 五島 正裕.
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
明星大学 情報学科 2012年度前期     情報技術Ⅰ   第1回
Ibaraki Univ. Dept of Electrical & Electronic Eng.
コンピュータアーキテクチャ 第 9 回.
コンピュータアーキテクチャ 第 10 回.
コンピュータアーキテクチャ 第 2 回.
コンピュータアーキテクチャ 第 2 回.
コンピュータアーキテクチャ 第 5 回.
計算機アーキテクチャ1 (計算機構成論(再)) 第二回 命令の種類と形式
コンピュータアーキテクチャ 第 4 回.
第4回 CPUの役割と仕組み2 命令の解析と実行、クロック、レジスタ
プロセッサ設計支援ツールを用いた 独自プロセッサの設計
コンピュータアーキテクチャ 第 9 回.
コンピュータアーキテクチャ 第 5 回.
プログラムの開発手順 1.プログラム設計(仕様の決定) 2.コーディング(ソースファイルの作成) 3.アセンブル(オブジェクトファイル
コンピュータアーキテクチャ 第 11 回.
コンピュータ工学基礎 マルチサイクル化とパイプライン化 テキスト9章 115~124
情報システム基盤学基礎1 コンピュータアーキテクチャ編
明星大学 情報学科 2014年度前期     情報技術Ⅰ   第1回
情報システム基盤学基礎1 コンピュータアーキテクチャ編
Presentation transcript:

CPU設計と パイプライン

パイプラインの始まり

1バスでのレジスタ間演算 3clock/命令 r1+r2→r4 Xreg ALU Yreg レジスタファイル(1RW) r1 r2 r3

2バスでのレジスタ間演算 2clock/命令 r1+r2→r4 Xreg ALU Yreg レジスタファイル(1R1RW) r1 r2 r3

3バスでのレジスタ間演算(1) r1+r2→r4 1clock/命令 周波数は低下 ALU レジスタファイル(2R1W) r1 r2 r3

3バスでのレジスタ間演算(2) r1+r2→r4 r2+r3→r1 1命令の実行時間は2clock ただし・・・ 実質1clock/命令 Xreg ALU Yreg r3 r4 レジスタファイル(2R1W) r1 r2 r1+r2→r4 r2+r3→r1 1命令の実行時間は2clock ただし・・・ RR EXE 同時実行 レジスタリードと演算実行は同時 なのでn命令の実行にnクロック 実質1clock/命令

3バスでのレジスタ間演算(2-) r1+r2→r4 r4+r3→r1 データハザード対策 ・バイパス回路 ・wait回路 Xreg ALU Yreg r3 r4 レジスタファイル(2R1W) r1 r2 バイパス r1+r2→r4 r4+r3→r1 r4の書き込みと読み出しが同時 データハザード対策  ・バイパス回路  ・wait回路 リソースハザード対策  ・バス→専用線  ・RAMの多ポート化  ・wait回路  ・その他

機械語命令とハード制御

演算命令 例えば add rs, rt, rd ( rs + rt → rd) なら opとfunctで加算を指定する。

演算命令のビットパターンと回路制御 Xreg ALU Yreg レジスタファイル(2R1W) OP rs rt rd sh func r1

タイミングを考慮すると タイミングを合わせる パイプラインレジスタ 命令メモリ 命令メモリ OP rd rt rs sh func 命令レジスタ ALU 命令メモリ レジスタ ファイル rs rt rd op,func dec パイプライン化 命令メモリ rs rt タイミングを合わせる パイプラインレジスタ 命令レジスタ 命令レジスタ レジスタ ファイル レジスタ ファイル op,func ALU dec rd レジスタ ファイル デコード→ALUは クリティカルパスになる

分岐命令 If ( CC = ttue ) PC + offset → PC 命令メモリ 命令 レジスタ PC DPC OP CC 4 8 C 命令 レジスタ DPC 命令レジスタ 4 8 C DPC adder PCと命令レジスタは1clockズレるので 次の命令のアドレス+offsetに分岐する。 PCと命令レジスタはズレないので その命令のアドレス+offsetに分岐する。

ロード命令 データ メモリー [rt+offset]→rd rt 命令レジスタ 命令レジスタ レジスタ ファイル OP rd rt dec [rt+offset]→rd rd add offset rt ALU address データ メモリー rd レジスタ ファイル

演算とロードをまとめると データ メモリー データ キャッシュ Fetch Decode Execute Mem Write rs rt 命令レジスタ 命令レジスタ レジスタ ファイル レジスタ ファイル どちらを優先するか? キャッシュを優先すると パイプラインを止める 必要あり。 →wait信号が必要 op offset Decode rd dec rd op op offset,rs rt ALU Execute address データ メモリー データ キャッシュ rd op rd Mem タイミング合わせの パイプラインレジスタ レジスタ ファイル キャッシュミスすると 競合が発生 データメモリーが 1clockアクセスなら 競合しない Write

命令読み出し 命令キャッシュは 外れる事がある Valid信号が 必要 命令 命令メモリ キャッシュ PC DPC V + 命令レジスタ adder

Validもパイプライン DC Fetch Decode Execute Mem Write rs rt V 命令レジスタ 命令レジスタ ファイル レジスタ ファイル op offset Decode rd dec V rd op op offset,rs rt ALU Execute address DC V rd op rd Mem レジスタ ファイル Write

割り込み,エラー DC 復帰用PCも必要 例外処理回路 rs rt DPC EPC MPC V 命令レジスタ 命令レジスタ レジスタ ファイル レジスタ ファイル op offset 予約命令 ゼロ除算 rd dec V V rd op op offset,rs rt データアラインメント ALU DC V rd op rd TLBミス 例外処理回路 レジスタ ファイル 復帰用PCも必要

バイパスとwait wait バイパス DC Valid wait rs rt r3 + r4 → r5 V 命令レジスタ 命令レジスタ r3 + r4 → r5 V 命令レジスタ 命令レジスタ レジスタ ファイル レジスタ ファイル op offset wait rd dec バイパス V rd op op offset,rs rt [r1 + offset]→ r3 r1 + r2→ r3 ALU DC [r1 + offset]→ r3 V rd op rd レジスタ ファイル

最後に パイプラインレジスタを入れてタイミングを合わす プロパティはパイプラインに沿って落としていく 異なるステージの信号は混ぜない   Tips:信号名にステージ名を入れる ハザードの洗い出しは確実に ValidとWaitでコントロールする