CPU启动:执行第一条指令的奥秘
需积分: 44 18 浏览量
更新于2024-09-26
收藏 37KB DOC 举报
"CPU在启动过程中执行的第一条指令通常存储在ROM中,而非RAM,因为RAM中的信息在断电后会丢失。在8086时代,CPU执行的BIOS第一条指令的地址是0XF000:FFF0H,这是通过设置CS寄存器为0XF000实现的。随着技术发展,80386及后续处理器,为了不割裂地址空间,CPU会在实模式下启动,CS寄存器被设置为F000h,但其shadow register的Base被设置为FFFF0000h,使得第一条指令的物理地址变为FFFFFFF0h。这条指令通常是一个远跳转到F000:XXXX,以开始执行BIOS代码。"
在计算机启动过程中,CPU执行的第一条指令是一个至关重要的步骤,它标志着系统的初始化阶段开始。早期的8086系统中,由于内存限制,BIOS(基本输入输出系统)被存储在ROM中,位置固定在内存地址的高端,即0FFFF0H。这个地址是由CS(代码段)寄存器设置为0XF000,偏移量为FFF0H来确定的。第一条指令通常是一个跳转指令,用于控制启动流程的继续。
随着技术进步,80386及更高级别的处理器引入了更大的地址空间。为了保持兼容性并避免地址空间被分割,CPU在复位后仍然将CS设置为F000h,但它的shadow register(影子寄存器)的Base设置为FFFF0000h,而不是理论上的000F0000h。这样做使得第一条指令的物理地址变为最高位的4GB地址FFFFFFF0h。尽管如此,执行的仍然是一个类似于8086时代的远跳转指令,例如 jmp F000:E05B,来启动BIOS执行流程。
这条远跳转指令在执行后会更新CS寄存器,将其设置为F000h,从而开始执行BIOS中的实际启动代码。BIOS的主要任务包括硬件自检(POST,Power-On Self Test)、初始化系统设备、加载引导装载程序等,这些步骤都是操作系统能够接管前必须完成的。
总结来说,CPU在启动时执行的第一条指令是BIOS的一部分,它位于ROM中,确保即使断电也能保持不变。这个指令的执行标志着系统启动过程的开始,通过跳转到BIOS的其他部分,逐步进行系统的初始化工作,最终引导操作系统加载。这个过程在不同世代的CPU中有所变化,但其核心目的始终不变:确保计算机系统能够正确、有序地启动。
2011-03-24 上传
2023-08-03 上传
2023-08-03 上传
2023-06-12 上传
2023-02-06 上传
2023-06-13 上传
2023-05-05 上传
2023-06-04 上传
2023-06-12 上传
zhengkesong
- 粉丝: 3
- 资源: 20
最新资源
- 掌握数学建模:层次分析法详细案例解析
- JSP项目实战:广告分类系统v2.0完整教程
- 如何在没有蓝牙的PC上启用并使用手机蓝牙
- SpringBoot与微信小程序打造游戏助手完整教程
- 高效管理短期借款的Excel明细表模板
- 兄弟1608/1618/1619系列复印机维修手册
- 深度学习模型Sora开源,革新随机噪声处理
- 控制率算法实现案例集:LQR、H无穷与神经网络.zip
- Java开发的HTML浏览器源码发布
- Android闹钟程序源码分析与实践指南
- H3C S12500R升级指南:兼容性、空间及版本过渡注意事项
- Android仿微信导航页开门效果实现教程
- 深度研究文本相似度:BERT、SentenceBERT、SimCSE模型分析
- Java开发的zip压缩包查看程序源码解析
- H3C S12500S系列升级指南及注意事项
- 全球海陆掩膜数据解析与应用