Otawa  0.10
otawa::hard Namespace Reference

Classes

class  Bank
 A bank in the memory. More...
 
class  BHT
 This class contains all information about the Branch History Predictor, that is,. More...
 
class  Bus
 A bus that tie together several memory banks. More...
 
class  Cache
 This class contains the configuration of a level of cache of processor. More...
 
class  CacheConfiguration
 This class represents the full configuration of caches of a processor. More...
 
class  Dispatch
 A dispatch object allows to map some kinds of instructions to a functional unit. More...
 
class  Dumper
 Dump to output the hardware configuration details. More...
 
class  FunctionalUnit
 A functional unit is specialized in the computation of some kinds of instructions. More...
 
class  FunctionalUnitBuilder
 
class  MeltedBank
 A melted bank may contains registers with different sizes and kinds. More...
 
class  Memory
 Class to represent the whole memory of the platform. More...
 
class  Mode
 A working mode for the hardware memory. More...
 
class  ModeTransition
 Representation of a memory bank transition. More...
 
class  PipelineUnit
 
class  PlainBank
 A plain bank is a register bank whose registers have the same size and the same type. More...
 
class  Platform
 This class records information about the architecture where the processed program will run. More...
 
class  Processor
 Description of a processor pipeline. More...
 
class  ProcessorBuilder
 
class  PureCache
 
class  Queue
 The instructions queues stores instruction that come from one stage to another one. More...
 
class  QueueBuilder
 
class  RegBank
 This class represents a bank of registers. More...
 
class  Register
 Objects of this class are simple machine register, more accurately unbreakable atomic registers. More...
 
class  Stage
 This class represents a stage in a pipeline. More...
 
class  StageBuilder
 

Functions

io::Outputoperator<< (io::Output &out, const Platform::Identification &id)
 
elm::io::Outputoperator<< (elm::io::Output &out, Register *reg)
 
p::feature BHT_FEATURE ("otawa::hard::BHT_FEATURE", new Maker< BHTGetter >())
 This feature ensures that the BHT description has been loaded. More...
 
Identifier< BHT * > BHT_CONFIG ("otawa::hard::BHT_CONFIG", 0)
 Gives the current BHT description. More...
 
SilentFeature MEMORY_FEATURE ("otawa::hard::MEMORY_FEATURE", maker)
 This feature ensures we have obtained the memory configuration of the system. More...
 
Identifier< const Memory * > MEMORY ("otawa::hard::MEMORY",&Memory::full)
 Current memory. More...
 
SilentFeature PROCESSOR_FEATURE ("otawa::hard::PROCESSOR_FEATURE", maker)
 This feature ensures we have obtained the memory configuration of the system. More...
 
Identifier< const
hard::Processor * > 
PROCESSOR ("otawa::hard::PROCESSOR",&Processor::null)
 Current memory. More...
 
SilentFeature CACHE_CONFIGURATION_FEATURE ("otawa::hard::CACHE_CONFIGURATION_FEATURE", maker)
 This feature ensures we have obtained the cache configuration of the system. More...
 
Identifier< const
CacheConfiguration * > 
CACHE_CONFIGURATION ("otawa::hard::CACHE_CONFIGURATION",&CacheConfiguration::NO_CACHE)
 Current configuration. More...
 
FunAccessor< const Cache * > L1_ICACHE (l1_icache,"otawa::hard::L1_ICACHE")
 Accessor on the instruction cache L1. More...
 
FunAccessor< const Cache * > L1_DCACHE (l1_dcache,"otawa::hard::L1_DCACHE")
 Accessor on the data cache L1. More...
 

Variables

p::feature BHT_FEATURE
 This feature ensures that the BHT description has been loaded. More...
 
Identifier< BHT * > BHT_CONFIG
 Gives the current BHT description. More...
 
SilentFeature CACHE_CONFIGURATION_FEATURE
 This feature ensures we have obtained the cache configuration of the system. More...
 
Identifier< const
CacheConfiguration * > 
CACHE_CONFIGURATION
 Current configuration. More...
 
FunAccessor< const Cache * > L1_ICACHE
 Accessor on the instruction cache L1. More...
 
FunAccessor< const Cache * > L1_DCACHE
 Accessor on the data cache L1. More...
 
SilentFeature MEMORY_FEATURE
 This feature ensures we have obtained the memory configuration of the system. More...
 
Identifier< const Memory * > MEMORY
 Current memory. More...
 
SilentFeature PROCESSOR_FEATURE
 This feature ensures we have obtained the memory configuration of the system. More...
 
Identifier< const Processor * > PROCESSOR
 Current memory. More...
 

Function Documentation

Identifier<BHT*> otawa::hard::BHT_CONFIG ( "otawa::hard::BHT_CONFIG"  ,
 
)

Gives the current BHT description.

