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

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

< B8CDD8AB B83685D>

020105.メモリの高機能化

PowerPoint プレゼンテーション

Microsoft PowerPoint - No7note.ppt

hard5.pptx

Microsoft PowerPoint - No6note.ppt

Microsoft PowerPoint - arc5

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

スライド 1

計算機アーキテクチャ

Microsoft PowerPoint - OS09.pptx

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

Microsoft PowerPoint - OS07.pptx

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

Operating System 仮想記憶

OS

スライド 1

出 アーキテクチャ 誰が 出 装置を制御するのか 1

Microsoft PowerPoint - ARC-SWoPP2011OkaSlides.pptx

Microsoft PowerPoint - 11Web.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

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

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

スライド タイトルなし

計算機アーキテクチャ

Microsoft PowerPoint - ARC2009HashiguchiSlides.pptx

スライド 1

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

コンピュータ工学Ⅰ

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

スライド 1

10-vm1.ppt

コンピュータ工学Ⅰ

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

Microsoft PowerPoint - OS11.pptx

スライド 1

PowerPoint Presentation

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

ComputerArchitecture.ppt

Microsoft PowerPoint - Sol7 [Compatibility Mode]

Microsoft PowerPoint - arc12

PowerPoint プレゼンテーション

Microsoft PowerPoint - OS12.pptx

メモリ管理

Microsoft PowerPoint - ICD2011TakadaSlides.pptx

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

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

OS

メモリ管理

定 義 アクセス 要 求 を 発 行 する 機 構 と,その 供 給 に 応 える 機 構 との 中 間 に 位 置 し,すべての 要 求 を 検 知 して 処 理 するよう 構 築 される. キャッシュは 選 択 されたデータの 局 所 的 なコピーを 保 持 し, 可 能 な 場 合 にはアクセ

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)

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

スライド 1

PowerPoint プレゼンテーション

6. パイプライン制御

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

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

スライド 1

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

PowerPoint プレゼンテーション

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

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

Microsoft PowerPoint - t-kubo07PN-LAMBDA-slide.ppt

スライド 1

スライド 1

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

メモリについて考えてみよう_REL_

Microsoft PowerPoint - OS12.pptx

01-introduction.ppt

PowerPoint プレゼンテーション

計算機システム概論

スライド 1

Microsoft PowerPoint - kougi7.ppt

Microsoft PowerPoint mm2

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

計算機のリソースとは 1.CPU 2. 主記憶 3. 補助記憶装置 の抽象化

Microsoft PowerPoint - OS04.pptx

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

OS 論文購読チャレンジ 仮想マシンのメモリ管理 浅井明里 王力捷

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

スライド 1

Microsoft Word - r0703.doc

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

スライド 1

Microsoft PowerPoint - OpenMP入門.pptx

Microsoft PowerPoint - OS08.pptx

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

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

また RLF 命令は 図 2 示す様に RRF 命令とは逆に 各ビットを一つずつ 左方向に回転 ( ローテイト ) する命令である 8 ビット変数のアドレスを A とし C フラグに 0 を代入してから RLF A,1 を実行すると 変数の内容が 左に 1 ビットシフトし 最下位ビット (LSB)

Microsoft PowerPoint - pc11.ppt

スライド 1

Microsoft PowerPoint ppt

計算機ハードウエア

Microsoft PowerPoint - ARCICD07FukumotoSlides.pptx

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

MMUなしプロセッサ用Linuxの共有ライブラリ機構

PowerPoint プレゼンテーション

Microsoft PowerPoint - Chap4 [Compatibility Mode]

Microsoft PowerPoint ppt

Transcription:

計算機システム Ⅱ キャッシュと仮想記憶 和田俊和

講義計画 1. コンピュータの歴史 1 2. コンピュータの歴史 2 3. コンピュータの歴史 3 4. 論理回路と記憶, 計算 : レジスタとALU 5. 主記憶装置とALU, レジスタの制御 6. 命令セットアーキテクチャ 7. 演習問題 8. パイプライン処理 9. メモリ階層 : キャッシュと仮想記憶 ( 本日 ) 10. 命令レベル並列処理 11. 命令実行順序の変更 12. 入出力と周辺装置 :DMA, 割り込み処理 13. 演習問題 14. 現代的な計算機アーキテクチャの解説 15. 総括と試験 教科書 : 坂井修一著 : 電子情報通信学会レクチャーシリーズ C 9, コンピュータアーキテクチャ, コロナ社 最終回の試験によって成績評価を行う.5 回以上欠席で不合格とする.

本日の講義の範囲

5.1 記憶階層 ( キャッシュと仮想 記憶を包含する, 総論 )

5.1.1 命令パイプラインとメモリ パイプラインを動かすためには, メモリの読み書きを 1 クロックで済ませる必要がある. バス駆動を伴うメモリアクセスは遅い. 遅いメモリのコピーを高速なメモリにとって使う

