计算机的启动原理

本文详细介绍了计算机从开启电源到执行操作系统的启动流程,包括自检、初始化寄存器、执行BIOS中的代码、BIOS检测、加载MBR、切换到保护模式、MMU工作原理以及多核CPU的启动。着重阐述了内存地址的计算、BOIS的角色、MBR的加载位置以及操作系统加载的过程。
摘要由CSDN通过智能技术生成

1.开启电源
2.启动自检
3.初始化所有寄存器,其中的CS:0xF000、IP:0xFFF0
4.如果存在异常,则将异常写入EAX中。
5.检测EAX的值是否正常。如果不为0,则发生错误。
6.CPU开始执行CS:IP处代码。
注意:在64位CPU环境下,平时的工作都是在保护模式下进行的。使用的都是虚拟地址来访问内存。由内存管理单元MMU负责做地址转换(虚拟地址->物理地址)。但在开机时,虚拟地址转换所需的页目录、页表等数据都尚未加载,所以MMU暂时无法使用。因此开机时使用的都是16位寄存器。在实地址模式下运行使用的是真实物理地址(段地址x16+偏移地址),最大寻址空间为1MB。0xF000:0xFFF0表示的物理地址:0xFFFF0。即cs左移4位。2的20次方最大1MB也就是0xFFFFF。而0xFFFF0指向的就是接近末端的位置。
在这里插入图片描述

7.刚开机时,内存中是没有数据的。因为内存中的数据都是动态写入的,关机就会消失。所以在开机后,主板BOIS就会将自己ROM中的数据映射到内存中。
8.CPU开始执行CS:IP(0xFFFF0)处指令。而这个地址处的指令是一个jmp XXXX的跳转指令,这是一种非常好的兼容写法,方便日后的扩展改动。这样CPU就不需要进行改动,无论主板怎么更新,CPU开机第一件事就是执行0xFFFF0处指令。
9.BOIS开始对计算机进行各种检测。而此时需要注意的是,整个CPU的执行过程都是单核的,也就是其他的核心都在摸鱼。只有等操作系统加载后,才会正真发挥多核作用。
10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孤月丶星辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值