存储器
对存储器中内存单元的读取操作,需要使用地址译码器,根据指定的地址信息找到该内存单元。
存储器的容量:M = 字*字长
地址线决定字
数据线决定字长
存储器的分类
存储器按在计算中的作用分类:
主存储器:(DRAM)
辅助存储器: 磁盘、光盘
高速缓冲存储器(cache):(SRAM)
控制存储器:为只读存储器,存储计算机系统使用到的指令集
存储器的扩展
位扩展:存储器的存储单元数不变,每个单元的位数(字长)增加。(一次传送的数据多了)
->地址总线并联、控制总线并联、数据总线串联
字扩展:每个单元位数不变,增加单元数。(一次传送的数据不变)
->地址总线并联、控制总线串联、数据总线并联
cache
cache、CPU、主存之间的数据交换
cache与CPU之间的数据交换是以字为单位,cache与主存之间的数据交换是以块为单位。
cache的命中率h:
cache/主存系统的平均访问时间ta:
ta=h×tc+(1-h)×tm
访问效率e:
主存到cache的地址映射:
全级联映射:一对多(可以映射到任意位置)
直接级联映射:多对一(只能映射到指定的位置、做模运算)
组级联映射:多对多(可以映射到指定组中的任意位置、是全级联映射和直接映射的折中)
替换策略;
常用的替换策略有三种:
->随机替换
->最不经常使用算(LFU)法(替换几乎没有被使用过的、替换访问次数最少的行)
->近期最少只用(LRU)算法(用最近的过去预测最近的未来、替换计数器最大的行)
综合列题 :
虚拟存储器
按对程序的分割方式不同分类:
页式虚拟存储器、段式虚拟存储器、段页式虚拟存储器
页式虚拟存储器
优点:实现程序的离散装入
实现程序的部分装入
缺点:分页无逻辑意义,不利于存储保护
段式虚拟存储器:
优点:段的界限分明,支持程序的模块化设计,易于对程序段的编译、修改和保护;便于多道程序的共享
缺点:大小不固定,分配主存时比较麻烦
对存储空间的利用率有影响
段表庞大查表速度慢
虚拟存储器与cache的比较:
对于虚拟存储器来说,其通过局部性原理(时间局部性和空间局部性),来提高存储系统的性能,其实现的原理与cache一样;区别点在于cache是由硬件完成的性能提升,而虚拟存储器是由硬件和软件相结合来实现存储系统性能的提升。
虚拟存储器通过查询TLB表来判断程序是否在页表中;cache通过查询CAM判断数据是否在cache中。