计算机组成原理第5章部分习题参考答案

  • 格式:doc
  • 大小:159.64 KB
  • 文档页数:11

第五章部分习题参考答案

【5-10】一个1K * 8的存储芯片需要多少根地址线,数据输入输出线?

解:

n = log1024 = 10 根。由于一次可读写8位数据,所以需要8根数据输入输出线。 2【5-11】某计算机字长32位,存储容量64KB,按字编址的寻址范围是多少?若主存以字节编址,试画出主存字地址和字节地址的分配情况?

解:

因为字长32位,所以64KB = 16KW,要表示16K个存储单元,需要14根地址线。所以按字编址的寻址范围是0000H ~ 3FFFH 。

若按字节编址,假设采用PC机常用的小端方案,则主存示意图如下:

【5-13】现有1024×1的存储芯片,若用它组成容量为16K×8的存储器。试求:

(1) 实现该存储器所需芯片数量

(2) 若将这些芯片分装在若干块板上,每块板的容量是4K×8,该存储器所需的地址线的总位数是多少?其中几位用于选板?几位用于选片?几位用作片内地址?

解:

(1)需要16组来构成16K,共需芯片16×8 = 128片

(2)需要的地址线总位数是14位。因为共需4块板,所以2位用来选板,板内地址12位,片内地址10位。

1

每块板的结构如下图

2

4块板共同组成16K×8存储器的结构图

【5-15】某半导体存储器容量16K×8,可选SRAM芯片的容量为

4K ×4;地址总线A15~A0(A0为最低位),双向数据总线D7~D0,由R/W线控制读写。设计并画出该存储器的逻辑图,并注明地址分配、片选逻辑和片选信号的极性。

解:

注:采用全译码方式方案

片内地片

A0

A1A3A2A8A9A7A6A5A4A12A15A14A13A11A10

00000000000000004K

1111111000011111

00001000000000004K

1000111111111111

4K0000000010000000

1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0

0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 4K

1

1

0

1

0

1

1

1 1

1

1

1

1

1

1

1

时分别选定,11,为A1200,0110,,恒为,由以上真值表可知,采用全译码方式,A15A140A13 RAM芯片。可以写出片选逻辑表达式的组不同的44K

3

64KB的存储器芯片构成16K×1的DRAM【5-17】用容量为 画出该存储器的结构框图(1)微秒内至少要访存一次,试问采用哪种刷新方式1CPU在微秒,(2) 设存储器的读写周期均为0.5比较合理?相邻两行之间的刷新间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是 多少? 解:)

