1. 程式人生 > >定址方式總結

定址方式總結

  1. 8086這種記憶體定址方式缺乏對記憶體空間的保護,因為對於每一個從段暫存器的內容確定的基地址,一個程序能訪問從它開始的64k位元組的連續地址空間,沒有限制,通過改變段暫存器的內容,一個程序可以隨意訪問記憶體中的任意一個單元,這就不能很好地保護程序和系統本身。這就是實地址模式。
  2. 80386是個32位的CPU,ALU資料匯流排是32位,所以他的定址能力達到了4千兆(4G),80386是在8086的基礎上,增添了兩個段暫存器:全域性性的段描述表暫存器GDTR和區域性性的段描述表暫存器LDTR。通過改變段暫存器的功能,讓它從基地址變為指向一些必要的資料結構的指標(指向段描述結構陣列),由於從內部地址轉換到實體地址的過程中必須要進行相關許可權的確認。
  3. 在80386保護模式中是段式儲存,但是更好地方法是頁式儲存管理,但是那些許可權管理還有其他的資料結構離不開段式存管,所以相當於在有段式存管所對映而成的地址上再加一層地址對映。(8086中因為不用頁式存管所以線性地址=實體地址,所以在保護模式下線性地址不再等同於實體地址,是先轉換為線性地址,再轉換為實體地址。)。把線性地址空間劃分為4K位元組的頁面,每個頁面被對映至物理儲存空間任意一塊大小為4K的區間,地址不一定連續。在頁面目錄中有1024項,每一項指向一個頁面表,在每個頁面表中有1024個頁面描述項,所以可以一層一層的找上去,