Cyg*_*nus 7 memory boot x86 operating-system bios
对于BIOS,维基百科说:
BIOS内存的地址位于首次启动计算机时执行.然后,跳转指令指示处理器开始在BIOS中执行代码.
我知道BIOS存在于非易失性存储器中.但它必须加载到RAM中才能执行.那么谁将BIOS加载到RAM中?
我还读到在启动时加载了内存映射.BIOS加载此内存映射吗?存放在哪里?
myr*_*ack 11
初次上电时,BIOS直接从ROM执行.ROM芯片被映射到处理器存储空间中的固定位置(这通常是芯片组的一个特征).当x86处理器退出复位时,它立即从0xFFFFFFF0开始执行.
但是,直接从ROM执行是非常慢的,所以通常BIOS的第一件事就是将BIOS代码复制并解压缩到RAM中,然后从那里执行.当然,必须首先初始化内存控制器!BIOS事先处理好了.
内存映射布局因系统而异.在开机时,BIOS将查询连接的PCI/PCIe设备,确定所需的资源,并将它们放在最佳位置的存储器映射中.如果一切正常,内存映射设备不应与RAM重叠.(请注意,在具有> 3GB RAM的64位系统上,事情变得复杂,因为在32位PCI/PCIe设备的RAM中间需要一个"漏洞".一些早期的x64 BIOS和芯片组存在问题.)
归档时间: |
|
查看次数: |
6961 次 |
最近记录: |