diff options
author | Andreas Hansson <andreas.hansson@arm.com> | 2012-05-09 04:37:45 -0400 |
---|---|---|
committer | Andreas Hansson <andreas.hansson@arm.com> | 2012-05-09 04:37:45 -0400 |
commit | ab23e29487e734486b602dd589463a8db1804825 (patch) | |
tree | cb02116c4b4a3d543df81709375d2a4454d8c96e /src/mem/SConscript | |
parent | 18e8d7ed2d6d669e9537984837e4ec1fa466e7d1 (diff) | |
download | gem5-ab23e29487e734486b602dd589463a8db1804825.tar.xz |
MEM: Add the communication monitor
This patch adds a communication monitor MemObject that can be inserted
between a master and slave port to provide a range of statistics about
the communication passing through it. The communication monitor is
non-invasive and does not change any properties or timing of the
packets, with the exception of adding a sender state to be able to
track latency. The statistics are only collected in timing mode (not
atomic) to avoid slowing down any fast forwarding.
An example of the statistics captured by the monitor are: read/write
burst lengths, bandwidth, request-response latency, outstanding
transactions, inter transaction time, transaction count, and address
distribution. The monitor can be used in combination with periodic
resetting and dumping of stats (through schedStatEvent) to study the
behaviour over time.
In future patches, a selection of convenience scripts will be added to
aid in visualising the statistics collected by the monitor.
Diffstat (limited to 'src/mem/SConscript')
-rw-r--r-- | src/mem/SConscript | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mem/SConscript b/src/mem/SConscript index efb3c947a..3ffb3503a 100644 --- a/src/mem/SConscript +++ b/src/mem/SConscript @@ -32,10 +32,12 @@ Import('*') SimObject('Bridge.py') SimObject('Bus.py') +SimObject('CommMonitor.py') SimObject('MemObject.py') Source('bridge.cc') Source('bus.cc') +Source('comm_monitor.cc') Source('mem_object.cc') Source('mport.cc') Source('packet.cc') @@ -57,6 +59,7 @@ if env['TARGET_ISA'] != 'no': DebugFlag('Bus') DebugFlag('BusAddrRanges') DebugFlag('BusBridge') +DebugFlag('CommMonitor') DebugFlag('LLSC') DebugFlag('MMU') DebugFlag('MemoryAccess') |