Deleted Added
sdiff udiff text old ( 13784:1941dc118243 ) new ( 13892:0182a0601f66 )
full compact
1/*
2 * Copyright (c) 2012-2013, 2015, 2018 ARM Limited
3 * Copyright (c) 2016 Google Inc.
4 * Copyright (c) 2017, Centre National de la Recherche Scientifique
5 * All rights reserved.
6 *
7 * The license below extends only to copyright in the software and shall
8 * not be construed as granting a license to any other intellectual

--- 32 unchanged lines hidden (view full) ---

41 * Rahul Thakur
42 * Pierre-Yves Peneau
43 */
44
45#ifndef __MEM_COMM_MONITOR_HH__
46#define __MEM_COMM_MONITOR_HH__
47
48#include "base/statistics.hh"
49#include "mem/port.hh"
50#include "params/CommMonitor.hh"
51#include "sim/probe/mem.hh"
52#include "sim/sim_object.hh"
53
54/**
55 * The communication monitor is a SimObject which can monitor statistics of
56 * the communication happening between two ports in the memory system.
57 *
58 * Currently the following stats are implemented: Histograms of read/write
59 * transactions, read/write burst lengths, read/write bandwidth,
60 * outstanding read/write requests, read latency and inter transaction time
61 * (read-read, write-write, read/write-read/write). Furthermore it allows
62 * to capture the number of accesses to an address over time ("heat map").
63 * All stats can be disabled from Python.
64 */
65class CommMonitor : public SimObject
66{
67
68 public: // Construction & SimObject interfaces
69
70 /** Parameters of communication monitor */
71 typedef CommMonitorParams Params;
72 const Params* params() const
73 { return reinterpret_cast<const Params*>(_params); }

--- 5 unchanged lines hidden (view full) ---

79 */
80 CommMonitor(Params* params);
81
82 void init() override;
83 void regStats() override;
84 void startup() override;
85 void regProbePoints() override;
86
87 public: // SimObject interfaces
88 Port &getPort(const std::string &if_name,
89 PortID idx=InvalidPortID) override;
90
91 private:
92
93 /**
94 * Sender state class for the monitor so that we can annotate
95 * packets with a transmit time and receive time.

--- 355 unchanged lines hidden ---