CHAPTER 3 CPU FUNCTION
79
User’s Manual U14492EJ3V0UD
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
00007FFFH
(R =) 00000000H
FFFFE7FFH
FFFF8000H
Internal ROM area
On-chip peripheral
I/O area
External memory
area
FFFFF000H
FFFFEFFFH
FFFFBFFFH
FFFFE800H
FFFFC000H
Internal RAM area
32 KB
4 KB
10 KB
16 KB
0003FFFFH
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.
Содержание V850E/IA1 mPD703116
Страница 2: ...2 User s Manual U14492EJ3V0UD MEMO...