Outline Physical Memory vs Virtual Memory Memory Management

  • Slides: 25
Download presentation

Outline � Physical Memory vs. Virtual Memory � 虛擬位址轉換成實體位址 �Memory Management Unit (MMU) �Page

Outline � Physical Memory vs. Virtual Memory � 虛擬位址轉換成實體位址 �Memory Management Unit (MMU) �Page �TLB(Translation Look-aside Buffer) �Swap �CPU Bus

Outline � Physical Memory vs. Virtual Memory � 虛擬位址轉換成實體位址 �Memory Management Unit (MMU) �Page

Outline � Physical Memory vs. Virtual Memory � 虛擬位址轉換成實體位址 �Memory Management Unit (MMU) �Page �TLB(Translation Look-aside Buffer) �Swap �CPU Bus

Outline � Physical Memory vs. Virtual Memory � 虛擬位址轉換成實體位址 �Memory Management Unit (MMU) �Page

Outline � Physical Memory vs. Virtual Memory � 虛擬位址轉換成實體位址 �Memory Management Unit (MMU) �Page �TLB(Translation Look-aside Buffer) �Swap �CPU Bus

Outline � Physical Memory vs. Virtual Memory � 虛擬位址轉換成實體位址 �Memory Management Unit (MMU) �Page

Outline � Physical Memory vs. Virtual Memory � 虛擬位址轉換成實體位址 �Memory Management Unit (MMU) �Page �TLB(Translation Look-aside Buffer) �Swap �CPU Bus

Page(1/4) �MMU將記憶體切割成許多大小相同的Page �頁數(page number) Page Number �頁偏移量(page offset) p �Page的大小為 2的次方 Frame Page 0

Page(1/4) �MMU將記憶體切割成許多大小相同的Page �頁數(page number) Page Number �頁偏移量(page offset) p �Page的大小為 2的次方 Frame Page 0 Frame 0 Page 1 0 1 Page 2 1 4 2 Page 3 2 3 3 Page 2 3 7 4 Page 1 Page Table 5 Virtual Memory 1 Page 0 6 7 Page 3 Physical Memory Page Offset d

Page(2/4) �Page Table位於Main Memory內 �Page Table儲存了虛擬位址到實體位址間的對映 欄數 Valid bit 0 0 1 (V) 1

Page(2/4) �Page Table位於Main Memory內 �Page Table儲存了虛擬位址到實體位址間的對映 欄數 Valid bit 0 0 1 (V) 1 2 1 (V) 0 Page 0 2 1 1 (V) 1 Page 2 Page 0 3 3 1 (V) 2 Page 1 4 4 1 (V) 3 Page 2 5 5 1 (V) 4 Page 3 - 0 (i) 5 Page 4 - 0 (i) 6 Page 5 Disk Page Table 7 Main Memory

Page(4/4) �Page Fault : 當一Page要被執行時,此Page不在Memory裡 MMU interrupt

Page(4/4) �Page Fault : 當一Page要被執行時,此Page不在Memory裡 MMU interrupt

Outline � Physical Memory vs. Virtual Memory � 虛擬位址轉換成實體位址 �Memory Management Unit (MMU) �Page

Outline � Physical Memory vs. Virtual Memory � 虛擬位址轉換成實體位址 �Memory Management Unit (MMU) �Page �TLB(Translation Look-aside Buffer) �Swap �CPU Bus

Outline � Physical Memory vs. Virtual Memory � 虛擬位址轉換成實體位址 �Memory Management Unit (MMU) �Page

Outline � Physical Memory vs. Virtual Memory � 虛擬位址轉換成實體位址 �Memory Management Unit (MMU) �Page �TLB(Translation Look-aside Buffer) �Swap �CPU Bus

Flow Chart

Flow Chart

Example 0 Page 208 Page 301 Page 99 Page 302 Page 101 Page 403

Example 0 Page 208 Page 301 Page 99 Page 302 Page 101 Page 403 Page 207 Page 504 Disk (1 TB) Frame Valid bit 1 V 1 3 V 2 - i 3 - i 4 427 V 5 5 v 0 Page 6 1 Page 0 2 Page 255 3 Page 1 4 Page 427 5 Page 5 6 Page 313 7 Page 7 8 Page 80 Page 2097151 - i Memory (8 GB)

Outline � Physical Memory vs. Virtual Memory � 虛擬位址轉換成實體位址 �Memory Management Unit (MMU) �Page

Outline � Physical Memory vs. Virtual Memory � 虛擬位址轉換成實體位址 �Memory Management Unit (MMU) �Page �TLB(Translation Look-aside Buffer) �Swap � CPU Bus

CPU BUS (1/2) �Address Bus (單向) �負責傳送CPU所要存取資料的位址 �決定CPU所能處理的Memory容量 �若有N條Address Bus Line表示有 的Memory Space Ø

CPU BUS (1/2) �Address Bus (單向) �負責傳送CPU所要存取資料的位址 �決定CPU所能處理的Memory容量 �若有N條Address Bus Line表示有 的Memory Space Ø Address表示 �Control Bus (單向) �負責傳送CPU所發出的控制訊號 Ø RD讀取控制 Ø WR寫入控制 Ø NMI(Non-Maskable Interrupt)無罩中斷 : 硬體ERROR Ø INTR(Interrupt Request)可罩中斷 : Device需要CPU處理 Ø INTA(Interrupt Request Acknowledge)中斷認可 Ø HOLD停頓請求 Ø HLDA(Hold Acknowledge)停頓認可

Linux Kernel Page Table PGD PUD Virtual Address PMD PTE OFFSET mm_struct PGD :

Linux Kernel Page Table PGD PUD Virtual Address PMD PTE OFFSET mm_struct PGD : Page Global Directory PUD : Page Upper Directory PMD : Page Middle Directory PTE : Page Table Entry Physical Memory

Linux Code page

Linux Code page

Linux Kernel Swap LRU : Least Recently Used

Linux Kernel Swap LRU : Least Recently Used