メモリに関する話題(2) - 仮想メモリ Memory (2) – Virtual Memory

Slides:



Advertisements
Similar presentations
だい六か – クリスマスとお正月 ぶんぽう. て form review ► Group 1 Verbs ► Have two or more ひらがな in the verb stem AND ► The final sound of the verb stem is from the い row.
Advertisements

て -form - Making て -form from ます -form -. With て -form, You can say... ~てもいいですか? (= May I do…) ~てください。 (= Please do…) ~ています。 (= am/is/are doing…) Connecting.
第 5 章 2 次元モデル Chapter 5 2-dimensional model. Contents 1.2 次元モデル 2-dimensional model 2. 弱形式 Weak form 3.FEM 近似 FEM approximation 4. まとめ Summary.
VE 01 え form What is え form? え? You can do that many things with え form?
スーパースカラ Super Scalar From CPI(Clock/Instruction)to IPC(Instruction/clock) スーパースカラ/Super Scalar 考え方 - 複数命令の同時実行構造 Basic idea: Simultaneous issues of several.
07. 値予測 五島 正裕.
計算機工学III オペレーティングシステム #14 ファイル: より進んだファイルシステム 2006/07/21 津邑 公暁
07. 値予測 五島 正裕.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
計算機システムⅡ キャッシュと仮想記憶 和田俊和.
第6回 仮想記憶とページング ページング ページ取り出し方式 ページ置き換え方式 中間テスト(40分)
メモリ管理(1).
オペレーティングシステム 第10回 仮想記憶管理(1)
メモリに関する話題(1) - Cache Memory (1) - Cache
英語勉強会.
第1回レポートの課題 6月15日出題 今回の課題は1問のみ 第2回レポートと併せて本科目の単位を認定 第2回は7月に出題予定
Chapter 11 Queues 行列.
キャッシュ 頻繁にアクセスされるデータを入れておく小規模高速なメモリ 当たる(ヒット)、はずれる(ミスヒット) マッピング(割り付け)
Object Group ANalizer Graduate School of Information Science and Technology, Osaka University OGAN visualizes representative interactions between a pair.
Noun の 間(に) + Adjective Verb てform + いる間(に) during/while.
Ch13-1 TB250 てフォーム.
App. A アセンブラ、リンカ、 SPIMシミュレータ
INSERTを高速化したPostgreSQL
SP0 check.
第7章 データベース管理システム 7.1 データベース管理システムの概要 7.2 データベースの格納方式 7.3 問合せ処理.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第3回 CPUの管理と例外処理 OSによるハードウェアの管理 CPUの構成、動作 CPUの管理 例外処理、割り込み処理 コンテキストスイッチ
Tohoku University Kyo Tsukada
Windows Summit /8/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
にほんご JPN101 Sep. 23, 2009 (Wednesday).
十年生の 日本語 Year 10 Writing Portfolio
Licensing information
SAP & SQL Server テクニカルアーキテクチャ概要 マイクロソフト株式会社 SAP/Microsoft コンピテンスセンター
Chapter 4 Quiz #2 Verbs Particles を、に、で
Provisioning on Multiple Network(NIC) env
“You Should Go To Kyoto”
Nihongo Japanese 日本ご ‘Numbers ’ & ‘Hiragana Revision’
メモリ管理 4.3, 4.4 章 さだ.
ストップウォッチの カード ストップウォッチの カード
Lazy Release Consistency
ISO 9001:2015 The process approach
“Survey of System Virtualization Techniques” by Robert Rose のまとめ
作りながら学ぶコンピュータアーキテクチャ(改訂版)授業資料 テキスト ページ対応 天野英晴
Cache Organization for Memory Speculation メモリ投機を支援するキャッシュの構成法
WLTC Mode Construction
全国粒子物理会 桂林 2019/1/14 Implications of the scalar meson structure from B SP decays within PQCD approach Yuelong Shen IHEP, CAS In collaboration with.
Traits 形質.
Term paper, Report (1st, first)
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Where is Wumpus Propositional logic (cont…) Reasoning where is wumpus
第7回 授業計画の修正 中間テストの解説・復習 前回の補足(クロックアルゴリズム・PFF) 仮想記憶方式のまとめ 特別課題について
コンピュータの基本構成について 1E16M001-1 秋田梨紗 1E16M010-2 梅山桃香 1E16M013-3 大津智紗子
Windows Summit /24/2019 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
研究会 「LHCが切り拓く新しい素粒子物理学」
メモリ投機を支援する CMPキャッシュコヒーレンスプロトコルの検討
22 物理パラメータに陽に依存する補償器を用いた低剛性二慣性系の速度制御実験 高山誠 指導教員 小林泰秀
2019/4/22 Warm-up ※Warm-up 1~3には、小学校外国語活動「アルファベットを探そう」(H26年度、神埼小学校におけるSTの授業実践)で、5年生が撮影した写真を使用しています(授業者より使用許諾済)。
Term paper, report (2nd, final)
第1回レポートの課題 6月24日出題 今回の課題は1問のみ 第2回レポートと併せて本科目の単位を認定 第2回は7月に出題予定
Genetic Statistics Lectures (4) Evaluation of a region with SNPs
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
Created by L. Whittingham
英語音声学(7) 音連結.
Mondriaan Memory Protection の調査
Cluster EG Face To Face meeting
Grammar Point 2: Describing the locations of objects
Measurements of J/ψ with PHENIX Muon Arms in 2003 p+p Collisions
Term paper, report (2nd, final)
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Improving Strategic Play in Shogi by Using Move Sequence Trees
Presentation transcript:

