定义题
微指令和微程序
微指令格式
垂直型
一条微指令定义并执行一种基本操作。
- 优点
微指令短、简单、规整,便于编写微程序。
- 缺点
微程序长,执行速度慢;工作效率低。
上面优缺点原因:原因:一条微指令只定义一种基本操作,一个微程序由多条微指令构成,那么意味着微指令如果短,微程序就要更多微指令才能实现功能,对下面水平型优缺点分析同理
水平型
一条微指令定义并执行几种并行的基本操作
- 优点
微程序短,执行速度快。
- 缺点
微指令长,编写微程序较麻烦
微程序存放位置
微程序控制器
解析:理解来说,硬布线控制器就是硬件,硬件速度快但是难拓展,软件速度慢但是容易拓展
指令流水线的影响因素
资源相关
资源相关是指多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突。
数据相关
在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,那么这两条指令就是数据相关的
数据相关产生冲突的类型
写后写(WAW)
读后写(RAW)
写后读(WAR)
举例说明:
解析:
就是当做串行,看两条指令公用的部分
以(1)举例:先对R1写,然后对R1读,所以写后读WAR
同理(2)是读后写RAW
(3)是写后
- 解决数据相关的途径
- 定向或后退法
- 设置相关的专用通路
- 改变流水的顺序
控制相关
控制相关冲突是由转移指令引起的。当执行转移指令时,依据转移条件的产生结果,可能顺序取下条指令
也可能转移到新的目标地址取指令,从而使流水线发生断流。
- 解决控制相关的途径
- 后退法:遇到转移指令,则暂停输入新指令,等待结果
- 转移预测法:遇到条件转移时,先选定一个分支,若猜测正确则继续按流水进行,否则转回到分支点
指令周期
错误:一个节拍信号的时间宽度是一个时钟周期
计算题
指令系统中微指令数量
流水线的加速比
微指令的编码
直接编码
- 在微指令的操作控制字段中,每一位代表一个微操作命令。
- 某位为“1”表示该控制信号有效
字段直接编码方式
- 将微指令的控制字段分成若干“段” ,每段经译码后发出控制信号
- 分段原则
- 互斥性微命令分在同一段内,相容性微命令分在不同段内
- 每个小段中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间
- 一般每个小段还要留出一个状态,表示本字段不发出任何微命令
- 当某字段的长度为3位时,最多只能表示7个互斥的微命令,通常用000表示不操作》
注:
互斥性微命令:不允许并行完成的微命令
相容性微命令:允许并行完成的微命令
设计题
用方框图语言表示指令周期
题目1:双线,直接寻址
解答:
小结
- 一般都是三个部分:取址,译码(不用管),执行
- 取址一般注意三点
- 一定要有PC,特别是PC + 1
- 一定要经过MAR和MDR,且先MAR再MDR
- 结尾一定是IR
- 从一个寄存器经过线到达另一个寄存器,中途经过的信号写在方框右边