9.高级CPU设计(计算机导论)
高级CPU设计
总线:CPU连接RAM通过线来进行传递数据
ALU超高的指针速度 传递数据给CPU以至于RAM成为瓶颈
缓存:储存RAM数据
缓存可以从RAM一次性复制很多地址,不用去RAM读取数据,方便CPU可以迅速读取
![](https://pic.imgdb.cn/item/63de1dbb4757feff330c2a74.jpg)
缓存离CPU近,一个时钟周期就能给数据,CPU不用空等
缓存命中:想要的数据已经在缓存中
缓存未命中:想要的数据不在缓存
如果缓存与RAM不一致必须记录下来且同步
脏位(DIRTY BIT):缓存的每块空间的一个特殊标记
当缓存满了CPU又要缓存:清理缓存之前,首先检查"脏位",如果发现其与RAM不一致的话,在加载新内容之前,会把数据再写回RAM,来保持RAM与缓存的一致性
指令流水线(提升性能):弄清楚数据依赖性
单流水线处理的缺点
![](https://pic.imgdb.cn/item/63de1dd64757feff330c5869.jpg)
并行处理
![](https://pic.imgdb.cn/item/63de1df24757feff330c9144.jpg)
问题:指令之间的依赖关系
eg:读取某个数据而正在执行的指令会更改这个数据
乱序执行
动态排序有依赖关系的指令,最小化流水线的停工时间(电路复杂)
条件转化
JUMP指令
推测执行:提前将指令放入流水线,推测执行的情况
正确:立马执行
错误:清空流水线
分支预测:为解决因推测失误而导致的清空流水线的次数
同时运行多个指令流
多核处理器
![](https://pic.imgdb.cn/item/63de1e004757feff330ca970.jpg)
每秒浮点运算次数:神威·太湖之光9.3亿亿次/s(中国·无锡)