在实际中,预测器使用的历史长度集首先通过几何级数来获得,然后再通过细化确定,不过这些改进能获得的精度方面的益处有限。

预测机制(相比TAGE的不同点)

增加了USE_ALT_ON_NA:由于在部分程序中,如果某个分支最长历史匹配的项是新分配的,此时使用altpred预测更有效,因此使用该4-bit计数器在全局上动态监测分支的这一特性。

判定为新项的方法:如果某一项的预测计数器是弱的则认为其是新项。

预测时:如果最长匹配项的预测计数器不是弱的,或者USE_ALT_ON_NA无效(negative),则采用提供者组件的预测,否则使用altpred。

L-TAGE的特点

  • 一个13-component TAGE预测器一个256-entry 循环预测器(loop predictor)组成。
  • 索引信息:PC、全局分支历史 ghist(包括一些无条件分支)、16-bit 路径历史 phist(每个分支 1 个地址位)。

Q:为什么要包括无条件分支?

  • 区别内核和用户分支:通过地址分区识别内核和用户分支,使用两组历史:只允许用户分支更新的用户历史和允许所有历史更新的内核历史。
  • 组件数:对于256Kbits的预测器,13-component达到了最大精度。

循环预测器

  • 循环预测器:用于识别具有恒定次数迭代的规则循环。当循环以相同的迭代次数连续执行3次时循环预测器提供全局预测。每个项由14位的过去迭代计数、14位的当前迭代计数、14位的部分标记、2位的置信度计数器和8位age计数器组成,即每个项52位,共256项,存储需14Kbits。
  • 循环预测器替换政策:基于age 计数器。一个项只有在其age计数器为空时才能被替换。在分配时,age首先设置为255。只要该项是一个可能的替换目标,age就递减;当该项被使用并且提供了一个有效的预测时,age递增。每当分支被确定为不是常规循环时,age被重置为零。

性能评价

所提交的L-TAGE预测器(256Kbits)VS 关掉循环预测器的TAGE组件:3.314 VS 3.368

L-TAGE:256Kbits

231.5 Kbits TAGE:256Kbits中的TAGE部件

13C:256Kbits 13-组件TAGE

8C:256Kbits 8-组件TAGE

8C-Ahead :256Kbits 8-组件TAGE+流水线中提前3个分支

L-TAGE预测器 “A 256 Kbits L-TAGE branch predictor”相关推荐

  1. TAGE-SC-L预测器 “TAGE-SC-L Branch Predictors”(2016)

    TAGE + 简单的辅助预测器统计校正器(statistical corrector简称SC)+ 循环预测器(loop predictor简称L) 为什么要用不同长度的历史? 既适用于有较长历史的分支 ...

  2. 运用PyTorch动手搭建一个共享单车预测器

    本文摘自 <深度学习原理与PyTorch实战> 我们将从预测某地的共享单车数量这个实际问题出发,带领读者走进神经网络的殿堂,运用PyTorch动手搭建一个共享单车预测器,在实战过程中掌握神 ...

  3. LncLocator 2.0:具有可解释深度学习的长链非编码RNA的细胞特异性亚细胞定位预测器

    Motivation:长链非编码RNA ( lncRNA )通常以组织特异性的方式表达,lncRNA的亚细胞定位取决于它们表达的组织或细胞系. <特色> 以前用于预测lncRNA亚细胞定位 ...

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

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

  5. R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型、分类预测器(分类变量)被自动替换为一组虚拟编码变量、summary函数查看检查模型、使用table函数计算混淆矩阵评估分类模型性能

    R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型(Logistic regression).分类预测器(分类变量)被自动替换为一组虚拟编码变量.summary函数查看检查模型.使用t ...

  6. predictor = dlib.shape_predictor()关键点预测器用法

    predictor = dlib.shape_predictor('data/data_dlib/shape_predictor_68_face_landmarks.dat') 功能:标记人脸关键点 ...

  7. scikit-learn学习笔记(一)快速入门数据集格式和预测器

    1.数据集: 数据集都是2维的,第一维度是"样本维",第二维度是"特征维". >>> from sklearn import datasets ...

  8. TypeWriter: Neural Type Prediction with Search-based Validation基于搜索的神经网络预测器

    ABSTRACT 维护使用动态类型语言(JavaScript,Python等)写的大型数据库是非常有挑战性的.简单 数据兼容性错误激增,缺乏IDE支持和API 难理解.最近的一些工作尝试用静态分析或概 ...

  9. java版 设计一个程序, 输入整数l, 求边长为l的正方形面积, 比直径为l的圆形面积大多少.

    2. 设计一个程序, 输入整数l, 求边长为l的正方形面积, 比直径为l的圆形面积大多少. (0<l<1000, PI取3.14, 输出结果保留两位小数) 样例输入: 3 样例输出: 1. ...

  10. Android L系统 剖析安卓5.0安卓L新特性

    Android L系统全新发布了!在Google I/O 2014上,Google正式发布了最新一代安卓系统Android L,安卓系统终于告别了安卓4.×,迈入了全新的版本周期.新一代安卓系统此前一 ...

最新文章

  1. 2022-2028年中国再生金属行业投资分析及前景预测报告
  2. 编程面试中的十个常见错误
  3. Python/Jupyter Notebook以及可视化的运用
  4. Java中正则Matcher类的matches()、lookAt()和find()的差别
  5. static方法与非static方法是否可以互相调用
  6. Visual Studio中的Build和Rebuild区别
  7. c++面试准备之螺旋队列
  8. 【HDOJ】3315 My Brute
  9. c语言中枚举类型的长度,C中的枚举类型数据的大小是多少?
  10. php 比java 快_php比java要快在哪里
  11. 六、基于UDP的服务器端/客户端
  12. CCF-CSP刷题网站推荐(含100分答案)
  13. Mac锁屏设置快捷键
  14. Excel常用技巧(三)——函数
  15. elementUI使用el-tabs时,页面崩溃卡死问题
  16. u盘修复计算机系统,如何使用u盘修复系统
  17. 裁员、转型、突围,两图带你看懂交易所困局
  18. 物联网下的智慧停车 让智能化找到车位
  19. 苏嵌嵌入式linux实训 第1天
  20. 大开眼界的4款电脑软件,其中3款大小不到10M,功能却逆天

热门文章

  1. RecyclerView 之notifyDataSetChanged的暴躁
  2. pandas window中涉及的offset是什么意思
  3. 第十四、十五周新总结
  4. [网络]网速很快但是访问网页很慢的两种解决办法
  5. 用循环制作乘法口诀表
  6. 用遗传算法解决无线传感器轮值问题(Duty Cycle)
  7. html挪车隐藏手机,警告,千万不能留挪车电话!!!教你两招,这样做就可以挪车,避免麻烦...
  8. webpack-theme-color-replacer webpack插件 实现web项目 全局修改主题颜色
  9. 屏蔽点击BackSpace键页面后退
  10. python win32con_Python笔记_第二篇_面向过程_第二部分_4.常用模块的简单使用_窗体控制模块(win32con、win32gui)...