码迷,mamicode.com
首页 > 其他好文 > 详细

家庭作业汇总

时间:2015-11-21 00:40:54      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:

家庭作业3.70

技术分享

C版本代码
long traverse(tree_ptr tp)
{
long v = MAX;//7:$922337206854775807
if(tp != NULL)
{
lv = traverse(tp->left);
rv = traverse(tp->right);
v = lv < rv ? lv : rv ; //16: if(r12 tp->v ? tp->v : v ; //18:if(rax>rbx) rax=rbx;
}
return v;
}

这个函数的作用:找出树中节点值最小的一个

 

家庭作业6.25

假设1mb=1000kb(为了好算)
3mb=310001024b
所以需要3*1000个扇区/500=6个磁道
1.最好情况

T_avg rotation=1/2*1/RPM*60/1min=1/2*(60secs)/12000RPM*1000ms/sec=2.5ms
T_avg transfer=1/RPM*1/(平均扇区数/磁道数)*60secs/1min
=60/12000RPM*1/500*1000ms/sec
=0.01ms

*这里两项跟着书上392,393算就好啦.

由题所示

第一个块的读写时间=T_avg seek+T_avg rotation
T_avg seek=3ms

最优情况是:当大家都在一个柱面上(这时只需要寻一次道即可),顺序存储

T_best= T_avg seek+T_avg rotation+3000*T_avg transfer
=3+2.5+3000*0.01=35.5ms

2.随机情况
我认为是在最短时间与最长时间的范围内,所以接下来计算最长的时间
在最混乱的情况里,每一个扇区与下一个存储的扇区都不在一起,即不管是想要存储时,每一次都要经历寻道,和作为第一个块的读写头时间

T_worst=3000*(T_avg seek+T_avg rotation+T_avg transfer)
       =3000*(3+2.5+0.01)
       =16530ms

家庭作业6.27

可以看书上410页的公式

技术分享

技术分享

技术分享

 

家庭作业6.32

由题6.31可得:
块偏移位数量b=2 ==>CO
组索引位数量s=3 ==>CI
标记位数量t=8 ==>CT

接着把0x0718化成二进制得到0000011100011000,然后按顺序填入地址中:
索引位为6,高速缓存示记为38,所以可以看6.31的图索引位为6的那一行,有两个38的标记位,所以缓存示命中的。但是第一个的状态是0所以命中的是后面的FA

技术分享

技术分享

 

家庭作业汇总

标签:

原文地址:http://www.cnblogs.com/javajy/p/4982609.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!