计算机网络习题详解4到9章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第四章第四章第四章第四章4.34.34.34.3对于32KB存储器,若按16位字编址,其地址寄存器应是多少位?数据寄存器是多少位?解:该存储器的寻址空间为:32K*8位/16位=16K字地址寄存器的位数为:14位数据寄存器的位数和字长相等为16位4.4用4片32K×8位SRAM存储芯片可设计哪几种不同容量和字长的存储器?画出相应设计图并完成与CPU连接。解:可设计字长为8位,容量为128K的存储器:可设计字长为16位,容量为64K的存储器:10CS32K×8WECS32K×8WE数据总线.....................01101100。。。。A16A15A14A0WED0~D7CPU.......CS32K×8WECS32K×8WECS32K×8WECS32K×8WE译码器.......A16A15A1WED0~D15CPU.......CS32K×8WECS32K×8WE。。译码器..............数据总线可设计字长为32位,容量为32K的存储器:4.5用32K×8位RAM芯片和64K×4位ROM芯片,设计256K×8位存储器。其中,从30000H到3FFFFH地址空间为只读存储区,其它为可读、可写存储区。完成存储器与CPU连接。解:只读区域的地址空间为:30000H-3FFFFH,为64K,需要64K×4位ROM芯片2片,需要32K×8位RAM芯片的片数为:256K-64K/32K=6片设计如下:存储器的0000H-2FFFFH存储空间为RAM芯片,也就是32K×8位RAM芯片6片,采用字扩展连接。存储空间30000H-3FFFFH使用64K×4位ROM芯片2片,采用位扩展方式连接。数据线条数为8条:D0-D7。地址线的条数为18条:A1-A18,其中A18-A16为片选信号的输入端。设计图如下:4.84.84.84.8用64K×1位的DRAM芯片构成1M×8位的存储器,若采用异步刷新,若每行刷新间隔不超过2ms,则产生刷新信号的间隔是多少时间?若采用集中刷新方式,则存储器刷新一遍最少用多少个读写周期?CPU的死时间为多少?(假定存储器的读写时间为0.5μs).................................................110或1111011000110100010000CS32K×8WECS32K×8WECS32K×8WEA16A2WED0~D31CPUCS32K×8WE..............数据总线A18A17A16A15A1WED0~D7CPU.......CS32K×8RAMWECS32K×8RAMWECS32K×8RAMWECS32K×8RAMWECS32K×8RAMWECS32K×8RAMWECS64K×4ROMWECS64K×4ROM译码器数据总线&解:64K×1位的DRAM芯片的排列方式为256行*256列,该存储器中有64K×1位的DRAM芯片128片刷新信号的产生间隔为2ms.将2ms分成256个小段(因为DRAM按行刷新),每个时间段为:7.8125μs,将其中最后0.5μs用于刷新DRAM的一行,即产生刷新信号的时间间隔为7.8125μs.若采用集中刷新,存储器刷新一遍至少需要256个读写周期,CPU的死时间是256×0.5μs=128μs4.9某动态RAM芯片,容量为64K×1位,除电源线、接地线和刷新线外,该芯片的最小引脚数量是多少?解:该芯片1位数据线,行选通和列选通各一位,64K的存储器对应16根地址线,在DRAM中,行和列复用,即地址线为8根,故在不考虑电源线的情况下,该DRAM芯片的最小引脚数为1+1+1+8=11个。4.12设Cache的容量为214块,每块是一个32位字,主存容量是Cache容量的256倍,其中有如表4.11所示数据(地址和数据均采用16进制表示).表4.11主存数据分布情况地址数据00000087568536000008877923010100049ABEFCD001FFFC4FFFFC68FFFFF801BF2460将主存中这些数据装入到Cache后,Cache各块中的数据内容及相应的标志是什么?(1)全相联映射(2)直接相联映射(3)组相联映射解:(1)全相联映射全相联映射方式下,主存的一个数据块可映射到Cache的任意行,表中共有5个地址,数据从主存映射到Cache后占用其中的5行,假设就是Cache的前5行,具体分布如下表所示。Cache行标志数据000,0000,0000,0000,0000,0000(000000H)87568536100,0000,0000,0000,0000,0010(000002H)87792301200,0000,0100,0000,0000,0001(004001H)9ABEFCD0300,0000,0111,1111,1111,1111(007FFFH)4FFFFC68411,1111,1111,1111,1111,1110(03FFFFEH)01BF2460(2)直接相联映射该方式下,主存的一个数据块只能射到Cache的特定行,表中共有5个地址,数据从主存映射到Cache后占用其中的特定的5行。由于一个数据块为32位,即4B,所以,只需要用主存地址的最后2位表示块内偏移地,由于Cache有16K行,所有,去掉最后2位地址后的连续14位就表示主存数据块映射到的Cache行,剩余的8位即为对应的标志.具体分布如下表所示。Cache行标志数据00000000000000(0000行)000000008756853600000000000010(0002行)000000008779230100000000000001(0001行)000000019ABEFCD011111111111111(03FFF行)000000014FFFFC6811111111111110(03FFE行)1111111101BF2460(3)组相联映射:(假设采用的是四路组相联1)该方式下,主存的一个数据块只能射到Cache的特定组中的任意行,假定Cache采用四路组相联,则Cache共分为4K组。由于一个数据块为32位,即4B,所以,只需要用主存地址的最后2位表示块内偏移地,由于Cache有4K组,因此,去掉最后2位地址后的连续12位就表示主存数据块映射到的Cache组,剩余的10位即为对应的标志.具体分布如下表所示。Cache组标志数据000000000000(000组任意行)000000000087568536000000000010(002组任意行)000000000087792301000000000001(001组任意行)00000001009ABEFCD0111111111111(0FFF组任意行)00000001114FFFFC68111111111110(0FFE组任意行)111111111101BF24604.13某计算机Cache由64个存储块构成,采用四路组相联映射方式.主存包含4096个存储块,每块由128个字组成.访问地址为字地址.(1)求主存地址和Cache地址各有多少位?(2)按照题目条件中的映射方式,列出主存地址的划分情况,并标出各部分的位数.解:(1)主存容量为:4096*128=512KW故主存地址位数为:19位Cache容量为:64*128=8KW故Cache地址位数为:13位(2)每个组中包含的存储块的个数为:4块,Cache组数16故索引字段(Index)位数为:4位由于每块由128个字组成.访问地址为字地址,故块内地址的位数为:7位故标记部分(Tag)的位数为:8位则主存地址划分情况如下:4.14某计算机中主存容量为4MB,Cache容量为16KB,每块包含8个字,每字32位,映射方式采用4路组相联.设Cache的初始状态为空,CPU依次从主存第0,1,2,…,99号单元读出100个字(每次读一个字),并重复此操作10次.替换算法采用LRU.(1)求Cache的命中率(2)若Cache比主存块10倍,分析采用Cache后存储访问速度提高了多少?解:(1)0,1,2,…,99号单元共100个字,每块8个字,故100个字被分配在13块内。Tag(标记)Index(索引)块内字地址12748Cache中能存放的块数为:16KB/(8*4)=512块因为是四路组相联,故Cache组数为:512/4=128由于Cache的初始状态为空,根据前面的分析,13块数据调入Cache后不会被调出,所有10次访问中,每块第一次访问不命中外,其余访问均可命中,因此10次循环访问共访问内存100*10=1000次,其中不命中的次数只有13次。则Cache的命中率为:(1000-13)/1000=98.7%(2)设访问Cache的访问时间为T(访问一个数据单元所用的时间),则访问主存的访问时间为10T,故有:使用Cache后访存所用时间为:T2=13*10T+(1000-13)*T=1117T不使用Cache访问耗时为:T1=10000T故使用了Cache后速度提高了:10000T/1117T=8.95倍课堂习题:某计算机字长32位,采用直接映射Cache,主存容量4MB,Cache数据存储体容量为4KB,字块长度为8个字。(1)画出直接映像方式下主存地址划分情况。(2)设cache初始状态为空,若CPU顺序访问0-99号单元,并从中读出100个字,假设主存一次读一个字,并重复此顺序10次,请计算cache命中率。(3)如果cache的存取时间是2ns,主存访问时间是20ns,平均访问时间是多少。(4)Cache-主存系统访问效率解:(1)主存有4MB/4B=1M字,地址需要20位。Cache有4KB/4B=1K字,1K/8=128块(行),需要7位。字块大小8个字,需要3位。区行字++++++++++=======___00000000000000000000(2)地址0:行号:000000000000000000000地址100:行号1200000000000001100100第一次100字100/8+1=13次载入,100-13=87次命中第二次到第10次,全命中9*100=900次命中。命中率=(87+900)/1000(3)T=0.987*2+0.013*20=2.234ns(4)E=2/2.234=0.8954.18某计算机系统中有一个TLB和L1级数据Cache,存储系统按字节编址,虚拟存储容量为2GB,主存容量为4MB,页大小为128KB,TLB采用四路组相联方式,共有16个页表项.Cache容量为16KB,每块包含8个字,每字32位,采用四路组相联.参照图4.51所描述的页式虚拟存储系统中TLB和Cache命中时详细的存储访问过程,回答下列问题:(1)虚拟地址中哪几位表示虚页号?哪几位表示页内偏移地址?虚页号中哪几位表示TLB标记?哪几位表示TLB索引?(2)物理地址中哪几位表示物理页号?哪几位表示偏移地址?(3)为实现主存与数据Cache之间的组相联映射,对该地址又进行怎样的划分?解:(1)虚拟存储的页面数为:2GB/128KB=16K,故虚页号的位数为:14位由于页大小为128KB,故页内偏移地址的位数为17位所以虚拟地址的高14位表示的是虚页号,低17位表示的是页内偏移地址TLB采用四路组相联方式,共有16个页表项,所以索引需要2位,故虚拟页号的高12位为TLB标记,低2位为TLB索引(2)物理内存中包含的页数为:4MB/128KB=32,故物理页号占5位,页内偏移地址的位数为17位所以物理地址中高5位表示物理页号,低17位表示页内偏移地址(3)主存容量为4MB,访问该主存需要22根地址线,块大小为32B,故块内字节偏移地址为5位,Cache采用四路组相联,Cache共分成16KB/(4*32B)=128个组,故索引字段需要7位,剩下的22-5-7=10位为标记。则主存地址划分如下:主存组号(标记)组内块号(索引)块内地址175710第

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功