Operating system 英特尔重置向量

Operating system 英特尔重置向量,operating-system,x86,x86-64,computer-architecture,bios,Operating System,X86,X86 64,Computer Architecture,Bios,可能重复: 系统启动时(英特尔),复位向量位于地址0xFFFFFFF0(小于4G的16字节)(如上链接所述)。该地址包含到BIOS所在位置的跳转。我阅读了答案、评论和参考链接,也做了一些搜索,但仍然无法理解如何将32位地址映射到16位(实模式) 我的困惑是,在这个链接中,作者提到地址F000:FFF0(16字节小于1MB)包含到BIOS所在位置的跳转 如何将0xFFFFF0映射到F000:FFF0?它甚至被映射了吗 如果计算机没有4G的物理内存,假设它只有1G,那么0xfffff0地址在哪里 提

可能重复:

系统启动时(英特尔),复位向量位于地址
0xFFFFFFF0
(小于4G的16字节)(如上链接所述)。该地址包含到BIOS所在位置的跳转。我阅读了答案、评论和参考链接,也做了一些搜索,但仍然无法理解如何将32位地址映射到16位(实模式)

我的困惑是,在这个链接中,作者提到地址
F000:FFF0
(16字节小于1MB)包含到BIOS所在位置的跳转

  • 如何将
    0xFFFFF0
    映射到
    F000:FFF0
    ?它甚至被映射了吗
  • 如果计算机没有4G的物理内存,假设它只有1G,那么
    0xfffff0
    地址在哪里

  • 提前感谢您的帮助。

    如果有机会,我将用参考资料编辑此内容

    386手册规定,地址行31-20在复位时为高电平,直到遇到JMP,然后再次为低电平。地图其实并不存在,这更像是一种黑客行为


    如果没有RAM的地址空间(在一个内存为1GB的系统中),芯片组会将ROM代码而不是RAM映射到该地址。将RAM放在那里是没有意义的,因为在第一次通电时,那里没有代码可执行,因此它必须是非易失性的。

    如果有帮助,则是主板逻辑或“芯片组”确保重置向量(0xFFFFFFF0h)处的指令远跳到映射到系统BIOS入口点的内存位置(0x0000:0x000F0000h)。总之,每个“主板”都实现了这种“跳转黑客”。[Thanx Gustavo Duarte了解这一解释。查看他的智能博客:因此,如果您的32位系统中安装了4 GB,“芯片组”逻辑将与已安装RAM的最后16字节重叠,并带有“jump 0x0000:0x000F0000h”指令代码。@fante所以0xffffff0h可能会跳转到spi闪存?0x000F0000h将在闪存中?您可以吗k相对于闪存设备,这将是什么?