最新计算机组成原理第四章作业答案(终板)

最新计算机组成原理第四章作业答案(终板)
最新计算机组成原理第四章作业答案(终板)

1

第四章作业答案

2

4.1 解释概念:主存、辅存,Cache, RAM, SRAM, DRAM, ROM, 3

PROM ,EPROM ,EEPROM CDROM, Flash Memory.

4

解:1主存:主存又称为内存,直接与CPU交换信息。

5

2辅存:辅存可作为主存的后备存储器,不直接与CPU交换信息,容量比主存6

大,速度比主存慢。

7

3 Cache: Cache缓存是为了解决主存和CPU的速度匹配、提高访存速度的一8

种存储器。它设在主存和CPU之间,速度比主存快,容量比主存小,存放CPU 9

最近期要用的信息。

10

4 RAM; RAM是随机存取存储器,在程序的执行过程中既可读出信息又11

可写入信息。

12

5 SRAM: 是静态RAM,属于随机存取存储器,在程序的执行过程中既可读出信13

息又可写入信息。靠触发器原理存储信息,只要不掉电,信息就不会丢失。

14

6 DRAM 是动态RAM,属于随机存取存储器,在程序的执行过程中既可读出信15

息又可写入信息。靠电容存储电荷原理存储信息,即使电源不掉电,由于电容16

要放电,信息就会丢失,故需再生。

17

7 ROM: 是只读存储器,在程序执行过程中只能读出信息,不能写入信息。

18

8 PROM: 是可一次性编程的只读存储器。

19

9 EPROM 是可擦洗的只读存储器,可多次编程。

20

10 EEPROM: 即电可改写型只读存储器,可多次编程。

21

11 CDROM 即只读型光盘存储器。

22

12 Flash Memory 即可擦写、非易失性的存储器。

23

24

4.3 存储器的层次结构主要体现在什么地方?为什么要分这些层次?计算机25

如何管理这些层次?

26

答:存储器的层次结构主要体现在Cache—主存和主存—辅存这两个存储27

层次上。

28

Cache—主存层次在存储系统中主要对CPU访存起加速作用,即从整体运29

行的效果分析,CPU访存速度加快,接近于Cache的速度,而寻址空间和位价却30

接近于主存。

31

主存—辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,32

他所使用的存储器其容量和位价接近于辅存,而速度接近于主存。

33

综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、34

容量大、位价低的优化效果。

35

主存与Cache之间的信息调度功能全部由硬件自动完成。而主存—辅36

存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部份通过37

