Program Analysis with a Loop-Function-based Tracing Tool on Virtual Platforms
Date Issued
2016
Date
2016
Author(s)
Chiang, Tsung-Han
Abstract
ARM is the most widely used instruction set architecture (ISA) in terms of quantity produced. Recently, ARM-based systems have taken up markets of portable devices and servers. With over 50 billion ARM processors produced as of 2014, performance profiling for systems based on ARM ISA has become one of the very important tasks in today’s system engineering. However, conventional profiling tools are insufficient for tracking functions and loops of the programs performed by the ARM processors due to the design of ARM ISA and compiler optimization. In particular, most of the profiling tools are unable to collect and analyze events related to hardware and software interactions at the function and loop-level granularities. In our study, we propose a stack-pointer-based method with a later loop entry detection scheme to overcome the difficulties of detecting functions and loops for programs performed on the ARM architecture. The generated loopcall context tree is used to build relationship among functions and loops and to store profiling data. This tree enables analysis, such as memory dependency, memory access pattern, cache simulation at finer-grained granularities. Moreover, the stored profiling data enable further analysis on parallelism detection and loop dependency. Finally, the advantages of the analytic methods and simulation methods are combined to accelerate cache simulation.
Subjects
Loop and function detection
Dynamic Analysis
Loop-Call Context Tree
Virtual Platform
ARM Architecture
Type
thesis
File(s)![Thumbnail Image]()
Loading...
Name
ntu-105-R03922030-1.pdf
Size
23.32 KB
Format
Adobe PDF
Checksum
(MD5):7af811e433b3e4e5033ba2ec8dcd4390