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

 * /Introduction/

Microprocessor Basics

 * /Basic Theory/
 * /Microprocessors/
 * /Computer Architecture/
 * /Instruction Set Architectures/
 * /Memory/
 * /Control and Datapath/
 * /Performance/
 * /Assembly Language/
 * /Design Steps/

Microprocessor Components

 * /Basic Components/
 * /Program Counter/
 * /Instruction Decoder/
 * /Register File/
 * /Memory Unit/
 * /ALU/
 * /FPU/
 * /Control Unit/

ALU Design

 * /Add and Subtract Blocks/
 * /Shift and Rotate Blocks/
 * /Multiply and Divide Blocks/
 * /ALU Flags/

Design Paradigms

 * /Single Cycle Processors/
 * /Multi Cycle Processors/
 * /Pipelined Processors/
 * /Superscalar Processors/
 * /VLIW Processors/
 * /Vector Processors/
 * /Multicore Processors/

Execution Problems

 * /Exceptions/
 * /Interrupts/
 * /Hazards/
 * /Embedded System/

Benchmarking and Optimization

 * Performance Metrics
 * Benchmarking
 * Optimizations
 * /Code Density/

Parallel Processing

 * /Multi-Core Systems/
 * /Memory-Level Parallelism/ (MLP)
 * /Out Of Order Execution/ (OOOE)

Support Software

 * Assembler
 * Simulator
 * Interpreter
 * Compiler
 * /OS/ (including real-time operating systems)

Microprocessor Production

 * /FPGA/
 * /Wire Wrap/
 * /Photolithography/
 * Sockets and Interfacing

Advanced Topics

 * /Microcodes/
 * /Register Renaming/
 * /Cache/
 * /Virtual Memory/
 * /Power Dissipation/
 * /GPU/

Resources and Licensing

 * /Resources/
 * /Licensing/