區分CPU中的使用者暫存器和控制暫存器。
使用者暫存器可以被機器指令讀寫。使用者暫存器分為資料暫存器和地址暫存器。
資料暫存器
這些暫存器儲存數值資料,例如整數,在某些架構中,還儲存浮點數、字元、小的位陣列和其他資料。在低端CPU中,一個特殊的被稱為累加器的暫存器隱式地用於許多操作。
地址暫存器
這些暫存器儲存地址,指令使用它們間接訪問主存。
一些處理器包含用於儲存地址或數值的暫存器。在某些情況下,它用作索引暫存器,其值作為某個地址的偏移量新增。存在多種可能的定址模式,用於指定運算元的有效地址。
堆疊指標用於管理執行時堆疊。它還管理由專用地址暫存器定址的其他資料堆疊,參見堆疊機。
控制暫存器
它被稱為處理器暫存器,它改變或控制CPU或系統中其他服務的通用行為。
控制暫存器執行的常見任務包括中斷控制、切換定址模式、分頁控制和協處理器控制。
控制暫存器的型別
CR0 − 對於高階處理器,它長32位。如果我們採用長模式下的x64處理器,它和其他控制暫存器長64位。CR0具有各種控制標誌,這些標誌修改處理器的基本操作。
CR1 − 保留暫存器。當CPU試圖訪問它時,會丟擲#UD異常。
CR2 − 它包含頁錯誤線性地址(PFLA)。每當發生頁錯誤時,程式試圖訪問的地址就會儲存在CR2暫存器中。
CR3 − 當啟用虛擬定址時使用,CR3使處理器能夠透過定位當前任務的頁目錄和頁表來將線性地址轉換為物理地址。
CR4 − 在保護模式下使用,用於控制虛擬-8086操作、啟用I/O斷點、頁面大小擴充套件和機器檢查異常。
CR5-7 − 保留暫存器,與CR1相同。
附加控制暫存器 - CR8,擴充套件功能啟用暫存器(EFER),XCR0和XSS
廣告