408考研计算机之计算机组成与设计——知识点及其做题经验篇目5:CISC、RISC与指令执行过程

        不知道大家有没有想过,世界上有那么多种指令,为什么要把指令的长度设计成一样的,正所谓“君子和而不同”,大家都是为计算机服务的,干嘛要把指令的长度设计的一模一样?诶嘿,今天我们就要学习一类“君子”计算机,这类计算机称为复杂指令系统计算机CISC。而我们之前学习的指令长度固定且种类较少的计算机是精简指令系统计算机RISC。请跟随小编的步伐,一起出发学习吧!

目录

一、CISC与RISC

1、CISC

2、RISC

二、指令执行过程

1、指令周期

2、各个周期的数据“动向”

①取指周期

②间址周期

③执行周期

④中断周期


一、CISC与RISC

考点1:复杂指令系统计算机CISC与精简指令系统计算机RISC

1、CISC

主要特点:

①指令系统复杂庞大,指令数目一般为200条以上。

②指令的长度不固定,指令格式多,寻址方式多。(君子和而不同)

③可以访存的指令不受限制。

④各种指令使用频率相差很大。(大概只有20%的比较简单的指令会反复使用,约占整个程序的80%,而80%的指令则很少使用,约占整个程序的20%)

⑤各种指令执行时间差很大。

⑥控制器大多数采用微程序控制,而难以采用硬连线控制

⑦难以用优化编译生成高效的目标代码程序。

        如此庞大的指令系统,对指令的设计提出了极高的要求,研究周期变得很长。后来,人们发现,一味地追求指令系统的复杂和完备程度不是提高计算机性能的唯一途径,RISC应运而生。

2、RISC

        RISC的思想是要求指令精简化,指令格式力求一致,小编当时学计算机组成与设计时,那本黑皮书教材的名字就叫做RISC-V,长得跟一本魔法书一样,反正里面的文章对当时的小编来说就是天书。

其特点为:

①选取使用频率最高的一些简单指令,复杂指令的功能由简单指令的组合来实现。

②指令长度固定,指令格式种类少,寻址方式种类少

③只有Load/Store指令方寸,其余指令的操作都在寄存器之间进行

④CPU中通用寄存器的数量相当多

⑤RISC一定采用指令流水线技术,大部分指令在一个时钟周期内完成

⑥以硬布线控制为主,不用或少用微程序控制

⑦特别重视编译优化工作,以减少程序执行的时间

例题:下列描述中,不符合RISC指令系统特点的是():

A.指令长度固定,指令种类少

B.寻址方式种类尽量减少,指令功能尽可能强

C.增加寄存器的树木,以尽量减少访存次数

D.选取使用频率最高的一些简单指令,以及很有用但不复杂的指令

【答案】:B

【解析】:RISC的功能性很弱,由很多条简单指令完成复杂的一些操作。就比如人的走路行为,CISC中该指令可能就是“走路”,而RISC则会把这个指令拆成“抬左腿”,“向前迈一步”,“抬右腿”,“向前迈一步”……

考点2:CISC与RISC的对比

        没有对比就没有伤害,我们自然而然的想将CISC与RISC浅浅的对比一下,找找不同,毕竟这该死的出题人就是喜欢移花接木,不捋清楚二者差异,很难的做题。

CISCRISC
指令系统复杂,庞大简单,精简
指令数目一般大于200条一般小于100条
指令字长不固定固定
可访存指令不加限制只有Load/Store指令
各种指令执行时间相差较大绝大多数在一个周期完成
各种指令使用频率相差较大都比较常用
通用寄存器数量
目标代码难以用优化编译采用优化编译
控制方式绝大多数微程序控制绝大多数组合逻辑控制
指令流水线可以采用必须采用

例题:下列关于RISC的说法中,正确的是()

A.RISC普遍采用微程序控制器

B.为了实现兼容,新设计的RISC是从原来CISC系统的指令系统中挑选一部分实现

C.RISC的指令数、寻址方式和指令格式的种类相对CISC少

D.CISC只有Load与Store指令能够访存

【答案】:C

【解析】:A项,RISC普遍采用组合逻辑控制(硬布线),不用或少用微程序控制;B项,RISC不可能兼容CISC;D项,RISC只有Load与Store指令能够访存

二、指令执行过程

考点4:指令周期

1、指令周期

        刚刚我们谈论到,CISC与RISC有很多差别,比如说硬布线、微程序还有指令流水线、指令执行用时的差别。很显然,仅仅用一篇文章并不能把每一个差别背后的原理都说清楚,下面的篇幅里小编打算讲讲指令执行周期。

        首先,我们知道CISC系统指令执行的时间相差较大,而RISC系统指令绝大多数能在“一个周期”内完成。这里的周期,指的是什么周期?CPU中又有哪几种容易搞混的周期?

指令周期CPU从主存取出并执行一条指令的时间称为指令周期
机器周期通过一次总线事务访问一次主存或I/O的时间称为一个机器周期
存取周期连续启动两次独立的读/写操作所需的最短时间称为存取周期

        指令周期通常用若干机器周期来表示,一个机器周期又包含了若干时钟周期(也称为节拍或T周期,它是CPU操作的最基本单位)。一个完整的指令周期包括取指令周期、间址周期、执行周期还有中断周期这四个机器周期。而每个指令周期内的机器周期数可以不等,每个机器周期内的节拍数也可以不等

        例如无条件转移指令,在执行时不需要访问主存,只包含取指阶段和执行阶段,所以指令周期包括取址周期和执行周期。但是对于间接寻址的指令,为了取操作数,需要先访问一次主存,取出有效地址,然后访问主存,取出操作数,所以还包括间址周期。这两条指令的指令周期的机器周期数就不相等。而显然取指令与读写存储器所用的时长不同,故每个机器周期内的节拍数可以不相等!

        这四个工作周期都有CPU访存操作,只是访存的目的不尽相同。取指周期是为了取指令,间址周期是为了取有效地址,执行周期是为了取操作数,中断周期是为了保存程序断点。

        大家还需要注意一个点,这是一个有关语文错别字的点,指,址,值三个字千万别写错了!

