🔍 搜索帖子 / 资讯 / 芯片型号…
论坛/全国大学生集成电路创新创业大赛/分支预测正确率、失败率的统计
分支预测正确率、失败率的统计
全国大学生集成电路创新创业大赛 作者 Destinyyhwh 发布于 2023-05-25 09:22(1234 天前) 3674 浏览

团队编号:CICC1156
团队名称:兔飞猛进

在 tb_top 文件中可添加以下代码,进行分支预测正确数量、错误数量的统计

    wire prdt = `EXU.alu_cmt_bjp_prdt;
    wire rslv = `EXU.alu_cmt_bjp_rslv;
    wire bjp = `EXU.alu_cmt_bjp;
`

    integer all_count = 0;
    integer fail_count = 0;
    wire temp;
    assign temp = rslv^prdt;
    always@(posedge clk or negedge rst_n) begin
        if(!rst_n) begin
            all_count = 0;
            fail_count = 0;
        end
        else if(pc_vld[0]&bjp) begin
            all_count = all_count + 1;
            if(temp) begin
                fail_count = fail_count + 1;
            end
        end
    end

1、可以采用跨层次引用的方式,将 预测跳转情况、实际跳转情况、是否为跳转指令 等信号拿到。
2、在时钟上升沿时判断是否为跳转指令时,不仅要判断bjp信号,也要判断pc_vld[0]是否为1(即当前指令是否有效),对数量进行更新。
3、正确率 = (all_count-fail_count)/all_count;
4、错误率 = fail_count/all_count;

全部回复 0
暂无回复,抢个沙发~
💡 请 登录 后参与讨论(微信扫码即登录/注册)