软硬结合的技术组成虚拟存储器,程序员可使用这个比主存实际空间(物理地38

址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由39

软、硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。因此,这两40

个层次上的调度或转换操作对于程序员来说都是透明的。

41

42

43

44

45

46

47

48

49

50

4. 6. 某机字长为32位,其存储容量是64KB,按字编址其寻址范围是多少?

51

若主存以字节编址,试画出主存字地址和字节地址的分配情况。

52

解:存储容量是64KB时,

53

(1)按字节编址的寻址范围就是64KB.

54

(2)按字寻址范围 = 64K×8 / 32=16K字

55

按字节编址时的主存地址分配图如下:

56

4

16K ……

字地址 字节地址

57 58 讨论:

59 1、 在按字节编址的前提下,按字寻址时,地址的位数仍为16位,即地址编60 码范围仍为0~64K-1,但字(数)空间为16K 字,字地址不连续。 61 2、 字寻址的单位为:字,不是B (字节)

62

63 4.8. 试比较静态RAM 和动态RAM 。 64 答:静态RAM 和动态RAM 的比较见下表:

65

特性 SRAM DRAM

存储信息 触发器 电容

破坏性读出 非 是

65528

65532

需要刷新不要需要

送行列地址同时送分两次送

运行速度快慢

集成度低高

发热量大小

存储成本高低

功耗高低

可靠性高低

可用性使用方便不方便

大容量主存适用场合高速小容量存储

66

67

68

69

4.9. 什么叫刷新?为什么要刷新?说明刷新有几种方法。

70

解:刷新——对DRAM定期进行的全部重写过程;

71

刷新原因——因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,72

因此安排了定期刷新操作;

73

常用的刷新方法有三种——集中式、分散式、异步式。

74

集中式:在最大刷新间隔时间内,集中安排一段时间进行刷新;

75

分散式:在每个读/写周期之后插入一个刷新周期,无CPU访存死时间;

76

异步式:是集中式和分散式的折中。

77

4.11. 一个8K×8位的动态RAM芯片,其内部结构排列成256×256形式,78

存取周期为0.1μs。试问采用集中刷新、分散刷新及异步刷新三种方式的刷新间79

隔各为多少?

80

注:该题题意不太明确。实际上,只有异步刷新需要计算刷新间隔。

81

解:设DRAM的刷新最大间隔时间为2ms,则

82

异步刷新的刷新间隔 =2ms/256行=0.0078125ms =7.8125μs 即:每83

7.8125μs刷新一行。

84

集中刷新时,刷新最晚启动时间=2ms-0.1μs×256行 =2ms-25.6μs=1974.4μs 85

集中刷新启动后刷新间隔= 0.1μs即:每0.1μs刷新一行。

86

集中刷新的死时间=0.1μs×256=25.6μs

87

分散刷新的刷新间隔=0.1μs×2 =0.2μs即:每0.2μs刷新一行。88

分散刷新一遍的时间=0.1μs×2×256行=51.2μs 则分散刷新89

时, 2ms内可重复刷新遍数=2ms/ 51.2μs ≈39遍

90

91

92

4.14. 某8位微型机地址码为18位,若使用4K×4位的RAM芯片组成模块板93

结构的存储器,试问:

94

(1)该机所允许的最大主存空间是多少?

95

(2)若每个模块板为32K×8位,共需几个模块板?

96

(3)每个模块板内共有几片RAM芯片?

97

(4)共有多少片RAM?

98

(5)CPU如何选择各模块板?

99

解:

100

(1)218 = 256K,则该机所允许的最大主存空间是256K×8位(或256KB);101

(2)模块板总数 = 256K×8 / 32K×8 = 8块;

102

(3)板内片数 = 32K×8位 / 4K×4位= 8 × 2 = 16片;

103

(4)总片数 = 16片× 8 = 128片;

104

(5)CPU通过最高3位地址译码选板,次高3位地址译码选片。地址格105

式分配如下:

106 107 108 109

110 111 4.15 设CPU 共有16根地址线,8根数据线,并用/MREQ (低电平有效)作访112 存控制信号,R/-W 作读/写命令信号(高电平为读,低电平为写)。现有这些存113 储芯片:

114 ROM (2K ×8位,4K ×4位,8K ×8位),RAM (1K ×4位,2K ×8位,4K ×8位),115 及74138译码器和其他门电路(门电路自定)。

116 试从上述规格中选用合适的芯片,画出CPU 和存储芯片的连接图。要求如下: 117 (1)最小4K 地址为系统程序区,4096~16383地址范围为用户程序区; 118 (2)指出选用的存储芯片类型及数量; 119 (3)详细画出片选逻辑。 120 解:

121 (1)最小4K 地址为系统程序区,4096~16383地址范围为用户程序区;

122

(2)指出选用的存储芯片类型及数量;

123 17 15 14 12 11 0

3 3 12

124

(3)详细画出片选逻辑。

125

解:(1)地址空间分配图:

126

系统程序区(ROM共4KB):0000H-0FFFH

127

用户程序区(RAM共12KB):4096-------------------- 16383 (D)128

1,0000,0000,0000-11,1111,1111,1111(B)

129

1000H----3FFFH。()

130

131

(2): ROM:4K × 4位:2片;(位扩展)

132

RAM:4K × 8位:3片;(字扩展)

133

选片:ROM:选择4K×4位芯片2片,位并联 RAM:选择4K×8位芯片3片,134

字串联(RAM1地址范围为:1000H-1FFFH,RAM2地址范围为2000H-2FFFH, RAM3地135

址范围为:3000H-3FFFH)

136

137

CPU和存储器连接逻辑图及片选逻辑如下图(1)所示:138

139

140

141

142

143

144

145

图(1)

146

(注:修改 A15 接/G2A, / MREQ接/G2B, G1接高电平(VCC)!)147

148

149

150

151

4.17. 写出1100、1101、1110、1111对应的汉明码。(配偶原则)

152

解:有效信息均为n=4位,假设有效信息用b4b3b2b1表示

153

校验位位数k=3位,(2k>=n+k+1)

154

设校验位分别为c1、c2、c4,则汉明码共4+3=7位,即:c1c2b4c4b3b2b1 155

校验位在汉明码中分别处于第1、2、4位

156

c1=b4⊕b3⊕b1

157

c2=b4⊕b2⊕b1

158

c4=b3⊕b2⊕b1

159

当有效信息为1100时,c1c2c4=011,汉明码为0111100。

160

当有效信息为1101时,c1c2c4=100,汉明码为1010101。

161

当有效信息为1110时,c1c2c4=000,汉明码为0010110。

162

当有效信息为1111时,c1c2c4=111,汉明码为1111111。

163

164

4.18. 已知收到的汉明码(按配偶原则配置)为1100100、1100111、1100000、165

1100001,检查上述代码是否出错?第几位出错?

166

解:假设接收到的汉明码为:c1c2b4c4b3b2b1

167

纠错过程如下:

168

P1=c1⊕b4⊕b3⊕b1

169

P2=c2⊕b4⊕b2⊕b1

170

P4=c4⊕b3⊕b2⊕b1

171

如果收到的汉明码为1100100,则p4p2p1=110,说明代码有错,第6位(b2)172

出错,有效信息为:0110

173

如果收到的汉明码为1100111,则p4p2p1=111,说明代码有错,第7位(b1)174

出错,有效信息为:0110

175

如果收到的汉明码为1100000,则p4p2p1=011,说明代码有错,第3位(b4)

176

出错,有效信息为:1000

177

如果收到的汉明码为1100001,则p4p2p1=100,说明代码有错,第4位(c4)178

出错,有效信息为:0001

179

180

181

182

4.19 已知接收到下列汉明码,分别写出它们所对应的欲传送的代码。

183

(1)1100000(按偶性配置)

184

(4)0011001(按奇性配置)

185

解:

186

(1)1100000(按配偶性)

187

注意:按偶配置,检测时, Pi=0 正确,代表本小组(gi)的1的个数为偶数。188

Pi=1 错误

189

190

如果收到的汉明码为1100000,

191

则p4p2p1=011,说明代码有错,第3位(b4)出错,有效信息为:1000 192

193

(4)0011001(按奇配置)

194

则: p4p2p1=000

195

注意:按奇配置,检测时, Pi=0 错误,代表本小组(gi)的1的个数不为奇196

数个1

197

Pi=1 正确代表本小组(gi)的1的个数为奇数198

个1(正确)

199

为了定位,可取反 p4p2p1=/0/0/0=111 即第7位出错,有效信200

息为:1000

201

202

203

204

4.25 什么是程序访问的局部性?存储系统中哪一级采用了程序访问的局205

部性原理。

206

答:局部性访问原理是指程序执行时对存储器的访问是不均匀的,这是由207

于指令和数据在主存的地址分布不是随机的,而是相对的集中(簇聚)。

208

存储系统的缓存----主存级和主存-----辅存级都用到程序访问的局部209

性原理。对缓存---主存级而言,把CPU最近期执行的程序放在容量较小,速度210

较高的缓存中。对主存---辅存级而言,把程序中访问频度高,比较活跃的部分211

放在主存中,这样既提高了访存的速度又扩大了存储器的容量。

212

213

214

4.26 计算机中Cache的作用是什么?能不能把Cache扩大,最后取代主存,

215

WHY?

216

答:Cache的作用是提高访存速度。当Cache容量达到一定值时,命中率不因217

容量的增大而明显提高,而且Cache成本价高,所以不能取代主存。

218

219

220

221

222

223

4.25(补充). Cache做在CPU芯片内有什么好处?将指令Cache和数据Cache 224

分开又有什么好处?

225

答:Cache做在CPU芯片内主要有下面几个好处:

226

1)可提高外部总线的利用率。因为Cache在CPU芯片内,CPU访问Cache时227

