gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | Private Attributes | List of all members
MemChecker::WriteCluster Class Reference

The WriteCluster class captures sets of writes where all writes are overlapping with at least one other write. More...

#include <mem_checker.hh>

Public Member Functions

 WriteCluster ()
 
void startWrite (Serial serial, Tick _start, uint8_t data)
 Starts a write transaction. More...
 
void completeWrite (Serial serial, Tick _complete)
 Completes a write transaction. More...
 
void abortWrite (Serial serial)
 Aborts a write transaction. More...
 
bool isComplete () const
 

Public Attributes

Tick start
 Start of earliest write in cluster. More...
 
Tick complete
 Completion of last write in cluster. More...
 
std::unordered_map< Serial,
Transaction
writes
 Map of Serial –> Transaction of all writes in cluster; contains all, in-flight or already completed. More...
 

Private Attributes

Tick completeMax
 
size_t numIncomplete
 

Detailed Description

The WriteCluster class captures sets of writes where all writes are overlapping with at least one other write.

Capturing writes in this way simplifies pruning of writes.

Definition at line 141 of file mem_checker.hh.

Constructor & Destructor Documentation

MemChecker::WriteCluster::WriteCluster ( )
inline

Definition at line 144 of file mem_checker.hh.

Member Function Documentation

void MemChecker::WriteCluster::abortWrite ( MemChecker::Serial  serial)

Aborts a write transaction.

Parameters
serialUnique identifier of a write previously started.

Definition at line 104 of file mem_checker.cc.

References warn.

void MemChecker::WriteCluster::completeWrite ( MemChecker::Serial  serial,
Tick  _complete 
)

Completes a write transaction.

Parameters
serialUnique identifier of a write previously started.
_completeWhen the write was sent off to the memory subsystem.

Definition at line 73 of file mem_checker.cc.

References MemChecker::TICK_FUTURE, and warn.

bool MemChecker::WriteCluster::isComplete ( ) const
inline
Returns
true if this cluster's write all completed, false otherwise.

Definition at line 178 of file mem_checker.hh.

References complete, and MemChecker::TICK_FUTURE.

Referenced by startWrite().

void MemChecker::WriteCluster::startWrite ( MemChecker::Serial  serial,
Tick  _start,
uint8_t  data 
)

Starts a write transaction.

Parameters
serialUnique identifier of the write.
_startWhen the write was sent off to the memory subsystem.
dataThe data that this write passed to the memory subsystem.

Definition at line 46 of file mem_checker.cc.

References chatty_assert, complete, isComplete(), numIncomplete, start, MemChecker::TICK_FUTURE, and writes.

Member Data Documentation

Tick MemChecker::WriteCluster::complete

Completion of last write in cluster.

Definition at line 182 of file mem_checker.hh.

Referenced by isComplete(), and startWrite().

Tick MemChecker::WriteCluster::completeMax
private

Definition at line 191 of file mem_checker.hh.

size_t MemChecker::WriteCluster::numIncomplete
private

Definition at line 192 of file mem_checker.hh.

Referenced by startWrite().

Tick MemChecker::WriteCluster::start

Start of earliest write in cluster.

Definition at line 181 of file mem_checker.hh.

Referenced by startWrite().

std::unordered_map<Serial, Transaction> MemChecker::WriteCluster::writes

Map of Serial –> Transaction of all writes in cluster; contains all, in-flight or already completed.

Definition at line 188 of file mem_checker.hh.

Referenced by startWrite().


The documentation for this class was generated from the following files:

Generated on Fri Jun 9 2017 13:04:14 for gem5 by doxygen 1.8.6