CISC 和 RISC 架构的对比

news2024/11/26 14:55:28

研究 RISC 架构优缺点的最简单方法是将其与其前身进行对比: CISC(复杂指令集计算机)架构。

内存中的两个数字相乘

右图表示一台普通计算机的存储方案。 主存储器被划分为编号从(行)1:(列)1 到(行)6:(列)4 的位置。 执行单元负责执行所有计算。 但是,执行单元只能对装入六个寄存器(A、B、C、D、E 或 F)之一的数据进行运算。 比方说,我们想求两个数字的乘积(一个存储在 2:3 位置,另一个存储在 5:2 位置),然后将乘积存回 2:3 位置。
在这里插入图片描述

CISC 架构

CISC 架构的主要目标是用尽可能少的汇编行完成任务。 实现这一目标的方法是构建能够理解并执行一系列操作的处理器硬件。 对于这项特殊任务,CISC 处理器会准备一条特定的指令(我们称之为 “MULT”)。 执行该指令时,会将两个数值分别载入不同的寄存器,在执行单元中将操作数相乘,然后将乘积存储在相应的寄存器中。 这样,整个两数相乘的任务只需一条指令即可完成:

MULT 2:3, 5:2

MULT 是所谓的 “复杂指令”。 它直接在计算机内存库中运行,不需要程序员明确调用任何加载或存储功能。 它与高级语言中的命令非常相似。 例如,如果我们让 "a "代表 2:3 的值,让 "b "代表 5:2 的值,那么这条命令与 C 语句 "a = a * b "完全相同。
这种系统的主要优点之一是,编译器只需做很少的工作就能将高级语言语句翻译成汇编语言。 由于代码长度相对较短,因此只需要很少的 RAM 来存储指令。 重点在于直接在硬件中构建复杂的指令。

RISC 架构

RISC 处理器只使用可在一个时钟周期内执行的简单指令。 因此,上述 "MULT "指令可分为三条单独的指令: "LOAD "命令将数据从内存库移至寄存器,"PROD "命令查找寄存器中两个操作数的乘积,"STORE "命令将数据从寄存器移至内存库。 为了准确执行 CISC 方法中描述的一系列步骤,程序员需要编写四行汇编程序:

LOAD A, 2:3
LOAD B, 5:2
PROD A, B
STORE 2:3, A

起初,这似乎是一种效率更低的完成操作的方式。 由于代码行数较多,需要更多的 RAM 来存储汇编级指令。 编译器也必须执行更多的工作,才能将高级语言语句转换成这种形式的代码。
不过,RISC 策略也带来了一些非常重要的优势。 由于每条指令的执行只需要一个时钟周期,因此整个程序的执行时间与多周期 "MULT "指令的执行时间大致相同。 与复杂指令相比,这些 RISC "精简指令 "所需的硬件晶体管空间更少,从而为通用寄存器留出了更多空间。 由于所有指令的执行时间一致(即一个时钟),因此流水线操作成为可能。

CISCRISC
强调硬件强调软件
包括多时钟复杂指令单时钟,仅精简指令
内存到内存:指令中包含 "LOAD "和 “STORE”寄存器到寄存器:"LOAD "和 "STORE "是独立指令
代码量小,每秒周期多每秒周期少,代码量大
用于存储复杂指令的晶体管在内存寄存器上花费更多晶体管

将 "LOAD "和 "STORE "指令分开实际上减少了计算机必须执行的工作量。 在执行 CISC 风格的 "MULT "指令后,处理器会自动擦除寄存器。 如果其中一个操作数需要用于另一次计算,处理器必须将数据从内存库重新加载到寄存器中。 在 RISC 中,操作数将保留在寄存器中,直到另一个值被加载到位。

性能公式

下式常用来表示计算机的性能:
t i m e p r o g r a m = t i m e c y c l e x c y c l e s i n s t r u c t i o n x i n s t r u c t i o n s p r o g r a m \frac{\mathrm{time}}{\mathrm{program}}\quad=\frac{\mathrm{time}}{\mathrm{cycle}} \mathrm{x}\quad\frac{\mathrm{cycles}}{\mathrm{instruction}}\quad\mathrm{x}\quad\frac{\mathrm{instructions}}{\mathrm{program}} programtime=cycletimexinstructioncyclesxprograminstructions

