Ãëàâíàÿ    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
Ïðåäìåòíûé óêàçàòåëü
Cache memories, miss rate      505
Cache memories, on-chip cache      487
Cache memories, organization      504
Cache memories, performance impact of cache parameters      505—506
Cache memories, set associative caches      497—499
Cache memories, set index bits      489
Cache memories, sets      506
Cache memories, tag bits      489
Cache memories, valid bit      489
Cache memories, write strategy, impact of      506
cache misses      485 485—486
Cache misses, cold misses      485
Cache misses, compulsory misses      485
Cache misses, defined      485
Cache misses, kinds of      485—486
Cache performance, evaluation of      505
Cache pollution and exceptional control flow (ECF)      598
Cache pollution, defined      523 598
Cache set index      713
Cache sets      487—488
Cache tag (CT)      713
Cache, lines vs. sets vs. blocks      506
Cache, symbols      489
Cache-friendly code, writing      507—511
Cached virtual pages      695
Caches, data      398
Caches, direct-mapped      490—497
Caches, fully associative      499—503
Caches, instruction      504
Caches, L1      487
Caches, L2      12 487
Caches, L3      487
Caches, no-write-allocate      503—504
Caches, proxy      830
Caches, set associative      497—499
Caches, unified      504
Caches, write-allocate      503—504
Caches, write-back      503—504
Caching      484 667—671
call [IA32] procedure call      172
call [Y86] procedure call      260 288—289
Callee save registers      173—174
Caller save registers      173—174
Caller/callee      170 173
calloc [C Stdlib] heap storage allocation      189
Cancel, mispredicted branch handling      346
Capacity misses      486
Capacity of cache      489
Capacity of disk      466
CAS (column access strobe)      459
Case expressions, in HCL      276 907
Cast      36
Catching signals      618 621 624
central processing unit (CPU)      8—9 471
Central processing unit (CPU), IA32      136
Cerf, Vincent      816
CERN      827
CF [IA32] carry flag condition code      149
CGI (Common Gateway Interface)      831
CGI (Common Gateway Interface), environment variables      832
CGI (Common Gateway Interface), programs      831—832
CGI (Common Gateway Interface), programs, passing arguments in HTTP, POST requests to      832—833
CGI (Common Gateway Interface), scripts      832
Chappell, Geoff      211
char * [C] ptr to char      135
char [C] character type      33 51 135
check_clients [CS:APP] service ready clients      857 860
child processes      601
Child processes, reaping      605—611
Child processes, reaping, checking the status of a reaped child      607
CI (Cache Set Index)      713
Circuit retiming      308
Circuit, combinational      272
Circuit, sequential      279
CISC instruction set      263—264
CISC instruction set, RISC vs. CISC controversy      265
Clarke, Dave      816
Classes, size      752
Client      19 802
Client-server programming model      802—803
Client-server transactions      802—803
Client-server transactions, database transactions vs.      803
Clienterror [CS:APP] tiny helper function      837
CLK.TCK      660
Clock ticks      660
clock [C Stdlib] process timing function      660 682
Clock, variable rate      684
Clocked registers      279
clock_t [Unix] clock data type      660
close [Unix] close file      781 779
closing files      779
cltd [IA32] convert double word to quad word      147 148
cmovll [IA32] conditional move when less      428
cmpb [IA32] compare bytes      150
cmpl [IA32] compare double words      150
cmpw [IA32] compare words      150
CO (cache block offset)      713
coalesce [CS:APP] merge free blocks      749 750
Coalescing      737 741
Coalescing, deferred      741
Coalescing, immediate      741
Cocke, John      263
Code in Y86 instruction specifier      260
Code motion      388
Code profilers      379 437
Code segment      564
Code, body      142
Code, error-correcting      44
Code, motion      388
Code, representing      41—42
Code, segment      564
Cohen, Danny      35
Cold cache      485
Cold misses      485
Cold War      816
Column access strobe (CAS)      459
Combinational circuits      272 212—274
Combinational logic      309
Commercial disk, anatomy of      475
Common Gateway Interface (CGI)      see "CGI"
Common Object File Format (COFF)      543
Compilation system      4—5
compile time      540
Compiler      5 128—129
Compiler drivers      541—542
compiler optimization      379—382
Compiler optimization, capabilities/limitations of      379—382
Compiler optimization, optimization blockers, defined      380
Compiler optimization, optimization blockers, function calls      381
Compiler optimization, optimization blockers, memory aliasing      380
Compiler phase      4
Compulsory misses      485
Computation graph      401 405
Computational pipelines      309—311
Computer networks      803—807
Computer performance, scaling of      655
Computer system events, time scale of      653—654
Computer systems, defined      2
Computer systems, hardware organization      7—9
Computer systems, hardware organization, buses      7—8
Computer systems, hardware organization, input/output (I/0) devices      8
Computer systems, hardware organization, main memory      8
Computer systems, hardware organization, processor      8—9
Computer systems, layered view of      14
Computer systems, networks      18—20
Computer systems, tour of      1—24
Computer systems, view of time, vs. applications' view of time      655
Concurrency      848
Concurrent process      75 595
Concurrent programming      849 847—903
Concurrent programming with I/O multiplexing      853—861
Concurrent programming with processes, pros and cons of processes      851—853
Concurrent programming, concurrency issues      885—894
Concurrent programming, concurrency issues, deadlocks      891—893
Concurrent programming, concurrency issues, races      890—891
Concurrent programming, concurrency issues, reentrancy      888—889
Concurrent programming, concurrency issues, thread safety      885—888
Concurrent programming, concurrency issues, using existing library functions in threaded programs      889—890
Concurrent programming, concurrent server based on threads      866—868
Concurrent programming, mapping variables to memory      870
Concurrent programming, prethreading      882—885
Concurrent programming, process graphs      874—876
Concurrent programming, shared variables      870—871
Concurrent programming, shared variables in threaded programs      868—871
Concurrent programming, synchronizing threads with semaphores      871—882
Concurrent programming, threads memory model      869—870
Concurrent programs, approaches for building      849
Concurrent servers      848 824
Condition code registers      129
Condition codes      149 149—150
Condition codes, accessing      150—152
Condition codes, IA32      149
Condition codes, Y86      258 260
condition variables      882
Conditional branches, translating      156—158
Conditional move      427
Conflict miss      486
connect [Unix] establish connection with server      818 818—819
Connected descriptor      821
Connections      808 815
connections, full-duplex      815
connections, Internet      808
Connections, persistent      830
Connections, point-to-point      815
Connections, prematurely closed, dealing with      841
Conservative garbage collectors      756
Conservative Mark&Sweep garbage collecting for C programs      758—759
Constant word, in Y86 instruction      261
Content      826—827
context      75 594 597
Context switches      75 597—598
context switching      15 665—667
Control      148—170
Control dependencies      316 324
control flow      586
Control flow, logical      594
Control hazard      324
Control transfer      586
Control, condition codes      149—150
Control, condition codes, accessing      150—152
Control, conditional branches, translating      156—158
Control, jump instructions/encodings      152—156
Control, loops      158—166
Control, loops, do-while loops      158—160
Control, loops, for loops      164—166
Control, loops, while loops      161—163
Control, switch statements      166—170
Control, transferring      172
Controller      8
Conventional DRAMs      458 458—459
Converting to pointer code      412—415
Coprocessor      211
Copy-on-write      726
Copy-on-write, private      726
Core      618
Core, private      726
CPE      see "Cycles per element (CPE)"
cpfile [CS:APP] text file copy      786
CPI (cycles per instruction)      352
CPU      see "Central processing unit (CPU)"
Critical section      875
csapp.c [CS:APP] wrapper function      600 925 932—948
csapp.h [CS:APP] header file      600 608 929—932
csh [Unix] Unix shell program      614
CT (cache tag)      713
Ctrl-C      617 621 644
Ctrl-Z      621 644
Current block      741
Cycle counters, branch prediction      667—671
Cycle counters, caching      667—671
Cycle counters, context switching, effects of      665—667
Cycle counters, defined      663
Cycle counters, K-best measurement scheme      671—680
Cycle timers      652
Cycles per element (CPE)      382 652
Cycles per element (CPE), net CPE, measuring      411
Cycles per instruction (CPI)      352
cylinders      466
d-cache (data cache)      504
Data cache      398 504
Data dependencies      315 324
Data forwarding, avoiding data hazards by      330—335
Data hazard      324
Data movement instructions      139
Data movement, example      141—143
Data movement, instructions      138—141
Data references, position-independent code (PIC)      572
Data segment      564
data sizes      32—34
Data, forwarding      330
Datagrams      808
Deadlock      891 891—892
Deadlock region      892
Deadlock state      892
Decimal notation      81
Decimal, converting between hexadecimal and      31—32
decl [IA32] decrement double word      144
Declaration of a pointer      33—34
Decode stage      281
Decode stage and SEQ      291
Decode stage, PIPE      339—342
Decode stage, SEQ      300—302
Deep pipelining      314—315
Default action on signal receipt      623
Deferred coalescing      741
Delivering signals      617
demand paging      699
Demand-zero pages      724
Demangling      549
Denormalized numbers      84 84—85
Dependency, control      316 324
Dependency, data      315 324
Dereferencing, pointers      38—40 141
Descriptor      779
Descriptor sets      854
Descriptor table      791
Destination host      806
Detaching threads      865 865—866
Diagram, pipeline      309
Dijkstra, Edsger      877
DIMM (Dual Inline Memory Module)      459
Direct jump      152
Direct Memory Access (DMA)      10 474 803
Direct-mapped caches      490 490—497
Direct-mapped caches, conflict misses in      494
Direct-mapped caches, example of      492—497
Direct-mapped caches, line matching in      491
Direct-mapped caches, line replacement on misses in      492
Direct-mapped caches, set selection in      490—491
Direct-mapped caches, thrashing in      495
Direct-mapped caches, word selection in      491—492
Directives, assembler      266
Directory file      790
Dirty bit in cache      503
Dirty bit in virtual memory      718
dirty page      718
Disassembler      131 36 55 131—132
Disassembler, OBJDUMP      131
Disk      464—476
Disk access      471—476
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! Î ïðîåêòå