Micro Controller Types: Based on Instruction Set

An instruction-based microcontroller is a microcontroller type that executes a set of pre-defined instructions stored in its memory to perform various tasks and control external devices. It is a fundamental concept in microcontroller and microprocessor design. Instruction-based microcontroller types are divided into two categories: CISC and RISC.

CISC Based Microcontroller

CISC((Complex Instruction Set Computer) based microcontroller types have a comprehensive and extensive set of instructions that are designed to perform a wide range of tasks. These instructions are often complex and can perform multiple operations in a single instruction, simplifying programming and reducing the number of instructions required to complete a task. CISC architectures typically offer a variety of addressing modes, which dictate how operands are accessed in memory or registers. These addressing modes provide flexibility in specifying data sources and destinations in instructions.

CISC-based microcontrollers often include specialized hardware units for complex operations like floating-point arithmetic, string manipulation, and graphics processing. These hardware units can accelerate these operations, making them faster and more efficient. CISC architectures often use microcode to implement complex instructions. Microcode is a low-level code that controls the operation of the microcontroller’s internal components. It allows for the execution of complex instructions by breaking them down into simpler micro-operations. CISC architectures use variable length instructions set. This flexibility in instruction encoding allows for a wide range of instructions with varying complexities. CISC architectures often support memory-to-memory operations, where data can be transferred directly between memory locations without passing through registers. This can simplify certain programming tasks. CISC-based microcontrollers are generally well-suited for high-level language programming due to their rich instruction set and support for complex operations. High-level languages like C can be efficiently compiled to run on CISC architectures. CISC architectures may have lower code density compared to Reduced Instruction Set Computer (RISC) architectures. This means that programs written for CISC architectures may occupy more memory space.

A few examples CISC based microcontroller types are:

  • Intel 8051
  • Intel x86-Based MCU
  • NXP HC12

RISC Based Microcontroller 

RISC (Reduced Instruction Set Computer) based microcontrollers have a reduced and simplified instruction set compared to Complex Instruction Set Computer (CISC) architectures. The instructions are typically designed to perform basic operations, each taking a single clock cycle to execute. RISC architectures often follow a load-store model, where data must be loaded from memory into registers before it can be operated upon and then stored back in memory after processing. This simplifies instruction execution and reduces memory access times. Instructions in RISC architectures are usually of fixed length, which simplifies instruction decoding and execution. This results in consistent and predictable instruction execution times. RISC-based microcontrollers typically have a large number of registers, and operations are primarily performed on registers. This minimizes memory access, which can be time-consuming. RISC architectures often employ pipelining, a technique where multiple instructions are processed simultaneously in a series of stages. This can lead to efficient use of CPU cycles and improved performance.

RISC architectures typically offer fewer addressing modes compared to CISC architectures, reducing complexity but also flexibility in addressing. Due to the simplified instruction set and efficient use of memory, RISC-based microcontrollers often achieve high code density, meaning that programs occupy less memory space. RISC microcontrollers tend to operate at high clock frequencies, which, combined with efficient instruction execution, results in fast and responsive systems. RISC architectures are well-suited for high-level language compilation (e.g., C and C++) due to their simple and regular instruction set.

There are plenty of Microcontroller types available for embedded systems design and some of the commonly used microcontroller types are given below:

  • ARM Cortex-M Series
  • Renesas RX Series
  • NXP Kinetis K Series

Leave a comment

Your email address will not be published. Required fields are marked *