I-8 ■ Index
compilers (continued)
multimedia instruction support, 
B-31 to B-32
performance of, B-27, B-29
recent structures of, B-24 to B-26, 
B-25
register allocation in, B-26 to 
B-27
scheduling, A-66
software pipelining in, G-12 to 
G-15, G-13, G-15
speculation, G-28 to G-32
complex instruction set computer 
(CISC), J-65
component failures, 367
compulsory misses
defined, 290, C-22
in multiprogramming example, 
228, 229
relative frequency of, C-22, C-23, 
C-24
in SMT commercial workloads, 
222, 224, 225
computation-to-communication ratios, 
H-10 to H-12, H-11
computer architecture
defined, 8, 12, J-84, K-10
designing, 12–13, 13
flawless design fallacy, J-81
functional requirements in, 13
historical perspectives on, J-83 to 
J-84, K-10 to K-11
instruction set architecture, 8–12, 
9, 11, 12
organization and hardware, 
12–15, 13
quantitative design principles, 
37–44
signed numbers in, I-7 to I-10
trends in, 14–16, 15, 16
computer arithmetic, I-1 to I-65
carry-lookahead adders, I-37 to 
I-41, I-38, I-40, I-41, I-42, 
I-44
carry-propagate adders, I-48
carry-save adders, I-47 to I-48, 
I-48
carry-select adders, I-43 to I-44, 
I-43, I-44
carry-skip adders, I-41 to I-43, 
I-42, I-44
chip design and, I-58 to I-61, I-58, 
I-59, I-60
denormalized numbers, I-15, I-20 
to I-21, I-26 to I-27, I-36
exceptions, I-34 to I-35
faster division with one adder, 
I-54 to I-58, I-55, I-56, I-57
faster multiplication with many 
adders, I-50 to I-54, I-50 to 
I-54
faster multiplication with single 
adders, I-47 to I-50, I-48, 
I-49
floating-point addition, I-21 to 
I-27, I-24, I-36
floating-point arithmetic, I-13 to 
I-16, I-21 to I-27, I-24
floating-point multiplication, I-17 
to I-21, I-18, I-19, I-20
floating-point number 
representation, I-15 to I-16, 
I-16
floating-point remainder, I-31 to 
I-32
fused multiply-add, I-32 to I-33
historical perspectives on, I-62 to 
I-65
instructions in RISC architectures, 
J-22, J-22, J-23, J-24
iterative division, I-27 to I-31, 
I-28
overflow, I-8, I-10 to I-12, I-11, 
I-20
in PA-RISC architecture, J-34 to 
J-35, J-36
pipelining in, I-15
precision in, I-16, I-21, I-33 to 
I-34
radix-2 multiplication and 
division, I-4 to I-7, I-4, I-6, 
I-55 to I-58, I-56, I-57
ripple-carry adders, I-2 to I-3, I-3, 
I-42, I-44
shifting over zeros technique, I-45 
to I-47, I-46
signed numbers, I-7 to I-10, I-23, 
I-24, I-26
special values in, I-14 to I-15
subtraction, I-22 to I-23, I-45
systems issues, I-10 to I-13, I-11, 
I-12
underflow, I-36 to I-37, I-62
computers, classes of, 4–8
condition codes, A-5, A-46, B-19, J-9 
to J-16, J-71
condition registers, B-19
conditional branch operations
in control flow, B-19, B-19, B-20
in RISC architecture, J-11 to J-12, 
J-17, J-34, J-34
conditional instructions. See 
predicated instructions
conditional moves, G-23 to G-24
conflict misses
defined, 290, C-22
four divisions of, C-24 to C-25
relative frequency of, C-22, C-23, 
C-24
congestion management, E-11, E-12, 
E-54, E-65
connectedness, E-29
Connection Multiprocessor 2, K-35
connectivity, E-62 to E-63
consistency. See cache coherence 
problem; cache coherence 
protocols; memory 
consistency models
constant extension, in RISC 
architecture, J-6, J-9
constellation, H-45
contention
in centralized switched networks, 
E-32
congestion from, E-89
in network performance, E-25, 
E-53
network topologies and, E-38
in routing, E-45, E-47
in shared-memory 
multiprocessors, H-29
contention delay, E-25, E-52
context switch, 316, C-48
control dependences, 72–74, 104–105, 
G-16
control flow instructions, B-16 to B-21
addressing modes for, B-17 to 
B-18, B-18
conditional branch operations, 
B-19, B-19, B-20
in Intel 80x86, J-51
in MIPS architecture, B-37 to 
B-38, B-38