您可以获取 CPU 自启动以来执行的循环次数。在进入和退出时对其进行快照,使您能够计算出经过的周期差,并获得算法使用的周期数。您是否有类似“空闲”任务的东西? - junix
通过将这些周期乘以我的循环时间(以纳秒为单位),我可以得到运行时间,但不包括 CPU 使用率,我说的对吗? - Fluffy
实际上,在裸机硬件上,运行时间和 CPU 使用率几乎相同。如果你不是理论工程师(我的意思是例如你的程序从内存中读取数据,并且缓存中没有数据,其他指令依赖于这个内存读取,所以 CPU 核心会挂起并等待与内存一起工作的 IP 块来传输数据到缓存中,是的,可以说我们在这里没有使用 CPU 核心,但谁关心这个)。因此,你只需要处理中断,并从全局计数器中减去它们的时间,你的运行时间将几乎与 CPU 花费的时间相同。 - fghj
@user1034749 这实际上取决于你在 CPU 上还做了什么。例如,如果你进入了省电模式,只有循环计数才能给你关于 CPU 使用情况的提示。 - junix