13.07.2015 Views

Intel 80200 Processor based on Intel XScale Microarchitecture

Intel 80200 Processor based on Intel XScale Microarchitecture

Intel 80200 Processor based on Intel XScale Microarchitecture

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Errata14. Preload instructi<strong>on</strong> may stall for up to three cyclesProblem:Workaround:A Preload (PLD) instructi<strong>on</strong> may stall if <strong>on</strong>e of the three operati<strong>on</strong>s before it is a memoryoperati<strong>on</strong>. The stall may be for up to three cycles even if these instructi<strong>on</strong>s are in the cache.Make sure the three instructi<strong>on</strong>s before a PLD instructi<strong>on</strong> are not memory operati<strong>on</strong>s.Status: Fixed. Fixed <strong>on</strong> B-step. See the Table “Summary Table of Changes” <strong>on</strong> page 7.15. Debug overflow flag not set when debugger writes RX at same time ashandler reads RXProblem:Workaround:Typically the software debugger and the handler never access the RX register at the same timebecause of the RX handshaking via the RR bit in TXRXCTRL. However, during high-speeddownload, the debugger and handler bypass part of this handshaking. The debugger skips the checkto see whether the handler has read the previous data because ideally the handler is waiting for thenew data by the time the debugger does an Update_DR.The problem occurs because the debugger skips this check. In the test, the handler reads the firstdata word and stalls during the store. During this time the debugger scans in the sec<strong>on</strong>d word andstarts scanning in the third word. Then the handler unstalls and sees that the data is valid in RX. Soas it reads the data, at the same time the debugger completes scanning in the third word. It turns outthat the handler see this third word, not the sec<strong>on</strong>d word, which is OK since this is just an overflowc<strong>on</strong>diti<strong>on</strong>. But the problem is that the overflow flag is not set. So the handler c<strong>on</strong>tinues and storesthis data out, but it lost the sec<strong>on</strong>d word.So this is a problem for the debugger because the code and data it just downloaded is corrupted.The high-speed download is a feature for enhancing debugger performance during code download.A debugger can work around this for now by either not using it or restricting usage to memoryregi<strong>on</strong>s which are guaranteed to be fast enough not to run into this problem. The alternative routineis the normal write_mem functi<strong>on</strong>, which does the normal handshaking, although it can be muchslower depending <strong>on</strong> how the debugger implements the handshaking.Status: Fixed. Fixed <strong>on</strong> B-step. See the Table “Summary Table of Changes” <strong>on</strong> page 7.16. Instructi<strong>on</strong> executes multiple times under certain code sequencesProblem:Workaround:If the following sequence of instructi<strong>on</strong>s executes:MCR invalidate TLBMCR any IFU (instructi<strong>on</strong> fetch unit) or IMMU commandCISC any instructi<strong>on</strong> that requires multiple issue cyclesInstructi<strong>on</strong>s nInstructi<strong>on</strong> n+1Then instructi<strong>on</strong> n+1 executes multiple timesBreak the MCR (Move to Coprocessor from ARM Register) sequence above with any instructi<strong>on</strong>,such as the CPWAIT routine described in secti<strong>on</strong> 2.3.3 of the <str<strong>on</strong>g>Intel</str<strong>on</strong>g> ® <str<strong>on</strong>g>80200</str<strong>on</strong>g> <str<strong>on</strong>g>Processor</str<strong>on</strong>g> <str<strong>on</strong>g>based</str<strong>on</strong>g> <strong>on</strong><str<strong>on</strong>g>Intel</str<strong>on</strong>g> ® <strong>XScale</strong> <strong>Microarchitecture</strong> Developer’s Manual, an ARM architecture compliantdocument.Status: Fixed. Fixed <strong>on</strong> B-step. See the Table “Summary Table of Changes” <strong>on</strong> page 7.16 <str<strong>on</strong>g>Intel</str<strong>on</strong>g> ® <str<strong>on</strong>g>80200</str<strong>on</strong>g> <str<strong>on</strong>g>Processor</str<strong>on</strong>g> <str<strong>on</strong>g>based</str<strong>on</strong>g> <strong>on</strong> <str<strong>on</strong>g>Intel</str<strong>on</strong>g> ® <strong>XScale</strong> <strong>Microarchitecture</strong> Specificati<strong>on</strong> Update

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

Saved successfully!

Ooh no, something went wrong!