计算机指令集架构CISC&RISC

一文读懂,CPU、精简指令集、复杂指令集该如何理解? CPU、指令集、架构、微架构、芯片、手机SoC这一组概念很容易混淆,经常把人绕进去。那么,到底应该如何理解?我们以最通俗的语言,为大家介绍。本期介绍CPU、精简指令集以及复杂指令集 阅读详情

复杂指令集与精简指令集

两种主要的计算机处理器体系结构:
CISC(Complex Instruction Set Computer,复杂指令集计算机)
RISC(Reduced Instruction Set Computer,精简指令集计算机)

CISC(复杂指令集)
即 冯·诺依曼结构(普林斯顿结构),指令与数据存储在同一存储器中;
采用CISC结构的处理器,指令线与数据线分时复用;
程序指令存储地址与数据存储地址指向同一个存储器的不同物理位置,则程序指令和数据的宽度相同;
取指令与取数据不能同时进行,速度受限;
Intel 8051、Motorola MC68xxx、Atmel AT89

RISC(精简指令集)
即 哈佛结构,指令与数据存储于两个不同的存储空间;
程序存储器与数据存储器相互独立,独立编址,独立访问;
分离的程序总线与数据总线在一个机器周期中,可同时获得指令字和操作数,提高执行效率;
取指令和取数据同时进行,且一般指令线宽与数据线,可包含更多的处理信息;
Motorola/IBM PowerPC、Atmel AVR、Microchip PIC、ARM

未来是属于 ARM 为代表的精简指令集还是 x86 为代表的复杂指令集?
转载地址:https://www.zhihu.com/question/20783321
分析一:

这里简单来谈一下,ARM和X86之间为什么不太具有可比性的问题。要搞清楚这个问题首先要明白什么是架构,之前也有很多人提到了架构不同,但架构是什么意思?它是一个比较抽象的概念,不太容易用几句话就解释清楚。我们要明白CPU是一个执行部件,它之所以能执行,也是因为人们在里面制作了执行各种功能的硬件电路,然后再用一定的逻辑让它按照一定的顺序工作,这样就能完成人们给它的任务。也就是说,如果把CPU看作一个人,首先它要有正常的工作能力(既执行能力),然后又有足够的逻辑能力(能明白做事的顺序),最后还要听的懂别人的话(既指令集),才能正常工作。而这些集中在一起就构成了所谓的“架构”,它可以理解为一套“工具”、“方法”和“规范”的**。不同的架构之间,工具可能不同,方法可能不同,规范也可能不同,这也造成了它们之间的不兼容——你给一个意大利泥瓦匠看一份中文写成的烹饪指南,他当然不知道应该干什么了。


如果还看不懂,没关系,我们继续。从CPU发明到现在,有非常多种架构,从我们熟悉的X86,ARM,到不太熟悉的MIPS,IA64,它们之间的差距都非常大。但是如果从最基本的逻辑角度来分类的话,它们可以被分为两大类,即所谓的“复杂指令集”与“精简指令集”系统,也就是经常看到的“CISC”与“RISC”。属于这两种类中的各种架构之间最大的区别,在于它们的设计者考虑问题方式的不同。我们可以继续举个例子,比如说我们要命令一个人吃饭,那么我们应该怎么命令呢?我们可以直接对他下达“吃饭”的命令,也可以命令他“先拿勺子,然后舀起一勺饭,然后张嘴,然后送到嘴里,最后咽下去”。从这里可以看到,对于命令别人做事这样一件事情,不同的人有不同的理解,有人认为,如果我首先给接受命令的人以足够的训练,让他掌握各种复杂技能(即在硬件中实现对应的复杂功能),那么以后就可以用非常简单的命令让他去做很复杂的事情——比如只要说一句“吃饭”,他就会吃饭。但是也有人认为这样会让事情变的太复杂,毕竟接受命令的人要做的事情很复杂,如果你这时候想让他吃菜怎么办?难道继续训练他吃菜的方法?我们为什么不可以把事情分为许多非常基本的步骤,这样只需要接受命令的人懂得很少的基本技能,就可以完成同样的工作,无非是下达命令的人稍微累一点——比如现在我要他吃菜,只需要把刚刚吃饭命令里的“舀起一勺饭”改成“舀起一勺菜”,问题就解决了,多么简单。