5.1.2 記憶階層と局所性 高速小容量メモリには, よく使われる命令やデータが格納される. 低速大容量メモリには, プログラムカウンタが指すことの出来る全ての命令と, ロード, ストアできる全ての命令が格納されている. 1. 空間的局所性 あるメモリ語が参照された際に, その周辺の語も参照され易い. 2. 時間的局所性 あるメモリ語が参照された際に, その語が時間をおかずに再び参照され易い. 人間も同じ. 長期記憶と短期記憶がある.

5.1.3 透過性 高速メモリへのデータのコピーや, メモリへの書き戻しを, プログラマに意識させない. CPU と主記憶の関係だけしか見えないようにする. HDD 主記憶 ( 補助記憶装置仮想記憶 ) ( 物理メモリ ) ( プログラム間で干渉しない, 大容量化 ) キャッシュ ( 高速化 ) CPU

5.2 キャッシュ

5.2.1 キャッシュとは何か キャッシュは命令パイプラインの動作速度でデータの読み書きが出来なければならない. キャッシュライン ( ブロック ) 1 キャッシュには何も入っていない (a) 2 最初のデータが参照されるとキャッシュにそのデータと周辺の数語のメモリも入れられる.(b) 3 引き続きデータの参照が起きるとキャッシュにデータが入れられる.(c) 4 メモリ参照時にはまずキャッシュが参照され, ここにデータがあれば, 実際のメモリアクセスは生じない.(d) 5 キャッシュがいっぱいになると不要なデータは捨てられ, 新しいデータがキャッシュに入れられる. (e)

現金ではありません.

5.2.2 ライトスルーとライトバック Write through, Write back CPU がキャッシュに対する書き込みを行った場合, 元のメモリにもこの変更を書き戻す必要が生じる. このタイミングの違い. 即座に書き戻す キャッシュライン ( ブロック ) キャッシュから追い出されるときに書き戻す

ライトバック, ライトスルーの比較 項目 Write through Write back メモリアクセス ストア命令の実行時 キャッシュライン追い出し の時 Write 命令の実行速度 Write buffer の速度キャッシュの速度 キャッシュライン書き戻し 不要 キャッシュライン書き出し の時 実装単純複雑 ライトスルーの場合には速度が遅くなりすぎるので, キャッシュと, 主記憶の間に write buffer という比較的高速なメモリを設けるのが普通である.

5.2.3 ダイレクトマップ型キャッシュの機構と動作 読み出し : タグ 求めるキャッシュラインかどうかの判定 インデックス キャッシュライン上の位置 1. インデックスから, キャッシュラインとタグを読み出す. 2. メモリアドレスのタグと, タグを比較し, 一致していればヒット, そうでなければミス 1. ヒットしていればキャッシュライン内オフセットを参照してキャッシュからデータを読み出す. 2. ミスしていた場合は, 主記憶に書き戻し, メモリからここにデータを読み出す. そして, キャッシュからデータを読み出す.

ダイレクトマップ型キャッシュの機構と動作 : 書き込み タグ 求めるキャッシュラインかどうかの判定 インデックス インデックス % ライン数 = キャッシュラインの番号 1. インデックスから, タグを読み出す. 2. 書き込みアドレスのタグと,1 のタグを比較し, ヒットかミスかを判定 1. ヒットしていればキャッシュライン内オフセットを参照してキャッシュにデータを書き込む. デ 2. ミスしていた場合は, 主記憶に書き戻し, ここに所望のデータを読み出してくる. その上で, オフセットを参照してキャッシュにデータを書き込む.

用語 マルチプレクサ : 多数の信号を一本のラインに乗せて送出するための機構 デマルチプレクサ : 一本のラインの信号を複数のラインにつなぎ替えて送出する機構.

5.2.4 キャッシュミス 初期参照ミス : (compulsory miss, cold start miss) 最初にキャッシュラインにアクセスすることで生じるミス 競合性ミス : (conflict miss, collision miss) 同じインデックスを持つ異なるキャッシュラインにアクセスすることで生じるミス. 容量性ミス : (capacity miss) キャッシュに入れたいラインの数がキャッシュの容量を上回ることで起こるミス. 3 つの C

競合性ミスの実例 : Dec Alpha CPU 21064 幅の広い銅配線でクロックを上げるだけという超高速 CPU. キャッシュはダイレクトマッピング形のキャッシュのみ. 小技は殆ど使わない, 王道の高速化路線. しかし, 下記の背景差分計算をすると, 何故か極めて速度が落ちた. ある単純なことをするだけで, 全く同じアルゴリズムであるのに, 速度が 6 倍も向上した. ー =

5.2.5 フルアソシアティブ形キャッシュと セットアソシアティブ形キャッシュ ダイレクトマッピングは, 高速であるが, 競合性のミスが多発する可能性がある. インデックスを使わずタグだけでキャッシュラインを求める. は, 複数個存在するという意味 回路が大規模になり, 遅延も発生しやすいため, 小規模のキャッシュでしか用いられない.

