deveopmen
Memory
Preliminary Specifications REV.D
Specifications in this manual are tentative and subject to change.
Mitsubishi microcomputers
M16C/80 (100-pin version) group
SINGLE-CHIP 16-BIT CMOS MICROCOMPUTER
10
Operation of Functional Blocks
The M16C/80 group accommodates certain units in a single chip. These units include ROM and RAM to
store instructions and data and the central processing unit (CPU) to execute arithmetic/logic operations.
Also included are peripheral units such as timers, serial I/O, D-A converter, DMAC, CRC calculation circuit,
A-D converter, DRAM controller and I/O ports.
The following explains each unit.
Memory
Figure 1.2.1 is a memory map of the M16C/80 group. The address space extends the 16 Mbytes from
address 000000
16
to FFFFFF
16
. From FFFFFF
16
down is ROM. For example, in the M30800MC-XXXFP,
there is 128K bytes of internal ROM from FE0000
16
to FFFFFF
16
. The vector table for fixed interrupts such
as the reset and NMI are mapped to FFFFDC
16
to FFFFFF
16
. The starting address of the interrupt routine
is stored here. The address of the vector table for timer interrupts, etc., can be set as desired using the
internal register (INTB). See the section on interrupts for details.
From 000400
16
up is RAM. For example, in the M30800MC-XXXFP, 10 Kbytes of internal RAM is mapped
to the space from 000400
16
to 002BFF
16
. In addition to storing data, the RAM also stores the stack used
when calling subroutines and when interrupts are generated.
The SFR area is mapped to 000000
16
to 0003FF
16
. This area accommodates the control registers for
peripheral devices such as I/O ports, A-D converter, serial I/O, and timers, etc. Figure 1.5.1 to 1.5.4 are
location of peripheral unit control registers. Any part of the SFR area that is not occupied is reserved and
cannot be used for other purposes.
The special page vector table is mapped to FFFE00
16
to FFFFDB
16
. If the starting addresses of subrou-
tines or the destination addresses of jumps are stored here, subroutine call instructions and jump instruc-
tions can be used as 2-byte instructions, reducing the number of program steps.
In memory expansion mode and microprocessor mode, a part of the spaces are reserved and cannot be
used. For example, in the M30800MC-XXXFP, the following spaces cannot be used.
The space between 002C00
16
and 008000
16
(Memory expansion and microprocessor modes)
The space between F00000
16
and FDFFFF
16
(Memory expansion mode)
Figure 1.2.1. Memory map
000000
16
YYYYYY
16
FFFFFF
16
000400
16
008000
16
XXXXXX
16
F00000
16
AAAAAA
AAAAAA
AAAAAA
External area
AAAAAA
Internal ROM
area
Internal RAM
area
Internal reserved
area (Note 1)
Internal reserved
FFFE00
16
FFFFDC
16
FFFFFF
16
Note 1: During memory expansion and microprocessor modes, can not be used.
Note 2: In memory expansion mode, can not be used.
Undefined instruction
Overflow
BRK instruction
Address match
Watchdog timer
Reset
Special page
vector table
NMI
Address
XXXXX
16
FE0000
16
002BFF
16
M30800MC/FC
Type No.
Address
YYYYY
16
FC0000
16
0053FF
16
M30803MG/FG
SFR area
For details, see
Figures 1.5.1 to
1.5.4