Hooks
p::feature otawa::hard::BHT_FEATURE ( "otawa::hard::BHT_FEATURE"  ,
new Maker< BHTGetter >  () 
)

This feature ensures that the BHT description has been loaded.

Properties
Identifier<const CacheConfiguration *> otawa::hard::CACHE_CONFIGURATION ( "otawa::hard::CACHE_CONFIGURATION"  ,
&CacheConfiguration::NO_CACHE   
)

Current configuration.

Hooks
Features
  • otawa::CACHE_CONFIGURATION_FEATURE
Default Value
Cache configuration without any cache (never null).
SilentFeature otawa::hard::CACHE_CONFIGURATION_FEATURE ( "otawa::hard::CACHE_CONFIGURATION_FEATURE"  ,
maker   
)

This feature ensures we have obtained the cache configuration of the system.

Properties
  • otawa::CACHE_CONFIGURATION
Accessors
  • otawa::L1_ICACHE
  • otawa::L2_DCACHE
FunAccessor<const Cache *> otawa::hard::L1_DCACHE ( l1_dcache  ,
"otawa::hard::L1_DCACHE"   
)

Accessor on the data cache L1.

Feature
  • otawa::CACHE_CONFIGURATION_FEATURE
FunAccessor<const Cache *> otawa::hard::L1_ICACHE ( l1_icache  ,
"otawa::hard::L1_ICACHE"   
)

Accessor on the instruction cache L1.

Feature
  • otawa::CACHE_CONFIGURATION_FEATURE
Identifier<const Memory *> otawa::hard::MEMORY ( "otawa::hard::MEMORY"  ,
&Memory::full   
)

Current memory.

Hooks
Features
  • otawa::CACHE_CONFIGURATION_FEATURE
Default Value
Cache configuration without any cache (never null).
SilentFeature otawa::hard::MEMORY_FEATURE ( "otawa::hard::MEMORY_FEATURE"  ,
maker   
)

This feature ensures we have obtained the memory configuration of the system.

Properties
elm::io::Output& otawa::hard::operator<< ( elm::io::Output out,
Register *  reg 
)
inline
io::Output& otawa::hard::operator<< ( io::Output &  out,
const Platform::Identification &  id 
)
inline

References out.

Identifier<const hard::Processor *> otawa::hard::PROCESSOR ( "otawa::hard::PROCESSOR"  ,
&Processor::null   
)

Current memory.

Hooks
Features
  • otawa::CACHE_CONFIGURATION_FEATURE
Default Value
Cache configuration without any cache (never null).
SilentFeature otawa::hard::PROCESSOR_FEATURE ( "otawa::hard::PROCESSOR_FEATURE"  ,
maker   
)

This feature ensures we have obtained the memory configuration of the system.

Properties

Variable Documentation

p::feature otawa::hard::BHT_FEATURE("otawa::hard::BHT_FEATURE", new Maker< BHTGetter >())

This feature ensures that the BHT description has been loaded.

Properties
Identifier<const CacheConfiguration *> otawa::hard::CACHE_CONFIGURATION("otawa::hard::CACHE_CONFIGURATION",&CacheConfiguration::NO_CACHE)
SilentFeature otawa::hard::CACHE_CONFIGURATION_FEATURE("otawa::hard::CACHE_CONFIGURATION_FEATURE", maker)

This feature ensures we have obtained the cache configuration of the system.

Properties
  • otawa::CACHE_CONFIGURATION
Accessors
  • otawa::L1_ICACHE
  • otawa::L2_DCACHE
FunAccessor<const Cache *> otawa::hard::L1_DCACHE(l1_dcache,"otawa::hard::L1_DCACHE")

Accessor on the data cache L1.

Feature
  • otawa::CACHE_CONFIGURATION_FEATURE
FunAccessor<const Cache *> otawa::hard::L1_ICACHE(l1_icache,"otawa::hard::L1_ICACHE")

Accessor on the instruction cache L1.

Feature
  • otawa::CACHE_CONFIGURATION_FEATURE
SilentFeature otawa::hard::MEMORY_FEATURE("otawa::hard::MEMORY_FEATURE", maker)

This feature ensures we have obtained the memory configuration of the system.

Properties
Identifier<const hard::Processor *> otawa::hard::PROCESSOR("otawa::hard::PROCESSOR",&Processor::null)

Current memory.

Hooks
Features
  • otawa::CACHE_CONFIGURATION_FEATURE
Default Value
Cache configuration without any cache (never null).

Referenced by otawa::ExeGraphBBTime< G >::processWorkSpace(), and otawa::GraphBBTime< G >::processWorkSpace().

SilentFeature otawa::hard::PROCESSOR_FEATURE("otawa::hard::PROCESSOR_FEATURE", maker)

This feature ensures we have obtained the memory configuration of the system.

Properties