weixin_44463178
哟蛤
采纳率50%
2021-03-03 10:01

CPU缓存的是什么......?

最近在学习《Java并发编程的艺术》这本书的时候得知:缓存的基本单位是缓存行,缓存行有64位的(还有其它位数的),如果是64位的,即代表可以缓存8个long类型的数据。但是如果将缓存数据写回内存的时候,缓存是如何知道这些数据原先是从哪里(即内存地址)取到的?

也就是说,如果缓存的是数据,那么它怎么知道写回内存的地址?如果缓存的是地址,那么缓存操作的数据实际上还在内存中,缓存了有啥用?

望解答

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • huanhuilong 幻灰龙 1月前

    强烈推荐 | 与程序员相关的CPU缓存知识: https://coolshell.cn/articles/20793.html

    点赞 评论 复制链接分享
  • qq_40062618 qq_1113502097 1月前

    基本单位是缓存行,但是CPU直接调用对象不是缓存行,而是寄存器,寄存器操作缓存行。不同寄存器里面缓存的内容是不一样的。此外还有总线与外界进行沟通。

    https://blog.csdn.net/yedushu/article/details/85068432

    点赞 评论 复制链接分享