(若看不清可以从”视图”菜单中调整显示比例结构框图如下(1)

4

(2) 由于存储器芯片规格为16K×1,所以,其芯片内部的存储矩阵是128×128的存储矩阵。

若采用集中刷新方式,则死区为0.5×128 = 64微秒。而CPU 1微秒至少访存一次,长达64微秒的死区显然极为不合理。

若采用分散刷新方式,则需要将系统存取周期增加至1微秒,降低了整机速度,且刷新过于频繁。

所以,应该采用异步刷新方式,假设允许的最大刷新间隔是2ms,则相邻两行刷新间隔为2ms / 128

= 15.625微秒。全部存储单元刷新一遍实际时间是

0.5 * 128 = 64微秒

【5-18】有一个8位机,采用单总线结构,地址总线16位(A15~A0),数据总线8位(D7~D0),控 MREQ W高电平为读命令,低电平为写((低电平有效允许访存)和制总线与主存有关的信号有R/ )。命令为用户程序区;芯片组成;从8192~327678191为系统程序区,有ROM主存地址分配如下:从0~ )。)2K地址空间为系统程序工作区(上述地址均为十进制,按字节编址最后(最大地址。从上述规格中选用芯SRAM8K×8的2K,×8,4K×8,现有下列存储芯片:8K×8的ROM,16K×1 的连接。片设计该机的存储器,画出主存的连接框图,并注意画出片选逻辑及与CPU 注:该题首先应将十进制的单元数转换成对应的地址空间。解:,程序工作区7FFFH(24K)(8K),用户程序区2000H~可得系统程序区为0000H~1FFFH(8191) 片。2K×8 RAM 1×8 ROM一片,8K×8 RAM 3片,8000H~87FFH(2K)。所以,选用8K 片选 片内地址A0

A2 A4 A6 A8 A10 A12 A14 A15 A13 A11 A9 A7 A5 A3 A1

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8K

1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1

0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 8K 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1

8K

0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1

0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 8K

1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1

0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2K

1

1

1

1

0

0

0

0

1 1

1

1

1

1

1

1

空间片内地址A14,A15由真值表分析可知,可以用2K译码器进行片选,由于最后3-8通过A13, 11只有位,所以,通过一个或门共同参与片选工作。 5

连接图如下

;可选随机读写区,可选EPROM芯片为4K ×8【5-19】某半导体存储器容量15KB,其中固化区8KB W控,R/~4,2K ×4,1K×4.地址总线A15~A0,双向数据总线D7D0,可选7KBSRAM芯片有:4K× 为低电平时允许存储器工作。设计并画出该存储器逻辑图,注明地址分配,片选逻制读写,MREQ 辑,片选信号极性等。22KRAM,2片×4的RAM,4K4K解:注:该题采用全译码方案,选用2片×8的ROM,2片×4的 片1K×4的RAM。

片选A14 A13 A15 0

0 0 0 0 0 0 0 0 0

0 0 0 0 1 0 1

0

片内地A1A9A10A11A12A8A7A6A5A4A3A2A000000000000004K

1111101111111

00001000000004K1111111111111

4K

0000000000000

1

01

1

1

1

1

1

1

1

1

1

1

6

0 0 0 0 0 0 0

0 1 1

1 1

00000000000012K

1111110111111

00100010000001K

1

1

1

1

1

0

11

11

11

1

进行片1110,的四个不同状态,00,01,由上表分析可知,A15,A14恒为零,可以通过A13,A12 选,采用全译码方式,片选逻辑如下: 0CS ,片选0FFFH = 4K的ROM地址是0000H~0Y 1CS ROM地址是1000H~1FFFH,片选 = 的4K1Y 2CS 2FFFH,片选 = 地址是4K的RAM2000H~2Y

3CS3Y ,片选 = A11 + ~的2KRAM地址是3000H37FFH

3CS4Y = A10 + ,片选地址是1K的RAM3800H~3BFFH + 11A

ENMREQ + A14 + A15

=

,图中未画出。~的片内地址线为的~A10A0,1KRAMA9A0片内地址线为的连接图如下:2KRAM

~64KB位,某计算机地址总线5-20【】16访存空间。FC00空间占用外围设备与主存统一编址,I/O构成主存储器,设计并画出该存储器逻辑图,并画出芯片地址线,芯片2164。现用FFFFH(64K * 1)时不访问主存。动态刷新数据线与总线的连接逻辑以及行选信号和列选信号的逻辑式,使访问I/O 7

逻辑暂不考虑。

解:

I/O空间为1111 1100 0000 0000 ~ 1111 1111 1111 1111.可以看出,A15~A10恒为1.所以,当A15~A10不全为1时为主存的地址空间,此时应产生低电平片选:

CS MREQ = A15 * A14 * A13 * A12 * A11 * A10 +

【5-25】设某计算机主存容量为4MB,Cache容量为16KB,每块包含8个字,每字32位,设计一个4路组相联映像(即Cache每组内有4个块)的Cache组织,要求:

(1) 画出主存地址字段中各段的位数

(2) 设Cache的初态为空,CPU依次从主存第0,1,2,3,…99号单元读出100个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少?

(3) 若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度提高了多少倍?

解:

(1) 主存容量4MB,所以地址共22位。

每块为8×4 = 32字节,所以块内地址是5位。

4块为一组,所以组内块地址是2位。

每组共32×4 = 128字节,Cache为16KB,共16KB / 128B = 128个组。所以组地址7位。

主存可以分为4MB / 16KB = 256个区。所以区地址是8位。

(2) 分析:由于Cache的初态是空的,所以CPU访问0号字单元时未命中,此时需调入CACHE的0号块,由于Cache每块有8个字,0~7号单元的内容被调入Cache,故后续访问1~7号字单元时命中。以此类推,主存第0、1、2…、99号字单元分别在0、1、2….12块中,所以CPU第一遍访问0~99号单元的过程中,每个块第1个单元均不命中,故共有13次未命中。而第二遍到 8