This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] PROCESSOR-SDK-AM64X:CPU 周期测量

Guru**** 2487425 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1438548/processor-sdk-am64x-cpu-cycle-measurement

器件型号:PROCESSOR-SDK-AM64X

工具与软件:

您好!  

我运行的是没有操作系统的 am64x 演示板。

是否有方法或示例可测量 CPU 运行周期?

CPU 的运行速度。  


谢谢  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jun:

    您是否期望 CPU 负载百分比?

    此致、

    Anil。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    不、我只是想知道 CPU 的运行速度。   

     Bootloader_socCpuGetClock (corid);并且其频率为800MHz。  CPU 以800MHz 运行

    然后、我自己进行测量。  

    StartTime = ClockP_getTimeUsec ();
    int jjj=0;
    for (jjj=0;jjj<1000000;jjj++);

    EndTime = ClockP_getTimeUsec ();



    结束时间-开始时间为 13814

    13814 /1000000 (循环计数)= 13纳秒、对于一个虚拟指令、这不正确? 太慢了。  

    它应该有最多2纳秒的时间来运行一个虚拟增量 jj++ instrunion 在800MHz 系统上,对吗?

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    该循环是多条指令。 至少这必须使一个寄存器递增、然后将其与1000000进行比较、如果小于该值、则返回。

    如果您使用的是版本编译、编译器将消除该循环。 在调试编译(没有优化)中、在每个循环中、可能会从内存中读取和写入 jj。

    由于处理器需要加载的值之后才能递减和比较、因此还可能存在负载使用危险。

    接下来、您应该考虑代码和数据所在的位置以及访问延迟是什么。 TCM 和 L1缓存为单周期、 SRAM 将为数十个周期、DDR 将超过100个周期。  

    假设这会在 L1缓存中全部运行、你可以查看反汇编来看看指令构成你的循环、然后检查 ARM Cortex-R5文档中的指令周期时序、然后查看这是否与每个周期1.25ns 相匹配。 要进行反汇编、请使用 CCS 汇编视图或 objdump。

    为了使你的生活更加复杂、如果指令适用、R5甚至可以在单周期中执行两条指令。

    ->可能是一个有趣的练习,但可能不值得努力。

    此致、  

    Dominic

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jun:

    多米尼加先生、上述回答是公平的、我希望答案能澄清 你的疑虑。

    Dominic、感谢您的来电。

    此致、

    Anil。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 

    是的、我正在查看指令工作原理。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jun:

    如果清除所有疑问,请关闭该主题。

    此致、

    Anil。