ubuntuusers.de

[Frage] RISC(ARM) im Vorteil zu CISC(x86)?

Status: Ungelöst | Ubuntu-Version: Ubuntu 9.04 (Jaunty Jackalope)
Antworten |

Stumpftopf

Avatar von Stumpftopf

Anmeldungsdatum:
3. Juni 2007

Beiträge: 126

Wohnort: Bühl

Hey ho. Ich wollte mal Fragen obe mir mal einer Erklären kann. Ob RISC Architektur, in diesem fall ARM, im Vorteil zu CISC, hier x86, ist. Ich kann meine Wissen nur, auf die Erfahrung mit PIC und 8051 uControllern fest machen. Der PIC hat definitv Vorteil, beim verarbeiten von Befehlen. Da ja zum einlesen nur 1 Taktzyklus bzw. ja nach dem 2, von nöten ist. (Bitte berichtigen, falls ich mich irre) Da die Befehle ja eine feste länge haben. Ich weiss nur nicht wie sich das genau bei einem ARM verhällt. Bin leider noch nciht in den genuss gekommen, mit einem rum zu Spielen.

Warum ich das ganze wissen will? Einfach des wegen, weil ich gerne ein Netbook mit ARM Core hätte und ich auch schon öfter's gelesen habe, das die ARM ARchitektur, doch sehr sehr viele Vorteile bietet. Auch was die Geschwindigkeit angeht.

prometheus0815

Anmeldungsdatum:
12. Juni 2006

Beiträge: 7478

Stumpftopf schrieb:

Ob RISC Architektur, in diesem fall ARM, im Vorteil zu CISC, hier x86, ist.

Bei den üblichen x86- bzw. x64-Architekturen handelt es sich schon lange nicht mehr um CISC-Architekturen, sondern um RISC-Kerne mit einer Pseudo-CISC-Hülle außenrum.

Warum ich das ganze wissen will? Einfach des wegen, weil ich gerne ein Netbook mit ARM Core hätte und ich auch schon öfter's gelesen habe, das die ARM ARchitektur, doch sehr sehr viele Vorteile bietet.

Hast Du schon mal eine Desktop-Distribution für ARM-Prozessoren gesehen? Ich nicht. Viel Spaß beim Selbstkompilieren des ganzen Systems! Selbst falls Du so ein Netbook finden solltest, würden die Nachteile in der Praxis erheblich überwiegen.

Stumpftopf

(Themenstarter)
Avatar von Stumpftopf

Anmeldungsdatum:
3. Juni 2007

Beiträge: 126

Wohnort: Bühl

prometheus0815 schrieb:

Stumpftopf schrieb:

Ob RISC Architektur, in diesem fall ARM, im Vorteil zu CISC, hier x86, ist.

Bei den üblichen x86- bzw. x64-Architekturen handelt es sich schon lange nicht mehr um CISC-Architekturen, sondern um RISC-Kerne mit einer Pseudo-CISC-Hülle außenrum.

Öhmpf. Joar, an der tatsache das dann z.B. für ein

1
mov &H80,#FF

mind. 3 Taktzyklen von nöten sind ändert das aber nix oder? Mal abgesehn kann ARM eigentlich jeden Befehl bedingt ausführen soweit ich mich entsinne.

Warum ich das ganze wissen will? Einfach des wegen, weil ich gerne ein Netbook mit ARM Core hätte und ich auch schon öfter's gelesen habe, das die ARM ARchitektur, doch sehr sehr viele Vorteile bietet.

Hast Du schon mal eine Desktop-Distribution für ARM-Prozessoren gesehen? Ich nicht. Viel Spaß beim Selbstkompilieren des ganzen Systems! Selbst falls Du so ein Netbook finden solltest, würden die Nachteile in der Praxis erheblich überwiegen.

Öhm soweit ich weiss, soll es eine Ubuntu ARM Version geben. Ich gehe von aus das es dann auch entsprechende Reposetories geben wird. Notfalls kommt halt ein Gentoo drauf. Nuja und Akkulaufzeiten in dem Bereich von Handy's sehe ich schon als Vorteil.

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

Wie viele Taktzyklen ein Befehl benötigt, kann man bei modernen x86-CPUs gar nicht mehr wirklich sagen, da diese Prozessoren die Befehlsfolge umstrukturieren und mitunter verändern, um Cache Trashing zu vermeiden und die Geschwindigkeit zu erhöhen. Viele Taktzyklen gehen bereits für die interne Verwaltung drauf.

