加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

终于有人把各个指令集之间的关系和发展讲清楚了

发布时间:2019-05-23 06:46:26 所属栏目:建站 来源:xiaohui
导读:RISC-V RISC-V(读作RISC-FIVE)是一个基于精简指令集(RISC)原则的开源指令集架构(ISA)。与大多数指令集相比,RISC-V指令集可以自由地用于任何目的,允许任何人设计、制造和销售RISC-V芯片和软件。虽然这不是第一个开源指令集,但它具有重要意义,因为

1.指令系统:RISC设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效。对不常用的功能,常通过组合指令来完成。因此,在RISC计算机上实现特殊功能时,效率可能较低。但可以利用流水技术和超标量技术加以改进和弥补。而CISC计算机的指令系统比较丰富,有专用指令来完成特定的功能。因此,处理特殊任务效率较高。

2.存储器操作:RISC对存储器操作有限制,使控制简单化;而CISC计算机的存储器操作指令多,操作直接。

3.程序:CISC汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计;而RISC汇编语言程序编程相对简单,科学计算及复杂操作的程序设计相对容易,效率较高。

4.中断:RISC计算机在一条指令执行的适当地方可以响应中断,但是相比CISC指令执行的时间短,所以中断响应及时;而CISC计算机是在一条指令执行结束后响应中断。

5.CPU:RISC CPU包含有较少的单元电路,因而面积小、功耗低;而CISCCPU包含有丰富的电路单元,因而功能强、面积大、功耗大。

6.设计周期:RISC微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术;CISC微处理器结构复杂,设计周期长。

7.用户使用:RISC微处理器结构简单,指令规整,性能容易把握,易学易用;CISC微处理器结构复杂,功能强大,实现特殊功能容易。

8.应用范围:由于CISC指令系统的确定与特定的应用领域有关,故CISC计算机更适合于专用机;而RISC计算机则更适合于通用机。

超长指令字(VLIW)和显式并行指令计算(EPIC)

VLIW是一种非常长的指令组合,它把许多条指令连在一起,增加了运算的速度。 超长指令字(VLIW)是指令级并行,超线程(Hyper-Threading)是线程级并行,而多内核则是芯片级并行。这三种方式都是提高并行计算性能的有效途径。其中,VLIW(超长指令字)体系结构是美国Multiflow和Cydrome公司于20世纪80年代设计的体系结构,EPIC体系结构就是从VLIW中衍生出来的。

上述方法通过要求硬件执行所有这些逻辑来使硬件复杂化。相比之下,VLIW将这种复杂性留给了程序。作为权衡,编译器变得更加复杂,同时硬件被简化并且仍然在计算上表现良好。

VLIW最常见于嵌入式媒体处理器和图形处理单元(GPU)中。但是,Nvidia和AMD已经转向RISC架构,以提高非图形工作负载的性能。

为了开拓64位处理器的高端应用市场,1994年6月Intel和HP公司签署合作协议,共同开发以服务器和T作站为主要应用目标的全新64位架构高性能微处理器。1997年11月,Intel和HP公司发布基于EPIC(Explicitly Parallel Instruction Computing,显式并行指令计算)的Itanium系统结构。

超标量和VLIW是开发指令级并行的两种极端结构,前者完全依赖流水线硬件动态识别出可并行的指令,并将它们分发给相应的功能单元执行,后者则将指令级并行的开发工作全部交给编译器完成,在编译时静态确定每条指令的流出时刻和执行延迟,仅依赖简单的流水线硬件确保在指令实际执行延迟与编译器假定的延迟不一致时(如访问Cache不命中就会增加访存操作的延迟),程序的执行结果依然正确。在这两种结构中,单一的指令级并行开发机制使得它们都存在着严重的固有缺陷:超标量结构硬件复杂度太高,学术界和工业界一致认为,同时流出并执行8条指令将达到这种结构的极限;VLIW则面临着严重的代码兼容问题,而且目前VLIW编译器的智能程度远远无法满足人们的要求。显式并行指令计算(Explicitly Parallel Instruction Computing,EPIC)技术正是为了解决这两种结构的本质缺陷而提出的,它是在VLIW的基础上融合了超标量结构的一些优点而设计得到的,以期用有限的硬件开销为代价开发出更多的指令级并行。

最小指令集(MISC)

MISC比RISC更小,它包括非常少量的基本操作和相应的操作码。如果它们是基于堆栈而不是基于寄存器,则这些被归类为MISC,但是也可以由指令的数量(少于32条但大于1条)来定义。

单一指令集(OISC)

这描述了一个只使用一条指令的抽象计算机,它消除了对计算机语言操作码的需求。例如,“mov”是图灵完成,这意味着它能够成为一个OISC,以及其他使用减法的指令。据我所知,OISC还没有商业化。

在很多媒体的报道中,定义一套指令集被描述为黑科技,但事实上,实现一款高性能的CPU和围绕指令集构建软件生态才是真正具有挑战性的工作,定义一套指令集的难度并不大,伯克利的研究团队4名成员仅用了3个月就完成了RISC-V的指令集开发。由于伯克利研究团队缺人缺钱,于是决定将RISC-V开源,成为CPU中的Linux,在获得各方支援后,又相继开发了一些产品。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读