Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Access-Layer Components: Performance Profiling (IxPerfProfAcc) API
Programmer’s Guide IXP400 Software Version 2.0 April 2005
Document Number: 252539, Revision: 007 263
4. Obtain the results by calling:
5. Print the value of all the PECs:
6. Print the total value of PECs 1-3, and PEC 7.
The upper 32 bits reflect the number of times the lower 27-bit value overflowed:
7. Perform the same calculation for the rest of the PECs.
8. Determine the percentage of cycles that the bus was either idle or performing Data Writes/
Reads:
17.10.3 Xcycle (Idlecycle Counter)
The Xcycle utility calculates the cycles remaining compared with the cycles available during an
idle period. The user may monitor the load of their program by obtaining the percentage of idle
cycles available with their program running.
The user may monitor their code/program by creating a thread that runs the code being monitored.
At the same time, on a separate thread, run the Xcycle utility.
To run this utility:
1. Before creating any other threads, perform calibration and obtain the baseline (i.e. the total
available cycles in the period of time specified) when there is no load:
It is the user’s responsibility to allocate the memory for the pointer before calling this function.
The user may then read/print this pointer to obtain the total available cycles when there is no
load on the system.
ixPerfProfAccBusPmuResultsGet (&results)
for (i = 0; i< IX_PERFPROF_ACC_BUS_PMU_MAX_PECS ; i++)
{
printf ("\nPEC %d = upper 0x%x lower 0x%x ", i,
results.statsToGetUpper32Bit[i], results.statsToGetLower27Bit[i]);
}
printf ("Total value of PEC1 0x%8x%8x",
results.statsToGetUpper32Bit[0],
results.statsToGetLower27Bit[0]);
PEC1_total = total value of north bus idle cycles
PEC2_total = total value of north bus data write cycles
PEC3_total = total value of north bus date read cycles
PEC7_total = total value of cycles available
Percentage of idle cycles = (PEC1_total /PEC7_total) *100%
Percentage of data write cycles = (PEC2_total/PEC7_total) * 100%
Percentage of date read cycles = (PEC3_total/PEC7_total) * 100%
ixPerfProfAccXcycleBaselineRun (UINT32 *numBaselineCycle)