Recommended Use Of Address Space - NEC V850E/IA1 mPD703116 User Manual

32-bit single-chip microcontrollers
Hide thumbs Also See for V850E/IA1 mPD703116:
Table of Contents

Advertisement

3.4.7 Recommended use of address space

The architecture of the V850E/IA1 requires that a register that serves as a pointer be secured for address
generation when accessing operand data in the data space. Operand data access from instruction can be directly
executed at the address in this pointer register ±32 KB. However, because there is a limit to which general-purpose
registers are used as a pointer register, by minimizing the deterioration of address calculation performance when
changing the pointer value, the number of usable general-purpose registers for handling variables is maximized, and
the program size can be saved.
To enhance the efficiency of using the pointer in connection with the memory map of the V850E/IA1, the following
points are recommended:
(1) Program space
Of the 32 bits of the program counter (PC), the higher 6 bits are fixed to 0, and only the lower 26 bits are
valid. Therefore, a contiguous 64 MB space, starting from address 00000000H, unconditionally corresponds
to the memory map of the program space.
(2) Data space
For the efficient use of resources that make use of the wrap-around feature of the data space, the continuous
16 MB address spaces 00000000H to 00FFFFFFH and FF000000H to FFFFFFFFH of the 4 GB CPU are
used as the data space. With the V850E/IA1, a 256 MB physical address space is seen as 16 images in the
4 GB CPU address space. The highest bit (bit 25) of this 26-bit address is assigned as address sign-
extended to 32 bits.
Example Application of wrap-around
When R = r0 (zero register) is specified with the LD/ST disp16 [R] instruction, an addressing range of
00000000H ±32 KB can be referenced with the sign-extended disp16. By mapping the external memory in
the 16 KB area in the figure, all resources including internal hardware can be accessed with one pointer.
The zero register (r0) is a register set to 0 by the hardware, and eliminates the need for additional registers
for the pointer.
CHAPTER 3 CPU FUNCTION
0003FFFFH
00007FFFH
Internal ROM area
(R =) 00000000H
On-chip peripheral
I/O area
FFFFF000H
FFFFEFFFH
FFFFE800H
FFFFE7FFH
Internal RAM area
FFFFC000H
FFFFBFFFH
External memory
area
FFFF8000H
User's Manual U14492EJ3V0UD
32 KB
4 KB
10 KB
16 KB
79

Advertisement

Table of Contents
loading

Table of Contents