3.1存储器的分类:
按 存取方式 分类:
- 随机存取存储器(
RAM
, Random Access Memory),访问时间和地址无关。有:半导体存储器 - 顺序存取存储器(SAM),特点是容量大、存取速度慢。有:磁带
- 直接存取存储器(DAM,Direct Access Memory),先用RAM方式找到区域,然后再用SAM方式在区域内存取数据。有磁盘
- 只读存储器(
ROM
, Read Only Memory),特点是具有非易失性
按功能分类:
- 主存:存放运行时的代码和数据。通常由
MOS型半导体动态RAM
构成。价格高,容量小 - 辅存:通常由磁性材料或光介质的
DAM
构成。容量大。 - 高速缓冲存储器(Cache):位于主存和CPU之间,速度比主存快,是主存的高速缓冲,通常由
MOS型半导体静态RAM
构成 - 控制存储器:存放解释机器语言的微程序,在CPU内部,不需要修改,通常由MOS型半导体ROM构成。
3.7 虚拟存储器
基本概念:
虚拟存储器由主存
和与之相连的辅存(硬盘)
组成,虚拟存储器将地址空间统一编址。
用户能用到的地址为虚地址
(逻辑地址),实际上的地址为实地址
(物理地址)
CPU使用虚地址时,辅助硬件找到虚地址和实地址的对应关系,并确认实地址是否在主存中:
- 若在,CPU通过地址变换直接访问实际地址
- 若不在,通过替换算法换到主存中,再访问
也就是说CPU用到的数据会送入主存
根据虚拟地址对应实际地址的单位不同,分为页式、段式、段页式
页式:
主存和虚存的页大小相等
转换的关键就是将虚页号转化为实页号
例题:
TLB有效位为0说明可能在慢表(Page)中,需要去慢表中找,可以结合下面的流程图
标记:虚地址; 页框号:实地址
段式:
主要特点是段的大小可以改变
段表也在主存中
段页式:
先分段,段内再分大小相同的页,调入调出的基本单位是页
虚拟地址 = 段号 + 段内页号 + 页内地址
优点: 前两种的优点,按段实现共享和保护
缺点: 表都在主存中,访存开销较大
快表(TLB):
页表是在主存中的,访问比较慢。
根据局部性原理,把一段时间内常用的页表项,放在Cache中,这就是快表(TLB),主存中的页表也成为慢表(Page)
快表——慢表
关系类似与Cache——主存