A bank in the memory.
More...
#include <otawa/hard/Memory.h>
|
| SERIALIZABLE (Bank, field("name", _name)&field("address", _address)&field("size", _size)&field("type", _type)&field("latency", _latency)&field("power", _power)&field("block_bits", _block_bits)&field("modes", _modes)&field("cached", _cached)&field("on_chip", _on_chip)&field("writable", _writable)&field("port_num", _port_num)&field("bus", _bus)&field("write_latency", _write_latency)) |
|
A bank in the memory.
Usually, objects of this class map real hardware chip but some memory segments may grouped or separated according their characteristics.
- Author
- H. Cassé casse.nosp@m.@iri.nosp@m.t.fr
This type represents the type of banks:
Enumerator |
---|
NONE |
|
DRAM |
|
SPM |
|
ROM |
|
IO |
|
otawa::hard::Bank::Bank |
( |
void |
| ) |
|
default constructor for a bank:
- no name,
- size to 0 bytes,
- no type,
- latency to one cycle,
- no power consumed,
- 0 block bits,
- cached,
- on chip,
- writable,
- 1 port number,
- no tied bus.
const Address & otawa::hard::Bank::address |
( |
void |
| ) |
const |
|
inline |
int otawa::hard::Bank::blockBits |
( |
void |
| ) |
const |
|
inline |
Get the number of bits in the block size of the bank.
- Returns
- Default bits per block (0 if there is no blocking).
int otawa::hard::Bank::blockSize |
( |
void |
| ) |
const |
|
inline |
Get the block size of this bank.
- Returns
- Block size (in bytes, 0 if the bank is not blocked).
const Bus * otawa::hard::Bank::bus |
( |
void |
| ) |
const |
|
inline |
Get the bus of the bank.
- Returns
- Bank bus.
bool otawa::hard::Bank::contains |
( |
Address |
addr | ) |
const |
|
inline |
bool otawa::hard::Bank::isCached |
( |
void |
| ) |
const |
|
inline |
bool otawa::hard::Bank::isOnChip |
( |
void |
| ) |
const |
|
inline |
Test if the bank is on the same chip than the processor.
- Returns
- True if it is on the same chip, false else.
bool otawa::hard::Bank::isWritable |
( |
void |
| ) |
const |
|
inline |
Test if the bank is writable.
- Returns
- True if the bank is writable, false else.
int otawa::hard::Bank::latency |
( |
void |
| ) |
const |
|
inline |
const Table< const Mode * > & otawa::hard::Bank::modes |
( |
void |
| ) |
const |
|
inline |
Get the mode transition table of the bank.
The first mode is the default mode.
- Returns
- Mode transition table.
const string & otawa::hard::Bank::name |
( |
void |
| ) |
const |
|
inline |
int otawa::hard::Bank::portNum |
( |
void |
| ) |
const |
|
inline |
Get the number of port on the bank bus.
- Returns
- Number of ports.
int otawa::hard::Bank::power |
( |
void |
| ) |
const |
|
inline |
Get the default power for accessing this bank.
- Returns
- Default power.
otawa::hard::Bank::SERIALIZABLE |
( |
Bank |
, |
|
|
field("name", _name)&field("address", _address)&field("size", _size)&field("type", _type)&field("latency", _latency)&field("power", _power)&field("block_bits", _block_bits)&field("modes", _modes)&field("cached", _cached)&field("on_chip", _on_chip)&field("writable", _writable)&field("port_num", _port_num)&field("bus", _bus)&field("write_latency", _write_latency) |
|
|
) |
| |
|
private |
const int otawa::hard::Bank::size |
( |
void |
| ) |
const |
|
inline |
Get the size of the bank.
- Returns
- Bank size (in bytes).
Address otawa::hard::Bank::topAddress |
( |
void |
| ) |
const |
|
inline |
type_t otawa::hard::Bank::type |
( |
void |
| ) |
const |
|
inline |
int otawa::hard::Bank::writeLatency |
( |
void |
| ) |
const |
|
inline |
Address otawa::hard::Bank::_address |
|
private |
int otawa::hard::Bank::_block_bits |
|
private |
const Bus* otawa::hard::Bank::_bus |
|
private |
bool otawa::hard::Bank::_cached |
|
private |
int otawa::hard::Bank::_latency |
|
private |
string otawa::hard::Bank::_name |
|
private |
bool otawa::hard::Bank::_on_chip |
|
private |
int otawa::hard::Bank::_port_num |
|
private |
int otawa::hard::Bank::_power |
|
private |
int otawa::hard::Bank::_size |
|
private |
type_t otawa::hard::Bank::_type |
|
private |
bool otawa::hard::Bank::_writable |
|
private |
int otawa::hard::Bank::_write_latency |
|
private |
Bank otawa::hard::Bank::full |
|
static |
The documentation for this class was generated from the following files: