beautypg.com

5 pseudo-von neumann memor, 5 pseudo-von neumann memory access -9, Maxq family user’s guide – Maxim Integrated MAXQ Family User Manual

Page 14

background image

2-9

2.5 Pseudo-Von Neumann Memory Access

The pseudo-Von Neumann memory mapping is straightforward if there is no memory overlapping among the program, utility ROM, and

data memory segments. However, for applications requiring large-size program memory, the paging scheme can be used to selectively

activate those overlapped memory segments. The UPA bit can be used to activate the upper half of the physical program code (P2 and

P3) for program execution. When accessing the program memory as data, the CDA bits can be used to select one of the four program

pages as needed. Full data memory access to any of the four physical program memory pages is based on the assumption that the max-

imum physical data memory is in the range of 16k x 16. The other restriction for accessing the pseudo-Von Neumann map is that when

program execution is in a particular memory segment, the same memory segment cannot be simultaneously be accessed as data.

When executing from the lower 32k program space (P0 and P1):

• The upper half of the code segment (P2 and P3) is accessible as program if the UPA bit is set to 1.

• The physical data memory is available for accessing as a code segment with offset at xA000h if the UPA bit is 0.

• Load and Store operations addressed to physical data memory are executed as normal.

• The utility ROM can be read as data, starting at x8000h of the data space.

When executing from the utility ROM (only allowable when UPA = 0):

• The lower 32k program space (P0 and P1) functions as normal program memory.

• The upper half of the code segment (P2 and P3) is not accessible as program (since UPA = 0).

• The physical data memory is available for accessing as a code segment with offset at xA000h.

• Load and Store operations addressed to physical data memory are executed as normal.

• One page (byte access mode) or two pages (word access mode) can be accessed as data with offset at x8000h as determined by

the CDA1:0 bits.

Physical Program

(P0)

PHYSICAL DATA

x0000

x8000

x4000

DATA MEMORY

0

15

LOGICAL SPACE

MAXQ20 MEMORY MAP (DEFAULT CONDITION, UPA = 0)

PHYSICAL DATA

x0000

x8000

xFFFF

x0000

x4000

x8000

DATA MEMORY

PROGRAM MEMORY

15

0

0

15

LOGICAL SPACE

LOGICAL SPACE

MAXQ20 MEMORY MAP (UPA = 1, CDA IS DON’T CARE)

LOGICAL UTILITY ROM

P2

P3

PHYSICAL PROGRAM

(P3)

PHYSICAL PROGRAM

(P2)

PHYSICAL PROGRAM

(P1)

PHYSICAL PROGRAM

(P0)

xFFFF

xFFFF

PHYSICAL PROGRAM

(P0)

UTILITY ROM

x0000

x8000

xA000

xFFFF

PROGRAM MEMORY

15

0

LOGICAL SPACE

PHYSICAL PROGRAM

(P1)

Figure 2-4. Pseudo Von Neumann Memory Map (MAXQ20 Default)

MAXQ Family User’s Guide

Maxim Integrated