1. CPU的功能和基本结构
(1-1)运算器的基本结构
a. 寄存器与ALU通讯方式一:专用数据通路方式
是专用数据通路方式(并行传递)+ 多路选择器(MUX)或三态门
b. 寄存器与ALU通讯方式二:CPU内部单总线方式
结构简单、但是需要暂存寄存器以解决:1.保证AB端口同时输入 2. 避免ALU直接输出与B端输入冲突(可能有其他功能如移位)
(1-2)控制器的基本结构
程序计数器PC:自增功能(也可能是通过ALU实现)
指令寄存器IR:保存当前执行的指令
指令译码器ID(CU部分) :根据IR、PSW的内容以及时序信号,产生控制信号
见图(右)
2 指令执行的阶段、三种执行方案
a. 取指-》译码-》执行、指令周期、机器周期(定长、不定长时钟周期,别名:CPU周期)、时钟周期(节拍、CPU时钟周期),空指令NOP(指令周期=1机器周期‘取指令 ’)
b. 指令周期流程:取指周期-〉*间指周期-〉执行周期-〉*中断周期,利用触发器标示属于哪个周期
c. 四个机器周期的访存目的与过程:1⃣️取指令2⃣️取有效指令3⃣️取操作数4⃣️保存程序断点
d. 指令执行方案(三种):单指令周期、多指令周期、流水线方案
3. 三种数据流动——数据通路:单总线模式
1⃣️a CPU内部单总线模式 b CPU内部多总线模式 c 专用数据通路方式
2⃣️CPU内部单总线模式:
a 寄存器之间的数据传送:Bus
MDR有MDRin与MDRinE两个输入控制信号(三态门),MDRinE指的是外部M-〉MDR
ALU与暂存寄存器有专门通路(解决单总线模式无法同时送入的缺陷)
4. 专用数据通路方式 (P64)
5.硬布线控制器 :纯硬件方式实现控制器的(下一节为微程序控制器)
1⃣️微命令、微操作(多个相容的微操作可并行)
2⃣️操作码(IR)、触发器(FE、IND、EX、INT实际在CU内部)、指令节拍(CLK-〉节拍发生器-〉Tn)、机器状态条件,即可确定这个节拍下应该发出哪些‘微指令’
3⃣️硬布线控制器适合精简指令集CISC(复杂、难更改、速度快)
10个设计的微操作时序
列表:
6. 微程序控制器(没有硬布线难,但更重要)
1⃣️概念:指令-〉微程序-〉(若干机器周期) -〉一窜微指令序列(存储在控制存储器CM,存储程序的概念)-〉一个微指令对应若干微操作
2⃣️微指令基本格式:操作控制(若干微操作)+顺序控制(下一条微指令的地址)
3⃣️微程序控制器的基本结构
7. 设计微命令(微程序控制器)
1⃣️考虑 微程序与微命令一一对应、一个微命令对应一根输出线,有的微命令可以并行执行,因此一条微指令可以包含多个微命令
2⃣️微命令的格式(两个微命令相容、互斥) :重点为水平型的微指令(一行可以有好多相容性的微操作)
3⃣️水平型微指令的编码方式:1 直接编码 2 字段直接编码方式(分段,段内互斥,段状态为段内微操作数+1(无效操作),需要译码)3 字段间接编码方式(两层译码)
直接编码方式 可使得控存的面积占CPU的一半
4⃣️确定下一条微指令的方法:1 断定方式(直接根据下地址字段)2 根据操作码形成(IR-〉微地址的地址由操作码经微地址形成部件形成)3 增量计数器法((CMAR)+1->CMAR)4 分支转移 5 顺序逻辑(测试网路)6 由硬件产生微程序入口地址
8. 设计一个微程序控制单元
1⃣️过程
2⃣️比硬布线控制器多几个节拍
3⃣️CM也分静态动态
4⃣️对比
硬布线控制器和微程序控制器的取指周期 前面都一样
微程序控制器的节拍安排如下,每个节拍都需要Ad(CMDR)->CMAR,每个微程序结束时需要执行OP(IR)->微地址形成部件;微地址形成部件->CMAR
9.指令流水线
1⃣️对指令执行进行优化(顺序执行方式-〉一次重叠执行方式-〉二次)原理在于不同机器指令阶段可以同时执行,理论上不遇到特殊情况
2⃣️吞吐率TP,加速比S,效率E(设备利用率、面积比)、装入排空时间
MIPS-〉RISC精简指令集
1⃣️五段式的指令流水线IF ID EX M WB(MIPS精简指令集的初始版)
2⃣️各个功能之间的缓冲寄存器(锁存器)是为了使得每个机器周期阶段的时间一致
3⃣️指令Cache和DataCache分开是应为使得IF和M能够相容
4⃣️影响流水线具体因素:1 结构相关(资源相关:互斥) 2 数据相关(同步) 3 控制相关;
5⃣️解决方式:
问题:后一个指令需要的资源依赖前一条的结果
解决方式:硬件插入和软件插入
数据旁路技术:简化,在两条指令并行时寻求简化步骤
编译优化调整顺序
取指IF和存储Men阶段的冲突 解决:使用instruction Cache和Data Cache
后者暂停一个节拍
*6⃣️流水线的分类 与 流水线的多发技术
。。。