< B8CDD8AB B83685D>

Similar documents
hard5.pptx

Microsoft PowerPoint - arc12

Microsoft PowerPoint - arc5

この方法では, 複数のアドレスが同じインデックスに対応づけられる可能性があるため, キャッシュラインのコピーと書き戻しが交互に起きる性のミスが発生する可能性がある. これを回避するために考案されたのが, 連想メモリアクセスができる形キャッシュである. この方式は, キャッシュに余裕がある限り主記憶の

hard3.pptx

計算機アーキテクチャ

講義計画 1. コンピュータの歴史 1 2. コンピュータの歴史 2 3. コンピュータの歴史 3 4. 論理回路と記憶, 計算 : レジスタとALU 5. 主記憶装置とALU, レジスタの制御 6. 命令セットアーキテクチャ 7. 演習問題 8. パイプライン処理 9. メモリ階層 : キャッシュ

計算機アーキテクチャ

Microsoft PowerPoint - Sol7 [Compatibility Mode]

スライド 1

PowerPoint プレゼンテーション

Microsoft PowerPoint - Lec ppt [互換モード]

Microsoft PowerPoint - 11Web.pptx

MIPSのマイクロアーキテクチャ

6. パイプライン制御

コンピュータ工学Ⅰ

コンピュータ工学Ⅰ

ソフトウェア基礎技術研修

Microsoft PowerPoint - arc7

スライド 1

の 内 容 の 一 貫 性 )を 保 つために 用 いられるのが スヌープ キャッシュ 方 式 である. キャッシュメモリにおいて, 主 記 憶 のアドレスの 下 部 (インデックス)を 用 いてキャッシュメモリ 上 のインデックスを 求 める 方 法 を ダイレクトマッピング と 呼 ぶ.キャッシ

020105.メモリの高機能化

コンピュータの仕組み(1)ハードウェア

ソフトウェア基礎技術研修

Microsoft PowerPoint - vlsi4.ppt [互換モード]

スライド 1

スライド 1

スライド 1

Microsoft PowerPoint - Chap5 [Compatibility Mode]

Microsoft PowerPoint - Chap4 [Compatibility Mode]

システムLSIとアーキテクチャ技術  (part II:オンチップ並列            アーキテクチャ)

Microsoft PowerPoint - Lec pptx

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

PowerPoint プレゼンテーション

Microsoft PowerPoint - NxLec ppt

C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要

命令セットの構成例 a) 算術 演算命令 例 )ADD dest, source : dest dest + source SUB dest, source : dest dest - source AND dest, source : dest dest AND source SHR reg, c

PowerPoint プレゼンテーション

スライド 1

COMET II のプログラミング ここでは機械語レベルプログラミングを学びます 1

システムLSIとアーキテクチャ技術  (part II:オンチップ並列            アーキテクチャ)

スライド 1

Microsoft PowerPoint - Chap2 [Compatibility Mode]

PowerPoint プレゼンテーション

Microsoft PowerPoint - No15›¼‚z‰L›¯.ppt

Microsoft PowerPoint - Chap3 [Compatibility Mode]

スライド 1

PowerPoint プレゼンテーション

Microsoft PowerPoint - 集積回路工学_ ppt[読み取り専用]

科学技術振興調整費 中間成果報告書 若手任期付研究員支援 組込みアーキテクチャ協調型実時間 OS 研究期間 : 平成 13 年度 ~ 平成 15 年 6 月 北陸先端科学技術大学院大学田中清史

Microsoft PowerPoint - NxLec ppt

スライド 1

情報科学概論

ex04_2012.ppt

Microsoft PowerPoint - OS07.pptx

Microsoft PowerPoint - NxLecture ppt [互換モード]

Microsoft PowerPoint - NxLec ppt

Microsoft PowerPoint - 3.3タイミング制御.pptx

計算機アーキテクチャ特論 後半第2回 アウトオブオーダー実行 Out-of-Order Execution

スライド 1

スライド 1

PowerPoint プレゼンテーション

ComputerArchitecture.ppt

ガイダンス 2

2ALU 以下はデータ幅 4ビットの ALU の例 加算, 減算,AND,OR の4つの演算を実行する 実際のプロセッサの ALU は, もっと多種類の演算が可能 リスト 7-2 ALU の VHDL 記述 M use IEEE.STD_LOGIC_1164.ALL; 00 : 加算 use IEE

