在启动过程中,CPU从Reset Vector读取系统BIOS的地址,并跳转到存储BIOS的位置。我的问题是:
*由于BIOS存储在某些外部存储器(如EEPROM(而非主存储器)中),CPU如何访问此外部存储器?
*此外部存储器是否已映射到主存储器的某个区域? 并且CPU是否只是跳转到此映射区域以访问BIOS指令 或者它实际上是从存储BIOS的外部存储器访问指令?
答案 0 :(得分:2)
首先,我可以为您介绍详细的文章:
但是我在这里总结一下:
How is the BIOS ROM mapped into address space on PC?
Who loads the BIOS and the memory map during boot-up
0xffff0 and the BIOS(此处也解释/强调了有线地址映射)
What information does BIOS load into RAM?
下图说明了主板设计人员将如何设计可用于不同硬件外设的地址范围,使其位于特定范围内,然后操作系统负责分配RAM范围,以位于硬件区域未使用的范围内。不要忘记,每个内核(对于32位)只能访问4GB内存-但是可用的物理内存可能远远超过该数量。这是pagetable出现的地方。
答案 1 :(得分:-1)
通常,CPU通过与SPI连接来访问数据和信息,然后与EEEPROM进行通信,以完成所请求的任务或提供CPU请求的信息。 不,外部存储器没有映射到任何地方,没有CPU不会跳转到它。它根据机器的使用年限通过SPI或I ^ C与它或BIOS所需的内容进行通信。