Lavoisier S.A.S.
14 rue de Provigny
94236 Cachan cedex

Heures d'ouverture 08h30-12h30/13h30-17h30
Tél.: +33 (0)1 47 40 67 00
Fax: +33 (0)1 47 40 67 02

Url canonique :
Url courte ou permalien :

Computer Architecture (2nd Ed.) Fundamentals and Principles of Computer Design, Second Edition

Langue : Anglais

Auteur :

Not only does almost everyone in the civilized world use a personal computer, smartphone, and/or tablet on a daily basis to communicate with others and access information, but virtually every other modern appliance, vehicle, or other device has one or more computers embedded inside it. One cannot purchase a current-model automobile, for example, without several computers on board to do everything from monitoring exhaust emissions, to operating the anti-lock brakes, to telling the transmission when to shift, and so on. Appliances such as clothes washers and dryers, microwave ovens, refrigerators, etc. are almost all digitally controlled. Gaming consoles like Xbox, PlayStation, and Wii are powerful computer systems with enhanced capabilities for user interaction. Computers are everywhere, even when we don?t see them as such, and it is more important than ever for students who will soon enter the workforce to understand how they work.

This book is completely updated and revised for a one-semester upper level undergraduate course in Computer Architecture, and suitable for use in an undergraduate CS, EE, or CE curriculum at the junior or senior level. Students should have had a course(s) covering introductory topics in digital logic and computer organization. While this is not a text for a programming course, the reader should be familiar with computer programming concepts in at least one language such as C, C++, or Java. Previous courses in operating systems, assembly language, and/or systems programming would be helpful, but are not essential.


  • Chapter 1

Introduction to computer architecture

1.1 What is computer architecture?

1.1.1 Architecture vs. implementation

1.2 Brief history of computer systems

1.2.1 The first generation

1.2.2 The second generation

1.2.3 The third generation

1.2.4 The fourth generation

1.2.5 The fifth generation

1.2.6 Modern computing: the sixth generation

1.3 Types of computer systems

1.3.1 Single processor systems

1.3.2 Parallel processing systems

1.3.3 Special architectures

1.4 Quality of computer systems

1.4.1 Generality and applicability

1.4.2 Ease of use

1.4.3 Expandability

1.4.4 Compatibility

1.4.5 Reliability

1.5 Success and failure of computer architectures and

1.5.1 Quality and the perception of quality

1.5.2 Cost issues

1.5.3 Architectural openness, market timing, and other issues

1.6 Measures of performance

1.6.1 CPU performance

1.6.2 Memory system performance

1.6.3 I/O system performance

1.6.4 Power performance

1.6.5 System benchmarks

1.7 Chapter wrap-up

1.8 Review questions

  • Chapter 2

Computer memory systems

2.1 The memory hierarchy

2.1.1 Characteristics of an ideal memory

2.1.2 Characteristics of real memory devices

2.1.3 Hierarchical memory systems

2.2 Main memory interleaving

2.2.1 High-order interleaving

2.2.2 Low-order interleaving

2.3 Logical organization of computer memory

2.3.1 Random access memories

2.3.2 Sequential access memories

2.3.3 Associative memories

2.4 Cache memory

2.4.1 Locality of reference

2.4.2 Hits, misses, and performance

2.4.3 Mapping strategies

2.4.4 Cache write policies

2.4.5 Cache replacement strategies

2.4.6 Cache initialization

2.5 Memory management and virtual memory

2.5.1 Why virtual memory?

2.5.2 Virtual memory basics

2.5.3 Paged virtual memory

2.5.4 Segmented virtual memory

2.5.5 Segmentation with paging

2.5.6 The MMU and TLB

2.5.7 Cache and virtual memory

2.6 Chapter wrap-up

2.7 Review questions

  • Chapter 3

Basics of the central processing unit

3.1 The instruction set

3.1.1 Machine language instructions

3.1.2 Functional categories of instructions

3.1.3 Instruction addressing modes

3.1.4 Number of operands per instruction

3.1.5 Memory-register vs. load-store architectures

3.1.6 CISC and RISC instruction sets

3.2 The datapath

3.2.1 The register set

3.2.2 Integer arithmetic hardware Addition and subtraction Multiplication and division

3.2.3 Arithmetic with real numbers Why use floating-point numbers? Floating-point representation Floating-point arithmetic hardware

3.3 The control unit

3.3.1 A simple example machine

3.3.2 Hardwired control unit

3.3.3 Microprogrammed control unit

3.4 Chapter wrap-up

3.5 Review questions

  • Chapter 4

Enhancing CPU performance

4.1 Pipelining

4.2 Arithmetic pipelines

4.3 Instruction unit pipelines

4.3.1 Basics of an instruction pipeline

4.3.2 Control transfers and the branch penalty

4.3.3 Branch prediction

4.3.4 Delayed control transfers

4.3.5 Memory accesses: delayed loads and stores

4.3.6 Data dependencies and hazards

4.3.7 Controlling instruction pipelines

4.4 Characteristics of RISC machines

4.5 Enhancing the pipelined CPU

4.5.1 Superpipelined architectures

4.5.2 Superscalar architectures

4.5.3 Very long instruction word (VLIW) architectures

4.5.4 Multithreaded architectures

4.6 Chapter wrap-up

4.7 Review questions

  • Chapter 5

Exceptions, interrupts, and input/output systems

5.1 Exceptions

5.1.1 Hardware-related exceptions Maskable interrupts Nonmaskable interrupts Watchdog timers and reset Nonvectored, vectored, and autovectored

5.1.2 Software-related exceptions

5.2 Input and output device interfaces

5.3 Program-controlled I/O

5.3.1 Memory-mapped I/O

5.3.2 Separate I/O

5.4 Interrupt-driven I/O

5.5 Direct memory access

5.6 Input/output processors

5.7 Real-world I/O example: the universal serial bus

5.8 Chapter wrap-up

5.9 Review questions

  • Chapter 6

Parallel and high-performance systems

6.1 Types of computer systems: Flynn’s taxonomy

6.1.1 Vector and array processors

6.1.2 GPU computing

6.1.3 Multiprocessor systems

6.1.4 Multicomputer systems

6.2 Interconnection networks for parallel systems

6.2.1 Purposes of interconnection networks

6.2.2 Interconnection network terms and concepts Master and slave nodes Circuit switching vs. packet switching Static and dynamic networks Centralized control vs. distributed control Synchronous timing vs. asynchronous timing Node connection degree Communication distance and diameter Cost, performance, expandability, and
fault tolerance

6.2.3 Bus-based interconnections

6.3 Static interconnection networks

6.3.1 Linear and ring topologies

6.3.2 Star networks

6.3.3 Tree and fat tree networks

6.3.4 Nearest-neighbor mesh

6.3.5 Torus and Illiac networks

6.3.6 Hypercube networks

6.3.7 Routing in static networks

6.4 Dynamic interconnection networks

6.4.1 Crossbar switch

6.4.2 Recirculating networks

6.4.3 Multistage networks Blocking, nonblocking, and rearrangeable

6.5 Chapter wrap-up

6.6 Review questions

  • Chapter 7

Special-purpose and future architectures

7.1 Dataflow machines

7.2 Artificial neural networks

7.3 Fuzzy logic architectures

7.4 Quantum computing

7.5 Chapter wrap-up

7.6 Review questions

  • Appendix

Reference and further reading materials with
web links

Chapter 1: Introduction to computer architecture

Chapter 2: Computer memory systems

Chapter 3: Basics of the central processing unit

Chapter 4: Enhancing CPU performance

Chapter 5: Exceptions, interrupts, and input/output systems

Chapter 6: Parallel and high-performance systems

Chapter 7: Special-purpose and future architectures

Computer architecture (general)


Date de parution :

15.6x23.5 cm

Disponible chez l'éditeur (délai d'approvisionnement : 13 jours).

Prix indicatif 161,07 €

Ajouter au panier
En continuant à naviguer, vous autorisez Lavoisier à déposer des cookies à des fins de mesure d'audience. Pour en savoir plus et paramétrer les cookies, rendez-vous sur la page Confidentialité & Sécurité.