我是x86 cpu的新手。x86保護模式內存管理
我讀到關於x86保護模式的內存管理的所有材料。
的材料是英特爾®64和IA-32架構軟件開發人員手冊卷3A,系統編程指南,第1部分
我相信我明白了很多步驟設置CPU訪問內存。 :選擇器寄存器是段描述符表的索引,描述符表的條目是段的基址,線性地址是段的基址和32位偏移的加法。
但是,什麼我'迷惑的是,它似乎對我來說,CPU可以不知道哪個內存地址也將在第一時間訪問,直到上述的所有步驟完成。如果CPU想要訪問特定的內存地址,它必須知道選擇器的值和偏移量。但我的問題是如何知道? CPU知道的唯一信息就是它想訪問的內存地址嗎?
如何CPU知道輸入(選擇數值,偏移量)已經當它只知道輸出(內存地址)?
GDT地址是一個線性地址,否則CPU會產生我相信你指的循環性問題。如果那不是你問的,你能更精確嗎? –