Digital Design and Computer Architecture, ARM Edition

Digital Design and Computer Architecture, ARM Edition

ARM Edition

1st Edition - April 9, 2015
  • Authors: Sarah Harris, David Harris
  • Paperback ISBN: 9780128000564
  • eBook ISBN: 9780128009116

Purchase options

Purchase options
Available
DRM-free (Mobi, EPub, PDF)
Sales tax will be calculated at check-out

Institutional Subscription

Free Global Shipping
No minimum order

Description

Digital Design and Computer Architecture: ARM Edition covers the fundamentals of digital logic design and reinforces logic concepts through the design of an ARM microprocessor. Combining an engaging and humorous writing style with an updated and hands-on approach to digital design, this book takes the reader from the fundamentals of digital logic to the actual design of an ARM processor. By the end of this book, readers will be able to build their own microprocessor and will have a top-to-bottom understanding of how it works. Beginning with digital logic gates and progressing to the design of combinational and sequential circuits, this book uses these fundamental building blocks as the basis for designing an ARM processor. SystemVerilog and VHDL are integrated throughout the text in examples illustrating the methods and techniques for CAD-based circuit design. The companion website includes a chapter on I/O systems with practical examples that show how to use the Raspberry Pi computer to communicate with peripheral devices such as LCDs, Bluetooth radios, and motors. This book will be a valuable resource for students taking a course that combines digital logic and computer architecture or students taking a two-quarter sequence in digital logic and computer organization/architecture.

Key Features

  • Covers the fundamentals of digital logic design and reinforces logic concepts through the design of an ARM microprocessor.
  • Features side-by-side examples of the two most prominent Hardware Description Languages (HDLs)—SystemVerilog and VHDL—which illustrate and compare the ways each can be used in the design of digital systems.
  • Includes examples throughout the text that enhance the reader’s understanding and retention of key concepts and techniques.
  • The Companion website includes a chapter on I/O systems with practical examples that show how to use the Raspberry Pi computer to communicate with peripheral devices such as LCDs, Bluetooth radios, and motors.
  • The Companion website also includes appendices covering practical digital design issues and C programming as well as links to CAD tools, lecture slides, laboratory projects, and solutions to exercises.

Readership

Students taking a course that combines digital logic and computer architecture or students taking a two-quarter sequence in digital logic and computer organization/architecture

Table of Contents

  • 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
    • Exercises
    • Interview Questions

    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
    • Exercises
    • Interview Questions

    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
    • Exercises
    • Interview Questions

    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
    • Exercises
    • SystemVerilog Exercises
    • VHDL Exercises
    • Interview Questions

    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
    • Exercises
    • Interview Questions

    6. Architecture

    • 6.1 Introduction
    • 6.2 Assembly Language
    • 6.3 Programming
    • 6.4 Machine Language
    • 6.5 Lights, Camera, Action: Compiling, Assembling, and Loading*
    • 6.6 Odds and Ends*
    • 6.7 Evolution of ARM Architecture
    • 6.8 Another Perspective: x86 Architecture
    • 6.9 Summary
    • Exercises
    • Interview Questions

    7. Microarchitecture

    • 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 Advanced Microarchitecture*
    • 7.8 Real-World Perspective: Evolution of ARM Microarchitecture*
    • 7.9 Summary
    • Exercises
    • Interview Questions

    8. Memory Systems

    • 8.1 Introduction
    • 8.2 Memory System Performance Analysis
    • 8.3 Caches
    • 8.4 Virtual Memory
    • 8.5 Summary
    • Epilogue
    • Exercises
    • Interview Questions

    9. I/O Systems

    • 9.1 Introduction

    e9. I/O Systems

    • 9.1 Introduction
    • 9.2 Memory-Mapped I/O
    • 9.3 Embedded I/O Systems
    • 9.4 Other Microcontroller Peripherals
    • 9.5 Bus Interfaces
    • 9.6 PC I/O Systems
    • 9.7 Summary

    A. Digital System Implementation

    • A.1 Introduction

    eA. 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. ARM Instructions

    • B.1 Data-processing Instructions
    • B.2 Memory Instructions
    • B.3 Branch Instructions
    • B.4 Miscellaneous Instructions
    • B.5 Condition Flags

    C. C Programming

    • C.1 Introduction

    eC. 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

Product details

  • No. of pages: 584
  • Language: English
  • Copyright: © Morgan Kaufmann 2015
  • Published: April 9, 2015
  • Imprint: Morgan Kaufmann
  • Paperback ISBN: 9780128000564
  • eBook ISBN: 9780128009116

About the Authors

Sarah Harris

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

David Harris

David Harris
David Harris is the Harvey S. Mudd Professor of Engineering Design 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, Broadcom, and other design companies. David holds more than a dozen patents and is the author of three other textbooks on chip design, as well as many Southern California hiking guidebooks. When he is not working, he enjoys hiking, flying, and making things with his three sons.

Affiliations and Expertise

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

Latest reviews

(Total rating for all reviews)

  • KlausGosger Wed Dec 18 2019

    Revie on Digital Design and Computer Architecture

    This book meets exactly what I do in my Course in Germany with my students, so instead of writing my own Skript i can refer to this book - very happy with it. Good explained, nice style, it is apparently written for students.