MOTOROLA
MC68349 USER’S MANUAL
6- 1
SECTION 6
QUAD DATA MEMORY MODULE
The quad data memory module (QDMM) is part of the CPU030 and provides 4 Kbytes of
general purpose data storage on the intermodule bus (IMB). This section provides a
functional description, followed by some general application ideas and a description of the
register interface.
6.1 FUNCTIONAL DESCRIPTION
The QDMM consists of four independent 1-Kbyte blocks of static random access memory
(SRAM), each of which can be independently mapped to any 1-Kbyte boundary in the 4-
Gbyte address range. Each block can be programmed to respond to either supervisor-only
or supervisor and user code and data accesses. By restricting a block to supervisor-only
accesses, the data or code resources stored in the block (such as system interrupt
handlers) can be protected from access by user tasks. Additional protection is provided by
the ability to write-protect each block—this can prevent changes to the block when it
contains code or fixed data structures.
The QDMM is accessed via the IMB. This bus interface supports accesses by both the
CPU32+ and the DMA controller. Since the MC68349 does not support a slave mode, the
QDMM is not directly accessible to off-chip bus masters. The QDMM always provides 32
bits of data to the IMB for a read access and accepts byte, word, three-byte, or long-word
data for a write access. From the perspective of an IMB master, the access timing is
identical to that of an external fast termination bus cycle, and all accesses complete in two
clocks. However, no external bus cycle occurs when accessing the QDMM (unless show
cycles are enabled). Accesses to the QDMM can occur even when the external bus is
arbitrated away.
Since CPU32+ accesses to the QDMM complete in the same number of clocks as
accesses to the CIC instruction cache, instruction fetches from the QDMM are implicitly
non-cacheable and do not allocate in the instruction cache. This maximizes availability of
the cache storage for caching slower external instruction fetches.
QDMM blocks can be mapped anywhere in the address map of the IMB, including
address ranges which overlap the SIM49 chip selects or other externally decoded
memory. Accesses to the QDMM take priority over external accesses, and AS (as well as
CS≈ for a matching chip select) do not assert for the overlaid memory. Care should be
taken to prevent mapping enabled blocks to the same address range; data returned in this
case is undefined. The QDMM blocks also should not overlap any CIC blocks
programmed as SRAM, or any portion of the 4-Kbyte module register block mapped by
the MC68349 system integration module (SIM49) module base address register (MBAR).