基于x86的微机系统启动过程.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于x86的微机系统启动过程

基于x86的微机系统启动过程 首先了解一些基本概念。第一个基本概念是大家非常熟悉的BIOS(基本输入输出系统),BIOS是直接与硬件打交道的底层代码,它为操作系统提供了控制硬 件设备的基本功能。BIOS一般被存放在ROM(只读存储芯片)或EPROM,EEPROM之中,即使在关机或掉电以后,这些代码也不会丢失。 第二个基本概念是内存的地址。机器中一般安装有32MB,64MB或128MB,256MB内存,这些内存的每一个字节都被赋予一个地址,以便CPU访问。32MB的地址范围用十六进制数表示就是0~1FFFFFFH。其中0~FFFFFH的低端1MB内存非常特殊,因为最初的8086处理器能够访问的 内存最大只有1MB,这1MB的低端640KB被称为基本内存,在640KB之上的A0000H~BFFFFH要保留给显示卡的显存使用,C0000H~FFFFFH则被保留给BIOS使用,其中系统BIOS一般占用最后的64KB或更多一点的空间,显卡BIOS一般在 C0000H~C7FFFH处,IDE控制器的BIOS在C8000H~CBFFFH处。 下面就来看看计算机的启动过程。 第一步:当按下电源开关时,电源就开始向主板和其他设备供电。此时电压还不太稳定,主板上的控制芯片组会向CPU发出并保持一个RESET(重置)信号, 让CPU内部自动恢复到初始状态,但CPU在此刻不会马上执行指令。当芯片组检测到电源已经开始稳定供电(当然从不稳定到稳定的过程只是一瞬间的事情), 它便撤去RESET信号(如果是按下计算机面板上的Reset按钮来重启机器,那么,松开该按钮时芯片组就会撤去RESET信号),CPU马上就从地址 FFFF0H处开始执行指令。这是基于x86体系的CPU的约定,其初始状态就是这么规定的。从前面的介绍可知,这个地址实际上在系统BIOS的地址范围 内,无论是Award BIOS还是AMI BIOS,放在这里的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。 第二步:系统BIOS的启动代码首先要做的事情就是进行POST(Power-On Self Test,加电自检)。POST的主要任务是检测系统中一些关键设备是否存在和能否正常工作。例如,内存和显卡等设备。由于POST是最早进行的检测过 程,此时显卡还没有初始化,如果系统BIOS在进行POST的过程中发现一些致命错误,例如,没有找到内存或者内存有问题(此时只会检查640KB的常规 内存),那么,系统BIOS就会直接控制喇叭发声来报告错误,声音的长短和次数代表了错误的类型。在正常情况下,POST过程进行得非常快,几乎无法感觉 到它的存在,POST结束之后就会调用其他代码来进行更完整的硬件检测。 第三步:系统BIOS将查找显卡的BIOS。前面说过,存放显卡BIOS的ROM芯片的起始地址通常设在C0000H处,系统BIOS在这个地方找到显卡 BIOS之后就调用它的初始化代码,由显卡BIOS来初始化显卡,此时多数显卡都会在屏幕上显示出一些初始化信息,介绍生产厂商、图形芯片类型等内容。系 统BIOS接着会查找其他设备的BIOS程序,找到之后同样要调用这些BIOS内部的初始化代码来初始化相关的设备。 第四步:查找完所有其他设备的BIOS之后,系统BIOS将显示出它自己的启动画面,其中包括有系统BIOS的类型、序列号和版本号等内容。 第五步:系统BIOS将检测和显示CPU的类型和工作频率,然后,开始测试所有的RAM,并同时在屏幕上显示内存测试的进度。可以在CMOS中设置使用简单耗时少许或者详细耗时多的测试的方式。 第六步:内存测试通过之后,系统BIOS将开始检测系统中安装的一些标准硬件设备,包括硬盘、CD-ROM、串口、并口和软驱等。另外,绝大多数较新版本的系统BIOS在这一过程中还要自动检测和设置内存的定时参数、硬盘参数和访问模式等。 第七步:标准设备检测完毕后,系统BIOS内部的支持即插即用的代码将开始检测和配置系统中安装的即插即用设备,每找到一个设备之后,系统BIOS都会在屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断、DMA通道和I/O端口等资源。 第八步:到这一步为止,所有硬件都已经检测配置完毕,多数系统BIOS会重新清屏并在屏幕上方显示出一个表格,其中概略地列出系统中安装的各种标准硬件设备,以及它们使用的资源和一些相关工作参数。 第九步:接下来系统BIOS将更新ESCD(Extended System Configuration Data,扩展系统配置数据)。ESCD是系统BIOS用来与操作系统交换硬件配置信息的一种手段,这些数据被存放在CMOS(一小块特殊的RAM,由主 板上的电池供电)之中。通常ESCD数据只在系统硬件配置发生改变后才会更新,所以,不是每

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档