|
|
Embedded ComputingA VLIW Approach to Architecture, Compilers and ToolsJoseph A. Fisher, Paolo Faraboschi, Cliff Young |
| PAGE | Error | Correction / Comment |
|
xxix |
wires are expensive, whereas transitors are cheap |
wires are expensive, whereas transistors are cheap |
| xxxi |
Memories in Mutliprocessor Systems |
Memories in Multiprocessor Systems |
| 1 | In 1943, the chairman of IBM predicted a world market for no more than five computers. |
Although Watson is well known for his alleged 1943 statement: "I think there is a world market for maybe five computers," there is no evidence he ever made it. See this wikipedia entry on the subject. |
| 9 |
matrix math extensions (MMX) in Pentium processors |
It is not clear what MMX really stands for. One can find MultiMedia eXtension, Multiple Math eXtension, or Matrix Math eXtension. However, it is likely a trademark by Intel with no specific meaning. See this wikepedia entry on the subject. |
| 39 | the book by Wolf [2000] | the book by Wolf [2001] |
| 40 | the book by Ashenden [1995] | the book by Ashenden [2001] |
| 40 | the books ... by Ball [1998, 2001] | the books ... by Ball [1998, 2003] |
| 40 | Rebecca Henderson's [Henderson, 2004] commentary | Rebecca Henderson's [Henderson, 2000] commentary |
| 61 (fig. 2.4) |
FP Funtional Units ... Integer Funtional Units |
FP Functional Units ... Integer Functional Units |
| 75 | CDC-7600 [Weis and Smith, 1987; | CDC-7600 [Weiss and Smith, 1987; |
| 78 (ex. 5) | First suggested by Fisher et al. [Fisher, 1981] | First suggested by Fisher et al. [Fisher et al., 1981] |
| 112 | There is no "Variable" row in the table ... | There is no "Dynamic" row in the table ... |
| 141 (example) | each byte of the inputs registers | each byte of the input registers |
| 170 (example) | the add always executes (speculatively) | the mpy always executes (speculatively) |
| 174 | Goldberg [1990] | Goldberg [1996] |
| 225 | Johnson [1992] | Johnson [1991] |
| 226 | Mahlke et al. [1994] | Mahlke et al. [1993] |
| 226 | Palacharla, Jouppi, and Smith [1993] | Palacharla, Jouppi, and Smith [1997] |
| 226 | Farkas, Chow, Jouppi, and Vranesic [1997] | Farkas, Chow, Jouppi, and Vranesic [1997a] |
| 226 | Zyubian and Kogge [1998] | Zyuban and Kogge [1998] |
| 226 | Chang et al. [1991] | Chang et al. [1991b] |
| 226 | Ozer et al. [1998] | Ozer et al. [1998a] |
| 226 | Ranghunathan, Jha, and Dey [1998] | Raghunathan, Jha, and Dey [1998] |
| 282 | VSI [2000] | VSI [2004] |
| 282 | the book by Wolfe [2002] | the book by Wolf [2002] |
| 283 | the book by Rashihnkar, Paterson and Singh [2000] | the book by Rashihnkar, Paterson and Singh [2001] |
| 283 | paper by Walls and Williams [2002] | paper by Walls and Williams [2000] |
| 283 | paper by Chaouni, Cyr, Giacalone et al. | paper by Chaoui, Cyr, Giacalone et al . |
| 283 | by Conte and Gimare [1995] | by Conte and Gimarc [1995] |
| 284 | work by Goldsmith and Hennessy [1993] | work by Goldschmidt and Hennessy [1993] |
| 284 | Maurer and Wang [1990] | Maurer and Wang [1991] |
| 284 | Reshadi, Misra, and Dutt [2003] | Reshadi, Mishra, and Dutt [2003] |
| 331 | the VEX compiler can also be called "parametrizable" | the VEX compiler can also be called "parameterizable" |
| 332 | Aho, Sethi, and Ullmann [1986] | Aho, Sethi, and Ullman [1986] |
| 332 | Allen and Kennedy [2002] | Allen and Kennedy [2001] |
| 332 | Liao et al. [1995a and b] | Liao et al. [1995 and 1996] |
| 332 | Laneer et al [1995] | Lanneer et al [1995] |
| 332 | Hanono and Devadas [1998] | Hadjiyianni, Hanono and Devadas [1997] |
| 333 | Rabbah, Palem et al [2003] | Rabbah and Palem [2003] |
| 333 | Roy and Johnson [1996] | Roy and Johnson [1997] |
| 335 (ex.10) | support for soft- ware pipelining | support for software pipelining |
| 360 | block B is control dependent on block A if all paths from the start of the program to B pass through A and some path from A to the exit of the program omits B | block B is control dependent on block A if there is a path from A that will always cause B to be executed, and another path from A that may avoid B |
| 360 (fig 8.11) | double-headed arrow between "add t4 = t3,1" and "sub t4 = t1,1" | single-headed arrow from "add t4 = t3,1" to "sub t4 = t1,1" |
| 366 (fig. 8.14) | In 8.14(b), the "Z" top entry on the left portion | should be "X" and not "Z", as it is evident from the scheduled code |
| 440 | Operating Systems: Internals and Design Principles[Stallings, 2000] | Operating Systems: Internals and Design Principles[Stallings, 2004] |
| 440 | see Lions' commentary on UNIX, sixth edition [Lyons, 1996] | see Lions' commentary on UNIX, sixth edition [Lions, 1996] |
| 456 | ISO/ANSO C standard | ISO/ANSI C standard |
| 465 | #define __ADDCG(sum,cout, a,b,cin) { \ | #define __ADDCG__(sum,cout, a,b,cin) { \ |
| 465 | r = __asm(__ADDCG __,a,b,cin); | r = __asm(__ADDCG__,a,b,cin); |
| 474 | As J2ME (...) becomes popular, ... , an additional challenge in to evaluate how these devices perform.. | As J2ME (...) becomes popular, ... , an additional challenge is to evaluate how these devices perform.. |
| 483 | Qin and Malek [2003] | Qin and Malik [2003] |
| 489 | Ellis and Stroustrup [1997] | Ellis and Stroustrup [1997] |
| 490 | Wolfe, Ortega, and Shanklin [1996] | Wolfe [1996] |
| 490 | Kennedy and Allen [2002] | Allen and Kennedy [2002] |
| 498 | the transformation needs to the strongly nonlinear | the transformation needs to be strongly nonlinear |
|
514 (table 11.3) |
MULT: Performs the fixed-point multiplication of arg1 by arg2 and gives a 16-bit scaled (shifted left by 15) result. | MULT: Performs the fixed-point multiplication of arg1 by arg2 and gives a 16-bit scaled (shifted right by 15) result. |
| 535 | Pennabaker and Mitchell [1993] | Pennabaker and Mitchell [1992] |
| 536 | Telkap [1995] | Tekalp [1995] |
| 536 | paper by Gall [1991] | paper by Le Gall [1991] |
| 537 | presentation by Mangione-Smith and Memik [2002] | presentation by Mangione-Smith and Memik [2001] |
| 537 | Cidecyan et al. [1992] | Cideciyan et al. [1992] |
| 537 | Lyi and Tomizuka [1999] | Yi and Tomizuka [1999] |
| 545 | the public-domain SoftFloat package | the freely available SoftFloat package |
| 545 | See http://www.cs.berkeley.edu/~jhauser | See http:/www.jhauser.us/arithmetic/SoftFloat.html |
| 548 (A.3) | [ missing ] | ANDL {t|b} = s1, {s2 | im} Logical AND |
| 551 | c0 br $b0.0, L1 | c0 brf $b0.0, L1 |
| 570 | when using the K&R mode (-KR switch) | when using the K&R mode (-K+R switch) |
| 577 | #pragma if_prob(20,100) | #pragma if_prob(20,100) // predicts "then" (foo) taken 20% |
| 578 | Assert less-than, ..., of the two expressions, exp1 and exp2, modulo n, in the current scope | Assert less-than, ..., of the two expressions, exp1 and exp2, in the current scope |
| 580 | (i.e. the ivdep was asserted incorrectly) | (i.e. the restrict keyword was used incorrectly) |
| 582 |
#pragma stream typedef int *stream_int_ptr; stream_int_ptr *p; |
#pragma stream typedef int *stream_int_ptr; stream_int_ptr p; |
| 582 |
#pragma stream typedef int stream_int; #pragma stream typedef stream_int *stream_int_stream_ptr; stream_int_stream_ptr *p; |
#pragma stream typedef int stream_int; #pragma stream typedef stream_int *stream_int_stream_ptr; stream_int_stream_ptr p; |
| 592 | (no induction variable dependences) | (ignore vector dependences) |
| 594 | Profile-based optimization (...) is a two-step compilation process | Profile-based optimization (...) is a three-step compilation process |
|
600 (Table A.12) |
lg2lineSize
... (e.g. 8==> 64KB) lg2StrLineSize ... (e.g. 8==> 64KB) lg2ICacheLineSize ... (e.g. 8==> 64KB) |
lg2lineSize
... (e.g. 8==> 64B) lg2StrLineSize ... (e.g. 8==> 64B) lg2ICacheLineSize ... (e.g. 8==> 64B) |
| 605 |
# Compile modules with
"risc" machine model /home/vex/bin/cc -ms -O3 -fmm=verywide.mm -c file1.c /home/vex/bin/cc -ms -O3 -fmm=verywide.mm -c file2.c |
# Compile modules with
"verywide" machine model /home/vex/bin/cc -ms -O3 -fmm=verywide.mm -width 4 -c file1.c /home/vex/bin/cc -ms -O3 -fmm=verywide.mm -width 4 -c file2.c |
| 615 | (loops completed per cycle) | (loop iterations completed per cycle) |
| 617 | pipes and name pipes | pipes and named pipes |
| 653 | [missing Sander [1995] reference, cited at page 558] | Sander (1995). G. Sander. VCG -- Visualisation of Compiler Graphs. Technical Report A01-95 Universität des Saarlandes, FB 14 Informatik, Germany, Feb. 1995 (available at http://rw4.cs.uni-sb.de/~sander/) |
