C专家编程 第7章 对内存的思考 7.4 cache存储器

本文探讨了CPU Cache的工作原理,包括其作为CPU和内存之间高速缓冲的角色,以及全写法和写回法两种策略。通过举例说明,阐述了如何影响程序性能,并提到了在特定情况下可能导致性能下降的内存对齐问题。最后,强调了优化内存操作的重要性,如memcpy()函数的优化设计。
摘要由CSDN通过智能技术生成

    cache存储器
    cache存储器是多层存储概念的更深扩展。它的特点是容量小、价格高、速度快。cache位于CPU和内存之间,是一种极快的存储缓冲区。从内存管理单元(MMU)的角度看,有些机器的cache是属于CPU一侧的。在这种情况下,cache使用的是虚拟地址,在每次进程切换时,它的内容必须进行刷新。也有一些机器的cache从MMU的角度看是属于物理内存一侧的,在这种情况下,cache使用的是物理地址,这就容易使多处理器CPU共享同一个cache。

                           CPU
                             ^
                             |
    虚拟地址--->cache存储器 
                             |                                (物理地址 )
                       内存管理单元        --->       物理内存
                
    当数据从内存读入时,整行(一般16字节或32字节)的数据被装入cache。如果程序具有良好的地址引用局部性(如,它顺序浏览一个字符串),那么CPU以后对临近数据的引用就可以从快速的cache读取,而不用从缓慢的内存中读取。cache操作的速度与系统的周期相同,所以一个50MHz的处理器,其cache的存取周期为20ns。

    cache包含一个地址的列表以及它们的内容。随着处理器不断引用新的内存地址,cache的地址列表也一直处于变化中。所有对内存的读取和写入操作都要经过cache。当处理器需要从一个特定的地址提取数据时ÿ

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_40186813

你的能量无可限量。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值