Practical Introduction to Computer Architecture

  • Daniel Page

Part of the Texts in Computer Science book series (TCS)

Table of contents

  1. Front Matter
    Pages I-XXII
  2. Tools and Techniques

    1. Front Matter
      Pages 1-1
    2. Daniel Page
      Pages 3-42
    3. Daniel Page
      Pages 43-95
    4. Daniel Page
      Pages 97-139
  3. Processor Design

    1. Front Matter
      Pages 141-141
    2. Daniel Page
      Pages 143-167
    3. Daniel Page
      Pages 169-212
    4. Daniel Page
      Pages 213-221
    5. Daniel Page
      Pages 223-267
    6. Daniel Page
      Pages 269-330
    7. Daniel Page
      Pages 331-393
  4. The Hardware/Software Interface

    1. Front Matter
      Pages 395-395
    2. Daniel Page
      Pages 397-450
    3. Daniel Page
      Pages 451-493
    4. Daniel Page
      Pages 495-534
    5. Daniel Page
      Pages 535-557
  5. Appendices

    1. Front Matter
      Pages 559-559
    2. Daniel Page
      Pages 561-628
  6. Back Matter
    Pages 529-641

About this book


Computer architecture, which underpins computer science, is a topic in which "getting things done" is paramount: The ability to understand trade-offs before selecting between and implementing well-considered design options is often as important as the study of those options at a more theoretical level.

This easy-to-follow A Practical Introduction to Computer Architecture blends traditional teaching approaches with the use of mathematics, together with the use of a hardware description language (Verilog) and a concrete processor (MIPS32) as vehicles for "hands-on" modelling and experimenting with digital logic and processor design. This unique approach encourages readers to derive their own conclusions via experimentation, enabling them to discover for themselves the fundamental and exciting topics of computer architecture.

The book is divided into three parts, covering each of the three levels of abstraction: the digital logic layer, the instruction set and micro-architecture layer, and the hardware/software interface. The first part deals with the basic tools and techniques which underpin the rest of the book, whereas the second part deals with the broad topic of processor design and implementation. The final part bridges the gap between hardware and software by examining the programming tools and operating-system concepts that support the development and execution of programs.

Topics and features:

• Includes a wide-ranging introductory chapter, familiarising the reader with both the subject and the book’s contents

• Outlines basic methods for evaluating processors, with a focus on performance

• Investigates advanced topics in processor design, such as superscalar and vector processors

• Presents a detailed description of a development tool-chain

• Provides a stand-alone tutorial on using SPIM, a MIPS32 simulator

• Focuses on aspects of compilers which are closely tied to the processor, covering register allocation, instruction selection and scheduling

• Explores real implementations of concepts such as scheduling and interrupt handling

• Examines the concept of efficient programming

• Concludes every chapter with a set of example problems, and contains an appendix that discusses solutions

• Supplies additional supportive material, such as example source code and electronic lecture slides, at

This practical, reader-friendly textbook has been written with undergraduates in mind, and is suitable for self-study. The book can also be used by postgraduate students as a supportive reference for use in combination with more specialised textbooks.

Dr. Dan Page is a lecturer at the University of Bristol, affiliated with both the Languages and Architecture Group and the Cryptography and Information Security Group. He was one of the founders of Identum (now part of Trend Micro), which is involved in delivering cryptographic expertise and products to industrial customers.


Assembler Hardware Interface Verilog compiler computer computer architecture modeling operating system processor storage

Authors and affiliations

  • Daniel Page
    • 1
  1. 1.Dept. Computer ScienceUniversity of BristolBristolUnited Kingdom

Bibliographic information

  • DOI
  • Copyright Information Springer London 2009
  • Publisher Name Springer, London
  • eBook Packages Computer Science
  • Print ISBN 978-1-84882-255-9
  • Online ISBN 978-1-84882-256-6
  • Series Print ISSN 1868-0941
  • Buy this book on publisher's site