ADSP-2189M memory architecture

The ADSP-2189M has 192 Kbytes of internal RAM, divided into:

PM (Programme Memory)

000016..1FFF16 Fixed 8 Kword of internal RAM.
200016..3FFF16 8 Kword page: any one of 3 internal pages (selected by PMOVLAY = 0,4,5) or 2 external pages (selected by PMOVLAY = 1,2).

DM (Data Memory)

000016..1FFF16 8 Kword page: any one of 5 internal pages (selected by DMOVLAY = 0,4,5,6,7) or 2 external pages (selected by DMOVLAY = 1,2).
200016..3FFF16 Fixed 8 Kword of internal RAM. (Uppermost 32 words are actually memory mapped registers).

The ADSP-2189M can also access external memory:

Byte Memory

dm(3FE116) BDMA Internal Address
b15...b14   Unused (zero).
b13...b0   Internal start address for DMA transfer.
dm(3FE216) BDMA External Address
b15...b14   Unused (zero).
b13...b0   Least significant 14-bits of external start address for DMA transfer.
dm(3FE316) BDMA Control
b15...b8   Byte memory page, i.e. most significant 8-bits of external start address for DMA transfer.
b7...b4   Selects the internal DM or PM overlay to read/write.
b3   0 = programme continues execution during DMA transfer.
1 = context reset: halt execution, and restart from address 000016 when the DMA transfer completes.
b2   0 = read from byte memory.
1 = write to byte memory.
b1...b0   00 = read/write 24-bit words in PM.
01 = read/write 16-bit words in DM.
10 = read/write most sig. 8-bits in DM.
11 = read/write least sig. 8-bits in DM.
dm(3FE416) BDMA Word Count
b15...b14   Unused (zero).
b13...b0   Number of words to transfer: decrements to zero during the transfer.