メモリに関する話題(2) - 仮想メモリ Memory (2) – Virtual Memory Multi-Process Systemと割り込み (and Interrupt) 論理アドレスと物理アドレス Logical address (virtual memory) and physical address (real memory) Segment and page 動的アドレス変換方式 Mechanism of Dynamic Address Translation (DAT) Translation Look-aside Buffer (TLB) 福永 力; Chikara Fukunaga

バーチャルメモリの発展 Ideas behind the virtual memory 実際のメモリサイズに制限されずに大きなプログラムを実行させたい. Requirement to run a large scale program without the limitation of actual memory size もしサイズが大きくて全部ロードできない場合一部はディスクなど2次補助記憶装 置に待避させる Use the 2ndary (auxiliary) memory device (disk) for temporally storage if the program size is larger than a limit. もしmulti-programming環境になればメモリの管理が複雑になる.使えるメモリも 制限される.またプロセスが実行されるたびに異なるメモリ空間にプログラムは Loadされる. Memory management will be complicated under the multi-programming environment. The size of the memory for a process will be also limited. The program will be loaded each time on a different memory space. プロセス(プログラム)を一貫したメモリ空間で管理(論理スペース) Management of a process in a coherent space (logical space) 論理スペースを細かく分離させて管理しメモリの効率の良い利用を図る Logical space for the program will be segmented in order to use the real memory as effective as possible 福永 力; Chikara Fukunaga

Multi-program 環境(Environment) と割り込み(and Interrupt) CPU処理速度とI/O処理の大きな違いを利用した複数(あたかも)同時処理システムをマルチプログラミング環境 The environment for program(s) to be able to be loaded and run during the I/O processing of the currently running program is called “the multi-programming environment”. 福永 力; Chikara Fukunaga

Multi-programming 環境(Environment) Definitions of several terms Process = プログラム+データ Task = プロセスの一部、OSが自分 でしきりやすいように 切り取る. Thread = プロセスの一部、同時に多数 のThreadが並列的に実行 可能、プログラマによって 準備される 福永 力; Chikara Fukunaga

割り込みフロー(Interrupt flow) 割り込みが起きた場合のプロセスの流れ Flow diagram for interruption Interruptの元の解析でInterrupt Vectorのアドレスが解明されそこに記録された割り込みアドレスに制御が飛ぶ An address of interrupt vector will be identified from the origin of interrupt. The address registered there will be executed. 福永 力; Chikara Fukunaga

割り込みの種類(例) Origins of Interruption (examples) I/O interrupt:I/O動作の(正常、異常)終了 Normal/abnormal completion of I/O actions Program interrupt:計算例外事象の発生 Exceptional events like overflow/underflow Abnormal instructions、addressing error プログラム割り込み/program interrupt 割り込み命令(trap)/Interrupt by trap Instruction Segmentation/page faults Access control error Event handling SVC(SuperVisor Call):優先度の高いシステムコールの利用 I/O System call with special high priorities External interrupt (timer for time sharing, h/w) 福永 力; Chikara Fukunaga