不必占用外部总线。

228

2)Cache不占用外部总线就意味着外部总线可更多地支持I/O设备与主存的229

信息传输,增强了系统的整体效率。

230

3)可提高存取速度。因为Cache与CPU之间的数据通路大大缩短,故存取速231

度得以提高。

232

将指令Cache和数据Cache分开有如下好处:

233

1)可支持超前控制和流水线控制,有利于这类控制方式下指令预取操作的完234

成。

235

2)指令Cache可用ROM实现,以提高指令存取的可靠性。

236

3)数据Cache对不同数据类型的支持更为灵活,既可支持整数(例32位),237

也可支持浮点数据(如64位)。

238

239

240

4.28. 设主存容量为256K字,Cache容量为2K字,块长为4。

241

(1)设计Cache地址格式,Cache中可装入多少块数据?

242

(2)在直接映射方式下,设计主存地址格式。

243

(3)在四路组相联映射方式下,设计主存地址格式。

244

(4)在全相联映射方式下,设计主存地址格式。

245

(5)若存储字长为32位,存储器按字节寻址,写出上述三种映射方式下主246

存的地址格式。

247

解:

248

(1) Cache 容量 2K字=211 字(Cache地址 11位)

249

块长4字 4=22 字

250

Cached包含的块数= Cache 容量/块长 =211 /22 =29块

