Digital Design and Computer Architecture - 2nd Edition - ISBN: 9780123944245, 9780123978165

Digital Design and Computer Architecture

2nd Edition

Authors: David Harris Sarah Harris
Paperback ISBN: 9780123944245
eBook ISBN: 9780123978165
Imprint: Morgan Kaufmann
Published Date: 24th July 2012
Page Count: 712
Tax/VAT will be calculated at check-out
96.32
64.95
54.99
89.95
Unavailable
Compatible Not compatible
VitalSource PC, Mac, iPhone & iPad Amazon Kindle eReader
ePub & PDF Apple & PC desktop. Mobile devices (Apple & Android) Amazon Kindle eReader
Mobi Amazon Kindle eReader Anything else

Institutional Access


Description

In Praise of Digital Design

About the Authors

Dedication

Preface

Features

Online Supplements

How to Use the Software Tools in A Course

Labs

Bugs

Acknowledgments

1. From Zero to One

1.1 The Game Plan

1.2 The Art of Managing Complexity

1.3 The Digital Abstraction

1.4 Number Systems

1.5 Logic Gates

1.6 Beneath the Digital Abstraction

1.7 CMOS Transistors

1.8 Power Consumption

1.9 Summary and a Look Ahead

2. Combinational Logic Design

2.1 Introduction

2.2 Boolean Equations

2.3 Boolean Algebra

2.4 From Logic to Gates

2.5 Multilevel Combinational Logic

2.6 X’s and Z’s, Oh My

2.7 Karnaugh Maps

2.8 Combinational Building Blocks

2.9 Timing

2.10 Summary

3. Sequential Logic Design

3.1 Introduction

3.2 Latches and Flip-Flops

3.3 Synchronous Logic Design

3.4 Finite State Machines

3.5 Timing of Sequential Logic

3.6 Parallelism

3.7 Summary

4. Hardware Description Languages

4.1 Introduction

4.2 Combinational Logic

4.3 Structural Modeling

4.4 Sequential Logic

4.5 More Combinational Logic

4.6 Finite State Machines

4.7 Data Types

4.8 Parameterized Modules

4.9 Testbenches

4.10 Summary

5. Digital Building Blocks

5.1 Introduction

5.2 Arithmetic Circuits

5.3 Number Systems

5.4 Sequential Building Blocks

5.5 Memory Arrays

5.6 Logic Arrays

5.7 Summary

6. Architecture

6.1 Introduction

6.2 Assembly Language

6.3 Machine Language

6.4 Programming

6.5 Addressing Modes

6.6 Lights, Camera, Action: Compiling, Assembling, and Loading

6.7 Odds and Ends

6.8 Real-World Perspective: x86 Architecture

6.9 Summary

7. Microarchitecture: With contributions from Matthew Watkins

7.1 Introduction

7.2 Performance Analysis

7.3 Single-Cycle Processor

7.4 Multicycle Processor

7.5 Pipelined Processor

7.6 HDL Representation

7.7 Exceptions

7.8 Advanced Microarchitecture

7.9 Real-World Perspective: x86 Microarchitecture

7.10 Summary

8. Memory and I/O Systems

8.1 Introduction

8.2 Memory System Performance Analysis

8.3 Caches

8.4 Virtual Memory

8.5 I/O Introduction

8.6 Embedded I/O Systems

8.7 PC I/O Systems

8.8 Real-World Perspective: x86 Memory and I/O Systems*

8.9 Summary

Epilogue

A: Digital System Implementation

A.1 Introduction

A.2 74xx Logic

A.3 Programmable Logic

A.4 Application-Specific Integrated Circuits

A.5 Data sheets

A.6 Logic Families

A.7 Packaging and Assembly

A.8 Transmission Lines

A.9 Economics

B: MIPS Instructions

C: C Programming

C.1 Introduction

Summary

C.2 Welcome to C

Summary

C.3 Compilation

Summary

C.4 Variables

Summary

C.5 Operators

C.6 Function Calls

C.7 Control-Flow Statements

Summary

C.8 More Data Types

Summary

C.9 Standard Libraries

C.10 Compiler and Command Line Options

C.11 Common Mistakes

Further Reading

Index

Key Features

Updated based on instructor feedback with more exercises and new examples of parallel and advanced architectures, practical I/O applications, embedded systems, and heterogeneous computing

  • Presents digital system design examples in both VHDL and SystemVerilog (updated for the second edition from Verilog), shown side-by-side to compare and contrast their strengths
  • Includes a new chapter on C programming to provide necessary prerequisites and strengthen the connection between programming and processor architecture
  • Companion Web site includes links to Xilinx CAD tools for FPGA design, lecture slides, laboratory projects, and solutions to exercises.

Instructors can also register at textbooks.elsevier.com for access to:

  • Solutions to all exercises (PDF)
  • Lab materials with solutions
  • HDL for textbook examples and exercise solutions
  • Lecture slides (PPT)
  • Sample exams\
  • Sample course syllabus
  • Figures from the text (JPG, PPT)

Readership

Students taking a course that combines digital logic and computer architecture; professional computer engineers

Table of Contents

In Praise of Digital Design

About the Authors

Dedication

Preface

Features

Online Supplements

How to Use the Software Tools in A Course

Labs

Bugs

Acknowledgments

1. From Zero to One

1.1 The Game Plan

1.2 The Art of Managing Complexity

1.3 The Digital Abstraction

1.4 Number Systems

1.5 Logic Gates

1.6 Beneath the Digital Abstraction

1.7 CMOS Transistors

1.8 Power Consumption

1.9 Summary and a Look Ahead

2. Combinational Logic Design

2.1 Introduction

2.2 Boolean Equations

2.3 Boolean Algebra

2.4 From Logic to Gates

2.5 Multilevel Combinational Logic

2.6 X’s and Z’s, Oh My

2.7 Karnaugh Maps

2.8 Combinational Building Blocks

2.9 Timing

2.10 Summary

3. Sequential Logic Design

3.1 Introduction

3.2 Latches and Flip-Flops

3.3 Synchronous Logic Design

3.4 Finite State Machines

3.5 Timing of Sequential Logic

3.6 Parallelism

3.7 Summary

4. Hardware Description Languages

4.1 Introduction

4.2 Combinational Logic

4.3 Structural Modeling

4.4 Sequential Logic

4.5 More Combinational Logic

4.6 Finite State Machines

4.7 Data Types

4.8 Parameterized Modules

4.9 Testbenches

4.10 Summary

5. Digital Building Blocks

5.1 Introduction

5.2 Arithmetic Circuits

5.3 Number Systems

5.4 Sequential Building Blocks

5.5 Memory Arrays

5.6 Logic Arrays

5.7 Summary

6. Architecture

6.1 Introduction

6.2 Assembly Language

6.3 Machine Language

6.4 Programming

6.5 Addressing Modes

6.6 Lights, Camera, Action: Compiling, Assembling, and Loading

6.7 Odds and Ends

6.8 Real-World Perspective: x86 Architecture

6.9 Summary

7. Microarchitecture: With contributions from Matthew Watkins

7.1 Introduction

7.2 Performance Analysis

7.3 Single-Cycle Processor

7.4 Multicycle Processor

7.5 Pipelined Processor

7.6 HDL Representation

7.7 Exceptions

7.8 Advanced Microarchitecture

7.9 Real-World Perspective: x86 Microarchitecture

7.10 Summary

8. Memory and I/O Systems

8.1 Introduction

8.2 Memory System Performance Analysis

8.3 Caches

8.4 Virtual Memory

8.5 I/O Introduction

8.6 Embedded I/O Systems

8.7 PC I/O Systems

8.8 Real-World Perspective: x86 Memory and I/O Systems*

8.9 Summary

Epilogue

A: Digital System Implementation

A.1 Introduction

A.2 74xx Logic

A.3 Programmable Logic

A.4 Application-Specific Integrated Circuits

A.5 Data sheets

A.6 Logic Families

A.7 Packaging and Assembly

A.8 Transmission Lines

A.9 Economics

B: MIPS Instructions

C: C Programming

C.1 Introduction

Summary

C.2 Welcome to C

Summary

C.3 Compilation

Summary

C.4 Variables

Summary

C.5 Operators

C.6 Function Calls

C.7 Control-Flow Statements

Summary

C.8 More Data Types

Summary

C.9 Standard Libraries

C.10 Compiler and Command Line Options

C.11 Common Mistakes

Further Reading

Index

Details

No. of pages:
712
Language:
English
Copyright:
© Morgan Kaufmann 2013
Published:
Imprint:
Morgan Kaufmann
eBook ISBN:
9780123978165
Paperback ISBN:
9780123944245

About the Author

David Harris

David Money Harris is an associate professor of engineering at Harvey Mudd College. He received his Ph.D. in electrical engineering from Stanford University and his M.Eng. in electrical engineering and computer science from MIT. Before attending Stanford, he worked at Intel as a logic and circuit designer on the Itanium and Pentium II processors. Since then, he has consulted at Sun Microsystems, Hewlett-Packard, Evans & Sutherland, and other design companies.

David’s passions include teaching, building chips, and exploring the outdoors. When he is not at work, he can usually be found hiking, mountaineering, or rock climbing. He particularly enjoys hiking with his son, Abraham, who was born at the start of this book project. David holds about a dozen patents and is the author of three other textbooks on chip design, as well as two guidebooks to the Southern California mountains.

Affiliations and Expertise

Associate Professor of Engineering, Harvey Mudd College, Claremont, CA, USA

Sarah Harris

Sarah L. Harris is an Assistant Professor of Engineering at Harvey Mudd College. She received her Ph.D. and M.S. in Electrical Engineering from Stanford University. Before attending Stanford, she received a B.S. in Electrical and Computer Engineering from Brigham Young University. Sarah has also worked with Hewlett-Packard, the San Diego Supercomputer Center, Nvidia, and Microsoft Research in Beijing.

Sarah loves teaching, exploring and developing new technologies, traveling, wind surfing, rock climbing, and playing the guitar. Her recent exploits include researching sketching interfaces for digital circuit design, acting as a science correspondent for a National Public Radio affiliate, and learning how to kite surf. She speaks four languages and looks forward to learning more in the near future.

Affiliations and Expertise

Assistant Professor of Engineering, Harvey Mudd College, Claremont, CA, USA

Reviews

"…intended as a course text for college or university level students, this book would serve just as well for anyone who just wants to learn about computer architecture or design… it stands as one of the best introductions to the subject and seems ideal for anyone wanting to learn digital design with no prior knowledge. The time investment would be handsomely rewarded and the range of topics covered, as well as the clear explanation of trickier issues, is extremely impressive." --BCS.org, April 2013

"Harris and Harris have taken the popular pedagogy from Computer Organization and Design down to the next level of refinement, showing in detail how to build a MIPS microprocessor in both Verilog and VHDL. Given the exciting opportunity that students have to run large digital designs on modern FGPAs, the approach the authors take in this book is both informative and enlightening." --David A. Patterson, University of California at Berkeley, Co-author of Computer Organization and Design

"Developed at Harvey Mudd College, this undergraduate textbook introduces combinatorial logic and sequential logic circuit design, describes the computer's microarchitecture that connects hardware with software, and explains how to build a MIPS microprocessor." --Reference and Research Book News, February 2013