发明名称 基于内存访问堆栈距离的数据Cache性能探索方法
摘要 本发明公开了一种基于内存访问堆栈距离的数据Cache性能探索方法。本发明包括如下步骤:步骤1.计算内存访问堆栈距离及其概率分布;步骤2.确定探索的Cache容量及其三个参数组数S(Set size)、关联度A(Associativity)和块大小B(Block size)的范围;步骤3.计算估计参数e<sub>s</sub>(S)、e<sub>a</sub>(A)和e<sub>b</sub>(B),利用e<sub>s</sub>(S)、e<sub>a</sub>(A)和e<sub>b</sub>(B)估计Cache三个参数组数S(Set size)、A(Associativity)和B(Block size)对命中率的影响,并计算命中率est<sub>1</sub>;步骤4.利用内存访问堆栈距离的概率分布计算命中率est<sub>2</sub>;步骤5.比较命中率est<sub>1</sub>和est<sub>2</sub>,最终估计出Cache命中率。本发明在嵌入式系统内存结构早期设计中是非常有用,它能够帮助设计者快速从巨大的内存设计空间中筛选出少量满足具体应用要求的片上内存结构,从而节约产品开发时间和成本。
申请公布号 CN103793339A 申请公布日期 2014.05.14
申请号 CN201410014367.9 申请日期 2014.01.13
申请人 杭州电子科技大学 发明人 姚英彪;韩琪
分类号 G06F13/16(2006.01)I 主分类号 G06F13/16(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 基于内存访问堆栈距离的数据Cache性能探索方法,其特征在于包括如下步骤: 步骤1.计算内存访问堆栈距离及其概率分布; 步骤2.确定探索的Cache容量及其三个参数组数S(Set size)、关联度A(Associativity)和块大小B(Block size)的范围; 步骤3.计算估计参数e<sub>s</sub>(S)、e<sub>a</sub>(A)和e<sub>b</sub>(B),利用e<sub>s</sub>(S)、e<sub>a</sub>(A)和e<sub>b</sub>(B)估计Cache三个参数组数S(Set size)、A(Associativity)和B(Block size)对命中率的影响,并计算命中率est<sub>1</sub>; 步骤4.利用内存访问堆栈距离的概率分布计算命中率est<sub>2</sub>; 步骤5.比较命中率est<sub>1</sub>和est<sub>2</sub>,最终估计出Cache命中率; 步骤1所述的计算内存访问堆栈距离及其概率分布的具体如下: 1‑1.读入一条内存访问踪迹,得到当前内存访问地址; 1‑2.如果该地址在SP中第i个位置命中,则对应位置的堆栈距离直方图H_SP(i)加1,同时将SP的0~(i‑1)个元素往下挪移1个位置,用空出来的第0个位置保存该地址,SP中其它位置的元素不动; 1‑3.如果该地址在SP中没有命中,则该地址是第一次访问,将H_SP(∞)加1,SP增加一个新元素,SP所有元素往下挪移1个位置,最后将此地址保存在SP第0个位置; 1‑4.重复步骤1‑1至1‑3,直到n条内存访问踪迹处理完成,将内存访问堆栈距离直方图通过公式(1)转换为内存访问堆栈的概率分布P_SP; P_SP=H_SP/n(1) 读入是应用程序执行时的内存访问踪迹,输出是内存访问堆栈距离的概率分布和应用程序数据量大小;计算内存访问堆栈距离时的地址粒度为处理器的字宽度,SP是内存访问的地址堆栈,H_SP是内存 访问堆栈距离的直方图,P_SP是内存访问堆栈距离的概率分布,n为应用程序内存访问踪迹条数,Num为应用程序的数据量。 
地址 310018 浙江省杭州市下沙高教园区2号大街
您可能感兴趣的专利