浅谈计算机体系结构模拟器SimpleScalar的基本运行模拟

上一篇我们介绍了在计算机体系结构学术界广泛使用的一款模拟器SimpleScalar,并且简单介绍了其包含多个模拟器,复杂度由最简单的Sim-safe、sim-cache等到最复杂的Sim-outordor。今天我们以sim-cache为例,来探讨一下SimpleScalar的基本运行模拟。

浅谈计算机体系结构模拟器SimpleScalar的基本运行模拟

SimpleScalar模拟环境

本次运行模拟过程采用以下配置:

有一点需要说明的是,在SimpleScalar的所有模拟器里面,sim-outorder是最复杂,但是功能最全,里面会包含sim-cache模拟器的部分,但是我们还是选择sim-cache来进行研究。

SimpleScalar运行

我们准备好上面的环境之后,就可以通过下面的命令开始运行。

命令为:sim-cache -config "sim-cache.cfg"。

其中,sim-cache.cfg为我们配置的当前的cache参数,下面给出我已经写好的一个例子,具体参数意义,会在后面详细介绍。

浅谈计算机体系结构模拟器SimpleScalar的基本运行模拟

图一 sim-cache配置参数

在研究过程中,我们只需要不断修改配置文件sim-cache.cfg中的相关参数,就能达到我们比较的目的。

浅谈计算机体系结构模拟器SimpleScalar的基本运行模拟

cache参数介绍

通常情况下,我们认为cache的参数主要有以下几个方面:

在SimpleScalar模拟器中,一般包含两级Cache(L1L2)结构,同时数据Cache和指令Cache分开。

给出SimpleScalar Cache参数配置命令:::::

以上命令含义如下所示:

在这种配置下,Cache的容量可以用下面的公式计算得到:**。

需要补充说明的是,替换策略一般有下面三种方式:

我们通过下面一个例子,再来看一下这些参数的含义。

-cache:dl1 dl1:512:32:2:l

上面的命令表示对一级数据cache进行配置,512表示有512组,Cache块大小为32个byte,每个组有2个Cache块,即相联度为2,替换策略为LRU。在此配置下,一级数据Cache的容量为512*32*2=32K byte。

浅谈计算机体系结构模拟器SimpleScalar的基本运行模拟

cache容量对性能的影响

通过上面的介绍,我们基本上已经清楚了会影响cache性能的相关因素,在下面的文章中,我们会采用控制变量法,即在保持其他变量不变的条件下,改变单一变量的方式进行研究。

我们改变SimpleScalar模拟器的一级数据cache dl1的容量配置,在SimpleScalar的配置过程中,固定cache块大小、相联度、替换策略等参数,通过改变组数来改变Cache的容量大小。只需要修改sim-cache.cfg中对应组数即可。

同时,我们现在只是测试只有一级cache的情况,所以我们把sim-cache.cfg中的有关二级cache的相关参数都注释掉。如下所示:

浅谈计算机体系结构模拟器SimpleScalar的基本运行模拟

图二 sim-cache注释掉L2配置参数

在确定块大小为32byte,相连度为2,替换策略为LRU情况之下,把参数改为如下所示:

浅谈计算机体系结构模拟器SimpleScalar的基本运行模拟

图三 dl1参数变化

测试结果对应图线如下图所示:

浅谈计算机体系结构模拟器SimpleScalar的基本运行模拟

图四 测试结果

上图中,横轴为cache容量,纵轴为cache的失效率(失效率越低,说明cache性能越好)。

从上图的曲线中可以看出,cache容量在一定范围内时,容量的增加,cache的失效率不断下降,一般来说,容量越大,Cache性能越好,发生失效的概率就越低。且当容量增加到一定程度之后,cache的性能到达一个峰值。在超过这个峰值之后,随着容量的增加,失效率已经不再降低,而是稳定在一个固定范围内,说明此时cache容量已经不是影响cache性能的瓶颈所在,继续扩大cache容量,对cache性能提升已经失效,需要考虑其他方面的条件。

浅谈计算机体系结构模拟器SimpleScalar的基本运行模拟

小结

今天的文章,我们主要介绍了SimpleScalar的模拟运行环境,配置文件中各个参数的意义。并且以cache容量大小对cache失效率影响为例,介绍了整个测试过程。相信大家已经对如何使用SimpleScalar进行研究用了一个初步的认识。

正如前面所讲,除了cache容量大小之外,还有组大小、关联度、替换策略等因素均对cache性能有很大的影响,所以在后面的文章中,我们还会继续进行深入研究,欢迎大家继续关注。

参考资料:[1]SimpleScalar模拟器使用指南

展开阅读全文

页面更新:2024-05-18

标签:模拟器   范围内   峰值   体系结构   注释   变量   容量   命令   大小   因素   性能   策略   参数   计算机   测试   数据   文章   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top