北京工业大学毕业设计(论文)
-1 -
1. 绪论
1.1 课题背景及意义
为了降低处理器和内存之间因访问速度差距过大造成的延迟,在计算机系统
中加入 CPU 高速缓存(CPU cache,下文简称 cache),使处理器访问数据的速度
接近处理器本身的频率。同时,现代处理器还会配有多个硬件预取器,每个预取
器针对特定的存储层次,并且使用各自独立的预取算法。预取通过监视并推断流
访问模式,将数据超前预取到更高层次的缓存中来降低内存延迟。预取在现在的
体系结构中是一种关键的技术转型,决定优化预取的参数存在多个挑战
[
]
。第一,
预取器必须精确地预测存取模式。如果预测错误,就会增加存储访问负担,并且
更重要的是,会在容量小且昂贵的缓存中造成冲突。第二,预取指令必须及时。
如果预取造成数据早于需要之前被放置到更高层缓存中,可能会被那些更紧迫需
要的数据覆盖掉。这些挑战在多线程程序中被更进一步地放大。L2 等更低层次
的缓存可以被多个线程共享,每个线程可能需要不同位置的数据,准确地决定出
读取顺序是一件困难的事情。
在本文中,我们设计并实现了一种基于深度学习技术的有效的预取策略。
1.2 CPU 高速缓存
1.2.1 结构和参数
在计算机系统中主要采用组相联结构。组相联缓存把缓存空间分为多个组,
每组包含若干缓存块。通过建立内存数据和组索引的对应关系,一个内存块可以
被载入到对应组内的任意缓存块上。本文中所使用的组相联缓存均表述为公式
(1.1)。
(1.1)
其中,C 为缓存容量,B 为每个数据块的大小,N 为相联度(每组中有 N 个
数据块),
为组数。当使用组相联时,在通过索引定位到对应组之后,必须进
一步地与所有缓存块的标签值进行匹配,以确定查找是否命中。
1.2.2 性能指标
本文中对 cache 的主要性能评价指标有加速比和 cache 的命中率。加速比
一般表示为公式(1.2)。