深入理解计算机系统的笔记(74)

>我来写笔记

按有用程度 按页码先后 最新笔记

  • liuh

    liuh (平常心,不要急,不要等)

    书中给了几种优化方法: 5.4.消除循环的低效率; 5.5.减少过程调用; 5.6.消除不必要的存储器引用; 循环展开; 提高并行性; 我理解这些原理可以用在编译器上。有个问题,有人见过或自己手写代码时,用过后四种优化方式(特别是后两种)吗?   (15回应)

    2013-02-03 22:14   1人喜欢

  • symbreak

    symbreak (symmetry breaking)

    /代码内容已省略/ 逆向之后的代码是 /代码内容已省略/   (1回应)

    2012-08-16 23:48   2人喜欢

  • symbreak

    symbreak (symmetry breaking)

    习题试解 3.55 对于两个 64 位整数之间的乘法,计算如下 product = y *{signed} x = (y_high * 2^32 + y_low) *{signed} (x_high * 2^32 + x_low) = y_high *{signed} x_high * 2^64 + y_high *{signed} x_low * 2^32 + y_low *{signed} x_high * 2^32 + y_low *{signed} x_low 两个数的最高 32 位之间的乘积不用计算,因为我们只需要 64 位的积。 令 x = a * 2^32 + b /代码内容已省略...

    2012-08-16 22:48   1人喜欢

  • symbreak

    symbreak (symmetry breaking)

    /代码内容已省略/ 因此 C 代码如下 /代码内容已省略/   (1回应)

    2012-08-17 01:13   1人喜欢

  • Inside

    Inside

    看了“消除不必要的存储器引用”这个优化,发现之前自己写代码时一直遵守的原则“如果一个局部变量只需使用一次的话,会放弃使用局部变量来保存结果,直接把计算语句放到使用位置,这样就省了一次声明。”,在C语言这样的抽象层次中有导致性能下降的可能性,本意是避免在栈上多分配一个临时变量来保存计算结果,没有料到这样的结果如果是整数的话其实可以很好的利用寄存器来保存计算结果,不会对栈进行操作。 这个优化原则实际..   (2回应)

    2011-05-27 17:06   2人喜欢

  • Inside

    Inside

    指令组织原则: 处理器从来都不需要为了完成一条指令而去读由该指令更新的状态。 在译码阶段,valA、valB是由srcA、srcB决定的。 疑问: 寄存器的输出值只在时钟上升沿时才改变,那是否说明译码在一个周期的上升沿内完成的:因为只有这样才能保证valA、valB的值是正确的。 另外,译码读的是自身更新的状态,这样岂不是违反了指令组织原则?

    2011-05-19 16:40

  • LK

    LK (Stay here, I'll be back)

    想了一个判断大小端的方法 /代码内容已省略/   (9回应)

    2011-04-07 16:44   1人喜欢

  • 虽不中不远矣

    虽不中不远矣 (春夏之交有所思)

    随便写写,性能优化那一章特别精彩。我个人也挺喜欢体系结构那一章,虽然很硬。 另外,虚拟内存那章,最后对内存错误的总结也是非常精彩。

    2011-01-31 18:56   1人喜欢

  • 续意生

    续意生

    先占坑,以后慢慢填。 --------------------------- 很快的浏览了第二章,信息的表示和处理,感觉棒棒哒,细节问题以后再细看了。 ---------------------------

    2016-09-24 12:46

  • orpheus

    orpheus (给我好暖一颗心去融化冷酷的真理)

    完全翻译错了,第二版也没改过来 A.x的任一位等于1 B.x的任一位等于0 C.x的最低有效字节中的任一位等于1 D.x的最低有效字节中的任一位等于0

    2016-08-31 22:03

<前页 1 2 3 4 5 6 7 8 后页>

笔记是你写在书页留白边上的内容;是你阅读中的批注、摘抄及随感。

笔记必须是自己所写,不欢迎转载。摘抄原文的部分应该进行特殊标明。

深入理解计算机系统

>深入理解计算机系统