谁在启动期间加载BIOS和内存映射

对于B IOS,维基百科说:

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中?

我还读到在启动时加载了内存映射. BIOS加载此内存映射吗?存放在哪里?

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

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

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

相关文章
相关标签/搜索