《深入探讨risc与cisc体系》由会员分享,可在线阅读,更多相关《深入探讨risc与cisc体系(7页珍藏版)》请在金锄头文库上搜索。
1、1深入探讨 RISC 与 CISC 体系杨明 应佳 梁霄 陈贺瑶摘要:从 RISC 与 CISC 技术的特征引入,分析 RISC 技术与 CISC 技术的优劣方面,从而对RISC 处理机和 CISC 处理机的核心技术进行深入探讨与比较。关键词:指令集,处理机,RISC,CISC引言2011 年,微软公司宣布下一代 Windows 系统将正式支持 ARM 处理器,这是计算机工业发展史上的一件大事,标志着 X86 处理器的主导地位受到挑战。按照当时的统计,在移动设备市场,ARM 处理器的市场份额超过了九成,在桌面电脑市场又有了微软的支持,ARM 成为主流可以说在未来成了不可避免的趋势。这一现象也一
2、度引起了当时人们的惊呼,认为 Intel 公司或被击败。关注这场纷争,我们不难看出,ARM 是基于 RISC 的产品,而 PC 的代言人 x86 基于CISC。ARM 与 x86 之争,其实就是 RISC 和 CISC 之争。这两种技术都试图在软硬件、体系架构、执行速度、编译依赖性等诸多因素中作出平衡,以求达到更高的利用率,但采用的方法不同因而有所差异。在这一主流处理器面临转型的关键时期,我们将对于 RISC 和 CISC 技术和性能进行更加深入的探讨。2RISC 和 CISC 技术的主要特点首先,让我们把目光下放,从技术的实质的角度来看 RISC 和 CISC 技术。按照诞生时间的先后,我们
3、先来探讨 CISC(Complex Instruction Set Computing)复杂指令集技术。可以说,计算机在诞生之初,人们对于计算机有限的认识决定了 CISC 技术的必然性。上世纪 70 年代,人们对于计算机的研究日益深入。当时的计算机处理速度很慢,特别是存储速度非常慢,慢速磁带存储设备的广泛使用以及大容量内存的缺乏,让计算机对每一字节空间的应用都很珍惜。在这样的情况下,人们希望在一条指令中完成更多的工作,比如“从内存和寄存器读取数据相加后,写入内存”。其实这一条指令可以拆分成四条指令,首先是从内存读取数据,其次是从寄存器读取数据,第三是相加,最后才是写入内存。一条指令内完成多项工
4、作的这个相对复杂的思想,是当时计算机的主流设计方案。这一思想,在 RISC 技术概念被提出后,也就被人们与之对应称为了 CISC技术。CISC 技术具有以下特点:1. 指令系统复杂。随着机器的更新换代,指令条数不断增加,指令种类不断丰富,寻址方式不断扩充,特殊指令越来越多,这就使指令系统越来越复杂。2. 指令结构复杂。随着指令条数的增加,使指令的结构形式越来越长,包括的内容越来越多。3. 指令的执行时间长:指令结构复杂,就需要更多的时间分析解释,更多的机器周期完成规定的功能。4. CPU 结构复杂。指令复杂,功能强大,使 CPU 需要有更多的电路部件支持相应的功能,更快更完善地完成指令规定的任
5、务。5. 微程序控制指令条数多,形式复杂,硬件译码难以实现。6. CPU 包含越来越多的电路,占用越来越大的面积,消耗越来越多的能量。RISC 体系一定程度上是在“8020”定律的推动下产生的,即在所有指令集中,只有 20%常常被利用,而 80%很少有人问津。在这一思路的启发下, 1980 年代,Reduced Instruction Set Computing,也就是 RISC 精简指令集开始出现。这种指令集的优势在于将计算机中最常用的 20%的指令集集中优3化,而剩下的不常用的 80%则采用拆分为常用指令集等方式运行。我们将 RISC 技术的优点总结如下:1. 精心选择指令,优化指令系统。
6、确定指令系统时,为做到精简,选取使用频度最高的一些简单指令,以及很有用又不复杂的指令。同时,采用简单的指令格式、固定的指令字长和简单的寻址方式,让指令的执行尽可能在一个周期内完成。2. 采用 load-store 结构。只允许加载(load)、存储(store) 指令执行存储器操作,其余指令均对寄存器操作。3. 使用较多的通用寄存器以减少访存,不设置或少设置专用寄存器。由于 RISC 的设计采用简单、合理的指令系统和简化的寻址方式,所以排除了微代码设计技术。4. 大寄存器堆。RISC 微处理器中大量的计算都在 ALU 高速寄存器中执行,由编译器产生、分配和优化寄存器的使用,从而简化了流水线结构
7、和使指令周期将到最小。5. 采用高速缓存(cache)分层存储体系。6. 高效的流水线操作。除 load/store 指令外,其他指令都以流水方式工作,从而可在一个时钟周期内执行完毕。采用流水线方式后,下一条指令不必等到上一条指令执行完毕才开始执行,而是可以提前执行。7. 延迟转移。由于数据从存储器到寄存器存在速度差,转移指令要进行入口地址的计算,这使 CPU执行速度大大受限。因此,RISC 技术为保证流水线高速运行,在它们之间允许加一条不相关的可立即执行的指令,以提高速度。8. 硬连线控制。采用少量、简单、固定的硬连线控制逻辑替代微码以实现减少指令系统,保证短周期、单周期执行指令。9. 采用
8、寄存器窗口技术。为了简单有效地支持高级语言,RISC 设计者把大寄存器堆分成多个重叠寄存器窗口,用以在执行高级语言中的过程调用和返回子程序的直接转换参数,这样就减少了调用和返回访问主存所消耗的计算时间。粗略来看,RISC 技术是在多个方面优于 CISC 技术的,但两者之间孰优孰劣并不这么简单,下面我们将从 RISC 和 CISC 技术的各个不同角度的进行探讨。4辨析 RISC 与 CISC 技术的优劣我们比较 RISC 和 CISC 技术的目的,不是为了严格地区分它们,而是要将它们取长补短相互靠拢,有效地融合,设计出更加高效的机器。让我们从以下几个角度,辩证的分析两大技术。1. 指令系统RIS
9、C 指令等长,没有复杂的寻址模式,提高了取指令和译码的效率,对不常用的功能,通过组合指令来完成。CISC 计算机的指令系统复杂,指令长度通常不固定,有专用的指令来完成特定的工作。任何一个程序在计算机上的执行时间可以用下面的公式来计算:PICPIT ,下表列出了CISC 与 RISC 的三个参数 I、CPI 和 T 的比较情况:类型 指令条数 I 指令平均周期数 CPI 周期时间 TCISC 1 215 33ns5nsRISC 1.31.4 1.11.4 10ns2ns2. 程序设计CISC 程序设计简单,效率较高,目前可运行在 DOC,Windows 操作系统上,拥有大量的应用程序;而 RIS
10、C 将复杂性移到了程序设计上,给了软件生产商更大的优化程序的压力,虽然也可以运行在 DOC,Windows 上,但需要一个翻译过程,运行速度慢。3. 集成规模RISC 微处理器结构简单,布局紧凑,包含较少的单元电路,面积小、功耗低,可是需要的存储器多;而 CISC 微处理器电路单元复杂,功能强大,因此面积大、功耗也大,但不需要那么多的存储器来存储指令。4. 技术支持RISC 技术能更好地支持优化编译技术和并行处理技术,节省大型和复杂问题的解决时间。CISC采用微码技术,指令语义较高。5未来趋势目前,RISC 技术已形成了两种技术风格:一是使传统流水线更深的超流水线风格,二是每个时钟让多条指令进
11、入流水线的超标量风格。RISC 技术已经在某些领域取得了令人注目的成就,对 CISC 技术构成了强有力的冲击。各具特色的 RISC 芯片不断涌现,并在许多领域已显示出其生命力。相对地,近年唱衰 PC 的言论日益增长,CISC 的高功耗也愈发跟不上潮流,再加上 Intel 等公司在战略上的后知后觉使得 CISC 架构发展迟缓。不过 CISC 技术有雄厚的历史基础,市场占有率高,仍不能简单地说将来谁会比谁更强大。现代的 CPU 往往采用 CISC 的外围,内部加入 RISC 的特性,或两者相互取经。例如 Intel 在 90 年代中期就已经在 P6 的架构里引入乱序发射技术,首次实现了 CISC
12、指令集在解码阶段向 RISC 类指令的转化。同期 ARM 也引入代码密度更高的 Thumb 指令集,提高指令缓存效率。结束语:CISC 与 RISC 在指令集架构层面上的差异变得越来越模糊,由先进的微架构和物理设计、工艺实现带来的改进足以掩盖指令集架构层面的劣势,可以说双方的精华已经熔为一炉。目前,以 x86 处理器为代表的 CISC 产品占据了超过 90%的 PC 市场,以 ARM 为代表的 RISC 产品则占据了超过 90%的移动市场。RISC 自诞生以来的三十年中经历了质疑、辉煌和落寞,它精简的设计理念很大程度上影响了后来的芯片设计。然而“简单就是终极的复杂”,研发一款 ARM 版 Wi
13、n8 要比想象中困难得多,每一个基于 Win8 的 ARM 设备都是独特的,而不是像 Win8 x86 那样共享一个相同的标准。不过这也不意味着 ARM 以后就只能占据低端,毕竟任何架构都有其优点,一旦有应用针对其进行优化,那么就可以扬长避短。CISC 是 Intel 的最关键财富,它成就了 Intel。但是,它又是 Intel 目前的最大负担,为了节约晶体管砍掉扩展指令集,Intel 的 CPU 性能就会损伤一半;若保留就会使其功耗大大高于 ARM 类CPU。尽管如此,CISC 体系作为 PC 的处理器却稳坐江山。也许是因为它早到了一步,而后来的 RISC6并没有给人们充分的更换它的理由。但
14、我们仍然期待微软坚定支持 ARM 架构的这一举措能够为 RISC在 PC 领域翻身注入一剂强心针。7参考文献1吴军.浪潮之巅M.北京:电子工业出版社,2011.40-422高邦仁.英特尔的继续创新J.互联网周刊.2013,83.An Alternative to RISC:The Intel 80x86D.USA:Elsevier Science,2003.18-214任哲.ARM 体系结构及其嵌入式处理器M.北京航空航天大学出版社,2008,9-105 施志林. RISC、CISC技术比较与研究J. 中国科技信息, 2008, (11): 131-1326 黄博文. RISC与CISC的纠结J. 电脑报, 2013, (11): 1-37 Jeff, Prosise. RISC与 CISC的实际区别J. 个人电脑 , PC , 1996, (01): 171-173 8 微型计算机. 那些年的那些事 CISC 和 RISC 发展中的纠缠EB/OL. http:/ 2013-01-30