Forum: Mikrocontroller und Digitale Elektronik Fragen zur ARM architektur


von Toto L. (Firma: totoloto AG ;)) (totoloto133)


Lesenswert?

Hallo,

Nachdem ich die Doku zum ARM7TDMI prozessor core gelesen habe, stellen 
sich noch ein paar Fragen.
Und zwar ist ein ganzes Kapitel den "Operating modes" gewitmet.
Dort werden die verschiedenes Modis vom user, über dem fastinterrupt zum 
System modus und deren Verfügbarkeit an den Register erklärt.
Was für ein Nutzen soll das denn haben ?
Wenn ich mich richtig erinnere habe ich sowas ähnliches von der 
Computerarchitekturen gehört damit das Betriebsystem Multiuserfähig ist.
Hat das einen Sinn bei 256 KB flash und 64 KB ram ?
Ich blicke da nicht durch.

Was ist mit den Gleitkommazahlen (float)?
Leider ist da nicht die rede von einem Coprozessor oder sowas.
Da muss ich wohl ausgehen das die per software errechnet werden müssen.
Oder ?

Danke im vorraus

von Andreas K. (a-k)


Lesenswert?

Toto Loto wrote:

> Was für ein Nutzen soll das denn haben ?

In anderen Architekturen werden Programmzähler und Statusregister auf 
dem Stack gesichert. In ARM wird das anders gehandhabt, und daher 
existieren die Schattenregister, die der Sinn dieser Modi sind.

Die in ARM verwendete Technik der Schattenregister für Interrupts ist 
gleichzeitig die grösste Schwachstelle dieser Architektur, weil sie 
verschachtelte Interrupts unnötig erschwert.

> Wenn ich mich richtig erinnere habe ich sowas ähnliches von der
> Computerarchitekturen gehört damit das Betriebsystem Multiuserfähig ist.

Hat damit rein garnichts zu tun.

> Leider ist da nicht die rede von einem Coprozessor oder sowas.
> Da muss ich wohl ausgehen das die per software errechnet werden müssen.

Korrekt. Wer pfeilschnelle Fliesskommarechung benötigt, nimmt andere 
Prozessoren.

von Matthias (Gast)


Lesenswert?

Zu Operating Modes:
Die vom ARM7TDMI eingesetzt ARMv4 Befehlssatzarchitektur wird ja nicht 
nur im ARM7TDMI, sondern auch von anderen Prozessoren (auch mit support 
für externen speicher und mmu) eingesetzt. Deswegen ist sowas enthalten. 
aber auch für ein schmales RTOS kann es sinnvoll sein mehrere Modes zu 
haben. Und der Interrupt Mode macht schon in sofern sinn, dass man 
während interrupts auf ein eigenes Stack Register zugreifen kann.

Floats:
Der ARM7TDMI enthält standardmäßig keine FPU. Allerdings kann diese als 
Coprozessor von einem Prozessorhersteller dazugebaut werden.

von Andreas K. (a-k)


Lesenswert?

Was den USER Modus angeht: Dessen Nutzen ist bei Controllern der 
ARM7-Klasse umstritten. Indes wurde die ARM Architektur für einen 
Rechner mit augewachsenem Betriebssystem konzipiert. Und da war das 
sinnvoll. Die Verwendung in embedded systems kam später.

von Toto L. (Firma: totoloto AG ;)) (totoloto133)


Lesenswert?

Bin schon etwas klüger.
danke

von Robert T. (robertteufel)


Lesenswert?

Toto Loto wrote:
> Hallo,
> Und zwar ist ein ganzes Kapitel den "Operating modes" gewitmet.
> Was für ein Nutzen soll das denn haben ?
bei einem groesseren Betriebssystem ist es nuetzlich, den Enduser im 
Usermode davon abzuhalten die Routinen, die z.B. im Supervisor mode 
laufen, das waere oft das Betriebssystem aubzuschiessen.

> Hat das einen Sinn bei 256 KB flash und 64 KB ram ?
Nicht wirklich fuer einen SAM7 braucht man das nicht. Trotzdem kann ein 
kleiner RTOS Kernel sehr nuetzlich sein und der verwendet dann evtl. 
solche Modi.

> Was ist mit den Gleitkommazahlen (float)?
Die Float Coprozessoren kommen erst bei recht fetten Prozessoren oder 
Spezialanwendungen ins Spiel. Trotzdem ist Floating Point ein Gebiet, 
bei dem ein ARM die 8- und die meisten 16-bit Prozessoren WEIT hinter 
sich laesst. Die Bestandtteile einer Float Zahl werden eben in 32-bit 
Haeppchen verarbeiet und nicht in 8-bit Haeppchen. Um ein Gefuelh dafuer 
zu bekommen brauchts nicht mal Hardware, z.B. bei Keil den ARM Compiler 
runterladen mit 16k Evaluierungslizenz, den Simulatir benutzen und mal 
ein paar kleine Berechnungen mit Stoppuhr durchfuehren. Das dann mit dem 
Prozessor vergelichen, den Du jetzt einsetzt.

Bin mir nicht 100% sicher ob Float in der Eval Lizenz nicht gesperrt 
ist??

Robert

von Toto L. (Firma: totoloto AG ;)) (totoloto133)


Lesenswert?

Danke ...
mal sehe was man damit anstellen kann ...

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
Noch kein Account? Hier anmelden.