8.2 Memory Mapping Overview

See Section 3.2, “Memory Mapping,” for a discussion of Rabbit memory mapping.

Figure 8-3shows 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.

Processor

Memory

Mapping

Unit

Memory

Interface

Unit

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.

User’s Manual

117

Page 126
Image 126
Jameco Electronics 3000 Memory Mapping Overview, Memory-Mapping Unit, Processor Memory Mapping Unit Interface Memory Chips