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