ITTAGE:Indirect Target TAgged  GEnometric legnth predictor。

provider component:最终提供预测。

ulternate prediction(altpred):provider component发生miss时提供预测。

原文:“We define the provider component as the predictor component that ultimately provides the prediction. We define the alternate prediction altpred as the prediction that would have occurred if there had been a miss on the provider component. If there are tag hits on T2 and T4 and tag misses on T1 and T3,T4 is the provider component and T2 provides altpred.”

预测规则:和TAGE一样,选择tag命中的具有最长历史的组件的预测结果。若没有tag命中则采用默认预测器的预测结果。

The optimization for weak confidence counters:当tag匹配的项的置信度计数器为0时,altpred有时比正常预测更准确。因此在实现中使用一个4-bit计数器(USE ALT ON NA)动态监测这一点。

原文:Prediction computation summary Therefore the prediction computation algorithm is as follows:
1. Find the longest matching component and the alternate component.
2. if (the confidence counter is non-null ortor and a short path history (limited to 1 bit per USE ALT ON NA is negative) then the provider component provides the prediction else the prediction is provided by the alternate component.”

更新预测器

更新u-bit: 当实际预测正确而altpred不正确时,provider component的u-bit被set。

u-bit重置规则:分配新项时,动态监测在一次错误预测后试图分配新项时成功和失败的次数。该监测由一个8-bit计数器(TICK)表征,当失败的次数超过成功的次数时,计数器饱和,则重置该预测器的所有u-bit。

利用 target locality :在预测器的一项中,目标区域(target field)代表着主要的存储开销。分支目标地址可能比较分散,但所有的 benchmark 中的分支目标区域少于128 256Kbytes。因此,预测器每项中的目标区域(32 bits)被替换位一个区域偏移(Region offset ,18 bits)和一个区域指针(Region pointer,7 bits),从而每项节省了7 bits。此外,还需增加一个128项的目标区域表(region target table)以重构完整的地址,每项包括一个14-bit 的区域地址和一个有用位以进行替换。区域指针用于索引区域表,确定是128个中哪一个256 Kbytes区域,得到14位区域地址,再加上区域偏移量,从而构成完整的地址。

ITTAGE分支预测器 “A 64-Kbytes ITTAGE indirect branch predictor”相关推荐

  1. 针对间接分支的比特级感知预测器BLBP “Bit-level Perceptron Prediction for Indirect Branches”(2019 ISCA)

    间接分支预测器:ITTAGE [3].基于VPC的分支预测器.TAP预测器 [4].call/return 堆栈预测过程返回目标地址 [2]. 背景:面向对象编程中存在许多间接分支指令.多态性(pol ...

  2. Cachegrind:缓存和分支预测分析器

    目录 5.1.概观5.2.使用Cachegrind,cg_annotate和cg_merge 5.2.1.运行Cachegrind5.2.2.输出文件5.2.3.运行cg_annotate5.2.4. ...

  3. 第四章:动态分支预测

    文章目录 一.分支预测 二.算法实现 一.分支预测 1)局部分支预测器: 利用自己过去的跳转状态来进行预测.程序过去执行时分支的信息被存放在一个长度为 2^n 的表中,表中的每一项为 2 bit.该表 ...

  4. 【linux】Valgrind工具集详解(十四):Cachegrind(缓存和分支预测分析器)

    一.概述 Cachegrind,它模拟CPU中的一级缓存I1,Dl和二级缓存,能够精确地指出程序中cache的丢失和命中.如果需要,它还能够为我们提供cache丢失次数,内存引用次数,以及每行代码,每 ...

  5. 时序图 分支_BOOM微架构学习(1)——取指单元与分支预测

    之前在RISC-V的"Demo"级项目--Rocket-chip一文中曾经简介过BOOM处理器的流水线,这次我们开始一个系列,深入学习一下BOOM的微架构,这样对于乱序执行的超标量 ...

  6. 慌!还不了解Java中的分支预测?!

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"1024"获取公众号专属1024GB资料 来源:rrd.me/fLHvf 1.引言 分 ...

  7. 经典问题之「分支预测」

    问题 来源 :stackoverflow 为什么下面代码排序后累加比不排序快? public static void main(String[] args) {// Generate dataint ...

  8. Pentium 4处理器架构/微架构/流水线 (7) - NetBurst前端详解 - 分支预测

    Branch Predication 对于使用深度指令流水线的处理器,分支预测能力至关重要.分支预测使得处理器可以在分支指令决断之前就开始执行(预测的)分支路径指令.分支延迟是由于分支预测错误导致的性 ...

  9. Pentium II Pentium III架构/微架构/流水线 (2) - P6详解 - 前端(指令预取/译码/动态分支预测静态分支预测)

    Pentium II & III Instruction Pipeline Details Front-End Pipeline Details Pentium II & III处理器 ...

  10. CPU当中的分支预测

    今天看到的一个有关cpu的问题,所以分享总结一下: 抛出一个问题 首先有一段代码 #include <algorithm> #include <ctime> #include ...

最新文章

  1. 【总结整理】数据可视化
  2. XamarinSQLite教程创建数据表
  3. 一文看懂深度学习AutoML和NAS
  4. ios 内存深度优化_iOS 25个性能优化/内存优化常用方法
  5. PHP正则表达式——匹配多行
  6. assetbundle能不能删除_Unity3d爬坑篇(2)之Assetbundle、Shader和Keyword
  7. 传感与检测实验报告,差动变压器的特性测定,江南大学物联网自动化
  8. 7-2 数组元素循环右移问题 (40 分)
  9. JVM类加载机制详解
  10. matlab figure 调整大小、字体、线宽
  11. ehlib的DBGridEh控件中使用过滤功能的方法
  12. 六万字最全总结Java数据库编程MyBatis(+收藏)
  13. Eclipse 反编译插件下载地址
  14. 深度学习-LeCun、Bengio和Hinton的联合综述
  15. linux系统手机助手,手机助手Linux版下载
  16. word文档doc格式转换成docx
  17. scratch传说之下素材_《故事新编》:在古老传说和寓言故事上丰富情节和赋予意义...
  18. 月球绘画软件测试,宇宙飞船简笔画:第一个登上月球的宇航员
  19. 历史性时刻,Python要成为TIOBE编程语言榜首?
  20. 吉多·范罗苏姆 --python创始人

热门文章

  1. ddos攻击网站原理,遭受ddos攻击该如何处理进行防御?
  2. 如何用命令行和carbite c++生成sis文件
  3. 前端下载图片(文件)以及打包下载图片(文件)
  4. 三菱PLC特殊软元件
  5. jQuery实现打字机效果
  6. QT 之QPainter画点
  7. hbase shell命令行下backspace键无效解决办法
  8. 17家IT创业公司的血泪史(3)
  9. android更改menu字体颜色,Android 修改 Menu字体颜色
  10. 软件测试周刊(第50期):归结起来,焦虑的原因就两条:想同时做很多事情,又想立即看到效果。