这就是“复杂指令集”和“精简指令集”的逻辑区别。可能有人说,明显是精简指令集好啊,但是我们不好去判断它们之间到底谁好谁坏,因为目前他们两种指令集都在蓬勃发展,而且都很成功——X86是复杂指令集(CISC)的代表,而ARM则是精简指令集(RISC)的代表,甚至ARM的名字就直接表明了它的技术:Advanced RISC Machine——高级RISC机。


到了这里你就应该明白为什么RISC和CISC之间不好直接比较性能了,因为它们之间的设计思路差异太大。这样的思路导致了CISC和RISC分道扬镳——前者更加专注于高性能但同时高功耗的实现,而后者则专注于小尺寸低功耗领域。实际上也有很多事情CISC更加合适,而另外一些事情则是RISC更加合适,比如在执行高密度的运算任务的时候CISC就更具备优势,而在执行简单重复劳动的时候RISC就能占到上风,比如假设我们是在举办吃饭大赛,那么CISC只需要不停的喊“吃饭吃饭吃饭”就行了,而RISC则要一遍一遍重复吃饭流程,负责喊话的人如果嘴巴不够快(即内存带宽不够大),那么RISC就很难吃的过CISC。但是如果我们只是要两个人把饭舀出来,那么CISC就麻烦得多,因为CISC里没有这么简单的舀饭动作,而RISC就只需要不停喊“舀饭舀饭舀饭”就OK。


这就是CISC和RISC之间的区别。但是在实际情况中问题要比这复杂许许多多,因为各个阵营的设计者都想要提升自家架构的性能。这里面最普遍的就是所谓的“发射”概念。什么叫发射?发射就是同时可以执行多少指令的意思,例如双发射就意味着CPU可以同时拾取两条指令,三发射则自然就是三条了。现代高级处理器已经很少有单发射的实现,例如Cortex A8和A9都是双发射的RISC,而Cortex A15则是三发射。ATOM是双发射CISC,Core系列甚至做到了四发射——这个方面大家倒是不相上下,但是不要忘了CISC的指令更加复杂,也就意味着指令更加强大,还是吃饭的例子,CISC只需要1个指令,而RISC需要5个,那么在内存带宽相同的情况下,CISC能达到的性能是要超过RISC的(就吃饭而言是5倍),而实际中CISC的Corei处理器内存带宽已经超过了100GB/s,而ARM还在为10GB/s而苦苦奋斗,一个更加吃带宽的架构,带宽却只有别人的十分之一,性能自然会受到非常大的制约。为什么说ARM和X86不好比,这也是很重要的一个原因,因为不同的应用对带宽需求是不同的。一旦遇到带宽瓶颈,哪怕ARM处理器已经达到了很高的运算性能,实际上根本发挥不出来,自然也就会落败了。


