我正在尝试弄清楚计算机等物理设备如何检测自己是否刚刚打开,以便启动启动过程。我可以想象一台计算机“醒来”,虽然完全不知道它已经“死机”,但它对自己说“嗯,我看到有电流通过我,某物告诉我调用这些特定的指令集”……
那是什么某物,它是如何工作的?对我来说,这看起来很神秘。请注意,网络上有很多高级的启动过程解释(一个相当详细的解释是这里)我所好奇的是原始的检测/发现过程,它闪耀着其后发生的一切。
答案1
计算机具有检测电源应用并触发重置过程的硬件,使计算机进入已知状态,启动过程即从该状态开始。
你可以把它想象成一个漏水很慢的水桶,水从水龙头里流出来。当水龙头关闭时,水桶是空的。当水龙头打开时,水桶是仍然空。一段时间后,桶里装满了水,只要水龙头打开,桶里就一直是满的。当水龙头关闭时,桶里的水逐渐变空,准备重复这个过程。
但在计算机中,桶是电容器,漏是电阻。通电后,电容器会通过另一个电阻逐渐充电,但在此之前,电容器两端的电压会一直保持足够低,足以触发复位。传统的复位按钮会使电容器短路,相当于倒出桶。
简单计算机的 CPU 通常被设计为在收到重置信号时从已知地址开始执行。此地址的软件将硬件置于已知状态并执行适当的下一步,例如加载操作系统。在 PC 中,这个过程稍微复杂一些。