Es ist zudem naiv zu glauben, die Geschwindigkeit eines Prozessors hinge allein davon ab, wie viele Taktzyklen zur Ausführung einer bestimmten Assembler-Instruktion benötigt werden. Ein Prozessor, der intelligent optimiert und möglichst alle Befehle aus dem internen Cache bedient, dafür aber relativ lange zur Ausführung der Befehle braucht, ist in der Realität schneller als ein Prozessor, derschnelle skalare Befehle hat, aber kein Stück optimiert. Der Maßstab, denn du da anzulegen versuchst, ist zur Beurteilung der Qualität einer Prozessorarchitektur für den Endnutzer wenig bis gar nicht geeignet.

Außerdem: Was interessiert dich das als Nutzer? Solange du keine Assembler-Programme schreibst, ist die CPU-Architektur doch völlig egal. ARM mag vielleicht die elegantere und "schnellere" Architektur sein, aber ARM-Chips sind meist teurer, da nicht so verbreitet, und werden nur von wenigen Distributionen unterstützt. Du musst also aus den Quellen kompilieren, was bei den eher leistungsschwachen Netbook-CPUs sehr, sehr lange dauert, wahrscheinlich misst man eher in Wochen als in Tagen. Die Alternative ist, eine Cross-Compiling-Toolchain aufzusetzen, aber das ist ebenfalls sehr aufwendig und verlangt vor allem auch nicht wenig Erfahrung und Wissen.

Stumpftopf

(Themenstarter)
Avatar von Stumpftopf

Anmeldungsdatum:
3. Juni 2007

Beiträge: 126

Wohnort: Bühl

Lunar schrieb:

Wie viele Taktzyklen ein Befehl benötigt, kann man bei modernen x86-CPUs gar nicht mehr wirklich sagen, da diese Prozessoren die Befehlsfolge umstrukturieren und mitunter verändern, um Cache Trashing zu vermeiden und die Geschwindigkeit zu erhöhen. Viele Taktzyklen gehen bereits für die interne Verwaltung drauf.

Ja, da hast wohl recht. Ich hau mir dazu gerade ein Pdf File rein: http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/22007.pdf

Es ist zudem naiv zu glauben, die Geschwindigkeit eines Prozessors hinge allein davon ab, wie viele Taktzyklen zur Ausführung einer bestimmten Assembler-Instruktion benötigt werden. Ein Prozessor, der intelligent optimiert und möglichst alle Befehle aus dem internen Cache bedient, dafür aber relativ lange zur Ausführung der Befehle braucht, ist in der Realität schneller als ein Prozessor, derschnelle skalare Befehle hat, aber kein Stück optimiert. Der Maßstab, denn du da anzulegen versuchst, ist zur Beurteilung der Qualität einer Prozessorarchitektur für den Endnutzer wenig bis gar nicht geeignet.

Es geht mir auch nicht wirklich um den Endnutzer. Aber ihrgentwas muss ja dahinter sein. Ich versuche einfach zu ergründen wie das ganze Funktioniert. Alleine an der Taktung kann mann das ganz sicher nicht fest machen. Ich bzweifel aber das die ARM Core's weniger Optimiert sind als x86 Prozessoren. ARM ist ja nicht umsonst so beliebt auf dem Embeddedmarkt.

Außerdem: Was interessiert dich das als Nutzer? Solange du keine Assembler-Programme schreibst, ist die CPU-Architektur doch völlig egal. ARM mag vielleicht die elegantere und "schnellere" Architektur sein, aber ARM-Chips sind meist teurer, da nicht so verbreitet, und werden nur von wenigen Distributionen unterstützt. Du musst also aus den Quellen kompilieren, was bei den eher leistungsschwachen Netbook-CPUs sehr, sehr lange dauert, wahrscheinlich misst man eher in Wochen als in Tagen. Die Alternative ist, eine Cross-Compiling-Toolchain aufzusetzen, aber das ist ebenfalls sehr aufwendig und verlangt vor allem auch nicht wenig Erfahrung und Wissen.

Mich als Nutzer interessiert das nur in soweit das Teile weit aus weniger warm werden und weniger Strom fressen. Mich als wissbegieriger Mensch interessiert, einfach der Vergleich und die Funktion. Ich Bastel einfach gerne und Hinterfrage auch sachen gerne. Für mich ist ein PC halt nicht einfach nur ein Kasten, der Blinkt und einfach etwas macht. Nunja so Leistungsschwach sind die teile auch nede. Der neue ARM Cortex-8 soll mit 1 Ghz Taktung kommen. Da sollte das Kompalieren wohl nicht so lange gehn. Mal abgesehen davon, Nachts kann der lange genug Kompilieren. 😉 Wenn ich so an PowerPC-Zeiten denke, könnten RISC Architekturen doch einige Vorteile bieten. Die MAC's waren ja nede umsonst so beliebt.

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4695

Wohnort: Berlin