251

252

(2)在直接映射方式下,设计主存地址格式

253

主存容量 256K字 =218 字(主存地址 18位)

254

主存包含的块数: 218/22 =216块

255

主存字块标记=主存地址长度- Cache地址长度=18-11=7 位

256

257

258

(3)在四路组相联映射方式下,设计主存地址格式

259

四路组相联=>每组4块=>r=2 (4块=22 )

260

Cache可分的组数= 29/22 = 27 =>q=7 (组地址需要7位)261

主存字块标记=主存地址长度- 组地址长度-字块内地址(b)=18-7-2=9 位

262

(4)在全相联映射方式下,设计主存地址格式:

264

主存字块标记=主存地址长度- 字块内地址(b)=18-2=16 位

265

266

267

268

同理:若存储字长为32位,存储器按字节寻址,写出上述三种映射方式下主269

存的地址格式。

270

Cache 容量 2K字=211 *32/8=213(Cache地址 13位)

271

每个块容量=4*32/8=16字节(块内地址需4位)

272

Cache包含的块数:2K字/4字=29 块

273

274

275

(1)在直接映射方式下,设计主存地址格式

276

主存容量 256K字 =218 字 = 218 *32/8=220字节(主存字节地址 20位)277

每个块容量=4*32/8=16字节(块内地址需4位)

278

主存包含的块数: 218/22 =216块

主存字块标记=主存地址长度- Cache 地址长度=20-4-9=7 位

279 280

281

282 (2)在四路组相联映射方式下,设计主存地址格式 283 四路组相联=>每组4块=>r=2 (4块=22 ) 284 Cache 可分的组数= 29/22 = 27 =>q=7 (组地址需要7位)

285 主存字块标记=主存地址长度- 组地址长度-字块内地址(b )=20-7-4=9 位

286

287

288

289 (3)在全相联映射方式下,设计主存地址格式: 290 主存字块标记=主存地址长度- 字块内地址(b )=20-4=16 位

291

292

293

294

295

4. 32. 设某机主存容量为4MB,Cache容量为16KB,每字块有8个字,每字296

32位,设计一个四路组相联映射(即Cache每组内共有4个字块)的Cache组297

织。

298

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

299

(2)设Cache的初态为空,CPU依次从主存第0、1、2……89号单元读出90 300

个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少?301

(3)若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度约302

提高多少倍?

303

解:(1)由于容量是按字节表示的,则主存地址字段格式划分如下:

304

1.主存容量为4MB=222B (主存字节地址共22位)

305

2.Cache容量为16KB=214B (Cache字节地址14位)

306

3.每字块有8个字,每字32位,=>8*32/8=25 (块内字节地址5位) 307

4.四路组相联映射(即Cache每组内共有4个字块)

308

5.Cache包括的块数=214B/8*32=29 个

相关主题
相关文档
最新文档