CPU缓存的运作流程
(图片来源于:维基百科)


引言

计算机程序运行时,对内存的访问呈现局部性原理。正是基于这种原理科学家们设计了缓存,提高了计算机操作数据的速度。然而最近,来自北卡罗来纳州立大学和三星电子的研究人员发明了一种新的缓存技术,能够让计算机处理器更加有效地检索数据,有效改善了计算机应用程序的运行速度。


缓存的作用

计算机处理器必须要从内存中检索数据,从而执行操作。所有数据都存储在芯片外的主存储器中。但是,处理器经常使用的数据也会暂时存放于片叠式的动态随机访问存储器(DRAM)缓存中,而缓存的位置更加接近处理器,以便处理器更加快速地检索数据。

缓存中的数据以大块或者宏模块的形式组织,所以处理器知道从哪里读取它需要的数据。但是,并不是对于任何操作,处理器都需要宏模块里面的所有数据,检索不必要的数据会浪费时间和能量。

新型缓存技术

为了让这个过程更加高效,研究人员开发了一种技术,让缓存随着时间的推移,学习处理器在每个宏模块中所需要使用哪些数据,从而使得缓存能够可以做两件事。第一,缓存可以压缩宏模块,只检索相关的数据。这样使得缓存更加有效地向处理器发送数据。第二,因为宏模块被压缩了,从而释放了缓存中的一些的空间,以便于存储处理器更可能需要的其他数据

研究人员使用一个处理器和一个内存模拟器,对于这个称为“密集足迹缓存”(Dense Footprint Cache,简称DFC)方法进行了测试。通过模拟器让每个应用程序运行30亿条指令,研究发现这种缓存,相对于最先进的管理片叠式DRAM的竞争方法,速度提高了9.5%,然而能耗却减少了4.3%。

研究人员发现DFC也会显著改善“最后一级缓存遗漏比率”。最后一级缓存遗漏通常由于:处理器尝试从缓存检索数据,但是数据又不在那个地方,迫使处理器从芯片外的主存储器检索数据。这些缓存没有让更加数据操作更加有效,而DFC却将最后一级缓存遗漏比率减少了近43%。

参考资料

【1】Seunghee Kim and Yan Solihin, North Carolina State University; Sihong Kim, Samsung Electronics. Dense Footprint Cache: Capacity-Efficient Die-Stacked DRAM Last Level Cache. (https://drive.google.com/file/d/0B7MY_IMKt1T-QjFZd0JSMERSQXM/view)

【2】https://news.ncsu.edu/2016/09/footprint-boost-app-speed-2016/


新型缓存技术:将计算机应用程序运行速度提高9%
Tagged on: