备战软考04——存储系统

9:01 9月25日 周三
2.计算机组成与结构.pdf
3
存储系统
文老师软考教育
CPU内部
通用寄存器
Cache
主存储器
联机磁盘存储器
脱机光盘、磁盘存储器
◆计算机采用分级存储体系的主要目的是为了解决存储容量、成本和速度
之间的矛盾问题。
◆两级存储:Cache-主存、主存-辅存(虚拟存储体系)
◆局部性原理:总的来说,在CPU运行时,所访问的数据会趋向于一个较
小的局部空间地址内,包括下面两个方面:
时间局部性原理:如果一个数据项正在被访问,那么在近期它很可能会被
再次访问,即在相邻的时间里会访问同一个数据项。
空间局部性原理:在最近的将来会用到的数据的地址和现在正在访问的数
据地址很可能是相近的,即相邻的空间地址会被连续访问。
或退款、他们断更新日残缺。可找我店促费知元整新台
3
存储系统
文老师软考教育
◆高速缓存Cache用来存储当前最活跃的程序和数据,直接与CPU交互,
位于CPU和主存之间,容量小,速度为内存的5-10倍,由半导体材料构成。其内容是主存内存的副本拷贝,对于程序员来说是透明的
Cache由控制部分和存储器组成,存储器存储数据,控制部分判断CPU要访问的数据是否在Cache中,在则命中,不在则依据一定的算法从主存中替换。
◆地址映射:在CPU工作时,送出的是主存单元的地址,而应从Cache存储器中
读/写信息。这就需要将主存地址转换为Cache存储器地址,
地址映像,由硬件自动完成映射,分为下列三种方法:
这种

9:01 9月25日 周三
2.计算机组成与结构.pdf
文老师软考教育
存储系统
◆直接映像:将Cache存储器等分成块,主存也等分成块并编号。主存中的块与Cache中的块的对应关系是固定的,也即二者块号相同才能命中。地址变换简单但不灵活,容易造成资源浪费。(如图所示)
主存区号主存区号主存区号
第0块
第1块
第0块
第n块
第0块
第0区
第n块
第1区
第0块
第n块
第M区
3.存储系统
文老师软考教育
主存块号
主存块号
主存块号
第0块第1块第2块
第0块
第7块
第8块
第16块
◆全相联映像:同样都等分成块并编号。主存中任意一块都与Cache中任意一块对应。因此可以随意调入Cache任意位置,但地址变换复杂,速度较慢。因为主存可以随意调入Cache任意块,只有当Cache满了才会发生块冲突,是最不容易发生块冲突的映像方式。
主存块号
第块
第1k块
第nk块
◆组组相连映像:前面两种方式的结合,将Cache存储器先分块再分组,主存也同样先分块再分组,组间采用直接映像,即主存中组号与Cache中组号相同的组才能命中,但是组内全相联映像,也即组号相同的两个组内的所有块可以任意调换。

9:02
9月25日周三
2.计算机组成与结构.pdf
存储系统
文老师软考教育
◆替换算法的目标就是使Cache获得尽可能高的命中率。常用算法有如下几种。(1)随机替换算法。就是用随机数发生器产生一个要替换的块号,将该块替换出去。
(2)先进先出算法。就是将最先进入Cache 的信息块替换出去。
(3)近期最少使用算法。这种方法是将近期最少使用的Cache中的信息块替换
出去。
(4)优化替换算法。这种方法必须先执行一次程序,统计Cache的替换情况.
有了这样的先验信息,在第二次执行该程序时便可以用最有效的方式来替换。
3
存储系统
文老师软考教育
◆命中率及平均时间
Cache有一个命中率的概念,即当CPU所访问的数据在Cache中时,命中,直接从Cache中读取数据,设读取一次Cache时间为1ns,若CPU访问的数据不在Cache中则需要从内存中读取,设读取一次内存的时间为1000ns,若在CPU多次读取数据过程中,有90%命中Cache,则CPU读取一次的平均时间为(90%*1+10%*1000)ns

9:02 9月25日周三
2.计算机组成与结构.pdf
3
存储系统
文老师软考教育
◆磁盘结构和参数
磁盘有正反两个盘面,每个盘面有多个同心圆,每个同心圆是一个磁道,每个
同心圆又被划分为多个扇区,数据就被存放在一个个扇区中。
磁头首先要寻找到对应的磁道,然后等待磁盘进行周期旋转,旋转到指定的扇
区,才能读取到对应的数据,因此,会产生寻道时间和等待时间。公式为:
存取时间=寻道时间+等待时间(平均定位时间+转动延迟)
注意:寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区
转到磁头下方所用的时间。
3
存储系统
文老师软考教育
◆磁盘调度算法
之前已经说过,磁盘数据的读取时间分为寻道时间+旋转时间,也即先找到对应的磁道,而后再旋转到对应的扇区才能读取数据,其中寻道时间耗时最长,需要重点调度,有如下调度算法:
先来先服务FCFS:根据进程请求访问磁盘的先后顺序进行调度。
最短寻道时间优先SSTF:请求访问的磁道与当前磁道最近的进程优先调度,使得
每次的寻道时间最短。会产生“饥饿”现象,即远处进程可能永远无法访问。
扫描算法SCAN:又称“电梯算法”,磁头在磁盘上双向移动,其会选择离磁头当前所在磁道最近的请求访问的磁道,并且与磁头移动方向一致,磁头永远都是从里向外或者从外向里一直移动完才掉头,与电梯类似。
单向扫描调度算法CSCAN:与SCAN不同的是,其只做单向移动,即只能从里向
外或者从外向里。

posted @ 2024-09-25 21:07  新晋软工小白  阅读(3)  评论(0编辑  收藏  举报