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的单元其二进制地址为:0 1010 1011 1100 1101 1110 1111 (主存字节地址为25位)区号为0 1010 1011 110块号为0 1101 1110数据在Cache中的位置是 0 1101 1110 11114.(1)对于如下主存块地址流:0,1,2,5,4,6,4,7,1,2,4,1,3,7,2,如果主存中内容一开始未装入Cache中,请列出每次访问后Cache中各块的分配情况;(2)指出块命中的时刻;(3)求出此期间Cache的命中率。
解:(1) 每次访问后Cache中各块的分配情况如下表。
123456789101112131415时间012546471241372地址流0块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位 Cache 64块----6位, 每块128字----7位, 共13位(2) 主存区数 = 主存块数 / Cache块数 = 4096 / 64 =64个区----6位区内组数 = Cache块数 / 组内块数 = 64 / 4 =16个组----4位组内块数为4 ----2位块内地址为7位(字地址,每块128字)主存地址格式如下:6位 6位 2位 7位区号组号组内块号 块内地址6. 有一个16KB 4路组相联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的二进制表示为:1010 1011 1100 1101 1110 1000 11110 1000Cache地址为:10 1000 11110 10007. 有一个”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条地址线,12KB ROM需采用3片2732。
6116的容量为2K×8位存储器芯片,有11条地址线,8KBRAM需采用4片6116。
ROM有片外译码的地址线为8条,RAM有片外译码的地址线为9条。
采用74LS138译码,每个输出端对应4KB地址范围,对于6116的A11还需进行二次译码。
②列出地址范围:A19A18A17A16A15A14A13A12A11A10A9A8 EPROM100000000000000000~00000000011110FFFHE P R O M200000001000001000~000000011111 01FFFHR O M3000000100000 02000~02FFFH000000101111 S R A M I000000110000 03000~037FFFH000000110111S R A M2000000111000 03800H~03FFFH000000111111 S R A M3000001000000 04000H~047FFH000001000111 S R A M4000001001000 04800H~04FFFH000001001111G1 C B A端经非门后的连线)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的地址范围,以及该存储器的总容量。