6 supervisor/user stack pointers, 7 access error stack frame, 8 expanded control register space – Freescale Semiconductor MCF5480 User Manual

Page 171: 9 changes to acrs and cacr, Supervisor/user stack pointers -5, Access error stack frame -5, Expanded control register space -5, Changes to acrs and cacr -5

Advertising
background image

Virtual Memory Management Architecture

MCF548x Reference Manual, Rev. 3

Freescale Semiconductor

5-5

more bits than the in-page address, one or more of the low-order virtual page number bits are used to

address the cache. The MMU translates these bits; the resulting low-order physical page number bits are

used to determine cache hits.
Address aliasing problems occur when two virtual addresses access one physical page. This is generally

allowed and, if the page is cacheable, one coherent copy of the page image is mapped in the cache at any

time.
If multiple virtual addresses pointing to the same physical address differ only in the low-order virtual page

number bits, conflicting copies can be allocated. For an 8-Kbyte, 4-way, set-associative cache with a

16-byte line size, the cache set address uses address bits 10–4. If virtual addresses 0x0_1000 and 0x0_1400

are mapped to physical address 0x0_1000, using virtual address 0x0_1000 loads cache set 0x00; using

virtual address 0x0_1400 loads cache set 0x40. This puts two copies of the same physical address in the

cache making this memory space not coherent. To avoid this problem, software must force low-order

virtual page number bits to be equal to low-order physical address bits for all bits used to address the cache

set.

5.2.3.6

Supervisor/User Stack Pointers

To isolate supervisor and user modes, CF4e implements two A7 register stack pointers, one for supervisor

mode (SSP) and one for user mode (USP). Two former M68000 family privileged instructions to load and

store the user stack pointer are restored in the instruction set architecture.

5.2.3.7

Access Error Stack Frame

accesses that fault (that is, terminate with a transfer error acknowledge) generate an access error

exception. MMU TLB misses and access violations use the same fault. To quickly determine if a fault was

due to a TLB miss or another type of access error, new fault status field (FS) encodings in the exception

stack frame signal TLB misses on the following:

Instruction fetch

Instruction extension fetch

Data read

Data write

See

Section 5.4.3, “Access Error Stack Frame Additions

,” for more information.

5.2.3.8

Expanded Control Register Space

The MMU base address register (MMUBAR) is added for ColdFire virtual mode. Like other control

registers, it can be accessed from the debug module or written using the privileged MOVEC instruction.

See

Section 5.5.3.1, “MMU Base Address Register (MMUBAR)

.”

5.2.3.9

Changes to ACRs and CACR

New ACR and CACR bits,

Table 5-1

, improve address granularity and supervisor mode protection. These

improvements are not necessary to implement the ColdFire MMU, but they improve memory

functionality for physical and virtual address environments.

Advertising
This manual is related to the following products: