什么是 BIOS
大约在二十一年(1981)前,当时被信息界称为蓝色巨人的 IBM,在研究自 己的第一部个人打算机——IBM PC 时,他们的工程师将开机程序的前导程序代 码,以及一些最基本的外围 I/O 处理的子程序码(如屏幕显示、磁盘驱动器驱动、 摇杆掌握等),通通挤入在一块大约 32KB 大小的 PROM(Programmable ROM, 可编程只读存储器)中。这个程序代码就叫做 BIOS(Basic Input/Output System)。 而把一些开机时的硬件启动/检测码(Initial Code),从软盘或硬盘加载到操作系 统,以提高兼容性。 最早的 BIOS 是一些用来在开机时考验硬件设备的程序和基本的 FO 启动代 码。它为打算机供应最低级、最直接的硬件掌握(中断掌握指令)。打算机的原始 操作都是遵照固化在 BIOS 里的内容来完成的。后来又插入了各种各样的模块(如 PNP 即插即用模块、电源管理模块等),使得 BIOS 功能更加完善。 当你的打算机从开机的一瞬间,硬件特性就由 CPU 从主板的 BIOS 芯片内取 得程序代码,用 BIOS 内部的程序代码得到掌握权并且发挥浸染,从 CPU 内外部 的检测设置、激活 DRAM 以及针对芯片组与各种外围设备作初始化设置之后,最 后驱动软盘或硬盘,直到把操作系统(如 DOS,Win98/NT,Linux)加载成功, BIOS 的开机勾引事情就此告一段落,转向从事幕后的支持、折衷事情,并帮助 操作系统或运用程序,来处理与外围设备之间沟通的细节操作。 换言之,BIOS 是硬件与软件程序之间沟通的媒介或“接口”,卖力办理硬件 的即时需求,并按软件对硬件的操作哀求实行命令。在利用打算机的过程中,用 户常常会碰着有关 BIOS 的问题。合理地设置 BIOS 可以使操作系统顺畅运行,

