CHAPTER 3 CPU FUNCTIONS
User’s Manual U15109EJ3V0UD
106
3.4.7 Recommended use of address space
The architecture of the V850/SC1, V850/SC2, and V850/SC3 requires that a register that serves as a pointer be
secured for address generation when accessing operand data in the data space. Operand data can be accessed
directly from an instruction in the
±
32 KB above and below the address in this pointer register. However, the general-
purpose registers that can be used as a pointer register are 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/SC1, V850/SC2,
and V850/SC3, 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 utilizing 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/SC1, V850/SC2, and V850/SC3, a 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.
(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 by a sign-extended, 16-bit displacement value. All resources
including on-chip hardware can therefore 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-12. Application of Wrap-Around
Internal
ROM area
On-chip peripheral I/O area
Internal RAM area
4 KB
24 KB
0007FFFFH
00007FFFH
(R =) 00000000H
FFFFF000H
Access prohibited area
4 KB
FFFF9000H
FFFF8000H
32 KB