谁在引导过程中加载BIOS和内存映射 [英] Who loads the BIOS and the memory map during boot-up

查看:425
本文介绍了谁在引导过程中加载BIOS和内存映射的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

对于BIOS,维基百科指出:

For the BIOS, Wikipedia states:

BIOS内存的地址位于这样的位置,以便在首次启动计算机时将其执行.然后,一条跳转指令将指导处理器开始在BIOS中执行代码.

The address of the BIOS's memory is located such that it will be executed when the computer is first started up. A jump instruction then directs the processor to start executing code in the BIOS.

我知道BIOS驻留在非易失性内存中.但是必须将其加载到RAM中才能执行.那么谁将BIOS加载到RAM中?

I know that BIOS lives in non-volatile memory. But it would have to be loaded into the RAM for it to be executed. So who loads the BIOS into RAM ?

我还读到在启动时会加载一个内存映射. BIOS是否加载此内存映射?在哪里存储?

I have also read that a memory map is loaded at start-up. Does the BIOS load this memory map ? Where is is stored ?

推荐答案

在初始开机时,BIOS是直接从ROM执行的. ROM芯片映射到处理器存储空间中的固定位置(这通常是芯片组的功能).当x86处理器退出复位状态时,它将立即从0xFFFFFFF0开始执行.

At initial power on, the BIOS is executed directly from ROM. The ROM chip is mapped to a fixed location in the processor's memory space (this is typically a feature of the chipset). When the x86 processor comes out of reset, it immediately begins executing from 0xFFFFFFF0.

但是,直接从ROM执行非常慢,因此通常BIOS要做的第一件事就是将BIOS代码复制并解压缩到RAM中,然后从那里执行.当然,必须首先初始化内存控制器! BIOS会事先对此进行处理.

However, executing directly from ROM is quite slow, so usually one of the first things the BIOS does is to copy and decompress the BIOS code into RAM, and it executes from there. Of course, the memory controller must be initialized first! The BIOS takes care of that beforehand.

内存映射的布局因系统而异.开机时,BIOS将查询连接的PCI/PCIe设备,确定需要哪些资源,并将它们放置在内存映射中的最佳位置.如果一切正常,则内存映射设备不应与RAM重叠. (请注意,在具有> 3GB RAM的64位系统上,事情变得复杂,因为对于32位PCI/PCIe设备,您需要在RAM的中间留一个孔.某些早期的x64 BIOS和芯片组对此存在问题. )

The memory map layout will vary from system to system. At power-on, the BIOS will query the attached PCI/PCIe devices, determine what resources are needed, and place them in the memory map at the optimal location. If everything is working properly, memory-mapped devices should not overlap with RAM. (Note that on a 64-bit system with >3GB of RAM, things get complicated because you need a "hole" in the middle of RAM for your 32-bit PCI/PCIe devices. Some early x64 BIOSes and chipsets had issues with this.)

这篇关于谁在引导过程中加载BIOS和内存映射的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