• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

Cache的分类

b51e571cd485aa8b 2019-03-18 浏览量:970
Cache为什么还要分I-Cache,D-Cache,L2 Cache,作用是什么?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • Icache存指令的,Dcahche存数据的,I和D都是L1的缓存,​Icache大多都是顺序取指碰到分支指令也会跳转而Dcache访问的模式变化比较大.
    • 发布于 2019-03-18
    • 举报
    • 评论 0
    • 2
    • 0

其他答案 数量:10
  • 程序的指令部分和数据部分一般分别存放在两片不同的cache中,对应指令缓存(I-Cache)和数据缓存(D-Cache)。
    • 发布于2019-03-18
    • 举报
    • 评论 0
    • 2
    • 0

  • 一方面是cache的行为。Icache大多都是顺序取指碰到分支指令也会跳转而Dcache访问的模式变化比较大.也就是前者所说的pattern的问题.指令只有读和refill没有写而数据有读也有写.最重要的是冯氏的结构是指令和数据分离.I和D在一起只有相互干扰.
    另一个方面就是物理设计上考虑: 
    一个union的cache,同时需要数据和指令的访问,端口上是很难实现的。 
    所以一般在流水线的主干上都是采用分离的icache和dcache. 
    非主干的L2 cache从容量的角度考虑采用union的方式.
    • 发布于2019-03-18
    • 举报
    • 评论 0
    • 1
    • 0

  • 目的不同,设计和利用的方式不同。

    Icache和Dcache分别缓存马上要用到的指令和数据,它们同属于一级缓存

    L2 Cache是预测会用到的数据。

    • 发布于2019-03-18
    • 举报
    • 评论 0
    • 0
    • 0

  • 代码缓存,数据缓存,二极缓存,用于不同的数据的缓存啊,缓存程序与数据的区别
    • 发布于2019-03-18
    • 举报
    • 评论 0
    • 0
    • 0

  • 大体上是为程序缓存与数据缓存,有一些还有三级缓存,功能是可以自己设定的
    • 发布于2019-03-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 分为数据缓存,指令缓存,程序缓存,物理缓存,还有CPU的几级缓存
    • 发布于2019-03-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 按功能是分指令与数据的,一般的CPU分三级缓存之类的,是按使用频率分的
    • 发布于2019-03-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 因为缓存通信速率极快且容量少,负责不同指令流水线的缓存根据对应速率不同分为三级缓存,有效利用资源。

    • 发布于2019-03-20
    • 举报
    • 评论 0
    • 0
    • 0

  • I-Cache是缓存指令的,D-Cache是缓存数据的,分开缓存有助于提高效率

    至于L2-Cache,一般容量会比较大,速度低于数据与指令缓存

    • 发布于2019-03-20
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

Cache的分类