English
Language : 

M44C090-H Datasheet, PDF (6/63 Pages) ATMEL Corporation – Low-Current Microcontroller for Wireless Communication
M44C090-H
M44C890-H
2.2 Components of MARC4 Core
7FFFh
ROM
(2 K x 8 bit)
1FFh
Zero page
000h
1F8h
1F0h
1E8h
1E0h
1E0h INT7
1C0h INT6
180h INT5
Zero
page
140h
100h
INT4
INT3
0C0h INT2
080h
INT1
020h
018h
010h
008h
000h
040h INT0
008h
$RESET
000h
$AUTOSLEEP
13391
Figure 4. ROM map of M44C090-H
The core contains ROM, RAM, ALU, program counter,
RAM address registers, instruction decoder and interrupt
controller. The following sections describe each
functional block in more detail:
2.2.1 ROM
The program memory (ROM) is mask programmed with
the customer application program during the fabrication
of the microcontroller. The ROM is addressed by a 12–bit
wide program counter, thus predefining a maximum
program bank size of 2 Kbytes. An additional 1 Kbyte of
ROM exists which is reserved for quality control self–test
software The lowest user ROM address segment is taken
up by a 512 byte zero page which contains predefined
start addresses for interrupt service routines and special
subroutines accessible with single byte instructions
(SCALL).
The corresponding memory map is shown in figure 4.
Look-up tables of constants can also be held in ROM and
are accessed via the MARC4’s built-in TABLE
instruction.
2.2.2 RAM
The M44C090-H / M44C890-H contains 256 x 4-bit wide
static random access memory (RAM). It is used for the
expression stack, the return stack and data memory for
variables and arrays. The RAM is addressed by any of the
four 8-bit wide RAM address registers SP, RP, X and Y.
Expression Stack
The 4-bit wide expression stack is addressed with the
expression stack pointer (SP). All arithmetic, I/O and
memory reference operations take their operands from,
and return their results to the expression stack. The
MARC4 performs the operations with the top of stack
items (TOS and TOS–1). The TOS register contains the
top element of the expression stack and works in the same
way as an accumulator. This stack is also used for passing
parameters between subroutines and as a scratch pad area
for temporary storage of data.
Return Stack
The 12-bit wide return stack is addressed by the return
stack pointer (RP). It is used for storing return addresses
of subroutines, interrupt routines and for keeping loop
index counts. The return stack can also be used as a
temporary storage area.
The MARC4 instruction set supports the exchange of data
between the top elements of the expression stack and the
return stack. The two stacks within the RAM have a user
definable location and maximum depth.
6 (63)
Rev.A3, 14-Dec-01