我是x86 cpu的新手。x86保护模式内存管理
我读到关于x86保护模式的内存管理的所有材料。
的材料是英特尔®64和IA-32架构软件开发人员手册卷3A,系统编程指南,第1部分
我相信我明白了很多步骤设置CPU访问内存。 :选择器寄存器是段描述符表的索引,描述符表的条目是段的基址,线性地址是段的基址和32位偏移的加法。
但是,什么我'迷惑的是,它似乎对我来说,CPU可以不知道哪个内存地址也将在第一时间访问,直到上述的所有步骤完成。如果CPU想要访问特定的内存地址,它必须知道选择器的值和偏移量。但我的问题是如何知道? CPU知道的唯一信息就是它想访问的内存地址吗?
如何CPU知道输入(选择数值,偏移量)已经当它只知道输出(内存地址)?
GDT地址是一个线性地址,否则CPU会产生我相信你指的循环性问题。如果那不是你问的,你能更精确吗? –