对AMD而言,近两年算是喜忧参半的两年。
(相关资料图)
洗心革面的英特尔,带来了重整旗鼓后的第十二代酷睿处理器。全新的高性能混合架构,将性能内核和效率内核相互结合,让处理器性能、生产力和创作力较之以往实现了飞跃,将AMD的常规处理器产品压得喘不过气。
但另一方面,得益于大型游戏对三级缓存的充分利用,AMD 3D V-Cache堆叠缓存近两年大放异彩。最新发布的R7 7800X3D更是凭借相对领先的性能、更低的理论功耗和更高的性价比大杀四方,和i9-13900打得难分高下。
(图源:AMD)
作为PC行业的霸主,英特尔显然不会任由AMD这样占有技术优势。
4月24日讯,英特尔2020年12月的专利显示,该公司下一代CPU架构又称「Meteor Lake架构」将具有封装缓存功能,预计L4缓存将成为基础区块的一部分,可以被下一代CPU的任何构建块访问。该消息在近期发布的Linux Patch补丁中得以证实,相关产品最快会在今年下半年正式发布。
(图源:英特尔)
如果说,AMD是在片上缓存设计的当下做功夫,那么英特尔盯上的可能是片上缓存设计的未来。
缓存的发展史
首先,缓存是什么?
在CPU行业中,缓存即Cache Memory,指的是可以和CPU/集成GPU进行高速数据交换的存储器。
当然这种概念,在早年PC行业是不存在的。维基百科显示,早年间(指1980年前)的CPU普遍采用冯·诺依曼架构。这是一个非常简单的结构,内存、CPU 和I/O都根据一个主时钟以锁步方式发生,CPU直接从主存储器中读取数据,借此解决了当时计算机存储容量太小,运算速度过慢的问题。
(图源:程序员大本营,冯·诺依曼架构)
然而,随着时间推移,CPU和内存的发展速度出现了严重不对等的情况。
为了解决CPU速率和主存访问速率差距过大的问题,IBM的Maurice Wilkes在1965年提出了缓存的概念,即在两者之间插入一块速度比内存更快的高速缓存。只要将近期 CPU 要用的信息调入缓存,CPU 便可以直接从缓存中获取信息,从而提高访问速度。
至于落实到消费级市场上,则需要再往后推移。
1989年,英特尔发布了Intel i486处理器,这颗CPU创新性地集成了浮点运算处理器和多重管线,而且在X86系列中首次使用了 RISC(精简指令集)技术,可以在一个时钟周期内执行一条指令,最重要的是,它还拥有8KB的L1 Cache,使整个芯片的性能得到大幅度提升。
(图源:维基)
尽管在后续数十年时间里,缓存的具体概念历经了几次变化,但整体架构在1990年代后期便趋于稳定。
目前市面上常见的CPU Cache通常分为三级缓存:L1 Cache、L2 Cache、L3 Cache,级别越低的离CPU核心越近,访问速度也快,但是存储容量相对就会越小。其中,在多核心的CPU里,每个核心都有各自的L1/L2Cache,而L3 Cache是所有核心共享使用的。
然后出现的,便是我们今天要讲的四级缓存(L4 Cache)。
改良,加以再现
不过四级缓存这个概念,并非第一次出现在市面上。
为了满足多个处理器之间的协同需求,进入2010年代后,IBM开始尝试性地在System z11大型机的NUMA互连芯片组中添加了L4缓存。
最有趣的是,他们在近两年高调宣布取消L3/L4物理缓存,将所有缓存都用eDRAM来实现——由此实现了至高32MB的L2缓存 ,256MB的共享L3缓存以及8GB共享L4缓存。
英特尔这边,则是在四代酷睿Haswell架构处理器上搭载了eDRAM,作为CPU和iGPU的L4四级缓存。
举个例子,当时的顶级移动端CPU——i7-4950QH,便在常规的三级缓存以外,额外搭载了一块针对iris Pro系列核显的128MB缓存芯片,英特尔希望以此来缓解核显对于内存本身的占用,和AMD APU搭载的A系列核显抗衡的同时,提升CPU的运行效率。
遗憾的是,因为当时设计不成熟的原因,英特尔配备的这块四级缓存几乎没有用武之地,除了核显在运行游戏时会产生比较积极的调度,以及提升挖矿能力以外,在CPU运行软件的时候,大部分情况下,各种应用程序还是会主动调用三级缓存,在性能上并没有什么优势。
(图源:快科技,i7-4750QH实测)
正因如此,这项配置延续到Coffee Lake 9代酷睿便没了下文。
在吸取教训后,如今英特尔已经准备好代号为Adamantine L4的高速缓存,希望从另外一个角度推动四级缓存的普及。
根据外媒VideoCardz发现的专利表明,英特尔的Adamantine缓存将提供比任何典型缓存(如L3缓存等)更快的访问速度,不仅可以改善CPU和内存之间的传输效率,还可以改善CPU和安全控制器之间的通信,甚至在重置时保留缓存中的数据以缩短加载时间。
不仅如此,因为eDRAM的特性,Adamantine缓存不必再拘泥于现有的容量限制,英特尔Meteor Lake的Adamantine缓存甚至可以扩展到“GB”级别。即便是目前测试的大小:128MB到512MB,也已经是传统三缓的数倍,甚至可以和AMD 3D V-Cache同台较量。
而这,正是英特尔目前想要实现的效果。
新缓存,新革命
也就是说,四级缓存的时代要来了?
在我看来,即便英特尔方面野心勃勃,但是想要革新目前的PC缓存机制并没有那么简单。
首先,应用的适配程度始终是个问题。即便是目前大热的AMD 3D V-Cache堆叠缓存,也仅有在部分非常吃缓存容量的大型3A游戏/MMO网络游戏上面,才能体现出明显的优势,在高分辨率的情况下,甚至可能出现游戏性能被主频和核心数更多的英特尔处理器超越的情况。
其次,则在于产品的成本问题。即便Adamantine缓存真的像英特尔所述,速度更快、延迟更低,但它必然需要更大的面积和更复杂的设计,也会增加处理器的功耗和发热,从而影响散热和电池续航(参考AMD 3D V-Cache过热),最终导致硬件成本的成倍增加。
不管怎么说,对普通用户而言,一款产品是否值得购买,是要从性能、功能、价格等各个方面来决策选择的。随着计算机技术的不断进步,未来必然会出现更多层次的缓存设计,即便因为价格问题无法快速普及,像Adamantine缓存这种在工程上付出了较大努力的产品,还是值得相当程度的肯定的。
英特尔能否再度引领缓存技术的未来?或许只有时间能给我们答案。