书籍详情

计算机系统结构(英文版第2版)

计算机系统结构(英文版第2版)

作者:(英)威廉斯

出版社:机械工业出版社

出版时间:2007-01-01

ISBN:9787111204176

定价:¥69.00

购买这本书可以去
内容简介
  本书采用自底向上的方式,依次介绍计算机系统结构的基本概念和基本内容,首先是数字逻辑电路和计算机硬件,接下来是运行于硬件之上的软件层,最后讲述通信和操作系统领域的基础知识。另外,还包含对ARM和安腾(Itanium)处理器的介绍以及数据通信延伸领域的最新知识。本书紧密联系实际,注重动手实践,利用学生感兴趣和亲身体验过的技术(如因特网、图形用户界面、移动通信等)来提高读者学习的积极性。贯穿全书,在分析系统的性能时注意将软件硬件结合起来讨论,练习题充分地展示出硬件和软件之间这种相互影响、相互依赖的基本关系。本书适合作为高等院校计算科学及相关专业计算机系统结构的导论性教材。本书的主要特色● 使用实际的处理器(奔腾处理器),使学生能够在家中使用自己的机器完成绝大部分的练习作业。● 内容组织合理,材料取自于作者自己从事教学和实验工作的真实需求。● 介绍数据传输和通信相关的思想和概念,为联网和网络通信相关的课程打下基础。● 每章结束后的练习均经过精心挑选,书末附有答案及注释。● 书中用到许多现代的、商业化的实例,能够有效地激发读者的学习兴趣,并将理论与实际结合起来。
作者简介
  作者:Rob WilliamsRob Williams是位于英国布里斯托的西英格兰大学计算机系统技术学院院长。他在实时系统领域造诣颇深,同时还是GWE/GNE、Marconi Avionics和Nexos Office System的微处理器系统工程师。...
