e331aa9718f50d6d376d6fb8684d17d02f360d54
This commit adds an option to add SI and its derived units to stats.
Units are now the third parameter of every Stat class constructor.
The following are convenient macros that could be used to add units
to stats,
* UNIT_CYCLE: represents clock cycles.
* UNIT_TICK: represents the count of gem5's Tick.
* UNIT_SECOND: represents the base unit of time defined by SI.
* UNIT_BIT: represents the number of computer bits.
* UNIT_BYTE: represents 8 bits.
* UNIT_VOLT: a SI derived unit measuring potential difference.
* UNIT_JOULE: represents joule, a unit of energy, as defined by SI.
* UNIT_WATT: represents 1 watt, where 1 watt = 1 joule / second.
* UNIT_CELSIUS: represents 1 Celsius degree as defined by SI.
* UNIT_RATE(T1, T2): represents the unit of a quantity of T1 divided
by a quantity of T2.
* UNIT_RATIO: represents the unit of a quantity of unit T divided by
a quantity of unit T.
* UNIT_UNSPECIFIED: the unit of the stat is unspecified. This type of
unit is mainly for backward compatibility. Newly
introduced stats should have the units specified.
This commit also alters the behavior of the ADD_STAT macro.
Specifically, ADD_STAT syntax is unchanged, but the unit of the stat
is hardcoded to be UNIT_UNSPECIFIED.
JIRA link: https://gem5.atlassian.net/browse/GEM5-849
This change is an effort towards supporting new stats schema:
https://github.com/gem5/stats-schema
Change-Id: I791704a6c4d9e06332797dbfc5eb611cb43f4710
Signed-off-by: Hoa Nguyen <hoanguyen@ucdavis.edu>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/38855
Tested-by: kokoro <noreply+kokoro@google.com>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
This is the gem5 simulator. The main website can be found at http://www.gem5.org A good starting point is http://www.gem5.org/about, and for more information about building the simulator and getting started please see http://www.gem5.org/documentation and http://www.gem5.org/documentation/learning_gem5/introduction. To build gem5, you will need the following software: g++ or clang, Python (gem5 links in the Python interpreter), SCons, SWIG, zlib, m4, and lastly protobuf if you want trace capture and playback support. Please see http://www.gem5.org/documentation/general_docs/building for more details concerning the minimum versions of the aforementioned tools. Once you have all dependencies resolved, type 'scons build/<ARCH>/gem5.opt' where ARCH is one of ARM, NULL, MIPS, POWER, SPARC, or X86. This will build an optimized version of the gem5 binary (gem5.opt) for the the specified architecture. See http://www.gem5.org/documentation/general_docs/building for more details and options. The basic source release includes these subdirectories: - configs: example simulation configuration scripts - ext: less-common external packages needed to build gem5 - src: source code of the gem5 simulator - system: source for some optional system software for simulated systems - tests: regression tests - util: useful utility programs and files To run full-system simulations, you will need compiled system firmware (console and PALcode for Alpha), kernel binaries and one or more disk images. If you have questions, please send mail to gem5-users@gem5.org Enjoy using gem5 and please share your modifications and extensions.
Description