Microcontroller Types: Based On Architecture

Microcontroller types can be categorized based on their architecture types, and there are two common architecture types used in microcontrollers:

Harvard architecture microcontrollers and Von Neumann Architecture Microcontrollers. Each architecture has its own strengths and weaknesses, making it suitable for specific applications.

Harvard architecture microcontrollers

In Harvard architecture microcontrollers, there are two distinct memory spaces: one for program memory (often referred to as Flash memory or ROM) and another for data memory (usually RAM). The program memory stores the machine code instructions that the microcontroller will execute, while the data memory holds variables and data used by the program. Harvard architecture microcontroller types have separate buses for fetching instructions from program memory and accessing data from data memory. This separation allows for concurrent access to both program memory and data memory, which can lead to faster execution of instructions.

Harvard architecture ensures that instruction fetching, and data access do not interfere with each other, leading to a more predictable and deterministic execution of code.

This predictability and deterministic behavior are important in real-time systems where timing and responsiveness are essential to avoid the deadline missing.

Separate program and data memory spaces can lead to better utilization of available resources.

Some commonly used microcontroller types that use Harvard architecture are:

Harvard architecture ensures that instruction fetching, and data access do not interfere with each other, leading to a more predictable and deterministic execution of code. This predictability and deterministic behavior are important in real-time systems where timing and responsiveness are essential to avoid the deadline missing. Separate program and data memory spaces can lead to better utilization of available resources.

Some commonly used microcontroller types that use Harvard architecture are:

  • PIC32 Microcontrollers 
  • STM32 ARM Cortex-M Microcontrollers
  • MSP430 Microcontrollers

Von-Neumann Architecture Microcontrollers

In Von Neumann’s architecture microcontrollers, there is a single memory space that stores both program instructions and data. This memory is often referred to as RAM (Random Access Memory). These microcontrollers typically have a single bus that connects the CPU to the memory, which is used for both fetching program instructions and accessing data. Program code (instructions) and data are stored together in the same memory space. This means that the CPU can access program instructions and data sequentially from the same memory. In Von Neumann architecture, when the CPU needs to fetch an instruction, it may have to wait if there is a data access operation in progress, potentially leading to slower execution of instructions compared to Harvard architecture.

Von Neumann’s architecture is more flexible than Harvard architecture in terms of memory usage. The same memory can be used to store both code and data, and the allocation of memory space can be adjusted dynamically.

Examples of microcontrollers that use Von Neumann architecture are less common compared to Harvard architecture-based microcontrollers.

Leave a comment

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