选择题
数据结构
暂无,有些原理已经总结
计算机组成原理
- P148 T16 -错题!!
错误原因:我选了B,没有理解Cache分离的目的
Cache-主存的平均访问时间有两种计算方式
①先访问Cache,Cache缺失后再访问主存:
Ta=H.Tc+(1-H).(Tm+Tc);
②同时访问Cache和主存
Ta=H.Tc+(1-H).( Tm );
A中,降低Cache的缺失损失,和分离Cache无关,降低Cache的缺失损失需要降低主存的访问时间
C中,降低CPU的平均访存时间应主要需要提高主存的访存时间,因为访存的时间太长,一点点的改变可能就会影响到CPU的平均访存时间
B中,提高Cache的命中率的方式有两种:①提高Cache的容量使得能装更多的Cache表项,②增强程序的局部性。这里的Cache分离在一定程度上可能可以增加Cache的容量,但是可能这里的Cache分离只是逻辑上的分离,实际上并没有增加它的容量。
D,在一个Cache的时候,一个时刻只能取指令或者是取数。那么就会容易发生流水线冲突
而使用指令Cache和数据Cache的分离,那么就可以在流水线中同时取出指令和数据(指的是上一条指令的数据)
2. P148 T22 做对,但这里有个坑在第一轮的时候入了,需避一下
在第一轮的时候,我把50ns的时间单独拿了处理,以为是最长的时间位450ns,但是第一轮通过王道的视频就知道了这个50ns和100ns都是包含在400ns以内的,所以无论中断响应怎么延迟,CPU在400ns内都需要拿出100ns来处理,因此为100/400=1/4=25%
操作系统
- P148 T22 做对,这类的题型有几类需弄一下
限制资源个数导致死锁的最大资源数目=每个进程的最大需求资源-1之和,在这题中三个进程的导致死锁的最大资源数目=2+3+4=9,而如果再+1为9+1=10个资源那么就至少有一个进程可以运作起来,那么就是不会发生死锁的最小资源数目。
解题思路
这题的题型就为:进程数已知,资源数未知。顺便把其他题型也搞了。
这题为资源数已知,进程数未知,求不可能发生死锁的最大进程数
每个进程最多请求3个资源,那么不会发生死锁的临界条件是,每个进程都有n-1个资源=3-2,同时还剩下1个资源给一个进程,就必定不会发生死锁。因此只要满足 X * (n-1) +1 = S 那么就不会发生死锁,X为进程数,n为每个进程的所需最大资源数,S为资源数,因此这题为 2 * 5 +1=11,刚好为5