4 Core and Architecture
This section provides a comparison of the PIC16F/PIC18F and PIC32CM MCUs’ cores and architectures.
PIC16F/PIC18F
The PIC16F and PIC18F MCUs are based on 8-bit RISC and Harvard architectures. PIC16F uses a mid-range to enhanced 8-bit RISC core with a smaller instruction set suitable for simpler tasks, while PIC18F features an enhanced 8-bit core with a larger instruction set and memory, higher performance and efficiency, and advanced features, such as flexible memory mapping and vectored interrupts, make it more suitable for complex applications.
PIC32CM
The PIC32CM MCUs implement either the Arm Cortex-M0+ or M23 processors. The Arm Cortex-M0+ and Cortex-M23 are both 32-bit MCU cores designed for low-power, cost-sensitive embedded applications, but they differ in architecture, features, and security capabilities.
The Cortex-M0+ is based on the ARMv6-M architecture and optimized for ultra-low power and simplicity, featuring a two-stage pipeline, basic interrupt handling, and a compact instruction set. In contrast, the Cortex-M23 is based on the newer ARMv8-M architecture. Cortex-M23 introduces several enhancements, like the optional Arm TrustZone technology, which enables the separation of secure and non-secure code for improved security in IoT and safety-critical applications. It also offers improved debug and trace capabilities, enhanced interrupt handling, and better support for modern embedded software development. While both cores are suitable for similar low-power applications, the Cortex-M23 is preferred when security and advanced features are required.
For additional information on Arm Cortex-M processor, refer to the product pages from the Arm website:
- Cortex-M0+ – 32-bit, low-power processor at an 8-bit cost
- Cortex-M23 – Low-Power Microcontroller with TrustZone security
The following table provides a comparison of the PIC16F, PIC18F, and PIC32CM MCUs’ cores and architectures.
| PIC16F | PIC18F | PIC32CM M0+ | PIC32CM M23 | |
|---|---|---|---|---|
| Core | Enhanced 8-bit RISC | Enhanced 8-bit RISC | 32-bit Arm Cortex-M0+ | 32-bit Arm Cortex-M23 |
| Architecture | Harvard (separate 14-bit program/data memory) | Harvard (separate 16-bit program/data memory) | Von Neumann, 32-bit data path | Similar to M0+ with enhanced security (TrustZone) |
| Instruction Set | 8-bit, optimized for simple, cost-effective control tasks | 8-bit, designed for more complex and performance-critical apps | ARMv6-M, efficient for low-power/cost apps | ARMv8-M, supports TrustZone for secure execution |
| Power/ Performance | Moderate low power, up to 32 MHz | Efficient low power, up to 64 MHz | Ultra-low power, up to 48 MHz | Ultra-low power, up to 72 MHz |
| Use Cases | General-purpose, industrial, IoT | General-purpose, industrial, IoT | General-purpose, industrial, IoT | Secure IoT, hardware-based security, safety-critical |
