一、队伍介绍
队伍名称:东莞庄路三缺二 队伍编号:CICC1399。 大家好,本篇是我们队伍的第五篇分享,主要介绍一下使用verdi计算和统计某个操作的所用的周期数和指令数的方法。水平有限,如有错误,欢迎大家批评指正。
二、具体方法
1、 打开反汇编代码,同时用verdi打开波形图。
2、在反汇编代码上选择需要计算的操作,如下图,这里选择统计printf函数打印一段字符所消耗的指令数和周期数。记下对应指令的pc值。
3、在verdi调出如下信号:
4、选中ifu_o_pc信号,并在上方工具栏By:选择Bus Value,然后输入操作结束时pc值80000376后点击后面两个方向键搜索,并mark结果.
5、输入操作起始pc值80000368,并搜索
6、在工具栏view中打开Grid Options, 选中Grid on Both Edges 以及Grid Count with Start Number 1。点击OK后即出现计指令数的虚线:
7、回到操作结束时pc值,对应下方的计数即为printf打印一段分隔符所消耗的指令数1719
8、要计周期数,选中clk,再打开View,选中Grid on Rising Edge
9、最终得到周期数为3183
三、总结
以上即为统计某个操作的周期数和指令数的方法。统计清楚每个操作所耗费的指令数和周期数可以帮助我们很快得找出系统性能瓶颈,有针对性得去提高系统性能。