<P>The first Computer Architecture text to recognize that computers are now predinantly used in a networking environment, fully updated to include new technologies and with an all new chapter on Distributed Computing.</P>
Computer Systems Architecture: A Networking Approach (With CD-ROM)
β Scribed by Williams, Rob
- Publisher
- Prentice Hall; Pearson Education Limited
- Year
- 2006
- Tongue
- English
- Leaves
- 753
- Edition
- 2nd ed
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
Presenting the computer systems architecture subject, this title starts with digital logic and computer hardware, moves through the layers of software, and introduces the field of networking and operating systems. It adopts a practical approach, drawing upon areas of student interest and experience.
β¦ Table of Contents
Cover......Page 1
Computer Systems Architecture A Networking Approach......Page 2
Contents......Page 6
Preface to the first edition......Page 16
Preface......Page 14
Recommended lab sessions......Page 22
Part 1 Basic functions and facilities of a computer......Page 24
Introduction: the hardwareβ software interface......Page 26
Computer systems β the importance of networking......Page 27
Hardware and software β mutual dependence......Page 28
Programming your way into hardware β VHDL, a language for electronic engineers......Page 29
Voice, image and data β technological convergence......Page 32
Windowing interfaces β WIMPs......Page 34
The global Internet β connecting all the networks......Page 36
Using the PC β a case study; more reasons to study CSA......Page 39
The von Neumann Inheritance......Page 46
Stored program control β general-purpose machines......Page 47
Instruction codes β machine action repertoire......Page 49
Linking β bringing it all together......Page 51
Interpreters β executing high-level commands......Page 53
Code sharing and reuse β letβs not write it all again!......Page 54
Data codes β numeric and character......Page 55
The operating system β Unix and Windows......Page 59
Clientβserver computing β the way of the Net......Page 63
Reconfigurable hardware β an alternative to fetchβexecute......Page 65
Functional units and the fetchβ execute cycle......Page 70
The naming of parts β CPU, memory, IO units......Page 71
The CPU fetchβexecute cycle β high-speed tedium......Page 75
System bus β synchronous or asynchronous?......Page 79
System clock β instruction cycle timing......Page 82
Pre-fetching β early efforts to speed things up......Page 84
Memory length β address width......Page 86
Endian-ness β Microsoft vs. Unix, or Intel vs. Motorola?......Page 88
Simple inputβoutput β parallel ports......Page 90
Building computers from logic: the control unit......Page 96
Electronic Lego and logic β the advantage of modular units......Page 97
Basic logic gates β truth tables for AND, OR, XOR and NOT......Page 98
Truth tables and multiplexers β a simple but effective design tool......Page 100
Programmable logic β reconfigurable logic chips......Page 102
Traffic light controllers β impossible to avoid!......Page 105
Circuit implementation from truth tables β some practical tips......Page 106
Decoder logic β essential for control units and memories......Page 108
CPU control unit β the βbrainβ......Page 110
Washing machine controllers β a simple CU......Page 111
RISC vs. CISC decoding β in search of faster computers......Page 114
Building computers from logic: the ALU......Page 120
Binary addition β half adders, full adders, parallel adders......Page 121
Binary subtraction β using twoβs complement integer format......Page 124
Binary shifting β barrel shifter......Page 126
Integer multiplication β shifting and adding......Page 128
Floating-point numbers β from very, very large to very, very small......Page 131
Building computers from logic: the memory......Page 140
Data storage β one bit at a time......Page 141
Memory devices β memory modules for computers......Page 143
Static memory β a lot of fast flip-flops......Page 144
Dynamic memory β a touch of analogue amid the digital......Page 145
Page access memories β EDO and SDRAM......Page 147
Memory mapping β addressing and decoding......Page 150
IO port mapping β integration vs. differentiation......Page 154
The Intel Pentium CPU......Page 160
The Pentium β a high-performance microprocessor......Page 161
CPU registers β temporary store for data and address variables......Page 166
Instruction set β introduction to the basic Pentium set......Page 171
Structure of instructions β how the CU sees it......Page 172
CPU status flags β very short-term memory......Page 174
Addressing modes β building effective addresses......Page 176
Execution pipelines β the RISC speedup technique......Page 178
Pentium 4 β extensions......Page 180
Microsoft Developer Studio β using the debugger......Page 181
Subroutines......Page 190
The purpose of subroutines β saving space and effort......Page 191
Return address β introducing the stack......Page 192
Using subroutines β HLL programming......Page 193
The stack β essential to most operations......Page 195
Passing parameters β localizing a subroutine......Page 196
Stack frame β all the local variables......Page 199
Interrupt service routines β hardware-invoked subroutines......Page 202
Accessing operating system routines β late binding......Page 203
Simple input and output......Page 208
Basic IO methods β polling, interrupt and DMA......Page 209
Peripheral interface registers β the programmerβs viewpoint......Page 210
Polling β single-character IO......Page 214
Interrupt processing β service on demand......Page 220
Critical data protection β how to communicate with interrupts......Page 228
Buffered IO β interrupt device drivers......Page 232
Direct memory access (DMA) β autonomous hardware......Page 233
Single-character IO β screen and keyboard routines......Page 235
Serial connections......Page 242
Serial transmission β data, signals and timing......Page 243
Data format β encoding techniques......Page 244
Timing synchronization β frequency and phase......Page 247
Data codes and error control β parity, checksums, Hamming codes and CRCs......Page 250
Flow control β hardware and software methods......Page 258
The 16550 UART β RS232......Page 260
Serial mice β mechanical or optical......Page 267
USB β Universal Serial Bus......Page 269
Modems β modulating carrier waves......Page 275
Parallel connections......Page 286
Centronics β more than a printer port but less than a bus......Page 287
SCSI β the Small Computer Systems Interface......Page 290
IDE β Intelligent Drive Electronics......Page 294
AT/ISA β a computer standards success story......Page 295
PCI β Peripheral Component Interconnection......Page 298
Plug-and-Play β automatic configuration......Page 301
PCMCIA β Personal Computer Memory Card International Association......Page 303
The memory hierarchy......Page 308
Levels of performance β you get what you pay for......Page 309
Localization of access β exploiting repetition......Page 311
Instruction and data caches β matching memory to CPU speed......Page 316
Cache mapping β direct or associative......Page 318
Virtual memory β segmentation and demand paging......Page 322
Address formulation β when, where and how much......Page 327
Hard disk usage β parameters, access scheduling and data arrangement......Page 329
Performance improvement β blocking, caching, defragmentation, scheduling, RAM disk......Page 333
Optical discs β CD-DA, CD-ROM, CD-RW and DVDs......Page 335
MPEG β video and audio compression......Page 339
Flash sticks β the new floppy disk......Page 346
Part 2 Networking and increased complexity......Page 350
The programmerβs viewpoint......Page 352
Different viewpoints β different needs......Page 353
Application user β office packages......Page 354
Systems administration β software installation and maintenance......Page 356
HLL programmer β working with Java, C++, BASIC or C#......Page 360
Systems programming β assembler and C......Page 363
Hardware engineer β design and hardware maintenance......Page 367
Layered virtual machines β hierarchical description......Page 368
Assemblers β simple translators......Page 369
Compilers β translation and more......Page 370
Local area networks......Page 376
Reconnecting the users β email, printers and database......Page 377
PC network interface β cabling and interface card......Page 382
Ethernet β Carrier Sense, Multiple Access/Collision Detect......Page 386
LAN addressing β logical and physical schemes......Page 390
Host names β another layer of translation......Page 393
Layering and encapsulation β TCP/IP software stack......Page 394
Networked file systems β sharing files across a network......Page 395
Socket programming β an introduction to WinSock......Page 397
Wide area networks......Page 406
The Internet β origins......Page 407
TCP/IP β the essential protocols......Page 409
TCP β handling errors and flow control......Page 413
IP routing β how packets find their way......Page 415
DNS β Distributed Name Database......Page 421
World Wide Web β the start......Page 424
Browsing the Web β Netscape Navigator......Page 426
HTTP β another protocol......Page 430
Search engines β Google......Page 432
Open Systems Interconnect β an idealized scheme......Page 435
Other networks......Page 442
The PSTN β telephones......Page 443
Cellnets β providers of mobile communications......Page 449
ATM β Asynchronous Transfer Mode......Page 458
Messaging β radio paging and packet radio networks......Page 463
ISDN β totally digital......Page 465
DSL β Digital Subscriber Line......Page 469
Cable television β facilities for data transmission......Page 470
Introduction to operating systems......Page 478
Historic origins β development of basic functions......Page 479
Unix β a landmark operating system......Page 482
Outline structure β modularization......Page 485
Process management β initialization and dispatching......Page 486
Scheduling decisions β time-slicing, demand preemption or cooperative......Page 492
Task communication β pipes and redirection......Page 494
Exclusion and synchronization β semaphores and signals......Page 496
Memory allocation β malloc( ) and free( )......Page 502
User interface β GUIs and shells......Page 504
Inputβoutput management β device handlers......Page 505
Windows XP......Page 514
Windows GUIs β responding to a need......Page 515
Win32 β the preferred user API......Page 517
Processes and threads β multitasking......Page 518
Windows Registry β centralized administrative database......Page 519
NTFS β Windows NT File System......Page 521
File access β ACLs, permissions and security......Page 522
Windows XP as a mainframe β Winframe terminal server......Page 525
Filing systems......Page 530
Data storage β file systems and databases......Page 531
The PC file allocation table β the FAT......Page 538
Unix inodes β they do it differently......Page 541
Microsoft NTFS β complexity and security......Page 546
RAID configuration β more security for the disk subsystem......Page 548
File security β access controls......Page 549
CD portable file system β multi-session contents lists......Page 551
Visual output......Page 556
Computers and graphics β capture, storage, processing and redisplay......Page 557
PC graphics adapter cards β graphics coprocessors......Page 564
Laser printers β this is mechatronics!......Page 570
Adobe PostScript β a page description language......Page 572
WIMPs β remodelling the computer......Page 577
Win32 β graphical API and more......Page 578
The X Window system β enabling distributed processing......Page 580
MMX technology β assisting graphical calculations......Page 581
RISC processors: ARM and SPARC......Page 586
Justifying RISC β increased instruction throughput......Page 587
Pipeline techniques β more parallel operations......Page 592
Superscalar methods β parallel parallelism......Page 594
Register files β many more CPU registers......Page 595
Branch prediction methods β maintaining the pipelines......Page 597
The ARM 32 bit CPU β origins......Page 599
StrongARM processor β a 32 bit microcontroller......Page 608
The HP iPAQ β a StrongARM PDA......Page 611
Puppeteer β a StrongARM SBC......Page 613
Sun SPARC β scalar processor architecture as RISC......Page 615
Embedded systems β cross-development techniques......Page 617
VLIW processors: The EPIC Itanium......Page 624
Itanium 64 bit processor β introduction......Page 625
Itanium assembler β increasing the control of the CPU......Page 632
Run-time debugging β gvd/gdb......Page 636
Future processor design β debate......Page 638
Parallel processing......Page 642
Parallel processing β the basis......Page 643
Symmetric, shared memory multiprocessing (SMP) β the future?......Page 646
Single-chip multiprocessors β the IBM Cell......Page 649
Clusters and grids β application-level parallelism......Page 652
Appendix: MS Visual Studio 8, Express Edition......Page 658
Glossary......Page 670
Answers to end-of chapter questions......Page 684
References......Page 736
Index......Page 740
π SIMILAR VOLUMES
This best-selling and classic book teaches you the key principles of computer networks with examples drawn from the real world of network and protocol design. Using the Internet as the primary example, the authors explain various protocols and networking technologies. Their systems-oriented approach
Foundation -- Direct link networks -- Packet switching -- Internetworking -- End-to-end protocols -- Congestion control and resource allocation -- End-to-end data -- Network security -- Applications