说到这儿大家应该也已经明白CISC和RISC的区别和特色了。简而言之,CISC实际上是以增加处理器本身复杂度作为代价,去换取更高的性能,而RISC则是将复杂度交给了编译器,牺牲了程序大小和指令带宽,换取了简单和低功耗的硬件实现。但如果事情就这样发展下去,为了提升性能,CISC的处理器将越来越大,而RISC需要的内存带宽则会突破天际,这都是受到技术限制的。所以进十多年来,关于CISC和RISC的区分已经慢慢的在模糊,例如自P6体系(即Pentium Pro)以来,作为CISC代表的X86架构引入了微码概念,与此对应的,处理器内部也增加了所谓的译码器,负责将传统的CISC指令“拆包”为更加短小的微码(uOPs)。一条CISC指令进来以后,会被译码器拆分为数量不等的微码,然后送入处理器的执行管线——这实际上可以理解为RISC内核+CISC解码器。而RISC也引入了指令集这个就逻辑角度而言非常不精简的东西,来增加运算性能。正常而言,一条X86指令会被拆解为2~4个uOPs,平均来看就是3个,因此同样的指令密度下,目前X86的实际指令执行能力应该大约是ARM的3倍左右。不过不要忘了这是基于“同样指令密度”下的一个假设,实际上X86可以达到的指令密度是十倍甚至百倍于ARM的。
最后一个需要考虑的地方就是指令集。这个东西的引入,是为了加速处理器在某些特定应用上性能而设计的,已经有了几十年的历史了。而实际上在目前的应用环境内,起到决定作用的很多时候是指令集而不是CPU核心。X86架构的强大,很多时候也源于指令集的强大,比如我们知道的ATOM,虽然它的X86核心非常羸弱,但是由于它支持SSE3,在很多时候性能甚至可以超过核心性能远远强大于它的Pentium M,这就是指令集的威力。目前X86指令集已经从MMX,发展到了SSE,AVX,而ARM依然还只有简单而基础的NEON。它们之间不成比例的差距造成了实际应用中成百上千倍的性能落差,例如即便是现今最强大的ARM内核依然还在为软解1080pH.264而奋斗,但一颗普通的中端Core i处理器却可以用接近十倍播放速度的速度去压缩1080p H.264视频。至少在这点上,说PC处理器的性能百倍于ARM是无可辩驳的,而实际中这样的例子比比皆是。这也是为什么我在之前说平均下来ARM只有X86几十分之一的性能的原因。

 
打了这么多字,其实就是为了说明一点,虽然现在ARM很强大,但它距离X86还是非常遥远,并没有因为这几年的进步而缩短,实际上反而在被更快的拉大。毕竟它们设计的出发点不一样,因此根本不具备多少可比性,X86无法做到ARM的功耗,而ARM也无法做到X86的性能。这也是为什么ATOM一直以来都不成功的原因所在——Intel试图用自己的短处去和别人的长处对抗,结果自然是不太好的,要不是Intel拥有这个星球上最先进的半导体工艺,ATOM根本都不可能出现。而ARM如果尝试去和X86拼性能,那结果自然也好不到哪儿去,原因刚刚也解释过了。不过这也不意味着ARM以后就只能占据低端,毕竟任何架构都有其优点,一旦有应用针对其进行优化,那么就可以扬长避短。X86的繁荣也正是因为整个世界的资源都针对它进行了优化所致。只要能为ARM找到合适的应用与适合的领域,未来ARM也未必不可以进入更高的层次。

分析二:

ARM vs. x86 不是一个技术问题,而是一个商业问题。为什么这么说呢?且听我细细分解:

首先,「x86 比 ARM 功耗高」这一点,在事实上已经不再成立了,具体的数据和分析可以参考 [1]。文章比较长,数据也很多,如果没空看也没关系,看看最后一页的这张表就行了:
这里比较的是两个平板设备:采用 NVIDIA Tegra 3 (40nm ARM 处理器) 的 Microsoft Surface RT 平板电脑和采用 Intel Clover Trail Atom (32nm x86 处理器) 的 Acer W510 平板电脑。可以看到,每一个测试项目中 Atom 的功耗都比 Tegra 3 低不少。这还不是最要命的,更要命的是Atom 的性能比 Tegra 3 高,也就是说 Atom 可以在更短的时间内完成同样的任务然后进入低功耗休眠状态以节省电力,而且在休眠状态下 Atom 的功耗也只有 Tegra 3 的差不多一半。

