这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » 【换取手持数字示波器】RISC-V架构代码性能监控

共2条 1/1 1 跳转至

【换取手持数字示波器】RISC-V架构代码性能监控

工程师
2024-12-22 11:47:34     打赏

简介:

mcycle 是 RISC-V 架构中定义的一个 控制与状态寄存器 (CSR),用于记录自处理器启动以来所经历的 CPU 时钟周期数。它是性能分析中非常重要的一个寄存器,通常用于测量代码执行的时间或性能。我们可以利用该寄存器来评估某一段代码的执行时间。

 本次试验使用GDVF103 基于芯来科技(Bumblebee RISC-V处理器)硬件平台进行验证,以下是芯片手册中对mcycle 寄存器的说明。

image.png

除了上述的计数器寄存器外,芯片上还涉及了对应功能的开关使能寄存器。

image.png

该寄存器为芯片自定义CSR寄存器,非RISC-V 标准定义的CSR寄存器

image.png

根据寄存器描述及CSR 寄存器访问index 编写如下测试代码打印输出cpu cecyle 和 运行指令计数器状态。

unsigned int mcountinhibit(char argc,char ** argv)
{
    uint32_t countinhibit = 0;
    countinhibit = read_csr(0X320); //读取 mcycle 寄存器

    printf("IR %s\n",((countinhibit & 0x01U << 2U) ? "OFF" : "ON"));
    printf("CY %s\n",((countinhibit & 0x01U << 0U) ? "OFF" : "ON"));

	return 0;
}
LTSH_FUNCTION_EXPORT(mcountinhibit,"show mcountinhibit register");

运行结果如下打印输出发现默认状态时该功能是关闭状态。

image.png




工程师
2024-12-22 13:11:51     打赏
2楼

学习了



共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]