按在计算机中的作用(层次)分类
主存
辅存
Cache
按存储介质分类
磁表面存储器:磁盘、磁带
磁芯存储器、半导体存储器:MOS、双极型存储器
光存储器:光盘
按存取方式分类
随机存储器:RAM,存取时间与物理位置无关,断电丢失
只读存储器:ROM,只读不写断电不丢失,内容固定不变
串行访问存储器:磁带、磁盘,读写时,需按物理位置先后寻址
按信息的可保存性分类:
易失性:断电信息丢失,RAM
非易失性:断电信息任在,ROM、磁表面存储器、光存储器
破坏性读出:读出时,被读单元存储信息被破坏,每次读出后必须再生,以恢复信息
非破坏性读出:读出时,被读单元存储信息不被破坏
数据传输率=数据的宽度/存储周期
存储容量=存储字数 X 字长
平均存取时间=命中率x命中时的存取时间+(1-命中率)x未命中的存取时间
地址线 (用于寻址) | 数据线 (用于读写) | 芯片容量 |
A | B | 2𝐴×𝐵 |
若容量是1024X8位,则说明地址线需要10根,数据线8根
地址复用技术:可以使地址线减少一半,但地址复用的片选线(1根)用行通选和列通选(2根)代替
SRAM:静态随机存储器,非破坏性读出
DRAM:(按行刷新)动态随机存储器,破坏性读出,隔段时间必须刷新,否则信息消失
刷新方法:
集中刷新:利用一段固定时间集中刷新,这一段时间内停止读写,称为 死时间,又称防存死区
分散刷新:把对每一行的刷新分散到各个时间,因此存储器的工作周期分为两部分,前半部分正常读写,后半部分用于刷新某一行。没有死区,但加长了存取周期,降低了整机的速度
异步刷新:将刷新周期除以行数,得到两次刷新间t,每隔t刷新一次,缩短了死时间
DRAM刷新:对CPU是透明的,不依赖于外部的访问
DRAM采用传2次地址的方式,所以只需要一半的地址线
读写控制线:当只有一根线时,𝑊𝐸(低电平写,高电平读)当有二根线时,𝑂𝐸(允许读),𝑊𝐸(允许写)
ROM类型:
MROM(掩模式只读存储器):厂家写入 无法改写 可靠性高 集成度高 便宜 灵活性差
PROM(一次可编程只读存储器):允许用户写入一次,一旦写入,无法改变
EPROM(可擦除可编程只读存储器):可以有限次擦写,且写入时间长
Flash Menmory(闪存):不用加电,长期保存,可快速擦写,便宜,集成度高
Solid State Drives(固态硬盘):可长期保存,快速擦写,低功耗,价格高
若芯片 2K×8位,则说明 2K是字,8位是位,2K往上涨是字扩展,8位那是位扩展
2K往上涨是要芯片上下叠加,8位往上则是芯片并联
2K×8位=2KB,按字节编址的话,就说明有2K个存储单元可以放东西
如果地址要以4B编址,则至少需要32位才能表示4B的地址,所以必须得位扩展到32位
双端口RAM:
多体并行存储器
1)高位交叉编址(顺序方式):高位地址为体号,低位地址为体内地址
2)低位交叉编制(交叉方式):低位地址为体号,高位地址为体内地址,采用流水线技术,一个存储周期可以连续访问体号x位数的量,比如有4个模块,每个模块32bit的字长,所以一个存储周期可以取4x32bit的量
体号:4体并行就是4个模块,所以体号是4
存储器交叉模块数(交叉存取度)m=T(取一个字的存取周期)/r(总线传送周期)
如果四体交叉编址,地址是8000和8004,则8000 mod 4 = 0 8004 mod 4 = 0 则8000和8004都在0模块,所以他们俩可能冲突,因为可能同时取
Cache和主存的映射方式
二路组映射(每组2块存储单元)
1、直接映射(对号入座
主存中的每一块只能装入Cache的唯一位置,导致冲突概率高,利用率低
𝑗:Cache块号(又称Cache行号)
主存字块标记记录的是阵列容量的标记信息。通俗的说,就是记录一些和替换算法有关,以及保持cache和主存数据一致性的一些信息。
2、全相联映射(空位随便放
3、组相联映射(按号分组,组内随便放
标记除了上面的固定标记位,还有 有效位(1bit/一定有)、脏位/一致性维护(1bit)、替换控制位
Cache中主存块替换算法:
1、随机算法
2、先进先出算法(FIFO)
3、近期最少使用算法(LRU)
4、最不经常使用算法(LFU)
Cache写策略:
写命中时:
1、全写法:把数据同时写入Cache和主存
2、写回法:只修改Cache,不立即写入主存,仅Cache中被换出时,才写入主存(一定有赃位)
写不命中时:
1、写分配法:加载主存中的块到Cache,然后更新这个Cache块。试图利用空间局部性,但每次不命中都需要加载一块到Cache。
2、非写分配法:直接写入主存,不进行调块。
通常组合:
全写法+非写分配法
写回法+写分配发
虚拟存储器
利用系统的局部性原理
扩大主存空间
实地址=主存页号+页内字地址
虚地址=虚存页号+页内字地址
辅存地址=磁盘号+盘面号+磁道号+扇区号
页式虚拟存储器
加快地址转换:快表(TLB)
采用全相联映射,用SRAM(快)
段式虚拟存储器
段页式虚拟存储器
逻辑分段,然后分页,所以以页作为单位交换内容
Cache中存放的是内存的副本
TLB快表中存放的是Page页表的副本
虚拟地址转换为物理地址,然后根据映射关系,看物理地址能映射到哪,从能映射的地方找标记和物理地址标记相同的,有相同的,就命中cache,没有就缺页