![](http://datasheet.mmic.net.cn/Rabbit-Semiconductor/668-0011_datasheet_95668/668-0011_56.png)
46
Rabbit 3000 Microprocessor User’s Manual
It is possible to extend the timing of the /OE and/or /WE strobes by one half of a clock.
This provides slightly longer strobes for slower memories; see the timing diagrams in
It is possible to force /CS1 to be always active in MMIDR; enabling this will cause conflicts
only if a device shares a /OE or /WE strobe with another device. This option allows faster
access to particular memory devices.
5.3.3 Separate Instruction and Data Space
To make better use of the 64 KB of logical space, an option is provided to map code and
data accesses in the same address space to separate devices. This is accomplished by
enabling the inversion of A16 and the most-significant bit of the bank select bits for
accesses in the root and data segments. Careful use of these features allows both code and
data to separately use up to 64 KB of logical memory.
Starting with the Rabbit 3000A, the RAM segment register (RAMSR) provides a shortcut
for updating code by accessing it as data. It provides a “window” that uses the instruction
address decoding when read or written as data. This mapping will only occur when the
RAMSR is within the root or data segements; the RAMSR will be ignored if it is mapped
to the stack segement or XPC window.
The Rabbit 3000 Designer’s Handbook provides further details on the use of the separate
instruction and data space feature.
5.3.4 Memory Protection (Rabbit 3000A)
The ability to inhibit writes to physical memory was added starting with the Rabbit 3000A.
The sixteen 64 KB physical memory blocks can be individually protected, and two of
those blocks can additionally be subdivided and protected at a granularity of 4 KB. When
a write is attempted, a new Priority 3 write-protection interrupt request is generated.
The write-protection can be enabled for the User mode only or for all modes.
Figure 5-5. Sample Memory Protection Layout
0x00000
0xFFFFF
0x40000
0x48000
0x4FFFF
WPHR = 0x85
WPLR = 0x6C
WPSAR = 0x04
WPSAHR = 0x07
WPSALR = 0xCC