RISC versus CISC Wars in the PrePC and PC Eras - Part 1

前PC时代和PC时代的 RISC-CISC之争(一)
——David Patterson 2011-01-24 发布
共分2篇博客从一个历史角度来探讨前PC时代(1970年代前后)、PC时代(1980年代中至2000年代中)以及后PC时代(2000年代后期)等三个阶段ARM和x86指令集之间竞争。

第1回合: 最初的“精简指令集”计算机与“复杂指令集”计算机
第一回合的RISC-CISC之争开始于30年前“The Case for the Reduced Instruction Set Computer”与其评论版姐妹篇的出版就开始了,那时候我们认为使用容易编码的指令格式和很多寄存器组成简单或精简的指令组成的指令集比起1970年代拥有复杂的指令格式和编码特点的指令集更适合于集成电路,当时与我们相反的Digital VAX-11/780、Intel iAPX-432和Intel 8086架构等,都被我们贴上了复杂指令集计算机(CISC)标签。

我最近找到了1981年一些老的手写幻灯片,其中的一张展示了简单指令格式和Berkeley RISC架构指令格式。


基准流水线微处理器(Benchmarking Pipelined Microprocessors)与微码微处理器(Microcoded Microprocessor)
为了执行一些复杂操作,CISC依靠一种拥有自己程序存储器的翻译器,称之为“微码”,而RISC从根本上主张这些简单内部指令翻译转换应该转出给编译器而不是芯片内部的一个翻译器。

RICS架构利用简单指令集第一次在微处理器上面演示流水线和超标量执行,这两个曾经都只在超级计算机领域出现。下面是Berkely RISC I和RISC II 型die的照片,它是一个
"single-issue",5级流水线的32位微处理器。
RISC versus CISC Wars in the PrePC and PC Eras - Part 1_第1张图片

下面的图表是从1981年曾经用来总结Berkeley RISC的幻灯片扫描出来的图片,上面使用不同的汽车来表征复杂性,第一辆汽车赢了(上面的3辆车是minicomputer,缺少平滑的地址空间,在当时很难找到一个C编译器和UNIX系统来作为8086基准程序),到现在仍然让我感到惊奇于当时研究生建了一个实际运行比工业界能够做到速度还要快的原型芯片。在满足摩尔定律增长的晶体管数目和快速提升性能的1980年代市场,ARM , MIPS和SPARC成功说明了RISC的优势。
RISC versus CISC Wars in the PrePC and PC Eras - Part 1_第2张图片

第2回合:Intel 主宰PC时代
尽管VAX和432屈于了RISC压力,但是Intel x86设计者则选择迎难而上,为了保持软件的二级制兼容,他们需要继续使用复杂指令,所以他们就不能放弃微码(Microcode),正如RISC一直倡导的一样,执行频率高的指令应该是简单指令,对此,Intel的解决办法是使用“额外的硬件”把简单的x86指令翻译转换成内部的RISC指令,同时使用RISC架构的思想演示流水线、超标量执行等等,Intel一直在为更长流水线、额外转换硬件和复杂指令的”微码“负担在花费“CISC费用”:
  • Intel的半导体制造线领先于RISC厂家能够使用到半导体制造线,因此越小尺寸的芯片越能隐藏一些CISC费用;
  • 遵循摩尔定律发展规律,芯片也内部集成FPU(浮点运算单元)和cache,随着时间的推移,CISC的花费占芯片总成本的比重越来越小;
  • IBM PC里面配套了一些采用x86指令集,二级制格式的软件套件,随着IBM PC的持续畅销,另一方面使得x86指令集越来越体现出价值,CISC费用也愈发显得不重要;
维基百科上关于”RISC-CISC战争“得出的结论是早期的RISC设计与同期的CISC设计有着极大的不同,但是到2000年,高性能的CISC处理器与高性能的RISC处理器几乎已经没什么区别了,但是由于x86软件的胜出,CISC处理器主宰了PC时代。

结论
当RISC在第一回合商业成功之后,Intel看到RISC优点之后,为了遵循摩尔定律,Intel保持了PC软件的二进制兼容,同时吸收RISC优点,通过内部的微码和额外硬件把CISC复杂指令在内部翻译转换成RISC指令,同时相对PC市场来说CSIC费用也只是很小的一部分。

在我的下一篇博客里面,我会探讨基于云计算和个人移动设备像手机和平板的”后PC时代“里面的”RISC-CISC之争“。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
原文: http://blogs.arm.com/software-enablement/375-risc-versus-cisc-wars-in-the-prepc-and-pc-eras-part-1/

你可能感兴趣的:(RISC versus CISC Wars in the PrePC and PC Eras - Part 1)