按下电源键后发生了什么(按下电源键后发生了什么故障)

按下电源键后发生了什么(按下电源键后发生了什么故障)

一个程序是如何开始运行的呢?这个问题,一千个人有一千种回答。电脑用户说:“双击程序图标就行了啊。”;初级程序员信心满满的回答:“是从main函数开始执行的。”;高级程序员也许会和你聊到c运行时库,那里才是程序编译运行的第一条指令;而熟悉操作系统的专家却并不知道如何说起,程序加载器、重定位、堆和栈的建立、进程和线程的创建等等细节闪过脑海,哪里才是真正的源头呢?

同样问道计算机是如何启动的,也许答案就是按下电源键而已。但在那个简单到极致的动作后面却隐藏了复杂的机理。启动的开始并不仅仅是操作系统引导,亦或BIOS运行,甚至CPU在reset vector执行第一条指令之前,很多事情已经发生了。正如地球生命的发端并不由人类的到来而伊始,秘密隐藏在远古而不为人知的远古时代。让我们顺着时间回溯,站在一切发生的起点:“电源键按下”,通过时间的流转,梳理其中所有的硬件软件过程,来深入了解计算机的工作原理。

按下电源键后发生了什么(按下电源键后发生了什么故障)

史前时代:上电时序

上电时序,也叫做Power-up Sequence,是指电源时序关系。它牵扯到诸多计算机部件,在正式开始时间之旅之前,我们来介绍一下所有参与的小伙伴们。

按下电源键后发生了什么(按下电源键后发生了什么故障)

电源

ATX电源提供+12V、-12V、+5V、-5V、+3V和+5VSB等六种电压。也就是我们图上的两个白色的电源接入口。主板其他的不同电压是主板上的变压线路转换过来的,他们包括+3VSB、+1.5VSB、1.8VDual、2.5VDual、3VDual、VCore、VTDDR等等很多。

+12V主要是给CPU内核供电,它可以单独给PCIe设备供电,包括显卡等等。+5V应用最广,给USB等等外设供电。+5VSB等各种带SB的电压,是提供Stand By的供电,即在S3 Sleep时提供电力,保障唤醒和刷新。

主板右边中间那个纽扣电池,它叫做RTC电源,永不掉电。除非电池没电并且没接任何外部电源。 RTC用以保持机器内部时钟的运转和保证CMOS配置信息在断电的情况下不丢失。

时钟

电脑中的CPU,AGP、PCI插槽、SATA、USB端口和PS/2端口等在通信速度上有很大差异,所以需要提供不同的时钟频率。由ck410、ck505和iCLK等芯片将原先散布在不同地方的晶振和分频电路整合在一起,为CPU、SATA、PCI、USB等等设备提供基础频率。

电源时序控制芯片/电路

主板对于上电的要求是很严格的,各种上电的必备 条件都要有着先后的顺序,一项条件满足后才可以转到下一步,如果其中的某一个环节出现了故障,则整个上电过程不能继续下去。谁来控制和协调整个时序过程呢?不同的主板、芯片组、代际之间都有不同的方案,在笔记本上过去经常采用EC的方案、台式机则很多用SIO或者定制芯片,服务器上多用CPLD等等。现在很多电源时序控制被整合进了ME中,在面向嵌入式设备的Atom系列主板上则越来越多的引入了在手机等设备上常用的PMIC。

时间开始

我们通过一个古老的例子来了解一下开机的整个过程:

按下电源键后发生了什么(按下电源键后发生了什么故障)

  1. 在G3(未接电源)情况下,RTC电源提供RTC_RST#和VCC_RTC电源给南桥。
  2. 插入电源或者电池。系统进入G2,S5的状态。EC检查电源的可靠性,并发送PM_RSMRST#通知南桥各种SB电压已经准备完毕。南桥复位,部分功能SB功能激活,进入待机状态。
  3. 用户按下电源键,时间开始。
  4. EC收到PWRSW#信号,通过PM_PWRBTN#通知南桥。南桥收到PM_PWRBTN#信号后依次拉高SLP_S5#,SLP_S4#,SLP_S3#信号给EC。
  5. EC发出PCON#给ATX电源。
  6. ATX电源接到低电平的PSON#信号后,开始工作,发出各路基本电压给主板上的各个元件。
  7. 基本电压变换的其他电压也被转换出来。
  8. 电源发出PWROK#给EC,EC转交给南桥和北桥(有的话)
  9. VRM和CPU通讯,根据VID送出Vcore
  10. VRM发生VRMPWRGD#给南桥,表示核心电压OK。
  11. 南桥发送PLT_RST#给北桥。
  12. 南桥发送PWRGOOD#给CPU。
  13. 北桥在收到PLT_RST#信号后,1秒钟后发生CPU_RST#,让CPU复位

时序图如下:

按下电源键后发生了什么(按下电源键后发生了什么故障)

青铜时代:神秘消失的时间

在CPU复位后,是不是要立刻跳到reset vector开始执行BIOS程序了呢?还没有,pcode、on die rom会在这个阶段执行,TXT、boot guard等安全保障措施也在这里运行。

城邦时代:UEFI的四个阶段

CPU终于开始执行reset vector的代码了,这就进入了我们熟悉的UEFI的世界。我们之前已经有很多文章都有介绍UEFI的各个阶段,这里简单回顾一下:

按下电源键后发生了什么(按下电源键后发生了什么故障)

• 在SEC阶段,系统从复位开始运行(由主机引导处理器取回的第一指令),通过初始化处理器高速缓存(Cache)来作为临时内存使用,我们有了堆栈,从而可以执行c程序,然后转到PEI阶段。

• 在PEI最开始阶段,仅少量栈和堆可用,我们需要找到并使能足够我们使用的永久内存,通常是内存颗粒或内存条(DIMM),然后转入DXE。

• DXE阶段有了永久存储空间,真正开始负责初始化核心芯片,然后转换到BDS阶段。

• 核心芯片初始化完成后BDS阶段开始,并继续初始化引导操作系统(输入,输出和存储设备)所需的硬件。 纵观PI的整个阶段,BDS对应的是“执行UEFI驱动程序模型”来引导OS这一过程。

UEFI引导阶段步骤和驱动程序众多,经过多年发展,核心代码已经超过一百万行,俨然已经是个独立的小王国了。要理解UEFI,必须理解UEFI的目的:初始化硬件,安全启动操作系统,并为操作系统提供统一的硬件抽象。所有纷繁复杂的驱动和表象后面,都在为了这一目的服务。只要抓住这条主线,再遇到其他的知识点也就会豁然开朗了。

近代和现代:引导程序和操作系统

UEFI会在BDS阶段后加载操作系统引导程序,也就是OS loader。不同的OS有不同的Loader。一般用户都十分熟悉,我们这里不再赘述。

另外传统BIOS和BIOS引导方式已经被淘汰。Intel也宣布对传统BIOS兼容模式(CSM)在2020后不再支持(参考资料1)。网上诸多Int13、引导扇区等内容,除非对历史有兴趣,全部可以一笑而过了。

结论

按下电源键,CPU并不是第一个得到通知并立刻执行代码的。简单的开机后面隐藏了如此丰富的内容,这是很多人想象不到的。很多主板,尤其是很多服务器主板,从按下电源键到CPU开始执行UEFI固件程序,期间经历了很多隐藏的片段。这些片段可长可短,有的转瞬即逝、有的却让人等上片刻。它们究竟是什么,为什么存在,值得大家细细探究。

以上内容来源于网络,由“WiFi之家网”整理收藏!

原创文章,作者:电脑教程,如若转载,请注明出处:https://www.224m.com/202387.html

(0)
电脑教程电脑教程
tl-wr886n登录密码-tlwr885n路由器管理员密码.
上一篇 2023年6月6日 12:18
新买的无线路由器怎么安装(手机安装路由器的步骤图)
下一篇 2023年6月6日 12:24

