考研计算机组成原理总结(8)

简介: 考研计算机组成原理总结(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中进行运算

70e5e6a650de4d8079ba65b7bee13f90.jpg

二.数据通路

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

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

00151c623702b03319c7721a5d5d3fc1.jpg

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


取指周期:


时序 微操作 有效控制信号 注释

1 (PC)—>MAR PCout ,MARin 把PC存放的指令存储地址传送给MAR

2 M(MAR)—>MDR MemR,MARout ,MDRin E 主存通过数据总线将MAR所指单元的内容送至MDR

3 (MDR)—>IR MDRout ,IRin 将MDR的内容送至IR

4 指令译码 - 操作字开始控制CU

5 (PC)+1—>PC - 当PC+1有效时,使PC内容加1

间址周期:


时序 微操作 有效控制信号 注释

1 (R0)—>MAR R0out ,MARin 将(R0)中的(形式)地址送至存储器地址寄存器

2 M(MAR)—>MDR MemR,MARout,MDRin E 主存通过数据总线将MAR所指单元的内容(有效地址)送至MDR中

3 (MDR)—>Y MDRout , 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.指令格式

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


零地址指令: 零地址指令没有任何地址,它们适用于对数据堆栈进行操作的指令。例如,“PUSH”指令将一个值压入堆栈中,“POP”指令将堆栈顶部的值弹出。

一地址指令: 一地址指令接受一个地址参数,并且在该地址上执行操作。一地址指令通常用于处理数组或结构体。例如,“INC X”指令将X地址处的值增加1。

二地址指令: 二地址指令接受两个地址参数,第一个参数是源地址,第二个参数是目标地址。它们通常用于进行算术或逻辑运算。例如,“ADD A, B”指令将B地址处的值加到A地址处的值上。

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

五.指令的寻址方式

1.符号理解

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

2.常见的数据寻址方式d70b94037ba05eac4a27fbcb3453f24c.jpg

六.说明

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


相关文章
|
存储 算法 调度
【考研必备】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)(下)
【考研必备】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)
|
5月前
|
存储 知识图谱
【计算机组成原理】指令系统&考研真题详解之拓展操作码!
也就是说 “其中三地址指令29”条这句话,完全可以翻译成“三地址这种类型的指令一共能有29种不同的可能性” 这样说就清晰多 因为这就意味着 我们需要用若干个字节 来表示这29种不同的可能性 然后又已知每一个字节位能表示的可能性是2种(0/1),那么我们想有多少个字节可以表示29种不同的可能呢?最少5种 (因为2的4次方=16<29),2^5=32>29,也就是说有32-29=3种可能性是不在三地址指令这种类型的指令集里面的,所以这3 种余出来的可能性要被利用 就在下一种 “二地址指令集”中利用到
69 0
|
5月前
计算机网络——物理层相关习题(计算机专业考研全国统考历年真题)
计算机网络——物理层相关习题(计算机专业考研全国统考历年真题)
46 0
|
存储 安全 网络安全
【考研必备二】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)(下)
【考研必备二】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)
|
存储 Unix Linux
【考研必备二】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)(上)
【考研必备二】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)(上)
【考研必备二】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)(上)
|
存储 机器学习/深度学习 Unix
【考研必备】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)(上)
【考研必备】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)
【考研必备】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)(上)
|
存储 固态存储 程序员
考研计算机组成原理总结(5)
考研计算机组成原理总结(5)
726 0
|
存储 芯片 内存技术
考研计算机组成原理总结(4)
考研计算机组成原理总结(4)
411 0
考研计算机组成原理总结(4)
|
存储 缓存 算法
考研计算机组成原理总结(7)
考研计算机组成原理总结(7)
329 0

热门文章

最新文章