【问题标题】:Why do GDT and IDT haven't a better define?为什么 GDT 和 IDT 没有更好的定义?
【发布时间】:2015-04-28 22:17:05
【问题描述】:

我正在学习 Intel x86 架构,我想知道为什么 GDT 没有这样的良好结构:

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

但是

limit(16bit) | base(16bit) | base_mid(8bit) | access(8bit) | gran(8bit) | base_high(8bit)

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

【问题讨论】:

  • 询问英特尔硬件设计人员。
  • 为什么有人反对我的问题?我只是不明白为什么Intel的设计者喜欢将一些寄存器的值分片而不是按顺序保留,我想如果没有这些原因,他们不会这样做
  • 可能是硬件设计的限制。

标签: architecture x86 operating-system intel osdev


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多