`

《深入理解计算机系统》勘误建议

 
阅读更多
勘误人:  jazzcat 时间:  2005-09-05 22:39:57
页码:  126 行:  +8
错误:  setl D setnge D <- SF^|OF 小于(有符号<) 更正:  setl D setnge D <- SF^OF 小于(有符号<)
附言:  


勘误人:  任我行 时间:  2005-08-26 22:14:26
页码:  297 行:  -2
错误:  图 4.66 中,行"预测错误的转移",列"D"中的"正常" 更正:  应为"气泡"
附言:  


勘误人:  Weeny 时间:  2005-08-11 09:41:56
页码:  148 行:  +17
错误:  代码尾的 Set 更正:  Set 是注释的部分,不是代码的部分
附言:  


勘误人:  Weeny 时间:  2005-08-11 09:40:03
页码:  143 行:  -10
错误:  最后一句 “可以通过增加栈指针来释放空间” 不太合适吧? 更正:  “可以通过增加栈指针‘的值’来释放空间”,这样才合适,不会让人误解
附言:  


勘误人:  Weeny 时间:  2005-08-11 09:36:11
页码:  141 行:  +17
错误:  图3.16中注释 "oc_C" 更正:  应为 "loc_C"
附言:  


勘误人:  Weeny 时间:  2005-08-11 09:34:23
页码:  137 行:  +13
错误:  行尾 "done::" 更正:  应为 "done:"
附言:  


勘误人:  Weeny 时间:  2005-08-11 09:32:20
页码:  123 行:  +18
错误:  图3.9中 divl 指令“效果”列中 R[%edx]←R[%edx]:R[%eax]÷S 更正:  应为 R[%eax]←R[%edx]:R[%eax]÷S
附言:  


勘误人:  Weeny 时间:  2005-08-11 09:31:10
页码:  123 行:  +16
错误:  图3.9中 idivl 指令“效果”列中 R[%edx]←R[%edx]:R[%eax]÷S 更正:  应为 R[%eax]←R[%edx]:R[%eax]÷S
附言:  


勘误人:  Weeny 时间:  2005-08-11 09:25:53
页码:  116 行:  +6
错误:  图3.4中,“指令”一列中的 "movzbl S" 更正:  "movzbl S" 应该是 "movzbl S,D" 吧?
附言:  


勘误人:  Weeny 时间:  2005-08-11 09:23:13
页码:  115 行:  +6
错误:  最右一列中,%edx对应的值"1x3" 更正:  "1x3"应改为"0x3"
附言:  


勘误人:  Weeny 时间:  2005-08-11 09:20:12
页码:  110 行:  +20
错误:  用如下方法生成可执行文件 test 更正:  "test"应改为"prog"吧?
附言:  


勘误人:  Weeny 时间:  2005-08-11 09:17:31
页码:  110 行:  -3
错误:  这段代码与 code.c 反汇编…… 更正:  应为 code.o 吧?
附言:  


勘误人:  Weeny 时间:  2005-08-11 09:15:02
页码:  97 行:  -5
错误:  练习题2.27答案中,第五行、最右一列中 [111] 对应的是二进制补码 更正:  [111] 应为 -1 而非 7
附言:  


勘误人:  Weeny 时间:  2005-08-11 09:11:02
页码:  73 行:  xx
错误:  图2.24中 5行4列 “ (1-ε) ”少写了右括号 更正:  加上右括号
附言:  


勘误人:  Weeny 时间:  2005-08-11 09:07:19
页码:  61 行:  -8
错误:  图2-20的注释“效果就是计算二的值的非”有问题吧? 更正:  改为“效果就是计算二进制补码的非”
附言:  


勘误人:  Weeny 时间:  2005-08-11 09:04:05
页码:  58 行:  xx
错误:  图2.17中左边“情况2”、“情况3”标注反了 更正:  将“情况2”、“情况3”调整过来
附言:  


勘误人:  dummy 时间:  2005-04-08 16:36:49
页码:  120 行:  -10
错误:  GAS中的操作顺序与上表相反 更正:  GAS中的操作顺序与上表相同
附言:  是相反吗?应该是相同吧?
leal S,D就是把&S放到D里面,这个似乎没反吧?GAS里面也是这样的阿,否则就成了intel汇编了吧?不是很理解,请译者解释一下……


勘误人:  gonwan 时间:  2005-03-24 17:20:37
页码:  184 行:  1
错误:  明显那个表格里第一、二种操作跟愿书不匹配 更正:  !!!
附言:  r.t


勘误人:  leiyinghun 时间:  2004-10-29 14:19:45
页码:  1 行:  1
错误:  1 更正:  1
附言:  是原书的内容出错了。


勘误人:  oldpro 时间:  2004-10-27 23:49:33
页码:  95 行:  +12
错误:  -21474836487 更正:  -2147483647
附言:  即第2章的联系题20的答案,在P50的题目出,后4个表达式的小于号右边的数字都是2147483647,而P95页答案处小于号右边的数字变成了21474836487,多了一位,即倒数第2位的“8”,这个大概是印刷错误吧。书的版本是修订版


勘误人:  winginsky 时间:  2004-08-30 08:38:32
页码:  xx 行:  xx
错误:  xx 更正:  xx
附言:  谢谢!非常高兴你的认真负责的态度!谢谢!


勘误人:  leiyingchun 时间:  2004-08-29 19:41:28
页码:  1 行:  1
错误:  1 更正:  1
附言:  我接受把使用“寄存器堆”,而不使用“寄存器文件”。我相信习惯的力量。


勘误人:  winginsky 时间:  2004-08-29 11:04:04
页码:  xx 行:  xx
错误:  xx 更正:  xx
附言:  register stack,还看到了里面使用register stack frame,如果是后者的话,我想翻译为栈帧应该没有问题的吧,这个stack是非常明确的栈的意思,我想翻译起来应该和堆可以明显区分开的,当然如果译者觉得还是文件这个词能够更加明确的表达这个“堆”的同样的意思的话,那也不用太过于讨论这个了。其实我用这个翻译,我前面也讲过了,很大程度上是和业界做一个统一,因为大家将来如果交流起来,术语方面统一会非常易于理解。而且从个人角度来看,这个翻译也是满贴切的。如果不同意的话,我想也不需要再进一步去解释这个问题的了:)


勘误人:  leiyingchun 时间:  2004-08-28 00:02:46
页码:  1 行:  1
错误:  1 更正:  1
附言:  你可以在google上搜一下“register stack”


勘误人:  winginsky 时间:  2004-08-27 14:04:45
页码:  xx 行:  xx
错误:  xx 更正:  xx
附言:  学习操统的知识,比较重要的就是区分“堆”和“栈”的关系,因为在以前总是堆栈这两个一起用,但是概念上是截然不同的,在本书中也就这个问题给出了详尽的解释:)
register stack我还真没碰见过,可能是体系方面看的确实不够多,不是指的那个“堆栈式计算机”吧?


勘误人:  leiyingchun 时间:  2004-08-26 16:32:14
页码:  1 行:  1
错误:  1 更正:  1
附言:  如果是选择“寄存器堆”,我真的很害怕和“register stack”这个概念相混合。

如果从有向图和无向图的角度来讨论,“前递”这个说法,我可以接受了。不过,我不知道,现在还有没有机会在第二次印刷中修改。


勘误人:  winginsky 时间:  2004-08-26 09:46:36
页码:  xx 行:  xx
错误:  xxx 更正:  xx
附言:  重新看了一下自己提的一些建议,基本上都没有问题了,不过关于register file的翻译,我还是保留意见,感觉上register file翻译为寄存器文件,从理解上也会很费劲,不如寄存器堆这个概念好的


勘误人:  winginsky 时间:  2004-08-25 10:35:24
页码:  xx 行:  xx
错误:  xx 更正:  xx
附言:  还有,关于forwarding的问题,因为在处理器的设计里面主要是为了解决后续的指令无法获得更早进入但是正在流水线的指令产生的数据,这个从数据通路的角度来说也通常是从流水线的执行或者访存阶段把得到的数据向前回送给后续的指令,因此我觉得翻译为“前递”也是比较容易理解的,这个在我学习体系过程中也是这样翻译的,不过我看的范围不够广,所以不敢确定国内的其他体系一般都是这样用,也可能是先入为主吧,总是感觉“前递”更贴切一些;而转发,网络本来就是一个无向图,所以翻译为转发更为准确的。

我的想法就是这些的,大家可以讨论一下是否需要修改的


勘误人:  winginsky 时间:  2004-08-25 10:28:30
页码:  xx 行:  xx
错误:  xx 更正:  xx
附言:  可以这么说的,我们的理解没有冲突:)


勘误人:  leiyingchun 时间:  2004-08-23 19:30:12
页码:  1 行:  1
错误:  1 更正:  1
附言:  “重叠”描述的是一种表面现象,而“交错”说的是一种实现。你觉得呢?
overlap:To have an area or a range in common with.


勘误人:  leiyingchun 时间:  2004-08-23 19:27:02
页码:  1 行:  1
错误:  1 更正:  1
附言:  我个人觉得winginsky提出的不用“层次”而用“级别”来描述CPU的缓存很好,这也是我们经常见到的一种说法,如“一级缓存”。我试图按照他的思路去改,但是,当我把这个说法放到“层次结构”中使用时,我就自动地用了“层”这个说法,而且本书的通篇都用到“层”,所以,我无法鲁莽地改。我意识到这个问题了,以后会去改,现在的这种说法(使用“层”)可能也不会影响大家的理解。


勘误人:  winginsky 时间:  2004-08-23 11:25:39
页码:  xx 行:  xx
错误:  xx 更正:  xx
附言:  非常感谢如此快的回复!关于其中的部分问题,我的意见如下,如果有考虑不周的地方,还望见谅。

1 关于510,其实就是看怎么理解的,因为在宏观上看重叠的一些情况在微观上看其实是交错的,所以只要大家能够不混淆这个意思,就没问题了的

2 其他的一些术语也许也是用的地方比较特别吧,如果大家能够理解的话,将来交流的时候也统一一些,只是我的所接触的范围也有限,所以只能根据自己的经历提出一些建议,不一定要改的,只是希望大家能够多交流,以便能够给出更容易理解的翻译。

谢谢!


勘误人:  leiyingchun 时间:  2004-08-22 12:10:09
页码:  1 行:  1
错误:  1 更正:  1
附言:  非常感谢winginsky网友的建议。我已经把大部分的建议添加到勘误表中。有些没有改(主要是一些术语的选择上),这些没有改的部分不是因为他的意见不对,而是前后文的一致性不能很好地保证,而且,原来使用的意思也是可以接受的(我自己这样认为)。典型的例子是“level”,原文使用的是“层”,winginsky的意见是“级别”。


勘误人:  leiyingchun 时间:  2004-08-22 12:05:09
页码:  1 行:  1
错误:  1 更正:  1
附言:  1 P363,P358,P345,P346,P347,P304

1 P355的问题已经修改过


勘误人:  leiyingchun 时间:  2004-08-22 00:59:35
页码:  1 行:  1
错误:  1 更正:  1
附言:  1 P513的问题已加入到勘误表。
2 P508的问题已加入到勘误表。
3 P442、443用帧缓冲区中的像素刷屏幕
4 P412用帧缓冲区中的像素刷屏幕
4 P393用帧缓冲区中的像素刷屏幕


1 P511的问题,我持保留意见。开始的时候,我也是选用“模式位”,但是,我后来查阅了一个专门计算

机词典,里面选用的是“方式位”。所以,后来我才改过来的。
2 P510的问题,我持保留意见。

其它问题,明日再改。


勘误人:  leiyingchun 时间:  2004-08-22 00:01:35
页码:  1 行:  1
错误:  1 更正:  1
附言:  1 P739的问题已加入到勘误表。
2 P692的问题已加入到勘误表。
3 P651的问题已加入到勘误表。
4 P594的问题已加入到勘误表。
5 P586的问题经修改后已加入到勘误表。


1 P732的问题,我持保留的意见。overlap翻译作重叠也是一个通常的翻译,交错多是指interleave。
2 P712的问题,我持保留的意见。iterative翻译作“迭代”是一个通常的译法,如果选择翻译“循环”

,那么“iterative loop”该如何翻译?确实,“迭代”和“循环”是两个有严格区别的词。
3 P594的问题。翻译成存储器,完全是从前后文的一致性考虑,这也是出版社所强调的。

1 P597的问题过去已经修改了。
2 P563的问题过去已经修改了。


勘误人:  winginsky 时间:  2004-08-21 21:11:10
页码:  xx 行:  xx
错误:  xx 更正:  xx
附言:  谢谢翻译啦!已经看完了,很多容易理解一些的地方看的也不仔细,不过还好早就有很多兄弟提了好的建议了。我的勘误就到这里啦,非常喜欢这本书。谢谢你们的工作!


勘误人:  winginsky 时间:  2004-08-21 21:11:06
页码:  xx 行:  xx
错误:  xx 更正:  xx
附言:  谢谢翻译啦!已经看完了,很多容易理解一些的地方看的也不仔细,不过还好早就有很多兄弟提了好的建议了。我的勘误就到这里啦,非常喜欢这本书。谢谢你们的工作!


勘误人:  winginsky 时间:  2004-08-21 18:47:03
页码:  739 行:  +2
错误:  read_set 更正:  ready_set
附言:  


勘误人:  winginsky 时间:  2004-08-21 18:39:07
页码:  732 行:  +2
错误:  重叠 更正:  交叉(交错)
附言:  和510页的那个一样,翻译为重叠意思上不够准确


勘误人:  winginsky 时间:  2004-08-21 18:24:59
页码:  712 行:  xx
错误:  迭代 更正:  循环
附言:  这里翻译为迭代总是容易混淆概念的,毕竟迭代和循环表达的意思是很不一样的


勘误人:  winginsky 时间:  2004-08-21 18:02:50
页码:  692 行:  +1
错误:  X window 更正:  X窗口
附言:  这个地方好像就是指弹出一个窗口,因此直接翻译过来就好了


勘误人:  winginsky 时间:  2004-08-21 17:17:58
页码:  651 行:  -12
错误:  ,其中每个块都是未分配的。 更正:  ,其中每个块都是未标记的。
附言:  


勘误人:  winginsky 时间:  2004-08-21 16:06:18
页码:  597 行:  +14
错误:  虚拟页0~3 更正:  虚拟页0和3
附言:  


勘误人:  winginsky 时间:  2004-08-20 17:28:37
页码:  594 行:  +15
错误:  虚拟存储器是中心的 更正:  虚拟存储器是重要的或者
虚拟存储器是中枢
附言:  


勘误人:  winginsky 时间:  2004-08-20 17:21:05
页码:  594 行:  xx
错误:  xx 更正:  xx
附言:  其实这部分的很多memory翻译为存储就可以了,例如虚拟存储,存储管理,都加上“器”这个字感觉上很多时候不是太合适的


勘误人:  winginsky 时间:  2004-08-20 17:11:54
页码:  587 行:  -8
错误:  一个系统与另一个系统是不同的,即使是一个OS内核也与下一个版本不同 更正:  不同系统之间,甚至同一个操作系统的不同版本之间都是不同的
附言:  


勘误人:  winginsky 时间:  2004-08-20 17:08:50
页码:  586 行:  -9
错误:  对于操作系统来说,管理周期计数器相对比较容易,所以它指明了某个进程经过的周期数。 更正:  操作系统可以很容易的管理周期计数器,以便用来表示进程所经过的周期数。
附言:  


勘误人:  winginsky 时间:  2004-08-16 21:07:26
页码:  574 行:  +2
错误:  因为指令高速 更正:  因为示例中的指令高速
附言:  原来的翻译好像有点容易产生歧异的,试着改了一下的


勘误人:  winginsky 时间:  2004-08-16 20:13:01
页码:  563 行:  +4
错误:  深灰色区域内 更正:  浅色区域内
附言:  


勘误人:  winginsky 时间:  2004-08-16 08:33:23
页码:  xx 行:  xx
错误:  xx 更正:  xx
附言:  我也再看奥运的,所以进度慢了好多,不过看的比赛真是...唉,女足就不说了,男篮还...不着急的,估计这一周应该可以看完的,到时再一起整理吧


勘误人:  leiyingchun 时间:  2004-08-15 23:39:39
页码:  1 行:  1
错误:  1 更正:  1
附言:  这几天在看奥运会,过几天会一一答复winginsky网友提出的问题。


勘误人:  winginsky 时间:  2004-08-14 19:44:02
页码:  513 行:  xx
错误:  包装(wrapper) 更正:  封装(wrapper)
附言:  好像一般是这个翻译吧,记得不是很清楚了


勘误人:  winginsky 时间:  2004-08-14 19:37:28
页码:  511 行:  +4
错误:  方式位(mode bit) 更正:  模式为(mode bit)
附言:  一般好像不用方式这个词吧


勘误人:  winginsky 时间:  2004-08-14 19:35:17
页码:  510 行:  +3
错误:  重叠 更正:  交叠
附言:  原文的overlap表示时间交替进行的意思,所以重叠这个意思不准确


勘误人:  winginsky 时间:  2004-08-14 19:31:05
页码:  508 行:  -4
错误:  提供基本的构造块 更正:  提供基本的构造元素(机制)
附言:  原文的翻译不够达意,试着翻译一下吧


勘误人:  winginsky 时间:  2004-08-14 19:19:02
页码:  504 行:  -9
错误:  异常表基寄存器 更正:  异常表基址寄存器
附言:  


勘误人:  winginsky 时间:  2004-08-14 13:53:16
页码:  442,443 行:  xx
错误:  xx 更正:  xx
附言:  这部分都是翻译为“类AB”,“类BC”,感觉上好像本章从英文直译过来的太多了,都可以再直接翻译回去了。还是改为“AB类例程”,“BC类例程”更容易阅读吧


勘误人:  winginsky 时间:  2004-08-14 13:49:45
页码:  442 行:  +6
错误:  xx 更正:  xx
附言:  这页的表格实在很难读,

1 矩阵乘法版本(英) -- 这个“英”应该改为类,类型吧

2 表格的标题栏翻译的很有问题,例如“加载每次迭代使用的”,要不就写为“加载次数/循环”,或者“每次循环的加载次数”,否则书中的翻译方式实在是看不懂啊


勘误人:  winginsky 时间:  2004-08-14 13:32:54
页码:  432 行:  xx
错误:  iteration 迭代 更正:  iteration 循环
附言:  如果函数不是递归的话,那么还是翻译为循环较好些,这个问题在之前就开始出现了,只是越到后来越为明显,容易引起歧义


勘误人:  winginsky 时间:  2004-08-14 11:05:30
页码:  412 行:  +2
错误:  较小的块的集合 更正:  较少的块的集合
附言:  


勘误人:  winginsky 时间:  2004-08-13 19:50:25
页码:  405 行:  +15
错误:  每兆字节成本增长了 更正:  每兆字节成本降低了
附言:  


勘误人:  winginsky 时间:  2004-08-13 19:36:43
页码:  393 行:  +18
错误:  用帧缓冲区中的像素刷屏幕 更正:  用帧缓冲区中的像素刷新屏幕
附言:  


勘误人:  winginsky 时间:  2004-08-13 16:47:45
页码:  363 行:  -10
错误:  许多处理器设计被扩展来包括 更正:  许多处理器设计加以扩展,包括
附言:  原来的翻译好像太英文化了,试着改了一下


勘误人:  winginsky 时间:  2004-08-13 16:39:48
页码:  xx 行:  xx
错误:  流水线化 更正:  流水化
附言:  读了不少这个词,基本都是直译成流水线(pipeline)
不过加上了“化”这个词之后,就显得很冗长了,其实在体系使用过程中,很多都是直接翻成流水,例如指令流水,流水化,加上个线字有时很别扭的,不知道大家感觉如何?


勘误人:  winginsky 时间:  2004-08-13 16:31:53
页码:  358 行:  -4
错误:  这,加上对加载单元.... 更正:  这样,加上对加载单元....
附言:  原文是this,不过这么翻译的话,怎么看着象自动翻译过来的一样啊:)


勘误人:  winginsky 时间:  2004-08-13 16:19:13
页码:  355 行:  +3
错误:  第二个乘法在第一个的后一个的后一个周期 更正:  第二个乘法在第一个乘法开始后的下一个周期
附言:  


勘误人:  winginsky 时间:  2004-08-13 10:30:06
页码:  347 行:  xx
错误:  xx 更正:  xx
附言:  刚刚看了后面,也许把“不同的数组元素”改为多个“多个数组元素”更好些,因为这里做的循环展开是最简单的方式,所以我刚刚说的那个其实是适用于更深层次的展开的


勘误人:  winginsky 时间:  2004-08-13 10:24:22
页码:  347 行:  -10
错误:  其思想是在一次迭代中访问数组元素并做乘法 更正:  其思想是在一次迭代中对不同的数组元素进行访问和合并操作
附言:  原文的意思是在一次迭代可以对上次访问到的数组进行操作,并可以访问下一次需要的数组元素,所以翻译的不够到位


勘误人:  winginsky 时间:  2004-08-13 10:20:12
页码:  346 行:  +5
错误:  预测逻辑的成功限制了处理器 更正:  预测逻辑的成功强制处理器
附言:  这个部分还是翻译为强制较好,能够更好的表达原文的意思的


勘误人:  winginsky 时间:  2004-08-13 10:14:32
页码:  345 行:  +9
错误:  和反迭代2的jl操作 更正:  和迭代2的jl操作
附言:  


勘误人:  winginsky 时间:  2004-08-13 09:33:12
页码:  xx 行:  xx
错误:  分支 branch 更正:  转移
附言:  因为整书都是翻译为分支,开始读的时候感觉还可以,不过后来感觉上还是转移这个更专业一些,而且一般再使用过程中多数把这类指令和情况都成为转移,包括转移预测等


勘误人:  winginsky 时间:  2004-08-13 00:01:22
页码:  338 行:  xx
错误:  投机执行 更正:  推测执行
附言:  这个词也是在体系学习过程中遇到的,可能有一种更常见吧,前一种我还是没有见到过的。


勘误人:  winginsky 时间:  2004-08-12 20:08:27
页码:  304 行:  +2
错误:  缺页异常信号 更正:  缺页异常
附言:  没有必要加入信号这个词的


勘误人:  winginsky 时间:  2004-08-12 20:07:03
页码:  303 行:  -5
错误:  可以从较高层的高速缓存 更正:  可以从更高级别的高速缓存
附言:  


勘误人:  winginsky 时间:  2004-08-12 20:05:46
页码:  303 行:  xx
错误:  最常引用的存储器位置 更正:  最常引用的存储器地址
附言:  这个也许我这样改也不好,但是位置这个词总是不太常用的


勘误人:  winginsky 时间:  2004-08-12 20:03:00
页码:  303 行:  xx
错误:  有两个第一层高速缓存 更正:  有两个一级缓存
附言:  一般好像不是用层来描述高速缓存的


勘误人:  winginsky 时间:  2004-08-12 18:46:59
页码:  301 行:  xx
错误:  通常,依赖于异常的类型,异常会导致处理停止 更正:  通常,依赖于异常的类型不同,异常可以导致处理停止在触发异常的指令之前,也可以在这条指令完成之后
附言:  好像原文更详细一些,按照原文翻译了一下


勘误人:  leiyingchun 时间:  2004-08-12 18:16:49
页码:  1 行:  1
错误:  1 更正:  1
附言:  非常感谢winginsky和moonlight两位网友今天的指正,这是两个原书的错误,我已经把它们的修正意见放到勘误表中了。


勘误人:  winginsky 时间:  2004-08-12 14:58:02
页码:  297 行:  xx
错误:  xx 更正:  xx
附言:  B)暂停的状态变化之后,应该还是x,不过印成y了,估计大家已经提出来过了把,不过这两天连不上,就先写上吧


勘误人:  moonlight 时间:  2004-08-12 14:46:28
页码:  180 行:  1
错误:  1 更正:  1
附言:  不好意思写错了应该是第180页


勘误人:  moonlight 时间:  2004-08-12 14:45:31
页码:  181 行:  1
错误:  示例图中第8步divp中为(a+b)/(-b+c) 更正:  应该为(a-b)/(-b+c)
附言:  


勘误人:  leiyingchun 时间:  2004-08-12 12:38:05
页码:  1 行:  1
错误:  1 更正:  1
附言:  转发(forwarding)在计算机网络或通讯领域用得较多,我不知道其在处理器结构里的通常称谓。你的建议,我想还是确认一下。


勘误人:  winginsky 时间:  2004-08-12 11:12:27
页码:  281 行:  +5
错误:  转发(forwarding) 更正:  前递(forwarding)
附言:  这个是我在本科学习体系的时候常用的词汇翻译方式,也能够较好的体现本身的意义,如果大家认为其他的常见翻译方式更好的话,也不一定要修改的


勘误人:  leiyingchun 时间:  2004-08-12 10:58:59
页码:  1 行:  1
错误:  1 更正:  1
附言:  关于堆和栈的区别,好像只有在《数据结构》课程里分得较清。可是,我们在系统的角度来看“stack”的中文含义的时候,都是不区分堆和栈的,即等同来看它们的意思。我不清楚在系统的角度里,是否还有什么其他方法来区分堆和栈这两个术语。如果有,我真的很想知道。


勘误人:  leiyingchun 时间:  2004-08-12 10:47:51
页码:  1 行:  1
错误:  1 更正:  1
附言:  如果翻译成寄存器组,那么它的英文释义是:
“register set”:All a processor's registers. The size and arrangement of a
processor's register set is one of the crucial factors in its
performance.(摘自:http://dictionary.reference.com/search?q=register%20set)


勘误人:  leiyingchun 时间:  2004-08-12 10:41:49
页码:  1 行:  1
错误:  1 更正:  1
附言:  “register file”:The Register File is the highest level of the memory hierarchy.In a modern processor, it's considered necessary to have at least 32 registers for integer values and often 32 floating point registers as well. Thus the register file is a small, addressable memory at the top of the memory hierarchy. It's visible to programs (which address registers directly), so that the number and type (integer or floating point) of registers is part of the instruction set architecture (ISA). (摘自:http://ciips.ee.uwa.edu.au/~morris/CA406/registers.html)。

由于“register file”是可寻址的,所以我的意见是寄存器文件。

如果翻译成寄存器堆,那么我们通过中文来猜测英文就会是“register stack”。那么“register stack”是什么意思呢?我用google查了一下。这是一个编译器引入的概念。“In the Register Stack (RS) model, a procedure maintainsa register stack analogous to the memory stack .”且,只有Itanium处理器为编译器提供了所谓的“virtual register stack”的概念。

从中文来猜测英文是我的一个习惯,我不知道其他读者是否有这个习惯?我只是觉得他们会有,所以,我在翻译的时候选择了一个保守的译法。如果“寄存器堆”就是一种处理器领域国内研究者一个熟悉的称谓,我可以按你的意思。不过,我过去问过我们计算所里那些做处理器的人,他们在工作中都说英文名词,不说中文。所以,我在翻译的时候是很难选择一个准确的称谓。


勘误人:  winginsky 时间:  2004-08-11 22:47:39
页码:  1 行:  1
错误:  1 更正:  1
附言:  可能论坛文章太多了,不是很方便查看,我就再多说两句吧:

寄存器堆的概念我想其实只是表达一组寄存器的集合,而忽略了这组寄存器的具体实现吧,那么其实如果追究堆的那个意思,其实也是随机访问的啊,只有栈才是FIFO的,分清楚堆和栈的概念也是学习计算机很关键的一点啊,至少我开始学习的几年从来没有真正区分过。恩,我只是从常见的学校课程,以及公司的资料常用的翻译方式来说的,个人意见。


勘误人:  winginsky 时间:  2004-08-11 22:42:16
页码:  1 行:  1
错误:  1 更正:  1
附言:  非常感谢你能常来查看的,我也是最近在读这本书,所以根据自己的意思提了一些意见,由于是搞体系方向的,而且和很多国际的eda公司有些合作,所以有些专业的词汇我想可能业界的说法大家更能够接受些的。本来想读完整个书再发信给你关于我的这些意见,不过没想到还是你早来了一些的。关于你说的问题,我的意见如下:

1 storage的问题其实是很麻烦,而且没有办法统一翻译过来,因为storage的本意“存储”,“存贮”都是可以的,但是在不同的地方,翻译可以不一样的,侧重于某一方面和一些习惯的叫法。所以如果你觉得不方便的话,象现在这样加入英文的注释也很方便阅读的

2 sequence的翻译我想我还是比较有把握的,也谢谢能够采纳

3 关于register file,我想和很多业界的公司都是常用寄存器堆的,使用寄存器文件这个词我到是没见过,也许是接触的有限吧,希望斟酌

非常希望你翻译的书,相比刚刚看过的另外一本,真的是大相径庭,你的负责的精神(包括后期的勘误)非常让人敬佩,也非常高兴能够由你,而不是一些纯粹追求利益的人来翻译。书还没有看完,根据自己的想法估计还会陆续提一些建议,希望你的勘误能够越来越好。

ps:确实发现最近上不去你的网页,原来如此...


勘误人:  leiyingchun 时间:  2004-08-11 11:44:04
页码:  1 行:  1
错误:  1 更正:  1
附言:  这个版我不是每天来看。所以,如果想及时沟通,可以发邮件到我的信箱(leiyc@ict.ac.cn)。


勘误人:  leiyingchun 时间:  2004-08-11 11:40:27
页码:  1 行:  1
错误:  1 更正:  对winginsky网友说。
附言:  P251、P239、P27页的问题的建议,已经按照你的意见添加到勘误表中。计算所在放暑假,服务器被关闭了。所以,你还暂时看不到这些在勘误表中的修改。


勘误人:  leiyingchun 时间:  2004-08-11 11:22:53
页码:  1 行:  1
错误:  1 更正:  1
附言:  我还是觉得把storage(名词)翻译成“存驻”不是很合适。比如,书中出现的“Storage devices, memory hierarchy,Storage technologies,disk storage”,不是很好翻译。


勘误人:  leiyingchun 时间:  2004-08-11 11:12:20
页码:  1 行:  1
错误:  1 更正:  关于winginsky读者的建议的回答(按时间顺序)。
附言:  1 我同意把storage(名词)作为“存驻”。我也知道要区分stroage和memory,但是我翻了许多的科技词典都没有严格的区分这两个词。在没有一个恰当的选择的情况下,我在第一版的翻译过程中把每一处出现storage的地方都采用这样的形式“存储(storage)”来区分。现在,我觉得你的建议很好,决定采用。

2 P13的问题。关于“register file”是翻译成寄存器文件还是寄存器堆,我已经在这个论坛上给出了它们详细的说明,你可以去看看。“register file”是一种特殊的存储子系统,强调能随机访问。而寄存器堆,有FIFO的潜在含义。所以,我觉得不合适。

3 P231的问题。logic synthesis -> 逻辑综合。这个我们已经提交到勘误表里了。

4 P233的问题。multiplexor在网络和通讯领域内多用作“多路复用器”。我不清除在处理器这个领域,把它翻译成什么比较合适?

5 P251的问题。最初,把sequencing翻译成定序,主要是强调它是一个动作,是一个clock,翻译成时序的时候,看不出来这些意思。如果在处理器结构中,约定成俗把sequencing翻作时序,我可以改过来。同样地,我自己也觉得“定序”不是那么准确,所以把书中出现的sequencing都译作“定序(sequencing)”,用英文做必要的旁注。

6 关于程序的注释,出版社并没要求这样做,所以,我没有做。而且,英文注释好像也很简单。

7 P239的问题。赞同把decode译做“译码”。

8 P14页的问题。我觉得把“虚拟存储器”翻作“虚拟地址空间”不妥当。因为32位机器上,进程的“虚拟地址空间”表示4GB的地址空间。进程对于这片空间的使用都是用VMA的形式,而且这也是mmap(..)系统函数能实现的基础。所以,我觉得译作“虚拟存储器”比较准确一些。

9 P27页的问题。同意你的看法,选用“仅仅超过4*10^9一些”。

10 P67页的问题。因为本书的中文版是用Word排版的,所以格式看起来怪怪的。Word对公式的支持不好,如果用latex排版会比较好。但,显然这对排版公司的要求太高。


勘误人:  winginsky 时间:  2004-08-11 08:52:17
页码:  251 行:  xx
错误:  定序(sequencing) 更正:  时序(sequencing)
附言:  电路主要分为组合逻辑和时序逻辑两种,一般用sequence这个词来表示时序,所以还是按照常用的翻译较好


勘误人:  winginsky 时间:  2004-08-10 23:47:52
页码:  239 行:  -8
错误:  解码(decode) 更正:  译码(decode)
附言:  这也是体系中常见的翻译方式


勘误人:  winginsky 时间:  2004-08-10 23:29:04
页码:  233 行:  1
错误:  多路复用器(multiplexor) 更正:  多路选择器(multiplexor)
附言:  这个好像记不清楚了,也许是我搞错了的


勘误人:  winginsky 时间:  2004-08-10 23:23:09
页码:  231 行:  -7
错误:  逻辑合成(logic synthesis) 更正:  逻辑综合(logic synthesis)
附言:  这个词在常见的领域内都是翻译为后面的形式,建议能够统一一下叫法的


勘误人:  winginsky 时间:  2004-08-09 00:23:09
页码:  111 行:  -4
错误:  汇编程序注释 更正:  没有翻译
附言:  既然这部分是英文的文字,还是翻译过来好些的


勘误人:  winginsky 时间:  2004-08-08 20:07:57
页码:  67 行:  xx
错误:  全文 更正:  全文
附言:  好像行距有问题啊,格式不对吧?前面几页大家挑了好多错误啊,强!


勘误人:  winginsky 时间:  2004-08-08 18:40:16
页码:  27 行:  -17
错误:  刚刚超过4*10^9字节 更正:  刚刚达到
不能超过
附言:  看了原文,just over,感觉上可以翻译蔚“仅仅超过...一些”,刚刚这个词有点别扭的


勘误人:  winginsky 时间:  2004-08-06 17:02:45
页码:  27 行:  -17
错误:  刚刚超过4*10^9字节 更正:  刚刚达到
不能超过
附言:  这句话好像是反了吧?还是我没有理解?


勘误人:  winginsky 时间:  2004-08-06 16:41:33
页码:  14 行:  -1
错误:  进程虚拟存储器 更正:  进程虚拟地址空间
附言:  这句话总是读起来很别扭,没有原文,所以瞎猜了一下那个有原文的贴出来看看啊?


勘误人:  winginsky 时间:  2004-08-06 16:21:42
页码:  13 行:  +4
错误:  寄存器文件 更正:  寄存器堆
附言:  这个估计英文应该是register file,我觉得一般在体系方面出现都是翻译为“寄存器堆”,感觉上比较专业一点的


勘误人:  winginsky 时间:  2004-08-06 09:36:06
页码:  xx 行:  xx
错误:  storage 更正:  存储(动词)
附言:  刚刚提出的问题是针对都是名词的时候,如果storage作为动词是翻译为存储的


勘误人:  winginsky 时间:  2004-08-06 09:22:34
页码:  xx 行:  xx
错误:  storage memory 更正:  存驻 存储
附言:  就体系结构方面来说,一般是很区分这两个概念的,我记得一般storage多翻译为存驻系统,实际上和存储系统方面,主要是更多的加入了可以长期保存(驻留)的概念在里面。这个在“关于术语的翻译”中如果均翻译为存储,不管怎么还是比较的难以区分。一家之言,大家如果觉得不合适可以继续讨论啊


勘误人:  leiyingchun 时间:  2004-08-05 15:46:54
页码:  1 行:  1
错误:  1 更正:  1
附言:  中文索引:http://vega.ict.ac.cn/personal/lyc/CSAPP_Index.htm。

多谢baiyanning网友的大力帮助!

这个索引是我们工作中生成的,我们没有太多的时间在格式上做过多的修饰。所以,可能格式看起来很粗糙,但是内容是可以用的。

HTML页的第一栏是英文keyword以及在原版中的索引页,我们保留了索引页这个信息,是因为有一部分人有影印版,对于他们而言,可能比较方便。


勘误人:  joyoytj 时间:  2004-07-26 10:59:42
页码:  1 行:  1
错误:  1 更正:  1
附言:  明白了。因为没有linux,在windows中用CreateSemaphore,造成误解。多谢指点。


勘误人:  leiyingchun 时间:  2004-07-26 09:46:00
页码:  1 行:  1
错误:  1 更正:  1
附言:  最好把问题发到我的邮箱,这会及时应答。cornerzhang网友的问题,出版社已经答复我了,请告诉我你的邮件地址,我好转发他们的意见。


勘误人:  leiyingchun 时间:  2004-07-25 16:18:23
页码:  1 行:  1
错误:  1 更正:  1
附言:  我不知道cornerzhang网友会有这样的遭遇,非常遗憾。我手上的书是正常的。我会把这个现象反映给出版社,一旦有消息,我会通知你。能否告诉我你的Email地址?


勘误人:  cornerzhang 时间:  2004-07-23 10:06:22
页码:  716 行:  0
错误:  2004年5月北京第一版,第一刷中,716页之后,直到733之前的,内容没有。 更正:  。。。
附言:  我的书上有缺页的情况


勘误人:  leiyingchun 时间:  2004-07-22 19:15:21
页码:  1 行:  1
错误:  1 更正:  1
附言:  P760的倒数第二行:sem_init(&sp->slots,0,n),不就是把信号量的初始值设为n了吗?

int sem_init(sem_t *" sem ", int " pshared ", unsigned int " value ");
"sem_init" initializes the semaphore object pointed to by "sem" . The count associated with the semaphore is set initially to "value" . The "pshared" argument indicates whether the semaphore is local to the current process ( "pshared" is zero) or is to be shared between several processes ( "pshared" is not zero).


勘误人:  joyoytj 时间:  2004-07-20 16:37:31
页码:  1 行:  1
错误:  1 更正:  1
附言:  因为初始状态有n个空位可用,线程每做一次P操作如信号量的值大于0则会将信号量的值减一,否则等待,故对空位的信号量初始值应为n,如果为0,则761上的insert函数中等待sp->slot信号的语句将会一直等待。


勘误人:  leiyingchun 时间:  2004-07-20 09:42:17
页码:  1 行:  1
错误:  1 更正:  1
附言:  请cornerzhang网友准确告诉我发生问题的位置,我看不明白你提的问题。你是指缺原书从P716-P733的内容吗?但是中文版有这些内容呀。


勘误人:  cornerzhang 时间:  2004-07-19 17:25:11
页码:  716~733 行:  +0
错误:  2004年5月北京第一版,第一刷中缺了733-716=17页 更正:  补上
附言:  希望有对应缺页的pdf文件发布


勘误人:  leiyingchun 时间:  2004-07-16 20:21:24
页码:  1 行:  1
错误:  1 更正:  1
附言:  请大家在提出勘误的时候先查看一下已有的勘误表。

最新的勘误表截至到2004-7-16。PDF格式的链接地址为:http://vega.ict.ac.cn/personal/lyc/CSAPP_errata.pdf。
HTML格式的链接地址为:http://vega.ict.ac.cn/personal/lyc/CSAPP_errata.htm。


勘误人:  leiyingchun 时间:  2004-07-16 20:12:00
页码:  1 行:  1
错误:  1 更正:  1
附言:  我认为joyoytj网友认为的错误可能有点问题。

int sem_init(sem_t *sem, int pshared, unsigned int value);
sem为指向信号量结构的一个指针;pshared不为0时此信号量在进程间共享,否则只能为当前进程的所有线程共享;value给出了信号量的初始值。

所以,一般pshared参数的值不会有一个奇怪的n值。


勘误人:  leiyingchun 时间:  2004-07-16 20:00:18
页码:  1 行:  1
错误:  1 更正:  1
附言:  xlpost网友提出的问题,我们已经放到勘误表中了。


勘误人:  joyoytj 时间:  2004-07-16 11:57:08
页码:  760 行:  -4
错误:  Sem_init(&sp->mutex,0,1);
Sem_init(&sp->slots,0,n);
Sem_init(&sp->item,0,0); 更正:  Sem_init(&sp->mutex,1,1);
Sem_init(&sp->slots,n,n);
Sem_init(&sp->item,0,n);
附言:  


勘误人:  xlpost 时间:  2004-07-12 17:50:58
页码:  637 行:  +1
错误:  那么分配器就可以通过检查它的脚部,判断前一个块的起始位置和状态,这个脚部总在距当前块结尾位置一个字的距离。 更正:  那么分配器就可以通过检查前一个块的脚部,来判断其起始位置和状态,前一个块的脚部总在距当前块开始位置一个字的距离(即当前块前一个字)。
附言:  原文是对的,译者未理解对。


勘误人:  leiyingchun 时间:  2004-07-12 17:21:15
页码:  1 行:  1
错误:  1 更正:  1
附言:  如果不能下载,请发邮件到我的信箱leiyc@ict.ac.cn


勘误人:  leiyingchun 时间:  2004-07-09 11:45:55
页码:  1 行:  1
错误:  1 更正:  1
附言:  最新的勘误,截至到2004-7-9日。PDF格式的链接地址为:http://vega.ict.ac.cn/personal/lyc/CSAPP_errata.pdf。
HTML格式的链接地址为:http://vega.ict.ac.cn/personal/lyc/CSAPP_errata.htm。


勘误人:  leiyingchun 时间:  2004-07-06 08:32:23
页码:  1 行:  1
错误:  1 更正:  1
附言:  最新勘误(pdf格式):http://vega.ict.ac.cn/personal/lyc/CSAPP_errata.pdf


勘误人:  leiyingchun 时间:  2004-07-04 08:50:28
页码:  1 行:  1
错误:  1 更正:  1
附言:  参考文献在http://info.cepee.com/source/srljjsjxt.doc


勘误人:  jjq_tony 时间:  2004-07-01 09:22:47
页码:  999 行:  9999
错误:  怎么没有参考文献? 更正:  怎么没有参考文献?
附言:  我找遍全书的每个角落,没有发现参考文献!
真是奇怪了,出版社竟然出了如此大的纰漏!


勘误人:  leiyingchun 时间:  2004-06-30 21:45:45
页码:  1 行:  1
错误:  1 更正:  1
附言:  今天花了一天的时间,整理了截至到目前为止的勘误,具体位置在http://vega.ict.ac.cn/personal/lyc/CSAPP_errata.htm。需要提醒大家地是,这个勘误表会不断地更新。


勘误人:  leiyingchun 时间:  2004-06-04 09:04:35
页码:  P468 行:  +1
错误:  name是字符串表中的字节偏移,指向符号的以null结尾的字符串名字。 更正:  name是字符串表中的字节偏移量,指向符号的名字,该名字是以null结尾的字符串。
附言:  翻译得不通畅,不易于理解。 非常感谢baiyanning网友的指正。


勘误人:  leiyingchun 时间:  2004-06-04 09:01:21
页码:  P475 行:  -14
错误:  (carchive) 更正:  (archive)
附言:  非常感谢baiyanning网友的指正。


勘误人:  leiyingchun 时间:  2004-06-04 08:59:59
页码:  P472 行:  +3
错误:  正数第3行最后:因此,bar.c的第 更正:  因此,bar5.c的第
附言:  非常感谢baiyanning网友的指正。


勘误人:  leiyingchun 时间:  2004-06-04 08:56:40
页码:  P463 行:  +6
错误:  图7.1(b)的右上角和右下角:code/link/main.c 更正:  code/link/swap.c
附言:  非常感谢baiyanning网友的指正。


勘误人:  leiyingchun 时间:  2004-06-04 05:36:03
页码:  P458 行:  +3
错误:  工作集大小=256,步长=16 更正:  工作集大小=256K,步长=16
附言:  一个工作集对L1来说太大,但却在L2的范围之内,其大小应该大于16K,小于512K。非常感谢baiyanning网友的指正。原书出了错。


勘误人:  leiyingchun 时间:  2004-06-04 05:34:48
页码:  P458 行:  +2
错误:  的范围之内(例如,256字节) 更正:  的范围之内(例如,256K字节)
附言:  一个工作集对L1来说太大,但却在L2的范围之内,其大小应该大于16K,小于512K。非常感谢baiyanning网友的指正。原书出了错。


勘误人:  leiyingchun 时间:  2004-06-04 05:25:33
页码:  P437 行:  +5
错误:  图6.42的右上角:16KB芯片上的L2 i-cache 更正:  16KB芯片上的L1 i-cache
附言:  非常感谢baiyanning网友的指正。


勘误人:  leiyingchun 时间:  2004-05-30 23:06:40
页码:  p457 行:  -22
错误:  练习题6.16答案的第2行:例如,读grid[16][0]的第一个元素 更正:  例如,读grid[8][0]的第一个元素
附言:  非常感谢baiyanning网友的指正。原书出了错。


勘误人:  leiyingchun 时间:  2004-05-30 22:53:02
页码:  P429 行:  -17
错误:  命中率(hit rate)。命中的存储器引用比率。
它等于1-不命中率。 更正:  命中率(hit rate)。命中的存储器引用比率。
它等于1-不命中率(注:'-'是减号)。
附言:  非常感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-30 22:48:59
页码:  P426 行:  -4
错误:  假设一个程序运行在图6.9中的机器上 更正:  假设一个程序运行在练习题6.9中的机器上
附言:  非常感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-30 22:47:12
页码:  P420 行:  +2
错误:  1.地址0的字 更正:  1.读地址0的字
附言:  非常感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-30 22:45:23
页码:  P415 行:  +3
错误:  图6.25中的右上方:每行组E位 更正:  每组E行
附言:  非常感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-30 22:33:01
页码:  P415 行:  +3
错误:  图6.25中的最上方:每行t个有效位 更正:  每行t个标记位
附言:  非常感谢baiyanning网友的仔细阅读


勘误人:  leiyingchun 时间:  2004-05-29 20:40:23
页码:  P43 行:  +4
错误:  “无符号的二进制” 更正:  “二进制数到无符号数的转换”
附言:  非常感谢pencil-x@etang.com读者的指正,这是我们翻译的失误。


勘误人:  leiyingchun 时间:  2004-05-27 22:24:58
页码:  P369 行:  -8
错误:  因为这些条目都是一样的,所以... 更正:  由于存储操作的目的地址与load操作的源地址相同,操作缓冲区中的同一个条目,所以...
附言:  非常感谢baiyanning网友的仔细阅读。修改的原因同上个条目。


勘误人:  leiyingchun 时间:  2004-05-27 22:23:13
页码:  P369 行:  +8
错误:  因为这两个操作并不等价,…… 更正:  由于存储操作的目的地址与load操作的源地址不相同,并不操作缓冲区中的同一个条目,所以...
附言:  非常感谢baiyanning网友的仔细阅读。原书说得不是很清楚,直译无法表达原书的意思。


勘误人:  leiyingchun 时间:  2004-05-27 22:16:23
页码:  P91 行:  -17
错误:  "B. 将第二个字..."这句话上面的那一个二进制串的位置有问题 更正:  "B. 将第二个字..."这句话上面的那一个二进制串再往左移4位
附言:  感谢pencil-x@etang.com读者的指正


勘误人:  leiyingchun 时间:  2004-05-27 22:13:55
页码:  P33 行:  -15
错误:  “这并不是巧合...”这句话上面的那一个二进制串的位置有问题 更正:  “这并不是巧合...”这句话上面的那一个二进制串再往右移2位
附言:  感谢pencil-x@etang.com读者的指正


勘误人:  leiyingchun 时间:  2004-05-27 22:09:03
页码:  P40 行:  +9
错误:  这种修改就是在m为0的每个位置,将z设置为0 更正:  这种修改就是在m为1的每个位置,将z设置为0
附言:  感谢pencil-x@etang.com读者的指正,这是我们翻译时的笔误。


勘误人:  leiyingchun 时间:  2004-05-27 22:04:52
页码:  P384 行:  -7
错误:  练习题5.8答案(D)它会得到CPE5.00 更正:  原书的出现错误,应该是CPE3.00。(依据是这句话后半句的解释,结论也应该是 3.00,非相关的CPE值应该小于相关的CPE值)
附言:  非常感谢baiyanning网友的仔细阅读。


勘误人:  leiyingchun 时间:  2004-05-27 21:23:14
页码:  P355 行:  +12
错误:  第二个乘法在第一个的后一个的后一个周期 更正:  第二个乘法只需比第一个乘法晚一个周期就可以开始了。
附言:  我们翻译的时候出现问题,非常抱歉,感谢baiyanning网友的指正。另外,上一个问题(P382)的更正依据可参考第348页的图5.19及图后的解释。


勘误人:  leiyingchun 时间:  2004-05-27 21:17:57
页码:  P382 行:  -13
错误:  练习题5.4答案中代码部分的第四行:4 int limit = length ? 3; 更正:  4 int limit = length ? 7;
附言:  原书出现错误,非常感谢baiyanning网友的仔细阅读。


勘误人:  leiyingchun 时间:  2004-05-27 21:07:53
页码:  P344 行:  +9
错误:  在周期4中,我们会使迭代1的imull操作和反迭代2的jl操作的优先级 更正:  在周期4中,我们会使迭代1的imull操作和迭代2的jl操作的优先级
附言:  感谢baiyanning网友的指正。


勘误人:  leiyingchun 时间:  2004-05-27 11:37:33
页码:  90 行:  +7
错误:  练习题2.2答案中第三行和第四行0x200和0x2000 更正:  练习题2.2答案中第三行和第四行0x200和0x2000后面均应再加一个零,变为0x2000和0x20000
附言:  感谢pencil-x@etang.com读者的指正


勘误人:  leiyingchun 时间:  2004-05-27 11:36:18
页码:  25 行:  -18
错误:  练习题2.2中第四行题目最右边格子中书上印的是0x2000 更正:  应该为0x20000(四个零)
附言:  感谢pencil-x@etang.com读者的指正


勘误人:  leiyingchun 时间:  2004-05-27 11:34:45
页码:  89 行:  -2
错误:  练习题2.1 D 答案:
二进制 11 0101 0111 1110 0110
十六进制 3 5 7 E 6 更正:  二进制 11 0101 1011 0111 1110 0110
十六进制 3 5 B 7 E 6
附言:  感谢pencil-x@etang.com读者的指正


勘误人:  leiyingchun 时间:  2004-05-25 17:13:49
页码:  P172 行:  +5
错误:  该程序的(2,3,7,8)行的缩进问题。 更正:  程序应该对齐
附言:  感谢baiyanning网友的指正。


勘误人:  leiyingchun 时间:  2004-05-25 17:12:00
页码:  54 行:  +8
错误:  程序的缩进问题。 更正:  程序应该对齐
附言:  感谢baiyanning网友的指正。


勘误人:  leiyingchun 时间:  2004-05-25 09:50:01
页码:  P340 行:  -9
错误:  作为分析在现代处理器上执行的机器级程序的性能,我们提出了一种更详细的文本表示法来…… 更正:  为了分析在现代处理器上执行的机器级程序的性能,我们开发了一个工具,即:使用一种更详细的文本表示法来……
附言:  感谢baiyanning网友细致的阅读。这是一个我翻译的错误,"更正"是我和baiyanning网友共同讨论后的结果。


勘误人:  leiyingchun 时间:  2004-05-24 23:28:20
页码:  P304 行:  +18
错误:  (每指令周期)测量值不可能超过1.0。 更正:  (每指令周期)测量值不可能小于1.0。
附言:  感谢baiyanning网友的指正。


勘误人:  leiyingchun 时间:  2004-05-24 23:23:11
页码:  P305 行:  +1
错误:  放到五个阶段中处理 更正:  放到六个阶段中处理
附言:  感谢baiyanning网友的指正。原书是对的,是我搞错了,但是我也忘记我是依据什么来写的这样一句话。忘掉了,想不起来了。


勘误人:  leiyingchun 时间:  2004-05-24 23:18:41
页码:  P304 行:  -2
错误:  基本IA32指令集,…… 更正:  基于IA32指令集,……
附言:  感谢baiyanning网友的指正。


勘误人:  leiyingchun 时间:  2004-05-24 23:16:27
页码:  P288 行:  +6
错误:  线寄存器F中(信号F_oredPC)的PC的预测值。 更正:  线寄存器F中(信号F_predPC)的PC的预测值。
附言:  感谢baiyanning网友的指正。


勘误人:  leiyingchun 时间:  2004-05-24 23:13:40
页码:  P220 行:  -9
错误:  图4.2中jXX和call两条指令的字节编码不太合理 更正:  书中将两条指令的目的地址部分(Dest)画成了1.5个字节长,应该将其画成4字节长。
附言:  感谢baiyanning网友的指正。这个问题,我曾经告诉过编辑这个问题,但排版时还是搞错了。我对编辑说DEST域是4个字节,原书错了,但排版员好像把整个指令作为4个字节了。


勘误人:  leiyingchun 时间:  2004-05-24 22:37:57
页码:  P393 行:  -16
错误:  非易失性储器 更正:  非易失性存储器
附言:  感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-24 22:29:13
页码:  P247 行:  -7
错误:  倒数第7行,第3栏:valP <- 0x029+5=0x02a 更正:  valP <- 0x029+1=0x02a
附言:  感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-24 22:27:10
页码:  P242 行:  -5
错误:  图4.17的倒数第3行,第2栏:M4[valE]<- valE 更正:  M4[valE]<- valA
附言:  感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-24 22:24:01
页码:  P298 行:  -7
错误:  倒数第7行,第一栏:"预测错误的分支" 更正:  "加载/使用冒险"。该表是针对组合情况B列出的,由图4.66可知应如此修改。另外,该表下面的那句话(“将对组合B条件的……”)放到该表的上面比较合适。(就像该页中间的那个表一样)
附言:  感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-24 22:14:32
页码:  P382 行:  +12
错误:  对于3<=n<=2,版本2最快 更正:  对于3<=n<=7,版本2最快
附言:  感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-24 22:11:54
页码:  P295 行:  -13
错误:  0x007: irmovl $2, %edx # Fall through 更正:  0x007: irmovl $1, %eax #Fall through
附言:  感谢baiyanning网友的指正,原书出现错误。从本页最上面的汇编代码可知应如此修改。


勘误人:  leiyingchun 时间:  2004-05-24 21:13:06
页码:  P336 行:  1
错误:  可能又有人会认为编译器应该能够自动将图5.9中所示的combine3的代码转换为在寄存器中存放的那个值,。。。 更正:  可能又有人会认为编译器能够自动对图5.9中所示的combine3的代码进行转换,(直接)对寄存器中的值进行累加,
附言:  感谢baiyanning网友的指正。我们在翻译的时候忽略了不定式短语,所以译文中的意思在逻辑上说不通。


勘误人:  leiyingchun 时间:  2004-05-24 21:09:32
页码:  P47 行:  4
错误:  (2^(w-1) - 2^(w-1)) = Xv(w-1)2^(w)。注:^符号表示上标,v符号表示下标。 更正:  (2^(w-1) -- 2^(w-1)) = Xv(w-1)2^(w)。注:^符号表示上标,v符号表示下标。
附言:  非常同意"sxing@msn.com"网友的观点。排版时,表达式中间少了一个'-'号。


勘误人:  sxing@msn.com 时间:  2004-05-23 23:48:05
页码:  47 行:  4
错误:  第四行开始的那个公式好像不对,请细查。 更正:  我认为应该吧 (2w-1 - 2w-1) = Xw-1 2w 改为 (2w-1 + 2w-1)= Xw-1 2w 或者 (2w-1 - - 2w-1)=Xw-1 2w
附言:  抱歉不知道如何输入公式,只好用字母直接打出来了,我的文化水平不高,是凭兴趣在看,对这种公式本来就拿不准,完全是看着这本书一点一点的摸索的,如果我说错了希望能来信告诉我,这样我就知道是我没有正确理解,谢谢 我非常喜欢这本书。:-) sxing@msn.com


勘误人:  leiyingchun 时间:  2004-05-21 22:26:23
页码:  P309 行:  -7
错误:  倒数第7行:在摸拟模型中 更正:  在模拟模型中
附言:  非常感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-21 22:25:23
页码:  P313 行:  -2
错误:  练习题4.10答案中的倒数第2行:R[%esp] <- 9 更正:  R[%eax] <- 9
附言:  非常感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-21 22:24:22
页码:  P245 行:  +13
错误:  练习题4.10中的表的倒数第2行:R[rB] <- valM 更正:  R[rA] <- valM
附言:  非常感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-21 22:23:14
页码:  P244 行:  +7
错误:  rmmovl 更正:  将rmmovl改为pushl
附言:  非常感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-21 22:22:15
页码:  P237 行:  +4
错误:  是输入A减去输入B 更正:  是输入B减去输入A
附言:  非常感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-21 22:20:42
页码:  P312 行:  -4
错误:  练习题4.7答案中的“与门”使用错误 更正:  应将图中的“与门”改为“或门”
附言:  非常感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-21 22:19:18
页码:  P234 行:  -12
错误:  练习题4.7的第2行:字的相等电路需要32个字级的异或电路,另外还要两个逻辑门 更正:  字的相等电路需要32个位级的异或电路,另外还要两个逻辑门
附言:  非常感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-21 22:17:27
页码:  P221 行:  正数第21行
错误:  取决于需要那些字段 更正:  取决于需要哪些字段
附言:  非常感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-21 22:16:37
页码:  P164 行:  正数第13行
错误:  sp->s._x = ____________; 更正:  sp->s.x =_____________;
附言:  非常感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-21 22:15:32
页码:  P210 行:  正数第六行
错误:  3 movl $15,%ecx i = 0 更正:  3 movl $15,%ecx i = 15
附言:  非常感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-18 22:54:59
页码:  P149 行:  +23
错误:  练习题3.16中间的那个表的第一个%ebp 更正:  将第一个%ebp改为%esp
附言:  非常感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-18 22:53:32
页码:  P121 行:  +12
错误:  练习题3.4中的第三个表的第四个表达式:incl 8(%ecx) 更正:  incl 8(%eax)
附言:  非常感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-18 22:50:58
页码:  P202 行:  +29
错误:  练习题3.3答案中,表中最后一行:leal 7(%eax,%ecx,2), %edx 更正:  leal 9(%eax,%ecx,2), %edx
附言:  


勘误人:  leiyingchun 时间:  2004-05-18 22:48:05
页码:  P120 行:  +6
错误:  leal 0xA(,%eax,4), %edx 更正:  leal 0xA(,%ecx,4), %edx
附言:  非常感谢baiyanning网友的指正


勘误人:  leiyingchun 时间:  2004-05-18 22:47:12
页码:  P120 行:  +5
错误:  leal 7(%eax,%ecx,8), %edx 更正:  leal 7(%eax,%eax,8), %edx
附言:  非常感谢baiyanning网友的指正


勘误人:  leiyungchun 时间:  2004-05-18 22:45:37
页码:  P201 行:  +20
错误:  在练习题3.1答案的表中,一些表示十六进制的符号0x写成了0X。 更正:  将大写X改为小写x
附言:  非常感谢baiyanning网友的指正
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics