CPU
指令周期¶
数据通路¶
lw 指令¶
sw 指令¶
beq 指令¶
addi 指令¶
add 指令¶
单总线数据通路指令方框图¶
时序与控制¶
指令周期基本概念:
- 时钟周期 = 节拍脉冲 = 震荡周期(能完成一次微操作)
- 机器周期 = CPU 周期(可完成复杂操作)
- 指令周期:从主存取出一条指令并执行的时间
- 定长指令周期:早期三级时序系统
- 机器周期固定,节拍数固定,按机器周期同步
- 变长指令周期:现代时序系统
- 机器周期可变,节拍数可变,按时钟周期同步
硬布线控制器¶
采用 Moore 型状态机
定长指令周期:
变长指令周期:
微程序控制器¶
一条微指令通常至少包含两大信息:
- 操作控制字段
- 顺序控制字段
组成原理¶
设计¶
控制字段编码方法:
- 直接表示法:
- 缺点:
- 指令太长
- 控存容量大
- 缺点:
- 编码表示法:
- 注意 8 个互斥命令需要编为 4 组,因为 8 个互斥 + 1 个无信号 = 9 个状态
- 缺点:速度慢
- 混合表示法:
微指令地址字段形成方法:
- 下址字段法:微指令长,控存容量大
- 计数器法 \(\mu PC\) :微指令短,需要加法器
格式:
- 水平型:一个微指令周期能同时给出多个微命令
- 控制字段采用上面三种表示法的都是水平型微指令
- 并行操作能力强,效率高,灵活性强
- 微指令字较长,微程序短,控存容量大,性能好
- 垂直型:一个微指令只包含 1 到 2 个微命令
- 字长短,微程序长,控存容量小,性能差,牺牲了并行性
- 易于掌握
- 基本被淘汰
微程序示例(水平型):
- 取指:
- lw 指令:
- sw 指令:
- beq 指令:
- add、addi 指令:
- 计数器控制法: