1、存储器按存取方式,可以分成哪四类?哪些属于随机访问存储器,哪些属于串行访问存储器?
- 可以分为随机存储器、只读存储器、顺序存储器和直接存储器;
- 随机存储器和只读存储器属于随机存储器,即存取时间与物理地址无关;
- 顺序存储器(典型的如磁带)和直接存储器(典型的如磁盘)属于串行存储器,即存取时间与物理地址有关。
2、衡量存储器使用哪三个指标?寄存器、缓存、主存中,哪个速度最快?哪个最便宜?
- 速度、容量、位价格。
- 寄存器速度最快,主存最便宜。
3、常见的存储系统层次结构有哪两种?透明性如何?各自用来解决什么问题的?
- 缓存-主存层次:用来缓解CPU和主存速度不匹配的问题,由硬件来完成,对所有的程序员完全透明。
- 主存-辅存层次:用来解决主存容量不够的问题,由操作系统和硬件共同完成,对应用程序设计者透明,对系统程序设计者不透明。
(现在一般存储器都即能按字访问,也能按照字节访问,因此,存储器编址时,每个字节都有一个独立的地址。)
4、字在存储单元中有两种存储方式,大端方式和小端方式。各是什么含义?x86采用的是哪种存储方式?
- 大端方式:字的低位存在内存的高地址中,而字的高位存在内存的低地址中;
- 小端方式:字的低位存在内存的低地址中,而字的高位存在内存的高地址中。
- x86CPU采用的是小端方式。
5、主存的三个主要技术指标
- 存储容量、存取速度和存储带宽
6、什么是存取时间?什么是存取周期?哪个大?
- 存取时间:启动一次存储器完成本次操作(读或写)所需的时间;
- 存取周期:连续两次启动存储器所需要的最小间隔时间;
- 存取周期包含存取时间;
7、什么是存储器带宽?(要了解如何计算存储器带宽)
- 单位时间内存储器存取的信息量;
8、半导体存储芯片译码驱动包含哪两种方式,请简要说明。
- 线选法:所有的地址芯片通过一个译码器译码,选择一个存储单元的各位,适合于存储容量不大的芯片;
- 重合法:将地址分为两组,每组通过一个译码器译码,选择行或列,行、列交叉处就是要访问的存储位。
9、随机存储器包含哪两大类?哪个需要刷新?请从速度、容量、价格等方面进行简要比较。
- 静态RAM:采用锁存器原理实现;
- 动态RAM:采用电容原理实现,需要刷新。
- 相比于动态RAM,静态RAM的速度快、容量小、价格高,一般用于缓存,而动态RAM一般用于内存。
10、只读存储器有哪几种?
- 掩模ROM(MROM):出厂后内容不能被更改。
- PROM:可编程只读存储器,可以进行一次性编程;
- EPROM:可擦除只读ROM,用紫外线照射;
- EEPROM:电可擦除只读ROM。
- FLash Memory:采用EEPROM的非易失性存储器。
11、单片存储器芯片的容量有限,很难满足实际需要,因此必须将若干存储芯片连接在一起才能组成足够容量的存储器。
存储器的扩展通常有位扩展和字扩展,什么是字扩展,什么是位扩展?请举例简要说明
- 位扩展:增加存储器的字长,例如两个1K * 4位的存储芯片构成1个1K*8位的存储器;
- 字扩展:增加存储器的字数,例如两个1K * 8位的存储芯片构成1个2K * 8位的存储器;
通常字扩展和位扩展两种方式混合使用。
12、熟虑掌握存储器的扩展,包括地址空间分配、地址线的连接、数据线的连接、片选信号的产生及连接等;
13、假设欲检测的二进制代码为n位,为了使其具有1位的纠错能力,需添加K位检测位,组成n+k位的代码。问,应添加多少位检测位?
- 应添加的检测位位数:2的k次方大于等于n+k+1。因为要使其有1位的检测能力,必须使用k位来说明n+k位到底哪一位出现了错误,k位能表达的数量为2的k次方,而n+k位到底哪一位出现了错误或者是全部正确,共有n+k+1种状况,因此,k的取值需要满足:2的k次方大于等于n+k+1
14、对于汉明码,应熟练掌握汉明码的编码方式(按照配偶或配奇的原则),以及给出汉明码,得到要传送的原始信息(包括纠错过程)。
15、提高访存速度的三种方式。
- 采用高速元器件;
- 采用存储层次结构:cache-主存结构;
- 调整主存结构:包括单体多字,多体并行两种方式。
16、简述单体多字的存储系统的工作原理,及其优点。
- 单体多字存储系统一次访存取出多个CPU字,即存储字为CPU字的n倍(假设一次访存取出n个cpu字)。
- 优点是:显著提高了存储器带宽。
17、多体并行系统有哪两种编址方式?请简要说明其编址方式及其优点。
- 高位交叉编址方式:存储体的编址方式为顺序存储,即一个存储体存满后,再存入下一个;存储单元地址的高位为存储体的编号。 高位交叉编址并不能提高单次访存速度,但能使多应用并行访存,提高系统的并发性。
- 低位交叉编址方式:存储体的编址方式为交叉存储。即程序连续存放在相邻的存储体之中。存储单元地址的低位为存储体的编号。
低位交叉编址能显著提高单次访存速度。
19、在四位低位交叉编址中,假设存取周期为T,总线传输周期为τ,为了实现流水线方式存储,应满足什么条件?如果连续读取四个字,所需要的时间是多少?
- T= 4τ
- 连续读取四个字,所需要的时间为T + (4-1)τ
注意:假设不是低位交叉编址,而是高位交叉编址,连续读取四个字所需要的时间仍然为4T。
20、需要大家掌握多体并行存储器在高位交叉编址(顺序存储)和低位交叉编址(交叉存储)的情况下,存储器带宽的计算方式。
21、在CPU和内存之间引入cache的原因。
- 避免cpu空等I/O访存;
- 缓解CPU和主存速度不匹配的问题。
22、什么是程序的局部性原理。
- CPU从主存取指令或数据,在一定时间内,只是对主存局部地址区域访问。
23、Cache命中率、平均访问时间以及访问效率的计算。
24、Cache写操作有哪两种方式?
- 写直达法:写操作既写入Cache又写入主存;
- 写回法:只把数据写入Cache而不写入主存,当Cache中数据被替换出去之后才写入主存。
25、将主存地址映射到Cache地址称为地址映射,常见的Cache映射方式有哪几种?
- 直接映射、全相联映射、组相联映射。
26、直接映射的优缺点?
- 优点:地址变换速度快。缺点:cache利用率不高,块冲突率高;
27、全相联映射的优缺点?
- 优点:cache利用率高,块冲突率低。
- 缺点:地址变换复杂,需要较多的硬件。
28、需要大家掌握各种映射方式之下,写出主存地址格式、cache地址格式,以及主存地址向cache地址的转换。
29、Cache常用的替换算法有哪些?哪个命中率最高?
- 先进先出、近期最少使用算法和随机替换算法;
- 命中率最高的是近期最少使用算法;
30、磁盘的三地址结构包括哪些?
- 柱面、磁头号和扇区号