在windows環境下,cpu的工作方式有三種:實模式:和8086工作一樣(一般為開機時初始化計算機的時候),此時一個任務獨占cpu
保護模式:即計算開機后所處的狀態,此時可以運行多個程序,多線程。
虛擬8086模式:即計算機處於保護模式時運行的dos程序,此時處於保護模式,即在保護模式下模擬實模式,使之前8086下能運行的軟 件在保護模式下仍能運行,實現兼容。
80386相對於8086來說,尋址機制改變了,因為80386需要能尋找到更大的地址,所以之前的段地址:偏移地址已經不夠如此大的空間,所以使用一種新的機制,直接用一個通用寄存器來尋址(64位),而因為windows的保護機制(對操作有限制),系統需要知道各個段的信息(如是否可讀可寫),這樣才更好的執行保護,此時便有了段描述表,即將段的信息存儲成一張表,然后用段寄存器來尋址(段寄存器被稱為段描述符),此時就增加了兩個寄存器,即GDTR(全局描述表),和LDTR(局部描述表),LDTR通過windows的分頁機制來進行定位。
windows對中斷的處理不能向8086那樣,windows對用戶的操作作了一些權限,用戶級的代碼不能隨便使用系統級的代碼,就肯定不能像8086那樣,還可以隨便改變中斷程序,80386提供了一個門,用來訪問中斷程序,低級程序調用高級程序,只能通過門來調用,於是80386增加了一個寄存器IDTR,用來存放IDT(中斷描述表)的地址。
80386相對於8086尋址更加靈活,還可以改變中斷描述表的地址等,但也對用戶的操作作了更多的限制。
