计算机的存储器与高速缓存

一、存储器的分类

1.【按存储介质分类】半导体存储器(U盘、内存)、磁存储器(磁盘、磁带)
2.【按存取方式分类】随机存储器(RAM)、串行存储器、只读存储器(ROM)

二、存储器的层次结构

在这里插入图片描述

三、局部性原理

CPU存取指令/数据都在一个较小的区域内完成(将程序经常访问的内存置换到缓存内)

四、主存储器和辅助存储器

1.RAM

RAM通过电容存储数据,切断电源后数据将丢失
32位系统所能寻址的最大内存为232 = 4096MB = 4GB
64位系统所能寻址的最大内存为264 = 16777216TB = 4EB

2.磁盘

①【先来先服务算法】按顺序访问进程的磁道读写需求
②【最短寻道时间优先算法】优先访问离磁头最近的磁道
③【扫描算法】每次只往一个方向移动,到达一个方向需要服务的尽头再反方向移动
④【循环扫描算法】基于扫描算法,从当前位置起,往最近的需求方向移动(双向)

五、高速缓存

1.字与子块

【字】一个存储单元的二进制代码组合
【字块】被看作一个单元的一组字
假设一个字有32位,一个子块有B个字,主存共有M个子块;字的地址包含两部分,前m位指定子块的地址,后b位指定字在字块中地址,有以下结论:
M = 2m
B = 2b
主存总字数 = B * M
主存总容量 = B * M * 32(bits)

2.命中率

命中率是衡量高速缓存性能的重要指标,它表示每次从高速缓存中获得数据的成功率
在这里插入图片描述

3.高速缓存的替换策略

①【先进先出算法FIFO】把高速缓存看成一个队列,优先替换最先进入队列的字块
②【最不经常使用算法LFU】记录字块的使用频率,优先淘汰最不经常使用的字块
③【最近最少使用算法LRU】优先淘汰一段时间内没有使用的字块,把当前访问节点置于链表前面

发布了48 篇原创文章 · 获赞 4 · 访问量 6187

猜你喜欢

转载自blog.csdn.net/Knightletter/article/details/102393581