计算机 高级CPU设计

提升的历程

01 早期的提升 是通过加快 晶体管的切换速度来进行提升, 但是很快遇到的瓶颈.

02 增加各种复杂的指令,如: 加密,压缩,直接除,游戏等, 指令太多, 如何快速传递数据给CUP呢, RAM成为瓶颈
在这里插入图片描述
数据要用线来传递, 叫"总线", 长度只有几厘米,电信号几近光速.,但是CPU每秒可以出来 上亿条指令, 很小的延迟也会成为问题
RAM 还需要时间找地址,取数据,配置,输出数据
一条"从内存读取数据"的指令可能需要多个时钟周期, CPU需要等数据

方式一 缓存

新的架构: 给CPU增加缓存, 这样,RAM给CPU数据时可以一次传一批,而不是一个一个传.
当然,开始会比较慢,但是后面会加速.因为内存的指令是按照顺序执行的.
在这里插入图片描述
在这里插入图片描述
因为距离问题, 缓存一个时钟周期就可以给数据.
如果缓存的数据已经缓存了,叫 缓存命中, 如果数据不再缓存中, 叫 缓存未命中
当然CPU的计算结果也会存在缓存中, 这样 缓存和RAM中的数据就会不一致, 这种不一致必须记录下来, 之后要同步.
缓存的每个位置都有一个特殊标记, 叫 脏位
一般缓存满了, CPU又需要缓存时, 就会发生同步.

在这里插入图片描述

方式二 指令流水线

在这里插入图片描述
在这里插入图片描述
那么可以流水进行.

在这里插入图片描述
问题是: 这个首先需要弄清楚各个指令的依赖关系, 必要时需要停止流水线,避免出现问题
很多高端CPU设备会动态排序 有依赖的指令, 叫 乱序执行
因为高效, 几乎现代所有的处理器都有流水线
但是遇到JUMP时, 流水线就会有分支, 这时出现了 “分支预测”, 就是猜测哪个分支的可能性比较大. 目前的CPU正确率高达90%

进一步提升 一 ALU

超标量处理器: 一个时钟周期完成多个指令
多条指令要ALU的不同部分,就多条指令同时执行, 多加几个相同的线路.
在这里插入图片描述

进一步提升 二 多核处理器

多指令流, 用多个独立的CPU核进行处理
在这里插入图片描述
可以 共享 缓存!

内核不够使时, 可以增加 CPU.
计算宇宙的形成, 需要更多的CPU

在这里插入图片描述
中国无锡
每秒 9亿亿次浮点运算

发布了48 篇原创文章 · 获赞 0 · 访问量 551

猜你喜欢

转载自blog.csdn.net/weixin_44286839/article/details/104869376