Jameco Electronics 3000 Manuel D’Utilisation

Page de 349
User’s Manual
117
8.2  Memory Mapping Overview
See Section 3.2, “Memory Mapping,” for a discussion of Rabbit memory mapping.
Figure 8-3 shows an overview of the Rabbit memory mapping. The task of the memory 
mapping unit is to accept 16-bit addresses and translate them to 20-bit addresses. The 
memory interface unit accepts the 20-bit addresses and generates control signals applied 
directly to the memory chips.
Figure 8-3.  Overview of Rabbit Memory Mapping
8.3  Memory-Mapping Unit
The 64K 16-bit address space accessed by processor instructions is divided into segments. 
Each segment has a length that is a multiple of 4K. Except for the extended code segment, 
the segments have adjustable sizes and some segments can be reduced to zero size and 
thus vanish from the memory map.
The four segments are shown in the example in Figure 8-4. The segment size register 
(SEGSIZE) determines the boundaries marked in the diagram. The extended code seg-
ment always occupies the addresses 0x0E000–0x0FFFF. The stack segment stretches from 
the address specified by the upper 4 bits of the SEGSIZE register to 0x0DFFF. For exam-
ple, if the upper 4 bits of SEGSIZE are 0x0D, then the stack segment will occupy 
0x0D000–0x0DFFF, or 4K. If the upper 4 bits of SEGSIZE are greater than or equal to 
0x0E, the stack segment vanishes. If these bits are set to zero, the two segments below the 
stack segment will vanish.
The lower 4 bits of SEGSIZE determine the lower boundary shown in the figure. If this 
boundary is equal to the upper boundary or greater than 0x0E, the data segment will van-
ish. If this segment is placed at zero the code segment will vanish.
Memory
Chips
Processor
Memory
Mapping
Unit
Memory
Interface
Unit