好文档 - 专业文书写作范文服务资料分享网站

计算机组成原理课程习题答案_秦磊华

天下 分享 时间: 加入收藏 我要投稿 点赞

0

CPUU CS CS CS 32K×8 CS A 32K×8 32K×8 32K×8 WE WE WE WE A

WE

D~D

数据总线

用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为片选信号的输入端。 设计图如下:

A 译

A 码

A 器

CPUU 000 001 010 110或111 011 101 100

CS A CS CS CS CS CS CS CS

64K×4 32K×8 32K×8 32K×8 32K×8 32K×8 64K×4 32K×8

ROM RAM RAM RAM RAM RAM ROM RAM

WE A WE WE WE WE WE WE

WE

D~D

数据总线

某计算机字长16位,主存容量128KW,请用16K×8位的静态RAM芯片和32K×16位的ROM芯片,为该机设计一个主存储器。要求18000H~1FFFFH为ROM区,其余为RAM区。画出存储器结构及其与CPU连接的框图。

解:设计如下:通过简单的计算可知:

地址空间00000H-18000H都是RAM区域(共96KW)

16......0231181716 15...17.....................0 地址空间18000H-1FFFFH为ROM区域(共32KW) 故共使用16K×8位的静态RAM芯片12片 使用32K×16位的ROM芯片1片 数据线条数为16条:D0-D15。

地址线的条数为17条:A1-A17,其中A17-A15为片选信号的输入端。 设计图如下:

A 译

A 码

A 器

CPUU 101 011 100 001 010 000

CS CS CS CS CS A CS CS CS CS CS CS CS 16K×8 16K×8 32K×8 16K×8 16K×8 16K×8 16K×8 16K×8 16K×8 16K×8 16K×8 16K×8 RAM RAM RAM RAM RAM RAM RAM RAM RAM RAM RAM RAM WE WE WE WE WE A WE WE WE WE WE WE WE WE

D~D

数据总线

假设 CPU 有16根地址线,8根数据线,并用 MREQ作为访存控制信号(低电平有效),用W/R做读/写控制信号(高电平为读,低电平为写),主存地址空间分配如下:

6000H - 67FFH 为系统程序区 6800H - 6BFFH 为用户程序区

现有下列存储芯片:1K*4位RAM,4K*8位RAM,8K*8位RAM,2K*8位ROM,4K*8位ROM,8K*8位ROM及译码器和各种门电路,设计该机的主存系统,并画出CPU与存储器的连接图。 本题略

用64K×1位的DRAM芯片构成1M×8位的存储器,若采用异步刷新,若每行刷新间隔不超过2ms,则产生刷新信号的间隔是多少时间?若采用集中刷新方式,则存储器刷新一遍最少用多少个读写周期?CPU的死时间为多少?(假定存储器的读写时间为s)

解:64K×1位的DRAM芯片的排列方式为256行*256列,该存储器中有64K×1位的DRAM芯片128片刷新信号的产生间隔为2ms.

将2ms分成256个小段(因为DRAM按行刷新),每个时间段为:s,将其中最后s用于刷新DRAM的一行,即产生刷新信号的时间间隔为s.

若采用集中刷新,存储器刷新一遍至少需要256个读写周期,CPU的死时间是256s=128s

则刷新信号的间隔是s

某动态RAM芯片,容量为64K1位,除电源线、接地线和刷新线外,该芯片的最小引脚数量是多少?

解:该芯片1位数据线,行选通和列选通各一位,64K的存储器对应16根地址线,在DRAM

171615 14 110或111 CS 32K×16 ROM ............0...1.........15中,行和列复用,即地址线为8根,故在不考虑电源线的情况下,该DRAM芯片的最小引脚数为1+1+1+8 = 11个。

有一个具有8个存储体的低位交叉存储器中,如果处理器的访问地址为以下八进制地址值,求该存储器比单体存储器的平均访问速度提高多少?(忽略最初的启动时延)

(1)10018,10028,10038 ,…,11008 (2)10028,10048,10068 ,…,12008 (3)10038,10068,10118 ,…,13008

解:假设改存储体的地址空间从00008开始,并且存储周期为T,故有:

三个访问序列访存空间的大小都为64个存储单元,故在不使用低位交叉存储体的情况下访存耗时都为64T。

(1)该访问序列访存如图所示:

M0 M1 M2 M3 M4 M5 M6 M7 ... 10008 10108 10208 ... 11008 ... 10018 10118 10218 ... ... 10028 10128 10228 ... ... 10038 10138 ... ... ... 10048 10148 ... ... ... 10058 10158 .. ... ... 10068 10168 ... ... ... 10078 10178 ... ... 则访问该段序列所用时间为T+63*T/8 = 71T/8 故速度提升倍数为:(64T*8)/71T=倍 (2)该访问序列访存如图所示:

M0 M1 M2 M3 M4 M5 M6 M7

... ... 10108 10208 ... 12008 ... ... ... ... ... ... 10028 ... ... ... ... ... ... ... ... ... 10048 ... ... ... ... ... ... .. ... ... 10068 ... ... ... ... ... ... ... ... 则访问该段序列所用时间为3T + 63*2T/8 = 75T/4 故速度提升倍数为:(64T*4)/75T= (3)该访问序列访存如图所示:

M0 M1 M2 M3 M4 M5 M6 M7 ... ... ... ... 10308 ... ... 13008 ... ... 10118 ... ... 10418 ... ... ... ... 10228 ... ... ... ... 10038 ... ... 10338 ... ... ... ... 10148 ... ... 10448 ... ... ... ... 10258 ... ... ... ... 10068 ... ... 10368 ... ... ... ... 10178 ... ... 10478 ...

则访问该段序列所用时间为4T+ 63*3T/8= 221T/8 故速度提升倍数为:(64T*8)/221T=

用16K1位的DRAM芯片构成64K8位的存储器,设存储器的读写周期为s,要使CPU在1s内至少访问存储器一次,问采用哪种刷新方式比较合适?若每行刷新间隔不超过2ms,该方式下刷新信号的间隔是多少?

解:由于要使CPU在1s内至少访问存储器一次,而存储器的读写周期为s,故不可采用集中式刷新方式,因为集中是刷新的死时间会超过1s,从而不可保证CPU在1s内至少访问存储器一次,故采用异步刷新方式比较合适。

设16K1位的DRAM芯片采用地址复用后,采用128*128的排列方式,则将2ms分成128个时间段,每段的时间为:2000s/128=s,即刷新信号的产生周期为s

14

设Cache的容量为2块,每块是一个32位字,主存容量是Cache容量的256倍,其中有如表所示数据(地址和数据均采用16进制表示).

表 主存数据分布情况

地址 000000 000008 010004 01FFFC FFFFF8 数据 9ABEFCD0 4FFFFC68 01BF2460 将主存中这些数据装入到Cache后, Cache各块中的数据内容及相应的标志是什么? (1)全相联映射 (2)直接相联映射 (3)组相联映射 解:(1)全相联映射

全相联映射方式下,主存的一个数据块可映射到Cache的任意行,表中共有5个地址,数据从主存映射到Cache后占用其中的5行,假设就是Cache的前5行,具体分布如下表所示。

Cache行 0 1 2 3 4 标志 00,0000,0000,0000,0000,0000 (000000H) 00,0000,0000,0000,0000,0010(000002H) 00,0000,0100,0000,0000,0001(004001H) 00,0000,0111,1111,1111,1111(007FFFH) 11,1111,1111,1111,1111,1110(03FFFFEH) 数据 9ABEFCD0 4FFFFC68 01BF2460

(2)直接相联映射

该方式下,主存的一个数据块只能射到Cache的特定行,表中共有5个地址,数据从主存映射到Cache后占用其中的特定的5行。由于一个数据块为32位,即4B,所以,只需要用主存地址的最后2位表示块内偏移地,由于Cache有16K行,所有,去掉最后2位地址后的连续14位就表示主存数据块映射到的Cache行,剩余的8位即为对应的标志.具体分布如下表所示。

Cache行 00 0000 0000 0000(0000行) 00 0000 0000 0010(0002行) 标志 0000 0000 0000 0000 数据 00 0000 0000 0001(0001行) 11 1111 1111 1111(03FFF行) 11 1111 1111 1110(03FFE行) 0000 0001 0000 0001 1111 1111 9ABEFCD0 4FFFFC68 01BF2460

(3)组相联映射:(假设采用的是四路组相联1)

该方式下,主存的一个数据块只能射到Cache的特定组中的任意行,假定Cache采用四路组相联,则Cache共分为4K组。由于一个数据块为32位,即4B,所以,只需要用主存地址的最后2位表示块内偏移地,由于Cache有4K组,因此,去掉最后2位地址后的连续12位就表示主存数据块映射到的Cache组,剩余的10位即为对应的标志.具体分布如下表所示。

Cache组 0000 0000 0000(000组任意行) 0000 0000 0010(002组任意行) 0000 0000 0001(001组任意行) 1111 1111 1111(0FFF组任意行) 1111 1111 1110(0FFE组任意行) 标志 00 0000 0000 00 0000 0000 00 0000 0100 00 0000 0111 11 1111 1111 数据 9ABEFCD0 4FFFFC68 01BF2460

某计算机Cache由64个存储块构成,采用四路组相联映射方式.主存包含4096个存储块,每块由128个字组成.访问地址为字地址. (1)求主存地址和Cache地址各有多少位?

(2)按照题目条件中的映射方式,列出主存地址的划分情况,并标出各部分的位数. 解:(1)主存容量为:4096*128=512KW 故主存地址位数为:19位 Cache容量为:64*128=8KW 故Cache地址位数为:13位

(2)每个组中包含的存储块的个数为:4块 故索引字段(Index)位数为:2位

由于每块由128个字组成.访问地址为字地址,故块内地址的位数为:7位 故标记部分(Tag)的位数为:10位 则主存地址划分情况如下:

12Tag (标记) Index(索引) 块内字地址

10 2 7

某计算机中主存容量为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块内。

Cache中能存放的主存块数为:16KB/8=2K块

因为是四路组相联,故每组中包含的块数为:2K/4=512块

由于Cache的初始状态为空,根据前面的分析,13块数据调入Cache后不会被调出,

计算机组成原理课程习题答案_秦磊华

0CPUUCSCSCS32K×8CSA32K×832K×832K×8WEWEWEWEAWED~D数据总线用32K×8位RAM芯片和64K×4位ROM芯片,设计256K×8位存储器
推荐度:
点击下载文档文档为doc格式
3gqby4ynvs4x67j2pwjr92i2p9mey901drh
领取福利

微信扫码领取福利

微信扫码分享