12
Rabbit
2000
Microprocessor
•
Extended
Code—Instructions not in root that often require 20-bit addressing for access.
These
are accessed via the extended code segment, which is an 8K page for executing
code.
Up to a megabyte of code can be executed by moving the mapping of the 8K
window
using special instructions (long call, long jump and long return) that are
designed
for this purpose.
•
Extended
Constants—Constant data not in root that requires 20-bit addressing for
access.
This is mixed together with the extended code.
•
Extended
Bulk Memory—Data items stored in multimegabyte memory and accessed
using
special functions using 32-bit addressing.
Code
may be placed in either extended memory or root memory. Code executes slightly
more
efficiently in root memory. In large programs the bulk of code is stored in extended
code
memory. Since root constants and root variables share the memory, space needed for
root
code, and as the memory needed for constants or variables increases, the amount of
code
that can be stored in root must decline by moving code to extended memory. The rel-
ative
size of the root and data segments can be adjusted in 4K steps.
Figure
2.
Schematic
Map
of
16-bit
Addressing
Space
It
should be clear from the above Dynamic C memory types that the Rabbit does not have
a
“flat” memory space. The advantage of the Rabbit’s memory organization is that the use
of
16-bit addresses and pointers is retained, ensuring that the code is compact and executes
quickly.
4.1.1
The Root (or Base) Segment
The
root segment has a typical minimum size of 8K and a maximum size of 48K. The
larger
the root segment, the smaller the data segment and vice-versa. Root segment
address
zero is always mapped to 20-bit address zero. Usually the root segment is mapped
64K
56k
52K
0k
Extended
Code
Segment
Stack
Segment
Data
Segment
Root
Segment
1-megabyte
Typical
mapping
16-bit
to 20-bit address space
RAM
Flash
quadrant
0
quadrant
3
quadrant
1
quadrant
2
flash
RAM
RAM
Содержание 2000
Страница 1: ...Rabbit 2000 Microprocessor Designers Handbook Revision C...
Страница 4: ...Rabbit 2000 Microprocessor...
Страница 6: ...2 Rabbit 2000 Microprocesssor...
Страница 12: ...8 Rabbit 2000 Microprocessor...
Страница 34: ...344 Dynamic C User s Manual...
Страница 36: ...34 Rabbit 2000 Microprocessor...
Страница 44: ...42 Rabbit 2000 Microprocessor...