计算机组成原理(5)CPU功能 控制器/运算器/寄存器/操作控制器、时序发生器 指令周期 方框图 微程序 流水CPU 三种相关性
CPU功能
- 指令控制
程序执行顺序,程序时一个指令序列 - 操作控制
管理并产生控制信号 - 时间控制
取指周期,执行周期 - 数据加工
算术运算,逻辑运算处理
左边运算器,右边控制器,记住IR,PC,AR,DR,AC等寄存器
这张图比较直观,记住寄存器作用,后面再学一下指令顺序
控制器
红圈所指就是控制器
- 取指:从内存中取出指令并指出下一条地址在内存的位置
- 译码:给出控制信号
- 控制数据流向:各种BUS的开关
运算器
执行算术与逻辑运算的部件
各个寄存器
- DR数据缓存寄存器
用来暂时存放从内存读出的指令或数据,当向内存存放时也使用DR存放。作为CPU,内存,外部设备的中转站,解决速度匹配问题,单累加器还可以作为操作数 - AR地址寄存器
保存当前CPU访问的内存地址单元。由于速度问题,要保存到内存读写操作结束之后 - IR指令寄存器
保存当前指令,供指令译码器译码 - PC程序计数器
存放CPU将要执行的指令的地址。程序开始执行前要将起始地址送给PC,顺序执行时PC+1,转移指令时PC跳到将要执行的指令地址
PC与AR,一个是将要,一个是当前。 - AC累加器
暂时存储ALU运算结果 - PSW状态字寄存器
保存运算,测试结果。建立状态信息
保存中断和系统状态
eg:C表示进位,V表示溢出,通常用一位触发器保存,所以PSW为多个状态标志拼凑而成的寄存器
操作控制器与时序发生器
- 操作控制器
根据指令操作码 与时序信号,产生各种操作控制信号,以便正常建立数据通路,完成取指与执行的控制
数据通路:各寄存器传递信息的通路
- 时序发生器
对操作时间控制,根据周期,信号等控制计算机有序工作
指令周期
- 指令周期
CPU从内存取出一条指令并执行的时间 - CPU周期
又称机器周期,CPU从内存读取一条指令字的最短时间 - 时钟周期
通常称为节拍脉冲与T周期,一个CPU周期包含多个时钟周期 - 取指周期
- PC->AR->ABUS
即将执行下一跳指令的地址放入当前要执行的即pc->ar,ar放在地址总线上
- DBUS->DR->IR
存储器中该地址的指令数送到DBUS上,然后DBUS送给暂存书的的DR,然后指令数被送到IR,IR送给译码器,然后送给操作控制器就开始搞事情了。 - PC+1->PC
执行完这一条PC就开始准备下一条指令
方框图
公操作
微程序控制器
微命令和微操作
微指令与微程序
- 微命令
控制部件通过控制线发出的控制命令 - 微操作
执行部件接受微命令后的操作 - 微指令
一个CPU周期内一组实现一定操作功能的微命令组合 - 微程序
微指令的序列
通过控制线与反馈信息进行联系
注意三个寄存器就是IR,AR变成了微指令
微指令周期=读出微指令的时间+执行这条位指令的时间
一般将微指令周期设置成一个CPU周期
流水CPU
并行处理技术
- 同时性
两个事件同时发生 - 并发性
两个事件以上在一个时间间隔发生 - 时间并行
时间重叠,采用流水处理部件 - 空间并行
资源重复利用
流水计算机系统
- 指令部件
- 指令队列
- 执行部件
就是执行部件取指,指令队列排队,执行部件计算
存储器用多模交叉存储器(上一章那个相邻存储器存放的)
t1,t2,t3,t4并行
三种相关性
流水线会出现的问题
- 资源相关性
多条指令争用同一功能部件
这里圈圈的两个指令都用到了存储器,
解决方法:
延迟等待,指令退出
设置重复资源,数据,指令存放在两个存储器。或这只双端口存储器,支持两个内存的操作 - 数据相关
必须等前一条指令执行完成,下一条才能执行。这两条就成为数据相关
解决办法在运算器后设置结果的缓冲寄存器,称为“前向”、定向传输技术
- 控制相关性
转移指令产生
为了降低转移指令对流水线性能的破坏,采用如下方法处理
延迟转移法:重新排列指令序列,按“先编译在转移”思路进行
转移预测法:用硬件的办法依据指令过去行为判断将来,通常设置转移与顺序两个指令序列
数据相关性分为WAR,RAW,WAW,三种。这种题做起来就是判断差错是由后面的指令先执行带来的数据相关性问题。
1.就是RAW,2就是WAR,3就是WAW