引言:恰逢端午,品王健先生佳作--三分天下的指令集,作以下读书感。
指令集,既神秘,又简单的概念。单纯从字面意思来看,就是指令的集合,限定在计算机则是计算指令的集合。
指令集和微架构息息相关,但又不太一样。说实话,我个人也没有太区分清这两个概念。
王健先生通过通俗的例子,从北京到上海,来介绍出指令集的意思,大大帮助了非专业人士对指令集概念的理解。
指令集比较流行的是,x86(x86-64)指令集,arm指令集,rsic-v指令集,以及MIPS等指令集。
除了x86是复杂指令集CISC, 其它几个都是RSIC指令集。
这里怎么理解CISC和RSIC呢?
王健先生书中也做了说明:CICS其实就是尽量采用更多的指令来实施具体的计算行为。而RISC则是选取最常用的几十个指令,其他复杂指令,则用最常用的这些指令模拟出来。
x86当然大家最熟悉,那么一般来讲x86 CPU功耗都比较高,一般都需要带散热装置,而arm类的,比如手机等很少需要带风扇。
另外一点是,x86/arm是需要授权的,x86目前有很少的几家公司有授权,英特尔和AMD自不必多说,国内的话,威盛电子将x86授权转移给兆芯,海光通过合资拿到AMD ZEN架构的有限授权。x86的优势是能够运行win OS, 而实质上x86的性能通常能做的更高,因为是CISC, 通用性会更强。从服务器的数量上来看,各大互联网公司,目前的服务器种类x86CPU是占绝大多数的存在,会有少量的arm N系列处理器,更少的risc-v 处理器。AMD好像在服务器领域与英特尔差距不小,近些年逐步在缩小差距。
由于处理器要求更为稳定,性能要求也比较高,arm和risc-v在服务器领域想要开疆拓土,可能还需要一段时间的积累。risc-v由于开源性,几乎所有的科技公司都在做。而,真正有能力设计risc-v CPU, 高性能CPU的企业可能也是寥寥无几,话句话说,路还很远。做做MCU还行,技术这种东西,要尊重科技发展的规律,逐步积累,弯道超车是个伪概念。
王健先生通过通俗易懂的语言,将指令集概念描述出来,确实令我赞叹。
通过阅读王健先生的科普之后,我个人的经验是,计算机电子从业者或者爱好者,都应该去英特尔官网下载一下最新的x86 ISA Spec来拜读一下,掌握了x86的架构,可以触碰到深层次的体系架构灵魂,可以逐步领略到计算机的魅力,知其然,知其所以然。
后记:限于本人技术水平,文中一些概念,可能描述不是很准确,欢迎大家指正~