Texas Instruments SPRAA56 appendix Appendix A. Performance Impact, RTA Effects on CPU Load

Page 27

SPRAA56

Appendix A. Performance Impact

A.1 Overhead of Performance Measurement Techniques

Because most of the benchmarking APIs are called once every 30 frames, the additional CPU load expected after adding the instrumentation is low. The measured performance of the benchmarking techniques is given in Table 3. A spreadsheet containing the expected and actual timing values is provided with the software distribution.

Table 3. Measured Performance of Benchmarking Techniques

 

Execution Time

Execution Time

 

Execution Rate

Benchmark

(Avg) [instr]

(Max) [instr]

CPU Load

[per N frames]

MBX check in process Task

3641

17112

0.00018205

1

LOAD module call

1182

2432

0.00000197

30

Single Call to UTL_stsStart

517

13968

0.00043945

16

Single Call to UTL_stsStop

325

488

0.00027625

16

Capture Task benchmarking

1848

15064

0.00000308

30

Display Task benchmarking

2288

7824

3.81333E-06

30

Process Task benchmarking

3196

18568

5.32667E-06

30

Control Task

1533

2856

0.00007665

?

SubTotal Load (Task bchmrk)

7332

 

0.0003666

30

SubTotal Load (UTL calls)

13472

 

0.0006736

30

Total Load of benchmarking

17357.4

 

0.00086787

1

These benchmarks are given in instructions, and the individual CPU load of each function is calculated by dividing the benchmark by 20M instructions per frame, the number of cycles available on a 600 MHz 64x device in a 30 fps NTSC system.

These benchmarks were measured using UTL_stsStart and UTL_stsStop API calls bracketing the regions of code to be benchmarked. For example, to benchmark the LOAD_getcpuload function, the measurement code was the following:

UTL_stsStart( stsBenchmark1 ); benchVid.cpuLoad.current = LOAD_getcpuload();

UTL_stsStop( stsBenchmark1 );

This method of benchmarking allows execution time to be measured in real-time, although if an interrupt or context switch occurs between the UTL calls, the time spent executing the interrupt or out-of-context code would also be included in the benchmark.

A.2 RTA Effects on CPU Load

The CPU load was measured with RTA debugging turned off and the UTL_DBGLEVEL set to

40.The total CPU load of the application with the instrumentation turned off was 93% average and 95% peak. The CPU load of the instrumented application was 93% average and 95% peak when using the same video content, a repeating high-motion sequence from a DVD. The benchmarking did not make a statistically significant impact on the CPU load.

DSP/BIOS Real-Time Analysis (RTA) and Debugging Applied to a Video Application

27

Image 27
Contents References Appendix A. Performance Impact Modifications to the Base ExampleRTA Techniques for Performance Measurement Viewing Benchmarks in the Instrumented ApplicationFigures Important Benchmarks for Video ApplicationsSPRAA56 Base Application OverviewTskInput 1 LOG DSP/BIOS and RF5 Components Used2 STS 3 TRC4 UTL Requirements for Viewing RTA Benchmarks Modifications to the Base ExampleAdding the Control TSK and MBX Communication Splitting the Encode and Decode CELLsQuerying the H.263 Encoder for Status TskInputTskO utput Controlling the Frame Rate Measuring Function Execution Time with the UTL Module RTA Techniques for Performance MeasurementMeasuring End-to-End Latencies Measuring Task Scheduling LatenciesMeasuring the Frame Rate Programmatic Measurement of Total CPU Load Memory Bus Utilization External memory 720*480 = 345,600 B86,400 B 14,400 BBitrate and Frame Type Methods for Transmitting Measured Performance Data Viewing Benchmarks in the Instrumented Application Application-Specific Control via GEL Scripts in CCStudioRequirements Load the h263loopbackrta.out program Running the ApplicationSPRAA56 Interpreting the Benchmarks Expected Values for the STS Objects Expected and Measured STS Benchmarks Expected and Measured Logged Benchmarks Debug ModeExpected Values Delivered to the Message Log Controlling the Run-Time Parameters DynamicallyCapture and Display Task Benchmarking ReferencesMeasured Performance of Benchmarking Techniques Appendix A. Performance ImpactOverhead of Performance Measurement Techniques RTA Effects on CPU LoadMemory Footprint Details Memory FootprintImportant Notice