虚拟存储器
虚拟存储器是一个逻辑上的概念
虚地址(逻辑地址):用户编制程序时使用的地址
虚空间(逻辑地址空间):虚地址所对应的存储空间的地址
实地址(物理地址):计算机物理内存访问的地址
物理存储空间(主存空间):物理地址所对应的存储空间
程序的再定位:程序进行从虚地址到物理地址的转换的过程
页式虚拟存储器
虚拟空间与主存空间都被划分成为同样大小的页,主存的页称为实页,虚存的页称为虚页
虚存的地址:虚页号+页内地址
页表基址寄存器:存放的是页表的起始地址
页表项地址:页表的起始地址+虚页号,该地址对应的是虚页号所对应的实页号所在的表项(主存地址)
实页号+页内地址=主存中的实际地址
段式虚拟存储器
段式虚拟存储器中的段是按程序的逻辑结构划分的,各个段的长度因程序而异。
虚拟地址分为两部分:段号和段内地址
段表:每一行记录了与某个段对应的段号、装入位、段起点和段长等信息。由于段的长度可变,所以段表中要给出各段的起始地址与段的长度。
段页式虚拟存储器
把程序按逻辑结构分段,每段再划分为固定大小的页主存空间也划分为大小相等的页,程序对主存的调入、调出仍以页为基本传送单位
每个程序对应一个段表,每段对应一 个页表。
虚拟地址:段号+段内页号+页内地址
快表TLB
页表、段表存放在主存中,收到虚拟地址后要先访问主存,查询页表、段表,进行虚实地址转换。
放在主存中的页表称为慢表(Page)。
提高变换速度–>用高速缓冲存储器存放常用的页表项–>快表(TLB)