0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在提高内存速度的情况下如何降低传输慢对系统性能带来负面影响

冬至配饺子 来源:天奇工作室 作者:LRC 2022-08-04 17:31 次阅读

程序和数据都是储存在内存上的,CPU要处理程序必须要频繁访问内存。但是内存传回CPU的速度要比CPU处理的速度来得慢。根据木桶效应,整体性能被内存传输的过程拖累了。在没有办法能提高内存速度的情况下如何降低传输慢对系统性能带来负面影响成为重要的研究课题。(感觉像写起了综述论文,咳咳)缓存这一技术应运而生。

我们知道程序运行具有一定规律——顺序和反复性,即顺序执行和循环执行。对于顺序执行,可以采取预读策略。即将后面的程序一并读取至缓存中,减少内存读取次数(注意CPU的读指令并没有减少,只是内存响应次数少了)。缓存行是缓存的基本单位,目前主流缓存行大小是64字节因为内存一次读操作是64字节,而64位CPU对数据的读取是8字节即64bit,因此若CPU要读的八字节落入某一缓存行中,该缓存行的内容将会全部从内存中被读取到缓存中,接下来的程序也被这次读写一并带到了缓存中去。对于循环执行,则正是缓存的强项,之前访问过的程序都存储在缓存中,再次读取时,直接可以从缓存而不是从内存中读取,大大提高了运行效率。

为什么缓存读取速度要比内存快呢?这就和缓存的底层电路原理有关系了。缓存采用的是SRAM存储器内建在CPU上,而内存采用的是DRAM。前者可以达到很高的读取速度但是面积占用比较大因此容量上不去,在几M容量就止步了。后者读取速度慢每次读取后都要刷新(有空再讲),但面积占用小,因此容量可以达到好几个G甚至几百几千个G。至于容量动辄几TB的硬盘那就要另当别论了。

缓存又有分为一级缓存、二级缓存等等。他们的速度也有所不同,从一级缓存以后读取速度依次降低。为什么呢?虽然都是采用的SRAM存储器,但是数据检索需要时间,数据存储量大的三级缓存找的时间就比数据存储量小的一级缓存找的时间久。为什么要找呢?不是直接根据地址选出对应的数据就行了吗?这个过程所需时间与其存储的数据容量有什么关系呢?在内存中、在CPU的寄存器组中这个过程所需时间确实与数据容量没有太大关系。那怎么规则到缓存这里就变了呢?

如果把内存比作图书馆的书架,那么缓存就像是CPU面前的一张桌子。给你地址让你去找CPU想要的数据,如果你是在书架上找,你可以很清楚这个数据放在哪一行哪一列,如果恰好你运动速度是光速的话,那么你总能在一个确定的时间内拿到CPU想要的数据。可是缓存就不一样了,书就在你面前,还乱糟糟的,你需要翻阅查看地址是否对应上了。因此桌子越大,你找得也就越慢。

就没有别的办法了吗?当然有。桌子乱可以整理整理嘛。比如规定一下,第一书架的书只能放在桌子上的A区,第二书架放B区……以此类推。这样一来,找的人便会方便很多,放的人也没有什么困难。后者的办法被称为组关联,组关联还分为一路组关联、双路组关联、四路组关联等等。组关联就没有坏处吗?也有。如果桌子太小了怎么办?划分出来的每个区连一本书都放不下怎么办?

我程序一直在读取某个书架上的书怎么办?别的区域不能放该书架上的书,而该书架的书已经在该区域摞得老高了,这样缓存利用效率就很低下。



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • DRAM
    +关注

    关注

    40

    文章

    2166

    浏览量

    181945
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10412

    浏览量

    206475
  • SRAM存储器
    +关注

    关注

    0

    文章

    86

    浏览量

    13141
