我正在研究McPAT。我想知道他们在ALU和FPU的功率计算中使用的公式。
在logic.cc文件中,在初始化ALU和FPU时,它们更新了一个名为per_access_energy的变量。此变量稍后用于计算其他组件的功率。
我的问题是关于变量值的计算。 FunctionalUnit::FunctionalUnit
中的Here is the their formula:
per_access_energy = 1.15/1e9/4/1.3/1.3*g_tp.peri_global.Vdd*g_tp.peri_global.Vdd*(g_ip->F_sz_nm/90.0);
他们使用了很多固定值。这些值来自哪里?这些价值观是什么?他们在哪里得到这个公式?
有没有人和McPAT合作?并知道这个?请帮忙。
答案 0 :(得分:1)
有评论" //FPU power from Sandia's processor sizing tech report
"在https://github.com/uwsampa/mcpat/blob/master/logic.cc#L472,但我无法找到确切的论文。
在McPat论文中 - http://www.hpl.hp.com/research/mcpat/micro09.pdf他们说" ALU和FPU模型基于英特尔29和Sun [24,IEEE]"的实际设计。 。 [29]适用于ALU,不适用于FPU; [24]无法自由访问。桑迪亚的[33]论文没有在线资料,只有标题:
Rodrigues,A。F."处理器的参数化大小。"桑迪亚国家实验室,“技术。 Rep(2007)。
per_access_energy
是对nJ能量的一些估计,根据评论" //这是每循环能量(nJ)"。这是从某种类型的存储器(CPU内部,如SRAM?)访问操作数所需的能量估计。根据线(不相信营销)
per_access_energy *=0.5;//According to ARM data embedded processor has much lower per acc energy
我认为,只有代码的作者可能会或可能不记得他是如何创建此估算的。
您是否检查了报告http://www.hpl.hp.com/research/mcpat/McPATAlpha_TechRep.pdf?
由于McPAT为大多数组件建模每端口每次访问的动态能量