当前位置: 技术问答>linux和unix
系统启动四问!
来源: 互联网 发布时间:2015-02-24
本文导语: BIOS程序是存放在ROM中的,那么BIOS程序是由谁把它调入内存来执行的? 内存地址FFFF0H处开始的指令(一条跳转指令)是由谁写入的? 各种BIOS程序的存放地址是如何写如基本内存的,由谁写如? CMOS中存放ESCD(扩展系统配置...
BIOS程序是存放在ROM中的,那么BIOS程序是由谁把它调入内存来执行的?
内存地址FFFF0H处开始的指令(一条跳转指令)是由谁写入的?
各种BIOS程序的存放地址是如何写如基本内存的,由谁写如?
CMOS中存放ESCD(扩展系统配置数据),CMOS由电池供电,那么,其中数据最初由谁写入?
内存地址FFFF0H处开始的指令(一条跳转指令)是由谁写入的?
各种BIOS程序的存放地址是如何写如基本内存的,由谁写如?
CMOS中存放ESCD(扩展系统配置数据),CMOS由电池供电,那么,其中数据最初由谁写入?
|
##1 第一步:
当我们按下电源开关时,电源就开始向主板和其它设备供电,此时电压还不太稳定,主板上的控制芯片组会向CPU发出并保持一个RESET(重置)信号,让CPU内部自动恢复到初始状态,但CPU在此刻不会马上执行指令。当芯片组检测到电源已经开始稳定供电了(当然从不稳定到稳定的过程只是一瞬间的事情),它便撤去RESET信号(如果是手工按下计算机面板上的Reset按钮来重启机器,那么松开该按钮时芯片组就会撤去RESET信号),CPU马上就从地址FFFF0H处开始执行指令(注意在此时屏幕上还没有显示信息,但是CPU已经参与工作了!!),从前面的介绍可知,这个地址实际上在系统BIOS的地址范围内,无论是Award BIOS还是AMI BIOS,放在这里的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。
##1 第二步:
系统BIOS的启动代码首先要做的事情就是进行POST(Power-On Self Test,加电后自检),POST的主要任务是检测系统中一些关键设备是否存在和能否正常工作,例如内存和显卡等设备(更不要说CPU了)。由于POST是最早进行的检测过程,此时显卡还没有初始化,如果系统BIOS在进行POST的过程中发现了一些致命错误,例如没有找到内存或者内存有问题(此时只会检查640K常规内存),那么系统BIOS就会直接控制喇叭发声来报告错误,声音的长短和次数代表了错误的类型。在正常情况下,POST过程进行得非常快,我们几乎无法感觉到它的存在,POST结束之后就会调用其它代码来进行更完整的硬件检测。我想原理说到这里就没有再说的必要了,接下来的步骤,系统就会在屏幕上出现字符显示,就是我们所说的点亮了。如果处理器这样至关重要的部件烧坏了,根本就连第一步都过不了,更不要说下面接着的点亮的过程了。
当我们按下电源开关时,电源就开始向主板和其它设备供电,此时电压还不太稳定,主板上的控制芯片组会向CPU发出并保持一个RESET(重置)信号,让CPU内部自动恢复到初始状态,但CPU在此刻不会马上执行指令。当芯片组检测到电源已经开始稳定供电了(当然从不稳定到稳定的过程只是一瞬间的事情),它便撤去RESET信号(如果是手工按下计算机面板上的Reset按钮来重启机器,那么松开该按钮时芯片组就会撤去RESET信号),CPU马上就从地址FFFF0H处开始执行指令(注意在此时屏幕上还没有显示信息,但是CPU已经参与工作了!!),从前面的介绍可知,这个地址实际上在系统BIOS的地址范围内,无论是Award BIOS还是AMI BIOS,放在这里的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。
##1 第二步:
系统BIOS的启动代码首先要做的事情就是进行POST(Power-On Self Test,加电后自检),POST的主要任务是检测系统中一些关键设备是否存在和能否正常工作,例如内存和显卡等设备(更不要说CPU了)。由于POST是最早进行的检测过程,此时显卡还没有初始化,如果系统BIOS在进行POST的过程中发现了一些致命错误,例如没有找到内存或者内存有问题(此时只会检查640K常规内存),那么系统BIOS就会直接控制喇叭发声来报告错误,声音的长短和次数代表了错误的类型。在正常情况下,POST过程进行得非常快,我们几乎无法感觉到它的存在,POST结束之后就会调用其它代码来进行更完整的硬件检测。我想原理说到这里就没有再说的必要了,接下来的步骤,系统就会在屏幕上出现字符显示,就是我们所说的点亮了。如果处理器这样至关重要的部件烧坏了,根本就连第一步都过不了,更不要说下面接着的点亮的过程了。