セットアソシアティブ形キャッシュ インデックスの剰余によって決まるキャッシュラインを複数持つことで, キャッシュ競合を回避する. 一つのインデックスに対して,A 本のキャッシュラインが保持される場合,A を 連想度 と呼び, 方式を A ウエイのセットアソシアティブ形キャッシュ と呼ぶ.

セットアソシアティブ形キャッシュ ライン数 L, セット数 S, 連想度をAとすると L=S A フルアソシアティブは,S=1とした場合.

質問はありませんか? ダイレクトマップ形キャッシュメモリの連想度 A はいくら? 何故, 有効ビットがあるのでしょう? セットとは何でしょうか?

5.2.6 キャッシュの入った CPU 命令キャッシュとデータキャッシュは通常分けておく.( パイプライン動作で競合が起きるのを避けるため ) ミスの際は, パイプライン全体を止め, ラインをキャッシュからメモリに書き戻し, メモリから必要なラインをキャッシュに読み込んだ後, パイプラインの実行を行う.

キャッシュの入った CPU

5.2.7 キャッシュの性能 プログラムの実行時間を,CPU が動いている時間と, メモリがストールしている時間に分ける. T p = T cpu +T mstall プログラムの命令数 N, ロードストア命令の割合 r ls, メモリストールは全てキャッシュミスによって起こると考え, ミスの割合 r,1 回のミス当たりのストール時間 t miss, クロックを C mstall [Hz] とすると. T p = N 1+ r ls r miss t mstall C が成り立つ. は主記憶の速度で決まる. t mstall

例題 5.1 r ls = 0.3 のとき, 下記のミス率, ミスペナル ティで速度はどの程度落ちるか? N C 本来の速度 1+ r ls r miss t mstall 実行時間相対値

例題 5.1

5.3 仮想記憶

5.3.1 仮想記憶とは何か 低速大容量の補助記憶装置 ( 二次記憶 ) を利用して, 主記憶の容量を大きく見せるための透過的な仕組み. 効果 5.B 仮想記憶の原理 仮想アドレス (virtual address) 物理アドレス (physical address) [ 変換 ] 二次記憶のデータ 主記憶のデータ [ コピー, スワップ ] 1 大きなメモリを要するプログラムが書けるようになる. 2 複数のプログラムが 1 つの物理記憶を安全に分け合って使えるようになる.

5.3.2 仮想記憶の構成 アドレス変換と, ページスワップ機構. ページスワップは時間がかかるので, ページのミスが発生しにくいフルアソシアティブ方式を採用. ページテーブルによるアドレス変換 有効 =1 ならメモリ上有効 =0 なら二次記憶 ページテーブルは, 各プログラム ( プロセス ) 毎に主記憶上の連続した領域にとられるが, ユーザプログラムでは, 書き換えられない.

5.3.3 ページフォールト 有効ビット =0 のページは主記憶上ではなく, 二次記憶の上に存在する. ここのページに対してアクセスが起きることを ページフォールト と呼ぶ. ページフォールト時の処理手順 1. CPU の処理を中断 2. もし, 主記憶に空き領域がなければ, 主記憶上のページを 2 次記憶に書き出す. ページテーブルも更新. 3. 二次記憶上のページデータを主記憶に転送する. 4. ページテーブルの物理アドレスを書き換え, 有効ビットを 1 にする. 5. CPU の処理を再開する.

5.3.4 TLB ページテーブル専用のキャッシュ (transla[on lookaside buffer) フルアソシアティブのキャッシュ 1. メモリアクセスが起きると仮想ページアドレスをタグとして TLB の参照が起きる. 2. TLB がヒットすると, 物理ページアドレスが取り出され, ページ内オフセットと組み合わせて物理アドレスが生成される. 3. TLB がミスすると, ページテーブルが参照され, その結果が TLB の空き部分に書き込まれる. 4. 空いていない場合は空きが作られる.

5.4 メモリアクセス機構

5.4.1 キャッシュと仮想記憶 キャッシュと仮想記憶の組み合わせ方ページテーブルの参照は省略して記述してある. 速度的には遅いが, キャッシュサイズに制限がなく, エイリアスの問題も発生しない. 速度的には速く, エイリアスの問題も発生しないが, キャッシュのサイズがページ内オフセットに制限される. 速度的には速く, キャッシュのサイズにも制限はないが, 二つの仮想アドレスが一つの物理アドレスを指してしまう現象 ( エイリアス ) が発生する. キャッシュサイズを特に大きくしたいなどの要求名なければ, へいれつ物理アドレスキャッシュが良いとされる.

5.4.2 メモリアクセス機構 並列物理アドレスキャッシュ 仮想ページアドレスを対象とした TLB はフルアソシアティブ ページ内オフセットについては,2 ウェイセットアソシアティブキャッシュ

本日の講義の範囲