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