Otawa
0.10
|
Class to represent the whole memory of the platform. More...
#include <otawa/hard/Memory.h>
Public Member Functions | |
Memory (bool full=false) | |
Memory constructor. More... | |
virtual | ~Memory (void) |
const Table< const Bank * > & | banks (void) const |
Get the list of banks in memory. More... | |
const Table< const Bus * > & | buses (void) const |
Get the list of buses connected to memory banks. More... | |
const Bank * | get (Address address) const |
Get the bank matching the given address. More... | |
int | worstAccess (void) const |
Compute the worst access latency. More... | |
int | worstReadAccess (void) const |
Compute the worst read access latency. More... | |
int | worstWriteAccess (void) const |
Compute the worst read access latency. More... | |
Static Public Member Functions | |
static Memory * | load (const elm::system::Path &path) throw (LoadException) |
Load a memory configuration from an XML file. More... | |
static Memory * | load (xom::Element *element) throw (LoadException) |
Load a memory configuration from the given element. More... | |
Static Public Attributes | |
static const Memory | null |
Default null memory. More... | |
static const Memory | full |
Full memory: all memory is occupied by big RAM bank. More... | |
Private Member Functions | |
SERIALIZABLE (Memory, field("banks", _banks)&field("buses", _buses)) | |
Private Attributes | |
AllocatedTable< const Bank * > | _banks |
AllocatedTable< const Bus * > | _buses |
Class to represent the whole memory of the platform.
otawa::hard::Memory::Memory | ( | bool | full = false | ) |
Memory constructor.
References _banks, and otawa::hard::Bank::full.
|
virtual |
Get the list of banks in memory.
Referenced by otawa::dcache::BlockBuilder::processBB(), otawa::hard::Dumper::processWorkSpace(), otawa::clp::Analysis::processWorkSpace(), and otawa::etime::StandardEventBuilder::setup().
Get the list of buses connected to memory banks.
Get the bank matching the given address.
address | Address to find bank for. |
References _banks.
Referenced by otawa::ccg::LBlockBuilder::addLBlock(), otawa::LBlockBuilder::addLBlock(), otawa::etime::StandardEventBuilder::costOf(), otawa::dcache::WCETFunctionBuilder::processBB(), otawa::dcache::CLPBlockBuilder::processBB(), and otawa::dcache::BlockBuilder::processBB().
|
static |
Load a memory configuration from an XML file.
path | Path to the file. |
References _, and elm::Exception::message().
Referenced by otawa::hard::Platform::loadMemory().
|
static |
Load a memory configuration from the given element.
element | Element to load from. |
References _, and elm::Exception::message().
|
private |
int otawa::hard::Memory::worstAccess | ( | void | ) | const |
Compute the worst access latency.
References otawa::clp::max(), worstReadAccess(), and worstWriteAccess().
int otawa::hard::Memory::worstReadAccess | ( | void | ) | const |
Compute the worst read access latency.
References _banks, and otawa::clp::max().
Referenced by otawa::etime::StandardEventBuilder::processBB(), otawa::dcache::WCETFunctionBuilder::setup(), and worstAccess().
int otawa::hard::Memory::worstWriteAccess | ( | void | ) | const |
Compute the worst read access latency.
References _banks, and otawa::clp::max().
Referenced by otawa::etime::StandardEventBuilder::processBB(), otawa::dcache::WCETFunctionBuilder::setup(), and worstAccess().
|
private |
Referenced by get(), Memory(), worstReadAccess(), and worstWriteAccess().
|
private |
|
static |
Full memory: all memory is occupied by big RAM bank.
|
static |
Default null memory.