Sim-panalyer 简介
在微处理器设计中,能量消耗已经成为设计的主要制约,无论是低端的嵌入式处理器还是高端、高性能的系统情况都是如此。PDA和蜂窝电话的设计必须能够充分有效的利用电能,因为它们形状和重量有特殊的要求,故它们所能携带的电量是受限的。由于电池的电量密度每年的增长速率只有5%,所以,如果想要增加电池的使用寿命,那就只能从提高系统的各个部件的电源利用率入手。对于一些高耗能的设计,能够对系统结构级或系统性能层次的准确耗能模拟至关重要,只有做到这一点,才能在性能和耗能之间找到一个最佳折中。
处理器体系架构设计和性能评估离不开模拟器,处理器设计人员都是通过模拟器进行性能的预先评估和正确性验证,因此处理器体系结构模拟器对芯片设计非常重要。
Sim-panalyer 是一个基于SimpleScalar的功耗模拟器。可以通过描述已测量的部件来评估不同基准测试程序的功耗。Sim-panalyzer现在支持两种目标机器,Alpha和StrongARM。并支持两种操作模式,Level 1和Level 2模式。Level 1 模式需要配置每个部件的有效电容,Level 2 模式需要部件特征如读写管脚数,内存大小,关联度等。Level 2 模式是sim-panalyzer 1.1版本的升级。
现今,除了Sim-panalyzer外,业界已经有了好几种微处理器级功耗模拟工具,并且它们被广泛使用于需要耗能建模的设计研究中。在这些工具中,微处理器的功耗都是通过相同的方式来估算的,这种方式就是首先对每次对微架构的功能模块的一次读取建立一个功耗模型,然后把这些功耗累加起来,就是微处理器的功耗。Wattch是对处理器的每个功能单元加入计数器,在一段时间内通过读取计数器的值,并且进行数学建模,从而得到这段时间内该功能单元所消耗的能量总和。这种方式对含有大型复杂存储器的高端设计就非常适用。但是它对数据路径和执行块儿的能量消耗是通过单一的、每次读取值来估计的,这样对不同的电路系统就没有扩展性。虽然他们的方法对高端应用领域不失为一种好的模拟方法,但嵌入式设计需要更精确的建模,这种建模应当基于每个执行块中确定的交换活动。
Sim-panalyzer 在SimpleScalar性能模拟的基础上做了扩充,它分成了若干组件用以建模处理器中不同的部分。其中包括:cache的功耗模型;数据路径和执行单位功耗模型;时钟树的功耗模型和I/O功耗模型。这些模型可以配置到扩展的SimpleScalar模拟器中,并产生最终的功耗数据。Sim-panalyzer 是针对微架构能耗模拟的一个基础设备,开始时只是针对Arm指令集体系结构(ISA),在这种结构中没有复杂的微架构块,像指令队列(IQ),重排序缓存(ROB),分支预测器、浮点数单元等等。但是现在也开发出了一个针对Alpha ISA 的平台。它主要关注最基本的微架构块和主要的耗能大户,像如时钟分布树,外部I / O,片上存储器,和执行块等。
每次读取,用户必须要指定一个有效地开关电容,这个电容用于计算每个微架构块的能量消耗。Sim-panalyzer将开关电容乘以读取的次数就得到了总的能量消耗。Sim-panalyzer对I/O读取采用了不同的方法,它提供了一个更加详细的交互模型,这个模型在每个时钟周期里统计每个I/O引脚的功耗。Sim-panalyzer还提供了一些常规的方法和参数来指导用户如何估计每个块的每次读取的有效交换电容。Sim-panalyzer还提供了怎样将不同的技术和Sim-panalyzer用到一块儿的方法和例子。除了这些特征以外,Sim-panalyzer还提供了一个能耗建模方法和一个库用以支持更加复杂和精确的能耗模型。在这个库中,Sim-panalyzer提供了嵌入式逻辑模拟器的基本构建块和cmos门的开关电容提取。逻辑模拟器收集目标电路板或功能性模块的内部节点的开关电容的数量;电容提取器估计每个节点的开关电容。这个库支持功能性模块的继承实现,故而,用户可以重用以前实现的子块来构建更加复杂的功能性模块。
1.首先获得安装包sim-panalyzer-2.0.3.tar.gz
2.进入安装目录 cd zing
3.解压包到当前文件夹:tar –zxf sim-panalyzer-2.0.3.tar.gz 得到 PA2.0.3 文件夹
4.编译模拟器