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.

A Method for Accurate High-Level Performance Evaluation 209<br />

Table 3. Comparison <strong>of</strong> execution time <strong>of</strong> jpeg application on a 4-CPU architecture<br />

with and without the DCT accelerator<br />

Execution time, cycles<br />

CPU <strong>in</strong>stance dct function (average) jpeg application (total)<br />

w/o DCT-HW with DCT-HW w/o DCT-HW with DCT-HW<br />

CPU0 5,910 668 8,098,417 6,107,352<br />

CPU1 5,909 653 7,752,352 5,755,998<br />

CPU2 5,909 656 8,091,063 6,091,775<br />

CPU3 5,909 657 8,109,849 6,115,119<br />

Due to the additional data transfers to the hardware accelerator and simultaneous<br />

use <strong>of</strong> the component by multiple CPUs, dct function took approximately<br />

1.2 times more than the annotated process<strong>in</strong>g time <strong>of</strong> the accelerator. Nevertheless,<br />

the overall application’s performance was <strong>in</strong>creased by a factor <strong>of</strong> 1.3<br />

compared to the architecture without the DCT accelerator.<br />

5 Conclusions<br />

In this paper, an approach for MPSoC performance estimation was presented<br />

<strong>in</strong> which two doma<strong>in</strong>s <strong>of</strong> cycle accurate and trace-based simulations are comb<strong>in</strong>ed.<br />

For this purpose, we developed a tool that automatically generates a trace<br />

file from a CPU cycle accurate simulation at the <strong>in</strong>struction level. We showed<br />

that the trace simulation allows achiev<strong>in</strong>g better simulation performance with<br />

a marg<strong>in</strong>al loss <strong>of</strong> accuracy compared to the reference CPU simulator. We further<br />

demonstrated how a trace can be applied dur<strong>in</strong>g high-level design space<br />

explorations, particularly for the analysis <strong>of</strong> functional repartition<strong>in</strong>g between<br />

CPUs and HW accelerators <strong>in</strong> an MPSoC. Our approach can be also applied for<br />

trace generation us<strong>in</strong>g RTL processor models. This would allow achiev<strong>in</strong>g better<br />

accuracy <strong>of</strong> the traces and even higher simulation speed up compar<strong>in</strong>g to the<br />

<strong>in</strong>struction set simulators.<br />

There are some problems that have to be solved <strong>in</strong> the presented method.<br />

Currently, an <strong>in</strong>struction cache is not considered dur<strong>in</strong>g the trace generation. It<br />

is also assumed that there are no data dependencies between the traces runn<strong>in</strong>g<br />

on a MPSoC architecture. In our future work, <strong>in</strong> addition to overcom<strong>in</strong>g these<br />

problems we are plann<strong>in</strong>g to add <strong>in</strong>ter-trace synchronization to our trace simulator,<br />

and extend the framework for model<strong>in</strong>g complex multi-task<strong>in</strong>g applications<br />

runn<strong>in</strong>g under control <strong>of</strong> a real-time operat<strong>in</strong>g system.<br />

Acknowledgments. We would like to thank J. Zeppenfeld and H. Rauchfuss<br />

for their help on the trace-based SystemC TLM simulator, as well as Z. Wang for<br />

his suggestions for the improvement <strong>of</strong> simulation performance. We also would<br />

like to express our gratitude to the VaST Academic Program for provid<strong>in</strong>g us<br />

with CoMET tool, BMW and Bosch for support<strong>in</strong>g our work, as well as to many<br />

reviewers for their valuable comments.

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

Saved successfully!

Ooh no, something went wrong!