软件设计师学习笔记6-存储系统

目录

1.层次化存储体系

1.1层次化存储结构

1.2层次化存储结构的分类

2.Cache

2.1概念

2.2映像

2.2.1概念

2.2.2分类

2.2.3不同映像的图解(帮助理解,不考)

3.主存编址方法

3.1计算公式

3.2补充内容


1.层次化存储体系

1.1层次化存储结构

软件设计师学习笔记6-存储系统_第1张图片

局部性原理是层次化存储结构的支持

时空局部性:刚被访问的内容,立即又被访问(eg: 循环体 )

空间局部性:刚被访问的内容,临近的空间很快被访问(eg:数组)

1.2层次化存储结构的分类

软件设计师学习笔记6-存储系统_第2张图片

DRAM:动态随机存取存储器

SRAM:静态随机存取存储器

Cache:高速缓存

EEPROM:电可擦可编程只读存储器

2.Cache

2.1概念

(1)在计算机的存储系统体系中,Cache是访问速度最快的层次(若有寄存器,则寄存器最快)

注:前者是对于三级存储体系而言,后者是对于整个存储体系而言

(2)使用Cache改善系统性能的依据是程序的局部性原理(时间局部性和空间局部性)

2.2映像

2.2.1概念

(1)地址映像是将主存与Cache的存储空间划分为若干大小相同的页(或称为块)。

例如,某机的主存容量为I GB,划分为2048页,每页512 KB;Cache容量为8 MB,划分为16页,每页512 KB。

(2)如果以h代表对Cache的访问命中率,t 1表示Cache的周期时间,t 2表示主存储器周期时间,以读操作为例,使用"Cache+主存储器”的系统的平均周期为t 3,则:

t3=h * t1+(1-h) * t2

其中,(1-h)又称为失效率(未命中率)。

2.2.2分类

直接相联映像:硬件电路较简单,但冲突率很高。

全相联映像:电路难于设计和实现,只适用于小容量的cache,冲突率较低。

组相联映像:直接相联与全相联的折中。

注:主存与Cache之间的地址映射由硬件直接完成。

2.2.3不同映像的图解(帮助理解,不考)

(1)直接相联映像

软件设计师学习笔记6-存储系统_第3张图片

其中主存中的每个区中的x页只能对应Cache中的x页,一旦Cache中的x页被主存中某一区的x页占据,那么其它区的x页就会与之冲突,所以冲率很高,结构简单

(2)全相联映像

软件设计师学习笔记6-存储系统_第4张图片

主存中任意页可以与Cache中任意页对应,所以冲突率低,但电路复杂

(3)组相联映像

该图片来自希赛软考

软件设计师学习笔记6-存储系统_第5张图片

对主存和Cache都进行了分组,每个区的x组只能与Cache中的x组对应,但是一个组的页可以任意对应。就是前两者的缝合怪,冲突率和复杂性都属于中庸

3.主存编址方法

3.1计算公式

(1)存储单元

存储单元个数 = 最大地址 - 最小地址 + 1

(2)编址内容

按字编址:存储体的存储单元是字存储单元,即最小寻址单位是一个字(该字的字长题目会给出)

按字节编址(默认):存储体的存储单元是字节存储单元,即最小寻址单位是一个字节(字节的字长固定为8个bit)

(3)总容量 = 存储单元个数 * 编址内容

(4)总片数 = 总容量/每片容量

3.2补充内容

1 KB = 2 ^ 10B

1 MB = 2 ^ 20B

1 GB = 2 ^ 30B

声明:笔记内容参考自希赛软考

上一篇:软件设计师学习笔记5-流水线技术

下一篇:软件设计师学习笔记7-输入输出技术+总线+可靠性+性能指标

你可能感兴趣的:(软件设计师,学习,笔记,软考,软件设计师)