计算机组成原理习题答案3解析 下载本文

第3章习题参考答案

数据 寄存器 CPU D8?15 D0?7 CS 32K?8 A0?A14 W/R CS 32K?8 CS 32K?8 CS D8?15 32K?8 W/R 地址 寄存器 A0?A14 W/R 32K?8 D0?D7 D0?7 32K?8 32K?8 32K?8 Y0 A15 A16 2-4 译码 Y1 Y2 Y3

7.某机器中,已知配有一个地址空间为0000H?3FFFH的ROM区域。现在再用一个RAM芯片(8K×8)形成40K×l6位的RAM区域,起始地为6000H。假设RAM芯片有CS和WE信号控制端。CPU的地址总线为A15?A0,数据总线为D15?D0,控制信号为R/W (读/写),MREQ (访存),要求:

(1) 画出地址译码方案。

(2) 将ROM与RAM同CPU连接。 解:

(1) 由于RAM芯片的容量是8K×8,要构成40K×16的RAM区域,共需要 40K?16?5?2?10片,分为5组,每组2片;8K=213,故低位地址为13位:A12~A0

8K?8每组的2片位并联,进行字长的位扩展

有5组RAM芯片,故用于组间选择的译码器使用3:8译码器,用高3位地址A15~A13作译码器的选择输入信号 地址分配情况: 各芯片组 各组地址区间 A15 A14 A13 138的有效输出Yi 0 ROM 0000H?3FFFH 0 0 1 0 0 Y0 Y1 5

第3章习题参考答案

RAM1 RAM2 RAM3 RAM4 RAM5 6000H?7FFFH 8000H?9FFFH A000H?BFFFH C000H?DFFFH E000H?FFFFH 0 0 1 1 1 1 1 1 0 0 1 1 0 1 0 1 0 1 Y2 Y3 Y4 Y5 Y6 Y7 注:RAM1?RAM5各由2片8K?8芯片组成,进行字长位扩展 各芯片组内部的单元地址是A12~A0由全0到全1

(2) ROM、RAM与CPU的连接如图:

D0?7 D0?7 CPU ROM 16K?8 OE 8K?8 CS A0?A12 WE 8K?8 CS 8K?8 CS 8K?8 CS 8K?8 CS R/ W A0?A12 WE 8K?8 CS D0?D7 D8?15 MREQ A15 A14 A13 E 3-8 译码 Y0 Y1 Y2 Y3 Y4 A0?A12 8K?8 CS 8K?8 CS 8K?8 CS 8K?8 CS D8?15 Y5 Y6 Y7

8、设存储器容量为64M,字长为64位,模块数m=8,分别用顺序和交叉方式进行组织。存储周期T=100ns,数据总线宽度为64位,总线传送周期,?=50ns。求:顺序存储器和交叉存储器的带宽各是多少? 解:

顺序存储器和交叉存储器连续读出m = 8个字的信息总量都是:

6

第3章习题参考答案

q = 64位×8 = 512位

顺序存储器和交叉存储器连续读出8个字所需的时间分别是:

t1 = mT = 8×100ns = 8×10-7s

t2 = T+(m-1)τ = 100ns+7×50ns = 450 ns = 4.5×10-7 s

顺序存储器和交叉存储器的带宽分别是: W1=q/t1=512/(8×10-7)=64×107[位/s]

W2=q/t2=512/(4.5×10-7)=113.8×107 [位/s]

9、CPU执行一段程序时,cache完成存取的次数为2420次,主存完成存取的次数为80次,已知cache存储周期为40ns,主存存储周期为240ns,求cache/主存系统的效率和平均访问时间。 解:cache的命中率:

h?Nc2420??96.8%

Nc?Nm2420?80tm240??6 tc40主存慢于Cache的倍率:

r?Cache/主存系统的效率:

e?11??86.2%

r?(1?r)h6?5?0.968平均访问时间:

ta?tc40??46.4ns e0.862

10、已知cache存储周期40ns,主存存储周期200ns,cache/主存系统平均访问时间为50ns,求cache的命中率是多少?

解:已知cache/主存系统平均访问时间ta=50ns 由于ta?h?tc?(1?h)tm 所以有h?tm?ta200?50??93.75% tm?tc200?40

11、某计算机采用四体交叉存储器,今执行一段小循环程序,此程序放在存储器的连续地址单元中,假设每条指令的执行时间相等,而且不需要到存储器存取数据,请问在下面两种情况中(执行的指令数相等),程序运行的时间是否相等。 (1) 循环程序由6条指令组成,重复执行80次。 (2) 循环程序由8条指令组成,重复执行60次。

7

第3章习题参考答案

解:设取指周期为T,总线传送周期为τ,每条指令的执行时间相等,并设为t0,存储器采用四体交叉存储器,且程序存放在连续的存储单元中,故取指令操作采用流水线存取方式,两种情况程序运行的总的时间分别为: (1) t = (T+5τ+6t0)*80 = 80T+400τ+480 t0 (2) t = (T+7τ+8t0)*60 = 60T+420τ+480 t0 所以不相等

12、一个由主存和Cache组成的二级存储系统,参数定义如下:Ta为系统平均存取时间,T1为Cache的存取时间,T2为主存的存取时间,H为Cache命中率,请写出Ta与T1、T2、H参数之间的函数关系式。 解:

Ta?H?T1?(1?H)?T2

13、一个组相联cache由64个行组成,每组4行。主存储器包含4K个块,每块128个字。请表示内存地址的格式。 解:

主存4K个块,每块128个字,共有4K?128=219个字,故主存的地址共19位; 共4K个块,故块地址为12位;每块128个字,故块内的字地址为7位 Cache有64行,每组4行,共16组,故组号4位,组内页号2位 组相联方式是组间直接映射,组内全相联映射方式;

所以主存的块地址被分为两部分:低4位为在cache中的组号,高8位为标记字段,即19位内存地址的格式如下: tag 组号 字地址 8位 4位 7位

14、有一个处理机,内存容量1MB,字长1B,块大小16B,cache容量64KB,若cache采用直接映射式,请给出2个不同标记的内存地址,它们映射到同一个cache行。 解:

64KB?212个行,行号为12位 Cache共有

16B采用直接映射方式,所以cache的行号i与主存的块号j之间的关系为:

i?jmodm,m为cache的总行数

20位的内存地址格式如下: tag 行号 字地址 4位 12位 4位 两个映射到同一个cache行的内存地址满足的条件是:12位的行号相同,而4位的标记不同即可,例如下面的两个内存地址就满足要求: 0000 000000000000 0000=00000H与 0001 000000000000 0000=10000H

8

第3章习题参考答案

15、假设主存容量16M?32位,cache容量64K?32位,主存与cache之间以每块4?32位大小传送数据,请确定直接映射方式的有关参数,并画出主存地址格式。 解:

由已知条件可知Cache共有

64K?32位?214个行,行号为14位

4?32位主存共有

16M?32位?222个块,块地址为22位,由行号和标记组成

4?32位cache的行号i与主存的块号j之间的关系为:

i?jmodm,m为cache的总行数

设32位为一个字,且按字进行编址,则 24位的内存地址格式如下: tag 行号 字地址 8位 14位 2位

补充:从下列有关存储器的描述中,选择出正确的答案: A.多体交叉存储主要解决扩充容量问题。 B.访问存储器的请求是由CPU发出的。

C.cache与主存统一编址,即主存空间的某一部分属于cache。 D.cache的功能全由硬件实现。 答: D

9