计算机体系结构基础知识介绍之缓存性能的十大进阶优化之小型且简单的一级缓存(二)

这篇具有很好参考价值的文章主要介绍了计算机体系结构基础知识介绍之缓存性能的十大进阶优化之小型且简单的一级缓存(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

缓存是一种高速的存储器,用于存放处理器经常访问的数据和指令。缓存的组织方式有多种,其中一种是按照不同的关联度(associativity)来划分。关联度表示一个缓存块(block)可以放在缓存中的位置数。关联度越高,缓存中可以容纳的不同块的数量越多,从而减少了冲突不命中(conflict miss)的概率。冲突不命中是指由于缓存中位置有限,导致两个或多个不同的块争夺同一个位置而发生的不命中。

优化一:小型且简单的一级缓存,减少命中时间和功耗

一级缓存的大小受到快速时钟周期和功率限制。 类似地,使用较低级别的关联性可以减少命中时间和功率,但这种权衡比涉及大小的权衡更复杂。

高速缓存命中的关键时序路径有三个步骤:使用地址的索引部分对标签存储器进行寻址、将读取的标签值与地址进行比较、以及设置多路复用器,这里是确保在高速缓存处于可用状态时选择正确的数据项。

关联较少的直接映射缓存可以将标签检查与数据传输重叠,有效减少命中时间。 此外,较低级别的关联性通常会降低功耗,因为必须访问的高速缓存行较少。

下图显示了缓存大小和关联性变化对命中时间的估计影响。 根据缓存大小,对于这些参数,模型表明直接映射的命中时间略快于两路组关联,并且两路组关联的速度是四路的 1.2 倍。

计算机体系结构基础知识介绍之缓存性能的十大进阶优化之小型且简单的一级缓存(二),计算机体系结构学习笔记,缓存

相对访问时间通常会随着缓存大小和关联性的增加而增加。 数据采用典型的嵌入式 SRAM 技术、单个存储体和 64 字节块。 关于缓存布局的假设以及互连延迟(取决于正在访问的缓存块的大小)与标签检查和多路复用的成本之间的复杂权衡偶尔会导致看似不太合理的结果,例如2-way64KB访问时间。 同样,随着缓存大小的增加,八路集关联性的结果会产生异常行为。 

在选择缓存大小和关联性时,能耗也是一个考虑因素,如下图所示。 当从直接映射到双向集关联时,较高关联性的能量成本范围从超过 2 倍到在 128 或 256 KiB 缓存中可以忽略不计。八路组关联高速缓存的巨大损失是由于并行读出八个标签和相应数据的成本造成的。

计算机体系结构基础知识介绍之缓存性能的十大进阶优化之小型且简单的一级缓存(二),计算机体系结构学习笔记,缓存

 另一种方法是按存储体组织高速缓存,以便访问仅激活高速缓存的一部分,即所需块所在的存储体。 多组缓存的主要用途是增加缓存的带宽。事实上多银行(multibanked)缓存的方法,它可以将缓存分成若干个部分(bank),每次访问只激活其中一个部分,从而节省能量并提高带宽。多核处理器中的L3缓存就是一种多银行缓存,它在逻辑上是统一的,但在物理上是分布的,每个核心只访问自己对应的L3缓存部分。

三个因素导致了一级缓存(L1 cache)使用更高的关联度。
第一个因素是许多处理器访问缓存需要至少2个时钟周期,所以增加关联度带来的命中时间(hit time)延长可能不是很重要。
第二个因素是为了避免TLB(转换后备缓冲器)成为关键路径,几乎所有的L1缓存都应该使用虚拟索引(virtually indexed),即用虚拟地址而不是物理地址来索引缓存。这样做会限制缓存的大小为页大小(page size)乘以关联度,因为只有页内的位才能用于索引。虚拟索引也可以解决在地址转换完成之前索引缓存的问题。
第三个因素是随着多线程(multithreading)的引入,冲突不命中可能会增加,所以更高的关联度更有吸引力。

这里简单介绍一下TLB:

TLB是translation lookaside buffer的简称,也就是地址转换缓存。它是一种存储虚拟地址和物理地址对应关系的高速缓存,用于加速内存访问。当处理器访问一个虚拟地址时,首先会在TLB中查找是否有相应的物理地址,如果有,就直接使用该物理地址访问内存,这叫做TLB命中(hit)。如果没有,就需要通过多级页表(page table)来查找物理地址,这叫做TLB不命中(miss)。这个过程比较耗时,所以TLB可以提高内存访问的效率。TLB通常位于处理器和缓存之间,或者缓存和主存之间,或者多级缓存的不同层次之间。

TLB成为关键路径的意思是,TLB的访问时间或者不命中率对内存访问的性能有很大的影响。如果TLB的访问时间太长,或者TLB不命中的概率太高,那么内存访问的效率就会降低,从而影响整个程序的执行速度。文章来源地址https://www.toymoban.com/news/detail-542768.html

到了这里,关于计算机体系结构基础知识介绍之缓存性能的十大进阶优化之小型且简单的一级缓存(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机体系结构基础知识介绍之缓存性能的十大进阶优化之减少命中时间和流水线访问和多组缓存增加带宽(三)

    路预测是一种高速缓存优化技术,它在高速缓存中保存额外的位来预测下一次高速缓存访问的路(或者组内的块)。这种预测可以提前设置多路选择器来选择期望的块,并且在那个时钟周期内,只进行一次标记比较,同时读取高速缓存数据。如果预测正确,高速缓存访问延迟

    2024年02月12日
    浏览(47)
  • 计算机体系结构基础知识介绍之缓存性能的十大进阶优化之关键词优先和提前重启以减少失误处罚、合并写入缓冲区以减少惩罚(五)

    处理器通常一次只需要缓存块中的一个字(word)。不要等待整个块被加载,而是在请求的字到达后就立即发送给处理器,并让处理器继续执行,同时填充块中的其他字。这两种具体的策略是: 优先(Critical word first)——从内存中先请求缺失的字,并在它到达后立即发

    2024年02月13日
    浏览(50)
  • 计算机体系结构

    目录 第一章 基本概念 1.虚拟计算机 2.计算机系统结构的定义 3.佛林(Flynn)分类法 4.Amdahl定律 5.CPU性能公式 6.程序访问的局部性原理 第二章 指令系统 1.数据表示与数据类型 2.浮点数的表示方式 3.编址方式 4.寻址方式 5.指令系统的优化设计  6.Huffman编码法 7.拓展编码 8.两种方

    2024年02月06日
    浏览(61)
  • 【体系结构】山东大学计算机体系结构知识点清单

    涵盖所有考点,复习绝对高效,点赞+留邮箱获取pdf版本 1. 计算机系统的层次结构 语言实现的两种基本技术: 翻译:先把 N+1 级程序全部转换成 N 级程序后,再去执行新产生的 N 级程序,在执行过程中 N+1 级程序不再被访问。 解释:每当一条 N+1 级指令被译码后,就直接去执

    2024年02月11日
    浏览(74)
  • [Linux]计算机软硬体系结构

    冯诺依曼体系结构的组成 现代计算机大多都遵守冯诺依曼体系结构 冯诺依曼体系结构的示意图如下: 冯诺依曼体系结构计算机由五大部件组成: 输入设备 输出设备 存储器(内存) 运算器 控制器 注:如今大多的计算机都将运算器和控制器集成到一起,被称作中央处理器,简称

    2024年02月13日
    浏览(46)
  • 【Linux】—— 详解计算机体系结构

    前言: 在之前,我们已经对Linux环境开发的基本工具进行了详细的学习。接下来,我们将要学习的第一大块便是关于计算机体系结构的知识!! 目录 前言 (一)冯诺依曼体系结构 基本介绍 木桶原理 数据流动过程 (二)操作系统 1、概念 2、感性理解 总结 在我写的《操作系

    2024年02月09日
    浏览(49)
  • 计算机体系结构(复习资料)

    1.存储程序计算机 (冯诺依曼):4部分                 运算器(用于完成数值运算)                 存储器(用于存储程序和数据)                 输入输出设备(用于完成计算机与外部信息交互)                 控制器(根据程序形成控

    2024年02月02日
    浏览(52)
  • 第一章、计算机组成与体系结构

    第一节.数据的表示   二进制转十进制:权值相加。即一个二进制数为1010.1,转为十进制为: $$ 小数点左边从0开始幂,小数点右边就是-1   十六进制转十进制:同样的,权值相加。即一个十六进制为100121,转为十进制为: $$ 十进制转二进制:整数位用短除法,除二取余,直到

    2024年02月03日
    浏览(55)
  • 【计算机组成原理与体系结构】指令系统

    目录 一、指令概述 二、指令分类 三、扩展操作码 四、指令寻址 五、数据寻址 六、x86汇编指令 计算机指令 :指示计算机硬件进行某种操作的命令 机器指令 :使用二进制编码来表示的计算机指令 能被计算机硬件系统识别并执行的特殊的0/1代码串(机器码) 指定了计算机硬

    2024年02月08日
    浏览(70)
  • 【计算机体系结构】什么是流水线?

    👉个人主页:highman110 👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容  目录 参考资料 前言 流水线 提高流水线效率的技术 超级流水线 超标量 分支预测 乱序执行 (21条消息) 流水线、超流水线、超标量(superscalar)技术对比(转)_沉迷科研刘

    2024年02月03日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包