01.12.2012 Views

Architecture of Computing Systems (Lecture Notes in Computer ...

Architecture of Computing Systems (Lecture Notes in Computer ...

Architecture of Computing Systems (Lecture Notes in Computer ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

200 R. Plyask<strong>in</strong> and A. Herkersdorf<br />

Fig. 1. Trace-based simulation<br />

Thus, the workload generated by the component can be captured <strong>in</strong> the form <strong>of</strong><br />

asocalledtrace (Fig. 1).<br />

A trace is a list <strong>of</strong> pseudocode constructs or trace primitives. Eachprimitive<br />

def<strong>in</strong>es an action which the abstracted module should perform. For example,<br />

when execut<strong>in</strong>g a delay primitive (denoted as Delay <strong>in</strong> the figure) the abstracted<br />

model <strong>of</strong> the CPU waits for a certa<strong>in</strong> amount <strong>of</strong> time simulat<strong>in</strong>g a process<strong>in</strong>g<br />

latency. On execution <strong>of</strong> read or write primitives (denoted as Write and Read),<br />

the CPU model issues correspond<strong>in</strong>gly a read or write transaction to the memory<br />

on the bus. The overall time required to access the memory module will depend<br />

on the bus arbitration, data transfer latencies on the bus, and read/write latency<br />

<strong>of</strong> the memory. Thus, the execution <strong>of</strong> the next delay primitive will be postponed<br />

correspond<strong>in</strong>gly. In [15], the authors demonstrate how trace-based simulations<br />

can be applied for abstract application model<strong>in</strong>g and performance evaluation <strong>of</strong><br />

network processor architectures.<br />

S<strong>in</strong>ce the <strong>in</strong>ternal functionality <strong>of</strong> the components is abstracted, performance<br />

<strong>of</strong> trace simulations can be significantly <strong>in</strong>creased compared to fully functional<br />

and cycle accurate simulations, e.g. performed us<strong>in</strong>g an <strong>in</strong>struction set simulator<br />

(ISS). In case <strong>of</strong> MPSoC architectures, the performance becomes a vital factor<br />

s<strong>in</strong>ce simultaneous <strong>in</strong>stantiation <strong>of</strong> multiple cycle accurate CPU simulators can<br />

significantly decrease the simulation time.<br />

The trace representation allows system designers to describe a workload at<br />

various levels <strong>of</strong> granularity. In a coarse-gra<strong>in</strong>ed workload, traces conta<strong>in</strong> approximated<br />

process<strong>in</strong>g latencies <strong>of</strong> a CPU without a detailed pattern <strong>of</strong> memory<br />

accesses. This level <strong>of</strong> granularity may be <strong>of</strong> a great <strong>in</strong>terest when the target SW<br />

code is not available, but the designer can have an idea how the components<br />

could <strong>in</strong>teract with each other <strong>in</strong> the desired application [15].<br />

In this paper, we propose to use abstract traces for accurate performance<br />

estimation dur<strong>in</strong>g high-level design space explorations <strong>of</strong> MPSoC architectures,<br />

and address the challenge <strong>of</strong> how to derive accurate f<strong>in</strong>e-gra<strong>in</strong>ed traces. In our<br />

approach, the traces are def<strong>in</strong>ed at the <strong>in</strong>struction level which allows achiev<strong>in</strong>g<br />

exact bus access patterns and precise process<strong>in</strong>g latencies <strong>of</strong> a CPU. We present<br />

a complete workflow <strong>in</strong> which traces generated from a cycle accurate CPU simulator<br />

are used for rapid evaluations <strong>of</strong> MPSoC architectures <strong>in</strong> our trace-based<br />

SystemC TLM simulator. We demonstrate how the trace-based approach can be<br />

applied dur<strong>in</strong>g a design space exploration phase, when functional repartition<strong>in</strong>g

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!