L-TAGE预测器 “A 256 Kbits L-TAGE branch predictor”
在实际中,预测器使用的历史长度集首先通过几何级数来获得,然后再通过细化确定,不过这些改进能获得的精度方面的益处有限。
预测机制(相比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”相关推荐
- TAGE-SC-L预测器 “TAGE-SC-L Branch Predictors”(2016)
TAGE + 简单的辅助预测器统计校正器(statistical corrector简称SC)+ 循环预测器(loop predictor简称L) 为什么要用不同长度的历史? 既适用于有较长历史的分支 ...
- 运用PyTorch动手搭建一个共享单车预测器
本文摘自 <深度学习原理与PyTorch实战> 我们将从预测某地的共享单车数量这个实际问题出发,带领读者走进神经网络的殿堂,运用PyTorch动手搭建一个共享单车预测器,在实战过程中掌握神 ...
- LncLocator 2.0:具有可解释深度学习的长链非编码RNA的细胞特异性亚细胞定位预测器
Motivation:长链非编码RNA ( lncRNA )通常以组织特异性的方式表达,lncRNA的亚细胞定位取决于它们表达的组织或细胞系. <特色> 以前用于预测lncRNA亚细胞定位 ...
- 针对间接分支的比特级感知预测器BLBP “Bit-level Perceptron Prediction for Indirect Branches”(2019 ISCA)
间接分支预测器:ITTAGE [3].基于VPC的分支预测器.TAP预测器 [4].call/return 堆栈预测过程返回目标地址 [2]. 背景:面向对象编程中存在许多间接分支指令.多态性(pol ...
- R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型、分类预测器(分类变量)被自动替换为一组虚拟编码变量、summary函数查看检查模型、使用table函数计算混淆矩阵评估分类模型性能
R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型(Logistic regression).分类预测器(分类变量)被自动替换为一组虚拟编码变量.summary函数查看检查模型.使用t ...
- predictor = dlib.shape_predictor()关键点预测器用法
predictor = dlib.shape_predictor('data/data_dlib/shape_predictor_68_face_landmarks.dat') 功能:标记人脸关键点 ...
- scikit-learn学习笔记(一)快速入门数据集格式和预测器
1.数据集: 数据集都是2维的,第一维度是"样本维",第二维度是"特征维". >>> from sklearn import datasets ...
- TypeWriter: Neural Type Prediction with Search-based Validation基于搜索的神经网络预测器
ABSTRACT 维护使用动态类型语言(JavaScript,Python等)写的大型数据库是非常有挑战性的.简单 数据兼容性错误激增,缺乏IDE支持和API 难理解.最近的一些工作尝试用静态分析或概 ...
- java版 设计一个程序, 输入整数l, 求边长为l的正方形面积, 比直径为l的圆形面积大多少.
2. 设计一个程序, 输入整数l, 求边长为l的正方形面积, 比直径为l的圆形面积大多少. (0<l<1000, PI取3.14, 输出结果保留两位小数) 样例输入: 3 样例输出: 1. ...
- Android L系统 剖析安卓5.0安卓L新特性
Android L系统全新发布了!在Google I/O 2014上,Google正式发布了最新一代安卓系统Android L,安卓系统终于告别了安卓4.×,迈入了全新的版本周期.新一代安卓系统此前一 ...
最新文章
- 2022-2028年中国再生金属行业投资分析及前景预测报告
- 编程面试中的十个常见错误
- Python/Jupyter Notebook以及可视化的运用
- Java中正则Matcher类的matches()、lookAt()和find()的差别
- static方法与非static方法是否可以互相调用
- Visual Studio中的Build和Rebuild区别
- c++面试准备之螺旋队列
- 【HDOJ】3315 My Brute
- c语言中枚举类型的长度,C中的枚举类型数据的大小是多少?
- php 比java 快_php比java要快在哪里
- 六、基于UDP的服务器端/客户端
- CCF-CSP刷题网站推荐(含100分答案)
- Mac锁屏设置快捷键
- Excel常用技巧(三)——函数
- elementUI使用el-tabs时,页面崩溃卡死问题
- u盘修复计算机系统,如何使用u盘修复系统
- 裁员、转型、突围,两图带你看懂交易所困局
- 物联网下的智慧停车 让智能化找到车位
- 苏嵌嵌入式linux实训 第1天
- 大开眼界的4款电脑软件,其中3款大小不到10M,功能却逆天
热门文章
- RecyclerView 之notifyDataSetChanged的暴躁
- pandas window中涉及的offset是什么意思
- 第十四、十五周新总结
- [网络]网速很快但是访问网页很慢的两种解决办法
- 用循环制作乘法口诀表
- 用遗传算法解决无线传感器轮值问题(Duty Cycle)
- html挪车隐藏手机,警告,千万不能留挪车电话!!!教你两招,这样做就可以挪车,避免麻烦...
- webpack-theme-color-replacer webpack插件 实现web项目 全局修改主题颜色
- 屏蔽点击BackSpace键页面后退
- python win32con_Python笔记_第二篇_面向过程_第二部分_4.常用模块的简单使用_窗体控制模块(win32con、win32gui)...