Make your own free website on Tripod.com

Computer Systems Design and Architecture Second Edition
Errata

Computer Systems Design and Architecture
Vincent P. Heuring and Harry F. Jordan
Prentice Hall, Upper Saddle River, NJ 2004
ISBN 0-13-048440-7

Unfortunately, all books have errors, and CSDA is no exception. When errors are found and reported to csdabugs@colorado.edu, they are usually corrected in the next printing of the book. The printing number is displayed near the bottom on the page following the title page of the book. For example the 3rd printing would be indicated by the line

10 9 8 7 6 5 4 3

December 7, 2003 Corrections to the first printing

Page 187, Exercise 4.18, first line, Change "Figure 4.12" to "Figure 4.14".

Page 220, Equation 5.1, insert "x100" at the end of the equation.

Page 246, Exercise 5.3, second line, insert "r1=1" before "r2=-4".

Page 268, first line, change "log2 m" to "logk m"

Page 295 First paragraph of section 6.4.3, second-last line, change "a fraction significand" to
"an unnormalized fraction significand". (Note italics.)

Page 295, First example, change "x100-4" to "x10-4".

Page 297, Exercise 6.1b. change 129 to 119.

Page 297, Exercise 6.1c. change -135 to -125.

December 15, 2003 Corrections to the first printing

Page 45, Example 2.1, first line, change expression from
"a = (b + c)* (d - e)" to "a = (b + c) * d - e"

Page 405, Exercise 8.15, change ÒDÕOh!Ó to "D'Oh!". That is, change the curly quotes to straight quotes.

Page 477, Exercise 10.9b, change "100BASE-5" to "1000BASE-X gigabit"

Page 477, Exercise 10.12, add the phrase, "due to the encoding of the two MSBs" to the end of the sentence, so it reads, "Approximately how many IP addresses cannot be used in class B due to the encoding of the two MSBs?"

December 30, 2003 Corrections to the first printing

Page 7, Figure 1.2, The size of the IR should be 15, not 32.

Feb. 1, 2004 Corrections to the first printing

Page 40, Table 2.3, 4th row. The Pi symbol should be replaced with the "not equal" symbol.

May 25, 2004 Corrections to the first printing

Page 225, replace Figure 5.17b, with the figure below:

Pipeline 1
Pipeline 2
Line#
lar r31, loop la r0, cnt 1
la r1, seq nop 2
loop: ld r2, seq(r1) addi r0, r0, -1 3
ld r3, next(r1) nop 4
nop nop 5
nop add r2, r2, r3 6
st r2, ans(r1) nop 7
addi r1, r1, 4 brrnz r31, r0 8
stop nop 9

Page 224, replace numbered items 1, 2, and 3 at the bottom of the page with the following:

1. Total program length has been reduced from 11 lines to 9. The loop, where the program will spend most of its time, has been reduced but only from 7 lines to 6. This is due to the imposed limitation that pipeline 2 cannot do memory accesses. If this limitation were removed, both loads could take place at line 3. The addi at line 3 would then be moved down to line 4, and line 5 could be eliminated.

2. These loads still need to be separated by two from the sum of the two fibs in line 6 because of the hazard between load as writer and alu as reader. See Table 5.1.

3. In like manner the store at line 7 needs to be separated by one from the add in line 6 because of the undefined semantics of computing a value and using it in an instruction in the same wide word.

Page 229 Figure 5.21 caption, replace r(r7) with 4(r7).

Page 354, In "Getting Specific:" Change both instances of "G4 Cache" to "601 Cache."

June 14, 2004 Corrections to the First Printing

Page 566, Solution to Exercse 3.2c. Replace "Data register indirect" with "Data register direct".

Page 567, Solution to Exercise 4.2. Replace "Cout = T0 + T4..." with Cout = T1 + T4.." And in the figure accompanying the solution, in the logic circuit on the right replace T0 with T1.

June 18, 2004 Corrections to the First Printing

Page 187, 4th line from the top, replace "step T6 of Figure 4.10" with "step T3 of Table 4.11".

Page 246, Exercise 5.3, second line, insert before "r2=-4", "r1=1,"

Page 247, Exercise 5.12, first line, replace "page 220" with "pages 215 and 216".

July 15, 2004 Corrections to the First Printing

Page 84, Second Table, second-to-last row, "lea r0 -100" should be "lea, r0, -100".

Page 275, Table 6.4, the zi column third row, the "1" should have an overbar. (This is the 1 opposite the -1 in the Value column.)

Page 276, Table 6.5, column labeled "Recoded Bit Pair" has missing overbars on three of the 1s as follows: the three 1s in the 5th, 6th, and 7th rows should have overbars. (These are the three 1s opposite Multiplier Values -2, -1, and -1.)

Page 351, 6th line from the bottom, "2304" should be "2305".

Page 416, Paragraph below c., 3rd line, "1000 blocks" should be "5 x 1024, or 5120 blocks". The "x" in this correction is the symbol for multiplication.

Pages 438 and 439, change the paragraph references at the ends of the following exercises:
9.6, 9.7, 9.8 , change 9.2 to 9.4.
9.9 and 9.10, change 9.3 to 9.5.
9.11, 9.12, 9.13, change 9.5 to 9.7.

Page 571, Exercise 6.6c, both of the encodings are incorrect, the solution is correct.

Page 574, Exercise 8.5 solution to part b. last line should read,
"corrected value is 0001 0010 1110 1100, and the original value is 10101101100.

Page 576, Exercise 9.5 Solution, Change as follows: change ".001/10 or 1 part in 10,000: to ".01/12 or 1 part in 1200". Change "14 bits" to "11 bits", change "14 clocks" to "11 clocks", and change "140 Hz." to "110 Hz.".