プロセスセグメンテーション Segmentation of a process プログラムがコンパイルされ実行形式のプログラムが作られるとプログラムパート、データパート、実行時の作業領域などがいくつかのセグメントに分類される. At the completion of compiling, an executable program module is divided into several segments with program, data and/or working parts. 一般にセグメントはさらに一定長をもつページにさらに分割される.セグメントの長さに決まりはない. A Segment is further divided into several pages with constant size. The size of a segment is not constant but normally variable. 福永 力; Chikara Fukunaga

プロセスの実空間へのマッピング Mapping of processes onto the physical space ひとつひとつのプロセスは実空間 にロードされて実行がなされるが 自分が利用できる空間は限られて いて実行形式イメージすべてが実 空間に載せられるわけではない. Each process will be executed on the physical space after it is loaded on MS. But the whole image is not loaded since the space is limited. プロセスはセグメント単位で論理空 間(プロセスごとにほぼ無限に設定 できる)にアドレスされる. Once a process is assigned in an infinite logical space with unit of segment base. 福永 力; Chikara Fukunaga

論理アドレスへのプロセスセグメント配置 Segmentation deployment on the logical space すべてのセグメントは論理空間に連続的に分配されるのではなくのちの物理空間のアドレスと対応しやすいようにとびとびのアドレスをもって論理空間に配置される. All the segments will not be normally allocated contiguously, but addressing for a segment is determined conveniently for real adress mapping. したがって論理空間にはどのセグメントにも利用されない空間ができうる可能性がある There will be spaces not used for any segments in the logical addressing space. 福永 力; Chikara Fukunaga

論理空間と物理空間をマップする Dynamic Address Translation (DAT) Mapping between Logical and Physical spaces OSはプロセスに記載されているプロセスのセ グメント、ページデータを読み取りセグメント ごと、またその中のページごとに表をMSに用 意する.セグメントテーブル、ページテーブル などと呼ぶ. OS makes two tables called segment and page tables in MS. A segment table for a segment, a page table for each page in the segment. セグメントテーブルのMSでのアドレスSTOは レジスタ(CR1)に入れる. OS puts the starting address of the segment table (STO) in a register (called, say CR1 in this case). SX(Segment index)、PX(Page index)および BX(Byte index)にもとづき表を作成する. An entry in the table is created with its virtual address (SX,PX). 最後にPFA+BXで実際のアドレスが決定され る.PFAはOSが供給 PFA+BX is used for address in physical space. PFA is supplied by the OS 福永 力; Chikara Fukunaga

DAT several words このDAT解説図に出てくることばの意味 Explanation of words used in this figure 福永 力; Chikara Fukunaga

Translation Look-aside Buffer(TLB) MSにロードされているセグメントやページのデータをDATを使わずに素早くアクセスするためTranslation Look-aside Bufferが利用される.原理はCacheと同じである. For quick reference of Data in a segment or page already loaded in MS, Translation Look-aside Buffer is prepared. The principle is more-or-less similar to Cache. 福永 力; Chikara Fukunaga

Cache構成のキーポイント(2) Optimization of Cache (2) Replacement方式 Cache memory replacement method Restore動作- 更新アルゴリズム Restoring of Cache data – rewrite algorithm Compulsory(初動遅延; Initial delay; cache initial state) Conflict:ブロック集中アクセスによるミス (ダイレクトマップ,セットアソシエーティブ) Conflict: Miss with concentrated access of particular blocks (Direct, Set-associative Mapping) 実行プログラムの特性(データアクセスの効率) Data access characteristics of programs run on the machine 福永 力; Chikara Fukunaga

Cacheパラメータ変更によるMiss rate実測値例 Measurement of Miss rate with Cache parameters From Hennessy & Patterson, CA A Quantum Approach 4th ed. Cache size 8,4,2, 1 Cache capacity → increase, capacity miss,conflict miss → decrease (Fig. C9) Number of ways → increase, conflict miss rate → decrease (Fig. C9) Block size → decrease, inefficient (Fig. C10) Block size → increase, miss rate → increase (Fig. C10) 1 ways miss rate ~ cache size 50% of 2 ways (Fig. C9) Cache size double → miss rate sqrt(2) (Fig. C9) 福永 力; Chikara Fukunaga

