XC164SM
Derivatives
Functional Descript ion
Data Sheet 15 V1.0, 2005-11
3.1 Memory Subsystem and Organization
The memory space of the XC164SM is configured in a von Neumann architecture, wh ich
means that all internal and external resources, such as code memory, data memory,
registers and I/O ports, are organized within the same linear address space. This
common memory space includes 16 Mbytes and is arranged as 256 segments of
64 Kbytes each, where each segment consists of four data pages of 16 Kbytes each.
The entire memory space can be accessed byte wise or word wise. Portions of the
on-chip DPRAM and the register spaces (E/SFR) have additionally been made directly
bit addressable.
The internal data memory areas and the Special Function Register areas (SFR and
ESFR) are mapped into segment 0, the system segment.
The Progr am Man agement U nit ( PMU) han dles al l code fetches and, therefore, controls
accesses to the program memories, such as Flash memory and PSRAM.
The Data Management Unit (DMU) handles all data transfers and, therefore, controls
accesses to the DSRAM and the on-chip peripherals.
Both units (PMU and DMU) are connected vi a the high-speed system bus to exchange
data. This is required if operands are read from program memory, or code or data is
written to the PSRAM. The system bus allows concurrent two-way communication for
maximum transfer performance.
64 or 32 Kbytes of on-chip Flash memory store code or constant data. The on-chip
Flash memory is organized as four 8-Kbyte sectors and one 32-Kbyte (XC164SM-8F
only) sector. Each sector can be separately write protected1), erased and programmed
(in blocks of 128 Bytes). The complete Flash area can be read-protected. A password
sequence temporarily unlocks protected areas. The Flash module combines very fast
64-bit one-cycle read accesses with protected and efficient writing algorithms for
programming and erasing. Thus, program execution out of the internal Flash results in
maximum performance. Dynamic error correction provides extremely high read data
security for all read accesses.
Programming typically takes 2 ms per 128-byte block (5 ms max.), erasing a sector
typically takes 200 ms (500 ms max.).
2 Kbytes of on-chip Program SRAM (PSRAM) are provided to store user code or data.
The PSRAM is accessed via the PMU and is therefore optimized for code fetches.
2 Kby tes of on-chip Data SRAM (DSRAM) are provided as a storage for general user
data. The DSRAM is accessed via the DMU and is therefore optimized for data
accesses. DSRAM is only available in the XC164SM-8F derivatives.
2 Kbytes of on-chip Dual-Port RAM (DPRAM) are provided as a storage for user
defined variabl es, for the system stack, ge ner al pur pose reg ister ba nks. A r egister ban k
can consist of up to 16 word wide (R0 to R15) and/or byte wide (RL0, RH0, …, RL7, RH7)
1) Each two 8-Kbyte sector s are combined for write-prote ction purpo s es.