(CSAPP第三版系列)导航篇传送门


6.24

这个文件由4000个逻辑块组成,并且对于磁盘,Tavg seek = 4ms, Tmax rotation = 4ms, 而Tavgrotatioin = 2ms。

A.  最好情况是块被映射到连续的扇区,在同一柱面上这样就可以不移动读写头来一块接一块地读。一旦读写头定位到了第一个扇区,需要磁盘转4整圈(平均每个磁道上1000扇区)。

所以读这个文件的总时间为:4ms + 2ms + 4*Tmaxrotationi = 22ms。

B.  随机的情况:在这种情况中,块被随机地映射到扇区上,读4000块中的每一块都需要Tavg seek + Tavg rotation。

所以读这个文件的总时间为:4000*(4ms + 2ms) = 24000ms。

6.28 这个问题是关于练习题6.12中的高速缓存的

A.  所有会在组2中命中的十六进制内存地址:无,因为组2中所有行的有效位标记均为0。

B.  所有会在组4中命中的十六进制内存地址:0x18F0,0x18F1,0x18F2,0x18F3,0x00B0,0x00B1,0x00B2,0x00B3。

C.  所有会在组5中命中的十六进制内存地址:0x0E34,0x0E35,0x0E36,0x0E37。

D.  所有会在组7中命中的十六进制内存地址:0x1BDC,0x1BDD,0x1BDE,0x1BDF。

6.32对于内存地址0x16E8重复作业6.31

A.  地址格式(每个小框表示一位):

B.  内存引用:

参数

高速缓存块偏移(CO)

0x0

高速缓存组索引(CI)

0x2

高速缓存标记(CT)

0xB7

高速缓存命中?(是/否)

返回的高速缓存字节

0x-


6.36

A.  情况1不命中率是100%。

原因:这种情况下,高速缓存大小只能容纳该二维数组的一行,并且x[0][i]和x[1][i]总是映射到同一个高速缓存行,所以对一个数组的引用总是驱逐出另一个数组的有用的行,即每个操作都会不命中。

B.  情况2不命中率是25%。

原因:这种情况下,高速缓存可以正好容纳下这个数组,因此所有的不命中都是开始时的冷不命中。不命中率 = sizeof(int) / BlockSize = 4/16 = 25%。

C.  情况3不命中率是25%。

原因:这种情况下,高速缓存只能保存数组的1/2,扫描数组的第二部分会驱逐扫描第一部分时加载进来的那一行。并且由于使用了两路组相连,扫描数组的两部分的过程中,不命中率都是sizeof(int)/BlockSize = 25%,则总不命中率 = 25%。

D.  对情况3,更大的高速缓存大小不会帮助降低不命中率。

原因:根据对情况三的分析,缓存的总大小不是限制因素,限制因素是块的大小。(miss_rate= sizeof(int)/BlockSize)。

E.  对情况3,更大的块大小会帮助降低不命中率。

原因:根据对情况三的分析,缓存不命中的限制因素就是块的大小(miss_rate= sizeof(int)/BlockSize),所以更大的块会减低不命中率。

6.40

A.  写总数为16*16*4 = 1024次。

B.  根据6.38中的假设,每个块可以存放2个结构体元素,且整个高速缓存的大小为square数组大小的一半。在给出的程序代码中,前一个循环的写次数是256次,其中不命中率为50%,则不命中数为128次;后一个循环的写次数是256*3次,不命中数仍为128次。即总的不命中数为256次。

C.  由A和B结果可知,不命中率是25%。

6.44

mountain程序在本机运行结果如下图所示:

可以重点观察s5及以后的列上的数据(前面数据受到预取的影响),不难看出数据在32k, 256k和4m-8m之间均有明显突变。所以可以估计本机cache大小:L1:32K,L2:256K,L3:4MB-8M。且与CPU-Z检测结果相符合。

CSAPP第六章家庭作业参考答案相关推荐

  1. CSAPP第7章家庭作业参考答案

    7.6 buf 有 m.o 外部 .data bufp0 有 swap.o 全局 .data bufp1 有 swap.o 局部 .bss incr 有 swap.o 局部 .text count 有 ...

  2. CSAPP第五章家庭作业参考答案

    (CSAPP第三版系列)导航篇传送门 5.14编写5.13的6*1循环展开版本 代码如下: /* Inner product. Accumulate in temporary */ void inne ...

  3. CSAPP第4章家庭作业参考答案

    4.45 不正确 push %rsp的指令会将rsp减8之前的old value压栈 应该是如下代码: movq REG, -8(%rsp) sub $8, %rsp 4.46 不正确 应该改为 ad ...

  4. CSAPP第二章家庭作业参考答案

    (CSAPP第三版系列)导航篇传送门 2.56 用不同的示例值运行show_bytes的代码. #include <stdio.h>typedef unsigned char *byte_ ...

  5. 《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 第六章课后习题参考答案

    第6章   软件编码和测试  课后习题参考答案 一.选择题 (1)为了提高测试的效率,应该(D). A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据 C.在完成编码以后制定软件的测试计划 ...

  6. [第六章] 深入理解计算机系统第三版 家庭作业参考答案

    6.22 磁道数 d 与 r - x * r 成正比 设 d = k(r - x * r) = kr(1 - x) 总容量 c = 2πxk(r^2)(1 - x) = 2πk(r^2)(x - x^ ...

  7. [第三章] 深入理解计算机系统第三版 家庭作业参考答案

    人非圣贤孰能无过,欢迎大家提问与纠错 3.58 long decode2(long x, long y, long z) {y -= z;x *= y;return ((y << 63) ...

  8. [第五章] 深入理解计算机系统第三版 家庭作业参考答案

    5.13 A. 画图: 关键路径为第三幅图加粗部分 B. 下界为浮点加法的延迟界限,CPE 为 3.00 C. 整数加法的延迟界限,CPE 为 1.00 D. 关键路径上只有浮点加法 5.14 voi ...

  9. CSAPP第89章家庭作业(部分)

    画出进程图: 原则如下: (1) 遇到fork函数就分支,每个水平的箭头对应于从 左到右执行指令的进程,而每个垂直的箭头对应于 fork 函数的执行 (2) 分支的时候专注于父进程执行完,再处理另一个 ...

  10. CSAPP第七章家庭作业(原书第二版)

    7.6 buf前加了extern是外部符号,由main.c定义,故定义符号的模块是main.o,是int型变量,属于.data节:bufp0和swap函数前未加extern和static,故是全局符号 ...

最新文章

  1. 图文详解什么是快速排序
  2. android百度地图更换定位图标,android百度地图定位,改变MyLocationOverlay默认图标(原始为蓝色点)(两种方法)...
  3. 全球32家人工智能独角兽公司
  4. python中try_python中try...excpet多种使用方法
  5. 《需求工程——软件建模与分析》阅读笔记二
  6. JavaWeb(六)——HttpServletResponse、HttpServletRequest
  7. Java重载遇到泛型
  8. 什么是LAMP?LAMP有什么优势?
  9. Linux启动tomcat带控制台
  10. IDEA导出jar包步骤
  11. IoT黑板报0220:三星5G商用关键设备开发完成
  12. 数据产品经理新人的工作笔记学习
  13. 魔百和CM311-1a_YST代工_安卓9_S905L3A_没无线版线刷包(可救砖)
  14. ubuntu搜狗输入法显示简体中文,输入却是繁体中文解决方案
  15. linux系统软路由软件,Linux软路由配置
  16. SpringOAuth2-启动网关Factory method ‘jwtTokenEnhancer‘ threw exception;
  17. 图像处理——gamma矫正
  18. 电脑重装系统蓝屏详细解决方法分享
  19. 20221219 圣诞节,音乐圣诞树
  20. Birthday Paradox(生日悖论)(概率)

热门文章

  1. 23hh小说网——爬虫0.1python
  2. 计算机操作系统复习题
  3. 【年终总结】投身福报,我的2021年终总结
  4. ip地址切换批处理脚本
  5. 10个英文手写字体下载
  6. 数据驱动型企业的海外服务器管理实践
  7. 鸿蒙超级终端使用教程,超级终端怎么用(超级终端使用配置教程)
  8. java webservice请求参数_Java调用WebService的方法总结
  9. 2022-2028年全球与中国硬盘驱动器存储模块行业深度分析
  10. MATLAB函数的求导(一阶、高阶、参数方程求导实例)