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

    文章

    2303

    浏览量

    183258
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10816

    浏览量

    210980
  • SRAM存储器
    +关注

    关注

    0

    文章

    88

    浏览量

    13262
收藏 人收藏

    评论

    相关推荐

    RAM内存频率对性能的影响

    计算机系统中,RAM(随机存取存储器)是至关重要的组件之一,它直接影响着系统的响应速度和处理能力。内存频率,即
    的头像 发表于 11-11 09:52 176次阅读

    TAS2552模拟输入的情况下是否还具有auto-passthrough功能?

    请问一,TAS2552模拟输入的情况下是否还具有auto-passthrough功能?或者说模拟输入的情况下时候需要将booster
    发表于 10-23 07:36

    TL064使用低压单电源供电,还会有其他的负面影响吗?

    你好!我们的一块板子上,运放使用的是TL064,单电源+5V供电,板子对动态范围的要求不高,运放输出信号幅度不会超过2.5V,请问使用低压单电源供电,还会有其他的负面影响吗?
    发表于 09-24 08:31

    不牺牲尺寸的情况下提高脉搏血氧仪溶液的性能

    电子发烧友网站提供《不牺牲尺寸的情况下提高脉搏血氧仪溶液的性能.pdf》资料免费下载
    发表于 09-21 10:54 0次下载
    <b class='flag-5'>在</b>不牺牲尺寸的<b class='flag-5'>情况下</b><b class='flag-5'>提高</b>脉搏血氧仪溶液的<b class='flag-5'>性能</b>

    不影响性能或占用空间的情况下隔离您的CAN系统

    电子发烧友网站提供《不影响性能或占用空间的情况下隔离您的CAN系统.pdf》资料免费下载
    发表于 08-29 10:49 0次下载
    <b class='flag-5'>在</b>不影响<b class='flag-5'>性能</b>或占用空间的<b class='flag-5'>情况下</b>隔离您的CAN<b class='flag-5'>系统</b>

    为什么电容低电压情况下会发热

    本身存在内阻,低电压会导致电流增加,如果内阻相对较大,电容器内部的能量损耗增加,也会导致发热。 3、老化或劣化 :电容器长期使用后,可能会因为绝缘材料老化、劣化等原因增加介质损耗,即使低电压情况下,损耗功率依然较
    的头像 发表于 08-26 14:04 554次阅读
    为什么电容<b class='flag-5'>在</b>低电压<b class='flag-5'>情况下</b>会发热

    什么情况下会产生零序电流

    零序电流是指在三相电力系统中,三相电流的矢量和不为零的情况正常情况下,三相电力系统中的三相电流是平衡的,即三相电流的矢量和为零。但是,在
    的头像 发表于 07-15 14:53 3095次阅读

    iOS和Android蓝牙传输速度都非常的,有没有提高的方法?

    iOS和Android蓝牙传输速度都非常的,有没有提高的方法?
    发表于 06-05 06:53

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

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

    微星开始推送BIOS更新,支持禁用CEP功能提升性能

    EP也被称为Current Excursion Protection,其作用是通过电流过载保护保持CPU工作稳定。然而这个功能可能由于不同硬件平台及其搭配而对系统性能产生负面影响
    的头像 发表于 03-08 15:14 3874次阅读

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

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

    无功补偿什么情况下需要增设电容补偿

    无功补偿引发的电能损耗是很多用户需要解决的问题之一。某些情况下,为了降低无功功率的影响,需要增设电容补偿。
    的头像 发表于 01-18 14:18 918次阅读

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

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

    什么是always on buffer?什么情况下需要插always on buffer?

    相比普通的buffer cell,always on buffer(AOB)有secondary always on pin,可以让AOB即使primary power off的情况下保持on的状态;AOBsecondary
    的头像 发表于 12-01 15:31 2313次阅读
    什么是always on buffer?什么<b class='flag-5'>情况下</b>需要插always on buffer?

    如何在电压不稳的情况下保障SSD的稳定性能

    如何在电压不稳的情况下保障SSD的稳定性能
    的头像 发表于 11-24 15:50 590次阅读
    如何在电压不稳的<b class='flag-5'>情况下</b>保障SSD的稳定<b class='flag-5'>性能</b>?