
CHAPTER 3 CPU FUNCTIONS
User’s Manual U12768EJ4V1UD
79
3.4.7
Recommended use of address space
The architecture of the V850/SA1 requires that a register that serves as a pointer be secured for address
generation in operand data accessing of the data space. The address in this pointer register ±32 KB can be accessed
directly from an instruction. However, the general-purpose registers that can be used as a pointer register are limited.
Therefore, by minimizing deterioration of the 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
minimized because instructions for calculating pointer addresses are not required.
To enhance the efficiency of using the pointer in connection with the memory map of the V850/SA1, the following
points are recommended.
(1) Program space
Of the 32 bits of the PC (program counter), the higher 8 bits are fixed to 0, and only the lower 24 bits are valid.
Therefore, a continuous 16 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 to be performed using the wraparound feature of the data space, the continuous
8 MB address spaces 00000000H to 007FFFFFH and FF800000H to FFFFFFFFH of the 4 GB CPU are used as
the data space. With the V850/SA1, the 16 MB physical address space is seen as 256 images in the 4 GB CPU
address space. The highest bit (bit 23) of this 24-bit address is assigned as an address sign-extended to 32 bits.
Application example of wraparound
For example, when R = r0 (zero register) is specified for the LD/ST disp16 [R] instruction, an addressing range of
00000000H ±32 KB can be referenced with the sign-extended 16-bit displacement value.
By mapping the
external memory in the 16 KB area in Figure 3-15, all resources including on-chip 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.
Figure 3-15. Application Example of Wraparound
Internal ROM
area
On-chip peripheral I/O area
Internal RAM
area
4 KB
12 KB
0001FFFFH
00007FFFH
(R =) 00000000H
FFFFF000H
FFFFC000H
External memory
area
16 KB
FFFF8000H
32 KB