控制单元
微操作命令:
-
完成一条指令的四个工作周期
- 取指周期,间址周期,执行周期,中断周期
-
取指周期的微操作:
-
间址周期微操作:
-
执行周期微操作:
- 非访存指令:
- CLA 清理A 0->ACC
- COM 取反
- SHR 算数右移
- CSL 循环左移
- STP 停机指令
- 访存指令:
- 转移指令:
- 无条件转移:
- Ad(IR)—>PC
- 条件转移:
- BAN X (负值转移)
- A0*Ad(IR)+A0(非)(PC)->PC
- 查看最高位,如果A0为1将指令的地址码给PC,否则将PC送给PC
- 无条件转移:
- 非访存指令:
-
这三类的指令周期:
- 非访存指令有取值和执行周期
- 直接访存指令需要取值和执行
- 间接访存需要取值,间址,执行周期
- 转移指令需要取值和执行
- 间接转移需要取指,间址,执行
-
中断周期:
- 三步:保存断点,形成服务程序地址,关中断
- 0->mar;1->w;pc->mdr;mdr ->m(mar);向量地址->pc;0->eint
- (sp)-1->mar;1->w;pc->mdr;mdr->m(mar);向量地址->pc;0->eint
- 向量地址那一步可以换为中断识别程序入口地址m—>pc,使用软件的方式
控制单元的功能:
- 外特性:
标志可以看成flag寄存器,通过时钟和标志结合指令寄存器来发送控制信号 - 输入信号:
- 时钟
CU受时钟脉冲控制,一个时钟脉冲可以发出一个操作命令或一组需要同时执行的操作命令 - 指令寄存器
OP(IR)->CU
控制信号和操作码有关 - 标志
如条件转移指令的信号 - 外来信号
中断请求和总线请求
- 时钟
- 输出信号:
- CPU内部信号:
寄存器值转移,PC值变化,ALU的±等 - 送到控制总线的信号:
MREQ 访存控制信号
IO/M访问IO或者存储器的信号
读写命令
中断响应
总线响应
- CPU内部信号:
- 控制信号举例:
PC取出地址放入MAR;内存取出放入MDR中;然后到IR;对于操作码译码;PC+1;得知是间接寻址,CU发出控制信号,访问内存,MDR将地址放入MAR中,取出地址对应的值,放入MDR中;在到IR的地址部分(也就是操作数的地址),再进行一次访存将操作数取出,AC和操作数放入ALU运算,输出;所有的操作都需要CU的控制命令发出
- 多级时序系统:
- 机器周期:
- 机器周期的概念:不同指令执行过程中的一个基准时间
- 确定机器周期考虑的因素:每条指令的执行步骤,每一步骤需要的时间
- 基准时间确定:完成最复杂指令功能的时间为准
- 一般访存时间作为基准
- 若指令字长=存储字长 取一次就可以将指令取出 取值周期=机器周期
- 时钟周期:节拍,状态
- 一个机器周期内可以完成若干微操作
- 每个微操作需要一定时间
- 将机器周期划分为若干个时钟周期
- 时钟周期是控制计算机操作的最小单位,用时钟周期控制产生一个或几个微操作命令
- 多级时序系统:
- 指令周期,机器周期,节拍构成了多级时序系统
- 指令周期,机器周期,节拍构成了多级时序系统
- 机器周期:
- 机器速度和主频关系:
总的来说就是机器在其他条件都相同的情况下,当机器的主频越高,则机器时钟周期越多,机器也越快;但是,当机器的指令包含的时钟周期数不同了,则机器主频不能起决定作用了。 - 控制方式:
产生不同微操作命令序列需要的时序控制方式- 同步控制方式:
任一微操作命令由统一基准时标的时序信号控制
- 定长的机器周期:
以最长的微操作序列和最复杂的微操作作为标准
会浪费时间,例如访存操作和一个简单的执行操作,访存时间长,但是操作执行移位操作速度快 - 不定长的机器周期:
- 中央控制和局部控制结合:
- 其他方式:
- 同步控制方式: