高速缓存(Cache):用来存放当前最活跃的程序和数据。
- 特点:容量一般在几千字节到几兆字节之间,速度比主存快5~10倍。
- Cache的工作方式:判断CPU要访问的信息是否在Cache里面,如果在即命中,不在即没有命中。未命中的,需要按照替换原则将主存的一块信息放到Cache的某一块里面。
地址映像:CPU工作时候是给的主存的地址,若要从Cache里面读取信息,则需要将主存地址转换成Cache的地址。
前提:
分类:
1. 直接映像
- 主存的块与Cache块对应关系是固定的。
- 主存地址:主存区号,区内块号,块内地址
- 优点地址变换简单,缺点灵活性差
主存先分区再分块,每一块的大小跟Cache一样。若主存内容 1MB ,Cache为 16KB ,块的大小 512B.
则Cache可分为多少块? 16KB / 512B = 32 块
则主存可分为多少个区? 1MB / 16KB = 64 区
主存地址:主存区号,区内块号,块内地址
因为Cache有所以地址占位最少5位,主存有
,所以地址占位最少6位。
若主存区号占位8位,则主存地址最少占位 8+5+6=19 位。
2. 全相联映像
主存与Cache存储器均分成容量相同块,这样映射方式允许主存的任意一块可以调入Cache存储器的任意一块。
- 优点:主存的块调入Cache的位置不受限制,十分灵活。
- 缺点:无法从主存块号中直接获得所对应Cache的块号,变换十分复杂,速度比较慢。
3. 组相联映像
- 组采用直接映像方式而块采用全相联映像方式。