首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >系统BIOS ROM的地址0xFFFFFFF0是否已硬连线?

系统BIOS ROM的地址0xFFFFFFF0是否已硬连线?
EN

Stack Overflow用户
提问于 2014-04-15 13:50:24
回答 2查看 1K关注 0票数 5

我从之前的堆栈溢出答案中读到了以下内容:

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

跟进问题,

此地址0xFFFFFFFF0是否仅用于访问系统BIOS ROM,并且在系统启动并运行后,此地址0xFFFFFFFF0不能被RAM使用?

另外,当此地址0xFFFFFFFF0用于访问系统BIOS ROM时,CPU是否将其作为IO设备或存储设备进行访问?

EN

回答 2

Stack Overflow用户

发布于 2014-04-15 20:37:40

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

在PC硬件上有一种称为"shadowing"的通用技术,它会将只读存储器芯片的内容复制到映射到同一地址的随机存取存储器中。RAM通常比ROM快得多,所以它可以加快系统的速度。

关于你的第二个问题,它是一个存储设备。这肯定是出于以下原因:

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

Stack Overflow用户

发布于 2014-04-17 01:26:39

它被映射到全局内存空间,并以相同的方式进行寻址。通常,RAM不应映射到其他设备使用的任何地址范围。这是很常见的。您可能还记得几年前,在64位操作系统成为家用PC上的标准操作系统之前,用户可以安装4 GB的物理内存,但由于显卡映射到512 MB的地址空间,可能只有3.5 GB可访问。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23075586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档