例题:以下有关机器周期的说法中,错误的是():

A.通常把通过一次总线事务访问一次主存或I/O的时间定为一个机器周期

B.一个指令周期通常包含多个机器周期

C.不同的指令周期所包含的机器周期数可能不同

D.每个指令周期都包含一个中断响应的机器周期

【答案】:D

【解析】:A,B,C都通过上文能找到出处。D选项,只有在出现中断请求时,才会进入中断周期。

考点5:指令周期的数据流

2、各个周期的数据“动向”

        数据流是根据指令要求依次访问的数据序列。在指令执行的不同阶段,要求一次访问的数据序列是不同的。而且对于不同的指令,它们的数据流往往也是不同的。

①取指周期

任务:根据PC中的内容从主存中取出指令代码并存放在IR中

步骤:

1)PC----->MAR----->地址总线----->主存

2)CU发出读命令----->控制总线----->主存

3)主存----->数据总线----->MDR----->IR(存放指令)

4)CU发出控制信号----->PC内容加1

【首先从PC中读出指令的地址,然后把这个地址放到存储器地址寄存器MAR中,经过地址总线从主存中找到这个地址,经过CU的读命令之后,取出该地址的指令,并且放到MDR中,以及IR中】

 例题:在取指操作后,程序计数器中存放的是()

A.当前指令的地址

B.程序中指令的数量

C.已执行的指令数量

D.下一条指令的地址

【答案】:D

【解析】:取指周期的第四步,PC会自增,所以存放的是下一条指令的地址

②间址周期

任务:取操作数有效地址

步骤:(以一次间址为例)

1)Ad(IR)或MDR----->MAR----->地址总线----->主存

2)CU发出读命令----->控制总线----->主存

3)主存----->数据总线----->MDR(存放有效地址)

其中Ad(IR)代表取出IR中存放的指令字的地址字段

 例题:间址周期结束时,CPU内寄存器MDR中的内容为()

A.指令

B.操作数地址

C.操作数

D.无法确定

【答案】:B

【解析】:间址周期的任务是取操作数的有效地址,而最后一部把它放到了MDR里面

③执行周期

任务:取操作数,并根据IR中的指令字的操作码通过ALU操作产生指令结果

步骤:没有统一的步骤(加的步骤肯定和乘法的步骤不尽相同,所以根本统一不了)

④中断周期

任务:处理中断请求

步骤:

1)CU控制将SP减1,SP----->MAR----->地址总线----->主存

2)CU发出写命令----->控制总线----->主存

3)PC----->MDR----->数据总线----->主存(程序断点存入主存)

4)CU(中断服务程序的入口地址)----->PC

例题:CPU响应中断的时间是():

A.一条指令执行结束

B.I/O设备提出中断

C.取指周期结束

D.指令周期结束

【答案】:A

【解析】:若有中断,则在执行周期后执行中断。

例题:冯诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是()

A.指令操作码的译码结果

B.指令和数据的寻址方式

C.指令周期的不同阶段

D.指令和数据所在的存储单元

【答案】:C

【解析】:冯诺依曼计算机根据指令周期的不同阶段来区分从春初期取出的是指令还是数据,取值周期取出的是指令,执行周期取出来的是数据。因此,控制器可以区分存储单元中存放的是指令还是数据,存储器和运算器不能。

        好的,本期的计算机考研408的文章就到这里结束啦,感兴趣的兄弟姐妹们能给我一个免费的点赞和关注再走吗?

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
计算机组成设计:硬件/软件接口(原书第5版)》是计算机组成设计的经典畅销教材,第5版经过全面更新,关注后PC时代发生在计算机体系结构领域的革命性变革——从单核处理器到多核微处理器,从串行到并行。本书特别关注移动计算和云计算,通过平板电脑、云体系结构以及ARM(移动计算设备)和x86(云计算)体系结构来探索和揭示这场技术变革。   与前几版一样,本书采用MIPS处理器讲解计算机硬件技术、汇编语言、计算机算术、流水线、存储器层次结构以及I/O等基本功能。   《计算机组成设计:硬件/软件接口(原书第5版)》特点   更新例题、练习题和参考资料,重点关注移动计算和云计算这两个新领域。   涵盖从串行计算到并行计算的革命性变革,第6章专门介绍并行处理器,每章中都涉及并行硬件和软件的相关主题。   全书采用Intel Core i7、ARM Cortex-A8和NVIDIA Fermi GPU作为实例。   增加“运行更快”这一新实例,说明正确理解硬件技术的重要性,它能使软件性能提高200倍。   讨论并强调计算机体系结构的“8个伟大思想”——通过并行提高性能、通过流水线提高性能、通过预测提高性能、面向摩尔定律的设计、存储器层次、使用抽象简化设计、加速大概率事件和通过冗余提高可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

计算机鬼才~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值