You have 3 free guides left 😟
Unlock your guides
You have 3 free guides left 😟
Unlock your guides

3.4 Examples of common ISAs (e.g., x86, ARM, MIPS)

5 min readaugust 13, 2024

Instruction Set Architectures (ISAs) are the backbone of computer systems, defining how software interacts with hardware. They specify instructions, , and memory access methods, acting as a crucial interface between programmers and machines.

This section examines three common ISAs: , , and . Each has unique features, strengths, and applications, from x86's complexity and backward compatibility to ARM's energy efficiency and MIPS's simplicity. Understanding these ISAs is key to grasping modern computing.

Key features of ISAs

Instruction Set Architecture definition and role

Top images from around the web for Instruction Set Architecture definition and role
Top images from around the web for Instruction Set Architecture definition and role
  • Instruction Set Architectures (ISAs) define the interface between hardware and software in a computer system
  • ISAs specify the supported instructions, registers, memory , and data types
  • Act as a contract between the hardware and software, enabling compatibility and portability

Register types and functions

  • The number and types of registers available vary among ISAs
  • General-purpose registers are used for arithmetic, logical, and memory operations (accumulator, index registers)
  • Special-purpose registers have specific functions like program counter (stores the address of the next instruction), stack pointer (points to the top of the stack), and status flags (store the status of the last executed operation)

Memory addressing modes

  • Memory addressing modes determine how instructions access data from memory
  • Common modes include immediate (data is part of the instruction itself), direct (instruction contains the memory address of the data), and indirect (a register contains the memory address of the data)
  • Other modes like indexed (base address + offset), PC-relative (relative to the program counter), and stack-based (data accessed relative to the stack pointer) provide flexibility in accessing memory

RISC vs CISC architectures

  • ISAs can be classified as (Reduced Instruction Set Computing) or (Complex Instruction Set Computing) based on their design philosophy, instruction complexity, and execution model
  • RISC architectures have a smaller number of simple, fixed-length instructions, emphasizing performance through pipelining and reduced complexity (ARM, MIPS, RISC-V)
  • CISC architectures have a larger number of complex, variable-length instructions, focusing on code density and backward compatibility (x86, VAX, IBM System/360)

Instruction format and endianness

  • The instruction format and length can differ among ISAs, affecting code density, memory usage, and instruction decoding complexity
  • Fixed-length instructions (RISC) simplify decoding and enable better pipelining, while variable-length instructions (CISC) can provide more compact code
  • Endianness (byte ordering) is another characteristic that varies among ISAs, with little-endian (least significant byte first) and big-endian (most significant byte first) being the most common

x86 vs ARM vs MIPS Architectures

x86 architecture

  • x86 is a CISC architecture with variable-length instructions (1-15 bytes) and a large number of instructions (1000+)
  • Supports complex memory addressing modes and emphasizes backward compatibility
  • Widely used in personal computers, servers, and high-performance computing applications (, )
  • Has fewer registers compared to RISC architectures (8 general-purpose registers in 32-bit mode, 16 in 64-bit mode)

ARM architecture

  • ARM is a RISC architecture with fixed-length 32-bit instructions and a smaller number of instructions (100-200)
  • Focuses on energy efficiency and simplicity, making it popular in mobile and embedded devices (smartphones, tablets, IoT)
  • Uses a load-store architecture, where data must be loaded into registers before being operated on
  • Has 16 general-purpose registers in 32-bit mode (AArch32) and 31 in 64-bit mode (AArch64)

MIPS architecture

  • MIPS is a RISC architecture with fixed-length 32-bit instructions and a similar number of instructions to ARM
  • Known for its simplicity, ease of implementation, and use in academic and research settings
  • Used in various applications, including gaming consoles (PlayStation, Nintendo 64) and embedded systems
  • Has 32 general-purpose registers, with register $0 always containing the value zero

Comparison of instruction sets and features

  • x86 allows direct memory operations, while ARM and MIPS use a load-store architecture
  • x86 supports more complex instructions (string manipulation, transcendental functions), while ARM and MIPS rely on software libraries for such operations
  • ARM and MIPS have more registers than x86, affecting code density and performance
  • x86 has a variable-length instruction encoding, while ARM and MIPS use fixed-length encoding

Evolution of ISAs

Historical development

  • x86 originated from Intel's 8086 processor in 1978 and has evolved through various iterations (80186, 80286, 80386, etc.) while maintaining backward compatibility
  • ARM (Advanced RISC Machine) was developed by Acorn Computers in the 1980s and later spun off into ARM Holdings
  • MIPS (Microprocessor without Interlocked Pipelined Stages) was developed by MIPS Computer Systems in the 1980s

Impact of mobile computing and energy efficiency

  • The rise of mobile computing and the need for energy-efficient processors has led to the increasing popularity of ARM, challenging x86's dominance in the market
  • ARM's licensing model has allowed multiple vendors to design and manufacture ARM-based chips (Qualcomm, Apple, Samsung), fostering competition and innovation
  • x86 has responded by developing more energy-efficient designs (Intel Atom, AMD Ryzen Embedded) and targeting the mobile and embedded markets

64-bit extensions and modern computing demands

  • The development of 64-bit extensions (x86-64, ARMv8, MIPS64) has enabled these ISAs to address larger memory spaces and meet the demands of modern computing applications
  • 64-bit architectures provide more registers, larger addressable memory, and improved performance for certain workloads (scientific computing, databases, virtualization)
  • The transition to 64-bit has been driven by the increasing amount of data and the need for more memory in applications like data analytics, machine learning, and high-performance computing

Convergence of ISA features

  • The convergence of ISAs has been observed, with x86 adopting some RISC-like features and ARM and MIPS incorporating SIMD extensions
  • x86 processors translate complex instructions into simpler micro-operations (micro-ops), enabling better pipelining and performance
  • ARM and MIPS have added SIMD (Single Instruction, Multiple Data) extensions (ARM NEON, MIPS MSA) for improved performance in multimedia and signal processing tasks
  • The lines between RISC and CISC architectures have blurred, with modern ISAs incorporating features from both design philosophies to balance performance, energy efficiency, and flexibility
© 2024 Fiveable Inc. All rights reserved.
AP® and SAT® are trademarks registered by the College Board, which is not affiliated with, and does not endorse this website.


© 2024 Fiveable Inc. All rights reserved.
AP® and SAT® are trademarks registered by the College Board, which is not affiliated with, and does not endorse this website.

© 2024 Fiveable Inc. All rights reserved.
AP® and SAT® are trademarks registered by the College Board, which is not affiliated with, and does not endorse this website.
Glossary
Glossary