Microsoft PowerPoint - OS02.pptx

TopSE並行システム はじめに

目次 1. はじめに 1 2. マルチALUプロセッサ MAP MAP の構成 MAP 命令セットアーキテクチャ 並列 連鎖判定のアルゴリズムについて 5 3. Booth 乗算のアルゴリズム 次 Booth アルゴリズム 次 Bo

スライド 1

UNIX 初級講習会 (第一日目)

Microsoft PowerPoint - OS09.pptx

スライド 1

スライド 1

Microsoft PowerPoint - LogicCircuits09note.ppt [互換モード]

C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ

スライド 1

Microsoft PowerPoint - OS02.ppt

DRAM SRAM SDRAM (Synchronous DRAM) DDR SDRAM (Double Data Rate SDRAM) DRAM 4 C Wikipedia 1.8 SRAM DRAM DRAM SRAM DRAM SRAM (256M 1G bit) (32 64M bit)

問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN

スライド 1

Microsoft Word - レポート回答集.docx

01-introduction.ppt

Microsoft PowerPoint - ARC2009HashiguchiSlides.pptx

VLSI工学

本日の範囲 ファイルとその中身 コンピュータにおける情報の表現 ファイルとフォルダ コンピュータの仕組み 通信 ネットワーク, インターネット 情報の符号化, その限界 コマンドライン プログラムの仕組み 通信の符号化, その限界 暗号 簡単なプログラムの作成 実行 Excel で計算 データの可視

スライド 1

初心者のための RL78 入門コース ( 第 3 回 : ポート出力例 2 とポート入力 ) 第 3 回の今回は, 前回作成したプログラムを RL78/G13 のハードウェアを用いて見直しをお こないます 今回の内容 8. コード生成を利用した実際のプログラム作成 ( その 2) P40 9. コー

第 1 回 C 言語講座 1. コンピュータって? だいたいは 演算装置 制御装置 記憶装置 入出力装置から構成されている 演算装置 CPU の一部で実際に計算を行う装置 制御装置 CPU の一部で演算装置や入出力装置 記憶装置の読み書きなどを制御する装置 記憶装置プログラムや情報 データを一時的

スライド 1

ディジタル回路 第1回 ガイダンス、CMOSの基本回路

Microsoft PowerPoint - kougi7.ppt

VelilogHDL 回路を「言語」で記述する

プログラミング基礎

15群(○○○)-8編

Microsoft PowerPoint - 01-VerilogSetup-2019.pptx

Microsoft PowerPoint - OS12.pptx

Microsoft PowerPoint - ProcML-12-3.ppt

スライド 1

計算機工学 II 授業ノート 第 1 回 ( ) 担当 : 寺田

Microsoft Word - HW06K doc

Transcription:

() 坂井 修一 東京大学大学院情報理工学系研究科電子情報学専攻東京大学工学部電子情報工学科 / 電気電子工学科 はじめに アウトオブオーダ処理 工学部講義 はじめに 本講義の目的 の基本を学ぶ 場所 火曜日 8:40-0:0 工学部 号館 4 ホームページ ( ダウンロード可能 ) url: http://www.mtl.t.u-tokyo.ac.jp/~sakai/hard/ 教科書 坂井修一 ( コロナ社 電子情報レクチャーシリーズ C-9) 坂井修一 実践 ( コロナ社 ) 教科書通りやります 参考書. Patterson and J. Hennessy, Computer Organization & esign rd d.( 邦訳 コンピュー タの構成と設計 ( 第 版 ) 上下 ( 日系 BP) ) 馬場敬信 ( 改訂 版 ) オーム社 富田眞治 Ⅰ 丸善 予備知識 : 論理回路 坂井修一 論理回路入門 培風館 成績 試験 +レポート+ 出席 講義の概要と予定 (/) 講義の概要と予定 (/). 入門 ディジタルな表現 負の数 実数 加算器, フリップフロップ レジスタ 計算のサイクル. データの流れと制御の流れ主記憶装置 メモリの構成と分類 命令 命令実行の仕組み 実行サイクル 算術論理演算命令 シーケンサ 条件分岐命令. 命令セットアーキテクチャ操作とオペランド 命令の表現形式 アセンブリ言語 命令セット 算術論理演算命令 データ移動命令 分岐命令 アドレシング サブルーチン ISCとCISC 4. パイプライン処理 () パイプラインの原理 命令パイプライン オーバヘッド 構造ハザード データハザード 制御ハザード 5. パイプライン処理 () 遅延分岐 分岐予測 命令スケジューリング 6. キャッシュ記憶階層と局所性 透過性 キャッシュ ライトスルーとライトバック ダイレクトマップ型 フルアソシアティブ型 セットアソシアティブ型 キャッシュミス 7. 仮想記憶仮想記憶 ページフォールト TLB 物理アドレスキャッシュ 仮想アドレスキャッシュ メモリアクセス機構 8. 基本 CPU の設計 ディジタル回路の入力 Verilog HL シミュレーションによる動作検証 アセンブラ 基本プロセッサの設計 基本プロセッサのシミュレーションによる検証 9. 命令レベル並列処理 () 並列処理 並列処理パイプライン VLI スーパスカラ 並列処理とハザード 0. 命令レベル並列処理 () 静的最適化 ループアンローリング ソフトウェアパイプライニング トレーススケジューリング. アウトオブオーダ処理インオーダーとアウトオブオーダー フロー依存 逆依存 出力依存 命令ウィンドウ リザベーションステーション レジスタリネーミング プロセッサの性能. 入出力と周辺装置周辺装置 ディスプレイ 二次記憶装置 ハードウェアインタフェース 割り込みとポーリング アービタ MA 例外処理 試験 : 7 月後半

