计算机存储系统的层次结构
计算机采用分级存储体系的主要目的是为了解决存储容量,成本和速度之间的主要矛盾问题。
两级存储: Cache-主存,主存-辅存(虚拟存储体系)
局部性原理:总的来说,在CPU运行时,所访问的数据会趋向于一个较小的局部空间地址内,包括下面两个方便:
时间局部性原理-如果一个数据项正在被访问,那么在近期它可能被再次访问,即在相邻的时间里会访问同一个数据项。
空间局部性原理- 在最近的将来会用到的数据的地址和现在正在访问的数据地址很可能时相近的,即相邻的空间地址会被被连续访问。
高速缓存Cache用来存储当前最活跃的程序和数据,直接与CPU交互,位于CPU和主存之间,容量小,速度为内存的5-10倍,由半导体材料构成。器内容是主存内存的副本拷贝,对程序员来说是透明的。
Cache由控制部分和存储部分组成,存储器存储数据,控制部分判断CPU要访问的数据是否在Cache中,在则命中,不在则依据一定的算法从主存中替换。
地址映射:在CPU工作时,送出的是主存单元的地址,而应从Cache存储器中读写信息,这就需要将主存地址转换为Cache存储器地址,这种地址的转换称为地址映射,由硬件自动完成映射,分为下列三种方式:
直接映射:将Cache存储器等分成块,主存也等分成块并编号。主存中的块与Cache中块的对应关系是固定的,也即二者块号相同才能命中。地址变换简单但不灵活,容易造成资源浪费。
全相联映像:同样都是等分成块并编号。主存中任意一块都与Cache中任意一块对应。因此可以随意调入Cache任意位置,但地址变换复杂,速度较慢。因为主存可以随意调入Cahce任意块,只有当Cache满了才会发生块冲突,是最不容易发生块冲突的映像方式。
组组相连映像: 前面两种方式的结合,将Cache存储器先分块再分组,主存也同样先分块再分组,组间采用直接映像,即主存中组号与Cahce中组号相同的组才能命中,但是组内全相联映像,也即组号相同的两组内的所有块可以任意掉换。
Cache命中率
当CPU所访问的数据在Cache中时,称为命中,直接从Cache中读取数据,否则没有命中,需要从主存中读取所需的数据。
总线结构
通常分三类:
内部总线:内部芯片级别的总线,芯片与处理器之间通信的总线
系统总线:是板级总线,用于计算机内部各部分之间的连接,具体分为数据总线(并行数据传输位数),地址总线(系统可管理的内存空间的大小),控制总线(传送控制命令)。代表由ISA总线,EISA总线,PCI总线。
外部总线:设备一级的总线,微机和外部设备的总线。代表的有RS232(串行总线-低速,长距离),SCSI(并行总线),USB(通用串行总线,即插即用,支持热插拔)
系统可靠性分析
平均无故障时间 MTTF=1/失效率
平均故障修复时间 MTTR=1/修复率
平均故障间隔时间 MTBF=MTTF + MTTR
系统可用性 =MTTF /(MTTF+MTTR)* 100%
串联,并联,混合模式
串联系统,一个设备部可靠,整个系统崩溃:
R = R1 X R2 X R3 ...Rn
并联系统,所有设备都不可靠,整个系统才崩溃:
R =1- (1 -R1) X(1- R2) X(1- R3) ...X(1-Rn)
网友评论