收藏 人收藏

    评论

    相关推荐

    stm32系列具有I2S功能的芯片,使能DMA传输情况下怎么去发送?

    stm32系列具有I2S功能的芯片,使能DMA传输情况下,启动I2S,第一次发送(左声道),是先发送,还是先由DMA送数再发送?如果先发送,那么DMA传输
    发表于 03-22 07:14

    如何在不更换固件的情况下控制cyusb3014USB 2.0和USB 3.0模式的读写速度

    您好,我想通过上层机测试cyusb3014 USB 2.0和 USB 3.0模式的读写速度。 如何在不更换固件的情况下控制是通过上位机以 USB 2.0 还是 USB 3.0
    发表于 02-27 06:24

    温度很低的情况下,电机效率会降低吗?

    温度很低的情况下,电机效率会降低吗  电机在工业和家庭中广泛应用,其效率是评估其性能的重要指标之一。然而,温度是影响电机效率的关键因素之一。本文将探讨低温对电机效率的影响,并提出一些应对措施,以保证
    的头像 发表于 01-04 11:26 600次阅读

    阿里巴巴:终止云业务的完全分拆 以应对美芯片出口管制带来负面影响

    阿里巴巴在财政报告中指出,2023年10月,美国将扩大出口控制规则,进一步限制向中国出口先进的电脑芯片和半导体制造设备。公司认为,这样的新限制会对云智能的产品及服务提供能力和现有合同履行能力产生重大的负面影响
    的头像 发表于 11-17 09:29 270次阅读

    查看Linux系统内存使用情况的几种方法

    在Linux系统中,内存监控是优化系统性能的关键。本文为你介绍12种方法,帮助你全面掌握Linux系统内存使用
    的头像 发表于 11-13 09:30 1667次阅读
    查看Linux<b class='flag-5'>系统</b><b class='flag-5'>内存</b>使用<b class='flag-5'>情况</b>的几种方法

    如何在不烧写的情况下使用软件读取ESP8266内存容量?

    如何在不烧写的情况下使用软件读取ESP8266内存容量
    发表于 11-10 08:06

    ADC输入内阻不配情况下提高ADC准确度方法

    ADC输入内阻不配情况下提高ADC准确度方法
    发表于 10-19 07:39

    LDO 基础知识:噪声 - 前馈电容器如何提高系统性能

    LDO 基础知识:噪声 - 前馈电容器如何提高系统性能
    的头像 发表于 10-17 16:43 516次阅读
    LDO 基础知识:噪声 - 前馈电容器如何<b class='flag-5'>提高</b><b class='flag-5'>系统性能</b>?

    数据在内存的存储中右对齐是什么情况下使用?

    数据在内存的存储中右对齐是什么情况下使用
    发表于 10-15 11:20

    LDO基础知识:噪声-降噪引脚如何提高系统性能

    LDO基础知识:噪声-降噪引脚如何提高系统性能
    的头像 发表于 09-18 10:58 742次阅读
    LDO基础知识:噪声-降噪引脚如何<b class='flag-5'>提高</b><b class='flag-5'>系统性能</b>

    闪烁噪声会影响MOSFET的哪些性能

    能会对MOSFET的频率稳定性、相位噪声和总体性能产生负面影响振荡器中,闪烁噪声本身表现为靠近载波的边带,其他形式的噪声从载波延伸出来,频谱更平坦。随着与载波的偏移量的增加,闪烁噪声会逐渐衰减,直到
    发表于 09-01 16:59

    一文带你详解芯片--SL8541e-系统性能优化

    入过GPU渲染,也还是。 根据上述情况可以判断:这是常见基础资源充足的情况下的应用交互问题。 没法直观的看到资源差距,我们的思路就是:从正面评价看差距,针对性分析和优化。 如何正面
    发表于 08-22 09:12

    如何在降低噪声性能情况下设计良好的PCB布局

    本文档的目的是帮助用户了解如何在降低噪声性能情况下设计良好的PCB布局。在采取本文档中提到的对策后,有必要进行全面的系统评估。本文档提供了有关RL78 / G14样品板的说明。
    的头像 发表于 07-24 14:42 272次阅读
    如何在<b class='flag-5'>降低</b>噪声<b class='flag-5'>性能</b>的<b class='flag-5'>情况下</b>设计良好的PCB布局

    如何提高evkmimxrt1170_dev_msc_disk_bm_cm7示例的传输速度

    。我们使用 SDK 示例 evkmimxrt1170_dev_msc_disk_bm_cm7 作为起点,但我们需要提高传输速度。 考虑到正在使用的两个 USDHC 模块,QSPI NOR 闪存的引出
    发表于 06-08 09:07

    使用Synopsys智能监视器提高Arm SoC的系统性能

    在使用 AXI 总线移动大量数据的 SoC 中,AXI 总线的性能可能会成为整体系统性能的瓶颈。SoC 中日益增加的复杂性和软件内容,因此需要使用实际数据有效载荷在硅前进行左移性能验证。硬件辅助验证
    的头像 发表于 05-25 15:37 578次阅读
    使用Synopsys智能监视器<b class='flag-5'>提高</b>Arm SoC的<b class='flag-5'>系统性能</b>