Issue
155 June 2003
Encore!
Zilog's
Z8 Flash Memory-Based Micro
ADDRESS
SPACE
The
eZ8 CPU can access three distinct address spaces: the
Program memory (flash memory), the register file (RAM),
and the data memory (ROM). The program memory contains
addresses for all memory locations having executable
code and data (i.e., up to 64 KB of flash memory). The
register file contains addresses for the general-purpose
registers (RAM) and the eZ8 CPU, peripheral, and general-purpose
I/O port control registers (i.e., up to 4 KB). The data
memory contains addresses for all memory locations that
hold only data (i.e., up to 128 bytes).
PROGRAM
SPACE
The
eZ8 CPU supports 64 KB of program memory address space.
Depend-ing on the device, the Z8 Encore! contains 16
to 64 KB of on-chip flash memory in the program memory
address space. Reading from program memory addresses
outside the available flash memory addresses returns
FFH. Writing to these unimplemented program memory addresses
produces no effect. Program memory begins at 0000H with
the flash memory option bits, the interrupt vectors
depicted in Table 1, and it extends
upward to the extent of the individual device’s available
flash memory. Flash memory option bits configure the
watchdog timer and program space read protection.
REGISTER
FILE
The
register file address space is 4 KB (4096 bytes). The
register file is composed of two sections: control registers
and general-purpose registers. When instructions are
executed, registers are read from when they’re defined
as sources, and they’re written to when defined as destinations.
The architecture of the eZ8 CPU allows all general-purpose
registers to function as accumulators, address pointers,
index registers, stack areas, or scratch-pad memory.
The
upper 256 bytes of the 4-KB register file address space
are reserved for controlling the eZ8 CPU, the on-chip
peripherals, and the I/O ports. These registers are
located at addresses between F00H and FFFH. Some of
the addresses within the 256-byte Control register section
are reserved (i.e., unavailable). Reading from a reserved
register file address returns an undefined value. I
don’t recommend writing to reserved register file addresses,
because it can produce unpredictable results.
The
on-chip RAM always begins at address 000H in the register
file address space. Depending on the devices, the Z8
Encore! contains 2 to 4 KB of on-chip RAM. Reading from
register file addresses outside the available RAM addresses
(and not within in the control register address space)
returns an undefined value. Writing to these register
file addresses produces no effect.