ROM:固件的载体<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
我们经常说,计算机是由硬件和软件两部分组成的。从严格意义上,这种说法其实还不够准确,除了硬件和软件,还有固件(Firmware)——固化在ROM芯片中的软件。
固件有如一本工作手册,在电脑启动和运行过程中,时时刻刻都要通过翻阅手册来获得设备信息,然后执行相关操作。在即插即用系统中,电脑硬件设备需要有固件才能被系统正常识别和支持,比如主板和显卡的BIOS(基本输入/输出系统)就是它们的固件,声卡、网卡、Modem、CD-ROM、DVD-ROM、CD-RW、软驱、硬盘、SCSI卡、RAID控制卡、扫描仪、打印机等设备离不开固件,甚至CPU中固化的微指令代码、内存条上的SPD也都可以算作固件。
计算机硬件设备中最重要、最基本的参数这些固件程序都存放在ROM芯片中。作为非易失性存储器的ROM,在计算机系统中扮演着十分重要的角色,所以通常也称其为控制存储器(control memory)。
那么,你对ROM芯片的了解有多少呢?
mask ROM(掩模型只读存储器)
RAM芯片中使用三极管,而mask ROM使用二极管。如果某一位的值为“1”,字线与位线之间有一个二极管相连,如果为“0”,字线与位线是断开的。Mask ROM中的二极管是采用掩膜工艺(一种半导体制作工艺)制作的,所以叫做“掩膜型ROM”。
二极管有选择地连接字线和位线
PROM(Programmable ROM,可编程只读存储器)
制作少量的ROM芯片不仅耗时多而且成本高。基于这种情况,研究人员开发了可编程只读存储器(PROM),用户可以低廉的价格买来空片,并使用编程器(Programmer)这种特殊的工具来写入信息。
PROM中采用“二极管+保险丝”的方式。PROM空片的内容全为“1”,利用编程器将其中的一些保险丝熔断,即可写入数据“0”。
写入数据后,一些熔丝呈断开的状态
PROM只能写入一次,所以也被称为“一次可编程只读存储器”(One Time Progarmming ROM,OTP-ROM)。如果写错了,芯片也就报销了。这就象我们的练习本,买来的时候是空白的,我们可以在上面写字,可一旦写上去就擦不掉了。
EPROM(Erasable Programmable ROM,可擦可编程只读存储器)
EPROM是一种具有可擦除功能,擦除后即可进行再编程的ROM内存,写入前必须先把里面的内容用紫外线照射它的IC卡上的透明视窗的方式来清除掉。这一类芯片比较容易识别,其封装中包含有“石英玻璃窗”,一个编程后的EPROM芯片的“石英玻璃窗”一般使用黑色不干胶纸盖住,以防止遭到阳光直射。
EPROM芯片上方的擦、写窗口,平时要用黑色胶布遮盖
当然,EPROM中的内容写上去之后,如果觉得不满意,可以通过紫外线照射的方式进行擦除。擦除后的EPROM芯片,所有的二进制位都为“1”的状态。紫外线就像“消字灵”,可以把字去掉,然后再重写。
EPROM擦除器
EEPROM(Electrically Erasable Programmable ROM,电可擦可编程只读存储器)
对于EPROM来说,擦除的次数多了,也就不灵光了,通常擦除的次数也就几百次吧。所以,开发了EEPROM(也称作E2PROM),其功能与使用方式与EPROM一样,不同之处是清除数据的方式,它是以约20V的电压来进行清除的。
PS:这几天,HotPower发了许多博客,进去一看,乖乖,像是外星人的言语。cocappjj留言说,真是我最看不懂的一个博客了,太深奥了。受HotPower的启发,avan才使用了这个故弄玄虚的标题。
抱着不同的态度去处理同一件事情,会出现两种截然不同的结果。把复杂的事情往简单里说,叫科普;把简单的道理往复杂里说,叫学术。科普的最高境界是让老百姓了解最前沿的科技。但是,如果你不能把一个明白人搞糊涂,就做不了教授。
[知识链接]
用户42640 2008-2-26 19:56
用户992653 2007-1-1 23:00
超线程技术
CPU生产商为了提高CPU的性能,通常做法是提高CPU的时钟频率和增加缓存容量。不过目前CPU的频率越来越快,如果再通过提升CPU频率和增加缓存的方法来提高性能,往往会受到制造工艺上的限制以及成本过高的制约。
尽管提高CPU的时钟频率和增加缓存容量后的确可以改善性能,但这样的CPU性能提高在技术上存在较大的难度。实际上在应用中基于很多原因,CPU的执行单元都没有被充分使用。如果CPU不能正常读取数据(总线/内存的瓶颈),其执行单元利用率会明显下降。另外就是目前大多数执行线程缺乏ILP(Instruction-Level Parallelism,多种指令同时执行)支持。这些都造成了目前CPU的性能没有得到全部的发挥。因此,Intel则采用另一个思路去提高CPU的性能,让CPU可以同时执行多重线程,就能够让CPU发挥更大效率,即所谓“超线程(Hyper-Threading,简称“HT”)”技术。超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。
采用超线程及时可在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。而超线程技术可以使芯片同时进行多线程处理,使芯片性能得到提升。
超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,P4处理器需要多加入一个Logical CPU Pointer(逻辑处理单元)。因此新一代的P4 HT的die的面积比以往的P4增大了5%。而其余部分如ALU(整数运算单元)、FPU(浮点运算单元)、L2 Cache(二级缓存)则保持不变,这些部分是被分享的。
虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每个CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。
英特尔P4 超线程有两个运行模式,Single Task Mode(单任务模式)及Multi Task Mode(多任务模式),当程序不支持Multi-Processing(多处理器作业)时,系统会停止其中一个逻辑CPU的运行,把资源集中于单个逻辑CPU中,让单线程程序不会因其中一个逻辑CPU闲置而减低性能,但由于被停止运行的逻辑CPU还是会等待工作,占用一定的资源,因此Hyper-Threading CPU运行Single Task Mode程序模式时,有可能达不到不带超线程功能的CPU性能,但性能差距不会太大。也就是说,当运行单线程运用软件时,超线程技术甚至会降低系统性能,尤其在多线程操作系统运行单线程软件时容易出现此问题。
需要注意的是,含有超线程技术的CPU需要芯片组、软件支持,才能比较理想的发挥该项技术的优势。操作系统如:Microsoft Windows XP、Microsoft Windows 2003,Linux kernel 2.4.x以后的版本也支持超线程技术。目前支持超线程技术的芯片组包括如:
Intel芯片组:
845、845D和845GL是不支持支持超线程技术的;845E芯片组自身是支持超线程技术的,但许多主板都需要升级BIOS才能支持;在845E之后推出的所有芯片组都支持支持超线程技术,例如845PE/GE/GV以及所有的865/875系列以及915/925系列芯片组都支持超线程技术。
VIA芯片组:
P4X266、P4X266A、P4M266、P4X266E和P4X333是不支持支持超线程技术的,在P4X400之后推出的所有芯片组都支持支持超线程技术,例如P4X400、P4X533、PT800、PT880、PM800和PM880都支持超线程技术。
SIS芯片组:
SIS645、SIS645DX、SIS650、SIS651和SIS648是不支持支持超线程技术的;SIS655、SIS648FX、SIS661FX、SIS655FX、SIS655TX、SIS649和SIS656则都支持超线程技术。
ULI芯片组:
M1683和M1685都支持超线程技术。
ATI芯片组:
ATI在Intel平台所推出的所有芯片组都支持超线程技术,包括Radeon 9100 IGP、Radeon 9100 Pro IGP和RX330。
nVidia芯片组:
即将推出的nForce5系列芯片组都支持超线程技术