ARMs dürften um Embedded-Bereich wegen des geringeren Stromverbrauchs beliebt sein. Und der liegt zum Grossteil daran, dass die "Intelligenz", die bei x86 & Co im Prozessor steckt, bei Programmen für ARM-Prozessoren schon im Compiler stecken muss, bzw. im Kopf des Assemblerprogrammierers, für die Fälle wo jemand von Hand Assembler schreibt. Die ARMs sind halt wesentlich einfacher gestrickt.

prometheus0815

Anmeldungsdatum:
12. Juni 2006

Beiträge: 7478

Stumpftopf schrieb:

Ich bzweifel aber das die ARM Core's weniger Optimiert sind als x86 Prozessoren. ARM ist ja nicht umsonst so beliebt auf dem Embeddedmarkt.

Das wurde auch nicht behauptet, sondern nur, dass Dein einfacher Maßstab aus den genannten Gründen ungeeignet ist.

Der neue ARM Cortex-8 soll mit 1 Ghz Taktung kommen. Da sollte das Kompalieren wohl nicht so lange gehn. Mal abgesehen davon, Nachts kann der lange genug Kompilieren. 😉

Ja, für passende Definitionen von "so lange" dauert's dann nicht mehr "so lange" 😉

Die MAC's waren ja nede umsonst so beliebt.

Das lag mit Sicherheit nicht an den Prozessoren, sondern am Betriebssystem, genauer: an dessen Benutzerschnittstelle.

Herrbert

Avatar von Herrbert

Anmeldungsdatum:
1. Februar 2008

Beiträge: Zähle...

Wohnort: Fürth 'n Mannheim

aber ARM-Chips sind meist teurer, da nicht so verbreitet

Die ARM Chips sind IMHO ehr billiger.

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4695

Wohnort: Berlin

@Herrbert: Kommt auf die Stückzahlen und die Leistung an. Wenn Du etwas für den Desktop mit vergleichbarer Leistung haben möchtest wie die x86-CPUs, dann dürfte es teurer sein.

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

Bei Kleingeräten sind ganz andere Eigenschaften wichtiger als die reine Rechenleistung. Einfachere Architekturen verbrauchen weniger Strom, produzieren weniger Abwärme und sind in großen Stückzahlen günstiger. Außerdem kann man Toolchain und Compiler schneller portieren bzw. anpassen, wenn die Architektur einfach ist. All das ist im Embedded-Bereich viel wichtiger als eine hohe Ausführungsgeschwindigkeit.

Die dürfte im Übrigen auch bei einem Ghz nicht an eine vergleichbare x86-CPU herankommt. Ich habe dir schon mal gesagt, dass die Taktung allein nicht entscheidet. ARM-Architekturen fehlen beispielsweise diverse zusätzliche Befehlssätze, die auf heutige Multimedia-Anforderungen zugeschnitten sind. So bieten moderne x86-Prozessoren zusätzliche Befehle für effiziente 128-Bit-Fließkommaarithmetik, die z.B. für Videokodierung erforderlich ist. ARM-Chipsätze dagegen müssen Fließkommaarithmetik mit einfacheren Befehlen umsetzen. Daher wird bereits eine simple Multiplikation zweier Fließkommazahlen auf einem ARM-Chip wesentlich aufwendiger sein als auf einem x86-Chipsatz mit SSE und Konsorten.

Wenn du meinst, eine solche ARM-CPU könnte ein Gentoo-System vom Grund auf in annehmbarer Zeit kompilieren, weißt du nicht, wovon du sprichst, und hast wahrscheinlich noch nie große Programme kompilieren. Auf einem 2.4 Ghz Pentium IV dauert allein die Übersetzung von Firefox oder den kdelibs bereits über eine Stunde. Jetzt kannst du mal hochrechnen, wie lange die Übersetzung eines kompletten Desktop-Systems von Grund auf dauert, wenn die CPU nicht mal halb so schnell ist.

Und Apple-Rechner kauft man sich nicht wegen der darin verbauten Hardware ...

Stumpftopf

(Themenstarter)
Avatar von Stumpftopf

Anmeldungsdatum:
3. Juni 2007

Beiträge: 126

Wohnort: Bühl

Hey ho, ich rolle dieses Thema noch mal auf. Einfach aus dem Grund weil ich wissen will was ihr von dieser Heise News hält: http://www.heise.de/newsticker/Netbooks-ohne-x86--/meldung/139922 Ich denke ich werde mir so ein schickes Teil denke ich zu legen. Mal abgesehn von der Akku laufzeit. Mal ehrlich irgendetwas an dem Cortex A-8 muss doch dran sein. Für mich ist eine CPU mit ARM Core nach wie vor mein Wunsch. Bin ja mal gespannt auf die 1. Benchmarks.

Antworten |