零壹与或非分享 http://blog.sciencenet.cn/u/dthome9180 站得更高,才能望得更;远看得更细,才能找到好草

博文

处理器指令系统漫谈(5):RISC

已有 2488 次阅读 2019-8-20 14:05 |个人分类:观点评述|系统分类:科普集锦| 处理器, 指令

RISC(Reduced Instruction Set Computer)这个词是UC Berkeley的D. Patterson给出的,最早出现在1980年ACM Computer Architecture Letters中【1】。Patterson是个起名字的高手,RAID、NOW、COW等等脍炙人口、不一而足。在这篇论文中,作者首先谈到了计算机越来越复杂的原因,存储墙、微码、代码密度、市场策略、向上兼容、支持高级语言、多道程序等等。

image.png

image.png

Patterson谈到最初的思路,部分来源于和约翰.科克(John Cocke)的私人交谈(也有说是IBM的研讨会)。科克被誉为RISC的首创者,并因此获得1987年的图灵奖。RISC的最早思想出现在1960年代的CDC 6600,程序执行的大部分指令是少数一些简单指令。而针对IBM 360的一些研究也得到了相同的结果,复杂指令编译器用不好。从1975年10月开始【2】,科克主持了IBM内部的801计算机项目,采用了精简指令指令集。但是801只是IBM的试验型项目,从来也没有打算对外公开,一些信息只是在一些大众杂志报道中出现过。项目的细节,在RISC得到广泛影响后,在1982年第一届ASPLOS发表了总结性的论文。而这之前,Patterson已经在1981年的ISCA上发表了RISC-I的经典文章。【3】

【2】和【3】这两篇文章给出了RISC的基本概念:

  1. 单周期执行指令。CISC指令的核心技术之一是采用微码技术来实现复杂指令。而每一条微码(801中叫primitive instruction)可以看成RISC中的一条指令。

  2. 固定字长指令。有利于硬连线(hard-wired)实现指令译码。

  3. 只用load/store指令访问内存。

  4. 依赖编译优化的支持,支持高级语言。

image.png

其实RISC指令系统能成功的关键因素就是编译技术的成熟,这也是科克的最主要的贡献。RISC技术的两大核心是指令级并行和编译优化。科克对编译器的代码生成技术进行了深入研究,提出了一系列优化方法,如过程(procedure)集成、循环(loop)变换、公共子表达式(common subexpression)消除、代码移动(code motion)、寄存器定位和存储单元重用等等。1970年代,科克的两本著作都与编译有关,1970年的《Programming languages and Their Compilers》和1972年的《A Catalog of Optimizing Transformations》。

IBM 801的设计思想和体系结构概念引起了加州大学伯克利分校Patterson和斯坦福大学Hennessy的极大兴趣和重视,经过大量的研究、改进和发展,最后形成了RISC这种崭新的计算机体系结构。这之后,几乎所有的指令系统无一不是RISC。

Patterson开展RISC研究还有一段轶事。《计算机系统结构的新黄金时代》中讲到Patterson之前发现,如果处理器制造商遵循大型计算机CISC指令系统设计,需要一种方法来修复微码的错误。Patterson写了一篇论文,但被IEEE Computer杂志拒稿了。审稿人认为构建这样的CISC并支持在线错误修复处理器不是一个很好的想法。这也引发了对CISC指令系统复杂度的疑问,启发了Patterson开始着手研究RISC指令系统。

总之,RISC指令系统体现了CAQA中的设计原则之一“简单的就是美的”。

Simple is beautiful !


【1】Patterson, D. A. and D. R. Ditzel. 1980. "The case for the reduced instruction set computer." SIGARCH Comput. Archit. News 8(6): 25-33.

【2】Radin, G. 1982. The 801 minicomputer. ASPLOS-1'82. Proceedings of the first international symposium on Architectural support for programming languages and operating systems. Palo Alto, California, USA, ACM: 39-47.

【3】Patterson, D. A. and C. H. Sequin. 1981. RISC I: A Reduced Instruction Set VLSI Computer. ISCA-8'81. Proceedings of the 8th annual symposium on Computer Architecture. Minneapolis, Minnesota, USA, IEEE Computer Society Press: 443-457.




https://blog.sciencenet.cn/blog-102148-1194421.html

上一篇:处理器指令系统漫谈(4):开放
下一篇:处理器指令系统漫谈(6):大学
收藏 IP: 124.205.76.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-24 13:02

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部