目录
Preface.  
Preface to the first edition  
Recommended lab sessions  
Part 1 Basic functions and facilities of a computer  
1 Introduction: the hardware-software interface  
1.1  Computer systems - the importance of networking  
1.2  Hardware and software - mutual dependence  
1.3  Programming your way into hardware - VHDL, a language for electroni engineers  
1.4  Systems administration - we all need to know  
1.5  Voice, image and data – technological convergence  
1.6  Windowing interfaces - WIMPs  
1.7  The global Internet -connecting all the networks  
1.8  Using the PC – a case study; more reasons to study CSA  
2 The von Neumann Inheritance  
2.1  Base 2 - the convenience of binary - 10110011100011110000  
2.2  Stored program control - general-purpose machines  
2.3  Instruction codes - machine action repertoire  
2.4  Translation -compilers and assemblers  
2.5  Linking - bringing it all together  
2.6  Interpreters - executing high-level commands  
2.7  Code sharing and reuse - let's not write it all again!  
2.8  Data codes - numeric and character  
2.9  The operating system - Unix and Windows  
2.10 Client-server computing - the way of the Net  
2.11 Reconfigurable hardware - an alternative to fetch-execute  
3 Functional units and the fetch-execute cycle  
3.1  The naming of parts - CPU, memory, IO units  
3.2  The CPU fetch-execute cycle - high-speed tedium  
3.3  System bus - synchronous or asynchronous?  
3.4  System clock - instruction cycle timing  
3.5  Pre-fetching - early efforts to speed things up  
3.6  Memory length - address width  
3.7  Endian-ness - Microsoft vs. Unix, or Intel vs. Motorola?  
3.8  Simple input-output - parallel ports  
4 Building computers from logic: the control unit  
4.1  Electronic Lego and logic- the advantage of modular units  
4.2  Basic logic gates - truth tables for AND, OR, XOR and NOT  
4.3  Truth tables and multiplexers - a simple but effective design tool  
4.4  Programmable logic - reconfigurable logic chips  
4.5  Traffic light controllers - impossible to avoid!  
4.6  Circuit implementation from truth tables - some practical tips  
4.7  Decoder logic - essential for control units and memories  
4.8  CPU control unit - the 'brain'  
4.9  Washing machine controllers - a simple CU  
4.10 RISC vs. CISC decoding - in search of faster computers  
5 Building computers from logic : the ALU  
5.1  De Morgan's equivalen es - logical interchangeability  
5.2  Binary addition - half adders, full adders, parallel adders  
5.3  Binary subtraction - using two's omplement integer format  
5.4  Binary shifting - barrel shifter  
5.5  Integer multiplication - shifting and adding  
5.6  Floating-point numbers - from very, very large to very, very small  
6 Building computers from logic: the memory  
6.1  Data storage - one bit at a time  
6.2  Memory devices - memory modules for computers  
6.3  Static memory - a lot of fast flip-flops  
6.4  Dynamic memory - a touch of analogue amid the digital  
6.5  DRAM refreshing - something else to do  
6.6  Page acess memories - EDO and SDRAM  
6.7  Memory mapping - addressing and decoding  
6.8  IO port mapping - integration vs. differentiation  
7 The Intel Pentium CPU  
7.1  The Pentium - a high-performance microprocessor  
7.2  CPU registers - temporary store for data and address variables  
7.3  Instruction set - introduction to the basic Pentium set  
7.4  Structure of instructions - how the CU sees it  
7.5  CPU status flags - very short-term memory  
7.6  Addressing modes - building effective addresses  
7.7  Execution pipelines - the RISC speedup technique  
7.8  Pentium 4 - extensions  
7.9  Microsoft Developer Studio - using the debugger  
8 Subroutines  
8.1  The purpose of subroutines - saving space and effort  
8.2  Return address - introducing the stack  
8.3  Using subroutines - HLL programming  
8.4  The stack - essential to most operations  
8.5  Passing parameters - localizing a subroutine  
8.6  Stack frame - all the local variables  
8.7  Supporting HLLs - special CPU facilities for dealing with subroutines  
8.8  Interrupt service routines - hardware-invoked subroutines  
8.9  Accessing operating system routines - late binding  
9 Simple input and output  
9.1  Basic IO methods - polling, interrupt and DMA  
9.2  Peripheral interfa e registers - the programmer's viewpoint  
9.3  Polling - single- character IO  
9.4  Interrupt processing - service on demand  
9.5  Critical data protection - how to communicate with interrupts  
9.6  Buffered lO - interrupt device drivers  
9.7  Direct memory acess (DMA) - autonomous hardware  
9.8  Single- haracter IO - screen and keyboard routines  
10 Serial Connections  
10.1 Serial transmission - data, signals and timing  
10.2 Data format - encoding techniques  
10.3 Timing synchronization - frequency and phase  
10.4 Data codes and error control - parity, checksums, Hamming codes and CRCs  
10.5 Flow control - hardware and software methods  
10.6 The 16550 UART- RS232..  
10.7 Serial mice - mechanical or optial  
10.8 Serial ports - practical tips, avoiding the frustration  
10.9 USB- Universal Serial Bus  
10.10 Modems - modulating carrier waves  
11 Parallel connections  
11.1  Parallel interfaces - better performance  
11.2 Centronics - more than a printer port but less than a bus  
11.3 SCSI - the Small Computer Systems Interface  
11.4 IDE- Intelligent Drive Electronics  
11.5 AT/ISA - a computer standards sucess story  
11.6 PCI - Peripheral Component Interconnection  
11.7 Plug-and-Play - automatic configuration  
11.8 PCMCIA - Personal Computer Memory Card International Association  
12 The memory hierarchy  
12.1 Levels of performance - you get what you pay for  
12.2 Localization of acess - exploiting repetition  
12.3 Instruction and data caches - matching memory to CPU speed  
12.4 Cache mapping - direct or associative  
12.5 Virtual memory- segmentation and demand paging  
12.6 Address formulation - when, where and how much  
12.7 Hard disk usage - parameters, acess scheduling and data arrangement  
12.8 Performance improvement- blocking, caching, defragmentation, scheduling, RAM disk  
12.9 Optical discs - CD-DA, CD-ROM, CD-RW and DVDs  
12.10 DVD - Digital Versatile Disc  
12.11 MPEG - video and audio compression  
12.12 Flash sticks - the new floppy disk  
Part 2 Networking and increased complexity  
13 The programmer's viewpoint  
13.1 Different viewpoints - different needs  
13.2 Application user- office packages  
13.3 Systems administration - software installation and maintenance  
13.4 HLL programmer - working with Java, C++, BASIC or C#  
13.5 Systems programming - assembler and C  
13.6 Hardware engineer- design and hardware maintenance  
13.7 Layered virtual machines – hierarchical description  
13.8 Assemblers- simple translators  
13.9 Compilers - translation and more  
14 Local area networks  
14.1 Reconne ting the users - email, printers and database  
14.2 PC network interface - cabling and interface card  
14.3 Ethernet - Carrier Sense, Multiple Access/Collision Dete t  
14.4 LAN addressing - logical and physical schemes  
14.5 Host names - another layer of translation  
14.6 Layering and en apsulation - TCP/IP software stack  
14.7 Networked file systems - sharing files across a network  
14.8 Interconnecting networks - gateways  
14.9 Socket programming- an introduction to WinSock  
15 Wide area networks  
15.1 The Internet - origins  
15.2 TCP/IP - the essential protocols  
15.3 TCP - handling errors and flow control  
15.4 IP routing - how packets find their way  
15.5 DNS- Distributed Name Database  
15.6 World Wide Web - the start  
15.7 Browsing the Web - Nets ape Navigator  
15.8 HTTP - another protocol  
15.9 Search engines- Google  
15.10 Open Systems Interconnect - ancidealized scheme  
16 Other networks  
16.1 The PSTN- telephones  
16.2 Cellnets - providers of mobile communications  
16.3 ATM - Asynchronous Transfer Mode  
16.4 Messaging - radio paging and packet radio networks  
16.5 ISDN - totally digital  
16.6 DSL - Digital Subscriber Line  
16.7 Cable television - facilities for data transmission  
17 Introduction to operating systems  
17.1  Histori origins - development of basic functions  
17.2 Unix - a landmark operating system  
17.3 Outline structure - modularization  
17.4 Process management- initialization and dispatching  
17.5 Scheduling decisions- time-slicing, demand preemption or ooperative  
17.6 Task communication - pipes and redirection  
17.7 Exclusion and synchronization - semaphores and signals  
17.8 Memory allocation - mallo () and free()  
17.9 User interface - GUIs and shells  
17.10 Input-output management - device handlers  
18 Windows XP  
18.1 Windows GUIs - responding to a need  
18.2 Win32 - the preferred user APl  
18.3 Processes and threads- multitasking  
18.4 Memory management- virtual memory implementation  
18.5 Windows Registry- centralized administrative database  
18.6 NTFS - Windows NT File System  
18.7 File acess - ACLs, permissions and security  
18.8 Sharing software components - OLE, DDE and COM  
18.9 Windows NT as a mainframe - Winframe terminal server  
19 Filing systems  
19.1 Data storage - file systems and databases  
19.2 The PC file allo ationctable - FAT  
19.3 Unix inodes - they do it differently  
19.4 Microsoft NTFS - complexity and security  
19.5 RAID configuration - more security for the disk subsystem  
19.6 File security - access controls  
19.7 CD portable file system - multi-session contents lists  
20 Visual output  
20.1 Computers and graphics - capture, storage, processing and redisplay  
20.2 PC graphics adapter cards - graphics coprocessors  
20.3 Laser printers - this is mechatronics!  
20.4 Adobe PostScript - a page description language  
20.5 WIMPs- remodelling the computer  
20.6 Win32 - graphical APl and more  
20.7 The X Window system - enabling distributed processing  
20.8 MMX technology- assisting graphi calcalculations  
21 RISC processors: ARM and SPARC  
21.1 Justifying RISC - in reased instruction throughput  
21.2 Pipeline techniques - more parallel operations  
21.3 Supers alar methods - parallel parallelism  
21.4 Register files - many more CPU registers  
21.5 Branch prediction methods - maintaining the pipelines  
21.6 Compiler support - an essential part of RISC  
21.7 The ARM 32 bit CPU - origins  
21.8 StrongARM processor - a 32 bit microcontroller  
21.9 The HP iPAQ - a StrongARM PDA  
21.10 Puppeteer - a StrongARM SBC  
21.11 Sun SPARC - scalar processor archite turecas RISC  
21.12 Embedded systems - ross-development techniques  
22 VLIW processors: the EPIC Itanium  
22.1 Itanium 64 bit processor - introduction  
22.2 Itanium assembler - increasing the ontrol of the CPU  
22.3 Run-time debugging - gvd/gdb  
22.4 Future processor design - debate  
23 Parallel processing  
23.1 Parallel processing-the basis  
23.2 Instru tion-level parallelism (lLP) - pipelining  
23.3 Superscalar - multiple execution units  
23.4 Symmetric, shared memory multiprocessing (SMP) - the future?  
23.5 Single-chip multiprocessors - the IBM Cell  
23.6 Clusters and grids - application-level parallelism  
Appendix: MS Visual Studio 8, Express Edition  
Glossary  
Answers to end-of-chapter questions  
References  
Index...  


猜您喜欢

读书导航