CISC 方法试图尽量减少每条程序的指令数,但却牺牲了每条指令的周期数。 RISC 的做法恰恰相反,它以牺牲每条指令的周期数为代价来减少每条指令的周期数。

RISC 路障

尽管基于 RISC 的处理技术具有诸多优势,但 RISC 芯片却花了十多年时间才在商业领域站稳脚跟。 这主要是由于缺乏软件支持。
在这里插入图片描述
尽管苹果公司的 Power Macintosh 系列采用了基于 RISC 的芯片,Windows NT 也与 RISC 兼容,但 Windows 3.1 和 Windows 95 在设计时考虑到了 CISC 处理器。 许多公司不愿冒险采用新兴的 RISC 技术。 由于缺乏商业利益,处理器开发商无法大量生产 RISC 芯片,使其价格具有竞争力。
另一个重大挫折是英特尔公司的出现。 虽然英特尔的 CISC 芯片越来越笨重,开发难度也越来越大,但英特尔却有足够的资源进行研发,生产出功能强大的处理器。 尽管 RISC 芯片在某些领域可能会超越英特尔的努力,但两者之间的差距还不足以说服买家改变技术。

RISC 的整体优势

如今,英特尔 x86 可以说是唯一保留 CISC 架构的芯片。 这主要归功于计算机技术其他领域的进步。 内存的价格大幅下降。 1977 年,1MB DRAM 的价格约为 5,000 美元。 到 1994 年,同样数量的内存只需 6 美元(根据通货膨胀率调整)。 编译器技术也日趋成熟,因此,RISC 使用 RAM 和强调软件已成为理想选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2124642.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RAG系统的7个检索指标:信息检索任务准确性评估指南

