頁表

頁表

頁表是一種特殊的數據結構,放在系統空間的頁表區,存放邏輯頁與物理頁幀的對應關係。 每一個進程都擁有一個自己的頁表,PCB表中有指針指向頁表。

基本介紹

  • 中文名:頁表
  • 存儲方式:基本分頁存儲管理方式
  • 所屬領域:作業系統
地址結構,作用,基本分頁存儲管理方式,分級頁表,具有TLB(轉換後備緩衝器)的頁表結構,

地址結構

邏輯地址:CPU所生成的地址。CPU產生的邏輯地址被分為 :p (頁號) 它包含每個頁在物理記憶體中的基址,用來作為頁表的索引;d (頁偏移),同基址相結合,用來確定送入記憶體設備的物理記憶體地址。
地址轉化地址轉化
物理地址:記憶體單元所看到的地址。邏輯地址空間為2^m,且頁大小為2^n,那么邏輯地址的高m-n位表示頁號,低n位表示頁偏移。
邏輯地址空間:由程式所生成的所有邏輯地址的集合。
物理地址空間:與邏輯地址相對應的記憶體中所有物理地址的集合,用戶程式看不見真正的物理地址。
註:用戶只生成邏輯地址,且認為進程的地址空間為0到max。物理地址範圍從R+0到R+max,R為基地址,地址映射-將程式地址空間中使用的邏輯地址變換成記憶體中的物理地址的過程。由記憶體管理單元(MMU)來完成。
分頁邏輯地址 =P(頁號).d(頁內位移)
分頁物理地址=f(頁幀號).d(同上)
P = 線性邏輯地址/頁面大小
d= 線性邏輯地址-P*頁面大小

作用

實現從頁號到物理塊號的地址映射。
邏輯地址轉換成物理地址的過程是:用頁號p去檢索頁表,從頁表中得到該頁的物理塊號,把它裝入物理地址暫存器中。同時,將頁內地址d直接送入物理地址暫存器的塊內地址欄位中。這樣,物理地址暫存器中的內容就是由二者拼接成的實際訪問記憶體的地址,從而完成了從邏輯地址到物理地址的轉換。

基本分頁存儲管理方式

用固定大小的頁(Page)來描述邏輯地址空間,用相同大小的頁框(Frame)來描述物理記憶體空間,由作業系統實現從邏輯頁到物理頁框的頁面映射,同時負責對所有頁的管理和進程運行的控制。

分級頁表

一個32位邏輯地址空間的計算機系統,頁大小為4KB,那么頁表有一百萬條目。假設每個條目占4B,則需要4MB物理地址空間來存儲頁表本身。利用多級頁表,可以減少頁表所占用的空間。
二級頁表的頁表項二級頁表的頁表項
一個邏輯地址(32位系統,頁大小 4K) 可以被分為 :一個20位的頁號 +一個12位的偏移。如果對頁表進行再分頁,那么頁號分解為:一個10位的頁號 +一個10位的偏移。因此,一個邏輯地址表示如下 :p1 是用來訪問外部頁表的索引, p2 是外部頁表的頁偏移。
此時,兩級32位分頁結構的地址轉換機制如下:
兩級頁表的地址轉化兩級頁表的地址轉化

具有TLB(轉換後備緩衝器)的頁表結構

轉換後備緩衝器TLB(translation lookaside buffer)是小、專用、快速
的硬體緩衝,只包括頁表中的一小部分條目。如果頁號在TLB中,得到幀號,訪問記憶體;否則從記憶體中的頁表中得到幀號,將其存入TLB,訪問記憶體。
帶TLB的地址轉化帶TLB的地址轉化

相關詞條

熱門詞條

聯絡我們