如何解决在现代计算机上启动时的第一微秒究竟发生了什么?
这里和其他地方有很多关于一般启动顺序和逻辑设计的问题和答案。但是,我无法理解一开始在基本层面上实际发生的情况。
例如,描述第一步的常用方法是“一旦主板通电,它就会初始化自己的固件——芯片组和其他花絮——并试图让 CPU 运行。”来自:https://manybutfinite.com/post/how-computers-boot-up/
关键问题在于“它初始化”。 “它”的确切性质和“初始化”意味着什么根本不清楚。
(我也不太确定固件什么时候可以被认为已经“启动”了)
我能理解的前几纳秒是“电源开关”打开,然后又是几纳秒,以使电源跨越距离到达主板上“初始化”电路的任何位置。然后大概是一些电脉冲序列开始,然后???然后机器代码开始执行。
据我所知,大概就这些了。
那么在剩余时间内会发生什么,以便“初始化”发生?
解决方法
当主板通电时,不仅CPU,所有其他芯片和设备(内存、定时器、中断控制器、DMA、视频、磁盘等)都进入明确定义的状态。
我猜这就是 Gustavo Duarte 所说的固件初始化。实际上固件是一个程序 硬连线在 ROM 中,它不会初始化。 RAM 中较低地址的 BIOS 内存变量稍后将由 CPU 执行开机自检和其他杂务来初始化。
更多详情见
Booting at Wikipedia,
How Does an Intel Processor Boot?,
Booting an Intel System Architecture。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。