09.12.2012 Views

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical Reference Manual - ARM Information Center

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Level 2 Memory System<br />

Note<br />

It is entirely possible that the L1 data cache contains the same line that is transferred by the PLE<br />

engine to the external memory. Therefore it is possible for the line to become valid in the L2<br />

cache as a result of an L1 eviction.<br />

During data transfers into the L2 cache RAM, any L2 cache RAM data present in a different L2<br />

cache RAM way, other than the way specified by the L2 PLE Control Register bits [2:0], remain<br />

in the different way. The preload engine continues with the next cache line to be loaded and the<br />

line is not relocated to the specified way.<br />

During transfers to or from the L2 cache RAM, if the PLE crosses a page boundary, a hardware<br />

translation table walk is performed to obtain a new physical address for that new page. All<br />

standard fault checks are also performed. If a fault occurs, the PLE signals an interrupt on error.<br />

The PLE updates the L2 PLE Channel Status Register to capture the fault status. The address<br />

where the fault occurred is captured in the L2 PLE Internal Start Address Register.<br />

When a PLE channel completes the transfer of the data block to or from the L2 cache RAM, it<br />

signals an interrupt. This interrupt can be either secure, nDMASIRQ, or nonsecure,<br />

nDMAIRQ, if IC bit [29] in the L2 PLE Control Register is enabled. In addition, there might<br />

be an interrupt-on-error, nDMAEXTERRIRQ, indicated if the PLE aborts for any reason and<br />

if the interrupt-on-error bit is enabled.<br />

If you program the PLE to load data into the L2 cache RAM, the PLE transfers data to the L2<br />

cache RAM if the memory region type is cacheable. To determine the memory region type, the<br />

PLE performs a hardware translation table walk at the start of the sequence and for any 4KB<br />

page boundary. The PLE channel does not save any state for the table walk. The translation<br />

procedure is for exception checking purposes and for determination of the memory attributes of<br />

the page. Any unexpected L2 cache RAM hits found when using the PLE are ignored for any<br />

type of data transfer.<br />

Note<br />

Both channels can run concurrently and be programmed to transfer data from external memory<br />

to the same L2 cache RAM way. At the completion of both PLE transactions, the data from<br />

either channel 0 or 1might be present in the L2 cache.<br />

8.4.2 Preload engine commands and status interaction<br />

When the preloading engine channel has been configured, the channel begins to transfer data<br />

after it executes the start command. If at any time during the transfer, a preloading engine<br />

channel command of stop or clear is executed, the following rules apply for that command:<br />

START Channel status transitions from idle to running. It has no effect on a channel status<br />

of running. The start and end address registers are updated as preloading engine<br />

transfers complete.<br />

STOP Channel status transitions from running to idle. The start and end address reflect<br />

the next transfer to occur. When the channel is stopped, the address plus stride of<br />

the last transfer is stored in the PLE Internal Start Address Register. In addition,<br />

the remaining number of cache lines to be transferred is stored in the PLE Internal<br />

End Address Register. Therefore, by executing a start command, the preloading<br />

engine continues from the point when it was stopped.<br />

CLEAR Channel status transitions from error or complete to idle and the interrupt or error<br />

flag is cleared to 0. It has no effect on a channel status of running. The start and<br />

end address registers are unchanged.<br />

<strong>ARM</strong> DDI 0344K Copyright © 2006-2010 <strong>ARM</strong> Limited. All rights reserved. 8-7<br />

ID060510 Non-Confidential

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!