当然,Atom 并不能完全代表 x86 处理器,Tegra 3 也只是诸多 ARM 处理器中比较费电的一款,但这个例子的教育意义在于它打破了传统上认为「ARM 比 x86 省电」的迷思:没错,在对性能要求不高的情况下,ARM 的确比 x86 省电,因为 ARM 天生就是为低功耗这一目标打造的;但随着应用的不断深入,人们对移动设备的性能要求越来越高,目前在高端平板【或者说普通笔记本替代品】这个尺度的应用上以 Atom 为代表的 x86 处理器已经具有相当的功耗优势。假以时日,在给定性能基础上 x86 做到比 ARM功耗更低并不存在太大技术上的障碍。

其次,处理器功耗只是整个设备功耗的一部分,甚至不是最主要的部分,特别是在触屏移动设备上还有屏幕、无线通讯模块这样的耗能大户。比如从上面那张表可以看出,处理器的功耗占总功耗的比例,在绝大多数情况下都不超过 20%,实际使用场合下的功耗占比更是会低于 10%【处理器大部分时候在休眠】。技术的进步可以相对快速的降低处理器的功耗,但由于物理规律的限制【比如屏幕始终需要维持足够的亮度、无线通讯始终是需要发射足够强的电磁波】,设备上的其他耗能大户功耗降低的幅度要小得多。这就意味着单纯削减处理器功耗以延长续航时间的边际效用会越来越小,到一定程度后对整个设备的续航时间的影响变得微乎其微、花大成本提高处理器功耗的回报太低以至于不经济。Intel的下一代平台 Haswell 之所以要强调全平台的低功耗也部分是出于这个原因。当然目前我们还没有到那个时候,现在还不用操心这个,但要记住这一点。

————我是技术/商业分割线————

好了,如果现在你和我一样相信 Intel 有能力在功耗和性能上都战胜 ARM,为什么现在绝大部分移动设备采用的是 ARM 而不是 x86 处理器呢?或者说为什么 Intel 会在移动市场上如此「失败」呢?

因为 ARM 代表的产业模式对于 Intel 而言是一场商业灾难。

Intel 这么多年习惯的模式是生产制造几十、几百美元的处理器,在这个价位上的生产制造毛利率高得吓人。而正是丰厚的毛利率使得 Intel 敢于付出高昂的代价研发下一代处理器技术和生产线制程,从而保持领先竞争对手至少一个代际的技术优势。比如现在 Intel 的主流 Core 系列的制程是 22nm,同时期的 ARM 还处于 40nm 到 32nm 或者 32nm 到 28nm 的过渡阶段,而 Intel 已经在新建 14nm 的生产线了。

反观一片 ARM 处理器才卖几美元,利润率微薄,即便出货量大不少【不要忘了出货量和生产线投入之间的准线性关系】,却也不能满足 Intel 这样的巨鳄【巨饿?XD】的胃口,更不能让它保持目前的「高研发/高毛利相互驱动」的商业模式。不玩自家的游戏规则,Intel 沦为二三流厂商那是分分钟可能发生的危险。Intel 管理层不希望看到这个未来,Intel 的股东们更不希望。

另外,移动 SoC 市场中公司之间的合作模式也不适合 Intel。为了节省制造成本和降低功耗,移动 SoC 经常需要集成多家厂商的 IP 块于一片上,那么两个问题就随之而来了:1) Intel 会不会授权自己的 IP 块给其他厂商,比如苹果?这可不是 Intel 擅长的,因为授权设计的收入比销售最终产品的收入要低得多;2) 最终生产的时候用谁的生产线?Intel 可不会白白的让出自己投入巨资研发制造的最新制程的生产线给别人用;就算 Intel 愿意,别人也不见得用得起,毕竟有低毛利率的限制。而 ARM 则没有这些顾虑:ARM设计和生产是分离的,设计的 IP 块可以单独授权给各家厂商自行定制整合,而制造采用的是比较成熟的生产线,成本低、可选厂家也多。

