1、第五章 1 .如何区别存储器和寄存器? 两者是一回事的说法对吗? 解:存储器和寄存器不是一回事。存储器在CPU 的外边,专门用来存放程序和数据,访问存储器的速度较慢。寄存器属于CPU 的一部分,访问寄存器的速度很快。 2 .存储器的主要功能是什么? 为什么要把存储系统分成若干个不同层次? 主要有哪些层次? 解:存储器的主要功能是用来保存程序和数据。存储系统是由几个容量、速度和价格各不相同的存储器用硬件、软件、硬件与软件相结合的方法连接起来的系统。把存储系统分成若干个不同层次的目的是为了解决存储容量、存取速度和价格之间的矛盾。由高速缓冲存储器、主存储器、辅助存储器构成的三级存储系统可以分
2、为两个层次,其中高速缓存和主存间称为Cache - 主存存储层次(Cache 存储系统) ;主存和辅存间称为主存— 辅存存储层次(虚拟存储系统) 。 3 .什么是半导体存储器? 它有什么特点? 解:采用半导体器件制造的存储器,主要有MOS 型存储器和双极型存储器两大类。半导体存储器具有容量大、速度快、体积小、可靠性高等特点。半导体随机存储器存储的信息会因为断电而丢失。 4 .SRAM 记忆单元电路的工作原理是什么? 它和DRAM 记忆单元电路相比有何异同点? 解:SRAM 记忆单元由6 个MOS 管组成,利用双稳态触发器来存储信息,可以对其进行读或写,只要电源不断电,信息将可保留。DR
3、AM 记忆单元可以由4 个和单个MOS管组成,利用栅极电容存储信息,需要定时刷新。 5 .动态RAM 为什么要刷新? 一般有几种刷新方式? 各有什么优缺点? 解:DRAM 记忆单元是通过栅极电容上存储的电荷来暂存信息的,由于电容上的电荷会随着时间的推移被逐渐泄放掉,因此每隔一定的时间必须向栅极电容补充一次电荷,这个过程就叫做刷新。常见的刷新方式有集中式、分散式和异步式3 种。集中方式的特点是读写操作时不受刷新工作的影响,系统的存取速度比较高;但有死区,而且存储容量越大,死区就越长。分散方式的特点是没有死区;但它加长了系统的存取周期,降低了整机的速度,且刷新过于频繁,没有充分利用所允许的最大
4、刷新间隔。异步方式虽然也有死区,但比集中方式的死区小得多,而且减少了刷新次数,是比较实用的一种刷新方式。 6 .一般存储芯片都设有片选端 ,它有什么用途? 解:片选线用来决定该芯片是否被选中。=0,芯片被选中;=1,芯片不选中。 7 .DRAM 芯片和SRAM 芯片通常有何不同? 解:主要区别有: ① DRAM 记忆单元是利用栅极电容存储信息;SRAM 记忆单元利用双稳态触发器来存储信息。 ② DRAM 集成度高,功耗小,但存取速度慢,一般用来组成大容量主存系统;SRAM的存取速度快,但集成度低,功耗也较大,所以一般用来组成高速缓冲存储器和小容量主存系统。 ③ SRAM 芯片需要
5、有片选端 ,DRAM 芯片可以不设,而用行选通信号、列选通兼作片选信号。 ④ SRAM 芯片的地址线直接与容量相关,而DRAM 芯片常采用了地址复用技术,以减少地址线的数量。 8 .有哪几种只读存储器? 它们各自有何特点? 解:MROM :可靠性高,集成度高,形成批量之后价格便宜,但用户对制造厂的依赖性过大,灵活性差。 PROM :允许用户利用专门的设备(编程器)写入自己的程序,但一旦写入后,其内容将无法改变。写入都是不可逆的,所以只能进行一次性写入。 EPROM :不仅可以由用户利用编程器写入信息,而且可以对其内容进行多次改写。 EPROM 又可分为两种:紫外线擦除(UVEPRO
6、M)和电擦除(EEPROM) 。 闪速存储器:既可在不加电的情况下长期保存信息,又能在线进行快速擦除与重写,兼备了EEPROM 和RAM 的优点。 9 .说明存取周期和存取时间的区别。 解:存取周期是指主存进行一次完整的读写操作所需的全部时间,即连续两次访问存储器操作之间所需要的最短时间。存取时间是指从启动一次存储器操作到完成该操作所经历的时间。存取周期一定大于存取时间。 10 .一个1K × 8 的存储芯片需要多少根地址线、数据输入线和输出线? 解:需要10 根地址线,8 根数据输入和输出线。 11 .某机字长为32 位,其存储容量是64KB ,按字编址的寻址范围是多少? 若主存
7、以字节编址,试画出主存字地址和字节地址的分配情况。 解:某机字长为32 位,其存储容量是64KB ,按字编址的寻址范围是16KW 。若主存以字节编址,每一个存储字包含4 个单独编址的存储字节。假设采用大端方案,即字地址等于最高有效字节地址,且字地址总是等于4 的整数倍,正好用地址码的最末两位来区分同一个字中的4 个字节。主存字地址和字节地址的分配情况如图5-19 所示。 12 .一个容量为16K × 32 位的存储器,其地址线和数据线的总和是多少? 当选用下列不同规格的存储芯片时,各需要多少片? 1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位。 解:地址线
8、14 根,数据线32 根,共46 根。 若选用不同规格的存储芯片,则需要:1K×4位芯片128片,2K×8位芯片32片,4K×4位芯片 32片,16K×1位芯片32片,4K×8位芯片16片,8K×8位芯片8 片。 13 .现有1024 × 1 的存储芯片,若用它组成容量为16K × 8 的存储器。试求: (1) 实现该存储器所需的芯片数量? (2) 若将这些芯片分装在若干块板上,每块板的容量为4K × 8 ,该存储器所需的地址线总位数是多少? 其中几位用于选板? 几位用于选片? 几位用作片内地址? 解:(1) 需1024 × 1 的芯片128 片。 (2) 该存储器所需的地址线总
9、位数是14位,其中2位用于选板,2位用于选片,10位用作片内地址。 14 .已知某机字长8 位,现采用半导体存储器作主存,其地址线为16 位,若使用1K × 4 的SRAM 芯片组成该机所允许的最大主存空间,并采用存储模板结构形式。 (1) 若每块模板容量为4K × 8 ,共需多少块存储模板? (2) 画出一个模板内各芯片的连接逻辑图。 解:(1) 根据题干可知存储器容量为216 = 64KB ,故共需16 块存储模板。 (2) 一个模板内各芯片的连接逻辑图如图5-20 所示。 15 .某半导体存储器容量16K × 8 ,可选SRAM 芯片的容量为4K × 4 ;地址总线A15
10、 ~ A0 (低) ,双向数据总线D7 ~ D0 (低) ,由R/W线控制读/写。请设计并画出该存储器的逻辑图,并注明地址分配、片选逻辑及片选信号的极性。 解:存储器的逻辑图与图5唱20 很相似,区别仅在于地址线的连接上,故省略。 地址分配如下: 16 .现有如下存储芯片:2K × 1 的ROM 、4K × 1 的RAM 、8K × 1 的ROM 。若用它们组成容量为16KB 的存储器,前4KB 为ROM ,后12KB 为RAM ,CPU 的地址总线16 位。 (1) 各种存储芯片分别用多少片? (2) 正确选用译码器及门电路,并画出相应的逻辑结构图。 (3) 指出有无地址重叠
11、现象。 解:(1) 需要用2K × 1 的ROM 芯片16 片,4K × 1 的RAM 芯片24片。不能使用8K × 1 的ROM 芯片,因为它大于ROM 应有的空间。 (2) 各存储芯片的地址分配如下: 17 .用容量为16K × 1 的DRAM 芯片构成64KB 的存储器。 (1) 画出该存储器的结构框图。 (2) 设存储器的读/写周期均为0 .5μs ,CPU 在1μs 内至少要访存一次,试问采用哪种刷新方式比较合理? 相邻两行之间的刷新间隔是多少? 对全部存储单元刷新一遍所需的实际刷新时间是多少? 解:(1) 存储器的结构框图如图5-22 所示。 (2) 因为
12、要求CPU 在1μs 内至少要访存一次,所以不能使用集中刷新方式,分散和异步刷新方式都可以使用,但异步刷新方式比较合理。 相邻两行之间的刷新间隔= 最大刷新间隔时间÷ 行数= 2ms ÷ 128 = 15 .625μs 。取 15 .5μs ,即进行读或写操作31 次之后刷新一行。 对全部存储单元刷新一遍所需的实际刷新时间= 0 .5μs × 128 = 64μs 18 .有一个8 位机,采用单总线结构,地址总线16 位(A15 ~ A0 ) ,数据总线8 位(D7 ~ D0 ) ,控制总线中与主存有关的信号有MREQ(低电平有效允许访存)和R/W(高电平为读命令,低电平为写命令) 。
13、 主存地址分配如下:从0 ~ 8191 为系统程序区,由ROM 芯片组成;从8192 ~ 32767 为用户程序区;最后(最大地址)2K 地址空间为系统程序工作区。(上述地址均用十进制表示,按字节编址。) 现有如下存储芯片:8K × 8 的ROM ,16K × 1 、2K × 8 、4K × 8 、8K × 8 的SRAM 。请从上述规格中选用芯片设计该机主存储器,画出主存的连接框图,并请注意画出片选逻辑及与CPU 的连接。 解:根据CPU 的地址线、数据线,可确定整个主存空间为64K × 8 。系统程序区由ROM 芯片组成;用户程序区和系统程序工作区均由RAM 芯片组成。共需:8K
14、× 8 的ROM 芯片1 片,8K × 8 的SRAM 芯片3 片,2K × 8 的SRAM 芯片1 片。主存地址分配如图5-23 所示,主存的连接框图如图5-24 所示。 19 .某半导体存储器容量15KB ,其中固化区8KB ,可选EPROM 芯片为4K × 8 ;可随机读/写区7KB ,可选SRAM 芯片有:4K × 4 、2K × 4 、1K × 4 。地址总线A15 ~ A0 (A0 为最低位) ,双向数据总线D7 ~ D0 (D0 为最低位) ,R/W控制读/写,MREQ为低电平时允许存储器工作信号。请设计并画出该存储器逻辑图,注明地址分配、片选逻辑、片选信号极性等。
15、 20 .某机地址总线16 位A15 ~ A0 (A0 为最低位) ,访存空间64KB 。外围设备与主存统一编址,I/O 空间占用FC00 ~ FFFFH 。现用2164 芯片(64K × 1)构成主存储器,请设计并画出该存储器逻辑图,并画出芯片地址线、数据线与总线的连接逻辑以及行选信号与列选信号的逻辑式,使访问I/O 时不访问主存。动态刷新逻辑可以暂不考虑。 解:存储器逻辑图如图5-26 所示,为简单起见,在图中没有考虑行选信号和列选信 号,行选信号和列选信号的逻辑式可参考下题。 在64KB 空间的最后1KB 为I/O 空间,在此区间CS无效,不访问主存。 21 .已知有16K
16、 × 1 的DRAM 芯片,其引脚功能如下:地址输入A6 ~ A0 ,行地址选择RAS ,列地址选择CAS ,数据输入端DIN ,数据输出端DOUT ,控制端WE 。请用给定芯片构成256KB 的存储器,采用奇偶校验,试问:需要芯片的总数是多少? 并请: (1) 正确画出存储器的连接框图。 (2) 写出各芯片RAS和CAS形成条件。 (3) 若芯片内部采用128 × 128 矩阵排列,求异步刷新时该存储器的刷新间隔。 解:(1) 需要的芯片数= 128 片,存储器的连接框图如图5-27 所示。 (3) 若芯片内部采用128 × 128 矩阵排列,设芯片的最大刷新间隔时间为2m
17、s ,则相 邻两行之间的刷新间隔为: 刷新间隔= 最大刷新间隔时间÷ 行数= 2ms ÷ 128 = 15 .625μs 可取刷新间隔15 .5μs 。22.并行存储器有哪几种编址方式? 简述低位交叉编址存储器的工作原理。 解:并行存储器有单体多字、多体单字和多体多字等几种系统。 多体交叉访问存储器可分为高位交叉编址存储器和低位交叉编址存储器。低位交叉 编址又称为横向编址,连续的地址分布在相邻的存储体中,而同一存储体内的地址都是不 连续的。存储器地址寄存器的低位部分经过译码选择不同的存储体,而高位部分则指向 存储体内的存储字。如果采用分时启动的方法,可以在不改变每个存储体存取周
18、期的前 提下,提高整个主存的速度。 22 .并行存储器有哪几种编址方式? 简述低位交叉编址存储器的工作原理。 解:并行存储器有单体多字、多体单字和多体多字等几种系统。多体交叉访问存储器可分为高位交叉编址存储器和低位交叉编址存储器。低位交叉编址又称为横向编址,连续的地址分布在相邻的存储体中,而同一存储体内的地址都是不连续的。存储器地址寄存器的低位部分经过译码选择不同的存储体,而高位部分则指向存储体内的存储字。如果采用分时启动的方法,可以在不改变每个存储体存取周期的前提下,提高整个主存的速度。 23 .什么是高速缓冲存储器? 它与主存是什么关系? 其基本工作过程如何? 解:高速缓冲存储器
19、位于主存和CPU 之间,用来存放当前正在执行的程序段和数据中的活跃部分,使CPU 的访存操作大多数针对Cache 进行,从而使程序的执行速度大大提高。高速缓冲存储器的存取速度接近于CPU 的速度,但是容量较小,它保存的信息只是主存中最急需处理的若干块的副本。当CPU 发出读请求时,如果Cache 命中,就直接对Cache 进行读操作,与主存无关;如果Cache 不命中,则仍需访问主存,并把该块信息一次从主存调入Cache 内。若此时Cache 已满,则须根据某种替换算法,用这个块替换掉Cache 中原来的某块信息。 24 .Cache 做在CPU 芯片内有什么好处? 将指令Cache 和数据
20、Cache 分开又有什么好处? 解:Cache 做在CPU 芯片内可以提高CPU 访问Cache 的速度。将指令Cache 和数据Cache 分开的好处是分体缓存支持并行访问,即在取指部件取指令的同时,取数部件要取数据。并且,指令在程序执行中一般不需要修改,故指令Cache 中的内容不需写回到主存中去。 25 .设某机主存容量为4MB ,Cache 容量为16KB ,每块包含8 个字,每字32 位,设计一个四路组相联映像(即Cache 每组内共有四个块)的Cache 组织,要求: (1) 画出主存地址字段中各段的位数。 (2) 设Cache 的初态为空,CPU 依次从主存第0 、1 、
21、2 、⋯ 、99 号单元读出100 个字(主 存一次读出一个字) ,并重复按此次序读8 次,问命中率是多少? (3) 若Cache 的速度是主存的6 倍,试问有Cache 和无Cache 相比,速度提高多少倍? 解:(1) 主存容量为4MB ,按字节编址,所以主存地址为22 位,地址格式如图5-29所示。 (2) 由于每个字块有8 个字,所以主存第0 、1 、2 、⋯ 、99 号字单元分别在字块0 ~ 12 中,采用四路组相联映像将分别映像到第0 组~ 12 组中,但Cache 起始为空,所以第一次读时每一块中的第一个单元没命中,但后面7 次每个单元均可以命中。 (3) 设
22、Cache 的存取周期为T ,则主存的存取周期为6 T 。 无Cache 的访存时间为6 T 所以速度提高倍数= 6 ÷ 1 .096 = 5 .47 倍。 26 .什么叫虚拟存储器? 采用虚拟存储技术能解决什么问题? 解:虚拟存储器由主存储器和联机工作的辅助存储器(通常为磁盘存储器)共同组成,这两个存储器在硬件和系统软件的共同管理下工作,对于应用程序员,可以把它们看作是一个单一的存储器。 采用虚拟存储技术可以解决主存容量不足的问题。虚拟存储器将主存和辅存的地址空间统一编址,形成一个庞大的存储空间。在这个大空间里,用户可以自由编程,完全不必考虑程序在主存是否装得下以及这些程序将来在主存中的实际存放位置。 27 . 已知采用页式虚拟存储器, 某程序中一条指令的虚地址是: 000001111111100000 。该程序的页表起始地址是0011 ,页面大小1K ,页表中有关单元最 末四位(实页号)见下表: 请指出指令地址(虚地址)变换后的主存实地址。 解:页面大小1K ,页内地址10 位,根据页表,可以得出主存实地址为11001111100000 。






