迟滞位的提出则是基于以下思考:

一直以来在大多数分支预测器的设计中默认使用 2-bit 饱和计数器进行预测。之所以选取2-bit,是因为使用2-bit预测效果比一位更好,而使用超过2-bit也并不能获得可观的改进效果。

是否存在一个k-bit 的计数器,其中1<k<2,其预测效果不逊于2-bit计数器,例如,一个1.4-bit的计数器。当然,不可能实现一个1.4位的计数器,但如果几个计数器共享某些位,从开销上来讲二者是一致的。

2-bit 计数器的每一位在预测中扮演着不同的角色。高位称之为方向位,即跟踪分支的方向,由该位判定预测方向;低位则提供一个迟滞,以防止发生错误预测时方向位立即改变预测方向,称该位为“迟滞位”。

迟滞位作用原理:

如果一条分支指令偏向于跳转,使用一个单个的bit作为预测位时,在一次预测不跳转时就会造成两次错误预测:第一次是由于预测位预测跳转,但实际不跳转;第二次是由于上次预测错误后预测位变化为预测不跳转,而下次很大概率是跳转,则又预测错误。使用2-bit进行预测则可以有效避免这种错误预测。只有发生两次两次连续的错误预测时才会改变预测方向。

2-bit 饱和计数器的两种FSM:

在图(a)中,高位表示预测位,低位则没有特定含义,当低位与高位相同时表示是强预测。

在图(b)中,高位表示预测位,低位反映了预测强度,当低位为1时表示是强预测。称这种状态机为split counter,因为即使当迟滞位与方向位分开时,状态的强度仍然可以直接从迟滞位反映。如果2-bit计数器中倾向于偏向强状态,则迟滞位可能可以由其他不同的分支共享。

实验表明,分支预测计数器在超过90%的预测中保持在某个强预测状态。由此表明,使用2-bit计数器进行预测实际是过度的。文献【1】中测定了每个计数器使用0.44-bit迟滞位时可获得使用2-bit迟滞位时相同的效果

共享的分裂计数器(SSC)

传统的2-bit计数器方向位和迟滞位存储在同一SRAM中,在SSC中,方向位和迟滞位分别存储在不同的SRAM中,如图4所示。而当二者分开存储时,其项数就不必完全相等了。例如,当2个计数器共享一个迟滞位时,迟滞位的项数就是方向位项数的一半。

这样做的弊端则是会产生分支别名效应。


 参考文献

【1】Exploiting Bias in the Hysteresis Bit of 2-bit Saturating Counters in Branch Predictors.

预测饱和计数器中的迟滞位(hysteresis bit)相关推荐

  1. 给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数

    给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数.            1.在文件中至少存在这样一个数?            2.如果有足够的内存,如何处理? ...

  2. 单片机中存储器扩展位地址线怎么算_51单片机CPU结构各部件的原理详细分析

    一. 51单片机串行口工作原理 MCS-51系列单片机片内有一个串行I/O端口,通过引脚RXD(P3.0)和TXD(P3.1)可与外设电路进行全双工的串行异步通信. 1.串行端口的基本特点 8031单 ...

  3. 计算机组成原理三位计数器实验,计算机组成原理位二进制计数器实验报告.doc...

    计算机组成原理位二进制计数器实验报告 计算机组成原理实验一 4位二进制计数器实验 姓名:李云弟 学号:1205110115 网工1201 [实验环境] 1. Windows 2000 或 Window ...

  4. 神经网络预测RNA序列中RBP结合位点-RNA序列二分类

    一.简介 本文使用源自CLIP-seq的数据集ALKBH5_Baltz2012数据集进行实验,旨在使用神经网络来预测RNA序列中的RNA-蛋白质结合位点,实现RNA序列数据的分类任务. 二.数据预处理 ...

  5. 详解 ARM64 内核中对 52 位虚拟地址的支持

    当 64 位硬件变得可用之后,处理更大地址空间(大于 232 字节)的需求变得显而易见.现如今一些公司已经提供 64TiB 或更大内存的服务器,x86_64 架构和 arm64 架构现在允许寻址的地址 ...

  6. 神了,无意中发现一位1500道的2021LeetCode算法刷题pdf笔记

    昨晚逛GitHub,无意中看到一位大佬的算法刷题笔记,感觉发现了宝藏!有些小伙伴可能已经发现了,但咱这里还是忍不住安利一波,怕有些小伙伴没有看到. 关于算法刷题的困惑和疑问也经常听朋友们提及.这份笔记 ...

  7. 无意中发现一位大佬的算法刷题pdf笔记

    昨晚逛GitHub,无意中看到一位大佬(https://github.com/halfrost)的算法刷题笔记,感觉发现了宝藏!有些小伙伴可能已经发现了,但咱这里还是忍不住安利一波,怕有些小伙伴没有看 ...

  8. 怎么在S4 HANA中使用40位物料编码

    物料编码长度曾经是个别特殊项目的"刚需",在ECC年代,要实现40位的物料编码还是挺多波折的,需要激活一个行业包(DIMP)来实现,这不,SAP也听到了大家的呼声,直接在S/4HA ...

  9. 交换一个整数二进制表示中的奇数位和偶数位

    题目 原文: 写程序交换一个整数二进制表示中的奇数位和偶数位,用尽可能少的代码实现. (比如,第0位和第1位交换,第2位和第3位交换-) 解答 这道题目比较简单.分别将这个整数的奇数位和偶数位提取出来 ...

最新文章

  1. VLC 关键模块结构分析
  2. slice 与 substring
  3. PHP全栈开发(八):CSS Ⅹ 导航栏制作
  4. 在Spring MVC中,InternalResourceViewResolver做什么?
  5. hoj2434 going to know him
  6. ajax then jquery,使用Jquery.ajax()。then()时无法.catch()错误
  7. ireport 用html页面上 图片怎么都出不来 全是红叉的处理办法
  8. 为解决WINDOWS JRE启动外壳,找了好几个方案
  9. HTML特殊字符转义
  10. 办公软件入门--word01
  11. python框架知乎_知乎网站构架变迁
  12. 绿色建筑推动海口智慧城市发展
  13. 甘特图控件VARCHART XGantt,解读活动组布局的“单独行中的节点”选项!
  14. python环境准备(二)
  15. 触动千亿电商市场 BitCherry星耀雅加达
  16. 安卓手机上编程开发环境
  17. 大数据开发(牛客)面试被问频率最高的几道面试题
  18. K-means clustering using random matrix sparsification(ICML2018)
  19. 无法在已有的 xxxxxxx“上还原文件 zzz。请重新发出 RESTORE 语句,用 WITH REPLACE 来覆盖原先存在的文件
  20. springmvc返回不带引号的字符串

热门文章

  1. 从苏宁电器到卡巴斯基第12篇:我在苏宁电器当营业员 IV
  2. HTML网页实现flv视频播放
  3. 系统梳理主流定时器算法实现的差异以及应用
  4. chouti的布局 ,chouti的主页面,ContentFragment界面
  5. 设计模式—抽象工厂模式(java实现示例)
  6. 杭电acm 1880魔咒词典(水题)
  7. Verilog中奇偶校验位的计算方法
  8. 超级计算机绘制的天气云图预报软件,Photozoom帮你解析风云变幻的气象云图
  9. “System.BadImageFormatException”类型的未经处理的异常在 halcondotnet.dll 中发生
  10. cloab:配置SGN图卷积