是地址0xFFFFFFF0硬连线系统BIOS ROM?

Yet*_*ene 5 memory cpu bios

我从以前的堆栈溢出的答案阅读:

初次上电时,BIOS直接从ROM执行.ROM芯片被映射到处理器存储空间中的固定位置(这通常是芯片组的一个特征).当x86处理器退出复位时,它立即从0xFFFFFFF0开始执行.

跟进问题,

这个地址0xFFFFFFF0是否只是为了访问系统BIOS ROM而硬连接,之后系统启动并运行此地址0xFFFFFFF0不能被RAM使用?

此外,当该地址0xFFFFFFF0正在我们访问系统BIOS ROM中,在CPU访问它作为IO设备或存储器装置?

myr*_*ack 2

上电时,它是ROM。必须如此,否则 CPU 将无法启动。某些芯片组具有寄存器位,允许您从内存地址空间取消 BIOS 闪存芯片的映射。当然,您不应该在从 ROM 执行时执行此操作!

PC 硬件上有一种称为“影子”的常见技术,其中 BIOS 会将 ROM 芯片的内容复制到映射到同一地址的 RAM 中。RAM一般比ROM快得多,因此可以加快系统速度。

至于你的第二个问题,它是一个存储设备。一定因为以下几个原因:

  1. I/O 地址是 16 位,而不是 32 位。
  2. x86 处理器无法从 I/O 空间执行代码。不能将指令指针指向 I/O 地址。