从CPU架构和技术的演变看GPU未来发展
缓存的基本作用是用来加速数据的传输。在电脑当中,由于内存和硬盘本身的速度较慢,都需要一个可以加速指令执行和数据预取的缓冲区,这个零时缓存就相当于部队里的集结待命区,它里边的内容是不断的在变化的。
缓存的作用和原理
一级缓存(L1)是内置在CPU芯片内部的一个存储区。二级缓存(L2)是第2块“集结待命区”(Staging Areas),它的用处就是给L1喂数据。L2可能内置于CPU之中,也可能是MCP(Multichip Package Module)里的一个独立芯片中,还可能是在主板上的一块独立存储芯片里。
典型的,缓存一般是SRAM(Static RAM,静止随机存储器,不需要刷新电路即能保存它内部存储的数据),而主内存通常是DRAM(Dynamic RAM,动态随机存储器,需要刷新电路)。SRAM非常消耗晶体管、成本高昂而且容量不可能做很大,因此最早的CPU都是没有缓存的,后来才开始加入缓存芯片。
★ 插在主板上的二级缓存(或者整合在主板上)
Intel 430FX芯片組上Socket 5主板及256KB外置二级缓存
此前的CPU一直都是Socket接口设计,但以当时的技术,直插式的设计无法在CPU上整合SRAM缓存芯片,只能将SRAM以扩展卡的形式插在主板上或者直接整合在主板上。此后数代产品,Intel和AMD改用了Slot封装形式,将SRAM芯片和CPU核心都集成在了Slot PCB上面,然后再插在主板上,这样SRAM二级缓存就正式成为了CPU不可缺少的一部分。
★ 整合在CPU上的二级缓存
这是一颗核心代号为代Klamath、采用350nm工艺的Pentium处理器,CPU+SRAM的结构,Slot 1接口。看上去是不是有点像现在的GPU+DRAM显存。实际上这样做只是上CPU和SRAM绑定在了一起,二级缓存依然以核心频率一半甚至更低的速度运行,性能不甚理想。
★ “胶水”式的二级缓存
Pentium Pro是Intel P5 核心Pentium的延伸,在1995年11月以Socket 8封装形式推出,它最大的特色是采用了双芯片封装形式,CPU和L2是各自独立的,片上(Onchip)L2的好处是可以让它以内核相同的频率运行,而不必再像过去使用主板上较慢速度的L2,从而为“乱序执行”所导致的大量内存超找提供了捷径,直接提升了性能。
Pentium Pro把L1和L2同时设计在CPU的内部,故Pentium Pro的体积较大。结果Pentium II又把L2 Cache移至CPU内核之外的黑盒子里。这是因为L2无法达到与核心相同的频率,因此还是分离式比较灵活一点。
★ 整合进CPU内部的二级缓存
Pentium Pro不仅是第一款整合了二级缓存的CPU,而且是第一颗32bit CPU,不过由于它并不兼容当时主流的16bit软件,因此Pentium Pro曲高和寡,仅定位于高端服务器市场,并没有得到广泛认可。此后Intel又发布了Pentium II XEON,同样集成了片上全速二级缓存,在当时全速二级缓存就代表着更高的性能。
Pentium Pro和Pentium II XEON并非民用产品,因此关注度并不高,而Pentium II去掉板载SRAM的产品被首次当作Celeron来卖,虽然它价格很低廉,但由于L2彻底为0,因此性能损失也非常惨重。为此,Intel推出了第二代Celeron 300A和Celeron 333,新赛扬的特点是在处理器芯片内集成了128KB二级高速缓存,容量上虽然比Pentium II的512KB少很多,但新赛扬的二级缓存在CPU内部,是全速的片上缓存,而Pentium的二级缓存频率只有核心的一半。正是这全速的二级缓存给与了Celeron质的改变,极大的改善了赛扬的整体性能,成为当时市场上炙手可热的一代经典产品!
首次出现三级缓存
而当时的AMD也有一款经典产品,同样是因为集成了全速二级缓存而让性能产生质的飞跃,性能遥遥领先与同代Intel处理器,它就是K6-II和K6-III。
K6-II和K6-III使用的是Socket 7插槽,其性能比Intel后来的Pentium 3都要强,为什么?因为这K6-III CPU均内建了256KB的二级缓存,而且配套主板上还能再插2M容量的SRAM当作三级缓存使用,此时的性能比Pentium II拉开了较大的差距,而且其价格还比较实惠。
★ 奔三和速龙初期依然用外置二级缓存,后期全部整合全速缓存
提起奔三和速龙相信很多人就比较熟悉了,它们应该可以说是CPU的近代现代史了,不过奔三和速龙发布之初依然使用的Slot卡槽式封装,二级缓存依然是外置式,运行频率只有核心速度的一半,性能受到了限制。
初期Slot 1和Slot A接口的Pentium III和Athlon
制造工艺改进之后,Intel和AMD相继把L2整合在了CPU内部,成为单一的CPU核心,以大家喜闻乐见的Socket封装形式出现,全速的L2让奔三和速龙的性能都有所提升:
Socket 370和Socket A接口的Pentium III和Athlon
Pentium III和Athlon角逐1GHz大关的频率大战,最终Intel因为Pentium III 1.13GHz BUG问题而败北。而其问题的关键就是内置的二级缓存无法工作在1GHz以上的超高频率下,从而产生不可预料的错误。