ARM: Stromaufnahme vs. Speed

Gast #230624
Lesenswert?

Hallo,

kann mir jemand sagen, wieviel so ein ARM (z.B. AT91SAM7S128) je nach
Clock-Speed so zieht? Wir brauchen etwas schnelleres als den MSP430,
soll aber nicht gleich ein Vielfaches an Strom ziehen.
Der ARM muss nicht auf voller Geschwindigkeit laufen (so viel ist nun
auch wieder nicht zu tun)

Gruß
Gast #230625
Lesenswert?

Aussage von Atmel für die SAM7S Serie:

"Power consumption with voltage regulator ON, BOD activated, ARM core
@50MHz, ADC activated, all peripherals clocked:
31.3 mA

Power consumption in ultra low power mode: voltage regulator in idle
mode, BOD and ADC deactivated, all peripherals unclocked, Flash in
standby, ARM core @500Hz:
41.2 µA
"

Gruß Jörn
Gast #230626
Lesenswert?

Ja danke,

aber es ging nicht um den LPM, sondern darum, den ARM im Betrieb
möglichst stromsparend zu verwenden z.B. durch:
1.) Absenkung der Versorgungsspannung
2.) Reduktion der Taktrate auf z.B. 25MHz

Gruß

Ulf
Gast #230628
Lesenswert?

Hallo Ulf,

wir haben die LPC2000 gemessen und kommen dabei auf folgende Werte mit
Peripherals clocked:
60 MHz von SRAM ca 40 mA in ARM mode
60 MHz von Flash ca 33 mA in ARM mode
Weil die LPCs ein 128-bit breites interface zum Flash haben sind die im
ARM mode spuerbar schneller als SAM7S allerdings ist es im Thumbmode,
der 20-30% weniger Performance bringt ziemlich genau gleich weil da das
32-bit breite Interface von Atmel genuegt.
Fuer Spitzengeschwindigkeit aus Flash ist der LPC ganz klar schneller,
aus dem SRAM bekommst du schlicht und ergreifend den Unterschied in
MHz.
Ach ja, ein Unterschied zwischen Flash LPC @ 60 MHz und Atmel SAM7S @
55 MHz vom SRAM existiert praktisch nicht +/- 2% performance gemessen.
Allerdings gibt es einen gewaltigen Unterschied zwischen Atmel Flash
und Philips Flash wenn im schnelleren ARM mode gearbeitet wird.

Unterschied zwischen ARM Mode und Thumb Mode:
Es benoetigt ca. 7 Thumb Befehle um dieselbe Funktion auszufuehren wie
5 ARM Befehle. Das bedeutet, 5 ARM Befehle = 20 Bytes, 7 Thumb Befehle
14 Bytes, also eine Code Optimierung von 30%. Das sind so die Zahlen
die allgemein auftauchen. Dann heisst es immer, dass Thumb Mode nur
minimale Performance Einbussen hat. Na ja, so kann man das nicht sagen,
es braucht aehnlich viele Zyklen in der CPU einen Thumb Befehl
abzuarbeiten wie einen ARM Befehl aber die CPU muss 2 Befehle mehr
abarbeiten im Thumb mode.
Der langen Rede kurzer Sinn, was im Thumb mode an Code Groesse gespart
wird geht an Geschwindigkeit verloren.
Trotzdem macht es Sinn den Thumb Mode fuer den groessten Teil des Codes
zu benutzen weil normalerweisse 90% oder mehr nicht kritisch ist in
Bezug auf Geschwindigkeit.

Fuer Deine Anforderung wuerde ich als empfehlen im ARM Mode zu
arbeiten.
Angenommen, 20 MHz sind schnell genug, dann spielen die
unterschiedliche Flashs sowieso keine Rolle, Du solltest so zwischen
12-15 mA bei SAM7 oder LPC2000 bekommen. Die Unterschiede zeigen sich
erst wenn es schnell wird (>30 MHz).

Gruss, Robert
Gast #230629
Lesenswert?

Ich kenne den neunen Thumb-2 nicht, aber beim ursprünglichen ist es
definitiv so, daß jede Thumb-Instruktion intern genau einer
ARM-Instruktion entspricht.

Man sollte aber auch nicht vergessen, daß bei Thumb die meisten
Instruktionen nur auf den halben Registersatz zugreifen können, daß man
nur 2-Adresscode statt 3-Adresscode wie bei ARM hat und daß Shifts und
Rotationen bei ARM keine eigenständigen Instruktionen sind, sondern mit
jeder datenverarbeitenden Instruktion kombiniert werden können und dabei
noch nicht einmal zusätzliche Taktzyklen verbrauchen, wenn man nicht
gerade einen variablen Shift will.

Der Hauptvorteil von Thumb ist somit vor allem die bessere Codedichte
und die Tatsache, daß man den Code aus einem stormsparenderen 16-Bit
Speicher laden kann. Zumindest wird es so von Steven Furber
dargestellt, und der sollte es als einer der ursprünglichen Designer
des Prozessors eigentlich wissen...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren