Nios® II Processor Reference Guide

ID 683836
Date 8/28/2023
Public
Document Table of Contents

3.2.3.1. Virtual Memory Address Space

The 4-GB virtual memory space is divided into partitions. The upper 2 GB of memory is reserved for the operating system and the lower 2 GB is reserved for user processes.
Table 6.  Virtual Memory Partitions
Partition Virtual Address Range Used By Memory Access User Mode Access Default Data Cacheability
I/O 0xE00000000xFFFFFFFF Operating system Bypasses TLB No Disabled
Kernel 0xC00000000xDFFFFFFF Operating system Bypasses TLB No Enabled
Kernel MMU 0x800000000xBFFFFFFF Operating system Uses TLB No Set by TLB
User 0x000000000x7FFFFFFF User processes Uses TLB Set by TLB Set by TLB
Note: All partitions except the user partition in the "Virtual Memory Partition" table are supervisor-only partitions.

Each partition has a specific size, purpose, and relationship to the TLB:

  • The 512-MB I/O partition provides access to peripherals.
  • The 512-MB kernel partition provides space for the operating system kernel.
  • The 1-GB kernel MMU partition is used by the TLB miss handler and kernel processes.
  • The 2-GB user partition is used by application processes.

I/O and kernel partitions bypass the TLB. The kernel MMU and user partitions use the TLB. If all software runs in the kernel partition, the MMU is effectively disabled.