zoukankan      html  css  js  c++  java
  • 【体系结构】转移预测器性能的定量评价

    几种预测器的设计参见前一篇博文(这里

    定量评价几种预测器的预测准确率

     

    转移预测的分析和评测过程主要基于给定的指令序列踪迹。输入的文本文件将给出指令序列踪迹,该文件包含N行,每一行包括三个数据,分别为当前指令PC、下一指令PC、当前指令类型(0代表转移指令,1代表其它指令),下面是一个具体的范例:

    0x0EA31410 0x0EA31414 1
    0x0EA31414 0x0EA31470 0
    0x0EA31470 0x0EA31474 1
    0x0EA31474 0x0EA31478 0
    0x0EA31478 0x0EA3147C 1

    实验中使用gcc.log,compress.log,craft.log,gzip.log,mcf.log,parser.log,vpr.log 7个测试数据,实验结果如下:

    仿照书中的例子,绘制三种预测器不正确率的结果:

    实验结果很明显看到Tournament预测器取得了更好的预测结构。但另一方面,在同样空间的限制下,使用相关分支预测信息的[10,2]关联预测器反而没有简单的局部历史表预测效果好。事实上,分支历史表可以看做[1,2]关联预测器。分析可能是推论的分支信息过多,减少相关分支数目可能会提高预测准确率。于是,实验中尝试了[2,2],[4,2],[6,2],[8,2](对应的地址分别为12,10,8,6bit,空间均为32K),结果如下:


    可以看到使用[4,2]相关分支预测器平均准确率最高。而过度增加相关分支数量,可能会降低预测准确率。



    实验结论

    2bit分支历史表预测器可以提供较好的分支预测准确率。适当利用全局信息,使用相关分支预测技术,也可以提高预测分支准确率。Tournament预测器通过结合局部信息和全局历史信息,在同样空间的情况下,平均预测准确率最高。

     

     

    (转载请注明作者和出处:http://blog.csdn.net/xiaowei_cqu 未经允许请勿用于商业用途)

  • 相关阅读:
    Python容器(zz)
    [Violet]蒲公英 分块
    [JSOI2008]火星人 hash+splay
    [USACO08DEC]拍头Patting Heads 水题
    [国家集训队]整数的lqp拆分 数学推导 打表找规律
    [HNOI2008]水平可见直线 单调栈
    [LNOI2014]LCA 树链剖分 离线 前缀和 思维题
    [SCOI2008]着色方案 递推 记忆化搜索
    [NOI2010]海拔 平面图转对偶图 最小割
    [NOI2008]志愿者招募 网络流 建模
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3220264.html
Copyright © 2011-2022 走看看