. アウトオブオーダ処理 内容 アウトオブオーダ処理 アウトオブオーダ処理とはなにか データ依存再考 アウトオブオーダ処理の機構 レジスタリネーミング ソフトウェアによるレジスタリネーミング ハードウェアによるレジスタリネーミング () ハードウェアによるレジスタリネーミング () スーパスカラプロセッサの構成 アウトオブオーダ処理を行うプロセッサの構成 プロセッサの性能 アウトオブオーダ処理とはなにか アウトオブオーダ処理 プログラムの意味を変えない範囲で命令実行 完了の順序を変更し 並列度をあげる処理 cf. インオーダ処理 : 命令を動的に入れ替えることをしない処理 動的スケジューリングの一種 動的スケジューリング : 実行時に行うスケジューリング アウトオブオーダ実行 命令を ステージに入れる順番を入れ替える アウトオブオーダ完了 実行結果をレジスタに格納する順番を入れ替える アウトオブオーダ処理の例 アウトオブオーダ処理の機構 デコーダ mul r, r, r add r4, r, r5 mul r6, r7, r8 add r9, r0, r add r, r, r4 タグ 演算器 命令 add r, r, r mul r4, r5, r6 mul r7, r8, r9 sub r0, r, r メモリ lw r, 4 (r4) 集中型命令ウィンドウ アウトオブオーダ処理の実現 命令ウィンドウ 命令ウィンドウ = 実行可能な命令を選び出す機構 (d) アウトオブオーダ実行 アウトオブオーダ完了 (a) クロック (b) 0クロック (a) 集中型 デコーダ 命令ウィンドウ 集中型 分散型 = リザベーションステーション (c) 9 クロック (d) 8 クロック タグ 命令 add r, r, r タグ 命令 mul r4, r5, r6 タグ 命令 sw r5, 0 (r6) sub r0, r, r mul r7, r8, r9 lw r, 4 (r4) リザベーションステーション () リザベーションステーション () リザベーションステーション () (b) 分散型 ( リザベーションステーション )

データ依存性再考 データ依存の分類 フロー依存 命令 A で書き込んだ値を後続の命令 B で読み出すことで起こる A B の依存関係 真の依存関係ともいう 逆依存 命令 A で読み出したレジスタ ( メモリ語 ) に後続の命令 B が書き込みを行うことで起こる A B の依存関係 出力依存 命令 A で書き込んだレジスタ ( メモリ語 ) に後続の命令 B が再度書き込みを行うことで起こる A B の依存関係 逆依存と出力依存は 主にレジスタ数の不足からくる依存 cf. インオーダの場合 フロー依存だけを意識すればよく で解決していた データ依存の例題 mul r, r, r add r4, r, r5 add r5, r6, r7 4add r4, r8, r9 5add r0, r4, r 6add r, r0, r フロー依存 : (r) 5 (r4) 4 5 (r4) 5 6 (r0) 逆依存 : (r5) 出力依存 : 4 (r4) データ依存とデータハザード 例題のパイプライン実行 フロー依存 A(read after write) ハザード 逆依存 A(write after read) ハザード 出力依存 A(write after write) ハザード mul r, r, r add r4, r, r5 add r5, r6, r7 add r4, r8, r9 (A) (A) (A) add r0, r4, r (A) add r, r0, r (A) アウトオブオーダ実行が可能であっても 種類の依存関係からくるハザードによって 実行時の並列度が下がる

