Architecture 为什么GDT和IDT没有';这不是更好的定义吗?

Architecture 为什么GDT和IDT没有';这不是更好的定义吗?,architecture,x86,operating-system,intel,osdev,Architecture,X86,Operating System,Intel,Osdev,我正在学习英特尔x86体系结构,我想知道为什么GDT没有这样的结构: base(32位)| limit(16位)| acces(8位)| gran(8位) 但是 limit(16位)| base(16位)| base|u mid(8位)| access(8位)| gran(8位)| base|u high(8位) 英特尔喜欢“古怪”还是有一些原因?好吧,虽然我最初投票认为这个问题是离题的,但你对知识的追求已经足够执着了。您的问题的答案很简单:保护模式是在80286中引入的,它是一个16位CPU。

我正在学习英特尔x86体系结构,我想知道为什么GDT没有这样的结构:

base(32位)| limit(16位)| acces(8位)| gran(8位)

但是

limit(16位)| base(16位)| base|u mid(8位)| access(8位)| gran(8位)| base|u high(8位)


英特尔喜欢“古怪”还是有一些原因?

好吧,虽然我最初投票认为这个问题是离题的,但你对知识的追求已经足够执着了。您的问题的答案很简单:保护模式是在80286中引入的,它是一个16位CPU。 当时的段描述符具有非常统一的结构:


段描述符的字节#6和#7在80386中进行了扩展,以处理32位寻址,但仍与80286兼容。

好吧,虽然我最初投票将这个问题作为主题外的问题来结束,但你在寻求知识方面已经足够坚持不懈了。您的问题的答案很简单:保护模式是在80286中引入的,它是一个16位CPU。 当时的段描述符具有非常统一的结构:


段描述符的字节#6和#7在80386中得到扩展,以处理32位寻址,但仍与80286兼容。

问问英特尔硬件设计师。为什么有人否决我的问题?我只是不明白为什么英特尔的设计师喜欢分割一些寄存器的值,但不按顺序保留它,我想如果这些都不是原因,他们不会这样做。这可能是因为硬件设计的限制。问问英特尔的硬件设计师。为什么有人否决我的问题?我只是不明白为什么英特尔的设计人员喜欢分割一些寄存器的值,但不按顺序保留它,我认为如果没有这些原因,他们不会这样做,这可能是因为硬件设计的限制。