The versatile offspring of an extended family of multiple chip companies, today's MIPS chips are everywhere. They power everything from videogames, network routers, laser printers, set-top boxes, and high-performance workstations. Dominic Sweetman's See MIPS Run brings together this extraordinary proliferation of form and functionality, offering embedded systems programmers and designers unique, eminently practical insights into MIPS. It covers how MIPS started, the principles at the root of the RISC revolution, the full details of the MIPS instruction set, and how these details together constitute a full operating system ready to be put to work in hundreds of ways.
This second edition is not only a thorough update of the first edition; it is also a marriage of the best-known RISC architecture -- MIPS -- with the best-known open-source OS -- Linux. The first part of the book begins with MIPS design principles and then describes the MIPS instruction set and programmer resources. It uses the MIPS32 standard as a baseline (the 1st edition used R3000) from which to compare all other versions of the architecture, and assumes that MIPS64 is the main option. The second part is a significant change from the first edition. It provides concrete examples of operating system low-level code by using Linux as the example operating system. It describes how Linux is built on the foundations the MIPS hardware provides and summarizes the Linux application environment, describing the libraries, kernel device-drivers and CPU-specific code. It then digs deep into application code and library support, protection and memory management, interrupts in the Linux kernel and multiprocessor Linux.
Sweetman has revised his best-selling MIPS bible for MIPS programmers, embedded systems designers, developers and programmers, who need an in-depth understanding of the MIPS architecture and specific guidance for writing software for MIPS-based systems, which are increasingly Linux-based.
- Completely new material offers the best explanation available on how Linux runs on real hardware.
- Provides a complete, updated and easy-to-use guide to the MIPS instruction set using the MIPS32 standard as the baseline architecture with MIPS64 as the main option.
- Retains the same engaging writing style that made the first edition so readable, reflecting the author's 20+ years experience in designing systems based on the MIPS architecture.
Table of Contents
- Chapter 1: RISCs and MIPS
- Chapter 2: MIPS Architecture
- Chapter 3: Coprocessor 0: MIPS Processor Control
- Chapter 4: How Caches work on MIPS
- Chapter 5: Exceptions, Interrupts, and Initialization
- Chapter 6: Low-level Memory Management and the TLB
- Chapter 7: Floating-Point Support
- Chapter 8: Complete Guide to the MIPS Instruction Set
- Chapter 9: Reading MIPS Assembler Language
- Chapter 10: Porting Software to MIPS
- Chapter 11: MIPS Software Standards (ABIs)
- Chapter 12: Debugging MIPS - debug and profiling features
- Chapter 13: GNU/Linux from Eight Miles High
- Chapter 14: How hardware and software work together
- Chapter 15: MIPS-specific issues in the Linux kernel
- Chapter 16: Linux Application Code, PIC and Libraries
- Appendix A: MIPS Multithreading
- Appendix B: Other Optional extensions to the MIPS instruction set
- MIPS Glossary
About the Author Dominic Sweetman is a member of the last generation of programmers who could reasonably hope to understand computer systems from bottom to top. His rich career began with low-level coding, progressing from OS development to LANs to distributed systems. Dominic is an experienced designer and developer of hardware systems, CPUs, networks, and operating systems. He was a founder member of Whitechapel Workstations, and in 1988 founded Algorithmics, a MIPS consulting firm of which he is the director.