Главная    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
Предметный указатель
File position      779
file sharing      791—793
File table      597 791
Files      18 778 13—14
Files, anonymous      724
Files, register      260
Files, regular      724
Firmware      463
First fit      739 739—740
First-level domain names      811
fistl [IA32] FP convert and store integer      216
fistpl [IA32] FP convert and store integer with pop      216
fisubl [IA32] FP load and convert integer and subtract      218
Fixed size arrays      186—188
Flags      65
Flash memory      463
Flat addressing      128
fld [IA32] FP load from register      216
fldl [IA32] FP load double precision      216
fldl [IA32] FP load one      218
fldt [IA32] FP load extended precision      216
fldz [IA32] FP load zero      218
float [C] single-precision      92 8 33 39 92—93 135
Floating point      80—98
Floating point, denormalized value      84
Floating point, double precision      84
Floating point, example numbers      85—89
Floating point, extended precision      93 104
Floating point, floating point in C      92—98
Floating point, floating-point operations      91—92
Floating point, fractional binary numbers      81—83
Floating point, IEEE floating-point      80
Floating point, IEEE floating-point, representation      83—85
Floating point, normalized value      84
Floating point, number representation      80
Floating point, registers in IA32      211
Floating point, rounding      89 80 89—91
Floating point, single precision      83
Floating point, status word      221
Floating-point arithmetic      26 27
Floating-point arithmetic instructions      217—220
Floating-point code      211—223
Floating-point code, floating-point arithmetic instructions      217—220
Floating-point code, floating-point data movement and conversion operations      215—217
Floating-point code, floating-point registers      211—212
Floating-point code, stack evaluation of expressions      212—215
Floating-point code, testing/comparing floating-point values      221—223
Floating-point code, using floating point in procedures      220—221
Floating-point comparison instructions      221—223
Floating-point data movement and conversion operations      215—217
Floating-point load instructions      216
Floating-point numbers, forms of      135
Floating-point register file      129
floating-point registers      211—212
Floating-point status word      221—222
Floating-point store instructions      216
Floating-Point Unit (FPU)      211
flow of control      586
Flushing instructions      398
fmul [IA32] FP multiply      218
fnstw [IA32] copy FP status word      222
Footer      742
fopen [C Stdlib] open file      795
for [C] general loop statement      164—166
Forbidden region      877
Foreground process      616
fork [Unix] create child process      601
fork [Unix] create child process, using to run programs      614—617
fork.c [CS:APP] fork example      602
format string      37—38
Formatted disk capacity      471
Formatted printed      37
Forwarding, avoiding data hazards by      330—335
Forwarding, data      330
Forwarding, load      364
Forwarding, priority of different signal sources      341
FPM DRAM (Fast Page Mode DRAM)      461
fprintf [C Stdlib] formatted output      37
Fractional binary representation      81 83
Fragmentation      736 736—737
Fragmentation, external      736 736—737
Fragmentation, false      741
Fragmentation, internal      736
Frame pointer      170
frames      804
Frames, stack      170
fread [C Stdlib] formatted input      795
Free blocks, coalescing      741
Free blocks, splitting      740
Free heap blocks, referencing data in      763
Free list, implicit      739
Free software, notion of      5
Free virtual memory      730
free [C Stdlib] free heap storage      16 731—734 746 755 763
fscale [IA32] FP scale by power of two      238
fseek [Unix] change file position      796—797
fsin [IA32] FP sine      218
fsqrt [IA32] FP square root      218
fst [IA32] FP store to register      216
fstat [Unix] fetch file metadata      789
fstl [IA32] FP store double precision      216
fstp [IA32] FP store to register with pop      216
fstpl [IA32] FP store double precision with pop      216
fstps [IA32] FP store single precision with pop      216
fstpt [IA32] FP store extended precision with pop      216
fsts [IA32] FP store single precision      216
fstt [IA32] FP store extended precision      216
fsub [IA32] FP subtract      218
fsubl [IA32] FP load double precision and subtract      218
fsubp [IA32] FP subtract with pop      218
fsubr [IA32] FP reverse subtract      218
fsubs [IA32] FP load single precision and subtract      218
fsubt [IA32] FP load extended precision and subtract      218
fucom [IA32] FP unordered compare      222
fucoml [IA32] FP unordered compare double precision      222
fucomp [IA32] FP unordered compare with pop      222
fucompl [IA32] FP unordered compare double precision with pop      222
fucompp [IA32] FP unordered compare with two pops      222
fucomps [IA32] FP unordered compare single precision with pop      222
fucoms [IA32] FP unordered compare single precision      222
full-duplex connections      815
Fully associative caches      499 499—503
Fully associative caches, line matching in      500—501
Fully associative caches, set selection in      500
Fully associative caches, word selection in      500—501
function calls      381
Function calls, position-independent code (PIC)      572—574
function pointers      203
functional units      397—398
Functional units, Floating-Point Add unit      397
Functional units, Floating-Point, Multiplication/Division unit      398
Functional units, General Integer unit      397
Functional units, Integer/Branch unit      397
Functional units, Load unit      398
Functional units, performance      399—400
Functional units, Store unit      398
Functions in Y86 instruction specifier      260
Functions, explicitly reentrant      888
Functions, implicitly reentrant      888
Functions, pointer to      203
Functions, reentrant      888
Functions, thread-safe      885
Functions, thread-unsafe      886
fwrite [C Stdlib] write file      795
fxch [IA32] FP exchange registers      217
Gaps (between disk sectors)      465
Garbage      755
Garbage collection      189 731 755 755—759
Garbage collection, defined      755
Garbage collectors      731 755 756—757 765
Garbage collectors, basics      756—757
Garbage collectors, conservative      756
Garbage collectors, conservative Mark&Sweep garbage collecting for C programs      758—759
Garbage collectors, Mark&Sweep garbage collectors      757—758
Gas      130 135
GCC compiler      5 128
GCC compiler, -c option      131
GCC compiler, -S option      130 134
gdb debugger      204 131 204—205
GDB debugger, example commands      205
general protection fault      593
Generic organization, cache memories      488—490
getc [C Stdlib] read character      795
getenv [C Stdlib] read environment variable      612
gethostbyaddr [Unix] get DNS host entry      812
gethostbyname [Unix] get DNS host entry      812
gethostbyname_ts, [CS:APP] thread-safe non-reentrant wrapper for gethostbyname      887
getpgrp [Unix] get process group ID      619
getpid [Unix] get process ID      600
getppid [Unix] get parent process ID      600
gets [C Stdlib] read string      760—761
gettimeofday [Unix] time-of-day library function      680
get_counter [CS:APP] read cycle counter      665 668
get_timer [CS:APP] read Unix timer      681
gigabytes (GB)      468
Gigahertz (GHz)      382
Global IP Internet      807—816
Global IP Internet, datagrams      808
Global IP Internet, defined      807
Global IP Internet, Internet connections      808 815—816
Global IP Internet, Internet domain names      808 811—815
Global IP Internet, IP addresses      808 809—811
Global IP Internet, sockets interface      808 816—826
Global IP Internet, TCP/IP protocol      808
Global IP Internet, tiny Web server      834—841
Global IP Internet, UDP (Unreliable Datagram Protocol)      808
Global IP Internet, Web servers      826—834
Global offset table (GOT)      572
Global symbols      545
Global variables      870
GNU binutils package      574
GNU project      5
GNU Web page      21
GOPS (giga-operations per second)      310
GOT (Global Offset Table)      572
goto code      157
goto [C] control transfer statement      156
GPROF Unix profiler      438
Gradual underflow      84
Granularity      861
Graphics card (adapter)      472
halt [Y86] halt instruction execution      260 281 298 329
Handler      588
Handling a signal      624
Hardware cache      487
Hardware control language (HCL)      271 271—280
Hardware control language (HCL), HCL Boolean expressions      272—274
Hardware control language (HCL), HCL integer expressions      274—278
Hardware description language (HDL)      271
Hardware drawing conventions      293—294
Hardware organization      7—9
Hardware organization, buses      7—8
Hardware organization, input/output (I/O) devices      8
Hardware organization, main memory      8
Hardware organization, processor      8—9
Hardware registers      279
Hardware units      291
Hardware vs. software exceptions      588
hazards      324
Hazards in pipelined processor      324
HCL (hardware control language)      277 271—280
HCL descriptions, constant values used in      299
HCL Reference Manual      905—910
HCL Reference Manual, expressions and blocks      906—908
HCL Reference Manual, HCL example      908—910
HCL Reference Manual, quoted text      906
HCL Reference Manual, signal declarations      906
HCL2C      905
Head crash      469
Header, blocks      738 804
Heap      76 730 16—17 564 735
Heap nodes      756
Heap, allocated block      730
Heap, allocation with malloc or calloc      189
Heap, block      730
Heap, free block      730
Heap, heap storage, allocation with new      189
Heap, heap storage, freeing by garbage collection      189
Heap, heap storage, freeing with free function      189
Heap, organizing with implicit free lists      738
hello [CS:APP] hello source program      2—3 7 15 19
hello [CS:APP] hello source program, running      9—11
hello.c [CS:APP] hello intermediate file      3 6—7
hello.i text file      5
hello.o [CS:APP] hello object file      5
Hennessy, John      264 358
Heterogeneous data structures      191—198
Heterogeneous data structures, structures      191—194
Heterogeneous data structures, unions      194—198
Hexadecimal notation      28—32
Hexadecimal, converting between decimal and      28 31—32
Hit rate      505
Hit time      505
Hoinky      794
Holding a mutex      878
Host      803
Host entry structures      812
hostent [Unix] DNS host entry structure      812
HOSTINFO [CS:APP] get DNS host entry      813
HOSTNAME, [Unix] get host information      809
HTML (Hypertext Markup Language)      826
htonl [Unix] convert host-to-network long      809
htons [Unix] convert host-to-network short      809
HTTP (Hypertext Transfer Protocol)      826
HTTP (Hypertext Transfer Protocol), DELETE method      829
HTTP (Hypertext Transfer Protocol), GET method      829
HTTP (Hypertext Transfer Protocol), HEAD method      829
HTTP (Hypertext Transfer Protocol), OPTIONS method      829
HTTP (Hypertext Transfer Protocol), POST method      829 831—832
HTTP (Hypertext Transfer Protocol), PUT method      829
HTTP (Hypertext Transfer Protocol), request      829
HTTP (Hypertext Transfer Protocol), request header      829
HTTP (Hypertext Transfer Protocol), request line      829
HTTP (Hypertext Transfer Protocol), response      830
HTTP (Hypertext Transfer Protocol), response body      830
HTTP (Hypertext Transfer Protocol), response header      830
HTTP (Hypertext Transfer Protocol), response line      830
HTTP (Hypertext Transfer Protocol), status code      830
HTTP (Hypertext Transfer Protocol), status message      830
HTTP (Hypertext Transfer Protocol), TRACE method      829
HTTP POST requests, passing arguments in      831—834
HTTP requests      829—830
HTTP responses      830—831
HTTP status codes      831
HTTP transactions      828—831
Hub      804
Hyperlinks      826
h_errno [Unix] DNS error variable      926
i-cache      504
I/O bridge      463 463—464
I/O bus      471 471—472
I/O device      8
I/O multiplexing      849 853
I/O multiplexing, concurrent event-driven server based on      856—860
I/O multiplexing, concurrent event-driven server based on, add_client function      857 859
I/O multiplexing, concurrent event-driven server based on, check_clients function      857 860
I/O multiplexing, concurrent event-driven server based on, init_pool function      857 859
I/O multiplexing, concurrent programming with      849
I/O multiplexing, concurrent programs      853—861
I/O port      472
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! О проекте