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

博文

处理器指令系统漫谈(1):CAQA

已有 3244 次阅读 2019-7-24 14:16 |个人分类:观点评述|系统分类:科普集锦| 处理器, 指令


《计算机体系结构:量化研究方法》(Computer Architecture: A Quantitative Approach)是计算机体系结构领域的最经典教材,被称该领域的“圣经”。2017年CAQA出版了第六版,目前国内的英文版和中文版还没有出版。放假一般是重读经典的时间,所以从图书馆借了一本(2019年版),打算细细研读。

由于笔者一直研究指令系统和微处理器设计,所以习惯性的先看目录中关于指令系统的附录部分。CAQA的两位作者John Hennessy和David Patterson是RISC的奠基人,并因此获得2018年的图灵奖。作者在书中特别重视RISC指令系统的系统性讲述。附录A主要介绍指令系统的设计原理,附录K主要给出主流指令系统的综述,附录G和H分别介绍向量机和超长指令字VLIW。附录K/G/H,需要从网上下载电子版,所以一般读者可能不太关心。

第六版在指令系统相关部分做了很大的改动,而CAQA的第三、四、五版中的这部分内容几乎没有变化。为什么出现这种变化呢?CAQA第六版和第五版在指令系统部分中有几个主要的不同:

  1. RISC-V替代MIPS成为全书的基础指令系统,作者在附录A.9节介绍RISC-V时写了如下一段话。“RISC-V建立在30年的RISC架构经验基础之上,并“清理”大部分短期杂质和疏忽,从而形成一个实现起来更容易、更有效的架构。”由此可见作者对RISC-V的推崇。

  2. 在附录K的指令系统综述部分,服务器/桌面指令系统中增加了ARMv8指令系统。去掉了ALPHA和PA-RISC的内容,用POWER指令系统替代了PowerPC。对此,作者写了一段话“还有另外两个历史上的重要RISC处理器几乎与上面列表中的相同:DEC Alpha处理器,由DEC在1992年至2004年制造,几乎与MIPS64相同。 HP公司的PA-RISC是于1986年至2005年生产的,然后被Itanium取代。 PA-RISC与Power指令系统最密切相关,后者源于IBM Power设计,它本身就是IBM 801的后代。”这一定程度上说明,作者认为ALPHA、PA-RISC和PowerPC已经退出了历史的舞台。

  3. 在附录K中嵌入式指令系统部分,去掉了ARMv4、Thumb、SuperH和M32R,增加了RISC-V的RV64GC,保留了MIPS和Thumb-2(ARMv8e的前身)。

这种变化激发笔者找来CAQA所有的版本,从1990年第一版开始,到了2017年第六版了,回顾这进30年的6个版本,我们可以一定程度的看出指令系统发展的历史和兴衰。下图总结了6个版本涉及的指令系统。

image.png

图中蓝色的是70年代的CISC指令系统,CAQA的6个版本都介绍了,第二版比较特殊没有详细介绍这些CISC指令系统细节。白色的是80-90年代的RISC指令系统,其中灰色打叉的表明某指令系统从该版的CAQA中删除了。M88000和i860只出现在第一版,DLX作为CAQA第一版和第二版的基础指令系统是专门为这本书而设计的,从第三版开始被MIPS取代。从2003年第三版到2012年第四版,一直是MIPS作为基础指令系统贯穿全书。金色的是2010年后出现的指令系统,x86指令系统40年来一直在不断的扩充,每一次更新都可以视为新指令系统。从第四版开始增加对VLIW和EPIC的介绍。当然,变化最大的是最新的第六版,很多曾经的经典成为历史。

笔者从维基百科中找到了超级计算机(过去叫巨型机)的处理器分布,也能反映每个时代的主流处理器和指令系统,与CAQA中的数据也有一定的呼应。从下图可以看到,90年代中期到2000年中期,RISC处理器是超级计算机和服务器、工作站的主流处理器,MIPS、SPARC、PA-RISC、ALPHA、POWER等等,此消彼长,百家争鸣,百花齐放。2000年代初期IA-64/EPIC(Itanium)曾经辉煌一时。而2000年代中期到现在,几乎全部是x86-64的天下,Power处理器仍然占有一定份额(CAQA中POWER替换了PowerPC的原因)。

image.png

以上这些数据能揭示指令系统设计和处理器发展的那些内在因素呢?成功的、长寿的的指令系统需要哪些特质呢?这需要首先回顾微处理器指令系统的发展历史,总结所有著名指令系统的设计目标和特色,提炼出设计指令系统所需考虑的特性。然后从未来的工艺技术发展和应用需求出发,讨论指令系统设计问题。这是要在x86和ARM已经成为事实上的指令系统标准并牢牢占领各级处理器市场,在开放的RISC-V异军突起并在物联网、领域专用加速器等领域攻城略地的背景下开展的讨论。

回想起2017年中科院包云岗研究员提出的关于指令系统的问题“中国是否应该再次考虑推行指令及国家标准?是基于开放指令集RISC-V,还是重新设计一套指令集?”。【1】

笔者希望讨论的问题是“未来AI+IoT+5G的时代,未来体系结构新黄金时代,新时代是否需要全新的指令系统?RISC-V指令系统是否足够了?新时代的指令系统应该如何设计?”



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

上一篇:易被忽视的细节25:谣言
下一篇:处理器指令系统漫谈(2):兼容
收藏 IP: 124.205.76.*| 热度|

0

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

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

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

GMT+8, 2024-4-27 23:49

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部