这就是为什么 Intel 在移动领域涉足很晚也很勉强、为什么功耗低、单价更低的 Atom 处理器始终比最先进的 Core 处理器落后一两代的原因。非不能也,乃不为也;因何不为?利益使然尔!

然而市场现实是台式机、笔记本的出货量稳步下降,Intel 寄予厚望的 Ultrabook 不成气候也没能让笔记本市场死灰复燃;与此同时,移动设备份额稳步飙升,ARM 处理器的性能在多数场合都能满足需求【good enough】,甚至有威胁 Intel 在服务器市场的潜能。这一切都迫使 Intel 不得不面对 ARM 这个难题;而这个难题的主要症结不在于技术,而在于 Intel 能不能否定自我、推倒重来。

精简与复杂指令集CPU的比较.doc 精简与复杂指令集CPU的比较,对使用精简指令集开发还是复杂指令集开发软件做了较全面的分析。 立即下载

相关推荐

保姆级教程:从AD导出Gerber到HFSS 3D Layout导入,搞定PCB电磁仿真全流程

本文提供从Altium Designer导出Gerber文件到Ansys HFSS 3D Layout导入的完整PCB电磁仿真流程指南。详细讲解Gerber文件导出设置、HFSS中的3D模型重建技巧,以及电磁仿真中的常见问题解决方案,帮助工程师高效完成高速电路和射频设计的性能验证。

weixin_30379531的博客 708

芯片架构分类 - CISC 和 RISC

CISC 和 RISC 是两大主流的 CPU 指令集类型。 CISC(complex instruction set computer 复杂指令集计算机) CISC 是一种微处理器指令集架构,每个指令可执行若干低阶操作,诸如从内存读取、储存、和计算操作,全部集于单一指令之中。CISC 体系结构的设计策略是使用大量的指令,包括复杂指令。与其他设计相比,在CISC中进行程序设计要比在其他设计中容易,因为每一项简单或复杂的任务都有一条对应的指令。程序设计者不需要写一大堆指令去完成一项复杂的任务。 但.

Paul_Yu_Zhang的博客 1万+

kbjdbc: autodetected server-encoding to be ISO-8859-1, if the message is not readable, please check

这条信息是来自 KingbaseES 数据库的一个 JDBC 客户端连接提示。KingbaseES 是一个企业级的关系型数据库管理系统,它兼容 PostgreSQL 的许多特性。如果上述步骤仍然无法解决问题,建议详细查看数据库和客户端的日志文件,以获取更具体的错误信息。此外,也可以考虑联系 KingbaseES 的技术支持获取帮助。项目融合kingbase数据库,输出日志乱码。结果:网上各种调整各种试。

zjy660358的专栏 4844

体系结构实验(2)—— 不同指令集的对比

(1)伪指令标识下面的数据存放在数据区,address指示数据区的起始地址;标识下面的代码存放在代码区,address指示代码区的起始地址;使得标有label的代码可以被全局访问;在存储器中顺序存放列出的字;在存储器中顺序存放列出的字节;在存储器中顺序存放列出的双精度数;在存储器中顺序存放列出的字符串,每个字符串均不会被自动加零结尾;在存储器中顺序存放列出的字符串,每个字符串会被自动加零结尾;在存储器中空出size大小的区域;.align n使得后面的数据/代码地址低n位为О对齐。(2)关键指令addi。

zyw2002的博客 2035

@transactional滥用导致数据源连接池耗尽问题

@transactional滥用导致数据源连接池耗尽问题

qq_43205267的博客 1201

VScode利用EIDE和cortex-debug进行stm32开发(也适用51)

你是否因为keil页面太丑而烦恼,你是否因为keil编译太慢而恼怒,ok阿,今天也是给大家带来怎么在vscode上进行stm32的编程(我不会告诉你,我搞了好几天才搞好的💔💔💔)为什么是简单介绍?因为太啰嗦了,我嫌麻烦😋,大家可以去EIDE的官方文档去看。

