【软考】4 存储系统

1、层次化存储体系

存储硬件:

注意,Cache位于CPU和主存之间,不属于主存部分

 

存储分类方式:

 

例题:

1、CPU访问存储器时,被访问数据一般聚集在一个较小的连续存储区域中。
若一一个存储单元已被访问,则其邻近的存储单元有可能还要被访问,该特性被称为(A)。
A、数据局部性
B、指令局部性
C、空间局部性
D、时间局部性

 

2、虚拟存储体系由(A )两级存储器构成。
A、主存-辅存
B、寄存器Cache
C、寄存器-主存
D、Cache-主存

虚拟存储体系是当主存资源不足时,使用部分辅存作为虚拟主存资源

 

3、在微机系统中,BIOS (基本输入输出系统)保存在( A)中。
A、主板上的ROM
B、CPU的寄存器
C、主板上的RAM
D、虚拟存储器

2、缓存Cache

局部性概念

在计算机的存储系统体系中,Cache是访问速度最快的层次(若有寄存器,则寄存器最快)。
使用Cache改善系统性能的依据是程序的局部性原理。
- 时间局部性
- 空间局部性

 

平均周期的计算公式

如果以h代表对Cache的访问命中率,t1 表示Cache的周期时间,t表示主存储器周期时间
以读操作为例,使用“Cache+主存储器”的系统的平均周期为t3,则:
平均周期 = 命中率 * Cache周期 + 失效率 * 主存周期,公式为【t= h * t+ (1 - h) * t2
其中,(1 - h) 又称为失效率(未命中率)。默认Cache一般命中率为90%

 

Cache和主存的对应关系

主存和Cache之间的地址映射由硬件完成

三种映射方式:

 

例题

1、以下关于Cache (高速缓冲存储器)的叙述中,不正确的是( A)。
A、Cache 的设置扩大了主存的容量
B、Cache 的内容是主存部分内容的拷贝
C、Cache 的命中率并不随其容量增大线性地提高
D、Cache位于主存与CPU之间

2、在程序执行过程中,高速缓存(Cache)与主存间的地址映射由( D)
A、操作系统进行管理
B、存储管理软件进行管理
C、程序员自行安排
D、硬件自动完成

3、主存与Cache的地址映射方式中,(A )方式可以实现主存任意块装入Cache中任意位置,只有装满才需要替换。
A、全相联
B、直接映射
C、组相联
D、串并联

3、主存编址计算

bit 比特位,4bit表示4字长

存储单元,由N个字长组成, 由(起始地址 到 结束地址) + 1 为存储单元个数

1、存储器拼接【垂直拼接

 字长不发生改变,存储单元个数改变,容量改变

2、存储器拼接【水平拼接

字长改变,存储单元个数不变,容量改变

 3、特性概念

存储单元
存储单元个数 = 最大地址 - 最小地址 + 1
编址内容
按字编址; 存储体的存储单元是字存储单元,即最小寻址单位是一个字
按字节编址: 存储体的存储单元是字节存储单元,即最小寻址单位是一个字节。
总容量 = 存储单元个数 * 编址内容

 

根据存储器所要求的容量和选定的存储芯片的容量,就可以计算出所需芯片的总数,即:
总片数 = 总容量 / 每片的容量

例题

1、内存按字节编址,地址从A0000H到CFFFFH的内存,共有( )字节,
若用存储容量为64K X 8bit的存储器芯片构成该内存空间,至少需要()片。
A、80KB   B、96KB    C、160KB    D、192KB
A、2    B、3    C、5    D、8

解题思路

- 字节表示 8个比特位 8bit , 即8字长

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

最大地址 + 1,CFFFF -> D0000, D转十进制为13, A转十进制为10

存储单元个数为 30000H 当前为十六进制,需要转换十进制处理

30000H 一共4个位阶[4, 3, 2, 1, 0],则为 3 * 164 

则总容量为 3 * 164 * 8

1K = 210  *  8 (1024B) ,1M = 220 *  8 (1048576B),1G = 230 *  8 (1073741824B)

所以字节部分可以抵消 3 * 16对上 210

转换 16 = 2^4,16^4 = (2 ^ 4) ^ 4 = 2 ^ 16

约分 210 和 216后, 剩余 26

2^6  * 3 = 64 * 3 = 192,上一步约分是为KB单位,192KB,选D

64K * 8bit的存储器芯片构成,位宽一致,只需要对比192和64,上一步就是由64得来的,所以为3片,答案选B

 

posted @ 2024-10-05 16:05  emdzz  阅读(11)  评论(0编辑  收藏  举报