Frage zur Sättigung des Cortex M3

OP #2574006
Lesenswert?
• ▲
▼
Hi

Ich arbeite mich gerade in den Cortex M3 (LM3S9B92 von TI) ein. Da ich 
mit ihm einige DSP Aufgaben in C erledigen möchte, ist für mich die 
Unterstüzung der Sättigung interessant. Bisher habe ich aber nur 
Assembler Anweisungen gefunden und das Datenblatt erwähnt nur ein 
Sättigungsbit im Programm Status Register.

Wie sieht es beim Cortex mit der Sättigung aus? Muss man das ganze erst 
aktivieren oder geht wird das ganze nur bei Rechnungen mit expliziter 
Assembleranweisung unterstützt?

Würde mich freuen, wenn mir jemand bei dieser Frage helfen könnte.

Schöne Grüße
OP #2574038
Lesenswert?
• ▲
▼
A. K. schrieb:
> André M. schrieb:
>
>> wird das ganze nur bei Rechnungen mit expliziter
>> Assembleranweisung unterstützt?
>
> Ebendies. Wenn es um den GCC geht, dann lassen sich solche
> Assembler-Anweisungen allerdings recht elegant in den C Code einbauen.
> Inwieweit andere Compiler diese Befehle als Intrinsics unterstützen muss
> du nachsehen.

Danke für deine schnelle Antwort. Ich arbeite mit dem Code Composer 
Studio und dem entsprechenden Compiler. Mh, das ist natürlich ärgerlich, 
wenn ich dann noch auf Assembler Eben "rumfrickeln" muss, was ich eher 
vermeiden wollte.
OP #2578442
Lesenswert?
• ▲
▼
Ich habe dazu gleich mal eine Anschlussfrage. Der Cortex M3 besitzt ja 
auch hardware devider und untersützt die hardwareseitige multiplikation 
und accumulation (ähnlich der MAC Einheit beim DSP), was als SIMD 
(Single Instruction Multiple Data) bezeichnet wird. Können auch diese 
Funktionalitäten nur aus Assembler heraus genutzt werden oder generieren 
die C Compiler Code, der diese Hardwarefunktionalitäten ausnutzt?
OP #2579849
Lesenswert?
• ▲
▼
Hi,

danke für eure Antworten. Ich habe mir den User Guide zu dem Compiler 
(TMS470, http://www.ti.com/lit/ug/spnu151g/spnu151g.pdf) angeschaut und 
der offenbart mir, dass es für den M3 Intrinsics für die 
Sättigungsoperationen gibt (Seite 104) aber für die für DSP Aufgaben 
interessesanten Operationen wie "multiply-accumulation" gibt es 
seltsamerweise nur welche für den M4, obwohl doch der M3 diese Befehle 
auch unterstützt. Oder sollten diese Intrinsics auch für den M3 
funktionieren?
OP #2586107
Lesenswert?
• ▲
▼
Zorg schrieb:
> Das Du nen M4 nehmen sollst der M3 hat den ganzen DSP Kram nicht das ist
> ja der Unterschied zwischen den beiden.

Naja, der M3 wird es sein müssen, das steht fest und der Befehlssatz ist 
ja da und wird vom M3 unterstützt, also zumindest die beiden für mich 
relevanten Funktionen der Sättigung und der "multiply-accumulation". 
Müsste es nicht sonst möglich sein, letztere Funktionalität über "inline 
assembler" aus meinem C Code heraus zu nutzen? Wäre ja aus der Sicht der 
Performance ganz schön die Hardwareblöcke nutzen zu können.
Gast #2586241
Lesenswert?
• ▲
▼
André M. schrieb:
> Ich arbeite mich gerade in den Cortex M3 (LM3S9B92 von TI) ein.

Da würd ich an deiner Stelle mal die Verfügbarkeit prüfen. Mit dem 
Prozessor haben wir vor nem halben Jahr schon ein Projekt durchgezogen 
und dann mit hängen und Würgen ein paar Samples gekriegt, 
Massenverfügbarkeit = 0
Es gibt nur diese dämlichen Entwicklungskits... Oder hat sich das 
mittlerweile geändert? Farnell und Digikey haben jedenfalls keine
OP #2586257
Lesenswert?
• ▲
▼
Phantomix schrieb:
> André M. schrieb:
>> Ich arbeite mich gerade in den Cortex M3 (LM3S9B92 von TI) ein.
>
> Da würd ich an deiner Stelle mal die Verfügbarkeit prüfen. Mit dem
> Prozessor haben wir vor nem halben Jahr schon ein Projekt durchgezogen
> und dann mit hängen und Würgen ein paar Samples gekriegt,
> Massenverfügbarkeit = 0
> Es gibt nur diese dämlichen Entwicklungskits... Oder hat sich das
> mittlerweile geändert? Farnell und Digikey haben jedenfalls keine

Es soll kein Massenprodukt werden sondern dient zur Studie für eine 
Bachelorarbeit. Es geht dabei rein um Machbarkeitsuntersuchungen.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.