我有一个裸机程序在ARM-Cortex A9处理器的内核上实现。程序将处理2个中断。现在我想测量一下这个CPU的效率。可以是CPU空闲时间与CPU繁忙时间的比率。我正在使用zedboard (zynq 7000系列)进行测量。
因为我没有在内核上运行操作系统,所以我现在知道如何获得CPU效率。
干杯,S
发布于 2013-08-16 23:12:49
首先,您必须定义什么是空闲。这个定义很大程度上回答了你的问题。
例如,如果所有工作都在中断中,而前台任务根据定义是在处理器空闲时,那么您可以只测量这一点,或者至少是相对测量。例如,你可以有一个前台任务,在一个循环中有一个计数器来计数和轮询计时器,每X个计时器节拍看看有多少个计数(循环)已经完成。计数越少,中断发生的时间越长,计数越多,中断发生的时间越少。
不过底线是,一旦你定义了空闲是什么,你就可以简单地获取空闲代码,并测量你在空闲中花费了多长时间,以及在空闲中花费了多长时间。在所有其他任务都关闭的情况下做一个实验,用你的量尺看看在没有其他任务运行的情况下空闲性能是什么,这样当其他任务正在运行时,你可以说它是10%或50%或其他任何东西。
https://stackoverflow.com/questions/18270713
复制相似问题