龙芯2号(如图2-28所示)是我国自主研制的可用于桌面和笔记本电脑的通用CPU,其主要应用目标是Linux桌面电脑、安全服务器、网络防火墙等,其低功耗的版本也可以用于NC(网络计算机)、无盘工作站等瘦客户机。“龙芯2号”是国家863计划和中国科学院知识创新工程共同支持的重大项目,其目标是用0.18mm的工艺,实现主频500MHz、SPEC CPU 2000测试分值超过300的64位通用CPU芯片。SPEC分值的指标意味着这款芯片的实际性能与1GHz的Pentium 4差不多。
图2-28 国产龙芯2号CPU
龙芯2号采用了先进的四发射超标量体系结构(即每个时钟周期可以同时执行4条指令)、5个强大的功能部件、乱序执行机制、动态存储访问机制及更大的片上高速缓存。目前的龙芯2号最高频率为300MHz,功耗1W~2W,成品率约为80%左右。通过使用相关测试对龙芯2号的性能分析表明,相同主频下龙芯2号的性能已经明显超过Pentium II,达到Pentium III的水平,设计人员称龙芯2号的设计SPEC CPU2000分值可达到300分以上,设计频率在500MHz以上时性能可与1GHz以上的Pentium III或Pentium IV的性能相当。在性能方面,很多目前计算机的很多重量级的应用,包括流媒体的软解压、GNU 2.4的支持、Mozilla浏览器、Open Office办公软件等,在龙芯2号中都能比较流畅地运行。尤其是流媒体的软解压,对于标准的MP3播放,龙芯2号只要不到1%的CPU就应付自如了。
曙光4000A高性能计算机系统(如图2-29所示)是中科院计算所国家智能计算机研究开发中心承担的国家863计划“高性能计算机及其核心软件”专项课题。该系统计划于2004年6月末鉴定,并作为国家863计划支持的“中国国家网格”(CNGrid)中的一个主节点于2004年8月份落户上海超级计算中心。该系统目前已经完成硬件安装和LINPACK测试,进入后期系统软件集成测试和应用软件试算阶段。曙光4000A系统峰值运算速度达到每秒11万亿次浮点运算(11TFLOPS),LINPACK运算速度超过每秒8万亿次浮点运算,是目前国内速度最快的商用高性能计算机系统。按照2003年11月公布的高性能计算机世界500强排名,名列第6,在基于AMD Opteron处理器的高性能计算机系统中名列第1。曙光4000A使中国成为继美国、日本之后第三个能制造和应用10万亿次商用高性能计算机的国家,也表明我国生产、应用、维护高性能计算机的能力达到世界先进水平。该系统在大规模机群计算和网格性能技术方面有所突破,形成了鲜明的技术特色,将我国通用高性能计算机系统的研制水平提升到一个新高度。
图2-29 曙光4000A高性能计算机系统
作为面向国民经济建设和社会发展的重大需求的网格超级服务器,曙光4000A适用于各种大规模科学工程计算、商务计算。在大规模科学工程计算方面,可以担当电力电网安全评估、汽车碰撞、电磁辐射、石油勘探开发、气象预报、核能与水电开发利用、各类航天器及飞机汽车舰船设计模拟、各类大型建筑工程安全性评估、生物信息处理等重任,在大规模商务计算方面,它可以为证券、税务、银行、邮政、社会保险等行业和电子政务、电子商务等提供服务。在大规模信息服务方面,它可以在各类游戏网站、门户网站、信息中心、数据中心、流媒体中心、电信交换中心和大型企业信息中心中发挥作用。对基于海量存储的数据集中应用,完全兼容32位计算的具有64位地址空间的曙光4000A网格超级服务器更可大显身手。曙光4000A已成功运行证券指数计算、电力安全评估、建筑工程抗震性评估、天气预报、石油地震资料处理、核能开发利用、汽车碰撞、电磁辐射、计算流体力学、基因匹配与拼接、蛋白质结构分析和材料科学等领域的20多项应用。
存在于计算机系统中的信息是多种多样的,有的是各种程序,有的是以各种格式存在的数据,还有一些是软件文档。这些信息平时都存储在辅助存储器中,只在需要使用时才调入计算机内存。计算机系统的辅助存储器有多种不同类型,它们的工作特性各不相同。为了能够对这些信息进行有效的使用和管理,实现这些信息的共享和保护,引入了“文件系统”的技术。
在计算机系统中,文件是一组相关信息的集合,程序、数据、文档都组织成文件的形式存储在相应的存储器中,用户以及程序必须以文件为单位对这些信息进行访问和操作。文件以文件名作为标记,对文件的访问操作正是通过文件名进行的。文件除了文件名及文件内容外,为了管理的需要,还包含了诸如文件类型、文件大小、文件的创建修改访问日期、共享性质及备份情况等附加属性。需要说明的是,文件的说明信息与文件内容是分开存放的,文件名、文件的附加属性等说明信息存储在存储器的文件目录区域中,文件内容存储在存储器的数据区域中。
计算机系统将文件存储在磁盘上时,也必须采取相关的技术措施。下面以PC系统的硬盘存储器在Windows操作系统下的存储情况为例,对文件在磁盘上的存储技术进行简单介绍。
硬盘存储器在出厂时已经做好了划分磁道、扇区的格式化(低级格式化)工作,硬盘在使用前还必须进行“分区”和“高级格式化”操作。分区操作是将整个磁盘的存储空间按照用户的要求划分成几个部分,即将一个物理磁盘划分为若干个逻辑磁盘,然后在物理磁盘上生成“主引导区”和“分区表”。主引导区存储硬盘的引导代码,分区表存储各个分区的开始和结束位置、大小等分区信息。高级格式化(通常直接称作格式化)检验各个磁道的情况,生成逻辑磁盘引导区,形成“文件分配表(FAT)”以及磁盘“根目录表”,并为文件存储安排存储单位“簇”。文件存储时按照大小由操作系统为其分配若干个簇,簇由若干个扇区组成,个数由逻辑磁盘大小和文件分配表决定。逻辑磁盘引导区存储本磁盘的引导信息,文件分配表用来记录磁盘数据区中簇的使用分配情况,每个簇占一栏,记录该簇的“已使用”、“空闲(00H)”、“损坏(FFH)”情况。根目录表记录磁盘根目录下各个文件、文件夹的文件说明信息和文件内容在数据区中的起始簇号。
当操作系统向磁盘存储文件时,先查找空闲的簇,将文件说明信息和该簇号存储到根目录表中(当文件不是存储在根目录中,而是存储在文件夹中时,这些信息存储到该文件夹对应的文件中),然后将该文件存储到数据区中该空闲的簇中,如果文件长度大于一个簇,则再查找空闲的簇进行存储,并将该簇的簇号存储在文件分配表中对应前一个簇的单元中,如此循环,直到文件存储完毕,文件存储最后一个簇在文件分配表的对应单元中记录为-1。这样,在文件分配表中,对应该文件的各个文件分配表单元中的信息组成一个“数据链”,这个数据链代表了该文件内容所对应的各个簇的位置和顺序,顺着这个数据链,可以找到该文件的所有内容。当操作系统需要彻底删除一个文件时,只要清除根目录表中对应的信息,再将文件分配表中数据链的内容改写为00H即可,并不需要清除数据区域中各个簇的信息(这些簇已经标记为空闲,可直接用来存储新信息)。
IBM系列的PC机所使用的CPU主要是由Intel公司、AMD公司和威盛公司生产的。以Intel公司的CPU为例,20多年来的产品发展过程为:8088→80286→80386→80486→Pentium→Pentium Pro →Pentium Ⅱ→Pentium Ⅲ→Pentium 4→Pentium D→Pentium D Core 2。为了解决软件的兼容性问题,在新CPU的开发过程中通常采用了“向下兼容”的方式,即在新CPU中保留了旧CPU中的所有指令,并扩充和增强新的指令。AMD公司和威盛公司生产的各类CPU也与Intel生产的CPU保持兼容。例如,80386增加了许多32位数据操作指令,80486增加了多条多媒体信息操作指令(Multimedia Extension,MMX),Pentium增加了许多处理浮点数的操作指令,Pentium Ⅲ增加了70条处理128位长操作数的流式单指令多数据指令(Streaming SIMD Extension,SSE),Pentium 4则在MMX和SSE的基础上增加了144条称为SSE2的新指令。“向下兼容”的含义是:针对旧老的CPU所编制的程序可以在新CPU的计算机上正常运行,但不能保证老CPU的计算机一定能够运行针对新CPU而编制的程序。
PC机中所使用的CPU除了由Intel公司、AMD公司和威盛公司生产的外(称为x86系列),还有其他公司生产的。它们所使用的指令系统与x86系列不同,相互之间不兼容。例如苹果公司生产的Power Macintosh个人计算机使用的CPU是Motorola公司的Power PC,指令系统与x86的指令系统有很大的不同,所以两种计算机上使用的软件也不相同。