Key Engineering Takeaways
- •Harvard Architecture uses SEPARATE physical memory buses for program code (Flash) and data variables (SRAM), allowing simultaneous fetch and data read.
- •Von Neumann Architecture shares a single unified bus for both program instructions and data, creating a potential throughput bottleneck (Von Neumann Bottleneck).
- •Almost all modern microcontrollers (ARM Cortex-M, AVR, RISC-V, Xtensa) are RISC (Reduced Instruction Set Computer) designs with simple, single-cycle instructions.
- •Direct Memory Access (DMA) controllers transfer data between ADC/UART and SRAM automatically without consuming CPU clock cycles.
- • Fetch-Decode-Execute instruction cycle
- • STM32 or ESP32 development board for architecture inspection
Memory Architectures: Von Neumann vs Harvard Architecture
Instruction Set Design: RISC vs CISC
Frequently Asked Questions
What is Direct Memory Access (DMA)?
DMA is a dedicated hardware co-processor inside advanced 32-bit MCUs (STM32, ESP32). When high-speed sensors stream data (e.g., ADC audio or SPI camera frames at 20MB/s), DMA streams the bytes directly into SRAM memory buffers without interrupting the CPU, leaving the processor 100% free for control algorithms.