weixin_73952614的博客 9391

精简指令和复杂指令计算机,CPU精简指令集和复杂指令集的区别

经常看到计算机课程上介绍PowerPC是采用精简指令集的CPU,酷睿CPU是复杂指令集。那么到底精简指令集和复杂指令集有什么区别呢?以下内容摘自百度百科:在计算机指令系统的优化发展过程中,出现过两个截然不同的优化方向:CISC技术和RISC技术。CISC是指复杂指令系统计算机(Complex Instruction Set Computer);RISC是指精减指令系统计算机(Reduced Ins...

weixin_29103191的博客 7681

高分三号SAR影像超精细条带数据预处理实战:从原始数据到地理编码的完整操作指南

本文提供了高分三号SAR影像超精细条带数据预处理的完整实战指南。详细介绍了从原始数据导入、多视处理、滤波去噪、DEM准备到地理编码与辐射定标的完整流程,帮助用户利用SARscape软件将原始SAR数据转化为可用于分析的地理编码产品。

tree8的博客 577

微处理器原理与应用篇---CISC&RISC指令集架构

摘要: CISC(复杂指令集)与RISC(精简指令集)是计算机指令系统的两大范式。CISC(如x86)通过复杂指令简化编程,但硬件设计复杂;RISC(如ARM)追求单周期指令执行,适合低功耗场景。现代处理器已融合两者优势:x86通过微操作分解实现RISC化流水线,ARM则扩展专用指令。未来趋势指向异构计算和开源RISC-V的崛起,打破传统架构垄断。两种架构的差异与融合是理解计算机技术发展的关键。

在你不想做的时候,正是应该做的时候。 1956

[从零开始学习FPGA编程-18]:快速入门篇 - 操作步骤2-6- VerilogHDL时序电路语法分析(以计数器为例)

目录前言:第1章 功能模块代码:counter.v第2章 驱动代码:tcounter.v前文以及阐述了VerilogHDL基本语法,本文将以modelsim自带的计数器程序来解读VerilogHDL的语法。代码路径:

文火冰糖(王文兵)的博客 7万+

stable-diffusion-webui的逐步部署教程

本文主要介绍了stable-diffusion-webui的逐步部署教程,希望能对使用Stable Diffusion的同学们有所帮助。 文章目录 1. 前言 2. 逐步部署教程 2.1 创建Python环境 2.2 安装依赖库 2.3 运行代码

weixin_43178406的博客 6万+

01|CISC&RISC:从何而来,何至于此

你好,我是LMOS。这个专栏我会带你学习计算机基础。什么是基础?基础就是根,从哪里来,到哪里去。而学习计算机基础,首先就要把握它的历史,这样才能了解计算机是怎么一步步发展到今天这个样子的,再根据今天的状况推导出未来的发展方向。正所谓读历史方知进退,明兴衰。人类比其它动物高级的原因,就是人类能使用和发现工具。让我们先从最古老的算盘开始聊起,接着了解一下机械计算机、图灵机和电子计算机。最后我会带你一起看看芯片的发展,尤其是它的两种设计结构——CISC与RISC。

sucaiwa的博客 635

YOLOv12环境配置,手把手教你使用YOLOv12训练自己的数据集和推理(附YOLOv12网络结构图),全文最详细教程

YOLO 系统尊嘟太卷了吧,YOLOv11 还没完明白,YOLOv12 就重磅来袭,YOLOv12 是由纽约州立大学联合中科院在 2025年2月19 日发布,从 YOLOv12 论文题目我们大概就知道做了那些更新 ,下图是YOLOv12 在 COCO 数据集上的性能表现引入区域注意力机制(area-attention):通过引入十字形窗口自我注意机制,沿水平和垂直条纹计算注意力机制,纵横交错的注意机制。如下图所示,区域注意力采用最多简单的等分方法,将特征地图垂直或水平划分为 L 个区域。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 6万+

CISC&RISC? CPU架构有哪些? x86 & ARM?

终于看完了,真是收获满满啊,不过你不会真的以为,本文的内容就到此结束了吧?我只能说,Too young too simple.都2021年了,还把x86和ARM归为CISC和RISC?- 知乎 (zhihu.com)反正笔者看完后,就一个反应:合着我写的都完全过时了,白写了是吧!但是细细想来,也不全是,毕竟自己还是对RISC、CISC以及各种CPU芯片的历史、架构和应用有了一个大致、朦胧的了解,不至于一无所知,完全抓瞎。如果读者也和我一样,那么本文的目的便达到了。笔者后续也会尽量对本文内容进行更新。

知识应该被分享。 2963

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

嵌入式系统——复杂指令集系统与精简指令集系统(CISC&RISC)

指令集系统   在计算机系统结构发展过程中,指令集系统有两个截然不同的发展方向。一个是增强指令的功能,设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件的指令系统来实现,这种计算机系统称为复杂指令系统计算机(Complex Instruction Set Computer,CISC)。   另一个是尽量简化指令功能,只保留那些功能简单,能在一个节拍内执行完成指令,较复杂的功能用一段子程序来实现,这种计算机系统称为精简指令系统计算机(Reduced Instruction Set Comput

qq_36749906的博客 4807

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

ARM [ SoC&CPU CISC&RISC I/O与内存的编址 ] 相关概念

一、CPU设计方式的发展历程 1. CISC CPU ( central processing unit,中央处理器 )作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。 计算机处理器包含有实现各种功能的指令或微指令,指令集越丰富,为微处理器编写程序就越容易,但是丰富的微指令集会影响其性能。复杂指令集计算机 (CISC) 体系结构的设计策略是使用大量的指令,包括复杂指令。与其他设计相比,在 CISC 中进行程序设计要比在其他设计中容易,因为每一项简单或复杂的任务都有一条对应的指令。程序设计

weixin_42109053的博客 655

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

RISC计算机组成原理,计算机组成原理7-CISC和RISC、GPU

1、CISC、RISC复杂指令集(Complex Instruction Set Computing,简称 CISC):CPU 的指令集里的机器码是固定长度。计算机历史的早期,所有的 CPU 其实都是 CISC。计算机设计和制造还是严格受硬件层面的限制。CPU 指令集的设计,需要仔细考虑硬件限制。为了性能考虑,很多功能都直接通过硬件电路来完成。为了少用内存,指令的长度也是可变的。精简指令集(Red...

weixin_34998865的博客 1580

指令集架构——CISC、RISC

通俗来说就是计算机处理器的设计结构和组织方式。它决定了硬件如何执行软件指令,以及如何处理和存储数据。其核心组件为。指令集架构(Instruction Set Architecture, ISA):定义了CPU可以执行的机器指令集合,以及这些指令的编码方式。ISA是软件与硬件之间的接口,它决定了软件如何与处理器交互。微架构(Microarchitecture):也称为内部架构,是指实现ISA的处理器内部设计,包括数据路径、控制单元、寄存器、缓存、管线和其它执行指令所需的硬件。

蟹蟹泥的博客 5347

未来是属于 ARM 为代表的精简指令集还是 x86 为代表的复杂指令集?

分析一: 这里简单来谈一下,ARM和X86之间为什么不太具有可比性的问题。要搞清楚这个问题首先要明白什么是架构,之前也有很多人提到了架构不同,但架构是什么意思?它是一个比较抽象的概念,不太容易用几句话就解释清楚。我们要明白CPU是一个执行部件,它之所以能执行,也是因为人们在里面制作了执行各种功能的硬件电路,然后再用一定的逻辑让它按照一定的顺序工作,这样就能完成人们给它的任务。也就是说

lxlmycsdnfree的博客 1万+

精简指令集(RISC)和复杂指令集(CISC)之间的区别有哪些?

精简指令集(RISC)和复杂指令集(CISC)之间的区别有哪些?

weixin_63791423的博客 3405

(计算机组成原理)RISC与CISC的区别

RISC全称Reduced Instruction Set Compute,精简指令集计算机。 CISC全称Complex Instruction Set Computers,复杂指令集计算机。 CISC既有简单指令也有复杂指令,后来人们发现典型程序中80%的语句都是使用计算机中20%的指令,而这20%的指令都属于简单指令;因此花再多时间去研究复杂指令,也仅仅只有20%的使用概率,并且复杂指令会影响计算机的执行速度。既然典型程序的80%都是使用简单指令完成,那剩下的20%语句用简单语句来重新组合一下模拟

weixin_40491661的博客 4万+

[架构之路-225]:计算机硬件与体系结构 - 分类方法大汇总: RISC, CISC

与传统的商业指令集架构不同,RISC-V采用了开放的设计哲学,提供了一个公开的标准,任何人都可以免费使用、定制和实现该架构。所以,RISC-V中的V代表着使用。标准扩展(Standard Extensions):除了基础指令集和扩展指令集外,RISC-V还定义了一些标准扩展,如乘法扩展(M)、原子扩展(A)、压缩扩展(C)等。除以上常用的RISC-V系列之外,还有各种扩展和定制变体,如向量扩展(V),加密扩展(E),多媒体扩展(N),以及各种自定义指令集等,这些扩展和变体可以根据特定的应用需求选择和设计。

文火冰糖(王文兵)的博客 2166

复杂指令集和精简指令集

在早期的计算机中,所有的 CPU 其实都是 CISC,对于存储空间小,运行慢的计算机来说,每一个字节乃至每一个比特都特别重要,因为想要用尽可能少的内存空间,存储尽量多的指令。所以,CPU 指令集的设计,需要仔细考虑硬件限制。为了性能考虑,很多功能都直接通过硬件电路来完成。为了少用内存,指令的长度也是可变的。就像算法和数据结构里的赫夫曼编码一样,常用的指令要短一些,不常用的指令可以长一些。

欢迎来到jiantaoyab博客 2166

一文搞懂精简指令集与复杂指令集

举个例子,如果对于"启动汽车"这个功能,复杂指令集可能直接就是一条指令,告诉处理器"启动汽车",那么处理器内部会完成整个启动过程,发出这条复杂指令的人不用关心处理器的内部实现。同时,从编译器的角度看,复杂指令集CPU对编译器隐藏了实现细节,编译器能够优化代码的可能性很小,而精简指令集CPU的执行过程都暴露出来,更有利于编译器进行代码优化。虽然从代码量来看,完成同一件事精简指令集占用的空间更多,但是这些指令都很简单,不需要复杂的硬件逻辑来进行解码,可以节约晶体管的数量,处理器就可以更小。

m0_74282605的博客 2519

不同CPU指令的指令集密度

大体可以理解为:同样大小的文件,能够容纳多少条有效指令。 由上图可知,大体可以分为四组: 第一组RISC/IA64/ALPHA最差,远远超出其他。 PDP-11是第二组。 SH3是第三组。 剩下的是第四组。 可以看到ARM/MIPSX86的情况。 ...

柳鲲鹏 939

CPU架构,精简指令集和复杂指令集的区别

CPU架构是厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分不同类型CPU的重要标示。市面上的CPU分类主要分有两大阵营,一个是intel、为首的CPU,另一个是以IBM、ARM为首的CPU。两个不同品牌的CPU,其产品的架构也不相同,例如,Intel、AMD的CPU是的,而IBM公司的CPU是PowerPC架构,ARM公司是。

m0_46392035的博客 1858
上一篇: Java 字符串拼接 五种方法的性能比较分析 从执行100次到90万次
下一篇: Anaconda管理python包
Algorithm_goddness
博客等级 码龄10年 25粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值