第五章存储体系5_2

5.3主存储器与CPU相连

现代微型计算机PC的主存储器基本包括两个部分:一个是ROM(只读存储器),就是不受电源影响,非易失性存储器。一般存放的是生产厂家烧写的固定指令和数据。另一个组成部分是RAM(随机读写存储器)

5.3.2存储容量的扩展

  1. 位扩展:目的是增加同一个地址的存储单元位数。
  2. 字扩展:是为了增加存储器中字的数量,即容量扩展。
  3. 字位扩展:先位扩展再字扩展。

    5.3.3主存储器与CPU的连接

    这是重点也是难点

    5.4高速存储器

    提高存储器速度有以下几条有效途径:
  4. 主存采用更加高速的技术来缩短存取器的读取时间,或者加长存储器的字长,使CPU一次可存取的数据宽度加长。
  5. 采用并行操作的多端口存储器。
  6. 在CPU和主存之间加入一个高速缓冲存储器(Cache),以缩短读取时间。
  7. 在每个存储周期中存取几个字。

    5.4.1双端口存储器

    是指同一个存储器具有两组相互独立的读/写控制线,允许两个独立的CPU或控制器异步的访问存储单元。

    5.4.2多交叉存储器

  • 多交叉存储器可以在不改变每个存储体存储周期的情况下,提高存储器的带宽
  • 采用M个存储体流水式并行存取得方式,对CPU连续访问的M个字成块传送,可以大大提高存储器的带宽。
  • 每个存储体的字长都等于数据总线宽度。
  1. 带宽=信息量(N个字*字长)/单位时间(读取分子字数所花的时间)
  2. 模块数就是体数M,字长乘以字数就是信息总量,时间用T(存取周期)+(N-1)* t(总线传送周期)

    5.4.3相联存储器

    相联存储器是一种随机存取类的存储器,在相联存储器中,一个字是通过他的部分内容而不是他的地址进行检索的。

    5.5高速缓冲存储器

  • 它由高速SRAM组成
  • Cache不是主存储器容量的扩充,它保存的内容是主存储其中某些单元的副本。

    5.5.1Cache的基本原理

  1. CPU与Cache之间的数据交换以字节为单位,而Cache与主存储器之间的数据交换以字块为单位。
  2. 在Cache中数据块的大小称为行,在主存中的数据块的大小称为块,块与行是等长的。
  3. Cache除了包含存储体系,还包含控制逻辑。
  4. 根据CPU访问读一个字的情况:
    1. 读命中
    2. 读不命中
    3. 解决读不命中的方法:
      1. 将主存中的该字的数据块复制到Cache,然后将这个字传给CPU。
      2. 启动常规的主存读周期,把该字从主存中读出并送到CPU,于此同时,把字的数据块从主存中读出送到Cache。
  5. 根据CPU写一个字的情况:
    1. 写不命中,直接写入主存中,且不写入Cache
    2. 写命中,有两种方式处理:
      1. 对主存写操作也对Cache进行,称为“写贯穿策略”
      2. 只对Cache操作,仅当Cache的行被替换时,相应主存的内容才被修改,称为“写回策略”
  6. Cache的命中率。

    5.5.2主存储器与Cache的地址映射方式

    1.直接映射

  7. 直接映射是一种多对一的映射关系,主存的一块只能复制到Cache的一个特定行位置上去。
  8. 主存地址被划分成块内地址b、字块地址c和高位标记t(m-c)三个部分。
  9. CPU给出m+b为主存地址,Cache中的控制逻辑将中间的c位地址取出。
  10. 直接映射方式的缺点是机制不灵活,Cache命中率低。

    2.全相联映射

  11. 全相联映射中,主存地址被划分成块内地址和高位标记地址两部分。
  12. CPU给出了一个字m+b的主存地址,为了实现快速检索,主存地址中的m位的块号与Cache中所有行标记同时在比较器中比较。
  13. 优点是机制灵活、命中率高。
  14. 缺点是比较器电路难于设计和实现,因此只适合于小容量的Cache。

    3.组相联映射

  15. 组相联的方式是将Cache分成2^(c-r)组,每组r行,主存中的字块放Cache到哪个组是固定的,映射到哪一行是不确定的。有如下函数关系:j = (i mod 2^(c-r))乘以 2^r + k,其中,0 <= k <= z^r - 1
  16. 大大增加了映射的灵活性,提高了命中率。

猜你喜欢

转载自www.cnblogs.com/tsruixi/p/10741051.html