Microprocessor Design
This book serves as an introduction to the field of microprocessor design and implementation. It is intended for students in computer science or computer or electrical engineering who are in the third or fourth years of an undergraduate degree. While the focus of this book will be on microprocessors, many of the concepts will apply to other ASIC design tasks as well.
The reader should have prior knowledge in digital circuits and possibly some background in semiconductors although it isn't strictly necessary. The reader also should know at least one assembly language. Knowledge of higher-level languages such as C or C++ may be useful as well, but are not required. Sections about soft-core design will require prior knowledge of programmable logic, and a prior knowledge of at least one HDL (hardware description language).
Table of Contents
Microprocessor Basics
- Basic Theory
- Microprocessors
- Computer Architecture
- Instruction Set Architectures
- Memory
- Control and Datapath
- Performance
- Assembly Language
- Design Steps
Microprocessor Components
ALU Design
Design Paradigms
- Single Cycle Processors
- Multi Cycle Processors
- Pipelined Processors
- Superscalar Processors
- VLIW Processors
- Vector Processors
- Multicore Processors
Execution Problems
Benchmarking and Optimization
Parallel Processing
Support Software
- Assembler
- Simulator
- Interpreter
- Compiler
- OS (including real-time operating systems)
Microprocessor Production
Advanced Topics
Resources and Licensing