【发布时间】:2014-02-04 07:00:22
【问题描述】:
我是系统架构的初学者,确切地说是 intel x86。 目前我正在阅读英特尔的手册(1,3a,3b,3c),我被困在分段部分。
据我所知,在保护模式下,系统正在将逻辑内存转换为线性内存(或物理内存) 并且“远指针”指向具有2个不同部分的实际线性(或物理)内存地址, 一个段选择器和一个偏移量。
我从大学学到的,每个段寄存器都有 16 位的数据, 根据英特尔的手册,16位只是段寄存器的可见部分, 但是段寄存器中有更多的隐藏部分,用户无法编程或访问。 我有可能知道段寄存器的实际大小吗?
第二个问题是关于保护模式的 LDT 、 GDT 、 IDT 寄存器。 这些寄存器(LDTr,GDTr,IDTr)是cpu芯片组中的实际寄存器吗? 如果是,是否有机会在启动序列后访问这些表(prevelige ring 3,用户模式)?
感谢您阅读我的问题。
PS。我试图谷歌它,但我找不到任何答案。 这就是我花时间写这个问题的原因。
【问题讨论】:
标签: cpu-registers descriptor memory-segmentation