mapss.dif.csdf.sdf.sched
Class BDPPOStrategy
java.lang.Object
mapss.dif.DIFScheduleStrategy
mapss.dif.csdf.sdf.sched.DPPOStrategy
mapss.dif.csdf.sdf.sched.BDPPOStrategy
- All Implemented Interfaces:
- mocgraph.analysis.analyzer.Analyzer, mocgraph.analysis.analyzer.GraphAnalyzer, mocgraph.sched.ScheduleAnalyzer
public class BDPPOStrategy
- extends DPPOStrategy
This is a DPPO for balancing capacity over a dual-memory-bank architecture.
- Version:
- $Id: BDPPOStrategy.java 406 2007-05-10 14:27:07Z plishker $
- Author:
- Mingyung Ko
Constructor Summary |
BDPPOStrategy(SDFGraph graph,
java.util.List lexicalOrder,
double gap,
java.util.Collection edges1,
java.util.Collection edges2)
Constructor for an SDF graph, a lexical order, a preliminary capacity
gap, and two collections of edges. |
Method Summary |
protected void |
_optimumFor(int left,
int right)
Compute the minimum cost for the node sequence from
'left' to 'right'. |
double |
capacityDifference()
Get the optimal bank capacity difference. |
java.lang.String |
toString()
A desrciption of the scheduler. |
Methods inherited from class mapss.dif.csdf.sdf.sched.DPPOStrategy |
_bufferCost, _computeDPPO, _computeSchedule, _crossingSDFEdges, _DPPOTableElement, _SDFEdges, _SDFNodes, _verifyIndices, _verifyIndices, optimalCost, schedule, setLexicalOrder |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
BDPPOStrategy
public BDPPOStrategy(SDFGraph graph,
java.util.List lexicalOrder,
double gap,
java.util.Collection edges1,
java.util.Collection edges2)
- Constructor for an SDF graph, a lexical order, a preliminary capacity
gap, and two collections of edges. Collections of edges imply the
bank assignment for SDF buffers. The gap must be the first
bank capacity minus the second one.
- Parameters:
graph
- The given SDF graph.lexicalOrder
- The lexical order.gap
- The preliminary capacity difference.edges1
- SDF edges associated with the first bank.edges2
- SDF edges associated with the second bank.
capacityDifference
public double capacityDifference()
- Get the optimal bank capacity difference. The difference is the first
bank's capacity minus the second one's.
- Returns:
- The difference.
toString
public java.lang.String toString()
- A desrciption of the scheduler.
- Specified by:
toString
in interface mocgraph.analysis.analyzer.Analyzer
- Overrides:
toString
in class DPPOStrategy
- Returns:
- A text description.
_optimumFor
protected void _optimumFor(int left,
int right)
- Compute the minimum cost for the node sequence from
'left' to 'right'. Also set up appropriate fields of the entry
at (left, right)
- Specified by:
_optimumFor
in class DPPOStrategy
- Parameters:
left
- Lexical ordering index of the leftmost node.right
- Lexical ordering index of the rightmost node.