118
Rabbit 3000 Microprocessor
Figure 8-4. Memory Segments
The memory management unit accepts a 16-bit address from the processor and translates
it into a 20-bit address. The procedure to do this works as follows.
1. It is determined which segment the 16-bit address belongs to by inspecting the upper 4
bits of the address. Every address must belong to one of the possible 4 segments.
2. Each segment has an 8-bit segment register. The 8-bit segment register is added to the
upper 4 bits of the 16-bit address to create a 20-bit address. Wraparound occurs if the
addition would result in an address that does not fit in 20 bits.
Table 8-1. Segment Registers
Segment Register
Function
XPC
Locates extended code segment in physical memory. Read and written by
processor instructions:
ld a,xpc
,
ld xpc,a
,
lcall
,
lret
,
ljp
STACKSEG = 0x11
Locates stack segment in physical memory.
DATASEG = 0x12
Locates data segment in physical memory.
Table 8-2. Segment Size Register
Bits 7..4
Bits 3..0
SEGSIZE = 0x13
Boundary address stack segment.
Boundary address data segment.
Extended code
XPC segment
(8K)
Stack segment
(4K typ)
Root segment
Data segment
64K
0K
Boundary SEGSIZE[4..7]
Boundary SEGSIZE[0..3]
XPC
STACKSEG
DATASEG
00
+
16-bit address
20-bit address
Summary of Contents for Rabbit 2000
Page 2: ...Rabbit 3000 Microprocessor User s Manual 019 0108 040731 O ...
Page 9: ...Rabbit 3000 Microprocessor ...
Page 29: ...20 Rabbit 3000 Microprocessor ...
Page 64: ...User s Manual 55 5 PIN ASSIGNMENTS AND FUNCTIONS ...
Page 79: ...70 Rabbit 3000 Microprocessor ...
Page 80: ...User s Manual 71 6 RABBIT INTERNAL I O REGISTERS ...
Page 123: ...114 Rabbit 3000 Microprocessor ...
Page 137: ...128 Rabbit 3000 Microprocessor ...
Page 157: ...148 Rabbit 3000 Microprocessor ...
Page 207: ...198 Rabbit 3000 Microprocessor ...
Page 249: ...240 Rabbit 3000 Microprocessor ...
Page 255: ...246 Rabbit 3000 Microprocessor ...
Page 277: ...268 Rabbit 3000 Microprocessor ...
Page 343: ...334 Rabbit 3000 Microprocessor ...
Page 345: ......