CISC 和 RISC 架构的对比

研究 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

起初,这似乎是一种效率更低的完成操作的方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯狂的码泰君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值