目录
1、层次化存储系统
1.1、局部性原理
在计算机体系中,存储器系统可以大致分为四个层次。
cpu在执行调度的时候,每次只会取一部分数据,因此cpu本身的速度快,但容量小。
层次化存储系统的分层理论依据是局部性原理
- 时间局部性:刚被访问的内容,立即会被再次访问
- 空间局部性:刚被访问的内容,临近的内容很快会被访问。
虚拟存储体系:指的是内存+外存
三级存储结构:指的是内存+外存+cache
1.2、分类
1.2.1、存储器位置分类
- 内存
- 外存
1.2.2、存取方式分类
- 按内容存取:相联存储器(cache)
- 按地址存取:随机存取存储器(内存),顺序存取存储器(磁带),直接存取存储器(磁盘,结合随机与顺序)
1.2.3、工作方式
- 随机存取存储器(RAM),如内存,掉电会导致数据丢失
- 只读存取器(ROM),如BIOS,掉电不会导致数据丢失
2、Cache
2.1、概述
Cache是在整个层次化存储系统中除了寄存器之外速度最快的层次。
使用Cache改善系统性能的依据是程序的局部性原理,即上文中的时间,空间局部性。
如果以h代表对Cache的访问命中率,t1代表Cache的周期时间,t2表示主存储器周期时间,以读操作为例,使用Cache+主存储器的系统的平均周期为t3,则:
t3=h×t1+(1-h)×t2
其中1-h又称为失效率(未命中率)
2.2、Cache与主存的关系
主存与Cache之间的地址映射由硬件直接完成。
- 直接相联映像:硬件电路较简单,但冲突率高(主存存入Cache指定位置)。
- 全相联映像:电路设计与实现复杂,只适用于小存量的Cache,冲突率较低(主存存入Cache任意位置,存满替换)。
- 组相联映像:直接相联与全相联的折中
3、主存编址计算
计算机中的基础存储单位是bit,一般几个bit为一组,称之为存储单元。
存储单元一般会进行声明,若不声明,则为8个bit位(一个字节大小)。
存储单元地址可以理解为行号,即将存储单元纵向排列,每一个存储单元的行号都不尽相同,通常以0开始,因此长度需要+1计算。
总容量为存储单元个数×编制个数
总片数为总容量÷每片的容量
其中需要注意的是,1K=,1M=
K=
,1G=
M=
K=
,在进行计算时需要转换。