gem5缓存优化测试
发布时间
阅读量:
阅读量
逐渐分享一篇关于新书《自己动手编写CPU》的文章。重点介绍 gem5 如何验证数组级缓存优化
采用优化软件是一种显著提升缓存命中率的方法,缓存的工作原理基于程序的空间局部性,而通过改进程序的空间局部性可以实现更高的缓存命中效率,例如在多线程应用中合理分配内存池可以显著提升缓存效率
程序A:
#include <stdio.h>
int main()
{
int i=0,j=0;
long count=0;
long temp[51200][8];
for(i=0;i<51200;i++)
for(j=0;j<8;j++)
{
temp[i][j]=i*j; // 大约51200 次DCache缺失
}
}
在C语言编程中,在内存空间上二维数组是以行优先顺序进行存储排列的,并非仅限于简单的按行列排列的方式。具体来说,在一个二维数组内部存放下标相同的元素会占据相邻的位置(即同行元素连续存放),而位于不同行但相同列上的元素则不会相邻(即不同行元素之间会存在空隙)。换句话说,在每一行中的
全部评论 (0)
还没有任何评论哟~
