Ãëàâíàÿ    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
Ïðåäìåòíûé óêàçàòåëü
MULTICS      14
Multicycle instructions      356—357
Multilevel page tables      709—711
Multiple zone recording      467
Multiplexor      273
Multiplexor, HCL description with case expression      276
Multiplexor, word-level      275
Multiplication, two's-complement      75 75—76
Multiplication, unsigned      74
Multiplicative identities      43
Multiported random-access memory      280
multiprocessors      848
Multitasking      595
multp operation      213
munmap [Unix] unmap disk object      729
Mutex lock ordering rule      893
Mutex variables (Pthreads)      882
Mutexes      878
Mutual exclusion      878
Name demangling      549
Name mangling      549
NaN      85
Nanoseconds (ns)      382 653
neg operation      213
Negation, two's-complement      72
Negative overflow      70
negl [IA32] negate double word      144
Nested arrays      183—186
network adapter      472
Network byte order      809
Network client      79 802
Network file system (NFS)      483
Network programming      801—845
Network programming, client-server programming model      802—803
Network programming, global IP Internet      807—816
Network programming, global IP Internet, datagrams      808
Network programming, global IP Internet, defined      807
Network programming, global IP Internet, Internet connections      808 815—816
Network programming, global IP Internet, Internet domain names      808 811—815
Network programming, global IP Internet, IP addresses      808 809—811
Network programming, global IP Internet, sockets interface      808 816—826
Network programming, global IP Internet, TCP/IP protocol      808
Network programming, global IP Internet, TINY Web server      834—841
Network programming, global IP Internet, UDP (Unreliable Datagram Protocol)      808
Network programming, global IP Internet, Web servers      826—834
Network programming, networks      803—807
Network programming, Web servers, basics of      826—827
Network programming, Web servers, content      827—828
Network programming, Web servers, HTTP requests      829—830
Network programming, Web servers, HTTP responses      830—831
Network programming, Web servers, HTTP status codes      831
Network programming, Web servers, HTTP transactions      828—831
Network programming, Web servers, serving dynamic content      831—834
Network server      79 802
networks      18—20 803—807
Newline character (\n)      3
Next fit      739 739—740
NFS (Network File System)      483
nm program      574
No-write-allocate      503
No-write-allocate caches      503—504
Nonexistent variables, referencing      762
Nonlocal jumps      635 587 635—638
Nonlocal jumps, example of      636
Nonnegative floating-point numbers, examples of      88
Nonvolatile memory      462 462—463 524
nop [IA32] no operation      132
nop [Y86] no operation      298 325 329—330
norace.c [CS:APP] Pthreads program without a race      892
Normalized numbers      84—85
Normalized, floating-point value      84
not-a-number (NaN)      85
Notation, decimal      81
Notation, dotted decimal      809
Notation, hexadecimal      28—32
Notation, RPN (Reverse Polish Notation) pocket calculators      28—32
notl [IA32] complement double word      144
ns (nanoseconds)      382
NSF (National Science Foundation)      816
NSFNET      816
ntohl [Unix] convert network-to-host long      809
ntohs [Unix] convert network-to-host short      809
Numbers, expanding the bit representation of      61—63
Numbers, truncating      63—64
OBJDUMP object file reader      559 131 574
object files      543 543—544
Object files, executable      542 543
Object files, relocatable      542 543
Object files, shared      543
Object in C++ and Java      192
Object module      543
Object, memory-mapped      724
Object, private      725
Object, shared      566 725
OF [IA32] overflow flag condition code      149
OF [Y86] overflow flag condition code      258
Off-by-one errors      761—762
On-chip cache      487
one's complement      54
open [Unix] open file      779
Opening/closing files      779—781
open_clientfd [CS:APP] establish connection with server      819
open_listenfd [CS:APP] establish a listening socket      821
Operand forms      137
Operand labels      401
Operand specifiers      137—138
Operand specifiers, immediate      137
Operand specifiers, memory      137—138
Operand specifiers, register      137
Operating System      73 13—18
Operating system kernel      17
Operating system, files      13—14
Operating system, fundamental abstractions      13—14
Operating system, primary purposes of      13
Operating system, processes      13—14
Operating system, virtual memory      13—14
Operations      9
OPl instruction      282 295
Optimization blockers      380 378 395
Optimization blockers, defined      380
Optimization blockers, function calls      381
Optimization blockers, memory aliasing      380
Order, byte      34
Ordered comparison      221
Origin server      830
orl [IA32] or double word      144
OS      see "Operating system"
Ossana, Joe      14
Out-of-bounds memory references      206—211
Out-of-order execution      358 396
Out-of-order processing      399
Overflow      26 63 67 85
Overflow, arithmetic      67
Overflow, buffer      206
Overflow, negative      70
Overflow, positive      70
Overload function      549
P semaphone operation      877 879
P [CS:APP] wrapper for sem_wait      879
P6 microarchitecture      126
PA (physical address)      693
Packets      806
Padding, blocks      738
Page directory      717
Page directory base register (PDBR)      718
Page directory entry (PDE)      717
Page fault exception      358 593
page faults      698 655 698—700
Page faults, counting      701
Page faults, operational view of      706
Page frames      695
page hits      698
Page hits, operational view of      706
Page table base register (PTBR)      704
Page Table Entries (PTEs)      697
Page tables      696 597 696—697
Page tables with a address translation      705
Page tables, address translation with      705
Page tables, multi level      709—711
Page, demand zero      724
Page, physical      695
Page, virtual      694
Paged-in pages      699
Paged-out pages      699
Paging      699
Paging, demand      699
Parallel applications      848
Parallelism, enhancing      415—420
Parallelism, limits to      421—423
Parallelism, loop splitting      415—420
Parallelism, register spilling      420—421
parent process      600 601
parseline [CS.APP] shell helper routine      676 615—616
parse_uri [CS:APP] TINY helper function      838
Pascal, reference parameters      204
Passing parameters to a function      204
Patriot missle      82
Patterson, David      264 358
pause [Unix] suspend until signal arrives      610
Payload      736 804 806
PC (program counter)      8 281
PC selection stage PIPE      337—339
PC update stage      281
PC update stage, SEQ      304
PC-relative jump encodings      753
PCI (Peripheral Component Interconnect)      471
PDBR (Page Directory Base Register)      718
PDE (Page Directory Entry)      777
Peak utilization metric      736
Peer thread      862
Pending bit vector      679
Pending signal      679
Pentium      126—127
Pentium 4      126—127
Pentium II      126
Pentium III      126
Pentium system, address translation      716—721
Pentium system, page directory      717
Pentium system, page directory base register (PDBR)      718
Pentium system, page directory entries (PDEs)      717—720
Pentium system, page table entries (PTEs)      717—720
Pentium system, page table translation      719—720
Pentium system, page tables      717—719
Pentium system, processor package      716
Pentium system, TLB translation      720
Pentium/Linux memory system case study      715—724
Pentium/Linux memory system case study, Linux system      721—724
Pentium/Linux memory system case study, Pentium system      716—721
Pentium/MMX      126
PentiumPro      126—127
Peripheral Component Interconnect (PCI) bus      471
persistent connection      830
Physical address      693
Physical address spaces      694 694—695
Physical addressing      693
Physical page number (PPN)      704
Physical page offset (PPO)      704
Physical pages (PPs)      695
PIC (position-independent code)      571
Picoseconds      309
PID (process ID)      600
PIPE processor      317 358 917—923 see "Pipelining"
PIPE processor, decode stage      339—342
PIPE processor, execute stage      342—343
PIPE processor, fetch stage      337—339
PIPE processor, HCL code      917
PIPE processor, memory stage      342
PIPE processor, memory stage, logic      343
PIPE processor, PC selection stage      337—339
PIPE processor, write-back stage      339—342
Pipeline registers      310—311
Pipeline, bubble      330
Pipeline, diagram      309
Pipelined function units      399—400
Pipelined Y86 implementations      317—358
Pipelined Y86 implementations, branch prediction      322—323
Pipelined Y86 implementations, condition code hazards      327
Pipelined Y86 implementations, control hazards      324
Pipelined Y86 implementations, data hazards      324
Pipelined Y86 implementations, data hazards, avoiding by forwarding      330—335
Pipelined Y86 implementations, data hazards, avoiding by stalling      328—330
Pipelined Y86 implementations, data hazards, load/use      335—337
Pipelined Y86 implementations, exception handling      354—356
Pipelined Y86 implementations, interfacing with the memory system      357—358
Pipelined Y86 implementations, memory hazards      328
Pipelined Y86 implementations, multicycle instructions      356—357
Pipelined Y86 implementations, next PC prediction      322—323
Pipelined Y86 implementations, performance analysis      352—354
Pipelined Y86 implementations, PIPE stage implementations      337—343
Pipelined Y86 implementations, PIPE stage implementations, decode stage      339—342
Pipelined Y86 implementations, PIPE stage implementations, execute stage      342—343
Pipelined Y86 implementations, PIPE stage implementations, fetch stage      337—339
Pipelined Y86 implementations, PIPE stage implementations, memory stage      342—343
Pipelined Y86 implementations, PIPE stage implementations, PC selection stage      337—339
Pipelined Y86 implementations, PIPE stage implementations, write-back stage      339—342
Pipelined Y86 implementations, PIPE-processor      317
Pipelined Y86 implementations, PIPE-processor, abstract view of      318
Pipelined Y86 implementations, PIPE-processor, decode stage      321
Pipelined Y86 implementations, PIPE-processor, hardware structure of      320
Pipelined Y86 implementations, PIPE-processor, pipeline registers, inserting      317—321
Pipelined Y86 implementations, PIPE-processor, rearranging/relabeling signals      321—322
Pipelined Y86 implementations, pipeline control logic      343—352
Pipelined Y86 implementations, pipeline control logic, actions for      348
Pipelined Y86 implementations, pipeline control logic, combinations of control conditions      349—351
Pipelined Y86 implementations, pipeline control logic, control logic implementation      351—352
Pipelined Y86 implementations, pipeline control logic, detecting special control conditions      346—347
Pipelined Y86 implementations, pipeline control logic, detection conditions for      347
Pipelined Y86 implementations, pipeline control logic, load/use hazards      343
Pipelined Y86 implementations, pipeline control logic, mispredicted branches      343—344
Pipelined Y86 implementations, pipeline control logic, pipeline control mechanisms      347—349
Pipelined Y86 implementations, pipeline control logic, processing ret      343
Pipelined Y86 implementations, pipeline control logic, special control cases      344—346
Pipelined Y86 implementations, pipeline hazards      323—328
Pipelined Y86 implementations, pipeline registers      310—311
Pipelined Y86 implementations, program counter hazards      328
Pipelined Y86 implementations, program register hazards      327
Pipelining      309—317
Pipelining of a system with feedback      315—317
Pipelining, computational pipelines      309—311
Pipelining, limitations of      313—315
Pipelining, limitations of, deep pipelining      314—315
Pipelining, limitations of, nonuniform partitioning      313—314
Pipelining, one clock cycle of pipeline operation      312
Pipelining, pipeline operation      311—313
Pipelining, pipelined Y86 implementations      317—358
Pipelining, timing, three-stage      311
Pipes      853
Pisano, Leonardo (Fibonacci)      26
Placement policy      485 739
Platters      464 464—465
PLT (procedure linkage table)      573
Point-to-point connections      815
pointer arithmetic      182—183
Pointer arithmetic, misunderstanding      762
Pointer code, converting array code to      413
Pointer code, converting to      412—415
Pointer code, performance anomaly      414
pointer to function      203
Pointer, creation of      142
Pointer, declaration      33
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! Î ïðîåêòå