Data Address Extension - Xilinx MicroBlaze Reference Manual

32-bit soft processor
Hide thumbs Also See for MicroBlaze:
Table of Contents

Advertisement

Data Address Extension

MicroBlaze has the ability to address up to 16EB of data controlled by the parameter
C_ADDR_SIZE. This parameter can be set to the following values:
NONE
4 * 1024
°
64GB
64 * 1024
°
1TB
1024
°
16TB
16 * 1024
°
256TB
256 * 1024
°
16EB
16 * 1024
°
There are a number of software limitations with extended addressing:
The GNU tools only generate ELF files with 32-bit addresses, which means that program
instruction and data memory must be located in the first 4GB of the address space. This
is also the reason the instruction address space does not provide an extended address.
Since all software drivers use address pointers that are 32-bit unsigned integers, it is
not possible to access extended addresses above 4GB without modifying the driver
code, and consequently all AXI peripherals should be located in the first 4GB of the
address space.
The extended address is only treated as a physical address, and the MMU cannot be
used to translate from an extended virtual address to a physical address. This means
that Linux can only use the data address extension through a dedicated driver
operating in real mode.
The GNU compiler does not handle 64-bit address pointers, which means that the only
way to access an extended address is using the specific extended addressing
instructions, available as macros.
The following C code exemplifies how an extended address can be used to access data:
#include "xil_types.h"
#include "mb_interface.h"
static inline u32 Xil_In32EA(u64 *Addr) {
return lwea(Addr);
}
static inline void Xil_Out32EA(u64 *Addr, u32 Value) {
swea(Addr, Value);
}
MicroBlaze Processor Reference Guide
UG984 (v2016.2) June 8, 2016
UG984 (v2016.1) April 6, 2016
3
bytes
32-bit address, no extended address instructions
3
bytes
36-bit address
4
bytes
40-bit address
4
bytes
44-bit address
4
bytes
48-bit address
6
bytes
64-bit address
www.xilinx.com
Chapter 2: MicroBlaze Architecture
Send Feedback
120

Advertisement

Table of Contents
loading

Table of Contents