Archiv Prozessoren 8.660 Themen, 54.742 Beiträge

ARM vs. X86

gelöscht_152402 / 2 Antworten / Baumansicht Nickles

Hallo zusammen

Neulich hab ich aufgeschnappt, dass eine CPU der ARM-Achitektur, in der nominalen Taktung nicht mit einer X86-CPU zu vergleichen wäre. Die Rede war von:
700MHz Arm etwa 233MHz X86. Leider war keine Begründung dabei.

Stimmt das, und wenn ja, warum ist das so? Und gibt es dann irgendwo eine Übersicht zum Vergleich?

Meines Wissens nach, werden ARM-CPUs aufgrund ihres Befehlssatzes eher als schneller als ihre X86-Pendants deklariert. Weil aber dieser Befehlssatz weniger Kommandos beherrscht, "fehlt" es quasi an Leistung. Sollte etwas das damit gemeint sein?

Wer weiß mehr darüber?

Danke & Gruß

Borlander gelöscht_152402 „ARM vs. X86“
Optionen

Naja. Die ARM-Architektur ist besonders einfach aufgebaut und auf minimale Leistungsaufnahme hin optimiert. Der Abstand zwischen x86 und ARM ist in den letzten Jahren aber eher kleiner geworden. ARM ist leistungsfähiger als früher und die Leistungsaufnahme von x86-CPUs konnte teilweise dramatisch reduziert werden.

Ein direkter Vergleich ist da schwierig. Zumal Du z.B. auch schon bei X86-CPUs eine große Spannbreite gibt beider Rechenleistung.

Meines Wissens nach, werden ARM-CPUs aufgrund ihres Befehlssatzes eher als schneller als ihre X86-Pendants deklariert.

?

Weil aber dieser Befehlssatz weniger Kommandos beherrscht, "fehlt" es quasi an Leistung.

Die einzelnen Befehle sind weniger Mächtig als bei x86. D.h.: Für Operationen die Du auf x86-Systemen mit einem einzigen Befehl ausführen kannst brauchst Du u.U. auf ARM eine Hand voll Befehle. Beispiel: Addition von zwei Werten im Speicher und Ablegen des Ergebnisses im Speicher. Da musst Du dann bei Arm erst mal beide Werte einzeln in Register laden, kannst dann auf den Registern die Addition durchführen und musst das Ergebnis zurückschreiben. Also mal eben 4 Befehle statt einem…

Gruß
Borlander

gelöscht_152402 Borlander „Naja. Die ARM-Architektur ist besonders einfach aufgebaut ...“
Optionen

Soweit war ich auch schon...

Es war in einem älteren Artikel über den Raspberry Pi, welcher nominal mit 700MHz getaktet ist.
Darin tauchte die genannte Aussage auf.

Aber ich glaub ich weiß nun was der Autor damit meinte:

Beim Raspi gibt es eine "config.txt" in der man allerlei Einstellungen tätigen kann. Dort ist zu lesen:
ARM_freq 700 und core_freq 250.
Offensichtlich hat der Autor das so verstanden und wiedergegeben, dass die "core_freq" die Taktung des Kerns ist und demnach die CPU mit 250MHz läuft. Das war ein Irrtum!

Dazu hab ich das hier gefunden:
Not really an erratum, but not worth it to make a whole page for this. The Raspberry Pi runs the BCM2835 with a core clock of 250MHz. This is relevant for the peripheral modules like I2C, SPI and Timer ( ARM side ) for calculating the desired clock rate. The I2C section on page 34 mentions 150MHz as a "nominal core clock".

Quelle: http://elinux.org/BCM2835_datasheet_errata

Das heißt also, dass die ARM-CPU tatsächlich mit 700MHz getaktet ist, der Kerntakt beschreibt eine Art Bustakt für die genannten Schnittstellen. Das ist natürlich ein Unterschied!

Hoffe ich hab das richtig verstanden und ist ggf. auch für andere interessant. :-)

Danke & Gruß