Additional errors found in Third Edition of text ------------------------------------------------ latest update - 10/04/05 Page # Description ------ ----------- 150 In Problem 2.29, "sub $a1, $a1, 1" --> "addi $a1, $a1, -1" 151 In Problem 2.30, "addi$ t1, $t1, 4" --> "addi $t1, $t1, 4" 153 In Problem 2.46, "page 129" --> "page 74" 153 In Problem 2.48, "compareTo" is not on page 124. (Can anyone find it??) 154 In Problem 2.51, "Arithmetic" --> "Arithmetic and Logical" 155 Answers to Check Yourself are missing. 198 In the header for the Example, "Decimal" --> "Binary" 270 In line 3, "Section 2.7" --> "Section 4.7" 314 In Figure 5.24, the output of the AND gate in the upper right part of the diagram should be connected to the left mux, not the right one. 332 In Figure 5.31, there should be arrows from all four of the boxes, for different instruction types, back up to the box for Instruction Fetch/decode. 355 In Problem 5.11, $rs should be switched with $rt in both lines of code. Also, the immediate value should be 4. 355 In Problem 5.12, "Exercise 5.12" --> "Exercise 5.11" 357 In Problem 5.36, the clock speed for M1 should be 4 Ghz. 376 The term "bubbles" isn't defined until the next page. 411 In Figure 6.32, the output of the middle mux should also go to the EX/MEM register, and from there to the Data input of Data Memory. 416 In Figure 6.36, the output of the middle ALU input mux should also go to the EX/MEM register, and from there to the Data input of Data Memory. Also, the output of the ALU should go to EX/MEM. 420 In Figure 6.38, the output of the lower ALU input mux should also go to the EX/MEM register, and from there to the Data input of Data Memory. Also, the Sign Extend output ends at the ID/EX register, but it should go from ID/EX to the lower ALU input mux. 427 In Figure 6.41, make the same changes as on page 420. 428 In Figure 6.42, make the same changes as on page 420. Also, the output of the ALU should go to EX/MEM. 430 In both parts of Figure 6.43, make the same changes as on page 420. 449 In Figure 6.50, the fourth box down should be "Dispatch and register renaming". 522 The dirty bit in the fourth entry of the TLB is inconsistent with the first entry of the Page Table (which point to the same physical page. The dirty bit of the first entry in the Page Table should be 0. 538-9 In the last line on 538 and first line on 539, "4 KB to 512 KB" --> "1 KB to 128 KB". 544 In Figure 7.31, add missing labels. The blue area is "1-way", the black area is "2-way", and the gray area is "4-way" and "8-way. All of these are "Conflict" misses. 561 In Answers to Check Yourself for paragraph 7.4, "3-c" --> "3-b". 577 In Figure 8.7, there are six places where double boxes following either D0 or P should be replaced by a single quotation mark. 583 In the last entry of Figure 8.9, and in the second paragraph of the text, "USE" --> "USB". 585 For the System bus in Figure 8.11, "604 GB/sec" --> "6.4 GB/sec". 618 In Problem 8.24, remove the last clause: "and how does it compare to the synchronous bus in the example?" CD Sections ----------- 8.3-3 In line 8, "lower-level" --> "top-level". 8.3-8 Remove line 7 which refers to the ATM network. Also, in line 10, "222" --> "20", and in line 11, "22" --> "2". 9-16 In the last line of the first paragraph, "case" --> "cache". 9-30 Remove the margin definition for "fully connected network". It's already defined on 9-28. 9-56 In Problem 9.5, "write-update cache coherency" --> "write- invalidate cache coherency". IMD 2.20-7 In fourth line, add description of Accumulator: "Only one register (called an accumulator), and only one operand may be in memory. IMD 2.20-7 In third line of description of Stack, "implementation uses a stack" --> "implementation uses registers". IMD 2.20-7 In middle line of Accumulator code, "Acc = B + Memory[AddressC]" --> "Acc = Acc + Memory[AddressC]" IMD 2.20-11 Fourth line from bottom, "lw $t0,4,($s3)" --> "lw $t0,4($s3)" IMD 2.20-11 In the last line, "Memory[$s0+4]" --> "Memory[$s3+4]" IMD 3.11-2 Remove the fourth paragraph. It's the same as the third. IMD 4.8-5 In Problem 4.26, "Exercise ." --> "Exercise 4.25" IMD B.14-1 The table includes the answer! The last 4 columns should be empty. FMP 4.8-1 In the header for Problem 4.35, "Float?ing" --> "Floating" FMP 4.8.2 In Problem 4.36, "Exercise" --> "Exercise 4.35" FMP 4.8.2 In Problem 4.37, "Exercise" --> "Exercise 4.36" in the first line, and "Exercise" --> "Exercise 4.35" in the second line. FMP 4.8.3 In Problem 4.39, "Exercise" --> "Exercise 4.38" FMP 4.8.3 In Problem 4.40, "Exercise" --> "Exercise 4.38" FMP 4.8.3 In Problem 4.41, "Exercises through" --> "Exercises 4.38 through 4.40" FMP 4.8.3 In Problem 4.42, "Exercise" --> "Exercise 4.38" FMP 4.8.3 In Problem 4.43, "Exercise" --> "Exercise 4.38" in the second line, and "Exercise" --> "Exercise 4.41" in the third line. Appendix A ---------- A-6 In the first line, change Pascal to Java. A-9 In the first line of the fourth paragraph, "that" --> "if" A-25 The last sentence of the first paragraph should say "In the first part, the caller does the following:" A-25 Steps 1 and 2 should be switched. A-26 Just below the "Hardware Software Interface" paragraph, remove the work "Finally" from the first line. After this paragraph, add another that says: "Finally, the caller restores any $tx and/or $ax registers that it saved before the call, and uses any values that were returned in $vx. A-38 In the third line of the third paragraph of the Input and Output section, "play" --> "plays" A-83 In Problem A.8, "a positive integer" --> "an integer" Appendix B ---------- B-61 In Figure B.9.3, the right input at the top should be Din[0]. Also, the horizontal lines out of the 2-4 decoder should go all the way to the black dots connecting them to the latch Enable inputs. B-79 In Problem B.11, the section reference should be 3.2, not 4.2 B-81 Problem 3.24 should be B.24 B-82 Problem 3.25 should be B.25 B-83 Problem 3.33 should be B.33, and Problem 3.34 should be B.34