首页 > 解决方案 > 在现代计算机上启动时,在第一微秒内究竟发生了什么?

问题描述

这里和其他地方有很多关于一般启动顺序和逻辑设计的问题和答案。但是,我很难理解从根本上一开始到底发生了什么。

例如,描述第一步的常用方法是“一旦主板通电,它就会初始化自己的固件——芯片组和其他花絮——并尝试让 CPU 运行。” 来自:https ://manybutfinite.com/post/how-computers-boot-up/

关键问题在于“它初始化”。“它”的确切性质以及“初始化”的含义根本不清楚。

(我也不太确定什么时候可以认为固件已经“启动”)

我可以理解为“电源开关”打开的前几纳秒,然后再过几纳秒以允许电源跨越距离到达主板上“初始化”电路的任何位置。然后大概开始了一些电脉冲序列,然后???然后机器代码执行开始。

据我所知,这差不多。

那么在“初始化”发生的剩余时间内会发生什么?

标签: bootbiosmachine-codemotherboard

解决方案


当主板上电时,不仅 CPU,而且所有其他芯片和设备(内存、定时器、中断控制器、DMA、视频、磁盘等)都进入明确定义的状态。

我猜这就是Gustavo Duarte 所说的固件初始化。实际上固件是一个固定在 ROM 中的程序,它不会初始化。RAM 中较低地址的 BIOS 内存变量稍后将由 CPU 执行Power-On-Self-Test和其他杂务来初始化。

有关更多详细信息,请参阅 Wikipedia 上的引导
英特尔处理器如何引导?,
引导英特尔系统架构


推荐阅读