部件
- PC
- AR:CPU访问主存地址
- IR:指令缓冲寄存器
- ID:译码不见
- OC:操作控制信号生成器
- TG:时序信号生成器
[此处应该有图]
RTL语言
冯诺依曼体系
最大特点(缺点?)是数据和命令在一个存储器中.通过提取时间判断是指令还是数据
周期
-
指令周期:取指令+执行完成所需的时间
-
CPU/机器周期:从CPU中取一个存储字的最短时间
-
时钟周期:基本的CLK信号周期
-
单周期:一个指令在一个时钟周期内完成.就是指令周期等于一个CLK
-
多周期至少包含两个机器周期
-
Ref:https://blog.csdn.net/u014670574/article/details/80475848
- 单周期的CPU会在一个时钟周期内完成所有的工作,既从指令取出,到得到结果,全部在一个时钟之内完成。
- 多周期CPU的设计是将整个CPU的执行过程分成几个阶段,每个阶段用一个时钟去完成。不仅能提高CPU的工作频率,还为组成指令流水线提供了基础。
- 在多周期CPU设计的基础上,利用各阶段电路间可并行执行的特点,让各个阶段的执行在时间上重叠起来,这种技术就是流水线技术。
阶段
取指令阶段
基本固定.
- 按照PC给的地址从主存中取指令
- PC+步长(对于按字节编制,32位指令是+4.)
- OP部分送译码器
- A R ← ( P C ) AR\leftarrow (PC) AR←(PC)
- D R ← M e m [ A R ] DR\leftarrow Mem[AR] DR←Mem[AR]
- I R ← ( D R ) IR\leftarrow (DR) IR←(DR)
结合图理解数据流向.
一般占一个时钟周期…
执行阶段
- 取操作数(寻址)
- 结合控制信号执行
指令流程
指令流程图
互斥
对同一通路的占用
ALU线,总线等
互斥信号不能把在一个周期内同时出现.
微指令
实验.
- 微命令:控制信号+判定字段(顺序/分支)+下址字段
- 微操作:相容/互斥
持续时间是一个CPU周期.
信号同步.
微指令设计
直接表示
…
编码表示
一组互斥信号为一组.
注意,要预留一组Status表示轮空.一般为0000000…