前几天和老板联系,说让我先学一些内核方面的知识,《Computer Architecture 3rd Editon》也先不要读了,换读《Organization & Design Hardware/Sofware Interface》。谨从师命。 以前读过内核,书用的是毛德操、胡希明的《Linux内核源代码情景分析》,可是读得云里雾里,身心受到了极大的摧残,这次不想重蹈覆辙了,要循序渐进,于是从于渊的《自己动手写操作系统》入手,先自己动手实践一遍再去读代码,应该会更容易理解更有心得。 《自》这本书写的不错,步骤详细理论清晰,不过..
1.书中P121提到Tomasulo算法对记分板技术做了较大的改进,可以较好消除W-W冲突和R-W冲突。那么这些技术是什么呢?答案:是寄存器重命名(依赖于保留站)、W-W冲突时只允许后面的那条指令执行写操作。那具体是如何实现的?
2.P123 “通过有效地址的计算,读数和写数都得以保留源程序的执行顺序,从而避免了访问内存的冲突”
在P129有较详细的讲解,可是没看懂……(待解决)
为了解释如何消除W-W冲突和R-W冲突造成的停顿,结合P127的图3.5,考虑如下代码段:
( 图3.5中有错误:
“动作或记录工作”列 第14行: RS[r].Qk ← RegisterS..
ACM Judge Online 里面的一道题目,我提交的程序总是超时(用class的确是太奢侈了……),要有一个更高效的算法。-------------------------------------------------------
题目:
分数的位置
Time Limit:1000MS Memory Limit:65536K
Total Submit:247 Accepted:8
Description
题意描述:将所有的分母小于N的真分数(分子小于分母,数值小于1)从大到小排列出来后,例如当N=4时,所有的真分数有1/4,1/3,1/2,2/3,3/4。其中第三个真分数为1/2,其分子为1,分母为2。编一个程序,对给定的N,求出第M个真分数的值。
..