zoukankan      html  css  js  c++  java
  • I-Cache和D-cache

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

    出于对简化设计的考虑,也为了提高系统的性能,本次设计采用了指令Cache(以下简称为ICache)和数据Cache (以下简称为DCache)分开的方式。在ICache中存储有微处理器需要的指令,在微处理器的取指阶段,通过程序计数器PC提供给ICache的地址,微处理器可以获取需要的指令。而DCache则是作为一个数据的存储,并提供对于Load/Store指令所要操作地址的数据,它地址则来自于ALU运算的结果。

    ICache和微处理器的接口以及ICache和L2 ICache的接口都是单向的。DCache和微处理器的接口以及DCache和L2 Cache的接口是双向的。这样处理的原因在于ICache存储的是指令,不需要更改所存储的数据的值。而DCache中存储的是数据,其值会根据指令操作的不同而改变。比如:在运行Store指令的时候会对DCache中相应地址进行写入数据的操作。

  • 相关阅读:
    document
    reg() replace
    BOM和DOM的区别
    注册表
    实现移动端通过下拉菜单栏实现pc端的导航栏
    通过ajax获取api,并且通过jquery获取自定义属性
    git的使用
    当盒子不设置width,而设置max-width遇到的问题
    CSS之position
    JavaScript之数组常用的方法
  • 原文地址:https://www.cnblogs.com/volva/p/11812448.html
Copyright © 2011-2022 走看看