PIC32MZ Memory Organization Overview

Last modified by Microchip on 2023/11/09 09:01

memory overview v2

The PIC32MZ family of microcontrollers provides 4 GB of unified, virtual memory address space. There are several features of this memory system that are distinct, as compared to other PIC® microcontrollers (MCUs):

  • Unified Address Space: Instructions and data share the same memory space
    • C-Friendly—no need for special rom or psv pointer declarations

Although the address space is unified, PIC32MZ MCUs contain multiple bus interfaces to allow concurrent instruction and data access, thus, implementing a Harvard style hardware bus architecture, similar to existing 8-/16-bit PIC MCUs.

  • Virtual Memory Addressing

All MIPS®-based CPUs implement two address spaces, a virtual address space (consisting of all the addresses that can be used in a program) and a physical address space (consisting of all the addresses that can be sent out on the address bus). Virtual addresses are mapped (translated) to physical addresses by the Memory Management Unit (MMU).

  • Multi-Layer System Bus

To Summarize, addresses in the PIC32MZ are:

  • Issued as virtual addresses by the MIPS core, then
  • Mapped into physical addresses by the MIPS memory-management-unit (MMU), then
  • Mapped into a bus address via the multi-layer system bus, and finally
  • Used to select the appropriate peripheral or location in RAM.

Other key features of PIC32MZ memory organization include the following:

  • 32-bit native data width
  • MMU with fixed mapping allows for securely configurable memory and peripheral access control permissions
  • Bus arbitration scheme is implemented using a Least Recently Serviced (LRS) priority to provide a Quality of Service (QOS) for the CPU, general purpose Direct Memory Access (DMA), and peripherals with dedicated DMA
  • Dual Flash panels allow for live updates of program memory
  • Separate dual boot Flash memory allows updates of boot code
  • Dual RAM banks can be used to avoid bus arbitration when using DMA
  • External serial and or parallel memory can be mapped into virtual memory space for data access or code execution using the Serial Quad Interface (SQI) or External Bus Interface (EBI)
  • Cacheable and non-cacheable address regions

Please refer to Section 48. Memory Organization and Permissions (DS60001214) for detailed coverage of the memory organization and configuration.