リプレースメント(旧データの追出し)方式 Replacement (Kick out) of old unused contents ミスヒットによるcache更新時のデータ追出しアルゴリズム Algorithm for the kick-out of old data with miss-hit Invalid bitタグのブロックの追放 Invalid tag bit to indicate the useless block LRU(Least Recently Used)ブロックの認定・追放 Recognition of Least Recently Used Block, and kick it out 履歴用(タイムスタンプ)のtag bitを必要とする need a time stamp information for each block FIFO(First-In First-Out) 最古参ブロックから追い出し The block entered first must be purged out first LRUより制御機構が簡単 (Simpler control logic than LRU, just sequence) ブロックのランダム抽出(Random Selection) 時間にかかわらずどのブロックのアクセス頻度は同じであろうという考え方 The frequency of access to any blocks will be more-or-less constant regardless of the time Cache Access Counter for each block cacheアクセスごと,あるいはクロックごとにカウンターを増やす.カウンター値と同じラインのブロックを追放,そしてカウンターリセット Count up with clock or access, and if it exceeds some limit, it will be candidate to be purged 福永 力; Chikara Fukunaga

データCache 書き込み制御 Restoring Control キャッシュ一貫性制御ともいう It is also called “Cache Coherence Control”. Data cacheのみが対象 The operation is applied to the Data cache. データ更新にともなうメインストレージへの再書き込み ストアスルーあるいはライトスルー (Store-Through or Write-Through) ストアイン,ライトバックあるいはコピーバック (Store-In,Write-Back or Copy-Back) 福永 力; Chikara Fukunaga

ストア(ライト)スルー Store(Write)-Through 書き込みデータのブロックがcacheでヒット(Write Cache hit)した場合,cacheデータとMSともに更新(Write) If the block to be modified by write is found in Cache (Write Cache hit), Both contents in cache and MS are modified. Write Cache missした場合,MSの対応ブロックのデータ更新するとともに If Write Cache miss, the corresponding block in the MS is updated but also cacheに当該ブロックを読込みMSとcacheをともに更新(Write Allocate),あるいは The block is also refilled into the cache, and it is updated, or cacheは何もせずMSのみ変更 No touch with the cache (only the MS will be affected). ライトバッファ(Write Buffer) メインストレージへのアクセス中CPU処理がストールされてしまう.この期間を最小限にするために中間バッファ(ライトバッファ)を持つ必要がある. We need a special buffer called “Write Buffer” in order to keep minimize the access time of the MS to avoid stalls in the CPU pipeline. 福永 力; Chikara Fukunaga

ストアインあるいはライト(コピー)バック (Store In or Write(Copy)-Back) Write Cache hitした場合,cacheのみ変更(Dirty) If write Cache hit, only Cache is modified (Dirty) Write Cache missした場合,必ずMSからcacheへ当該ブロックを読込み,cacheのみを変更しcacheとMSとで当該ブロックのある値が異なるという旨をマークしておく. (clean bitをOFF → dirty) If Write Cache miss, always the corresponding block is load into the Cache from the MS and is modified only in the cache. The block is marked up with “dirty” from “clean”. このブロックがcacheから追出されるときにメインストレージを更新する(ライトバック). (clean bitをON → clean) If this block is once kicked out, the MS is updated, and the block is backed to “clean”. Readではcacheのhit/missにかかわらずclean The block is kept “clean” for Read case regardless of the hit/miss. 福永 力; Chikara Fukunaga

ストアイン(ライトバック)キャッシュの状態遷移 State Transition Diagram for Store In (Write back) Cache mechanism 福永 力; Chikara Fukunaga

cacheの多重(マルチ)レベル化 Multi-Level Cache L1,L2 Victim(n-wayセットアソシエーティブ法cacheの追い出されたデータ保持用) Victim buffer for temporal storage buffer for blocks kicked out in the n-way set associative mapping. 福永 力; Chikara Fukunaga

cacheが有効でない場合(1) Some cases that the cache is not effective (1) C=C + A[i] * B[i] MFLOPS 配列長 Array size Performance (rate) 長い(要素の多い)ベクトル計算 Calculation of Long one dimensional arrays データ量がcacheサイズを越えるとパフォーマンスの低下が見える If the size exceeds the cache block size, the degradation of the performance サイズのみでなくcacheの構成をも考慮したプログラミングの配慮が必要 If the cache is structured in multi-level, the programming must be optimized with this structure. QCD (Physics) 福永 力; Chikara Fukunaga

cacheが有効でない場合(2) Some cases that the cache is not effective (2) 行列計算の繰り返し順序 Loop order for Matrix multiplication of Zij=ΣXik・Ykj CとFortranでは異なることも. Optimization of C and Fortran is different. 福永 力; Chikara Fukunaga