sim, power: Temperature used for power calculations

The temperature used for the power calculations was fixed at 0
degrees, unless a thermal model was setup.  This commit allows
the user to set the temperature that needs to be used by the
power calculation during gem5 configuration.  This value will be
overwritten if there are thermal models present.

Change-Id: I7ca8fa6766bdcba9d362c12fc75d1e1f74385f35
Reviewed-by: Sascha Bischoff <sascha.bischoff@arm.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/8602
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
This commit is contained in:
Anouk Van Laer
2017-08-21 16:02:45 +01:00
parent ed0f02e1f6
commit f4d83eaf52
2 changed files with 9 additions and 0 deletions

View File

@@ -63,3 +63,6 @@ class PowerModel(SimObject):
# Type of power model
pm_type = Param.PMType("All", "Type of power model")
# Ambient temperature to be used when no thermal model is present
ambient_temp = Param.Float(25.0, "Ambient temperature")

View File

@@ -57,6 +57,12 @@ PowerModel::PowerModel(const Params *p)
panic_if(subsystem == NULL,
"Subsystem is NULL! This is not acceptable for a PowerModel!\n");
subsystem->registerPowerProducer(this);
// The temperature passed here will be overwritten, if there is
// a thermal model present
for (auto & pms: states_pm){
pms->setTemperature(p->ambient_temp);
}
}
void