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 261
17.10.2 Internal Bus PMU
The Internal Bus PMU utility enables performance monitoring of components accessing or
utilizing the north and south bus, provides statistics of the north and south bus and SDRAM, and
allows the user to read the value of the Previous Master Slave Register.
The user may monitor their code/program in two ways:
From the CLI, call the appropriate Internal Bus PMU utility
In the user’s code itself, insert the appropriate Internal Bus PMU utility’s start and stop
functions.
To run this utility:
1. Begin the measurements, call the start function with parameters:
This function initializes all the counters and assigns the events associated with the counters.
Selecting HALT mode will generate error. User should use ixPerfProfAccBusPmuStop() to
HALT.
2. To end the measurements, call the stop function, to stop all the counters:
3. If at any time before, during, or after the counting process, the user wishes to view the value of
the counters, the user may call the following function, with parameter:
It is the user’s responsibility to allocate the memory for the pointer before calling this function.
The user may then read/print the values stored in this pointer to obtain the results of the
measurements.
IxPerfProfAccBusPmuResults has two arrays:
For the lower 27-bit of counter values —
For upper 32 Bit of counter values. The user should be aware that in the lower 27-bit
counter, it only stores values up to 27 bits before causing an overflow —
ixPerfProfAccBusPmuStart(
IxPerfProfAccBusPmuMode mode,
IxPerfProfAccBusPmuEventCounters1 pecEvent1,
IxPerfProfAccBusPmuEventCounters2 pecEvent2,
IxPerfProfAccBusPmuEventCounters3 pecEvent3,
IxPerfProfAccBusPmuEventCounters4 pecEvent4,
IxPerfProfAccBusPmuEventCounters5 pecEvent5,
IxPerfProfAccBusPmuEventCounters6 pecEvent6,
IxPerfProfAccBusPmuEventCounters7 pecEvent7)
ixPerfProfAccBusPmuStop()
ixPerfProfAccBusPmuResultsGet (IxPerfProfAccBusPmuResults *busPmuResults)
UINT32 statsToGetLower27Bit [IX_PERFPROF_ACC_BUS_PMU_MAX_PECS]
UINT32 statsToGetUpper32Bit [IX_PERFPROF_ACC_BUS_PMU_MAX_PECS]