认识BIOS芯片 王庆东 2001年 10期 BIOS(Basic Input Output System),基本输入/输出系统 是被固化到计算机主板上的ROM芯片中的一组程序,它为计算机提供最低级、最直接的硬件控制功能。和其它程序不同的是,BIOS是储存在BIOS芯片中的,而不是储存在磁盘中,由于它属于主板的一部分,因此常被称为“Firmware”(固件)。BIOS ROM芯片在主板上比较醒目,芯片上面通常都贴有“BIOS”字样的标签(^10030901a^)。此外,不同的主板生产厂家采用的BIOS ROM芯片也不同,下面就让我们一起来看看它的分类。   #1 一、按芯片类型分    1.在电脑发展初期,BIOS都存放在ROM(Read Only Memory,只读存储器)芯片中。而ROM内部的资料是在ROM的制造过程中,用特殊的方法烧录进去,只能读取,不能修改(如^10030901b^所示就是8088主板上的BIOS ROM芯片)。    2.由于ROM芯片的制造和升级极不方便,后来人们便发明了PROM(Programmable ROM,可编程ROM)。最初从工厂中生产出来的PROM内部并没有资料,用户可以用专用的编程器将自己的资料写入,但只能写入一次,一旦写入就再也无法修改。若在写入过程中出现错误,那芯片只能报废。PROM的特性和ROM相同,但成本比ROM要高,而且写入资料的速度比ROM慢。    3.EPROM(Erasable Programmable ROM,可擦除可编程ROM)芯片可重复擦除和写入,解决了PROM芯片只能写入一次的弊端。EPROM有两种,一种是不带窗口的,其特性和PROM类似,在专用编程器上只能写入一次,如果写错了,芯片只能报废,这种芯片在各种显卡、声卡和以前的解压卡上都能见到(如^10030901c^所示就是S3375显卡上的这种EPROM芯片)。另一种EPROM是指带窗口的EPROM(也是我们大家常见的那种),这种EPROM芯片有一个很明显的特征:在正面的陶瓷封装上,开有一个玻璃窗口,透过该窗口,可以看到其内部的集成电路,一旦紫外线透过该孔照射内部芯片,就可以擦除其中的数据。当然,完成芯片擦除的操作也可以用专门的EPROM擦除器(^10030901d^)。要向EPROM内写入资料必须用专门的编程器,同时必须要加一定的编程电压(范围在12V~24V,随不同的芯片型号而定)。EPROM的型号是以27开头的,如^10030901e^所示的27C020(8×256K)是一片2M Bits容量的EPROM芯片。EPROM芯片在写入资料后,还要以不透光的贴纸或胶布把窗口封住,以免受到紫外线照射而使资料受损。    4.EPROM虽然已具备了可重复写入的能力,但要借助EPROM擦除器和专用编程器进行擦除和写入程序,很不方便。这时,EEPROM(Electrically Erasable Programmable ROM,电可擦除可编程ROM)(^10030901f^)应运而生了。EEPROM的擦除不需要借助其他设备,它是用电子信号来修改内容的,而且是以Byte为最小修改单位,写入数据时不必将内部资料全部洗掉,而且只要通过厂商提供的专用刷新程序就可以轻而易举地改写芯片内部的内容,彻底摆脱了EPROM 擦除器和编程器的束缚。但EEPROM属于双电压芯片,在写入数据时,仍要加一定的编程电压。正由于EEPROM芯片的双电压特性,采用该芯片的BIOS具有良好的防毒功能(当把主板上防BIOS写入的跳线开关拨至“ON”位置,并给芯片加上相应的编程电压,就可以方便地升级BIOS;反之,把跳线开关拨至“OFF”位置,防止CIH类病毒对BIOS芯片进行非法修改),所以至今仍有不少主板采用EEPROM作为BIOS芯片。    5.Flash ROM(快闪ROM,^10030901g^),则属于真正的单电压芯片,其特性类似EEPROM,因此,Flash ROM常被看作EEPROM的一种。事实上,二者还是有差别的。Flash ROM在擦除时,也要执行专门的刷新程序,但是在删除资料时,并非以Byte为基本单位,而是以Sector(又称Block)为最小单位,Sector的大小随厂商的不同而有所不同;只有在写入时,才以Byte为最小单位写入;Flash ROM芯片的读/写操作都是在单电压下进行,不需设置跳线,只须用专门的刷新程序即可方便地修改芯片中的内容;Flash ROM的存储容量普遍大于EEPROM,约为512K至8M,很适合用来存放程序码,近年来已逐渐取代了EEPROM的地位,广泛用作为主板的BIOS ROM芯片。不过,它也很容易受到CIH病毒的攻击。   #1 二、按芯片容量分    现在主板上常见的Flash ROM的容量多为1M bits(^10030901h^左边)或2M bits(^10030901h^右边),甚至4M bits(^10030901j^)。而早在486时代,一般只用512K Bits的BIOS ROM,从Pentium级以后就主要采用1M Bits的BIOS ROM了,随着BIOS的功能越来越多,支持的硬件越来越多,程序代码也就越来越长,1M Bits的容量已不够用了,因此目前主板大多采用2M甚至4M Bits的BIOS ROM。    因为各类芯片上的型号标识都严格遵循集成电路编号规则,因此从芯片的编号上我们就可以得知芯片的类型、容量和读写速度,如W29C020-12,就是一片32脚封装的Flash ROM芯片,在芯片上容纳了256个存储单元,每个单元占1个字节长度,所以每片的容量为256K×8(即2Mbits),其读写速度为120ns。   #1 三、以封装形式分    早期的BIOS芯片大多采用DIP(双列直插)封装形式。随着半导体封装技术的发展,SOJ、TSOP、PSOP、PLCC等多种封装形式相继出台。目前台式机主板上的BIOS大多还是DIP封装,有的为节省空间,采用了PLCC形式的封装(^10030901k^)。笔记本电脑上的BIOS大多采用SOJ封装。为了方便更换BIOS芯片,现在主板上都安装有BIOS插座,使用专门的起拔工具可以取下、更换BIOS芯片。   #1 四、以芯片的生产厂商分    目前,生产ROM芯片的厂家很多,主要有Winbond、Intel、ATMEL、SST、MXIC等公司。由于Winbond(华邦)生产BIOS ROM芯片时间较早,与主板的原始设计相兼容,因而市场占用量较大。Intel公司则在Flash ROM市场始终占据领导地位,其586时代的I28F001BX芯片、I810(815)主板上的N82802AB芯片,都在BIOS的恢复方面给人留下了深刻的印象(^10030901l^为在RF810编程器上列出的常见的BIOS ROM芯片的生产厂商)。    其实,不光主板上有BIOS,其它一些PC设备,如网卡、显卡、MODEM、数字相机、硬盘等也有所谓的BIOS,显卡上的BIOS主要是完成显卡和主板之间的通讯;硬盘的启动和使用也需要HDD BIOS来完成。这些外部设备上的BIOS也和主板的BIOS一样,采用Flash ROM作BIOS ROM芯片,可以方便地进行升级。