本文作者:cysgjj

复杂指令计算机技术,复杂指令计算机技术有哪些

cysgjj 2024-06-24 44
复杂指令计算机技术,复杂指令计算机技术有哪些摘要: 大家好,今天小编关注到一个比较有意思的话题,就是关于复杂指令计算机技术的问题,于是小编就整理了2个相关介绍复杂指令计算机技术的解答,让我们一起看看吧。指令集有哪些?为什么我国自主设...

大家好,今天小编关注到一个比较有意思的话题,就是关于复杂指令计算机技术问题,于是小编就整理了2个相关介绍复杂指令计算机技术的解答,让我们一起看看吧。

  1. 指令集有哪些?
  2. 为什么我国自主设计的CPU基本上都是精简指令集,复杂指令集是要过时了吗?

指令集有哪些?

指令集,指的就是CPU中用来计算和控制计算机系统的一套指令的***,而每一种新型的CPU在设计时就规定了一系列与其他硬件电路相配合的指令系统。

而指令集的先进与否,也关系到CPU的性能发挥,它也是CPU性能体现的一个重要标志。指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的最有效的工具之一。从现阶段的主流体系结构讲,指令集可分为复杂指令集和精简指令集两部分。

复杂指令计算机技术,复杂指令计算机技术有哪些
图片来源网络,侵删)

什么我国自主设计的CPU基本上都是精简指令集,复杂指令集是要过时了吗?

国内对RISC的认识程度还可以但是对CISC的认识程度很浅。

.

因为大多数研究生甚至是教授老师,认为CISC就是x86那样的指令,这其实是个很大的误解。

复杂指令计算机技术,复杂指令计算机技术有哪些
(图片来源网络,侵删)

.

对CISC的理解,要从Cray-1的架构去理解才能有比较深入的认识。看了Cray-1之后,在去把NEC的SX系列看一下。

.

复杂指令计算机技术,复杂指令计算机技术有哪些
(图片来源网络,侵删)

NEC的SX系列可以认为是CRAY-1的传承,他的指令集在35年内(从1983年的SX3开始,到今年已经是37年了)都保持了兼容性。

.

看了Cray-1和NEC SX之后,你才知道什么是真正的CISC,它的设计意图是什么,它取得了什么收益。

.

至少在通用处理器领域,复杂指令集不是要过时了,而是已经过时了不知道多少年了。

早期CPU多倾向于提供较为复杂的指令试图帮助用户更自然地使用计算机,倾向于提供较少的寄存器而在指令中使用很多内存操作数。这种指令集如今被称为复杂指令集(CISC)。但是,后来研究者发现,复杂的指令利用率并不高,大部分时候计算机执行的都是简单指令,同时使用大量内存操作数的指令执行很慢(内存速度增长和CPU速度增长间存在剪刀差)。于是,为了进一步提高处理器速度,精简指令集(RISC)被提出了。RISC倾向于提供专门的load store指令进行访存,运算指令只使用寄存器操作数,将慢速操作和快速操作分离;同时,RISC倾向于提供更多通用寄存器(得益于编译技术的进步,精简指令集提出时编译器有能力充分利用RISC提供的众多寄存器),这使得访存总次数得到了有效降低,大量计算可以仅在CPU内寄存器间完成。同时,RISC技术还让指令更利于流水线操作,可以利用流水线技术提高处理器性能。

现在存在的所谓CISC处理器,如x86,其内部也已经将复杂指令拆成近似RISC的微指令再去执行。他们之所以仍保留CISC的表象,只是为了兼容原有软件

以上内容在各类计算机组成原理、体系结构课本中不难找到说明,有兴趣者最好参考有关书籍而非可能不那么精确的网上回答。


自主设计的CPU大多***用RISC指令集也不奇怪。CISC的ISA大多很难获得授权,RISC中MIPS、RISC-V、Alpha甚至ARM的授权都算相对容易获得。在不打算另起炉灶完全从头开始打造软件生态的情况下兼容已有标准实现这些RISC风格ISA的选择非常自然。RISC的ISA设计还免去了将CISC的指令拆成微指令组合再去做流水线这一繁杂过程,也有利于减轻处理器设计者的负担。

当年x86的复杂指令集当年和精简指令集竞争的时候一度差点失守,不过限制于当年孱弱的工艺制程所累,精简指令集败了(精简指令集更需要更大的缓存,才能发挥出性能),不过复杂指令集的历史包袱也更重,目前来看其实精简指令集更优

到此,以上就是小编对于复杂指令计算机技术的问题就介绍到这了,希望介绍关于复杂指令计算机技术的2点解答对大家有用。

文章版权及转载声明

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.llkmw.com/post/31524.html发布于 2024-06-24

阅读
分享