Главная    Ex Libris    Книги    Журналы    Статьи    Серии    Каталог    Wanted    Загрузка    ХудЛит    Справка    Поиск по индексам    Поиск    Форум   
blank
Авторизация

       
blank
Поиск по указателям

blank
blank
blank
Красота
blank
Bryant R., O'Hallaron D.R. — Computer Systems: A Programmer's Perspective
Bryant R., O'Hallaron D.R. — Computer Systems: A Programmer's Perspective



Обсудите книгу на научном форуме



Нашли опечатку?
Выделите ее мышкой и нажмите Ctrl+Enter


Название: Computer Systems: A Programmer's Perspective

Авторы: Bryant R., O'Hallaron D.R.

Аннотация:

This book is a very unusual one because it explains computer architecture from the standpoint of the C/C++ programmer. That is, its object is to allow the programmer to understand how the architecture of the computer on which he/she programs effects the performance and execution of these programs. Things such as virtual memory, parallelization, optimization, and even logical and mathematical operations are effected by the architecture of the computer itself. For example - big endian versus little endian machines. You'd believe you wouldn't have to think about how your computer is organized at this level - that is one of the reasons you program in a high level language anyways, right? Wrong. If you have data stored in big endian format that is mathematically operated upon in a little endian machine, or vice versa, you will wind up with something quite different from what you intended. That's the kind of information this book gets into.Some have labeled this book as "hard". It really is not hard as much as it is densely packed with knowledge. You need to take each concept within each chapter and think about it before you go on to the next. If you do this you'll not only get much out of it during your initial read, you'll have a valuable reference for some time to come. To get the most of this book you should already be a capable C/C++ programmer and you should also know the building blocks of a computer. The book goes over these things very quickly but it really is not enough if you start out knowing nothing about these subjects. Highly recommended. The following is the proposed table of contents for the second edition:1 A Tour of Computer Systems 1I Program Structure and Execution 252 Representing and Manipulating Information 293 Machine-Level Representation of Programs 1454 Processor Architecture 3175 Optimizing Program Performance 4496 The Memory Hierarchy 531II Running Programs on a System 6197 Linking 6238 Exceptional Control Flow 6679 Virtual Memory 741III Interaction and Communication Between Programs 81910 System-Level I/O 82311 Network Programming 84712 Concurrent Programming 893A Error Handling 957A.1 Error Handling in Unix Systems 957A.2 Error-Handling Wrappers 959


Язык: en

Рубрика: Computer science/

Статус предметного указателя: Готов указатель с номерами страниц

ed2k: ed2k stats

Год издания: 2002

Количество страниц: 978

Добавлена в каталог: 09.02.2014

