2.12.30 TranslateVirtualToPhysical
Prototype
HEXAPI_Status TranslateVirtualToPhysical(HEX_VA_t vaddr,
HEX_4u_t ASID, HEX_PA_t *paddr)
Parameters Return Description 将一个给定的虚拟地址(含ASID)翻译成一个物理地址。翻译算法在RTOS结构中寻找一个有效的翻译。在独立程序的情况下(即没有加载RTOS模块),TLB条目被搜索以获得翻译。
2.12.31 CycleToTime
Prototype
void CycleToTime (HEX_8u_t cycleCount, HEX_8u_t *time,
HEXAPI_Interval *units)
Parameters Description 考虑到当前的核心频率,将给定的周期数转换为时间单位。
2.12.32 TimeToCycles
Prototype
void TimeToCycles(HEX_8u_t time, HEX_8u_t *cycleCount,
HEXAPI_Interval units)
Parameters Description 将一个时间值转换为一个处理器周期数。
2.12.33 GetElapsedSimulationTime
Prototype
HEXAPI_Status GetElapsedSimulationTime(HEX_8u_t *time,
HEXAPI_Interval units)
Parameters Return Description 返回自模拟开始以来以指定单位计算的经过时间。实际经过的时间被转换为指定的单位,只要不发生下溢。 注意 返回的时间反映了CoreFrequency提出的所有频率变化请求(第2.11.2节)。
2.12.34 GetSimulatedCycleCount
Prototype
HEXAPI_Status GetSimulatedCycleCount(HEX_8u_t *cycles)
Parameters Return Description 返回自模拟开始以来的模拟周期数。 注意 返回的周期是模拟器模拟的实际周期数,可能与PCYCLE寄存器的内容不符。 仿真器模拟的实际周期数,可能与PCYCLE寄存器的内容一致,也可能不一致。
2.12.35 EmitStatistics
Prototype
HEXAPI_Status EmitStatistics(void)
Parameters Description 将统计数据传送到由ConfigureStatisticsFile(第2.9.22节)提供的文件中。如果没有配置统计文件,那么统计信息和区域分析信息将被转储到STDERR。 EmitStatistics的第一次调用会发出gprof和qprof文件的信息,并禁用qprof事件数据的进一步生成。随后对EmitStatistics的调用会覆盖现有的gprof和统计资料。
2.12.36 EmitPerfStatistics
Prototype
HEXAPI_Status EmitPerfStatistics(HEX_8u_t startTimeSec,
HEX_8u_t startTimeUsec, HEX_8u_t endTimeSec,
HEX_8u_t endTimeUsec, char *buffer, HEX_4u_t bufferSize)
Parameters Return Description 将性能统计数据打印到缓冲区。这个例程将最大的缓冲区大小的字节放入缓冲区。输入的参数是用于计算与实时和模拟器速度之比的开始和结束时间(实时)。这些参数是成对的,所以 1.1秒的真实时间表示为1秒和100000微秒。打印到缓冲区的输出是以下形式:
Done!
T0: Insns=6761 Tcycles=3530
T1: Insns=0 Tcycles=0
T2: Insns=0 Tcycles=0
T3: Insns=0 Tcycles=0
T4: Insns=0 Tcycles=0
T5: Insns=0 Tcycles=0
Total: Insns=6761 Pcycles=21192
Simulator speed=0.419547 Mips
Ratio to Real Time (600 MHz) = ~1/456
(elapsed time = 0.016115s)
2.12.37 GetPowerStatistics
Prototype
HEXAPI_Status GetPowerStatistics(bool reset, float *all_wait, float *avg_active, float *avg_pkt)
Parameters Return Description 返回一组三个性能测量值,这些测量值可以插入一个方程中,该方程为Hexagon处理器核的线性动态功率建模。 默认情况下,这些测量值反映的是模拟第一次开始运行以来的性能。但是,用户也可以重置测量值,以便将性能数据的收集限制在模拟的特定部分。 重置参数控制功能是否重置测量值(TRUE),或者是否返回其当前值(FALSE)。 注意 当重置参数为TRUE时,返回的测量值是无效的。 Power calculation equation 模拟器系统API没有提供一个计算功率方程的函数,而是只提供了GetPowerStatistics函数来返回功率方程中使用的某些参数。这样做有两个原因: ■ 有些方程参数是用户提供的。 ■ 它使用户能够在必要时修改方程。 Equation parameters 功率方程包括三种类型的参数: ■由GetPowerStatistics返回的参数 ■由用户提供的参数 ■从硅测量中获得的参数(或从硅前估计中获得的参数)。 用户提供的参数和硅测量参数是为给定的处理器内核静态定义的,而GetPowerStatistics返回的参数是动态的,在仿真过程中产生。 表2-2列出了功率方程中使用的参数。 Table 2-2 Power equation parameters Linear power model equation 方程变量m、b和P是根据表2-2所列的方程参数来定义的:
m = (Pall - P1) / (Nmax - 1) b = P1 - m
P=m*N+b
(V3)经验性的动态功率比例系数IPPadjustment是基于每个数据包的平均指令数:
IPPadjustment = 0.14 * (IPP - 2.2) + 1
动态功率(用下面的dynamicPower表示)是基于运行和全等待模式的时间量。运行和全等待模式下的时间:
runtimePower = (1 - allwaitFraction) * frequencyHEXAGON *
IPPadjustment * P
allwaitPower = allwaitFraction * frequencyAXI * Pallwait dynamicPower = (runtimePower + allwaitPower) * v2
|