Meta Processing

MIPS32 Architecture

Imagination's MIPS32® architecture is a highly performance-efficient, industry standard architecture that is at the heart of billions of electronic products, from tiny microcontrollers to high-end networking equipment. It provides a robust instruction set, scalability from 32-bits to 64-bits, a broad-spectrum of software development tools and widespread support from numerous partners and licensees.

The MIPS32 architecture provides seamless upward compatibility to the 64-bit MIPS64® architecture, bringing powerful features, standardized privileged mode instructions, and support for past ISA versions. The MIPS32 architecture incorporates important functionality including SIMD (Single Instruction Multiple Data) and virtualization. These technologies, in conjunction with technologies such as multi-threading (MT), DSP extensions and EVA (Enhanced Virtual Addressing) enrich the architecture for use with modern software workloads which require larger memory sizes, increased computational horsepower and secure execution environments.

The MIPS32 architecture is based on a fixed-length, regularly encoded instruction set and uses a load/store data model. The architecture is streamlined to support optimized execution of high-level languages. Arithmetic and logic operations use a three-operand format, allowing compilers to optimize complex expressions formulation. Availability of 32 general-purpose registers enables compilers to further optimize code generation for performance by keeping frequently accessed data in registers.

The MIPS32 architecture derives the privileged mode exception handling and memory management functions from the classic R4000 and R5000 class 64-bit processors. A set of registers reflects the configuration of the caches, MMU, TLB, and other privileged features implemented in each core. By standardizing privileged mode and memory management and providing the information through the configuration registers, the MIPS32 architecture enables real-time operating systems, other development tools, and application code to be implemented once and reused with various members of both the MIPS32 and the MIPS64 processor families.

Flexibility of its high-performance caches and memory management schemes are strengths of the MIPS architecture. The MIPS32 architecture extends these advantages with well-defined cache control options. The size of the instruction and data caches can range from 256 bytes to 4 MB. The data cache can employ either a write-back or write-through policy. A no-cache option can also be specified. The memory management mechanism can employ either a TLB or a Block Address Translation (BAT) policy. With a TLB, the MIPS32 architecture meets Windows CE, Linux and Android memory management requirements.

MIPS32 Architecture Summary

  • A 32-bit RISC architecture that has been in commercial use since 1985
  • A well supported software ecosystem that has been built up over that time to support a broad range of market segments
  • Widely used in multiple segments - home entertainment, wired and wireless networking, mobile devices, storage and more
  • A clean architecture allows for a wide range of implementations, from cost-constrained microcontrollers to supercomputers

MIPS32 Architecture Features

  • Fixed-sized 32-bit instructions allow easy instruction decode

  • 32 x 32-bit General Purpose Register file; optional shadow register sets

  • Robust load/store RISC instruction set with 3-operand instructions in most formats (3 registers, 2 registers + immediate), branch/jump options, and delayed jump instructions

  • No integer condition codes allows for easier superscalar implementations

  • 32 bits of virtual address space; up to 36 bits of physical address space
    • Enhanced Virtual Addressing (EVA) technology extends available memory space, enabling better address space utilization for large modern workloads

  • Optional Modules of the Base Architecture
    • MIPS SIMD architecture (MSA) module provides more computational capability for a wide range of applications
    • Scalable Virtualization (VZ) module provides secure hardware virtualization
    • Multi-threading provides high throughput processing
    • DSP technologies for media processing

  • Support for 8-bit, 16-bit and 32-bit variables

  • Floating Point Specifications
    • Optional single and double-precision floating point support
    • IEEE-754-2008 Floating-Point specification support
    • Provision for 32 x double-precision 64-bit Floating-Point Registers

  • Compatibility
    • Fully supports Big-Endian and Little-Endian systems
    • Fully MIPS I™ and MIPS II™ ISA compatible
    • Upward compatible with MIPS64 architecture

  • Specific Instructions
    • Enhanced with conditional move and data-prefetch instructions
    • Standardized DSP operations: multiply (MUL), multiply and add (MADD), and count leading 0/1s (CLZ/O)
    • Rotate instructions
    • Integer multiply, divide support
    • Bit-field insert/extract instructions

  • Interoperability with microMIPS ISA

  • Memory Management support:
    • TLB or BAT address translation mechanisms
    • Programmable page size
    • Flexible software management of Page Table walk
    • Increased security with execute inhibit and read inhibit pages
    • Enhanced page-table handling
    • Enhanced Virtual Addressing (EVA) with support for multi-gigabyte physical address spaces
    • Virtual Memory segments with programmable attributes

  • Optional caches:
    • Instruction and/or data cache options
    • Write-back or write-through data cache options
    • Virtual or physical addressing

  • Enhanced JTAG (EJTAG) support for non-intrusive debug support

MIPS32 Architecture Specifications

MIPS32® Instruction Set Quick Reference v1.01 (156KB PDF)

MIPS32® Architecture for Programmers Volume I:
Introduction to the MIPS32® Architecture v5.03

MIPS32® Architecture for Programmers Volume I-B:
Introduction to the microMIPS32® Architecture v5.03

MIPS32® Architecture for Programmers Volume II:
The MIPS32® Instruction Set v5.03

MIPS® Architecture for Programmers Volume II-B:
The microMIPS32™ Instruction Set v5.03

MIPS32® Architecture for Programmers Volume III:
The MIPS32® and microMIPS32™ Privileged Resource Architecture v5.03

Cookies on the
Imagination website
We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we'll assume that you are happy to receive all cookies on the Imagination website. However, if you would like to, you can change your cookie settings at any time.