计算机组成原理:RISC与CISC比较

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

e.g.:将内存中的两个数字相乘

上方是表示通用计算机存储方案的图表。主存储器被划分为从(行)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是所谓的"复杂指令(complex instruction)"。它直接在计算机的内存组上运行,不需要程序员显式调用任何加载或存储函数。它与更高级别的语言中的命令非常相似。例如,如果我们让"a"表示2:3的值,"b"表示5:2的值,那么这个命令与C语句"a = a * b"相同。

该系统的主要优点之一是编译器必须做很少的工作即可将高级语言语句转换为汇编。由于代码的长度相对较短,因此存储指令所需的RAM非常少。重点是将复杂的指令直接构建到硬件中。

RISC Approach
RISC处理器仅使用可以在一个时钟周期内执行的简单指令。因此,上面描述的"MULT"命令可以分为三个单独的命令:“LOAD”,它将数据从存储体移动到寄存器,“PROD”,它查找位于寄存器内的两个操作数的乘积,以及"STORE",它将数据从寄存器移动到存储器。为了执行CISC方法中描述的一系列确切步骤,程序员需要编写四行汇编代码:

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

起初,这似乎是完成操作的效率要低得多的方法。由于代码行数较多,因此需要更多的 RAM 来存储程序集级别的指令。编译器还必须执行更多工作,以将高级语言语句转换为此形式的代码。

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

性能公式
以下公式通常用于表示计算机的性能能力:


CISC 方法试图最小化每个程序的指令数,从而牺牲每个指令的周期数。RISC反其道而行之,以每个程序的指令数量为代价,减少了每条指令的周期。

RISC Roadblocks (路障)
尽管基于RISC的处理具有优势,但RISC芯片花了十多年的时间才在商业世界中站稳脚跟。这主要是由于缺乏软件支持。

虽然苹果的Power Macintosh系列采用了基于RISC的芯片,Windows NT兼容RISC,但Windows 3.1和Windows 95在设计时考虑了CISC处理器。许多公司不愿意冒险使用新兴的RISC技术。如果没有商业利益,处理器开发人员就无法制造足够大的RISC芯片,使其价格具有竞争力。

另一个重大挫折是英特尔的存在。尽管他们的CISC芯片变得越来越笨拙和难以开发,但英特尔拥有资源来开发并生产出功能强大的处理器。尽管RISC芯片可能会在特定领域超越英特尔的努力,但差异还不足以说服买家改变技术。

总体RISC优势
今天,英特尔x86可以说是唯一保留CISC架构的芯片。这主要是由于计算机技术其他领域的进步。RAM的价格急剧下降。1977年,1MB的DRAM耗资约5,000美元。到1994年,相同数量的内存成本仅为6美元(经通货膨胀调整后)。编译器技术也变得更加复杂,使得RISC使用RAM和强调软件变得理想。

计算机组成原理:RISC与CISC比较相关推荐

  1. c语言 各种变量的寻址方式,计算机组成原理常见题(四)

    1.若某数采用IEEE 754单精度浮点数格式表示为 4510 0000H,则其值是( B ). A.(+1.125)10×210 B(+1.125)10×211 C(+0.125)10×211 D. ...

  2. 计算机组成原理常见题(四)

    1.若某数采用IEEE 754单精度浮点数格式表示为 4510 0000H,则其值是( B ). A.(+1.125)10×210 B(+1.125)10×211 C(+0.125)10×211 D. ...

  3. 计算机组成原理常见题(六)

    1.假定用若干个16Kx1位的存储器芯片组成一个64Kx8位的存储器,芯片内各单元连续编址,则地址BFF0H所在的芯片的最小地址是(C) A.40000H B.60000H C.8000H D.000 ...

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

    RISC全称Reduced Instruction Set Compute,精简指令集计算机. CISC全称Complex Instruction Set Computers,复杂指令集计算机. CI ...

  5. 计算机组成原理考试知识点总结,最新2018计算机组成原理期末复习考试知识点复习考点归纳总结总结...

    电大计算机组成原理期末复习考试考点 归纳总结 科学研究和工程技术计算是计算机最早的领域. 信息处理是计算机应用的最广泛的领域. 计算机系统分为硬件和软件两大部分.硬件是实体部件,是看得见摸得着的.软件 ...

  6. 计算机导论与计算机组成原理关系,计算机组成原理

    一 .课程简介 课程中文名称:<计算机组成原理与汇编语言> 课程英文名称:Computer principle and assembly language 课程编号:ZYB08003 课程 ...

  7. 《计算机组成原理》----1.5 存储程序的概念

    本节书摘来自华章出版社<计算机组成原理>一书中的第1章,第1.5节, 作 者 Computer Organization and Architecture: Themes and Vari ...

  8. 计算机组成原理考试复习

    计算机组成原理考试复习 第一章(计算机系统概论) 第二章(运算方法和运算器) 第三章(存储系统) 第四章(指令系统) 第五章(中央处理器) 第六章(总线系统) 第七章(外围设备) 第八章(输入/输出系 ...

  9. 大工20秋计算机组成原理在线作业2,大工20秋《计算机组成原理》在线作业3

    <大工20秋<计算机组成原理>在线作业3>由会员分享,可在线阅读,更多相关<大工20秋<计算机组成原理>在线作业3(6页珍藏版)>请在金锄头文库上搜索. ...

最新文章

  1. Mac下mysql服务器安装
  2. 深度工作,打工人的必备指南!
  3. 使用spark计算文档相似度
  4. 2019春第六周作业Compile Summarize
  5. JZOJ 3.25 1419——【汕头市选2012初中组】排序(sort)
  6. 排序算法——冒泡排序、选择排序、直接插入排序
  7. Extjs4前端开发代码规范参考
  8. 企业靠一套数据平台实现“低成本运营战略”,降低成本600万
  9. Python函数传入的参数是否改变(函数参数、指针、引用)
  10. 开源项目之kisso
  11. SQL知识(浓缩版)快速入门(基础语法、概念)
  12. dts双轨制会员积分系统
  13. 软件测试高频面试题真实分享/网上银行转账是怎么测的,设计一下测试用例。
  14. zemax输出ies_基于ZEMAX的光学设计教程(第2版)
  15. java8调用unsafe_JDK8---UnSafe类实现CAS乐观锁
  16. 分销体系的概念、模式及体系搭建
  17. ubuntu20.04 + kiosk + chrome打造一体机系统
  18. 岁月温柔-24 妈妈转到省医院第4天
  19. WebStorm下载与安装2022版教程注册码WebStorm使用配置
  20. 英语语法篇 - 查漏补缺

热门文章

  1. Win下VS2019配置PCL点云库总结
  2. 学会使用这些常见的网络诊断工具,助力你的网络编程之路
  3. 如何防止驱动被恶意利用
  4. java设计模式--装饰器设计模式(javaIO设计使用)
  5. 阿里P9专家右军:以终为始的架构设计
  6. 如何设置qq说说展示时间_qq说说可以设置时间
  7. Android程序水印效果
  8. C#串口开发案例:迈瑞血球分析仪
  9. w ndows7与windows10区别,windows7和10区别
  10. macbook使用automator实现文文本自动化处理