摘 要: 阐述了计算机由诞生至现在主流处理器体系结构与架构的发展变化,对两大主流技术CISC和RISC的主要特征进行了介绍,并对基于这两种体系结构的经典架构做了简单介绍和分析对比,指出了现有体系结构中存在的问题,对未来计算机发展充满期望。
关键词: CISC;RISC;体系结构;指令
处理器体系结构与架构研究的核心内容是指令系统,程序开发人员根据所给定的指令系统来编写软件,以满足用户的需求。指令系统是一台计算机中所有机器指令的集合,是表征一台计算机性能优劣的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且直接影响到系统软件的执行效率及计算机的适用范围。
1 体系结构
计算机指令系统在不断优化和发展的过程中,出现两个优化方向:CISC复杂指令系统与RISC精简指令系统。在现代的处理器指令集设计中,两者均有广泛的应用[1]。
1.1 CISC
为提高运算速度,不得不将越来越多的复杂指令加入到指令系统中,以提高计算机的处理效率,这就逐步形成复杂指令集计算机体系。Intel公司的X86系列是典型的CISC体系的结构,从最初的8086到后来的奔腾、酷睿系列,每一代新的处理器都会有自己新的指令,而为了兼容以前的处理器平台上的软件,旧的指令集又必须保留,这就使得指令的解码系统越来越复杂。其特点在于这些复杂指令简化了目标程序,缩小了高级语言与机器指令之间的语义差距。然而,在指令集中的各种指令使用频率却相差悬殊,IBM研究中心的John Cocke证明,计算机程序执行过程中约20%的指令承担了80%的工作,而余下80%的指令却不经常使用[2]。基于CISC存在的诸多不合理性,美国加州大学伯克莱分校于1979年提出了RISC的思想。
1.2 RISC
复杂的指令系统必然带来结构的复杂性,这不但增加了设计的时间与成本,还容易造成设计失误。RISC是一种执行较少类型计算机指令的微处理器,起源于20世纪80年代的MIPS主机。其特点在于大部分指令能在一个时钟周期内执行完毕,使用小的指令集,使得代码开发变得更加容易,软件开发周期和测试缩短;采用硬布线控制逻辑,其处理能力强,速度快,不仅精简了指令系统,而且由于采用超标量和超流水线结构,它的指令数目只有几十条,却大大增强了并行处理能力;时钟频率低,功率消耗少,温升也少,机器不易发生故障和老化,提高了系统的可靠性。
1.3 VLIW
VLIW是一种融合了CISC与RISC指令集的设计思想与技术[3],它利用编译器把若干个简单的、无相互依赖的指令系统压缩到同一个非常长的指令字中。当超长指令字被从缓存或主存读取进处理器时,可以容易地分割出各个操作,并一次性分别分派到多个独立的执行单元中并行执行。采用静态指令调度策略,其优点是通过从硬件中移走复杂性,构造出简单而性能强大的处理器。简单硬件还允许时钟的增长速度比现有的复杂RISC芯片更快,而且更容易加入更多的功能菜单来挖掘代码中存在的所有并行性。
2 体系架构
处理器架构是厂商给属于同一系列的产品制定的一个规范,主要是用于区分不同类型的重要指标。
2.1 ARM
ARM是一个32位精简指令集的中央处理器架构,其广泛使用在嵌入式系统的设计中。由于节能的特点,占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的32位元架构之一;可以在很多消费性电子产品上看到,从便携式装置(如移动电话、多媒体播放器、掌上型电玩和计算机等)到电脑周边设备(硬盘、桌上型路由器),甚至在导弹的弹载计算机等军用设施中都有它的存在;提供一系列内核、体系扩展、微处理器和系统芯片方案;由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。
2.2 MIPS
MIPS由美国著名MIPS科技公司开发并授权,广泛使用在许多电子产品、网络设备、个人娱乐装置与商业装置上。MIPS是最早的商业RISC架构芯片之一,其机制是尽量利用软件办法避免流水线中的数据相关问题。与英特尔采用的复杂指令系统计算结构相比,其具有设计更简单、设计周期更短等优点,并可以应用更多先进的技术,开发更快的下一代处理器。早期的MIPS架构是32位,最新的版本已经变成64位。
2.3 X86
Intel从16位微处理器8086开始,定义了芯片的基本使用规则,286、386、486、586、奔腾、酷睿采用的是同一种CPU架构,统称X86。在30多年的发展史中,从桌面转战笔记本、服务器、超级计算机、编写设备,挫败或者限制了很多竞争对手的发展,让不少处理器厂商及其架构技术成为历史名字。X86家族不断壮大,成就了Intel如日中天的地位,也成为了一种业界标准,开创了一个新时代。
2.4 IA-64
英特尔为了全面提高以前32位处理器的运算性能,与惠普共同开发了64位处理器架构,定位于服务器市场。其目的是想摆脱容量巨大的X86架构,从而引入精力充沛而又功能强大的指令集。IA-64 在很多方面都比X86有了长足的进步,突破了传统IA32架构的许多限制,在数据的处理能力、系统的稳定性、安全性、可用性、可管理性等方面获得了突破性的提高。由于IA-64不能很好地解决与X86架构的兼容问题,所以其应用受到了较大的限制。
3 国产处理器体系结构与架构
信息安全涉及到的核心问题就是处理器,目前国内大多计算机与服务器的处理器都非自主研发。国产主流体系结构与架构如表1所示。
(1)北大众志是国内最早研发具有完全自主知识产权微处理器的单位。它推出了国内第一套支持微处理器正向设计的开发平台及16位定点微处理器UniCore16原型系统,实现了国内CPU“零”的突破。通过自身的不断努力,其已形成包括16位、32位、64位类RISC体系的自定义指令系统,广泛应用于笔记本电脑、安全微工作站、面向3C/三网融合等消费类电子产品。
(2)苏州国芯是从事基于Motorola 32位与PowerPC架构的RISC嵌入式CPU C*Core技术研究的单位[4],在信息安全、消费电子、办公自动化、通信网络、工业控制产品、汽车控制等各类嵌入式产品中应用广泛,甚至在公安、国防上也有所应用。
(3)江南计算技术研究所研发的申威处理器[5]源自于DEC的Alpha 21164,采用基于RISC的自主指令集、Alpha架构,具有自主知识产权,运用到我国公开面世的“神威蓝光”超级计算机上,达到每秒千万亿次浮点运算能力,多应用在高性能工作站或国产服务器上。
(4)国防科学技术大学微处理器采用RISC结构之一的SPARC开放架构,其研究主要应用于军用领域以及高端服务器上[6]。我国第一台千万亿次服务器“天河1号”以及目前全球最快的超级计算机天河二号都是出自国防科技大学之手,其在天气预报、气候模拟、生物医药、工程设计与仿真分析、新材料、海洋环境研究等多个领域都发挥着重要作用。
(5)中国科学院计算技术研究所在坚持走自主开放式创新之路,购买了MIPS指令授权,自主研制开发了龙芯系列CPU[7],促进了我国信息产业的发展。龙芯系列产品的特点是低功耗、低成本和完全自主知识产权。龙芯主要应用于电子类消费产品和嵌入式防火墙、嵌入式网关等低端嵌入式领域以及航空航天等特殊应用环境。
从目前计算机体系结构与架构的发展趋势来看,体系结构的两种典型代表CISC和RISC各自有着丰富的内容,其界限日益模糊。基于两种体系的处理器的运算速度也越来越快,性能愈来愈高,两种体系的厂商阵营都在展开着速度与性能的竞赛。
参考文献
[1] 施志林.RISC_CISC技术比较与研究[J].中国科技信息,2008(11):131-132.
[2] 张宁辉.计算机指令系统的发展与研究[J].黑龙江科技信息,2008(6):75.
[3] 陈瑞森.基于CISC/RISC的混合指令集构建[J].现代电子技术,2007(16):49-52.
[4] C*Core CPU设计技术[J].中国集成电路,2009(5):28-29.
[5] 申威处理器[EB/OL].[2014-05-20].http://baike.baidu.com/view/6792168.htm.
[6] 银河飞腾处理器[EB/OL].[2014-05-02].http://baike.baidu.com/view/4103926.htm.
[7] 为民.“龙芯”的豪情与壮志[J].中国集成电路,2008(7):36-40.