考研计算机组成原理总结(8)---指令系统

一.计算机工作过程

计算机工作的过程,即一条条指令工作的过程:

取指令:

  • 1.(PC)—>MAR,把PC存放的指令存储地址传送给MAR
  • 3.M(MAR)—>MDR,主存根据地址取出指令存放到MDR中
  • 4.(MDR)—>IR,指令从MDR传到IR中

分析指令:

  • 5.OP(IR)—>CU, 把指令操作码送到CU中

执行指令:

  • 6.Ad(IR)—>MAR,把指令的地址码送到MAR
  • 8.M(MAR)—>MDR,主存再根据地址取出操作数存放到MDR中
  • 9.(MDR)—>ACC,再把操作数送到ACC中进行运算

二.数据通路

同位词:微操作序列、所需控制信号、指令流程

其实这些词都是要你画出数据通路。

例如,基于上面的图,分析ADD (R0),R1的指令流程和控制信号:

取指周期:

时序微操作有效控制信号注释
1(PC)—>MARPCout ,MARin把PC存放的指令存储地址传送给MAR
2M(MAR)—>MDRMemR,MARout ,MDRin E主存通过数据总线将MAR所指单元的内容送至MDR
3(MDR)—>IRMDRout ,IRin将MDR的内容送至IR
4指令译码-操作字开始控制CU
5(PC)+1—>PC-当PC+1有效时,使PC内容加1

间址周期:

时序微操作有效控制信号注释
1(R0)—>MARR0out ,MARin将(R0)中的(形式)地址送至存储器地址寄存器
2M(MAR)—>MDRMemR,MARout,MDRin E主存通过数据总线将MAR所指单元的内容(有效地址)送至MDR中
3(MDR)—>YMDRout , Yin将MDR中数据通过数据总线送至Y

执行周期:

时序微操作有效控制信号注释
1(R1)+(Y)—>Z-R1的内容和Y的内容相加,结果送至寄存器Z
2(Z)—>MDR-将运算结果送至MDR
3(MDR)—>M(MAR)-向主存写入数据

三.指令流水线的影响因素

1.结构相关

由于多条指令在同一时刻争用同一资源而形成的冲突称为结构相关。

解决方法:

  • 1.后一相关指令暂停一周期
  • 2.资源重复配置:数据存储器+指令存储器

2.数据相关

数据相关指在一个程序中,存在必须等前一条指令执行完才能执行后一条指令的情况,则这两条指令即为数据相关。

解决办法:

  • 1.把遇到数据相关的指令及其后续指令都暂停一至几个时钟周期,直到数据相关问题消失后再继续执行。可分为硬件阻塞(stal)和软件插入“NOP”两种方法。
  • 2.数据旁路技术。
  • 3.编译优化:通过编译器调整指令顺序来解决数据相关。

3.控制相关

当流水线遇到转移指令和其他改变PC值得指令而造成断流时,会引起控制相关。

解决办法:

  • 1.转移指令分支预测。简单预测(永远猜ture或false)、动态预测(根据
    历史情况动态调整)
  • 2预取转移成功和不成功两个控制流方向上的目标指令。
  • 3.加快和提前形成条件码
  • 4.提高转移方向得猜准率

四.指令系统

1.相关概念

  • 指令:指示计算机执行某种操作的命令
  • 指令系统(指令集):一台计算机的所有指令的集合
  • 指令集体系结构(ISA):指令系统是ISA中最核心的部分

IS规定的内容主要包括:指令格式,数据类型和格式,操作数的存放方式,程序可访问的寄存器个数、位数和编号,存储空间的大小和编制方式,寻址方式,指令执行过程的控制方式等。

2.指令的基本格式

操作码字段地址吗字段

通常,把指令长度等于机器字长的指令称为单字长指令,指令长度等于半个机器字长的指令称为半字长指令,指令长度等于两个机器字长的指令称为双字长指令。

(关于机器字长、存储字长和指令字长的关系,可以查看我本专栏的第一篇文章机器字长、存储字长和指令字长的关系

3.指令格式

在计算机程序设计中,指令的地址通常包含了要进行的操作和数据的地址。根据指令所携带的地址数目不同,指令可以分为三类:零地址指令、一地址指令和二地址指令。

  1. 零地址指令: 零地址指令没有任何地址,它们适用于对数据堆栈进行操作的指令。例如,“PUSH”指令将一个值压入堆栈中,“POP”指令将堆栈顶部的值弹出。
  2. 一地址指令: 一地址指令接受一个地址参数,并且在该地址上执行操作。一地址指令通常用于处理数组或结构体。例如,“INC X”指令将X地址处的值增加1。
  3. 二地址指令: 二地址指令接受两个地址参数,第一个参数是源地址,第二个参数是目标地址。它们通常用于进行算术或逻辑运算。例如,“ADD A, B”指令将B地址处的值加到A地址处的值上。

不同的编程语言和指令集架构使用不同的指令格式,具体的指令格式应该参考对应的文档和手册。

五.指令的寻址方式

1.符号理解

  • (A):表示地址为A的数值,括号相当于取值符号
  • A:既可以是寄存器编号也可以是内存地址
  • EA:操作数在存储器中的真实地址

2.常见的数据寻址方式

TbvC.jpg

六.说明

由于时间紧的原因,习题就选择性的更新了,主要是知识点!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

墨城烟柳ベ旧人殇

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

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

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

打赏作者

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

抵扣说明:

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

余额充值