Операции: Положить на полку | Скопировать ссылку для форума | Скопировать ID
blank
Предметный указатель
I/O redirection      795 793—795
i386 microprocessor      126
i486 microprocessor      126
IA32      127 6 125 128
IA32 and alignment      198
IA32 and program stack      170
IA32 and spilling      191
IA32 cycle counters      663—665
IA32, central processing unit (CPU)      136
IA32, comparing to Y86 instruction encodings      263
IA32, extended precision floating point      93
IA32, floating-point unit      215
IA32, instructions      132
iaddl [Y86] immediate add      360
IBM Ultrastar 36LZX, geometry and performance      475
IBM Ultrastar 36LZX, zone map      475—476
ICALL [Y86] instruction code for call instruction      299
ICANN (Internet Corporation for Assigned Names and Numbers)      577 811—812
Identifier, register      260
idivl [IA32] signed divide      148 147
IEEE      see "Institute of Electrical and Electronics Engineers (IEEE)"
IEEE floating-point      80 83—85
IEEE floating-point, representation      83—85
IEEE floating-point, standard      80
if [C] conditional statement      157
IHALT [Y86] instruction code for halt instruction      299
IIRMOVL [Y86] instruction code for irmovl instruction      299
IJXX [Y86] instruction code for jump instructions      299
Immediate coalescing      741
Implicit free lists      737—739
Implicit free lists, defined      739
Implicit free lists, invariant form of      745
Implicit free lists, organizing the heap with      738
Implicit thread termination      864
Implicitly reentrant functions      888 888—889
Implied leading I representation      84
imull [IA32] signed multiply      148 147—148
in [HCL] set membership test      278 906
Inactive program      655
incl [IA32] increment double word      144
Include header file      554
index.html      826—828
Indirect jump      152
inet_aton [Unix] convert application to network      810
inet_nota [Unix] convert network to application      810
Infinite precision arithmetic      66
Information representation/manipulation      25—120
Information representation/manipulation, floating point      80—98
information storage      28—51
Information storage, addressing and byte ordering      34—40
Information storage, bit-level operations in C      46—49
Information storage, Boolean algebra      42—46
Information storage, code, representing      41—42
Information storage, data sizes      32—34
Information storage, hexadecimal notation      28—32
Information storage, logical operations in C      49—50
Information storage, rings      43—46
Information storage, shift operations in C      50—51
Information storage, strings, representing      40—41
Information storage, words      32
Initialized global C variables      544
Initializing threads      866
init_pool [CS:APP] init client pool      857 859
Inline assembly with gcc      224
INOP [Y86] instruction code for nop instruction      289
Input event      856
Input/output (I/O) devices      8
Installing a signal handler      624
Instant messaging      210
Institute of Electrical and Electronics Engineers (IEEE)      14 80
Institute of Electrical and Electronics Engineers (IEEE), Standard      754 80
Instruction caches      504 396
Instruction control unit (ICU)      396—398
Instruction control unit (ICU), Retirement Unit      398
Instruction execution      652
Instruction fetches, locality of      480—481
Instruction pipelining      425
Instruction squashing      346
Instruction-set architecture (ISA)      256 255—374
Instructions per cycle (IPC)      358
int [C] integer type      8 33 34 51 93 135
int [HCL] integer signal      274 906
Integer addition      66—67
integer arithmetic      65—80
Integer arithmetic operations      144
Integer arithmetic, Abelian group      678
Integer arithmetic, powers of two, dividing by      77—80
Integer arithmetic, powers of two, multiplying by      76—77
Integer arithmetic, two's-complement multiplication      75—76
Integer arithmetic, two's-complement negation      72—74
Integer arithmetic, unsigned addition      66—69
Integer arithmetic, unsigned multiplication      74—75
integer division      77—80
Integer register file      129
Integer registers      136
Integer representations      51—65
Integer representations, conversions between signed and unsigned      56—58
Integer representations, expanding the bit representation of a number      60—63
Integer representations, integral data types      51
Integer representations, signed vs. unsigned, advice on      63—64
Integer representations, signed vs. unsigned, in C      59—60
Integer representations, truncating numbers      63—64
Integer representations, unsigned and two's-complement encodings      51—56
Integral data type      51
Intel architecture      125—128
Intel architecture, 80286 microprocessor      126
Intel architecture, 8080 microprocessor      126
Intel architecture, i386 microprocessor      126
Intel architecture, i486 microprocessor      126
Intel architecture, Pentium      126—127
Intel architecture, Pentium 4      126—127
Intel architecture, Pentium II      126
Intel architecture, Pentium III      126
Intel architecture, Pentium/MMX      126
Intel architecture, PentiumPro      126—127
internal fragmentation      736
Internet      805
Internet addresses      806
Internet connections      808 815—816
Internet connections, full-duplex      815
Internet connections, point-to-point      815
Internet connections, socket address      815
Internet connections, sockets      815
Internet connections, structures      817—818
Internet domain names      808 811—815
Internet domain names, first-level      811
Internet domain names, second-level      812
Internet domain names, subdomains      811
Internet Domain Survey      814
Internet hosts, number of      814
Internet protocol (IP)      808
Internet Software Consortium      814
Internet, destination host      806
Internet, origin of      816
Internet, protocol software      806—807
Internet, source host      806
Interpretation      26
Interprocess communication (IPC) mechanism      849 853
Interrupt      590 654
interrupt handlers      590
Interval counting      439
Interval counting accuracy, measuring      662
Interval counting, operation      658—659
Interval counting, process timers, accuracy of      660—663
Interval counting, process timers, reading      659—660
Interval time      654
in_addr      809
IOPL [Y86] instruction code for integer operation instructions      299
IP (Internet Protocol)      808
IP address structure      809
IP addresses      808 809—811
IPC (instructions per cycle)      358 853
IPOPL [Y86] instruction code for popl instruction      299
IPUSHL [Y86] instruction code for pushl instruction      299
IRET [Y86] instruction code for ret instruction      299
IRMMOVL [Y86] instruction code for rmmovl instruction      299
irmovl [Y86] immediate to register move      259 282
IRRMOVL [Y86] instruction code for rrmovl instruction      299
ISA (instruction set architecture)      256
isPtr function      758—759
Issue instruction      322
Issue time      399
Iteration splitting      419
Iterative servers      824 824—825
ja [IA32] jump if unsigned greater      153
jae [IA32] jump if unsigned greater or equal      153
Java language      xx 27 546 549 587—588 638
Java monitor      882
Java Native Interface (JNI), and shared libraries      570
Java threads      882 895
jb [IA32] jump if unsigned less      153
jbe [IA32] jump if unsigned less or equal      153
je [IA32] jump when equal      153
je [Y86] jump when equal      260
jg [IA32] jump if greater      153
jg [Y86] jump when greater      260
jge [IA32] jump if greater or equal      153
jge [Y86] jump when greater or equal      260
jl [IA32] jump if less      153
jl [Y86] jump when less      260
jle [IA32] jump if less or equal      153
jle [Y86] jump when less or equal      260
jmp [IA32] jump unconditionally      152—153
jmp [Y86] jump unconditionally      260
jna [IA32] jump if not unsigned greater      153
jnae [IA32] jump if unsigned greater or equal      153
jnb [IA32] jump if not unsigned less      153
jnbe [IA32] jump if not unsigned less or equal      153
jne [IA32] jump if not equal      153
jne [Y86] jump when not equal      260
jng [IA32] jump if not greater      153
jnge [IA32] jump if not greater or equal      153
jnl [IA32] jump if not less      153
jnle [IA32] jump if not less or equal      153
jns [IA32] jump if nonnegative      153
jnz [IA32] jump if not zero      153
Job      620
Joinable thread      865
js      153
Jump      153
Jump instructions/encodings      152—156
Jump table      166—169 588
Jump targets      152
jump, direct      152
jump, indirect      152
Jump, nonlocal      635
jump, table      166
jump, target      152
jz [IA32] jump if zero      153
K&R (C book)      3
K-best measurement scheme      671 671—680
K-best measurement scheme, evaluation on other machines      676—679
K-best measurement scheme, experimental evaluation      671—673
K-best measurement scheme, implementation of      684—685
K-best measurement scheme, observations      679—680
K-best measurement scheme, setting the value of K      673—676
K-best measurement scheme, timer interrupt handling, compensating for      676
Kahan, William      80
Kahn, Robert      816
Kernel      17 588 16 564 779
kernel mode      589 591 596 596—597 655
Kernel virtual memory      17
Kernighan, Brian      2 14 798
Keyboard      8 18
kill [Unix] send signal      621
kill.c [CS.APP] kill example      621
Knuth, Donald      740—741
ksh [Unix] Unix shell program      614
L0 cache      12
L1 cache      72 487
L2 cache      72 487
L3 cache      487
Label, for jump instructions      152
LANs (local area networks)      803—805
LANs (Local Area Networks), bridged Ethernets      804—805
LANs (local area networks), Ethernet      804
LANs (Local Area Networks), Ethernet segments      804
LANs (Local Area Networks), frames      804
LANs (Local Area Networks), internet      805
LANs (Local Area Networks), internet, destination host      806
LANs (Local Area Networks), internet, protocol software      806—807
LANs (Local Area Networks), internet, source host      806
LANs (Local Area Networks), routers      805
Last-in-first-out (LIFO) order      752
latency      310 309—310 682
Latency, instruction      399
Latency, timer      682
Lazy binding      573
LD Unix static linker      542
LD-LINUX.SO Linux dynamic linker      568
ldd program      575
leal [IA32] load effective address      743 149 175 182
Least squares fit      382
Least squares fit, defined      384
Least-frequently-used (LFU) policy      499
Least-recently-used (LRU) policy      499
leave [IA32] prepare stack for return      172
leave [Y86] prepare stack for return      361
Left hoinkey      794
libc library      795
Library functions      652
Library, shared      566
library, static      553
libvector.a      554
LIFO      752
Line matching in direct-mapped caches      491
Line matching in full associative caches      500—501
Line matching in set associative caches      498—499
Line replacement on misses in direct-mapped caches      492
Line replacement on misses in set associative caches      499
Linear address spaces      694
Link-time errors, and compilation system      6
Linker phase      4—5
Linkers      4 5 540
Linkers and resolution of multiply defined global symbols      549—552
Linkers, dynamic      566
Linkers, static      542
Linkers, use of static libraries to resolve references      556—557
Linking      539—583
Linking with static libraries      553—555
Linking, compiler drivers      541—542
Linking, defined      540
Linking, dynamic      566
Linking, dynamic, with shared libraries      566—568
Linking, executable object files      561—564
Linking, executable object files, loading      564—566
Linking, object file manipulation tools      574—575
Linking, object file manipulation tools, AR      574
Linking, object file manipulation tools, LDD      575
Linking, object file manipulation tools, NM      574
Linking, object file manipulation tools, OBJDUMP      574
Linking, object file manipulation tools, readelf      574
Linking, object file manipulation tools, size      574
Linking, object file manipulation tools, strings      574
Linking, object files      543—544
Linking, position-independent code PIC)      570—574
Linking, position-independent code PIC), data references      572
Linking, position-independent code PIC), function calls      572—574
Linking, relocatable object files      544—545
Linking, relocation      557—561
1 2 3 4 5 6 7 8 9 10 11
blank
Реклама
blank
blank
HR
@Mail.ru
       © Электронная библиотека попечительского совета мехмата МГУ, 2004-2024
Электронная библиотека мехмата МГУ | Valid HTML 4.01! | Valid CSS! О проекте