Otawa  0.10
CCG Plugin

CCG (Cache Conflict Graph) provides a method to compute the number of misses of a direct-mapped instruction cache based on a graph representation of the cache states translated as a set of constraints. More...

Classes

class  otawa::ccg::Builder
 This processor builds the Cache Conflict Graph of the current task. More...
 
class  otawa::ccg::ConstraintBuilder
 This processor allows handling timing effects of the instruction cache in the IPET approach. More...
 
class  otawa::ccg::Edge
 This class represents edges in the CCG representation. More...
 
class  otawa::ccg::Node
 Node of a CCG (Cache Conflict Graph). More...
 

Functions

p::feature otawa::ccg::FEATURE ("otawa::ccg::FEATURE", new Maker< Builder >())
 This feature ensures that Cache Conflict Graphs has been built. More...
 
Identifier< ilp::Var * > otawa::ccg::MISS_VAR ("otawa::ccg::MISS_VAR", 0)
 Gives the variable counting the number of misses. More...
 
p::feature otawa::ccg::CONSTRAINT_FEATURE ("otawa::ccg::CONSTRAINT_FEATURE", new Maker< ConstraintBuilder >())
 This feature ensures that the CCG has been translated in the form of ILP constraints. More...
 

Variables

p::feature otawa::ccg::FEATURE
 This feature ensures that Cache Conflict Graphs has been built. More...
 
Identifier< ilp::Var * > otawa::ccg::MISS_VAR
 Gives the variable counting the number of misses. More...
 
p::feature otawa::ccg::CONSTRAINT_FEATURE
 This feature ensures that the CCG has been translated in the form of ILP constraints. More...
 

Detailed Description

CCG (Cache Conflict Graph) provides a method to compute the number of misses of a direct-mapped instruction cache based on a graph representation of the cache states translated as a set of constraints.

An extension exists for A-way LRU caches but is not implemented in OTAWA.

Y.-T. S. Li, S. Malik, A. Wolfe. Efficient microarchitecture modelling and path analysis for real-time software. Proceedings of the 16th IEEE Real-Time Systems Symposium, 12/1995.

Y.-T. S. Li, S. Malik, A. Wolfe. Cache Modeling for Real-Time Software: Beyond Direct Mapped Instruction Caches Proceedings of ACM SIGPLAN Workshop on Language, Compiler and Tool Support for Real-time Systems, 6/1997.

Plugin Information
Analyses

Function Documentation

p::feature otawa::ccg::CONSTRAINT_FEATURE ( "otawa::ccg::CONSTRAINT_FEATURE"  ,
new Maker< ConstraintBuilder >  () 
)

This feature ensures that the CCG has been translated in the form of ILP constraints.

Properties
Default Processor
Plugin
p::feature otawa::ccg::FEATURE ( "otawa::ccg::FEATURE"  ,
new Maker< Builder >  () 
)

This feature ensures that Cache Conflict Graphs has been built.

They may accessed by CCG::GRAPHS put on the framework.

Properties
Identifier<ilp::Var *> otawa::ccg::MISS_VAR ( "otawa::ccg::MISS_VAR"  ,
 
)

Gives the variable counting the number of misses.

Features
Hooks

Variable Documentation

p::feature otawa::ccg::CONSTRAINT_FEATURE("otawa::ccg::CONSTRAINT_FEATURE", new Maker< ConstraintBuilder >())

This feature ensures that the CCG has been translated in the form of ILP constraints.

Properties
Default Processor
Plugin
p::feature otawa::ccg::FEATURE("otawa::ccg::FEATURE", new Maker< Builder >())

This feature ensures that Cache Conflict Graphs has been built.

They may accessed by CCG::GRAPHS put on the framework.

Properties
Identifier<ilp::Var *> otawa::ccg::MISS_VAR("otawa::ccg::MISS_VAR", 0)

Gives the variable counting the number of misses.

Features
Hooks
Gives the variable counting the number of misses.
Hook
Feature

Referenced by otawa::ccg::ConstraintBuilder::processLBlockSet().