Summary: | 碩士 === 臺灣大學 === 電子工程學研究所 === 96 === GProf is a common profiling tool which I usually used to observe the bottleneck
within a program. I can improve a program’s performance after checking which
routine dominates overall execution time.
However, I need another profiling tool for simulated ARM platform, which does
a cycle-accurate simulation. Also, I need the information of each routine’s execution
cycles. Therefore, GProf does not meet our requirement. Because it only sample a
running program for a period of time. It’s meaningless to have GProf runs on the
simulation platform, too.
Thus, in order to do functional profiling in the ARM platform, I develop a
function profiling tool based on Sim Power Analyzer. I do profiling a program
without modifying any part of its binary file. The challenge is to judge whether
the subroutine starts or not. Besides, I provide graphical user interface to present
profiling result to make observing these results easier.
With our tool, I can not only generate call graph to inspect how much cycles
are spent in each routine and it’s children, but also observe total execution cycles
and percentage over total execution time of each routine. In this way, I can find out
which routine is the bottleneck and implement it as hardware to gain performance
improvement and lower energy consumption.
|