大型语言模型(LLMs)作为一种生成式AI技术,在近两年内获得了显著的关注和应用。但是在实际部署中,LLMs的知识局限性和幻觉问题仍然是一个挑战。检索增强生成(Retrieval Augmented Generation,RAG&#xff09…

好网站包含哪些方面

好网站通常在多个方面都表现出色,包括但不限于设计、内容、导航、性能和互动性。下面将详细介绍这些方面。 首先,设计是一个网站吸引用户的第一印象。一个好的网站设计应该是清晰、直观、美观,并且符合用户体验原则。页面布局应该合理&#x…

Spire.PDF for .NET【文档操作】演示:创比较 PDF 文档

PDF 已成为跨不同平台共享和保存文档的标准格式,在专业和个人环境中都发挥着无处不在的作用。但是,创建高质量的 PDF 文档需要多次检查和修订。在这种情况下,了解如何有效地比较 PDF 文件并找出它们的差异变得至关重要,这使文档编…

【Go】Go语言基本语法--注释、变量、常量

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

Memfire Cloud使用技巧:让开发更简单,更高效

在软件开发的世界里,Memfire Cloud就像是一位隐形的助手,它悄无声息地帮助开发者们解决了一个又一个难题。如果你还在为搭建服务、开发API接口而头疼,那么Memfire Cloud无疑是你的救星。今天,我们就来聊聊如何使用Memfire Cloud&a…

面试官:v-if和v-for的优先级是什么?

一、作用 v-if 指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回 true值的时候被渲染 v-for 指令基于一个数组来渲染一个列表。v-for 指令需要使用 item in items 形式的特殊语法,其中 items 是源数据数组或者对象,而 item 则是被迭代的…

【人工智能学习笔记】4_4 深度学习基础之生成对抗网络

生成对抗网络(Generative Adversarial Network, GAN) 一种深度学习模型,通过判别模型(Discriminative Model)和生成模型(Generative Model)的相互博弈学习,生成接近真实数据的数据分…

Rust程序结构与代码注释

【图书介绍】《Rust编程与项目实战》-CSDN博客 《Rust编程与项目实战》(朱文伟,李建英)【摘要 书评 试读】- 京东图书 (jd.com) Rust编程与项目实战_夏天又到了的博客-CSDN博客 3.1 Rust程序结构 我们从一个最简单的程序入手,来观察一个Rust的程序结…

Express框架中的res

中间件由两部分组成,中间件方法和请求处理函数; 中间件方法由express提供,负责拦截请求,请求处理函数由开发人员提供,负责处理请求; app.get(‘请求路径’,‘处理函数’); //接收并处理get请求 app.post(‘请求路径’,‘处理函数’); //接收并处理post请求 可以对同一个请求…

盘点ai可以变现的3大生意,看看你猜到了几个?

一、做动物ai视频,通过流量变现 最近各个视频平台都很火的猫meme,不仅在各个蓝v账号混的风生水起,也是很多文旅的爆款密码。 有很多个人账号也会做比如动物跳舞,做饭的视频,通过流量收入和接广告来变现。 ** 二、小说…

【OJ刷题】双指针问题

这里是阿川的博客,祝您变得更强 ✨ 个人主页:在线OJ的阿川 💖文章专栏:OJ刷题入门到进阶 🌏代码仓库: 写在开头 现在您看到的是我的结论或想法,但在这背后凝结了大量的思考、经验和讨论 目录 1…

【NOI-题解】1272. 郭远摘苹果1274. 求各个科目成绩的平均分1275. 输出杨辉三角的前N行1496. 地雷数量求解

文章目录 一、前言二、问题问题:1272. 郭远摘苹果问题:1274. 求各个科目成绩的平均分问题:1275. 输出杨辉三角的前N行问题:1496. 地雷数量求解 三、感谢 一、前言 欢迎关注本专栏《C从零基础到信奥赛入门级(CSP-J&…

《旧衣服的销路在哪里》

在当今社会,随着人们生活水平的不断提高,衣物的更新换代速度愈发加快,大量的旧衣服亟待处理,旧衣服回收市场由此应运而生,且发展态势日益蓬勃。 旧衣服回收的类型丰富多样。从材质上区分,有柔软的棉质、透…

从代理协议的角度出发:解锁住宅代理

在各类代理中,代理协议扮演着至关重要的角色,它规定了代理运作的规则和要求。和其他代理相同,住宅代理也依赖于多种代理协议来处理不同类型的流量。在本文中,我们将深入研究HTTP和HTTPS代理的工作原理,比较它们的差异&…

IDC基础学习笔记

一、数据中心介绍 1、数据中心级别划分: 2、数据中心结构: 3、IT系统组成 二、数据中心硬件知识 1、服务器组件 服务器的正面接口: 服务器的反面接口: (1)CPU CPU定义:中央处理器&#xff08…

【信创】统信UOS图形界面登录闪退的解决方法

原文链接:【信创】统信UOS图形界面登录闪退的解决方法 Hello,大家好啊!今天给大家带来一篇关于统信UOS 1070桌面操作系统中,图形界面登录时出现闪退或输入正确的用户名和密码后又跳转回登录界面问题的解决方法的文章。这种问题可能…

JAVA基础:抽象类,接口,instanceof,类关系,克隆

1 JDK中的包 JDK JRE 开发工具集(javac.exe) JRE JVM java类库 JVM java 虚拟机 jdk中自带了许多的包(类) , 常用的有 java.lang 该包中的类,不需要引用,可以直接使用。 例如&#xff1…

关于axios同步获取数据的问题

axios同步获取数据 Axios介绍问题代码修改 总结 Axios介绍 Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 X…

利用Ai短视频原创,撸平台流量轻松月入过万!

今天分享一个利用Ai短视频原创,撸平台流量轻松月入过万!当前短视频领域尤其是原创内容的制作,主要可以通过三种方式实现:首先是自行拍摄,这种方式虽然能够确保内容的原创性,但需要一个团队来协作完成拍摄、脚本编写和后…

Samtec AI应用科普 | 人工智能中的互连

【摘要/前言】 现代生活的方方面面都受到了计算机和半导体的影响,但最能吸引公众想象力的莫过于人工智能(AI)和机器学习(ML)的兴起。 【AI推动创新】 虽然人工智能已经存在了一段时间,但最近的技术进步已…