SATA (serial ATA) interface, 374
scaled format
addition or subtraction with, 36
fractional representation and, 35
scaled index byte (sib) layout, 285
scaled indexed addressing modes, 160, 284, 286
reg values for 80 —86, 285
scaling values for 80 —86, 285
scaled representation
addition, 36
division, 37
formats, 35
multiplication, 37
subtraction, 36
SCC (Serial Communications Chip), 351
scope of an identifier, 318
SCSI (Small Computer System Interface), 367
command set, 370
controllers, 367
devices, 367
Fast, 368
Fast and Wide, 368
Fibre Channel Arbitrated Loop, across, 369
FireWire, across, 369
host adapter, 370
miniport drivers, 371
multiple command processing, 371
Parallel Interface (SPI), 369
problems, 367
protocol, 369
terminators, 367
ultra , 368
Wide, 368
SDRAM (synchronous DRAM), 297
section
block started by a symbol (BSS), 319-20
constant, 319
heap, 321
read-only, 319
stack, 320
static data, 319
uninitialized storage (BSS), 319
sector layout on disk drive, 357
sector on hard disk, 353
interleaving, 356-57
platter, 353
seek time
CD and DVD disks
track, 362
hard disk drive
average, 354
track-to-track, 354
selectively manipulating bits in a bit string, 48
semiconductor
disk price/performance of, 366
RAM disks, 365
separate code and data caches, 249
separating opcode to ease decoding, 263
sequential
and clocked logic, 220
file systems, 376
logic, 220
memory locations, 174
sequential access on hard disk drive, 386
serial ATA interface (SATA), 374
serial communications
chip, 8250, 351
chip (SCC), 351
RS-232, 351
serial SCSI across FireWire, 369
serialized operations, 149
set
ASCII character, 104
characters , 119
designing your own, 121
double-byte, 108
EBCDIC, 107
HyCode, 122, 129
list representation of, 120
membership in, 119
punctuation symbols in ASCII, 105
Unicode, 109
designing, 122, 260
instruction, 226
numeric digits in ASCII
character, 105
powerset representation, 120
working, 311
set associative cache
four-way, 304
n-way, 304
one-way, 303
two-way, 304-5
set of bits
comparing, 49
testing, 49
zero/not zero, 49
set/reset (S/R) flip-flop, 220
seven-segment
decoder, 215
display, 216
LED decoders, 215
values for '0' through '9', 216
shared memory, distributed, 297
sharing address (dual I/O port), 332
shift operation
left, 52
right, 53
shift register, 222
built from D flip-flops, 223
short displacements for indexed addressing modes, 159
short packed date format (16 bits), 55
short strings in Delphi, 116
sib (scaled index byte) layout, 285
encoding, register values for, 285
sign bit, two's complement, 24
signaling not-a-number (SNaN), 78
signed and unsigned numbers , 24
signed integer values, 24
silicon real estate and CPU design, 260
SIMD (Single Instruction, Multiple Data), 256
simplifying Boolean functions, 204
Single Instruction, Single Data (SISD) execution model, 256
single-operand instruction encodings, 272
single-precision floating-point format, 71-73
SISD (Single Instruction, Single Data), 256
size of
instruction, 264
processor, 135
typical file, 383
sizeof function (C/C++), 164
small accesses on non-80 —86 processors, 143
Small Computer System Interface. See SCSI
small files, block list for, 382
smallest
data type in a programming language, 22
unit of memory, 140
unit of storage, 22
SNaN (signaling not-a-number), 78
Social Security numbers
packed fields, 60, 61
sorting, 61
software
implementing hardware
functions in, 212
signals, 345
software-based RAM disks, 366
sound system, DigiDesign Digi-001, 401
space efficiency of packed data, 55
spatial locality of reference, 153, 298, 300
special expansion opcode, 272
special floating-point values, 78
speed, hard disk drive rotational, 353
speed hierarchy, I/O, 337
speed rating for memory, 152
SPI (SCSI Parallel Interface), 369
S/R (set/reset) flip-flop, 220
as output port, 333
stack, USB host controller, 391
stack pointer register, 320
stages in CPU pipeline, 244
static
data sections in program, 319
objects, 318
strings, 116
variables section, 319
storage
array, 173
devices
mass, 374
under USB, 396
flash, 363
in memory, 183
memory hierarchy
file, 297
hard copy, 298
network, 297
near-line, 360
non-volatile, 363
records, 183
requirements on disk, audio, 401
smallest unit of, 22
structs, 183
subsystems, 298
systems, 360
of unions, 187
stored at odd addresses, 141
stored program computers, 227
stream-I/O data semantics, 347
streaming
data, 361
tape drives , 363
string, 110
7-bit, 113
of bits, 22
in C, packed bit, 58
character, 110, 111
comparing, 49
conversion, 19-20
data, 117
Delphi, short, 116
Delphi/Kylix, 118
descriptor-based, 115
dynamic, 115, 116, 117
format, 111
character, 111
creating, 119
HLA, 114
functions, 112
HLA, 113
length, 110, 112
logical operations on, 47
manipulating, 48
masking bit, 48
objects, 115
packing bit, 55
pseudo-dynamic, 116, 117
reference counting, 117
seven-bit, 113
static, 116
using descriptors, 116
zero- terminated , 111
strobe line, parallel port, 349
struct, 181
aligning fields, 184
application binary interface, 184
assembler directive, 182
C/C++ declarations, 182
dot operator, 183
fields, 181
HLA declarations, 182
length, 184
memory storage, 183
padding bytes, 184
Pascal declarations, 181
unions vs. records/struct, 187
structure, 181
packed, 63
storage in memory, 183
student data structure storage in memory, 183
sub instruction (Y86), 269, 276
subsystem
L2 cache, 300
near-line storage, 298
offline storage, 298
online memory, 298
performance, 300
swap storage, 366
subtraction
binary values, 41
floating-point addition and, 81
fpsub function (floating-point), 82
integers from pointers, 167
pointers from pointers, 167
scaled format, 36
sum of minterms
canonical form, 200
representation, 199
surrounding rectangular groups of ones, 206
sustaining high data transfer rates on a bus, 342
symbols
ASCII character set, 105
schematic, 213
synchronous
DRAM (SDRAM), 297
I/O, 387
synthesis, wave table, 400
synthesizing musical instruments, 400
system
bus data transfer rates, 134, 338
clock, 149
frequency, 150
lines, 136
memory access, 151
operation, 150
period, 150
components , 134
disk array, 358
embedded, 212
frequency, 150
numbering, 11
protected-mode operating, 346
RAID, 358
sequential file, 376
synchronization, 150
two-level caching, 156
two's complement numbering, 24