1.用下列芯片构成存储系统,各需要多少个RAM芯片?需要多少位地址作为片外地址译码?设系统为20位地址线,采用全译码方式。(1)512×4位RAM构成16KB的存储系统;(2)1024×1位RAM构成128KB的存储系统;(3)2K×4位RAM构成64KB的存储系统;(4)64K×1位RAM构成256KB的存储系统。解:(1)需要16KB/512×4=64片,片外地址译码需20-log2512=11位地址线。(2)需要128KB/1K×1=1024片,片外地址译码需20-log21024=10位地址线。(3)需要64KB/2K×4=64片,片外地址译码需20-log2(1024×2)=9位地址线。(4)需要256KB/64K×1位=32片,片外地址译码需20-log2(1024×64)=4位地址线。2.现有一种存储芯片容量为512×4位,若要用它组成4KB的存储容量,需多少这样的存储芯片?每块芯片需多少寻址线?而4KB存储系统最少需多少寻址线?解:4K×8bit/512×4bit=16片,需要16片存储芯片;29=512,每片芯片需9条寻址线;212=4096,4KB存储系统最少需12条寻址线。3.一个具有8KB直接相联Cache的32位计算机系统,主存容量为32MB,假定该Cache中块的大小为4个32位字。(1)求该主存地址中区号、块号和块内地址的位数。(2)求主存地址为ABCDEF16的单元在Cache中的位置。解:(1)主存区数为32MB/8KB=4096,212=4096,区号的位数为12;区内块数为8KB/4×4B=512,29=512,块号的位数为9;块内单元数(字节编址)为4×32/8=16,24=16,块内地址的位数4。(2)主存地址为ABCDEF16的单元其二进制地址为:0101010111100110111101111(主存字节地址为25位)区号为010101011110块号为011011110数据在Cache中的位置是01101111011114.有一个Cache-主存存储层次,主存容量为8个块,Cache容量为4个块。采用直接地址映象:(1)对于如下主存块地址流:0,1,2,5,4,6,4,7,1,2,4,1,3,7,2,如果主存中内容一开始未装入Cache中,请列出每次访问后Cache中各块的分配情况;(2)指出块命中的时刻;(3)求出此期间Cache的命中率。解:(1)每次访问后Cache中各块的分配情况如下表。时间123456789101112131415地址流0125464712413720块0000444444444441块115555511111112块22266662222223块77777377(2)从表可见命中时刻为:7,11,12和15(3)h=4/15=0.2675.一个组相联映象Cache由64个存储块构成,每组包含4个存储块;主存包含4096个存储块,每块由128字组成,访存地址为字地址。(1)一个主存地址有多少位?一个Cache地址有多少位?(2)计算主存地址格式中,区号、组号、块号和块内地址字段的位数。解:(1)主存4096块----12位,每块128字----7位,共19位Cache64块----6位,每块128字----7位,共13位(2)主存区数=主存块数/Cache块数=4096/64=64个区----6位区内组数=Cache块数/组内块数=64/4=16个组----4位组内块数为4----2位块内地址为7位(字地址,每块128字)主存地址格式如下:6位6位2位7位区号组号组内块号块内地址6.有一个16KB4路组相联Cache的32位微处理器,假定该Cache的块为4个32位的字。(1)画出该Cache的结构逻辑图,指出主存地址的不同字段的作用。(2)主存地址为ABCDE8F8的单元在Cache中的什么位置。解:(1)Cache容量为16KB,地址14位;采用4路组相联结构,块地址2位;块长为4个字,块内地址2位;每个字32位(4个字节),字内字节地址2位。由(2)知主存地址为32位,则区号为32-14=18位。则逻辑结构图如下:(2)主存地址单元ABCDE8F8的二进制表示为:101010111100110111101000111101000Cache地址为:1010001111010007.有一个”Cache-主存”存储层次。主存共分为8个块(0~7),Cache为4个块(0~3),采用组相联映象,组内块数为2块,采用LRU(近期最少使用法)的替换算法。(1)画出主存、Cache地址的各字段对应关系;(2)画出主存、Cache空间块的映象对应关系的示意图;(3)对于如下主存块地址流:1、2、4、1、3、7、0、1、2、5、4、6、4、7、2,设主存中的內容在初始化时未装入Cache中,写出随时间的Cache中各块的使用情况;指出块失效又发生块争用的时刻;求出此期间Cache的命中率。解:(1)主存、Cache地址的各字段对应关系如下:(2)主存的第0和第1块映射到Cache的第0和第1块;主存的第2和第3块映射到Cache的第2和第3块;主存的第4和第5块映射到Cache的第0和第1块;主存的第6和第7块映射到Cache的第2和第3块。如下图所示:(3)Cache中各块的使用状况如下图所示:块失效又发生块争用的时刻为:6、7、9、10、11、12、14、15。Cache命中3次,在此期间Cache的命中率为:H=3/15=0.2。8.某一存储器系统如下图所示,问它们的存储容量各是多少?RAM和EPROM存储器地址分配范围各是多少?解:该存储系统由一片EPROM芯片和一片RAM组成,由集成译码电路74LS138进行片选译码。EPROM芯片片内地址线12条为A0~A11,直接同8088的地址线A0~A11相连(注意,这里的地址线已从双重总线AD0~AD15,A16/S3~A19/S6中分离出来;另外,由于图中采用控制线IO/M,因此CPU必然为8088)。8088的高8位地址线A12~A19参加片外译码。按74LS138的工作要求G1必须为高电平,G2A、G2B为低电平,则A19~A15=11111,EPROM的CE同74LS138的Y5相接,A14A13A12=101,由此可得本题中EPROM的地址范围11111101000000000000~11111101111111111111即FD000H~FDFFFH,容量为4KB。而RAM芯片内地址线11条为A0~A10,直接同8088的地址线A0~A10相连,8088的高8位地址线A12~A19参加片外译码。这里必须注意,CPU的A11未参加RAM的片内和片外的译码,是一个任选项,是0是1都可以。这里RAM的CS同74LS138的Y1相连。A14A13A12=001,由此可得本题中RAM的地址范围为11111001X00000000000~11111001X11111111111,这样RAM的地址范围有2个,当A11=0时,地址范围为F9000H~F97FFH和F9800H~F9FFFH,存在“地址重叠”。这里还需说明的是RAM芯片的CS、OE同74LS138的Y1相连,RAM芯片的WE同“非与门”(或门)的输出端相连。这样,当CS为低电平选中RAM,同时OE为低电平,此时对RAM的读写取决于WE。当进行存储器读操作时,IO/M=“L”,WR=“H”,或门输出为高电平,RAM的WE=“H”。由6116的工作方式表可知WE=“L”,OE=“L”为读操作;当进行存储器写操作时,IO/M=L,WR=“L”,OE=“L”。由6116的工作方式表可知WE=“L”,OE=X(不管是“H”是“L”)都为写操作。EPROM的地址范围为FD000H~FDFFFH,存储容量为4KB;RAM的地址范围为F9000H~F97FFH或F9800H~F9FFFH,存储容量为2KB。由于A11未参加译码,因而有地址重叠,一个内存单元有2个地址对应。9.使用6116、2732和74LS138译码器构成一个存储容量为12KBROM(00000H~02FFFH)、8KB RAM(03000H~04FFFH)的存储系统。系统地址总线为20位,数据总线为8位。解:①译码地址线安排:2732的容量为4K×8位存储器芯片,有12条地址线,12KBROM需采用3片2732。6116的容量为2K×8位存储器芯片,有11条地址线,8KBRAM需采用4片6116。ROM有片外译码的地址线为8条,RAM有片外译码的地址线为9条。采用74LS138译码,每个输出端对应4KB地址范围,对于6116的A11还需进行二次译码。②列出地址范围:A19A18A17A16A15A14A13A12A11A10A9A8EPROM100000000000000000~00FFFH000000001111EPROM200000001000001000~01FFFH000000011111EPROM300000010000002000~02FFFH000000101111SRAMI00000011000003000~037FFFH000000110111SRAM200000011100003800H~03FFFH000000111111SRAM300000100000004000H~047FFH000001000111SRAM400000100100004800H~04FFFH000001001111G1CBA端经非门后的连线)EPROM1~EPROM3的CE分别接74LS138的Y0~Y2,SRAM1的CE同Y3,A11经或门后的输出相连,SRAM2的CE同Y3,A11经或门后的输出相连,SRAM3的CE同Y4,A11经或门后的输出相连,SRAM4的CE同Y3,A11经或门后的输出相连,如图2.17所示。图2.17存储器接口10.微机系统的存储器由5片RAM芯片组成,如图习5-5所示,其中U1有12条地址线,8条数据线,U2~U5各有10条地址线,4条数据线,试计算芯片U1和U2,U3的地址范围,以及该存储器的总容量。图习5-5解:芯片U1的的地址范围计算:A19~A14A13A12A11A10~A00~00100~00~00111~1地址范围为01000H~01FFFH芯片U2和U3的的地址范围计算:A19~A14A13A12A11A10A9~A00~010000~00~010001~1地址范围为02000H~023FFH。总容量为6KB(U1为4KB、U2、U3为1KB、U4、U5为1KB)。