レジスタリネーミング ソフトウェアによるレジスタリネーミング レジスタリネーミング レジスタ番地のつけかえによる逆依存 出力依存の解消 やりかた ソフトウェア ソフトウェアによるレジスタリネーミング = 機械語プログラムの書き換え mul r, r, r add r4, r, r5 add r4, r6, r7 4add r5, r8, r9 5add r0, r5, r 6add r, r0, r mul r, r, r add r4, r, r5 add r4, r6, r7 add r5, r8, r9 add r0, r5, r add r, r0, r (A) (A) クロックの実行短縮 ソフトウェアによるリネーミングの問題点 ハードウェアによるレジスタリネーミング () () 機械語プログラムで指定できるレジスタ数には限界がある () CPU のアーキテクチャの細部 ( 特に並列動作可能なユニット数 ) にプログラムが影響を受けるため 透過性 互換性が失われる もとの命令 add r0, r4, r mul r, r, r r r r r4 r5 r6 r7 r8 r9 r0 r r r 5 4 6 7 8 9 0 変換後の命令 add 0, 5, (a) による命令の変換 はリネームのステージ mul,, add r4, r, r5 add 4,, 5 (A) () 機械語プログラムの変換の手間がかかる add r5, r6, r7 add r4, r8, r9 add 4, 6, 7 add 5, 8, 9 add r0, r4, r add 0, 5, add r, r, r add,, (A) (b) マッピング機構を入れたパイプライン

ハードウェアによるレジスタリネーミング () vs 書き込み ( リタイア ) レジスタ値またはタグアドレス ハードウェア 機構 動作 単純 複雑 オペランドデータ ( 命令ウィンドウへ ) (a) によるリネーミング 命令実行結果 パイプライン長 + ステージ増えない e0 e r 8 add r0, r4, r e e r4 wait 新しいエント e4 リe4の確保 e5 r0 wait 対応するエントリからの値 タグの読み出し add e4, wait(e), 8 命令ウィンドウへ (b) の動作 アウトオブオーダ処理を行うプロセッサの構成 () アウトオブオーダ処理を行うプロセッサの構成 () パイプラインステージ PC パイプラインステージ PC フェッチ 命令レジスタ add r0, r4, r add r, r, r 命令キャッシュ フェッチ 命令レジスタ add r0, r4, r add r, r, r 命令キャッシュ リネーム リネーム デコード リネーム後の命令 add 0, 5, add,, レジスタ読み出し デコード リネーム後の命令 add 0, 5, add,, レジスタ読み出し 集中型命令ウィンドウ タグ 演算器 命令 add,, wait(4) mul 4,, - 集中型命令ウィンドウ タグ 演算器 命令 add,, wait(4) mul 4,, - デコード mul 7, wait(5), sub 0, 4, デコード mul 7, wait(5), sub 0, 4, メモリ lw, 4 (0x) メモリ lw, 4 (0x) 実行 データキャッシュ 実行 データキャッシュ 結果格納結果格納

アウトオブオーダ処理を行うプロセッサの構成 () プロセッサの性能 パイプラインステージ フェッチ デコード 結果格納 命令レジスタ add r0, r4, r add r, r, r デコード タグ命令 add e,, wait(e5) sub e,, -40 リザベーションステーション () 実行 PC add e7, wait(e), 8 add e8, 8, 書き込み ( リタイア ) タグ命令 mul e, 5, - mul e4, wait(e8), リザベーションステーション () 命令キャッシュ タグ命令 sw e5, 0 (wait(e0)) lw e6, 4 (0x4) リザベーションステーション () データキャッシュ 性能指標 ( 例 ) クロックあたりの平均実行命令数 クロック周波数 クロックあたりの平均実行命令数 増やす方法 命令スケジューリング 分岐予測 キャッシュ 命令レベル並列処理 アウトオブオーダ処理 減る要因 分岐予測の失敗 キャッシュミス TLB ミス ページフォルト ハザード クロック周波数 パイプラインの各ステージの複雑さによって決まる