我正在学习英特尔x86架构,我想知道为什么GDT没有这样的结构:
base(32bit) | limit(16bit) | acces(8bit) | gran(8bit)
但
limit(16bit) | base(16bit) | base_mid(8bit) | access(8bit) | gran(8bit) | base_high(8bit)
英特尔是喜欢“古怪”还是有一些原因?
答案 0 :(得分:4)
好吧,尽管我最初投票决定将这个问题作为主题,但你在寻求知识方面仍然坚持不懈。你的问题的答案很简单:在80286中引入了保护模式,这是一个16位CPU。 那时段描述符具有相当的结构:
段描述符的字节#6和#7在80386中得到扩展,以处理32位寻址,但仍然与80286兼容。