当前位置: 首页 > news >正文

x86平台加电后执行的第一行代码

x86平台加电后执行的第一行代码,其物理地址位于0xFFFFFFF0,这个地址也被称为复位向量(Reset Vector)

第一条指令的寻址奥秘

这里有个很巧妙的设计。在刚上电时,CPU处于实模式,这个模式下理论上只能访问1MB的内存空间。但0xFFFFFFF0这个地址远大于1MB,它是如何工作的呢?

关键在于CPU内部代码段(CS)寄存器的初始值被特殊处理了。

  1. 特殊的初始状态:上电时,CPU的指令指针(EIP)寄存器被设为0x0000FFF0,而代码段(CS)的“基址”部分被硬件强制设为0xFFFF0000,而不是常规的0x000F0000

  2. 地址合成:第一条指令的物理地址由CS基址 + EIP合成,即0xFFFF0000 + 0x0000FFF0 = 0xFFFFFFF0

  3. 硬件映射:这个特殊的物理地址,在硬件层面会被主板映射到存放BIOS/UEFI固件的ROM芯片(或SPI Flash)上,因此CPU可以在这里取到第一条指令。

这条指令长什么样?

0xFFFFFFF0处存放的并非复杂的操作系统代码,通常是一条跳转(Jump)指令,它的作用是“接力”,将执行流引导到BIOS/UEFI固件代码真正开始的地方。

例如,在开源的UEFI参考实现(EDK2)中,这里的代码简单到只有两条NOP(空操作)指令和一条JMP跳转指令:

; 位于地址 0xFFFFFFF0 nop ; 第一条指令 nop ; 第二条指令 jmp ... ; 跳转到真正的BIOS启动代码

后续启动流程简述

执行完这第一条跳转后,CPU就正式进入了固件的世界,之后会经历一个类似“接力赛”的过程:

  • BIOS/UEFI固件:进行上电自检(POST)并初始化硬件。

  • 主引导记录(MBR):固件将启动设备的第一个扇区(512字节)加载到内存地址0x7C00并跳转执行。

  • Bootloader:MBR中的代码(如GRUB stage1)会加载更完整的Bootloader,再由后者将Linux内核加载到内存地址0x100000

  • Linux内核:内核接手后,开始执行其自身的初始化代码(入口在arch/x86/kernel/head_32.S等文件中),最终将控制权移交给操作系统。

所以,0xFFFFFFF0是x86系统上电后一个至关重要的物理坐标,它连接了硬件电路和复杂的软件世界。这个过程非常巧妙,用一段小小的代码,就完成了从硬件到固件再到操作系统的跨越。

x86平台开机执行的第一行代码,位于主板固件(BIOS/UEFI)的ROM或Flash芯片中。因此,它并不属于Linux内核源码的一部分,而是由固件厂商(如Intel、AMI等)提供的代码。

http://www.jsqmd.com/news/1342605/

相关文章:

  • 2024年如何从零开始搭建一套高转化的商城类网站建设指南与避坑全解析
  • 2026年石家庄栾城区电线电缆公司优选指南 - 产品评测官
  • 2026年保定抖音运营热门公司结合本地产业带选保定盛世龙华网络科技有限公司 - 品牌优推
  • Dreamina Seedance 2.5实战指南:Skill OS如何重塑AI视频生成工作流
  • FoundationPose实战指南:CVPR 2024 Highlight项目的6D姿态估计环境部署深度解析
  • 如何用10分钟语音数据训练高质量的RVC变声模型:从入门到精通
  • 区块链的发展
  • 2026年头疗养发品牌大比拼:谁是真正值得信赖的选择? - 产品评测官
  • Forge Pump Surrogate异常检测功能实战:基于AI模型的工业泵健康状态预警
  • 【单片机毕业设计】基于 STM32/51 单片机的手动自动双模式水质预警装置设计 基于 STM32 的水环境阈值可调声光报警监测终端实现(011002)
  • 科普:Tg的客户端与服务端校验逻辑浅析
  • 泛影视站群cms V12.31.104.zip
  • 2026年北京遗产继承律师推荐:从遗嘱订立到房产过户全流程 - 本地品牌推荐
  • 2026太原别墅装修找谁靠谱?高端别墅全案整装,认准太原金螳螂 - 滚动商讯
  • Differ在生产环境中的应用:Airbnb工程师的实践经验分享
  • 从论文到代码:Granite-Timeseries-PatchTSMixer的KDD 2023创新点全解读
  • 如何3步创建AI虚拟主播:PersonaLive完整使用指南
  • 笑傲江湖武功排名
  • 2026不锈钢非标定制供应厂家实力评估:佛山攀和与西安南泰的差异化路径 - 优企名品
  • Scene-Editor:构建下一代Web 3D场景编辑器的终极指南
  • 本体论(Ontology)视角下的知识图谱实战拆解
  • H3模型开源获vLLM-Omni支持:从部署到实战的完整指南
  • 汾阳、孝义管道疏通清理公司推荐|专业化粪池清理、高压管道清洗、清淤吸污服务 - 产品评测官
  • 2026年租车App体验测评:下单取还哪家更流畅 - 科技焦点
  • 维普AI率降完怎么快速确认真的降够了?别等正式送检才发现没达标。
  • 从零部署MiniMax H3大模型:基于vLLM-Omni的本地推理服务实战指南
  • 深圳CPPS考试 - 众智商学院cppm官方
  • 2026中央空调回收详细流程与注意事项|最新环保拆机处置标准科普 - 产品评测官
  • 瑞华丽PLM系统:研发数据管理与协同的高效解决方案
  • Diffusion-GAN模型评估指南:FID/IS/PPL等关键指标计算方法