Model
Development Statistics
Define data flow through the system
= 2 Days
Number of unique blocks required
to create the model = 6
Time to do the initial model construction
= 1 Day
Model analysis and refinement =
3 days
Documentation = .5 day
Model Construction
This VisualSim system model consists
of three sections- Workload generator,
behavior description and architecture
description. The connection between
these various sections is using
the Virtual method provided by VisualSim.
In the diagram, mapping between
the behavior and the architecture
is done using the Virtual Execution
method.
In
this model, the transaction generated
are the incoming MPEG frames. These
are two generators in the hierarchical
block shown as the Workload_Gen-
one for the Antenna and one for
the hard drive. The transactions
are generated in a pattern described
by a poisson distribution. A refined
model can use the actual arrival
rate of the MPEG streams by capturing
a arrival stream and feeding that
file as the input. The Workload_Gen
has one parameter- Transaction.
This parameter can be modified to
increase or reduce the number of
frames that are transmitted in any
second. Each transaction is considered
as a Data Structure and contains
multiple fields. These fields carry
information that are required for
the simulation. The list of Data
Structure fields can be seen in
the Transaction output from the
Dual Processor Model. The MPEG data
is not actually transmitted over
the entire simulation but rather
a representation in the form of
frame size is sent. The frame can
be encapsulated as an object field
in the data structure to be used
by any part of the design that evaluates
the algorithm. In this example the
image processing algorithm is evaluated
in two locations- at the behavior
and at the Video processor. In this
example, the parameter "transaction"
is said to be exported to the upper
layer as it is made common for the
entire layer of this system. This
parameter can be made global and
will be evaluated at simulation
time or can be specified at any
level of the hierarchy.
The
output from the Workload_gen is
fed into the behavior portion of
the design. The behavior describes
the flow of data through the appliance.
As the execution is the same for
the data generated from the antenna
and the hard drive, the flow is
also similar. There is one decision
tree in this flow and that is to
determine if the data needs to be
retrieved from the cache or memory.
One of the fields of the data structure
contains a random distribution between
0 and 1. if the field value is 0,
then data is acquired from the Cache
but if the value is 1, then the
data is acquired from the SDRAM.
Each item in the behavior flow is
mapped to respective hardware or
software on the architecture. When
data arrives at the PCI behavior
block, a request is sent to the
PCI architecture where the execution
occurs. The behavior simply defines
the functionality while the actual
execution is performed on the architecture
blocks. The behavior is described
using the Task_Issue SmartBlock.
The
architecture elements are defined
using the Scheduler SmartBlock.
The Video Processor has further
refinement in that the actual vector
quantization algorithm is implemented.
The processing requirements at each
entity is determined by the size
of the incoming frame and the clock
speed of that block. The connections
between the architecture blocks
are for statistics gathering and
do not impact the simulation.
The
results are gathered in two locations-
Result hierarchical block and the
Timeline plotter. The output from
the right bottom port of the architecture
blocks is the statistics output.
The data from this port is captured
and displayed using the plotter
in the Result block. All of the
SmartBlock have statistics generation
that can be utilized to generate
data on the fly. This eliminates
the need for performing complex
analysis outside of the environment.
The right middle port reports the
time utilized of the block and can
be plotted on a timeline.
Results
There are a number of results that
are generated from this simulation: