深入理解计算机系统第六章参考答案

6.22

磁 道 数 量 与 ( 1 − x ) r 成 正 比 , 不 妨 设 磁 道 数 为 ( 1 − x ) r k 磁 道 位 数 与 中 心 圆 洞 半 径 成 正 比 , 因 此 不 妨 设 磁 道 位 数 2 π x r z 因 此 C ( x ) = ( 1 − x ) r k × 2 π x r z = ( x − x 2 ) 2 π r 2 k z 因 此 x = 0.5 \begin{aligned} &磁道数量与(1-x)r成正比,不妨设磁道数为(1-x)rk\\ &磁道位数与中心圆洞半径成正比,因此不妨设磁道位数2\pi xrz\\ &因此C (x)= (1-x)rk\times2\pi xrz = (x-x^2)2\pi r^2kz\\ &因此x=0.5 \end{aligned} (1x)r(1x)rk2πxrzC(x)=(1x)rk×2πxrz=(xx2)2πr2kzx=0.5

6.23
平 均 寻 道 时 间 4 m s 平 均 旋 转 时 间 1 15000 R P M × 60 s 1 m i n × 1 2 × 1000 m s 1 s = 2 m s 平 均 传 送 时 间 1 800 × 1 15000 R P M × 60 s 1 m i n × 1000 m s 1 s = 0.005 m s 因 此 平 均 时 间 为 4 m s + 2 m s + 0.005 m s = 6.005 m s \begin{aligned} &平均寻道时间4ms \\ &平均旋转时间\frac{1} {15000RPM} \times \frac {60s}{1min} \times \frac 1 2 \times \frac {1000ms} {1s}= 2ms \\ &平均传送时间 \frac {1} {800} \times \frac{1} {15000RPM} \times \frac {60s}{1min} \times \frac {1000ms} {1s} = 0.005ms \\ &因此平均时间为4ms + 2ms + 0.005ms = 6.005ms \end{aligned} 4ms15000RPM1×1min60s×21×1s1000ms=2ms8001×15000RPM1×1min60s×1s1000ms=0.005ms4ms+2ms+0.005ms=6.005ms
6.24

A.
需 要 读 的 扇 区 块 数 2 M B = 512 B × 2 × 1024 = 4096 个 块 最 好 情 况 是 这 4096 个 区 块 在 一 个 柱 面 因 此 时 间 是 4 m s ( T a v g − s e e k ) + 2 m s ( T a v g − r o t a t i o n ) + 4 m s × 4096 1000 = 22.384 m s \begin{aligned} &需要读的扇区块数2MB=512B \times 2 \times 1024 = 4096个块\\ &最好情况是这4096个区块在一个柱面\\ &因此时间是4ms(T_{avg-seek}) + 2ms(T_{avg-rotation}) + 4ms \times \frac {4096} {1000} = 22.384ms \end{aligned} 2MB=512B×2×1024=409640964ms(Tavgseek)+2ms(Tavgrotation)+4ms×10004096=22.384ms
B.
每 读 一 个 块 需 要 的 时 间 是 4 m s ( T a v g − s e e k ) + 2 m s ( T a v g − r o t a t i o n ) + 1 1000 × 1 15000 R P M × 60 s 1 m i n × 1000 m s 1 s = 6.004 m s 随 机 情 况 下 , 每 一 个 块 可 以 看 作 分 布 在 不 同 的 磁 道 中 , 因 此 总 的 时 间 是 4096 × 6.004 = 24592.384 m s \begin{aligned} &每读一个块需要的时间是4ms(T_{avg-seek}) + 2ms(T_{avg-rotation})+\frac {1} {1000} \times \frac{1} {15000RPM} \times \frac {60s}{1min} \times \frac {1000ms} {1s} = 6.004ms \\ &随机情况下,每一个块可以看作分布在不同的磁道中,因此总的时间是4096 \times 6.004 = 24 592.384ms \end{aligned} 4ms(Tavgseek)+2ms(Tavgrotation)+10001×15000RPM1×1min60s×1s1000ms=6.004ms4096×6.004=24592.384ms
6.25

高速缓存mCBEStsb
1.32102444642462
2.321024425613002
3.321024811282273
4.321024812812903
5.321024321322255
6.32102432482435

6.26

高速缓存mCBEStsb
1.322048812562183
2.322048441282372
3.32102428642561
4.321024322162345

6.27

A.行0 : 0x08a4,0x08a5,0x08a6,0x08a7

​ 行1:0x0704,0x0705,0x0706,0x0707

B.0x1238,0x1239,0x123a,0x123b

6.28

A.无

B.行0:0x18f0,0x18f1,0x18f2,0x18f3

​ 行1:0x00B0 0x00B1 0x00B2 0x00B3

C.行0:0x0E34 0x0E35 0x0E36 0x0E37

D.行1:0x1BDC 0x1BDD 0x1BDE 0x1BDF

6.29

A.CTCTCTCTCTCTCTCT, CICI, COCO

B.

操作地址命中?读出的值(或者未知)
0x834未命中-
0x836命中未知
0xffd命中0xc0

6.30

A.128

B.CTCTCTCTCTCTCTCT, CICICI, COCO

6.31

A.

0011100011010

B.

参数
高速缓存块偏移(CO)0x2
高速缓存组索引(CI)0x6
高速缓存标记(CT)0x38
高速缓存命中?(是/否)命中
返回的高速缓存字节0xeb

6.32

A.

1011011101000

B.

参数
高速缓存块偏移(CO)0x0
高速缓存组索引(CI)0x2
高速缓存标记(CT)0xb7
高速缓存命中?(是/否)未命中
返回的高速缓存字节-

6.33

0x1788 0x1789 0x178A 0x178B

0x16C8 0x16C9 0x16CA 0x16CB

6.34

dst列0列1列2列3
行0mmmm
行1mmmm
行2mmmm
行3mmmm
src列0列1列2列3
行0mmhm
行1mhmh
行2mmhm
行3mhmh

6.35

dst列0列1列2列3
行0mmmm
行1mmmm
行2mmmm
行3mmmm
src列0列1列2列3
行0mhhh
行1mhhh
行2mhhh
行3mhhh

6.36

A. 100 % 100\% 100%

B. 25 % 25\% 25%

C. 25 % 25\% 25%

D.不能,因为已经抵达下限了,此时只受块的大小限制。

E.能,每次命中失败一次后,下次命中的次数增多。

6.37

高速缓存大小为总共4096个字节,可以存256个块,因此对于N=64的情况,每16行被mod到同一个位置

对于N=60的情况比较复杂对于B和C比较复杂,先略

函数N=64N=60
sumA 25 % 25\% 25% 25 % 25\% 25%
sumB 100 % 100\% 100%
sumC 50 % 50\% 50%

6.38

A.$16 \times 16 \times 4 = 1028 $ 次

B.由题意知高速缓存总共64个块,而square有128个块。因此缓存不命中的写总数是$1024 \times 0.125=128 $次

C. 12.5 % 12.5\% 12.5%

6.39

A.$16 \times 16 \times 4 = 1028 $ 次

B.256次

C. 25 % 25 \% 25%

6.40

A.$16 \times 16 \times 4 = 1028 $ 次

B.对于y来说 16 × 16 × 0.5 = 128 16 \times 16 \times 0.5 = 128 16×16×0.5=128次,对于剩下的c,m,k来说 16 × 16 × 3 × 1 6 = 128 16 \times 16 \times3 \times \frac 1 6=128 16×16×3×61=128

C. 25 % 25\% 25%

6.41

总计 480 × 640 = 307 , 200 480\times640=307,200 480×640=307,200次写

缓存大小65,536字节,能存16,384行

不命中率是 25 % 25\% 25%

因此写不命中次数是72800次

6.42

25 % 25\% 25%

6.43

100 % 100\% 100%

6.44

运行结果如下

在这里插入图片描述

可以看出吞吐量在32K到64K剧变,512K到1024K剧变,4m到8m剧变

因此我的系统上的高速缓存为L3:32K,L2:512K,L3:4m

使用lscpu查看实际上的值,确实如此

在这里插入图片描述

6.45

这题正好是我的实验,实验回来在做

6.46

  • 9
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 《深入理解计算机系统》是一本经典的计算机科学教材,第二版是对第一版的全面升级和扩展。本书的作者是布莱恩·卡尼汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie),他们是C语言的创始人之一,有着丰富的实践经验和深厚的理论功底。 这本书的主要目的是帮助读者深入了解计算机系统的底层原理和工作机制,以及如何利用这些知识进行系统性能优化和问题调试。书中从编程语言、汇编语言、程序执行、内存管理、文件系统等多个角度,详细介绍了计算机系统的各个组成部分和其相互作用的方式。 第二版在内容和理念上都有了一些新的改进。首先,本书增加了关于网络编程和并发编程的新章节,以适应当今计算机系统日益复杂的发展趋势。其次,为了保持与迅速变化的技术形势的同步,第二版对许多章节进行了修订和更新,包括对新的计算机体系结构、处理器技术、存储介质等的介绍,并针对一些近期出现的漏洞和攻击做了相应的解释。 本书的特点是理论与实践相结合,既深入剖析计算机系统的原理,又通过大量实例和案例帮助读者将理论应用到实际问题中。读者在阅读过程中,不仅可以学到计算机系统的原理和工作机制,还能够锻炼自己的系统设计和调试能力。 总的来说,《深入理解计算机系统》第二版是一本非常重要的计算机科学教材,适合对计算机系统工作原理感兴趣的学生、教师和从业人员阅读。通过阅读本书,读者可以深入理解计算机系统的底层原理,提高系统性能,解决实际问题。 ### 回答2: 《深入理解计算机系统》第二版是一本经典的计算机系统原理教材,由美国卡内基梅隆大学的教授布莱恩·卡尼汉(Brian Kernighan)和罗伯特·戴维森(Robert Davidson)合著。本书的中文翻译版本在CSDN上非常受欢迎。 该书主要通过深入讲解计算机底层硬件、操作系统以及编译原理等知识,帮助读者全面理解计算机系统的工作原理和设计思想。书中内容围绕计算机系统的核心概念展开,包括进程、内存管理、文件系统、虚拟内存等。 《深入理解计算机系统》第二版与第一版相比,进行了全面的更新和改进。作者引入了最新的计算机体系结构和技术,在保留经典内容的基础上,增加了对多核处理器、并行计算等新技术的讲解。此外,书中后期的内容还涉及了网络编程、安全和性能优化等实际应用方面的知识。 这本书的优点在于,作者以清晰简洁的语言,结合大量实例和案例,将复杂的计算机系统理论概念讲解得容易理解和易于实际运用。读者通过学习本书,可以更好地理解和分析计算机系统的性能瓶颈,并通过优化和改进提升系统的效率。 此外,《深入理解计算机系统》还鼓励读者通过自主实践,使用常见的工具和技术,动手实践并深入理解计算机系统设计和性能调优的方法。这种实践性的学习方式,使得读者能够通过实际操作加深对书中知识的理解和掌握。 总之,《深入理解计算机系统》第二版通过全面深入的讲解,帮助读者建立起系统化的计算机系统知识框架。对于计算机科学相关专业的学生和从事软件开发、系统管理等工作的人员来说,本书都是一本非常有价值的参考资料,有助于他们理解计算机系统的内在原理和工作机制,进一步提升技术水平。 ### 回答3: 《深入理解计算机系统(第二版)》是由美国卡内基梅隆大学的教授Randal E. Bryant和David R. O'Hallaron合著的一本计算机系统相关的教材。该书是计算机科学与工程领域的经典教材之一,旨在帮助读者深入理解计算机系统的底层原理和工作机制。 这本书主要分为10个章节,从CPU的组成部分开始,逐步向上层的内存和I/O系统扩展。第一章介绍了计算机系统的基本概念和层次结构,为后续章节奠定了基础。接着,第二章到第五章讲解了整数和浮点数的表示与运算,同时介绍了汇编语言和数据表示的相关概念。 在第六章和第七章中,书籍聚焦于理解计算机系统中内存层次结构和缓存一致性。这些章节解释了为什么程序中有些内存操作会比其他操作更快,并介绍了各种优化技术。在第八章中,书籍介绍了虚拟内存的概念与实现方式,深入讲解了操作系统如何使用虚拟内存机制提高程序的执行效率。 接下来的两个章节,第九章和第十章,介绍了动态内存分配和链接。这些章节探讨了程序运行时如何管理内存和使用动态分配的技术,如何生成可执行文件并将其与其他对象文件链接。 《深入理解计算机系统(第二版)》通过系统性的讲解,帮助读者逐步深入理解计算机系统的底层原理。书中的例子和实践问题,能帮助读者巩固所学知识并应用于实际问题。此外,书的附录还提供了一些计算机系统方面的背景知识,供读者参考。 通过阅读这本书,读者可以全面掌握计算机系统的基本原理,并具备实际解决问题的能力。无论是对于计算机科学与工程专业的学生,还是对于从事计算机系统相关领域的从业者来说,《深入理解计算机系统(第二版)》都是一本必不可少的参考书籍。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值