相关推荐

  • 怎么选购电脑 看这5点硬件配置就懂了

    如今计算机已经成为大学生、社会精英群体等不可缺少的一件日常用品,但是大家在购买电脑的时候总是会关心电脑的配置,比如内存、硬盘容量、cpu性能等。但是苦于没有一些理论知识,总觉得买的心里不踏实。今天小编就从大家日常的疑问上出发,来为你介绍常用的计算机的一些参数。内存越大计算机运行越快么?计算机运作是

    2021年9月1日
    5.2K
  • 优酷路由宝赚不到金币该怎么办?

    摘要:优酷路由宝赚不到金币该怎么办?现在许多朋友都抢到了优酷路邮宝。但是使用了一段时间后却发现,赚到的有金币很少甚至一个都没有赚到,针对小伙伴的疑问,你给大家分析一下原因......

    2023年4月27日
    143
  • 路由器网络不好要怎么设置(路由器网络设置)

    路由器网络不好要怎么设置(路由器网络设置) 随着互联网的普及,家庭网络已经成为了人们生活中必不可少的一部分。然而,有时我们会遇到路由器网络不好的情况,这时该怎么办呢?以下是一些路由…

    网络 2024年11月21日
    137
  • 什么是IPv6?IPv6和IPv4有什么区别

    在前面的一期文章中我详细分享了IP地址的有关知识,在那篇文章中我也提到了IPv6,那什么是IPv6呢?今天就给大家分享下IPv6的相关知识,希望对大家有所帮助。首先我们先了解一下什么是IPv6? IPv6被称为 下一代网际协议 ,最初开发它旨在解决IPv4面临的地址耗尽危机。我们知道IPv4提供了

    2021年8月30日
    9.4K
  • 路由器过滤网怎么设置(手机怎么进入路由器设置)

    路由器过滤网怎么设置(手机怎么进入路由器设置) 路由器过滤网是指通过设置一定规则限制特定设备或者特定网站上网的一种技术手段。设置路由器过滤网可以有效保护家庭网络的安全,防止网络攻击…

    网络 2024年12月13日
    0
  • Win10下锁屏壁纸无法设置且锁屏预览显示灰色(图)

    原标题:"Win10下锁屏壁纸无法设置且锁屏预览显示灰色"相关电脑问题教程分享。 - 来源:WiFi之家网。众所周知windows系统中自带有锁屏功能,在一段时间内没有碰电脑的话就会自动进入锁屏状态,而

    2021年8月22日
    5.6K
  • 腾达(Tenda)NH326无线路由器设置上网教程

    腾达(Tenda)NH326无线路由器的安装和上网设置方法,一台新购买的腾达NH326路由器实现上网,需要经过以下3个设置步骤:1、腾达NH326路由器安装;2、设置电脑IP地址;3、腾达NH326路由器上网设置。

    2021年3月7日
    5.1K
  • 水星路由器为啥没安全设置(水星路由器设置教程)

    水星路由器为啥没安全设置 水星路由器是一种广泛使用的家用网络设备,在价格和性能方面都有很大的优势。然而,很多用户发现,在水星路由器中,并没有提供很多关于安全设置的选项,这让很多人感…

    网络 2024年9月13日
    0
  • 迅捷路由器电脑设置方法(第二个路由器连接电脑如何设置方法)

    迅捷路由器电脑设置方法(第二个路由器连接电脑如何设置方法) 如果您需要将第二个路由器连接到您的电脑上,以扩大无线网络的覆盖范围,那么您需要遵循以下步骤进行设置: 步骤一:连接路由器…

    网络 2023年11月30日
    828
  • 新买的路由器自己怎么设置(买了路由器自己怎么安装)

    新买的路由器自己怎么设置(买了路由器自己怎么安装) 首先,拆开包装,将路由器、电源适配器、网线、说明书等所有物品都取出来,确认无损后开始进行设置。 步骤一:连接电源和网线 将电源适…

    网络 2025年11月18日
    4.2K