一、本章考点总览
二、考点分析
1、存储系统在计算机中有什么作用?
考点:存储器概述
考频:★★★★☆
难度:★★☆☆☆
解析:
存储系统是计算机的重要组成部分之一。存储系统提供写入和读出计算机工作需要的信息(程序和数据)的能力,实现计算机的信息记忆功能
现代计算机系统中常采用寄存器、高速缓存、主存、外存的多级存储体系结构
存储系统的层次结构分为3层,即Cache、主存、辅助存储器。
Cache:高速缓冲存储器,容量小,速度快,与CPU中的寄存器通过字进行信息交换
主存:内存,与cache通过块进行信息交换
辅助存储器:主要是磁盘,容积大、价格低、速度慢,与主存通过页面进行信息交换
2、计算机系统中有哪些存储器?
考点:存储器概述
考频:★★★★☆
难度:★★☆☆☆
解析:
3、什么是主存储器?如何与CPU进行连接?
考点:存储器与CPU的连接
考频:★★★★☆
难度:★★★★☆
解析:
主存储器(Main memory),简称主存。其作用是存放指令和数据,并能由中央处理器(CPU)直接随机存取。
主存储器性能指标:
存储容量:在一个存储器中可以容纳的存储单元总数存储空间的大小,用字数,字节数表示 存取时间:启动到完成一次存储器操作所经历的时间,ns表示
存储周期:连续启动两次操作所需间隔的最小时间,ns表示
存储器带宽:单位时间里存储器所存取的信息量, 它是衡量数据传输速率的重要技术指标,单位是b/s( 位/秒)或B/S(字节/秒)
(1)主存通过数据总线、地址总线和控制总线与CPU连接。(2)数据总线的位数与工作频率的乘积正比于数据传输率。
(3)地址总线的位数决定了可寻址的最大内存空间。
(4)控制总线(读/写)指出总线周期的类型和本次输入/输出操作完成的时刻
4、如果目前只有两片1K × 4位的 存储芯片,如何组成 1K × 8位 的存储器?
考点:存储器与CPU的连接
考频:★★★★☆
难度:★★★★☆
解析:
位扩展(增加存储字长)
存储字长:存储单元中的二进制代码(存储字)位数,存储字长可以是8位、16位、32位等。数据位数与CPU的数据线数相等。
保证两个芯片同时进行读操作和写操作,片选线相同
字扩展(增加存储字的数量)存储字是指存放在一个存储单元中的二进制代码组合。利用A10来控制芯片工作状态
用1K×8位 存储芯片组成2K×8位的存储器
字、位扩展用1K × 4位 存储芯片组成 4K × 8位 的存储器
5、主存与CPU的速度不一样,如何进行调节来保证CPU的高速工作?
考点:高速缓冲存储器
考频:★★★☆☆
难度:★★★☆☆
解析:
存储系统主要体现在下面两个层次上:Cache---主存、主存---辅存。
"Cache---主存"层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析, CPU访存速度加快,接近于Cache的速度,而寻址空间和位价却接近于主存。
"主存---辅存"层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的存储器其容量和位价接近于辅存,而速度接近于主存。
综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果
6、主存与Cache大小不一样,那么它们的地址如何进行映射?
考点:Cache-主存地址映射
考频:★★★☆☆
难度:★★★☆☆
解析:
1.直接映射(directmapping):将一个主存块存储到唯一一个Cache行
主存中每个块只能装入Cache中的唯一位置
若产生块冲突,原来的块无条件被移出,无需替换算法
Cache块号 = 主存块号 mod Cache总块数
2.全相联映射(fullyassociative mapping):将一个主存块存储到任意一个Cache行主存中的每一块可以装入Cache中的任何位置Cache块中的标记用于指出该块取自主存的哪一块,所以CPU访存时需要与所有Cache块的标记比较
3.组相联映射(setassociative mapping):将一个主存块存储到唯一的一个Cache组中任意一行将Cache分为Q个大小相等的组,每个主存块可以装入固定组内的任意一块。
即组间采用直接映射,组内采用全相联映射
每组内有几块就称为几路组相联映射
7、已知: Cache的速度是主存的5倍; Cache被访问的命中率为0.95;问:采用Cache后,存储器性能提高了多少倍?
考点:cache性能指标
考频:★★★★☆
难度:★★★☆☆
解析:
设Cache的存取周期为t,主存的存取周期为5t,
(1) Cache 和主存同时被访问:则系统的平均访问时间为ta = 0.95*t +0.05*5t = 1.2t; 5t/1.2t = 4.17, 也就是使用cache后性能提高了3.17倍。(2)若采用先访问Cache再访问主存的方式:不命中时,访问Cache耗时为t ,发现不命中后再访问主存耗时为5t,总耗时为6t。ta = 0.95*t +0.05*6t = 1.25t;5t/1.25t=4 提高了3倍
1、命中率H:
CPU欲访问的信息已在Cache中的比率
设一个程序执行期间,Cache的总命中次数为NC,访问主存的总次NM ,则: H=Nc /(Nc+Nm)
2、缺失率M:
CPU欲访问的信息不在Cache中的比率 M =1-H
三、真题速通
存储器是计算机系统的记忆设备,主要用来_______
A、存放数据 B 、存放程序 C 、 存放数据和程序 D 、存放微程序
答:C
存储器的随机访问方式是指( )
A、可随意访问存储器
B 、按随机文件访问存储器
C 、可对存储器进行读出与写入
D 、可按地址访问存储器任一编址单元,其访问时间相同且与地址无关
答:D
指令流是( )
A、从主存流向控制器 B、从控制器流向主存
C、从控制器流向控制器 D、从主存流向主存
答:A
数据流是( )
A、从主存流向控制器 B、从控制器流向主存
C、从控制器流向运算器 D、从主存流向运算器
答:D
内存一般采用( )存储器件,和外存相比,它的速度( )、成本( )
答:半导体 快 高
存储器的读操作是将( )中的数据传送到( )中,该存储器位置中的原数据内容( )
存储器的写操作是将( )中的数据传送到( )中,该存储器位置中的原数据内容( )
答:
存储器 运算器 保持不变
运算器 存储器的某个存储单元 被替代
在多级存储体系中,"Cache-主存"结构的作用是解决( )的问题
A 、主存容量不足 B 、主存与辅存速度不匹配
C 、辅存与CPU速度不匹配 D 、主存与CPU速度不匹配
答:D
一个16K×32位的存储器,其地址线和数据线的总和是______
答:46
利用1K×4位的存储芯片,组成4K×8位的存储器。求需要芯片,地址线,数据线的数量各为多少?扩展过程是怎么样的?
答: (1)共需几块芯片:(4K×8)/(1K×4)= 8
(2)需要几根地址线:4K地址空间(存储单元的个数),需要12根地址线
(3)需要几根数据线:8根
(4)扩展过程:先进行位扩展,这个过程相当于分组,将2片1K×4位构成一组,利用位扩展,构成1K × 8位的完整存储单元。这样一共可以分成四组。再将这些分组视为一个完整的存储单元,进行字扩展
计算机中设置Cache的作用是什么? 能否将Cache的容量扩大,最后取代主存,为什么?
参考答案:计算机中设置Cache主要是为了加速CPU访存速度。
不能把Cache的容量扩大到最后取代主存,主要因为Cache和主存的结构原理以及访问机制不同(主存是按地址访问, Cache是按内容及地址访问)
(1)Cache 容量越大成本越高,难以满足人们追求低价格的要求;
(2)如果取消主存,当 CPU 访问 Cache 失败时,需要将辅存的内容调入 Cache 再由 CPU 访问,造成 CPU 等待时间太长,损失更大
简述高速缓存、内存、系统主存三者之间的关系
参考答案:系统主存一般就是指内存。
高速缓存是为了协调CPU与主存之间存取速度的差异而设置的。一般情况下,CPU的工作速度高,但内存的工作速度相对较低,为了解决这个问题,通常使用高速缓存,高速缓存的存取速度介于CPU和主存之间。系统将一些CPU在近几个时间段内经常访问的内容存入高速缓冲存储器,当CPU需要使用数据时,先在高速缓存中寻找,如果找到,就不必访问内存了,如果找不到,那么再找内存,这样就在一定程度上缓解了由于主存速度低造成的CPU等待的情况
假设Cache中有64块,每块大小为16字节,那么主存中地址为1200的块被映射到Cache中的哪一块?
答:Cache的块数C=64,主存中地址为1200对应的主存块号为j=75,对应的Cache块号i=j MOD C=75 MOD 64=11,所对应Cache的块号为11