Index_M


M

machine
C union on a big endian, 148
C union on a little endian, 148
code, 274
instruction decoding, 217
organization, 3
von Neumann, 134
microinstructions, 228
magnetic tape, 298
maintaining files, 377
major ordering
column, 175, 178
row, 175
malloc function, 164, 325
managers
file, 374
operating system file, 374
manipulation
of bits, 48
of Boolean expressions, 198
mantissa, 66
map method for Boolean function simplification, 204
mapped input/output
I/O, 334, 335
memory, 334
maps, truth, 204
masking, 48
in bits, 48
out bits, 48
MASM, 15
binary literal constants, 15
hexadecimal representation, 16
mass storage device, 374
writing software to manipulate
data on, 385
master-slave connections, 391
maximum addressable memory, 135
maxterms
canonical form, 203
representation, 199
mechanisms
interrupt, 345
I/O, 334
medium-speed I/O devices, 337
megahertz (MHz), 150
membership in a chracter set, 119
memory
access, 133, 151, 157
big endian organization, 144
canonical format, 146
capacity, 152
cells , 220
CISC versus RISC access, 157
CPU and, 157
deallocation operator (C++), 321
deallocation operator (Pascal), 321
declaring arrays in, 169
direct addressing mode, 157
direct-mapped cache, 303
double words, 138, 142
DSM (distributed shared), 297
dynamic memory allocation, 321
even banks, 140
four-way set associative
caches, 304
free function, 325
garbage collection, 322, 324
heap overhead, 326
heap section in, 321
improving performance
by aligning data, 142, 143
with memory hierarchy, 314
indexed addressing mode, 157
indirect addressing mode, 157, 158
instruction caches, 247
little endian organization, 144
locations, 137
main-memory subsystem, 297
malloc function, 325
maximum addressable, 135
mixing little and big endian data, 145
multilevel page tables, 310
NUMA (Non-Uniform Memory Access), 297
n -way set associative caches, 304
odd banks, 140
one-way set associative cache, 303
operation, 138, 153
overhead, heap, 326
PC cards (flash), 364
physical organization, 137
pointer variables , 159
protected, 309
protection, 309
read operations, 151
reading from, 138
scaled indexed addressing modes, 160
secondary cache, 156
smallest unit of, 140
spatial locality of reference, 153, 298, 300
speed rating, 152
stack section in, 320
starting address, 139
storage
records, 183
unions, 187
words, 138
subsystem performance, 300
subsystems, 298, 300
synchronization with system
clock, 151
and system clock, 151
temporal locality, 153-54, 298
temporality, 300
third-level cache, 157
thrashing, 308, 312
time and, 151
transparency, 299
two-level caching systems, 156
two-way set associative caches, 304
virtual, 297, 309
wait states, 152
word access
in byte-addressable, 138
at odd addresses, 143
words, 140-41
write
cycle, 151
operation, 138, 151
writing data to, 307
writing to, 137, 307
memory addressing, 135
modes, 4, 157-58
words and dwords, 138
memory allocation, 164, 166, 321
best-fit, 323
dynamic, 164, 321
first-fit, 323
granularity, 326
heap, 164
with malloc , 165
operator (C++ or Pascal), 321
pointers and dynamic, 164
memory array, 137, 173
memory banks, 140
memory block, 322, 324
memory byte
addressable, 137
enable lines, 142
gender, 145-46
sex, 145
memory cache, 153
architecture, 302
hits, 154-55
interface, 154
line, 155, 301, 302, 306
miss , 154
memory cycle, 151
memory decoding delays, 152
memory fragmentation, 323-24, 327
memory hierarchy, 295, 296, 298
file storage, 297
hard copy storage, 298
network storage, 297
registers, 296
memory interface, 32-bit processor, 142
memory latency, 301
memory leaks, 117
memory management, 324
memory management unit (MMU), 311
memory modules, 217
memory organization, 133, 137, 316
memory paging, 309
memory subsystem, 366
memoryless logic, 220
memory-mapped
files, 312, 334, 389
I/O, 334
MHz (megahertz), 150
mice, 396
microcode , 228-29
microcontroller chip, 8042, 349
microengines, 229
microinstructions, 228
MIDI (Musical Instrument Digital Interface), 402
files, 401-2
MIMD (Multiple Instruction, Multiple Data), 256
miniport drivers, 371, 374
minterms, 199
from binary numbers , generating, 199
representation, sum of, 199
sum of canonical form, 200
miserly approach to comparing floating-point numbers, 71
mixing big endian and little endian data, 145
MMU (memory management unit), 311
mod field encodings, 282
mode
addressing, 4, 157
direct addressing, 270-71
direct memory addressing, 158
indexed addressing, 159, 166, 270-71
indexed versus scaled indexed addressing, 160
indirect addressing, 158, 270-71
I/O and protected, 345
PCI bus burst, 340
scaled indexed addressing, 160, 284-86
short displacements for indexed addressing, 159
modifiers, keyboard, 349
mod-reg-r/m byte, 281
mod-reg-r/m bytes (80 —86), 281
mod-r/m encodings, 283
Modula-2 programming language, 5
modules
flash storage, 363
outboard synthesizer, 403
USB/flash, 364
modulo-n counters, 51
in C/C++, Pascal, and Visual Basic, 51
using and creating, 51
mov instruction (Y86), 230, 268, 276
multidimensional arrays, 174, 179
multilevel page tables, 310
multiple command processing under SCSI, 371
multiple instructions (pipelining), 243
multiple paths to memory, 247
multiple platter hard disk assembly, 355
multiplication, floating-point, 92-93
multiplying binary values, 42
multiprocessing, 257
Musical Instrument Digital Interface (MIDI), 402
musical instruments, synthesizing, 400



Write Great Code. Understanding the Machine, Vol. 1
The Art of Assembly Language
ISBN: 1593270038
EAN: 2147483647
Year: 2003
Pages: 144
Authors: Randall Hyde

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net