![](http://datasheet.mmic.net.cn/230000/79RC32438-200BB_datasheet_15568909/79RC32438-200BB_558.png)
IDT
Operation Section Notation and Functions
79RC32355 User Reference Manual
A - 8
November 4, 2002
Notes
AddressTranslation
The AddressTranslation function translates a virtual address to a physical address and its cache coher-
ence algorithm, describing the mechanism used to resolve the memory reference.
Given the virtual address vAddr, and whether the reference is to Instructions or Data (IorD), find the
corresponding physical address (pAddr) and the cache coherence algorithm (CCA) used to resolve the
reference. If the virtual address is in one of the unmapped address spaces, the physical address and CCA
are determined directly by the virtual address. If the virtual address is in one of the mapped address spaces
then the TLB determines the physical address and access type; if the required translation is not present in
the TLB or the desired access is not permitted, the function fails and an exception is taken.
(pAddr, CCA)
←
AddressTranslation (vAddr, IorD, LorS)
/* pAddr: physical address */
/* CCA: Cache Coherence Algorithm, the method used to access caches*/
/*
and memory and resolve the reference */
/* vAddr: virtual address */
/* IorD:
Indicates whether access is for INSTRUCTION or DATA */
/* LorS: Indicates whether access is for LOAD or STORE */
/* See the address translation description for the appropriate MMU */
/* type in Volume III of this book for the exact translation mechanism */
endfunction AddressTranslation
LoadMemory
The LoadMemory function loads a value from memory.
This action uses cache and main memory as specified in both the Cache Coherence Algorithm (CCA)
and the access (IorD) to find the contents of AccessLength memory bytes, starting at physical location
pAddr. The data is returned in a fixed-width naturally aligned memory element (MemElem). The low-order
two (or three) bits of the address and the AccessLength indicate which of the bytes within MemElem need
to be passed to the processor. If the memory access type of the reference is uncached, only the referenced
bytes are read from memory and marked as valid within the memory element. If the access type is cached
but the data is not present in cache, an implementation-specific size and alignment block of memory is read
and loaded into the cache to satisfy a load reference. At a minimum, this block is the entire memory
element.
MemElem
←
LoadMemory (CCA, AccessLength, pAddr, vAddr, IorD)
/* MemElem: Data is returned in a fixed width with a */
/*
natural alignment. The width is the same size */
/*
as the CPU general-purpose register, */
/*
32 or 64 bits, aligned on a 32- or 64-bit */
/*
boundary, respectively. */
/* CCA:
Cache Coherence Algorithm, the method used to */
/*
access caches and memory and resolve the reference */
/* AccessLength: Length, in bytes, of access */
/* pAddr:
physical address */
/* vAddr:
virtual address */
/* IorD:
Indicates whether access is for Instructions or Data */
endfunction LoadMemory