计算机指令系统与中国 CPU 的发展
摘要:指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接
影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围。
随着网络时代的到来,网络通信、信息安全和信息家电产品将越来越普及,
而 CPU 正是所有这些信息产品中必不可少的部件。
关键字:指令系统 中国
CPU 发展
一 计算机指令系统
1 计算机指令系统的发展
计算机的程序是由一系列的指令组成的,指令就是要计算机执行某种操作的
命令。从计算机组成的层次结构来说, 计算机的指令有微指令、机器指令和宏指
令之分。指令系统是指: 一台计算机中所有机器指令的集合, 它是表征一台计算
机性能的重要因素, 其格式与功能不仅直接影响到机器的硬件结构, 也直接影响
到系统软件, 影响到机器的适用范围。指令系统的发展经历了从简单到复杂的演
变过程, 20 世纪 50 年代: 指令系统只有定点加减、逻辑运算、数据传送、转移
等十几至几十条指令; 20 世纪 60 年代后期: 增加了乘除运算、浮点运算、十进
制运算、字符串处理等指令,指令数目多达一二百条, 寻址方式也趋多样化;20 世
纪 70 年代末期:大多数计算机的指令系统多达几百条。我们称这些计算机为复杂
指令系统计算机(CISC)。但是如此庞大的指令系统难以保证正确性, 不易调试维
护, 造成硬件资源浪费。为此人们又提出了便于 VLSI 技术实现的精简指令系统
计算机( RISC) 。
指令系统是计算机体系结构最基本的特征。早期,人们采用微程序设计技术
让指令系统变得日趋复杂, 后来逐渐认识到这种复杂指令系统计算机(CISC)并
不能很好的提高系统性能,于是设计师们提出了精简指令系统计算机(RISC)体系
结构,并在一个芯片上实现了 CPU。随着 RISC 微处理器迅速发展, 人们又发现
RISC 指令系统并不能充分实现指令级并行处理,从而影响了计算机性能的进一
步提高,又出现了超长指令字(VLIW)计算机指令系统。
2 计算机指令系统的研究
1 指令系统简介在计算机指令系统的优化发展过程中, 出现过两个截然不
同的优化方向: CISC 技术和 RISC 技术。CISC 是指复杂指令系统计算机(**plex
Instruction Set **puter);
RISC 是指精减指令系统计算机(Reduced Instruction Set**puter)。这里的计算
机指令系统指的是计算机的最低层的机器指令, 也就是 CPU 能够直接识别的指
令。随着计算机系统的复杂, 要求计算机指令系统的构造能使计算机的整体性能
更快更稳定。最初, 人们采用的优化方法是通过设置一些功能复杂的指令, 把一
些原来由软件实现的、常用的功能改用硬件的指令系统实现, 以此来提高计算机
的 执 行 速 度 , 这 种 计 算 机 系 统 就 被 称 为 复 杂 指 令 系 统 计 算 机 , 即 plex
InstructionSet puter, 简称 CISC。另一种优化方法是在 20 世纪 80 年代才发展起
来的, 其基本思想是尽量简化计算机指令功能, 只保留那些功能简单、能在一个
节拍内执行完成的指令,而把较复杂的功能用一段子程序来实现, 这种计算机系
统就被称为精简指令系统计算机。即 Reduced Instruction Set puter, 简称 RISC。
RISC 技术的精华就是通过简化计算机指令功能, 使指令的平均执行周期减少,
从而提高计算机的工作主频, 同时大量使用通用寄存器来提高子程序执行的速
度。
2 RISC 的提出采用复杂指令系统的计算机有着较强的处理高级语言的能力.
这对提高计算机的性能是有益的。1979 年以帕特逊教授为首的一批科学家也开
始在美国加册大学伯克莱分校开展这一研究。结果表明, CISC 存在许多缺点。
首先,在这种计算机中, 各种指令的使用率相差悬殊:一个典型程序的运算过程所
使用的 80% 指令,只占一个处理器指令系统的 20% , 事实上最频繁使用的指令
是取、存和加这些最简单的指令,这样一来, 长期致力于复杂指令系统的设计, 实
际上是在设计一种难得在实践中用得上的指令系统的处理器。同时, 复杂的指令
系统必然带来结构的复杂性, 这不但增加了设计的时间与成本还容易造成设计
失误。此外, 尽管 VLSI 技术现在已达到很高的水平, 但也很难把 CISC 的全部
硬件做在一个芯片上, 这也妨碍单片计算机的发展, 在 CISC 中, 许多复杂指令
需要极复杂的操作, 这类指令多数是某种高级语言的直接翻版, 因而通用性差.
由于采用二级的微码执行方式, 它也降低那些被频繁调用的简单指令系统的运
行速度。因而, 针对 CISC 的这些弊病,帕特逊等人提出了精简指令的设想即指令
系统应当只包含那些使用频率很高的少量指令, 并提供一些必要的指令以支持
操作系统和高级语言, 按照这个原则发展而成的计算机被称为精简指令集计算
机(Reduced Instruction Set **puter-当前计算机发展的主流是什么呢?国内外比较
一致的看法是 RISC
RISC 是精简指令系统计算机(Reduced Instruction Set **puter)的英文缩写。
所谓指令系统计算机所能执行的操作命令的集合。程序最终要变成指令的序列,
计算机能执行。计算机都有自己的指令系统,对于本机指令系统的指令,计算机
能识别并执行,识别就是进行译码——把代表操作的二进制码变成操作所对应的
控制信号,从而进行指令要求的操作。一般讲,计算机的指令系统约丰富,它的
功能也约强。RISC 系统将指令系统精简,使系统简单,目的在于减少指令的执
行时间,提高计算机的处理速度。传统的计算机一般都是每次取一条指令,而
RISC 系统采用多发射结构,在同一时间发射多条指令,当然这必须增加芯片上
的执行部件。
二 迅速崛起的中国 CPU
随着网络时代的到来,网络通信、信息安全和信息家电产品将越来越普及,
而 CPU 正是所有这些信息产品中必不可少的部件。根据使用范围的不同,CPU
可分为通用 CPU 和嵌入式 CPU。通用 CPU 主要用作计算机(如 PC 等)的处理
器,具有较强的通用性,要求有较强的运算和处理能力、较大的存储器寻址空间
和较快的存储速度。Intel 公司的 X86 系列 CPU 是最具代表性的。而中国的 CPU
又处在一种怎么样的发展形势呢?下面我们介绍中国 CPU 的发展
CPU 微电子中国芯
CPU 是计算机的心脏,包括运算部件和控制部件,是完成各种运算和控制
的核心,也是决定计算机性能的最重要的部件。CPU 从最初发展至今已二十多
年的历史了,这期间,按照其处理信息的字长,CPU 可以分为:4 位微处理器、
8 位微处理器、16 位微处理器、32 位微处理器以及正在酝酿构建的 64 位微处理
器,可以说个人电脑的发展是随着 CPU 的发展而前进的。
1、中国 CPU 的发展足迹
在改革开放二十几载后,我们的综合国力有了质的飞跃,虽然现在仍然不能
和西方发达国家相比,但也已经不再是紧巴巴的过日子了。我国的电脑产业也在
市场和政策的双重推动下有了长足的发展,尤其是电脑产品制造业,广东的深圳、
东莞,江苏的苏州工业园以及上海地区形成了中国微电子(包括电脑产品的生产)
产品生产的两大基地。
现在在国内销售的各种品牌的电脑产品有 80%以上都是上述地方生产的。
电脑产品生产制造业在国内迅速兴起,在很大程度上推动了电脑核心技术的研发
(说的专业一些就是计算机核心技术)。这其中最具突破性的成果就是国产民用
处理器的研制成功。“我国首枚实用化 32 位 CPU 芯片‘方舟-1’7 月 8 日在京通过
专家鉴定。这一微电子与计算机领域的重大突破,改写了我国信息产业无‘芯’的
历史”。这是 2001 年 7 月 11 日《人民日报》《科教.经济.文化》版的报道。消息
一经公布,在当时立刻掀起了非常大的波澜,确切些说是风暴。不论是舆论还是
普通民众都将溢美之词毫不保留的全部献给了“方舟-1”处理器。作为中国人,这
是非常值得骄傲的,尽管它仅仅是嵌入式处理器,尽管它的应用范围只在银行、
网络计算机等领域,亦尽管它的性能连当时的奔腾 200MMX 处理都无法相比。
但无论如何,它是中国的,是属于中国人自己的“芯”。同时也表明,中国将降低
对外国 CPU 的依赖程度。当然,他的性能无法与现在的 Intel、AMD 的 CPU 生
产大鳄相比,但“方舟-1”让我们看到了希望。一种能够用上“中国芯”的希望。“方
舟-1”嵌入式处理器正式发布之后,“中国芯”就犹如雨后春笋般冒了出来。在 2001
年到 2005 年这短短的近 4 年时间里,先后就有“星光”、“汉芯、“龙芯”、“万通
一号”、“众志”等十几款国产处理器发布,这种情形可以用欣欣向荣来形容。如
此之多的国家 CPU 发布,虽然令国人为之振奋,为之骄傲。来看看这些年来国
产 CPU 的发展历程吧。
星光一号:2001 年 3 月问世,是第一个打进国际市场的中国芯片。
星光二号:2002 年 5 月问世,是全球第一个音频视频同体的图像处理芯片。
星光三号:2002 年 9 月问世,是中国第一块具有 CPU 驱动的图像处理芯片。
星光四号:2003 年 2 月问世,是中国第一块移动多媒体芯片。
星光五号:2003 年 6 月中星微电子公司正式发布数字多媒体芯片
“星光五号”,并宣布“星光五号”已经成功实现产业化,被国际知名品牌罗枝、惠
普、创新科技、三星、富士通等大量应用。随着国际知名品牌大规模应用“星光
五号”,“星光”系列芯片在世界同类芯片中已占据绝对领先的市场份额。这是中
国芯片业的历史性突破,标志着中国
芯片已经在某些领域进入世界领先行列。
北大众志:2003 年 12 月 8 日,北大众志-863 系列的 CPU 系统芯片由北京大学
微处理器研究开发中心研制成功。北大众志 CPU 系统芯片分别了采用 0.25 微米
和 0.18 微米的工艺流片。同时在内部集成了 32 位定点微处理器、64 位浮点协处
理器,芯片规模达到 800 万晶体管,为我国最大规模的 CPU 系统芯片。
湖南中芯:2003 年 10 月 23 日,我国第一片具有完全自主知识产权的数字图像
与视频压缩编码解码芯片诞生。
万通 l 号:2003 年 9 月 25 日,可应用于公共服务、企业用户、校园网、政府机
构、家庭及个人用户的芯片诞生。
方舟 1 号:2001 年 7 月 8 日,在中国专家的鉴定下正式发布。
方舟 2 号:2003 年 8 月 11 日,海淀区的电子政务领域正式推广使用具有我国自
主知识产权芯片的网络计算机。
S698:2003 年 5 月,全国首家系统级芯片(SoC)设计平台日前在哈工大微电子
中心搭建成功。
神州龙芯:20O3 年 3 月 5 日开始收尾,是从去年推出的 32 位、266 兆赫版本改
进而来,它针对的是嵌入系统市场。
龙芯指令集:
CPU 访存指令 24 个 全部来自 MIPS
CPU 算数指令(ALU) 10 个 全部来自 MIPS
CPU 算数指令 14 个 全部来自 MIPS
CPU 乘除指令 12 个 来自 MIPS
12 个 来自龙芯(其中 8 个重复 MIPS 指令功能)
CPU 跳转分支指令 20 个 全部来自 MIPS
CPU 位移指令 15 个 全部来自 MIPS
CPU 特殊指令 2 个 全部来自 MIPS
CPU 异常指令 12 个 全部来自 MIPS
CPU CPO 指令 10 个 全部来自 MIPS
龙芯处理器共 131 个指令,其中 119 个来自 MIPS,12 个来自龙芯(但其中 MULTG、DMULTG、
MULTUG、DMULTUG、DIVG、DDIVG、DIVUG、DDIVUG 共 8 个重复 MIPS 的指令功能。)
龙芯 1 号
(英文名称 Godson-1)于 2002 年研发完成,是一颗 32 位元的处理器,内频(也称:主频)
是 266 MHz。
龙芯 2 号(英文名称 Godson-2)于 2003 年正式完成并发布。
龙芯 2 号是 64 位元处理器,内频为 300MHz 至 1000MHz,500MHz 版约与 1GHz 版的 Intel
Pentium III、Pentium 4 拥有相近的效能水平。
龙芯 2 号最初版本
龙芯 2 号最初的版本是用 0.13 微米的制程技术,往后也会使用更精细的制程技术。事
实上龙芯 2 号当称为一个系列,过程中经过数次步阶进化,已知的有 2、2A、2B、2C、2E、
2F 等型号,目前龙芯 2 号处理器已用于黄羊河公司(YellowSheepRiver,简称:YSR)的低价
型 Linux 桌上型电脑(也称:台式机):Municator 中,最初的售价约为 1200 元人民币。其
电脑皆有在 2006 年 3 月德国汉诺威 CeBIT 及 6 月的台北国际电脑展览会中展出。
龙芯 2E
2006 年 6 月,龙芯 2E 继成功在法国流片成功后,全世界排名第五位的集成电路生产商
--意法半导体公司与中科院计算所签订技术许可协议,购买龙芯 2E 的生产和全球销售权。
意法半导体计划每年销售龙芯芯片 1000 万片以上。
2006 年 9 月 13 日,中国科学家宣布研制成功通用中央处理器芯片龙芯 2E。它是一款采
用 64 位元 MIPSⅢ指令集的 RISC 处理器,采用 90 纳米的 CMOS 工艺,晶体管数目是 4700 万
个,芯片面积是 6.8mm×5.2mm。最高主频达到 1.0GHz,一般频率是 800MHz,功耗大约是 5-7
瓦。实际运行频率定于 660MHz。规格方面,龙芯 2E 处理器有 128KB 一级缓存、512KB 二级
缓存。性能方面,它的单精度浮点运算速度是每秒 80 亿次,双精度浮点运算速度是每秒 40
亿次。龙芯 2E 在 1.0GHz 主频下,SPEC CPU2000 的得分为 500 分,综合性能达到 Pentium III
和 Pentium 4 的水平。
龙芯 2F
龙芯 2F 与龙芯 2E 相比,主要有以下几个方面的提高。一是主频提高 30%以上,通过频
率筛选,将有 1GHz 以上的产品。二是相同频率下功耗降低 40%左右,并增加了很多诸如降
频、温度传感器、关闭 L2 等功耗管理功能。三是集成了更多的系统功能,除了 CPU 外,还
集成了 DDR2 内存控制器、66MHz PCI/100MHz PCIX 控制器、Local IO 控制器、GPIO、中断
控制器、DMA 控制器、部分显示加速等功能,将大幅度降低系统成本。四是封装更小,龙芯
2E 的封装为 35mm*35mm,龙芯 2F 为 27mm*27mm。五是可测性设计(DFT)和可生产性设计(DFM)
有明显提高,因此可以降低芯片成本。
龙芯 2G
龙芯 2G 在设计规格上相当于龙芯 3A 的单核版。与上一代龙芯 2F 相比,在二级缓存容
量、IO 总线带宽,配套桥片性能上都有大幅提升。龙芯 2G 目前在 1GHz 情况下运行稳定,
可提供更好地用户体验,并适用于笔记本电脑与瘦客户机等移动与桌面市场。
龙芯 3A
中国第一个具有完全自主知识产权的四核 CPU,龙芯 3 号处理器采用的是 65nm(纳米)
工艺,主频 1GHz,晶体管数目 4.25 亿个, 单颗龙芯 3A 的最大功耗为 15W,理论峰值为
16Gflops,每颗 CPU 单瓦特能效比 1.06Gflops/W,是目前 X86 CPU 的 2 倍以上,达到了世
界先进水平。龙芯 3 号多核 CPU 系列产品定位服务器和高性能计算机应用。
龙芯 3A 集成了四个 64 位超标量处理器核、4MB 的二级 Cache、两个 DDR2/3 内存控制器、
两个高性能 HyperTransport 控制器、一个 PCI/PCIX 控制器以及 LPC、SPI、UART、GPIO 等
低速 I/O 控制器。龙芯 3A 的指令系统与 MIPS64 兼容并通过指令扩展支持 X86 二进制翻译。
龙芯 3B
继龙芯 3A 后,龙芯 3 号系列处理器的第二代产品——8 核龙芯 3B 处理器已于今年年初
流片成功。目前龙芯公司相关部门正在对该款芯片做进一步的开发和测试工作。预计今年夏
天实现量产。
龙芯 3B 仍采用 65 纳米生产工艺,在单个芯片上集成 8 个增强型龙芯 GS464 处理器核,
它可以与 MIPS64 兼容,并支持 X86 虚拟机和向量扩展。在 1G 主频下可实现 128G flops 的
运算能力。在存储设计方面,龙芯 3B 最多可同时处理 64 个访问请求,可提供 12.8GB/S 的
访存带宽。在 I/O 接口方面,龙芯 3B 实现 2 个 16 位的 HyperTransport 接口,可提供高达
12.8GB/S 的 IO 吞吐能力。八核龙芯 3 号的芯片对外接口与四核龙芯 3 号完全一致,两款芯
片引脚完全兼容,可实现无缝更换。
2、中国 CPU 面临着严峻的考验
中国 CPU 还远远未能在民用市场争得一席之地是我们不得不面对的事实。
用在对处理器要求较低的网络计算机、银行、交通监控等领域,因为这些处理器
的性能根本就无法与 Intel 和 AMD 的处理器在 PC 或服务器领域一争雌雄。因此,
其无法进入主流也是必然的了。这部分市场是 CPU 市场利润最大的一部分。当
然,性能低的处理器在目前还是有它一定的市场的,就如前述应用领域一样。并
且这部分市场在 Intel 和 AMD、VIA 的处理器研发大厂视线之外,所以这也是给
国产处理器一个非常大商业契机,并且随着家电智能化、网络化,这种性能较低,
价格低廉的国产处理器的市场前景也还是不错的。但像你我这样的普通市民什么
时候能用上我们所说的“中国芯”呢?
对于中国 CPU 市场而言,中国 CPU 产业危机与希望同在,挑战与机遇并存。
对于政府而言,应借鉴世界各国反垄断的先进经验,尽快制定《反垄断法》,目
前要用好《政府采购法》,进一步规范招投标,奉行“第二供应商”原则,对此我
们称之为“规范促竞争”。对于厂商而言,鼓励大力进行技术创新的同时,也要想
办法破解 Wintel 联盟,因此积极发展 Linux CPU 和嵌入式 CPU,建立以我为主
的产业联盟也需摆上日程。对此,我们称之为“创新促竞争”。对于用户而言,要
积极倡导新一代 CPU 的 TPI 标准,倡导锋欺颜咧魁”为主导的先进商业模式,让
用户选择真正具有性能价格化的 CPU。对此,我们称之为“选择促竞争”。总之,
竞争离不开各方面的努力。为此,本报告在介绍国产 CPU 厂商的努力外,也重
点介绍了 Intel 在全球及中国市场的主要竞争对手 AMD 近几年的市场发展战略,
以使人们对 CPU 的竞争格局有一个全面的了解。
国产 CPU 虽然实现了群体性崛起,但这还仅仅是万里征程中的第一步。国
产 CPU 的技术本身还有待完善,应用领域还有待丰富,最终能否站稳脚跟,成
为信息化建设的主力,还有待市场的检验。毕竟,与世界最先进的水平相比,国
产 CPU 才刚刚上路。中国 CPU 的发展任重而道远!