Daniel Page1848822553, 9781848822559
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 http://www.cs.bris.ac.uk/home/page/teaching/pica.html
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.
Table of contents :
Front Matter….Pages I-XXII
Front Matter….Pages 1-1
Mathematical Preliminaries….Pages 3-42
Basics of Digital Logic….Pages 43-95
Hardware Design Using Verilog….Pages 97-139
Front Matter….Pages 141-141
A Historical and Functional Perspective….Pages 143-167
Basic Processor Design….Pages 169-212
Measuring Performance….Pages 213-221
Arithmetic and Logic….Pages 223-267
Memory and Storage….Pages 269-330
Advanced Processor Design….Pages 331-393
Front Matter….Pages 395-395
Linkers and Assemblers….Pages 397-450
Compilers….Pages 451-493
Operating Systems….Pages 495-534
Efficient Programming….Pages 535-557
Front Matter….Pages 559-559
SPIM: A MIPS32 Simulator….Pages 561-628
Back Matter….Pages 529-641
Reviews
There are no reviews yet.