CHAPTER 3 CPU FUNCTIONS
User’s Manual U13850EJ4V0UM
93
3.4.7 Recommended use of address space
The architectures of the V850/SB1 and V850/SB2 require that a register that serves as a pointer be secured for
address generation in operand data accessing for data space. The address in this pointer register ±32 KB can be
accessed directly from instruction. However, general-purpose register used as a pointer register is limited. Therefore,
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 because
instructions for calculating pointer addresses are not required.
To enhance the efficiency of using the pointer in connection with the memory maps of the V850/SB1 and
V850/SB2, 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 through the wrap-around 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/SB1 or V850/SB2, 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 address
sign-extended to 32 bits.
(a) Application of wrap-around
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. 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-23. Application of Wrap-Around
Internal
ROM area
Internal peripheral I/O area
Internal RAM area
4 KB
28 KB
0001FFFFH
00007FFFH
(R =) 00000000H
FFFFF000H
FFFF8000H
32 KB