falling edge of a clock, 150
FAT (file allocation table), 378
free-space management, 380
implementation, 378
Fibre Channel Arbitrated Loop (FCAL) and SCSI, 369
field
aligning in record, 184
C bit, 58
encoding, 61, 282
extracting bit, 62
inserting data into bit, 62
in a record/structure, 181
file
access performance, 386
AIF, 401
block, 375, 382, 383, 387
formats, 401
formatted I/O to disk, 388
fragmentation, 376, 386
GM (general MIDI), 402
I/O performance, 386
managers, 374
memory-mapped, 312, 389
MIDI, 401
organization, 381
size , 383
sparse, 381, 385
storage in memory, 297
WAV, 401
file allocation table. See FAT
file system
free-space bitmaps in, 377
on mass storage devices, 374
operating system, 374
sequential, 376
financial transactions and fixed-point arithmetic, 35
fine-grained parallelism, 257
first-fit memory allocation, 323
first-in, first-out (FIFO) cache replacement policy, 307
fixed drives , 352.
See also disk drives
fixed-point
arithmetic, 35
binary formats, 34
representation, 33-34
flag
register, 232
zero, 230
flash storage modules, 363
flip-flop, S/R (set/reset), 220
latch, 221
as output port (S/R), 333
unstable, 221
float data type (C/C++), 72
floating-point
accuracy, 68
addition, 81-82
arithmetic, 33, 65, 66
exceptions in, 79
IEEE rounding, 84
limitations of, 65
calculation, 67
error accumulation, 68
order of evaluation, 68
comparisons, 69
denormalized values, 76
division, 92, 97
fpdiv function, 93, 97
by zero, 79
double-precision format (IEEE), 74
dynamic range, 66
error accumulation, 68
exceptions, 79
inexact result, 80
invalid operation, 79
numeric overflow, 80
numeric underflow, 80
excess-127 exponent, 73
excess-1023 format, 74
excess-16383 exponent, 74
extended-precision format, 74
format
decimal, 67
double-precision, 71, 74
extended-precision, 74
IEEE, 71
simple, 67
single-precision, 72-73
guard bits, 68, 77
IEEE single-precision format, 72
implied bit, 72
mantissas, 66
multiplication, 92, 93
normalized values, 75
number, 72
comparing, 69, 71
dynamic range in, 66
truncation of, 77
operations, 80
order of evaluation, 68
representation, 80
rounding, 77
significant digits, 67
special values, 78
subtraction, 81-82
truncation, 67, 77
units, 65, 80
floppy
diskettes, 298
drives, 352
FORTRAN programming language, 5
array access, 178
double-precision data type, 72
real data type, 72
four-way set associative caches, 304
FPU (floating-point unit), 80
fractional
representation, 35
values, 33, 38
fragmentation
disk files, 376
file, 386
internal, 327
memory, 324
in memory manager, 323
frames in USB protocol, 392
free memory allocation function, 164
freeing a memory block, 324
free-space
bitmap in file system, 377
management, 380
frequency, system clock, 150
fully associative cache, 304
function
C/C++, 164
ceil, 77
correct rectangle, 207
delete memory allocation, 164
dispose memory allocation, 164
floating-point addition (fpadd) , 82
floating-point division (fpdiv) , 93, 97
floating-point multiplication (fpmul) , 93
floating-point subtraction (fpsub) , 82
floor, 77
free , 164, 325
malloc , 164, 325
NAND, universal Boolean, 213
new memory allocation, 164
four-dimensional arrays, 177
functions
Boolean
electronic circuits and, 213
names , 196
number, 195
optimizing, 204
simplifying, 204
unique, 195
efficiency of string, 112
numbers , 197
of three variables , 195