Cpr E 488 Laboratory

Lab 4: Profiling (Digital Camera, Part I)


Lab Description

You will be given a software implementation of a JPEG encoder which reads an uncompressed  image from a camera, encodes it, and saves it to a Compact Flash (CF) card.  Also given is a requirements capture for the desired HW/SW system.  This document will specify various aspects of the system, but specifically a time constraint that cannot be met without custom hardware.  To meet the time constraint, a variety of profiling methods will be used to identify candidate functions to be moved to hardware. 

Prelab

You will be using GCC and gprof from GNU in this lab. Make sure you have read through the documentation for these tools1. Read section 5.6 from the book and answer the following questions:

 

1. Why is it difficult to precisely determine the execution time of a program?

2. List 3 ways to measure a program’s performance.

3. Talk about the role of cache in a program’s execution. Focus on how enabling cache changes the program’s execution time and performance.

4. List the steps for “Optimizing for Execution Speed”.

Lab Files

The following files are necessary for doing this lab.

File

Description

CPRE488_LAB04.pdf

Lab 4 Instructions

eval_form_lab_4.pdf

Lab 4 Evaluation Form

profile_example.zip

Profiling Example

lab_4.zip

Lab 4 Project Files