www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Blackfin & SDRAM-Banks?


Autor: Joern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

in einem Projekt verwende ich einen Blackfin mit SDRAM. Leider 
enttaeuscht bisher die Geschwindigkeit mit der dieser den Algorithmus 
ausfuehrt und nun bin ich auf der Such nach der Ursache. Etwas 
beschleunigt hat es den Algorithmus bereits, dass er nun aus dem 
L1-Code-Speicher laeuft und alle wichtigen Variablen im L1-Data-Speicher 
liegen. Der Cache ist auch aktiviert, schafft aber wenig weg, weil wenig 
temporaere und raeumliche Koherenz beim Speicherzugriff vorliegt.
Und hier scheint auch das Problem zu liegen, in den vielen 
Speicherzugriffen.
Wie kann ich da optimieren? Es wird auf zwei lange zusammenhaengende 
Strings von char-Typen zugegriffen. Kann ich die in verschiedene Banks 
im SDRAM legen um den Zugriff zu beschleunigen, da dann nicht immer eine 
neue Row-Adresse geladen werden muss. Wird dies vom Blackfin 
unterstuetzt? Und wenn ja, wo liegen dann die Adressen? Ich verwende 
einen MT48LC16M16 mit A18 und A19 als BA0 und BA1.


Gruss, Joern

Autor: Martin S. (strubi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Joern,

ich habe nur mal vor einer Weile ein Bandbreitenproblem mit dem PPI 
gehabt, da half es, die Verarbeitungs- und Einlese-Puffer in 
unterschiedlichen Banken abzulegen. Allerdings hatte das mit DMA bursts 
und Refresh-Zeiten zu tun - und es waren zwei Chips. Weiss gerade nicht, 
ob der Blackfin schlau genug ist, die Row-Zugriffe zusammenzufassen - 
gehe aber mal davon aus.
Ich haette sonst mal versucht, die Daten irgendwie 'interleaved' im 
Speicher abzulegen. Ich nehme mal an, dass Du die irgendwoher gefuettert 
bekommst, also kannst Du ev. die DMA-Stroeme so programmieren, dass 
Datenstroeme 'A' und 'B' auf geraden/ungeraden Adressen abgelegt werden 
(X_MODIFY ist unser Freund :-) )

Gruss,
- Strubi

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.