打印
[RISC-V MCU 应用开发]

了解指令集

[复制链接]
726|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
要想了解CPU,那不可避免的要了解指令集。

我们平常说的X86、ARM芯片,都是指的芯片的指令集架构。

指令集是软件和硬件之间的接口,简单来说指令集就是软件与硬件之间沟通的"翻译官",是芯片产业中不可或缺的基础部分。


使用不同的指令集,代表着不同的CPU。目前市面上的CPU分类主要分有两大阵营,一个是Intel、AMD为首的复杂指令集(CISC)CPU,另一个是以IBM、ARM、RISC-V为首的精简指令集(RISC)CPU。


不同品牌的CPU,其产品的架构也不相同,例如,Intel、AMD的CPU是X86架构的,而IBM公司的CPU是PowerPC架构,ARM公司是ARM架构。同时,不同的芯片厂商按照指令集的设计情况分为精简指令集和复杂指令集。

那么不同的指令集有啥不同的?

不同的指令集决定着CPU的处理方式。从指令集角度来看,CPU的效率主要通过两种思路来提升:要不通过降低每个程序所需的指令数来提升效率,要不通过降低每条指令所需的时间周期数来提升效率。

CISC更偏重前者,而RISC更侧重后者。目前来看,CISC指令集较为复杂,提供了丰富的指令,能够减少程序员的编程工作量。

然而,随着计算机科学的发展,人们发现这种复杂性会导致处理器的性能和能效下降。因此,RISC应运而生,它采用了一种更简单、更高效的设计理念,通过优化指令集,提高处理器的性能和能效,成为21世纪以来所有新兴领域的绝对主流。

使用特权

评论回复

相关帖子

沙发
小小蚂蚁举千斤|  楼主 | 2024-4-15 11:10 | 只看该作者

说了这么多,大家可能云里雾里,下面我们通过让大家了解下举例来说明下不同指令集的工作原理:

拿做饭来说,要完成做饭这个动作。



精简指令集需要定义做饭中的每个动作,需要包含拿钱、拿篮子、买菜、买面、烧水、和面、炒菜等指令。程序要完成做饭这个指令,需要下达这些指令来合成做饭这个动作,否则程序不知道该怎么做。对于CPU来说,每条指令都很简单

复杂指令集则不需要知道这么多指令,只需要下达做饭这个指令即可,很简单。下单完做饭指令,程序会直接完成全部的动作。但是对于CPU来说,每条指令都很复杂。

那么为啥我们不都用复杂指令集呢?一条命令就可以轻松完成一整套动作?因为,有一些时候,人们只想完成"和面"这一个步骤,我只想"和面",那么在复杂指令集中则没有这个指令,你必须来一套这样的动作,这也导致复杂指令集的CPU在一些专用的领域的性能和能效下降。

所以不同指令集的的指令是不可以通用的,即使是相同阵营的指令集,每家的指令也是不同的。例如英特尔可能用"111"表示做饭,AMD则可能用"666"表示买菜。因此,CPU和指令集不同,导致相关产业生态不同。

使用特权

评论回复
板凳
小夏天的大西瓜| | 2024-4-15 15:52 | 只看该作者
CPU的架构以及指令集其实就已经决定了运行整体状况

使用特权

评论回复
地板
forgot| | 2024-4-26 08:44 | 只看该作者
RISC采用了一种更简单、更高效的设计理念,通过优化指令集,提高处理器的性能和能效,成为21世纪以来所有新兴领域的绝对主流。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

151

主题

1165

帖子

0

粉丝