大约在二十一年(1981)前,当时被信息界称为蓝色巨人的 IBM,在研究自 己的第一部个人打算机——IBM PC 时,他们的工程师将开机程序的前导程序代 码,以及一些最基本的外围 I/O 处理的子程序码(如屏幕显示、磁盘驱动器驱动、 摇杆掌握等),通通挤入在一块大约 32KB 大小的 PROM(Programmable ROM, 可编程只读存储器)中。这个程序代码就叫做 BIOS(Basic Input/Output System)。 而把一些开机时的硬件启动/检测码(Initial Code),从软盘或硬盘加载到操作系 统,以提高兼容性。 最早的 BIOS 是一些用来在开机时考验硬件设备的程序和基本的 FO 启动代 码。它为打算机供应最低级、最直接的硬件掌握(中断掌握指令)。打算机的原始 操作都是遵照固化在 BIOS 里的内容来完成的。后来又插入了各种各样的模块(如 PNP 即插即用模块、电源管理模块等),使得 BIOS 功能更加完善。 当你的打算机从开机的一瞬间,硬件特性就由 CPU 从主板的 BIOS 芯片内取 得程序代码,用 BIOS 内部的程序代码得到掌握权并且发挥浸染,从 CPU 内外部 的检测设置、激活 DRAM 以及针对芯片组与各种外围设备作初始化设置之后,最 后驱动软盘或硬盘,直到把操作系统(如 DOS,Win98/NT,Linux)加载成功, BIOS 的开机勾引事情就此告一段落,转向从事幕后的支持、折衷事情,并帮助 操作系统或运用程序,来处理与外围设备之间沟通的细节操作。 换言之,BIOS 是硬件与软件程序之间沟通的媒介或“接口”,卖力办理硬件 的即时需求,并按软件对硬件的操作哀求实行命令。在利用打算机的过程中,用 户常常会碰着有关 BIOS 的问题。合理地设置 BIOS 可以使操作系统顺畅运行,使打算机硬件正常高效地运作,乃至可以延长打算机的利用寿命。 在系统与外设不断推陈出新的情形下,BIOS 中所供应的设定项目日趋繁芜, 加上 BIOS 供应商很多,设定的选项也不尽相同,常常使得用户不知如何动手设 置。而且它们的设置稍有差错,就会导致一系列莫名其妙的软、硬件故障,打算 机不能正常事情。以是一提起 BIOS 的设置,许多用户常常感到心有余而力不敷, 使得大多数打算机低效地运转着。那么 BIOS 有那么神秘吗?本书将一步步地揭开 BIOS 神秘的面纱。
如果要更清晰地定义什么是 BIOS,在一家 BIOS 开拓厂商的技能 PDF 文档 中,对付 BIOS 他们是这样解释的:A Firmware program(一种属于 ROM 的程序 代码),存储在 ROM、EPROM 或 Flash ROM 内存中,供应最基本的硬件初始化 (initialize)、外围掌握的必要程序代码。常日是用汇编措辞(Assembly Language) 编写的。 主板上的 ROM BIOS 芯片是主板上惟一贴有标签的芯片。Pentium 系列以前 的主板上的 BIOS 一样平常为双排直插式(DIP)封装(图 1.1.1-1),上面印有 BIOS 和生产厂家及版本序列号字样。 虽然有些 BIOS 芯片没有明确地印出 BIOS 字样,但凭借外贴的标签也能很容 易识别出来。Pentium 系列以前的 BIOS 多 为 EPROM 芯片,一次性写入,很难再修 改,芯片上面的标签起着保护 BIOS 内容 的浸染(紫外线照射会使 EPROM 内容丢 失落),不能随便撕下。BIOS 平时设置为只读的状态,除了分外工具程序或分外方 式之外,任何运用程序都没办法对它进行修正或删除。以前的修正办法比较繁芜, 如果是 Mask-ROM 或 PROM,险些得重新换一块空缺的 ROM 芯片,然后重写。 但到了 EPROM 时期,可以用紫外线照射其窗口一段韶光,在重新擦除其内部的 所有数据之后,再用EPROM重写器将BIOS数据重写到EPROM中。当Windows95 盛行之后,由于 Plug and Play(PnP)与 ACPI 以及 DMI 协议的须要,主板中须要有一个可以记录外围设备资源的异动情形,却又不会被其他程序所毁坏的内存 区域,而 Flash ROM 芯片借用了可擦写编程只读存储器(EPROM),构造大略, 又接管了电擦写可编程只读存储器(EEPROM)电擦除的特点,不但具备随机存 储器(RAM)的高速性,而且还兼有只读存储器(ROM)的不能直接擦除的优 势。利用 Flash ROM 存储主板的 BIOS 程序,可直接通过跳线开关和系统配带的 软件进行改写,因而给 BIOS 的升级带来极大的方便。以是到后来 Pentium 系列 及往后的 ROM BIOS 险些都是 Flash ROM 的天下。
一样平常在设计打算机或外围设备时,存储 BIOS 程序代码所利用的只读存储器 (ROM)种类,大致可以分为下列几种: ① PROM(Programmable ROM)可编程存储器 PROM 出厂时其内部的每一字节的数据都是$PF(也便是每个位都为 1),而 且从未被重写过,可供客户用重写器以分外电压将数据写入(把某个位写入 0, 就相称于把代表 1 的线路给烧断)。但是也由于这种特性,PROM 只能写入一次 数据,日后要再次改动数据时,必须重新购买一块新的空缺 PROM 来重写。 ② Mask ROM 它是由客户指定的数量较大的,由内存生产厂家依客户的指定内容,在大量 生产的过程中直接将数据写入,出厂之后就已经有特定的程序/数据码,内容也无 法自行修正或重写。常日在大量生产下,Mask ROM 的容量比较大,因此本钱也 比较低,这也便是早期许多汉字卡(DOS 时期的东西啦,当时要让 PC 支持中文 只有用汉字卡)、乃至大型电子游戏机喜好采取 Mask ROM 的缘故原由。 ③ EPROM(Erasable PROM) 这是从 PROM 之后的改良型 ROM。EPROM 有个直透芯片内部的透明的圆 形窗口。若要打消数据,可以用专用的 EPROM 重写器,或者紫外线灯管照射几 十分钟后,内部数据就重新规复成$FF(也便是每个位规复成 1),用户可以重新 重写新的程序/数据码,而不必再去购买一块芯片来重写,对厂商与客户在监控程 序掩护上比较方便而且经济。 在 Flash 内存涌现之前,EPROM 一贯是主板、显卡或其他的外围设备所常采取存储 BIOS 监控程序的内存类型,但随着写入速率更快、更方便的 Flash 内存的 涌现,EPROM 逐渐被取代。由于并不是每个客户都有 EPROM 重写器,也不愿 意大费周折花几十分钟先打消 EPROM 的内容,然后再重写数据。 ④ Flash ROM Flash ROM 快速只读存储器(又有人称 Flash Memory),简称 Flash ROM,是 当今主板、显卡存储 BIOS 监控程序的紧张内存类型。许多数码相机、PDA 以至 于手机等便携式设备,都利用这种类型的内存,因此 Flash ROM 可说是目前最当 红的内存种类之一。这种内存在一样平常状态下,特性和一样平常的 ROM 没什么两样, 也便是先前写入的数据无法被擦除、毁坏,纵然关掉电源之后内容仍旧存在;不
序代码、数据,能够快速地被擦除,并且可以重新修正、写入新版本的监控程序 与数据。 Flash ROM 读取的最小单位是一个 byte,但擦除/写入的单位因此一个“区块 (Block)”来区分的,大小从 4K、8K 到 16K 不等。以一个最小为 4K 写入单位 的 Flash ROM 而言,纵然你要修正某一个 byte 的数据,必须得将该区块的所有内 容备份出来,改变个中要修正的部分后,再一起把全体区块写回去。
序代码、数据,能够快速地被擦除,并且可以重新修正、写入新版本的监控程序 与数据。 Flash ROM 读取的最小单位是一个 byte,但擦除/写入的单位因此一个“区块 (Block)”来区分的,大小从 4K、8K 到 16K 不等。以一个最小为 4K 写入单位 的 Flash ROM 而言,纵然你要修正某一个 byte 的数据,必须得将该区块的所有内 容备份出来,改变个中要修正的部分后,再一起把全体区块写回去。






