存储器习题参考答案1.解释概念:主存:主存储器的简称,主要特点是可以和CPU直接交换信息。(P70)辅存:辅助存储器的简称,是主存储器的后援存储器,用来存放当前暂时不用的程序和数据,它不能与CPU直接交换信息。(P70)Cache:高速缓冲存储器,用在主存和CPU之间使两者速度更好地匹配。(P71)RAM:随机存储器,是一种可读/写存储器,其特点是存储器的任何一个存储单元的内容都可以随机存取,而且存取时间与存储单元的物理位置无关。(P69)SRAM:静态RAM,以触发器原理寄存信息。(P69)DRAM:动态RAM,以电容充放电原理寄存信息。(P69)ROM:只读存储器,是能对其存储的内容读出,而不能对其重新写入的存储器。这种存储器一旦存入了原始信息后,在程序执行的过程中,只能将内部信息读出,而不能随意重新写入新的信息去改变原始信息。(P69)PROM:是可以实现一次性编程的只读存储器。(P89)EPROM:是一种可擦除可编程只读存储器。它可以由用户对其所存信息作任意次的改写。(P90)EEPROM:用电可擦除只读存储器,在联机条件下,用字擦除方式或页擦除方式,既可局部擦写,又可全部擦写,这种EPROM就是EEPROM。(P69,91)CDROM:只读型光盘,这种光盘内的数据和程序是由厂家事先写入的,使用时用户只能读出,不能修改或写入新的内容。(P147)Flahmemory:闪速存储器,又称快擦型存储器,它是在EPROM和EEPROM工艺基础上产生的一种新型的、具有性能价格比更好、可靠性更高的可擦写非易失性存储器。(P91)3.存储器的层次结构主要体现在什么地方?为什么要分这些层次?计算机如何管理这些层次?答:存储器的层次结构主要体现在Cache—主存和主存—辅存这两个存储层次上。Cache—主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析,CPU访存速度加快,接近于Cache的速度,而寻址空间和位价却接近于主存。主存—辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的存储器其容量和位价接近于辅存,而速度接近于主存。综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。主存与CACHE之间的信息调度功能全部由硬件自动完成。而主存—辅存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部份通过软硬结合的技术组成虚拟存储器,程序员可使用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由软、硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。因此,这两个层次上的调度或转换操作对于程序员来说都是透明的。5.什么是存储器的带宽?若存储器的数据总线宽度为32位,存取周期为200ns,则存储器的带宽是多少?解:存储器的带宽指单位时间内从存储器进出信息的最大数量。存储器带宽=1/200ns×32位=160Mb/s=20MB/s=5MW/s注意字长(32位)不是16位。(注:本题的兆单位来自时间=106)6.某机字长为32位,其存储容量是64KB,按字编址其寻址范围是多少?若主存以字节编址,试画出主存字地址和字节地址的分配情况。解:存储容量是64KB时,按字节编址的寻址范围就是64KB,则:按字寻址范围=64K×8/32=16K字按字节编址时的主存地址分配图如下:0123…………65465534655327…………6553565533字地址HB—————字节地址—————LB048……65528655327.一个容量为16K×32位的存储器,其地址线和数据线的总和是多少?当选用下列不同规格的存储芯片时,各需要多少片?1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位解:地址线和数据线的总和=14+32=46根;各需要的片数为:1K×4:16K×32/1K×4=16×8=128片2K×8:16K×32/2K×8=8×4=32片4K×4:16K×32/4K×4=4×8=32片16K×1:16K×32/16K×1=32片4K×8:16K×32/4K×8=4×4=16片8K×8:16K×32/8K×8=2X4=8片9.什么叫刷新?为什么要刷新?说明刷新有几种方法。解:刷新——对DRAM定期进行的全部重写过程;刷新原因——因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,因此安排了定期刷新操作;常用的刷新方法有三种——集中式、分散式、异步式。集中式:在最大刷新间隔时间内,集中安排一段时间进行刷新;分散式:在每个读/写周期之后插入一个刷新周期,无CPU访存死时间;异步式:是集中式和分散式的折衷。11.一个8K×8位的动态RAM芯片,其内部结构排列成256×256形式,存取周期为0.1µs。试问采用集中刷新、分散刷新及异步刷新三种方式的刷新间隔各为多少?注意:DRAM的最大刷新间隔时间为2ms,因此分析是要注明是行间刷新间隔、芯片最大刷新间隔。解:则异步刷新,最大刷新间隔时间为2ms,行间刷新间隔=2ms/256行=0.0078125ms=7.8125µs即:每7.8125µs刷新一行。集中刷新时,最大刷新间隔时间为2ms,行间刷新间隔为0.1µs。集中刷新的死时间=0.1µs×256行=25.6µs。分散刷新的行间刷新间隔=0.1µs×2=0.2µs即:每0.2µs刷新一行。分散刷新一遍的时间=0.1µs×2×256行=51.2µs则分散刷新时,2ms内可重复刷新遍数=2ms/51.2µs≈39遍13.设有一个64K×8位的RAM芯片,试问该芯片共有多少个基本单元电路(简称存储基元)?欲设计一种具有上述同样多存储基元的芯片,要求对芯片字长的选择应满足地址线和数据线的总和为最小,试确定这种芯片的地址线和数据线,并说明有几种解答。解:存储基元总数=64K×8位=512K位=219位;思路:如要满足地址线和数据线总和最小,应尽量把存储元安排在字向,因为地址位数和字数成2的幂的关系,可较好地压缩线数。设地址线根数为a,数据线根数为b,则片容量为:2a×b=219;b=219-a;若a=19,b=1,总和=19+1=20;a=18,b=2,总和=18+2=20;a=17,b=4,总和=17+4=21;a=16,b=8,总和=16+8=24;…………由上可看出:片字数越少,片字长越长,引脚数越多。片字数、片位数均按2的幂变化。结论:如果满足地址线和数据线的总和为最小,这种芯片的引脚分配方案有两种:地址线=19根,数据线=1根;或地址线=18根,数据线=2根。14.某8位微型机地址码为18位,若使用4K×4位的RAM芯片组成模块板结构的存储器,试问:(1)该机所允许的最大主存空间是多少?(2)若每个模块板为32K×8位,共需几个模块板?(3)每个模块板内共有几片RAM芯片?(4)共有多少片RAM?(5)CPU如何选择各模块板?解:(1)218=256K,则该机所允许的最大主存空间是256K×8位(或256KB);(2)模块板总数=256K×8/32K×8=8个;(3)板内片数=32K×8位/4K×4位=8×2=16片;(4)总片数=16片×8个=128片;(5)CPU通过最高3位地址译码选板,次高3位地址译码选片。地址格式分配如下:板地址片地址片内地址33121715141211015.设CPU共有16根地址线,8根数据线,并用-MREQ(低电平有效)作访存控制信号,R/-W作读/写命令信号(高电平为读,低电平为写)。现有这些存储芯片:ROM(2K×8位,4K×4位,8K×8位),RAM(1K×4位,2K×8位,4K×8位),及74138译码器和其他门电路(门电路自定)。试从上述规格中选用合适的芯片,画出CPU和存储芯片的连接图。要求如下:(1)最小4K地址为系统程序区,4096~16383地址范围为用户程序区;(2)指出选用的存储芯片类型及数量;(3)详细画出片选逻辑。解:第一步,根据题目的地址范围写出相应的二进制地址码。A15…A12A11…A8A7…A4A3…A00000000000000000…00001111111111110001000000000000…0011111111111111最小4K×8位系统程序区相邻12K×8位用户程序区第二步,根据地址范围的容量及其在计算机系统中的作用,确定最小4KB最小系统程序区选择2片4K×4位ROM;与其相邻的12KB用户程序区选择3片4K×8位RAM。第三步,分配CPU地址线。将CPU的低12位地址线A11~A0与2片4K×4位ROM和3片4K×8位RAM的地址线相连。第四步,形成片选信号。将74138译码器的控制端G1接+5V,-G2A,-G2B分别接A15和-MREQ.CPU的A14,A13,A12分别接在译码器的C,B,A端。-Y0作为并联的两片ROM的片选信号,-Y1,-Y2,-Y3分别作为串联的3片RAM的片选信号。CPU和存储器连接逻辑图及片选逻辑:4K×4ROMCPU74138(3:8)4K×4ROM4K×8RAM4K×8RAM4K×8RAM-MREQA15A14A13A12CBA-Y0-G2A-G2BG1+5VA11…A0D7…D4D3…D0R/-W-Y1-Y2-Y3A11…A0A11…A0A11…A0A11…A0A11…A0D7…D4D3…D0D7…D0D7…D0D7…D0-CS0-CS1-CS2-CS3讨论:1)选片:当采用字扩展和位扩展所用芯片一样多时,选位扩展。理由:字扩展需设计片选译码,较麻烦,而位扩展只需将数据线按位引出即可。本题如选用2K×8ROM,则RAM也应选2K×8的。否则片选要采用二级译码,实现较麻烦。当需要RAM、ROM等多种芯片混用时,应尽量选容量等外特性较为一致的芯片,以便于简化连线。2)应尽可能的避免使用二级译码,以使设计简练。但要注意在需要二级译码时如果不使用,会使选片产生二意性。3)片选译码器的各输出所选的存储区域是一样大的,因此所选芯片的字容量应一致,如不一致时就要考虑二级译码。4)其它常见错误:ROM连读/写控制线-WE;(ROM无读/写控制端)16.CPU假设同上题,现有8片8K×8位的RAM芯片与CPU相连。(1)用74138译码器画出CPU与存储芯片的连接图;(2)写出每片RAM的地址范围;(3)如果运行时发现不论往哪片RAM写入数据,以A000H为起始地址的存储芯片都有与其相同的数据,分析故障原因。(4)根据(1)的连接图,若出现地址线A13与CPU断线,并搭接到高电平上,将出现什么后果?解:(1)CPU与存储器芯片连接逻辑图:CPU8K×8SRAMD7…D0R/-W8K×8SRAM8K×8SRAM8K×8SRAM-MREQA15A14A13A12…A0-CS0-CS1-CS2…-CS774138(3:8)CBA-G2A-G2BG1+5V…A12…A0D7…D0A12…A0A12…A0A12…A0D7…D0D7…D0D7…D0-Y0-Y1-Y2…-Y7(2)每片RAM的地址划分:0~81918192~1638316384~2457524576~3276732768~4095940960~4915149152~5734357344~65535A15…A12A11…A8A7…A4A3…A00000000000000000…00011111111111110010000000000000…00111111111111110100000000000000…01011111111111110110000000000000…01111111111111111000000000000000…10011111111111111010000000000000…10111111111111111100000000000000…11011111111111111110000000000000…1111111111111111(3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片都有