Ich versuche mein Bildverarbeitungsprojekt zu verbessern, das auf einem ARM Cortex-a8-Prozessor läuft.ARM Cortex-A8: Wie viele Bytes werden in einem Speicher gelesen?
Ich habe auf 8-Bit-Graustufen-Bilddaten aus dem Speicher zugegriffen. In meiner Funktion greife ich jetzt Byte für Byte auf den einzelnen Pixelwert zu.
Ich dachte, dass durch die Verwendung von NEON kann ich dies durch den Zugriff 128/8 = 16 Bytes in einem Schuss aus dem Speicher verbessern und dann von ihnen in meiner Funktion verwenden. Aber beim Ausführen der geänderten Version sehe ich, dass dies tatsächlich MEHR Zeit als byteweise Zugriff ist. Ich denke, dass das Abrufen mit NEON zu einem Flaschenhals wird, der mehr Zeit in Anspruch nimmt als meine Rechenzeit.
Wie groß ist die Datenbusgröße von ARM Cortex-A8? Wie viele Bytes werden vom Speicher in einem Speicher abgerufen?
Der Cache wird dies in der Regel abstrahiert haben. Von SDRAM wird es Burst Reads und schreibt. Wenn Sie direkten Bildschirmspeicher verwenden, dann kann der Cache * durch * schreiben. Die Antwort hängt davon ab, welchen Speicher Sie verwenden. Sie sollten die Speicherleistung * immer vergleichen und dann mit Ihrem Code vergleichen. Siehe: [Cortex-A8-Speicherkopie] (http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka13544.html). –