教材:计算机组成原理(第二版) 唐朔飞编著 高等教育出版社
第九章 控制单元的功能
0.缩写
PC:程序计数器,当前欲执行指令地址
M:主存
MAR:主存地址寄存器
MDR:主存数据寄存器
IR:指令寄存器,正在执行指的令
ALU:算术逻辑运算单元
CU:控制单元
SP:堆栈指针
寄存器一般加括号
Ad(IR):IR中的地址码
OP(IR):IR中的操作码
1.非总线微操作
取指周期: PC->MAR 1->R M(MAR)->MDR MDR->IR OP(IR)->CU (PC)+1->PC |
间址周期: Ad(IR)->MAR 1->R M(MAR)->MDR MDR->Ad(IR)
|
执行周期: LDA(取数) Ad(IR)->MAR 1->R M(MAR)->MDR MDR->? |
STA(存数) Ad(IR)->MAR 1->W ?->MDR MDR->M(MAR) |
JMP X Ad(IR)->PC |
带总线的过总线的时候加个bus,加减操作注意ALU连的位置,算之前先给它送过去。
间址时可能会有@R1,@mem,再多寻几次址就好。
2.多级时序系统
指令周期->机器周期->时钟周期
例:主频8MHz,每个机器周期平均包含2个时钟周期,每条指令平均有2.5个机器周期。
求:平均指令执行速度为多少MIPS
解:时钟周期:1/8=0.125μs,机器周期:0.125*2=0.25μs,指令周期:0.25*2.5=0.625μs,平均指令执行速度:1/0.625=1.6MIPS
第十章 控制单元的设计
1.微操作的节拍安排
1)先后顺序不可改变
2)对象不同的放一个节拍
3)占时间不长的也可以塞一个节拍
取指周期: T0:PC->MAR,1->R T1:M(MAR)->MDR,(PC)+1->PC T2:MDR->IR,OP(IR)->CU |
间址周期: T0:Ad(IR)->MAR,1->R T1:M(MAR)->MDR T2:MDR->Ad(IR)
|
执行周期: LDA(取数) T0:Ad(IR)->MAR,1->R T1:M(MAR)->MDR T2:MDR->? |
STA(存数) T0:Ad(IR)->MAR,1->W T1:?->MDR T2:MDR->M(MAR) |
JMP X
T0:Ad(IR)->PC |
中断操作 T0:SP->MAR,1->R T1:M(MAR)->MDR T2:MDR->PC,(SP)+1->SP |
|
2.微程序设计
计组老师三连:诸葛孔明,锦囊妙计,探囊取物
微程序->微指令->微操作
若某机有35条机器指令,则对应38个微程序(取指、间址、中断)
微指令格式:操作控制字段+下地址(下一个指令的地址)
微指令编码:
1)直接编码:一位对应一个操作
2)字段直接编码:分成好多段,每一段编码类似于001-111(000表示什么都不干),对应一组互斥的微操作
3)字段间接编码:不是重点
微程序设计步骤:
1)微操作节拍安排
2)微指令编码
微程序控制器节拍安排:每个后面加Ad(CMDR)->CMAR,取址最后为OP(IR)->微地址形成部件->CMAR
判断用几条微命令:互斥的能写几条
例1:直接编码,22个微命令,5个互斥外部条件,128×32位控制器
解:5个外部条件花费3位,32-22-3=7,下地址为7位。
例2:5个相斥类微命令组,分别包含4、7、8、12、24个微命令,可判定外部条件2个,微指令字长30位。
解:4 7 8 12 24 2
3 3 4 4 5 2 剩下9
存储器容量30×512(29)