This book lays out the concepts necessary to understand how a computer works. For reasons of clarity, the authors have deliberately chosen examples that apply to machines from all eras, without having to water down the contents of the book. This choice helps to show how techniques, concepts and performances have evolved since the first computers. The book is divided into five parts. The first four, which are of increasing difficulty, are the core of the book: “Elements of a Basic Architecture”, “Programming Model and Operation”, “Memory Hierarchy”, “Parallelism and Performance Enhancement”. The final part provides hints and solutions to the exercises in the book as well as appendices. The reader may approach each part independently based on their prior knowledge and goals.
Part 1. Elements of a Basic Architecture
1. Introduction.
2. The Basic Modules.
3. The Representation of Information.
Part 2. Programming Model and Operation
4. Instructions.
5. The Processor.
6. Inputs and Outputs.
Part 3. Memory Hierarchy
7. Memory.
8. Caches.
9. Virtual Memory.
Part 4. Parallelism and Performance Enhancement
10. Pipeline Architectures.
11. Example of an Architecture.
12. Caches in a Multiprocessor Environment.
13. Superscalar Architectures.
Part 5. Appendices
14. Hints and Solutions.
15. Programming Models.
Gérard Blanchet, Telecom ParisTech, France.
Bertrand Dupouy, Telecom ParisTech, France.