计算机启动时:它如何知道从哪条指令开始执行?

时间:2010-02-05 16:32:25

标签: assembly

当计算机开机时:它如何知道从哪条指令开始执行?

首先是需要执行的BIOS程序。那么,到底发生了什么?我想知道直到操作系统加载的过程。

4 个答案:

答案 0 :(得分:3)

正如您所料,它非常依赖于处理器。

通常,处理器硬件在某些默认配置中出现,然后从特定的内存地址开始执行。之后发生的事情完全取决于软件。

通常执行的第一条指令是跳转到某种类型的引导加载程序软件,然后准备硬件并加载下一个软件阶段。根据需要重复设置/加载过程并预先设置 - 您在操作系统中!

某些处理器比其他处理器更易配置,并且具有可以控制某些启动参数的硬件捆绑选项(或硅片中的保险丝)。其他内置ROM代码,可在上电或芯片复位时执行。有些芯片内置内存,有些芯片可以自动设置外部存储器,还有一些芯片需要加载软件才能执行最基本的自举任务。

如果您更多地澄清您的问题,我们可能会填写有关您感兴趣的系统的具体过程的更多详细信息。

答案 1 :(得分:2)

我认为Wikipedia's article on Booting有更多细节,而不是你想要的。

答案 2 :(得分:0)

大多数CPU都有硬编码reset vector,它确定硬件复位后要执行的第一条指令的地址。可以把它想象成所有不可屏蔽中断的母亲。

答案 3 :(得分:0)

两个最受欢迎的选项是

  • 从固定地址开始(通常为0)

  • 从存储在固定位置的地址开始(重置向量)

这取决于具体的处理器。