计算机组织与体系结构答案中文版(第七版)(最新整理)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AC MQ
40
40
算术-逻 辑电路
40 I/O设备
40
12
40 20 88
MBR
PC IBR
12
IR
MAR 12
控制 电路
主存 储器M
6,便于同时存取两个连续地址序号的存储单元,提高访问速度 7,(1)存储器数据传输率快了 32 倍
(2)数据通道最大数目增大了一倍 (3)单通道最大数据传输速率提升了 5 倍。各种技术的使用,提升了整机的性能。 8,回答正确,但是不适合用户理解。MAC 机的时钟速率是 1.2ghz,P4 为 2.4ghz,而时钟速 率在一定程度上反映了计算机的执行速度,所以 P4 的机器可能是目前最符合用户要求的机 型。
3+3=6
CPU 寄存器
3
pc
0006 ac
26 ir
CPU 寄存器
4
pc
2 5940 3 26
0006 ac 26 ir
5 0003
6 0006
3.2 步骤一中详细解释:
Pc 中内容为 300,将 PCMAR,然后将第一条指令装入数据总线,数据总线 MBR, MBRIR
3.3 (a)最大可直接寻址的容量是 b
(a)行大小=2w = 64,w = 6
地址长度=s + w =32,s = 26
标记大小= s – r = 20,r = 6
主存地址=
标记
20
行
字
6
6
寻址单元数=2s+w=232 主存的块数=2s=226 Cache 行数=m=2r=26 (b)行大小=2w = 64,w = 6 地址长度=s + w =32,s = 26
(b),1,取一次指令要两次访问存储器 2,将降低存储器容量
(c) 程序计数器和指令寄存器各需要 24 位和 8 位。
3.4
(a)0~(
)
(b) 0~(
)
(c)I/O 模块与 CPU 互连的特点
(d) 个,1 个。因为总共只有 16 位 cpu 地址,故处理器只能支持(16-I/O 端口位数)
的位数
(b)250 – 20 = 230 ns 处理器至少应在 230ns 时将数据放到总线上
3.13
(a)总线时钟周期 = 1 / f * 109 ns =200 ns Write 信号宽度 = 50 * 200 = 1000
(b) (c)
3.14
(a)原周期 = 4 + 4 * 3 =16 时钟周期 4 * 2 /16 = 50%
故 C>A>B
第三章
1 步骤一 存储器
CPU 寄存器
1 0011 2 5940 3 26
5 0003 6 步骤二
存储器 1 0011 2 5940 3 26
5 0003 6 步骤三
存储器 1 0011 2 5940 3 26
5 0003 6 940 0003 步骤四
存储器 1 0011 2 5940 3 26
b:计算机 A Ra=1/4×(100+0.1+0.2+1)≈25 MIPS Rb=4/(1/100+10+5+1)=0.25 MIPS
计算机 B Ra=1/4×(10+0.1++1+1/8)=3.06 Rb=4/(0.1+1+10+8)=0.21
计算机 C Ra=1/4×(5+5+2+1)=3.25 Rb=4/(0.2+0.2+0.5+1)=2.1
3.18
处理器处理完一条指令后才会进入中断处理周期 9 * T = 9 / f = 9 / 10M = 900 ns
第四章
4.1 m=64,k=4 组数 v=m / k=64 / 4=16=2d, d=4 块数 4k=2s,s=12 标记=s-d=8 位 块大小=2w=128*8=210,w=10
主存地址=
9,在这种表示方法中,10 个管表示了十个数字,而使用二进制可以表示 10,(画图) 略
个数字
11, MIPS= *
12,∵MIPS= * ∴CPI(VAX)=5,CPI(IBM)=1.39 IC≈
13,CPI=(1+2+2+2)/ =7*
MIPS= *
= * =5.71*
T=7* *
=1.75*
14,a:算术平均法适用于较多程序,抖动较大 调和平均发适用于较少程序,抖动较小
组号 i=j mod v=(1010 1011 1100 1101 1110 1000 1111 1000 / 24)mod 28 =27+23 + 22 + 2 + 1=143
故地址 ABCDE8F8 映射到 cache 的第 143 组中四行中的任意一行
4.8
(a)块大小=2w= 8,w=3
行数 m=2r=32,r=5
标记 8
组 4
4.2 k=2 块大小=行大小=2w = 16,w = 4 寻址单元数=2s+w = 64M= 64*220 s + w = 26,s = 22 cache 的行数= k*v = k*2d = 8K / 16 d=8 标记大小= s – d = 14
主存地址=
标记 14
4.3 (a)直接映射
(2)设置优先级,cpu 处理为 1,cpu 通过 I/O 模块向外输出或者输入为 2,电传输入/输出
为 3.设置中断允许位,当优先级较低的操作遇到高优先级操作的中断请求时,置 IEN=1,
允许中断,从而实高速 cpu 处理与低速 I/O 处理的协调。
3.7
(1)
(2)传指令时,为相同的传输速率
传数据时,仍然为 倍差
3.8 这段时间一定比时钟周期小。
因为链式反应在一个时钟周期开始的时候应判断各主控方的优先级,只有该时间周期 小于时钟周期才能即调整优先级又实现各主控方各自的操作。
3.9 减小工作量,提高效率。因为不用判断优先级为 16 的设备的 TR 线,任一高优先级设
备可抢占该设备时间片,只有 TR0-TR15 都无效时,TR16 自然使用时间片。
4.12
(a)块大小=行大小=2w = 16,w = 4
寻址单元数=2s+w= 1M = 220,s + w = 20,s =16
ADD M(0FB) LOAD M(0FA) JUMP +M(08D,0:19) LOAD –M(0FA) ADD M(0FB) 程序代码意图:首先装入 0FA 值,然后与 0FB 相加,再装入 0FA 值,若 AC 中值非负, 取 0FA 左指令再装入-(0FA)将 0FB 的值相加后装入 AC 中 5,如图所示
5 0003 6 940 0003 步骤五
存储器 1 0011 2 5940 3 26
5 0003 6 940 0003 步骤六
存储器 1 0011
1
pc
ac
0011 ir
CPU 寄存器
2
pc
0003 ac
0011 ir
CPU 寄存器
2
pc
0003 ac
5940 ir
CPU 寄存器 3 pc 0006 ac 5940 ir
3.5
T=1/2*
,外部数据总线 L1=16,L=32
(1) f=1/t=2*
∴v= *f≈ b/s
(2) 能提高性能,由公式 v=1/T*
可知 f 与 L 变大都可以提高传输速率
3.6
(1)电传输入 INPR INPRCPU(经 I/O 模块) CPUOUTR(经 I/O 模块) OUTR 电传输出
s + w = 16,s = 13
主存地址 =
标记
行
字
8
5
3
(b)
0001 0001 0001 1011
块号 j = 0001 0001 0001 1011 / 8 = 29 + 25 + 21 + 20
行号 i = j mod m = (29 + 25 + 21 + 20)mod 25 = 3
以此类推,1100 0011 0011 0100 的行号为 6;1101 0000 0001 1101 的行号为 3;1010
3.10 (1) 因为中断就是为了提高高速设备的使用效率,平衡高低速设备。故优先级越低,其
速率就越低,其余高优先级操作耗时都比其少,所以 TR16 的平均等待时间就最低。 (在该特定设备中) (2) 若其余操作一直请求使用时间片,这种条件下不成立。
3.11
(a)时钟周期 T = 1 / f = 100 ns 读总线周期 = 2.5T = 250 ns
BBBBBB
标记=9 022 0CC 177
组=13 0444 1999 0EEE
字=2 1 2 3
4.4 (a)地址长度=s+w=24
寻址单元数=2s+w=224 块大小=2w=4 主存的块数=2s=222 Cache 行数=m=2r=214 标记大小=s-r=8 (b)地址长度=s+w=24 寻址单元数=2s+w=224 块大小=2w=4 主存的块数=2s=222 标记大小=s=22 (c)地址长度=s+w=24 寻址单元数=2s+w=224 块大小=2w=4 主存的块数=2s=222 每组的行数=k=2 组数 v=2d=213 Cache 行数=k*v=2*213=214 标记大小=s-d=9
(b)原周期 = 4 + 3 * 3 + 13 = 26 时钟周期 4 * 2 / 26 = 30.8%
3.15
(a)Intel8088 的总线宽度为 8 位 时钟周期 T = 1 / f = 1 / 8M =125 ns 4 * 8 / 4T = 64M 位/s
(b)2 * 8 / 4T = 32M 位/s
1010 1010 1010 的行号为 21。
另解:
0001 0001 0001 1011(00011=3)
1100 0011 0011 0100(00110=6)
1101 0000 0001 1101(00011=3)
1010 1010 1010 1010(10101=21)
(c)
0001 1010 0001 1000
3.16
若使用偶对齐的字,取操作数需要 4 个存储器周期(包括取指令), 4 *4 / 4M = 4 ms 若使用偶对齐的字,取操作数需要 8 个存储器周期(包括取指令), 8 *4 / 4M = 8 ms
3.17
1 * 20% + 2 * 40% + 4 * 40% = 2.6 处理速率相对 16 位微处理器提高了 1.6 倍
4.5
每组的行数=k=4
块大小=行大小=2w=4*4=24,w=4
行数=16k / 24 = 210=k*v
组数 v=210 / 22 = 28 = 2d,d=8
标记 s – d = 20
主存地址=
标记
20
组
字
8பைடு நூலகம்
4
对于地址 ABCDE8F8,转化为二进制为:1010 1011 1100 1101 1110 1000 1111 1000 块号 j=1010 1011 1100 1101 1110 1000 1111 1000 / 2w
0001 1010 0001 1001
0001 1010 0001 1011
0001 1010 0001 1100
0001 1010 0001 1101
0001 1010 0001 1110
0001 1010 0001 1111
(d)32*8=256
(e)标记用来将能装入同一行的不同块区分开来。
4.11
地址 111111 666666 BBBBBB
标记=8 11 66 BB
字 10
组
字
8
4
行=14 0444 1999 2EEE
字=2 1 2 3
(b)全关联映射 地址 111111 666666
BBBBBB
标记=22 044444 199999 2EEEEE
字=2 1 2 3
(c)两路组关联映射 地址 111111 666666
主存地址=
标记
字
26
寻址单元数=2s+w=232 主存的块数=2s=226 Cache 行数不确定 标记大小=s=26 (c)每组的行数=k=4 行大小=2w = 64,w = 6 地址长度=s + w =32,s = 26 标记大小= s – d = 9,d = 17
主存地址=
标记 9
组
字
17
寻址单元数=2s+w=232 主存的块数=2s=226 Cache 组数=v=2d=217 Cache 的行数=k*2d =4*217 = 219 标记大小=s – d =9
计组课后习题答案
UNIT 2 1,设 A,B,C 的内存地址分别是 A[i],B[i],C[i],i 从 1 到 1000
LOAD M (A[i]) ADD M (B[i]) STOR M(C[i]) 2, a LOAD M (2) 00000001|000000000010 b 一次 3,在 IAS 机上读取一个值的过程如下: IR 中操作码 控制总线,存储器地址 XMAR,MAR 中值 地址总线 X 中数据 数据总线,数总线地址 MBR 写入一个值: IR 中操作码 控制总线,存储器地址 XMAR,MAR 值 地址总线 MBR 值 数据总线,数据总线值 X 4,程序代码:LOAD M(0FA)
40
40
算术-逻 辑电路
40 I/O设备
40
12
40 20 88
MBR
PC IBR
12
IR
MAR 12
控制 电路
主存 储器M
6,便于同时存取两个连续地址序号的存储单元,提高访问速度 7,(1)存储器数据传输率快了 32 倍
(2)数据通道最大数目增大了一倍 (3)单通道最大数据传输速率提升了 5 倍。各种技术的使用,提升了整机的性能。 8,回答正确,但是不适合用户理解。MAC 机的时钟速率是 1.2ghz,P4 为 2.4ghz,而时钟速 率在一定程度上反映了计算机的执行速度,所以 P4 的机器可能是目前最符合用户要求的机 型。
3+3=6
CPU 寄存器
3
pc
0006 ac
26 ir
CPU 寄存器
4
pc
2 5940 3 26
0006 ac 26 ir
5 0003
6 0006
3.2 步骤一中详细解释:
Pc 中内容为 300,将 PCMAR,然后将第一条指令装入数据总线,数据总线 MBR, MBRIR
3.3 (a)最大可直接寻址的容量是 b
(a)行大小=2w = 64,w = 6
地址长度=s + w =32,s = 26
标记大小= s – r = 20,r = 6
主存地址=
标记
20
行
字
6
6
寻址单元数=2s+w=232 主存的块数=2s=226 Cache 行数=m=2r=26 (b)行大小=2w = 64,w = 6 地址长度=s + w =32,s = 26
(b),1,取一次指令要两次访问存储器 2,将降低存储器容量
(c) 程序计数器和指令寄存器各需要 24 位和 8 位。
3.4
(a)0~(
)
(b) 0~(
)
(c)I/O 模块与 CPU 互连的特点
(d) 个,1 个。因为总共只有 16 位 cpu 地址,故处理器只能支持(16-I/O 端口位数)
的位数
(b)250 – 20 = 230 ns 处理器至少应在 230ns 时将数据放到总线上
3.13
(a)总线时钟周期 = 1 / f * 109 ns =200 ns Write 信号宽度 = 50 * 200 = 1000
(b) (c)
3.14
(a)原周期 = 4 + 4 * 3 =16 时钟周期 4 * 2 /16 = 50%
故 C>A>B
第三章
1 步骤一 存储器
CPU 寄存器
1 0011 2 5940 3 26
5 0003 6 步骤二
存储器 1 0011 2 5940 3 26
5 0003 6 步骤三
存储器 1 0011 2 5940 3 26
5 0003 6 940 0003 步骤四
存储器 1 0011 2 5940 3 26
b:计算机 A Ra=1/4×(100+0.1+0.2+1)≈25 MIPS Rb=4/(1/100+10+5+1)=0.25 MIPS
计算机 B Ra=1/4×(10+0.1++1+1/8)=3.06 Rb=4/(0.1+1+10+8)=0.21
计算机 C Ra=1/4×(5+5+2+1)=3.25 Rb=4/(0.2+0.2+0.5+1)=2.1
3.18
处理器处理完一条指令后才会进入中断处理周期 9 * T = 9 / f = 9 / 10M = 900 ns
第四章
4.1 m=64,k=4 组数 v=m / k=64 / 4=16=2d, d=4 块数 4k=2s,s=12 标记=s-d=8 位 块大小=2w=128*8=210,w=10
主存地址=
9,在这种表示方法中,10 个管表示了十个数字,而使用二进制可以表示 10,(画图) 略
个数字
11, MIPS= *
12,∵MIPS= * ∴CPI(VAX)=5,CPI(IBM)=1.39 IC≈
13,CPI=(1+2+2+2)/ =7*
MIPS= *
= * =5.71*
T=7* *
=1.75*
14,a:算术平均法适用于较多程序,抖动较大 调和平均发适用于较少程序,抖动较小
组号 i=j mod v=(1010 1011 1100 1101 1110 1000 1111 1000 / 24)mod 28 =27+23 + 22 + 2 + 1=143
故地址 ABCDE8F8 映射到 cache 的第 143 组中四行中的任意一行
4.8
(a)块大小=2w= 8,w=3
行数 m=2r=32,r=5
标记 8
组 4
4.2 k=2 块大小=行大小=2w = 16,w = 4 寻址单元数=2s+w = 64M= 64*220 s + w = 26,s = 22 cache 的行数= k*v = k*2d = 8K / 16 d=8 标记大小= s – d = 14
主存地址=
标记 14
4.3 (a)直接映射
(2)设置优先级,cpu 处理为 1,cpu 通过 I/O 模块向外输出或者输入为 2,电传输入/输出
为 3.设置中断允许位,当优先级较低的操作遇到高优先级操作的中断请求时,置 IEN=1,
允许中断,从而实高速 cpu 处理与低速 I/O 处理的协调。
3.7
(1)
(2)传指令时,为相同的传输速率
传数据时,仍然为 倍差
3.8 这段时间一定比时钟周期小。
因为链式反应在一个时钟周期开始的时候应判断各主控方的优先级,只有该时间周期 小于时钟周期才能即调整优先级又实现各主控方各自的操作。
3.9 减小工作量,提高效率。因为不用判断优先级为 16 的设备的 TR 线,任一高优先级设
备可抢占该设备时间片,只有 TR0-TR15 都无效时,TR16 自然使用时间片。
4.12
(a)块大小=行大小=2w = 16,w = 4
寻址单元数=2s+w= 1M = 220,s + w = 20,s =16
ADD M(0FB) LOAD M(0FA) JUMP +M(08D,0:19) LOAD –M(0FA) ADD M(0FB) 程序代码意图:首先装入 0FA 值,然后与 0FB 相加,再装入 0FA 值,若 AC 中值非负, 取 0FA 左指令再装入-(0FA)将 0FB 的值相加后装入 AC 中 5,如图所示
5 0003 6 940 0003 步骤五
存储器 1 0011 2 5940 3 26
5 0003 6 940 0003 步骤六
存储器 1 0011
1
pc
ac
0011 ir
CPU 寄存器
2
pc
0003 ac
0011 ir
CPU 寄存器
2
pc
0003 ac
5940 ir
CPU 寄存器 3 pc 0006 ac 5940 ir
3.5
T=1/2*
,外部数据总线 L1=16,L=32
(1) f=1/t=2*
∴v= *f≈ b/s
(2) 能提高性能,由公式 v=1/T*
可知 f 与 L 变大都可以提高传输速率
3.6
(1)电传输入 INPR INPRCPU(经 I/O 模块) CPUOUTR(经 I/O 模块) OUTR 电传输出
s + w = 16,s = 13
主存地址 =
标记
行
字
8
5
3
(b)
0001 0001 0001 1011
块号 j = 0001 0001 0001 1011 / 8 = 29 + 25 + 21 + 20
行号 i = j mod m = (29 + 25 + 21 + 20)mod 25 = 3
以此类推,1100 0011 0011 0100 的行号为 6;1101 0000 0001 1101 的行号为 3;1010
3.10 (1) 因为中断就是为了提高高速设备的使用效率,平衡高低速设备。故优先级越低,其
速率就越低,其余高优先级操作耗时都比其少,所以 TR16 的平均等待时间就最低。 (在该特定设备中) (2) 若其余操作一直请求使用时间片,这种条件下不成立。
3.11
(a)时钟周期 T = 1 / f = 100 ns 读总线周期 = 2.5T = 250 ns
BBBBBB
标记=9 022 0CC 177
组=13 0444 1999 0EEE
字=2 1 2 3
4.4 (a)地址长度=s+w=24
寻址单元数=2s+w=224 块大小=2w=4 主存的块数=2s=222 Cache 行数=m=2r=214 标记大小=s-r=8 (b)地址长度=s+w=24 寻址单元数=2s+w=224 块大小=2w=4 主存的块数=2s=222 标记大小=s=22 (c)地址长度=s+w=24 寻址单元数=2s+w=224 块大小=2w=4 主存的块数=2s=222 每组的行数=k=2 组数 v=2d=213 Cache 行数=k*v=2*213=214 标记大小=s-d=9
(b)原周期 = 4 + 3 * 3 + 13 = 26 时钟周期 4 * 2 / 26 = 30.8%
3.15
(a)Intel8088 的总线宽度为 8 位 时钟周期 T = 1 / f = 1 / 8M =125 ns 4 * 8 / 4T = 64M 位/s
(b)2 * 8 / 4T = 32M 位/s
1010 1010 1010 的行号为 21。
另解:
0001 0001 0001 1011(00011=3)
1100 0011 0011 0100(00110=6)
1101 0000 0001 1101(00011=3)
1010 1010 1010 1010(10101=21)
(c)
0001 1010 0001 1000
3.16
若使用偶对齐的字,取操作数需要 4 个存储器周期(包括取指令), 4 *4 / 4M = 4 ms 若使用偶对齐的字,取操作数需要 8 个存储器周期(包括取指令), 8 *4 / 4M = 8 ms
3.17
1 * 20% + 2 * 40% + 4 * 40% = 2.6 处理速率相对 16 位微处理器提高了 1.6 倍
4.5
每组的行数=k=4
块大小=行大小=2w=4*4=24,w=4
行数=16k / 24 = 210=k*v
组数 v=210 / 22 = 28 = 2d,d=8
标记 s – d = 20
主存地址=
标记
20
组
字
8பைடு நூலகம்
4
对于地址 ABCDE8F8,转化为二进制为:1010 1011 1100 1101 1110 1000 1111 1000 块号 j=1010 1011 1100 1101 1110 1000 1111 1000 / 2w
0001 1010 0001 1001
0001 1010 0001 1011
0001 1010 0001 1100
0001 1010 0001 1101
0001 1010 0001 1110
0001 1010 0001 1111
(d)32*8=256
(e)标记用来将能装入同一行的不同块区分开来。
4.11
地址 111111 666666 BBBBBB
标记=8 11 66 BB
字 10
组
字
8
4
行=14 0444 1999 2EEE
字=2 1 2 3
(b)全关联映射 地址 111111 666666
BBBBBB
标记=22 044444 199999 2EEEEE
字=2 1 2 3
(c)两路组关联映射 地址 111111 666666
主存地址=
标记
字
26
寻址单元数=2s+w=232 主存的块数=2s=226 Cache 行数不确定 标记大小=s=26 (c)每组的行数=k=4 行大小=2w = 64,w = 6 地址长度=s + w =32,s = 26 标记大小= s – d = 9,d = 17
主存地址=
标记 9
组
字
17
寻址单元数=2s+w=232 主存的块数=2s=226 Cache 组数=v=2d=217 Cache 的行数=k*2d =4*217 = 219 标记大小=s – d =9
计组课后习题答案
UNIT 2 1,设 A,B,C 的内存地址分别是 A[i],B[i],C[i],i 从 1 到 1000
LOAD M (A[i]) ADD M (B[i]) STOR M(C[i]) 2, a LOAD M (2) 00000001|000000000010 b 一次 3,在 IAS 机上读取一个值的过程如下: IR 中操作码 控制总线,存储器地址 XMAR,MAR 中值 地址总线 X 中数据 数据总线,数总线地址 MBR 写入一个值: IR 中操作码 控制总线,存储器地址 XMAR,MAR 值 地址总线 MBR 值 数据总线,数据总线值 X 4,程序代码:LOAD M(0FA)