Hallo, ich entwickle für einen ARM926EJ-S Prozessor. Bisher war der I&D Cache über die C&B Bits deaktiviert. Nun möchte ich das soweit möglich auf Write-back umstellen. Gehe ich richtig in der Annahme, dass sämtliche Peripherie vom Cache nichts mitbekommt. Ich also bei z.B. MEM -> SD Card mit Hilfe von DMA zuvor ein Cache Clean ausführen muss. und bei SD Card -> MEM nach dem Lesen ein Invalidate Cache ausführen muss.
Beitrag "ARM926ej-s DCache write-back fehler" Neben dem Putzen besteht auch die Möglichkeit, reine Transferpuffer erst garnicht ins Caching aufzunehmen. Je nachdem was man mit den Daten macht wird mal das Eine mal das Andere sinnvoller sein. Das Problem könnte evtl. bereits bei Write-Though auftreten, wenn alter Inhalt im Cache und neuer Inhalt im Speicher.
Die MMU-Table im ROM hat so ein Feature. Da gibt es für den RAM zwei verschiedene VA. Einmal mit Cache und einmal Ohne. Da ich aber doch einige Berechnungen durchführen muss, habe ich mir gedacht es wäre sinnvoller, den Cache auf Write-back einzustellen und gegebenenfalls ein Cache Clean & Flush auszuführen.
Gibt es einen Richtwert wie lange ein Cache Clean oder Flush für eine Cache Line braucht?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.