存储系统概述
一:层次化存储结构
↓ CPU:最快,容量小,成本高
↓ cache:按内容存取
↓ 主存(内存):随机存储器RAM,只读存储器ROM
↓ 辅存(外存):硬盘,光盘,u盘
速度慢
容量大
局部性原理是层次化存储结构的支撑
时间局部性:刚被方问的内容,立即又被方问
空间局部性:刚被方问的内容,临近的空间很快被访问
分类:
1.存储器位置:
内存 & 外存
2.存取方式
按内容存取:相联存储器(如cache)
按地址存: 随机存储器(如内存)
顺序存取存储器(如磁带)
直接存取存储器(如磁盘)
工作方式:
随机存取存储器RAM(如内存DRAM),内容掉电会丢失
只读存储器:内容不会丢失。如BIOS
eg:CPU方问存储器时,被访问数据一般聚集在一个较小的连续存储区域中,若一个存储单元已被访问,则其邻近的存储单元还有可能被访问该特性被称为:
A:数据局部性
B:指令局部性
C:空间局部性
D:时间局部性(√)
eg:虚拟存储器有()两级存储器构成
A:主存-辅存(√)
B:寄存器-cache
C:寄存器-主存
D:cache-主存
三级存储结构:cache --主存 --外存
eg:在微机系统中,BIOS保存在?
A:主板中的ROM(√)
B:CPU的寄存器
C:主板上的RAM
D:虚拟存储器
二:cache
在计算机的存储系统体系中,cache是访问速度最快的层次(若有寄存器,则寄存器最快)
使用cache改善系统性能的依据是程序的局部性原理
时间局部性:用到的数据,后面频繁用
空间局部性:用到的地址,相邻的地址频繁使用
cache概念
如果 h 代表cache的访问命中率,t1表示cache的周期时间,t2表示主存储器周期时间,以读操作为例,使用cache+主存储器的系统的平均周期为t3,则:
t3 = h *t1 +(1-h)*t2
其中,(1-h)又称为失效率(未命中率)
cache内容与主存的关系
直接相联映像:硬件电路简单,但冲突率很高
全相联映像:电路难于设计和实现,只适用于小容量的cache,冲突率较低
组相联映像:直接相联与全相联的折中
注:主存和cache直接的地址映射由硬件直接完成
eg:以下关于cache的叙述中,不正确的是?
A:cache的设置扩大了主存的容量(√)
B:cache的内容三十主存部分内容的拷贝
C:cache的命中率并不随其内容增大线性的提高
D:cache位于主存和cpu之间。
eg:在程序执行过程中,高速缓存在主存间的地址映射由?
A:操作系统进行管理
B:存储软件进行管理
C:程序员自行安排
D:硬件自动完成(√)
eg:主存与cache的地址映射方式中,(A)方式可以实现主存任意一块装入cache中任意位置,只有装满才需要被替换。
A:全相联(√)
B:直接映射
C:组相联
D:串并联
三:主存编址计算
主存–编址
存储单元:存储单元个数 = 最大地址-最小地址 +1
编址内容:
按字编址:存储体的存储单元是字符单元,即最小寻址单位是一个字
按字节编址:存储体的存储单元是字节存储单元,即最小寻址单位是一个字节。
总容量 = 存储单元个数 * 编址内容
根据存储器所要求的容量和选定的存储芯片的容量,就可以计算出所需芯片的总数,即:
总片数 = 总容量 / 每片容量。
eg:内存按字节编址,地址从A0000H到CFFFFH的内存,共有()字节,若用存储容量位64k x 8bit的存储器芯片构成该内存空间,至少需要多少片?
CFFFF+1 = D0000;
D0000-A0000=30000 = 3164B;//因为内存按字节编址 所以单位是字节
3216B / 210 =192KB;
192KB / 64K x 8bit = 3; //8bit = 1B
即 192KB /64 KB = 3;