RISC和CISC的区别

CISC和RISC是什么?它们的特点和区别?   CISC的英文全称为“Complex Instruction Set Computer”,即“复杂指令系统计算机”,从计算机诞生以来,人们一直沿用CISC指令集方式。早期的桌面软件是按CISC设计的,并一直沿续到现在。目前,桌面计算机流行的x86体系结构即使用CISC。微处理器(CPU)厂商一直在走CISC的发展道路,包括Intel、AMD,还有其他一些现在已经更名的厂商,如TI(德... 阅读详情
在PC发展之初,除了成熟的CISC指令架构外,IBM没有更好的选择,原因很简单,更先进的RISC架构在1975年才出现,且只针对超级计算机领 域,当时没有人意识到PC会有如此之大的发展,只是将它作为计算产品的一种补充而已。为图省事,IBM干脆就选择了Intel作为微处理器芯片的合作伙 伴,而Intel所创立的X86指令系统便属于CISC架构。 
   
我们有必要对指令架构、CISC、RISC之类的概念作明晰的解释。众所周知,微处理器的基本逻辑是运行指令的电路,计算机的任何一个程序都是由或多或少 的基本指令组成,而指令本身又是由若干个微操作构成,例如对两个二进制数进行加减运算,或者将结果送进寄存器中等等。了解汇编语言或机器语言的读者对此应 该比较清楚。这些基本指令被称为微处理器的微代码(Microcode),指令数量越多、完成微操作所需的逻辑电路就越多,芯片的结构就越复杂。每个处理 器开发商都可以自己定义出一套指令系统,但如果指令系统不相同,构成软件的指令也不相同,这样就无法实现软件兼容。在专用计算机时代,这种情况十分普遍, 各个计算机厂商都独立发展指令系统、微处理器、计算整机和软件,不同厂商的软硬件产品无法兼容使用,其原因就在于微处理器的指令系统采用不同的定义。然 而,尽管当时指令系统种类甚多,它们却都归属于CISC架构—CISC的英文全称是Complex Instruction Set Computer,意为“复杂指令系统计算机”。它的特点是指令数量庞大臃肿,每个指令不管执行频度高低都处于同一个优先级,程序员的编程工作相对容易。 但它的致命弊端是执行效率低下,处理器的晶体管被大量低效的指令所占据,资源利用率颇为低下。当IBM成功发展出RISC系统之后,CISC迅速被超级计 算机所抛弃。但机缘巧合,它却在PC上获得新生,为了保持软件兼容,PC必须一直延续X86架构无法脱离(IBM将标准制定权让给Intel,最终葬送了 自己在PC领域的前途)。后来加入微处理器战团的Cyrix、Rise、AMD、IDT等厂商无一不是如此,PC朝着X86道路渐行渐远,从8位、16 位、32位一直扩展到现在的64位,虽然它依然有旺盛的生命力,但背后的一系列缺陷也逐渐显现:芯片设计臃肿不堪,能源利用率低下,性能与晶体管规模相当 的RISC产品根本不在一个水平线上。 
   
   
   
  图1 依据80/20法则划分的“冷代码”与“热代码”概念——前者占据X86指令总量的80%,后者只占据20%。与之相应,冷代码执行单元占据绝大多数硬件 资源,而高度活跃的热代码执行单元所占据的硬件资源反而要少得多。PARROT优化之后,热代码执行单元被大大加强,冷代码单元则被相应缩减,在晶体管规 模不变的前提下实现性能的跨越式提升。 
   
   
   相比之下, RISC(全称Reduced Instruction Set Computer,精简指令系统计算机)则是一套优化过的指令架构,它是根据著名的80/20法则所订立。早在上个世纪60年代,计算机科学家们发现,计 算机中80%的任务只是动用了大约20%的指令,而剩下20%的任务才有机会使用到其他80%的指令。如果对指令系统作相应的优化,就可以从根本上快速提 高处理器的执行效率。IBM公司在1975年成功开发出第一款RISC处理器,从此RISC架构开始走进超级计算机中。由于指令高度简约,RISC处理器 的晶体管规模普遍都很小而性能强大,深受超级计算机厂商所青睐。很快,许多厂商都拿出自己的RISC指令系统,除了IBM的Power和PowerPC 外,还有DEC的Alpha、SUN的SPARC、HP的PA-RISC、MIPS技术公司的MIPS、ARM公司的ARM等等。它的应用范围也远比 X86来得广泛,大到各种超级计算机、工作站、高阶服务器,小到各类嵌入式设备、家用游戏机、消费电子产品、工业控制计算机,都可以看到RISC的身影。 只不过这些领域同普通消费者较为脱离,故而少为人知。 
   
无论在执行效率、芯片功耗还是制造成本上,选择RISC都比沿用X86更加英明。我们不妨作一番实际的比较:目前Intel公司最快的处理器是 Prescott核心的Pentium 4 XE系列,它的晶体管总数在1亿7800万个以上,最高功耗达到130W,但它的运算能力不超过20GigaFlops(FLoating point Operations per Second,每秒浮点运算)。而目前最快的RISC处理器是IBM刚刚推出的Cell,它的晶体管总数为2.34亿个,在采用90纳米工艺制造时芯片面 积为221平方毫米,但它的运算力高达2560GigaFlops,整整是Pentium 4 XE的128倍。Intel将在年中推出双核心的Smithfield,性能最多能有80%的提升,而芯片规模将达到与Cell相同的水平。由此可见,二 者完全不是一个层面上的对手,X86指令系统的低效性在这里一览无遗。与此对应,RISC产品在成本上优势明显—半导体芯片的制造成本同芯片面积三次方成 正比。在工艺相同的情况下,芯片面积大小取决于所集成的晶体管规模。RISC处理器核心精简、效率更高,只要很少的晶体管就能达到与X86产品媲美的效 能,制造成本可大大低于现有的X86处理器。而小晶体管规模亦有助于保持较低的能耗值,RISC处理器在这方面表现相当杰出,现在的嵌入式设备几乎都采用 RISC产品,原因就在于这类产品的功耗值超低。 
   
   过去,PC钟情于X86的原因在于软件兼容,尤其是微软只为X86 PC开发Windows系统,这也被认为是PC采用RISC架构的最大障碍。这个障碍最终也将被解除,Linux操作系统逐渐发展成熟,Mac OS X的综合水准更远在Windows之上,办公、图形、网络、多媒体相关的各类跨平台应用软件极大丰富。如果你是一个游戏玩家,RISC平台一定会令你大呼 过瘾,将于2005-2006年发布的索尼PS3、任天堂Revolution和微软XBOX2等新一代游戏机产品将全面转入RISC体系(有趣的是,三 种游戏机都采用IBM所设计的处理器,指令系统相同),短时间内许多品质一流的配套游戏软件将会大量涌现。只要指令系统相同,这些游戏完全可以实现平滑移 植。 
   
单从技术角度考虑,以RISC取代X86作为PC的主力架构的确是非常英明的选择,更高的效率、更快的速度、更低的成本以及同样丰富的软件支持, RISC PC将展现出勃勃生机。然而,这一切似乎不容易实现,无论Intel、AMD还是微软,它们的辉煌成就都构建在X86的基础之上,转向RISC对它们来说 无异于釜底抽薪。目前执著发展RISC PC的只有苹果公司,它们的全系列PC都基于IBM的PowerPC指令架构。不幸的是,尽管苹果公司大名鼎鼎,但它对整个市场的影响力极其有限,PC转 向RISC最大的障碍不在于技术或兼容性,而是缺乏一个实质性的领导者,但有迹象表明,蓝色巨人对此有着强烈的意愿,RISC能否把握住PC的下一个三十年尽皆取决于它。 
   
  即便不采用RISC架构,我们仍然可以借助它的思想对X86处理器进行结构性改良。事实上,X86处理器一直都 从RISC产品中获取灵感,包括 EV6总线、整合内存控制器、超线程技术、双核心等等新技术新概念都是首先在RISC产品中得到成功应用,之后才被Intel/AMD引入到X86处理器 当中。实践证明,这种做法往往对X86处理器的性能提升有着决定性的影响,而从RISC汲取营养也就成为X86业界的习惯做法。 
   
不过,上述这些技术改良都只停留在应用层面,指令体系的根本差异成为X86与RISC之间的壁垒,若能借助RISC理念对X86处理器进行结构性改良,也 许可获取更大的效益。Intel在IDF技术峰会上提出的“PARROT”概念便充分体现了这种思想。PARROT的全称是“Power AwaReness thRough selective dynamically Optimized Traces”,从其名称不难得知,PARROT是一项借助“动态优化执行路径”来提高处理器执行效率的技术。它的理论基础也是著名的80/20法则,但 与RISC不同,X86处理器无法从指令系统层面上实现这一点。,Intel另辟蹊径,提出了一个全新的发展思路,将20%的常用指令定义为“热代码 (Hot Code)”,剩余的80%指令使用频率没那么高,被定义为“冷代码(Cold Code)”。对应的CPU也在逻辑上被划分为两个部分:一是热核(Hot Spot),只针对调用到热代码的程序;另一部分则是冷核(Cold Spot),负责执行20%的次常用任务。由于热核部分要执行80%的任务,设计者便可以将它设计得较为强大,占据更多的晶体管资源。而冷核部分任务相对 简单,没有必要在它身上花费同样的功夫。理论上说,设计者可以将80%的晶体管资源用在热核上面,使之高效率执行任务,剩余的20%晶体管资源则用于仅完 成20%任务的冷核。相比之下,现在的X86处理器完全没经过结构优化,所有指令地位对等,80%的次常用指令占据了大量的晶体管资源,又没有创造出相应 的价值,芯片内只有20%的区域处于活跃状态,这显然不够科学。 
   
“PARROT”创造了一种崭新的双核概念,过去我们谈论的双核心指的是在一枚芯片内集成两个对等的CPU内核,通过并行运算获得性能增益,我们可以将它 看作是横向维度的对等设计。而“PARROT”则是一种纵向维度的双核理念,热核与冷核地位并不对等,且无法独立运作,只能说是一个CPU内核中的两部分 分立逻辑。它所起到的是提高CPU的硬件资源利用率,以高执行效率达到高效能的目的,这种做法显然比目前业界鼓吹的“双核心”更具革命意义。我们不妨深入 分析“PARROT”的微架构(图2所示),处理器执行管道被分为“冷管道(Cold Pipe)”和“热管道(Hot Pipe)”两部分,二者都拥有彼此独立的取指和执行单元,当处理器读取程序指令时,会预先对其作分析,以判定它是归属于“热代码”还是“冷代码”。若为 活跃的“热代码”,则将其送入“热管道”逻辑进行高效处理;如果属于“冷代码”,那么将其送入“冷管道”逻辑处理,所得结果最终再作汇总输出。 
   
   
   
  图2 PARROT微架构,CPU被划分为相对独立的两个执行管道。 
   
   
  图3所示为“PARROT”处理器的详细执行路径情况,我们可以看到,“冷管道”部分相对简单,只有“指令缓存(Instruction Cache)”、“冷执行单元(Cold Execution)”和“分支预测单元(Branch Prediction)”,占据少量的晶体管即可。而“热管道”部分则显得相当复杂,它由“追踪缓存(Trace Cache)”、“追踪预测单元(Trace Prediction)”、“热执行单元(Hot Execution)”、“追踪优化(Trace Optimizer)”以及“追踪选择过滤&构建(Trace Select Filter&Build)”等几大逻辑单元共同构成,每个逻辑都被设计得尽可能强大。计算结果生成之后,再由“同步合成单元 (Synchronized Commit)”组合汇总,最后才通过前端总线输出给计算机内存,由此完成整个运算过程。 
   
   
   
  图3 基于PARROT思想的X86处理器逻辑结构—冷代码与热代码在执行阶段被彼此分离。 
   
   
PARROT的新奇思路令人耳目一新,通过对执行单元的结构性优化,X86处理器可以说是获得了重生。设计者可以对“热核”部分进行大大强化,使之拥有更 高的效能,在执行多数任务时用户都可感觉到立竿见影的性能提升,而对于冷核的必要压缩则大幅度节省了晶体管资源,并可达到明显降低芯片功耗的目的。设计者 可以在晶体管规模不变的前提下,让X86处理器获得数倍的效能提升。
毫无疑问,PARROT对于深陷困境的X86架构无疑是雪中送炭,X86处理器将因此出现跨越性的技术进步。而换个角度看,PARROT完全可以说是RISC思想的伟大胜利,80/20法则再度成为魔法的关键,只不过,上一次 IBM基于此建立了伟大的RISC指令系统,而这次是Intel在保持X86软件兼容的前提下,成功实现了对微处理器结构的优化,两种做法可谓是殊途同归。
据悉,PARROT技术将在2007年开始进入实用,“Merom”将成为首款基于PARROT思想的处理器内核。大家一定看过这样的新闻:2007 年Intel的服务器处理器、桌面处理器和移动处理器都将采用“Merom”内核,无论性能还是功耗都将有出色的表现,我们有足够的理由对它寄以厚望。      
CISC、RISC是什么?各自有哪些区别和联系?为何说RISC是发展趋势,而CISC却不是? ARM(RISC)也逐步增加部分复杂指令(如浮点指令),兼顾效率与功能。从计算机体系结构角度,CISC(复杂指令集计算机) 是通过丰富复杂的指令实现多功能,RISC(精简指令集计算机) 是通过简化指令、优化执行效率提升性能,二者核心差异在指令设计理念,RISC因契合现代芯片技术需求成为发展趋势。低功耗需求适配:RISC硬件结构简单,晶体管数量少(相比CISC节省硬件资源),功耗更低——这对移动设备(手机、平板)、物联网设备至关重要,而CISC因硬件复杂,功耗难以降低(如x86 CPU功耗远高于ARM)。 阅读详情

相关推荐

Windows下构建ImGui.Net

工具 Visual Studio 2017 操作 下载项目 git clone https://github.com/mellinoe/ImGui.NET.git 编译 右键以下两个项目并调试: ImGui.NET.SampleProgram ImGui.NET.SampleProgram.XNA Error fix 中间遇到一些问题: SDK版本不对 去微软官网下载安装对应版本 由于设置了代理被远程服务器拒绝连接 关闭代理(也许在环境变量中) nuget源无对应资源,404 NOT FOUN

jojozym的博客 1489

CISC和RISC的比较

CISC和RISC的比较

云隐雾匿的博客 2万+

GD32F303串口DMA发送数据避坑指南:为什么你的发送函数会卡住?

本文深入解析GD32F303单片机串口DMA发送数据时常见的卡死问题,提供详细的避坑指南。从DMA传输完成中断时序、发送状态管理到双通道DMA的特别注意事项,全面剖析问题根源并给出解决方案,帮助开发者构建健壮的DMA发送机制。

weixin_27038245的博客 295

CISC与RISC

软考,软件设计师,CISC与RISC比较,试题

呆萌很的博客 2712

UG NX二次开发(C#)-读取PMI对象的名称

摘要:本文介绍了在UG NX中通过NXOpen获取PMI对象名称的方法。首先说明PMI对象初始无名称,可通过重命名或属性设置名称。然后提供C#代码示例,展示如何遍历PMI集合获取对象名称,并显示名称和类型信息。适用于需要操作PMI对象的开发人员,欢迎加入技术交流QQ群749492565。(99字)

GimiGimmy 592

全功能爬虫框架:Botasaurus 的详细使用(现代化、反检测、高并发的智能爬虫框架)

Botasaurus是一个基于 Python 的全栈式智能数据采集框架。它深度融合了以下关键技术: 无头浏览器自动化(Headless Browser Automation):基于 Playwright 或 Puppeteer,支持 Chromium、Firefox、WebKit; 高级反检测引擎(Anti-Detection Engine):自动绕过 WebDriver、Canvas、AudioContext 等 50+ 种指纹检测; 声明式任务模型(Declarative Task Model):用装

数据知道的博客 4371

芯片架构分类 - CISC 和 RISC

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

Paul_Yu_Zhang的博客 1万+

Java全栈开发:充电桩管理系统项目实战

技术收获深入理解分布式系统架构掌握高并发场景解决方案提升系统设计能力经验教训前期需求分析的重要性技术选型需要考虑长期维护测试覆盖率的重要性未来展望引入AI预测故障支持更多支付方式优化用户体验通过此项目的开发,不仅实现了充电桩的智能化管理,也积累了宝贵的全栈开发经验。项目中的很多技术方案和架构设计都具有普遍适用性,可以在其他类似项目中借鉴使用。@Componentstatic {// 初始化状态转换规则。

exlink2012的专栏 1252

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

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

weixin_40491661的博客 4万+

YOLO26涨点改进| CVPR 2026 | 独家创新首发、特征融合改进篇 | 引入 LFSB 差分双维注意融合模块,通过交替特征融合与分离策略,能够精准区分目标特征,顶会助力YOLO26有效涨点

本文提出LSFB差分双维注意融合模块,用于改进YOLO26目标检测模型。该模块通过融合-分离交替策略和差分注意力机制,有效提升模型在复杂场景下的特征分离能力,特别是在处理重叠物体或反射干扰时表现优异。LSFB采用双向投影、双维注意力计算和跨流减法算子,实现特征共享与独立提取的平衡。实验表明,该模块能显著减少特征混淆,提高检测精度和鲁棒性。文章还详细介绍了模块实现的核心代码、YAML配置文件修改方法以及三种改进方案,为YOLO26模型性能提升提供了创新解决方案。

Ai缝合怪、助力小伙伴高效发论文 326

当C#遇见声音魔法:从麦克风到文字的0.1秒奇幻漂流

为什么选300Hz?因为人声基频通常在85-255Hz,但清脆的“啊”可能到2kHz,所以300Hz是安全区!(参考知识库[1])

墨夶的博客 365

指令集架构——CISC、RISC

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

蟹蟹泥的博客 5347

肖特基二极管的反向恢复过程

本博客简述肖特基二极管反向恢复过程。

记得诚 1万+

CISC和RISC的区别

    CISC(Complex Instruction Set Computers,复杂指令集计算集)和RISC(Reduced Instruction Set Computers)是两大类主流的CPU指令集类型,其中CISC以Intel,AMD的X86 CPU为代表,而RISC以ARM,IBM Power为代表。RISC的设计初衷针对CISC CPU复杂的弊端,选择一些可以在单个CPU周期完成...

架构师学习成长之路 7万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

精雕软件(JDpaint) 5.5 绿色版

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

CISC, RISC 区别

iPhone Simulator = Intel iPhone = ARM区别很大,Intel目前的处理器主要为IA架构,IA-32即俗称x86,包括桌面处理器系列(赛扬,奔腾,酷睿等)以及服务器处理器志强(Xeon) 系列;IA-64是Intel独立开发得64位处理器,仅用于Itanium(安腾)以及后续产品Itanium 2,针对高端服务器市场。 ARM架构与IA架构本质上不同。在这里我们就简单比较一下IA32与ARM架构的不同。 IA-32处理器是基于CISC体系结构的,而ARM则是RIS

SUN Jiangong's technical blog 3967

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

嵌入式处理器 cisc risc_简述risc和cisc的区别

在计算机技术的许多变革中,复杂指令集计算机(CISC)过渡到精简指令集计算机(RISC)体系结构的转变是很重要的一个方面。正是RISC的出现发展大大推动了嵌入式系统性能的提高和功能的完善。 什么是CISC和RISC ?CISC的英文全称为“Complex InstrucTIon Set Computer”,即“复杂指令系统计算机”,从计算机诞生以来,人们一直沿用CISC指令集方式。早期的...

weixin_39737240的博客 1572

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

RISC 和 CISC 区别

RISC 和 CISC 是目前设计制造微控制器的两种典型技术,虽然它们都是试图在体系结构、操作运行、 软件硬件、编译时间和运行时间等诸多因素中做出某种平衡,以求达到高效的目的,但采用的方法不同, 因此,在很多方面差异很大,它们主要有: (1) 指令系统:RISC 设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的 特色。对不常用的功能,常通过组合指令来完成。因此,在 RI...

uunubt的专栏 2351

计组--CISC和RISC特点和区别

CISC和RISC特点和区别 CISC(微程序) RISC(硬布线) 指令系统 复杂、庞大 简单、精简 指令数目 一般大于200条 一般小于100条 指令字长 不固定 定长 可访存指令 不加限制 只有load/store指令 各种指令执行时间 相差较大 多数指令在一个时钟周期完成 各种指令的使用频度 相差很大 都比较常用 通用寄存器的数量 较少 多 目标代码 难以优化生成高效的目标代码 采用优化编译,生成代码较高效 控制方式 绝大多数为微程序控制 绝大多数为

weixin_45674607的博客 5975

RISC和CISC区别

RISC(精简指令集计算机,Reduced Instruction Set Computer)、CISC(复杂指令集计算机,Complex Instruction Set Computer)是计算机处理器设计中的两种主要架构,它们在多个方面存在显著差异。

m0_63764282的博客 2849

计算机科学:了解RISC与CISC架构的区别

RISC,全称为精简指令集计算机(Reduced Instruction Set Computer),是一种采用简化指令集设计的计算机架构。RISC的设计理念是在硬件中实现较少的指令集,从而简化处理器的设计和提高执行效率。简化的指令集:RISC处理器的指令集相对简单,每条指令执行时间固定,通常在一个时钟周期内完成。较少的寻址模式:RISC架构通常只支持几种简单的寻址模式,这使得指令解码和执行更加高效。大量寄存器:RISC处理器通常拥有较多的寄存器,以减少对内存的访问频率,从而提高性能。

十年运维开发经验的王义杰在此分享自己的知识和经验 8130
上一篇: Mina源码阅读笔记(五)—Mina对连接的操作IoSession
下一篇: 纯js增删改查页面
meng0911
博客等级 码龄15年 15粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值