Hallo allerseits,
ich bin im Rahmen meiner Ausbildung mit der Aufgabe konfrontiert worden,
zwei Notebooks hinsichtliche ihres Prozessors zu analysieren. Im ersten
Notebook ist der i7 von Intel verbaut, im zweiten der Cortex-A77 von
ARM.
Dabei sollen die folgenden Anforderungskriterien berücksichtigt werden:
Arbeiten auf virtuellen Maschinen soll möglich sein (Hypervisor),
Linux und Windows sollen booten können,
Aufwendige 3D-Grafiken sollen programmiert werden können
(Gleitkommaberechnung),
Der Prozessor soll eine geringe Leistungsaufnahme haben,
Der Prozessor soll eine hohe Performance aufweisen,
Der Prozessor soll Multithreading unterstützen.
Ich bin mir relativ sicher, dass der i7 die meisten Punkte dieser
Anforderungsliste erfüllt. Nun soll ich aber eine Analyse durchführen,
d. h. die Befehlssätze und die Architekturmerkmale beider Prozessoren
gegenüberstellen.
Mein Problem ist, dass ich wenig über den Cortex-A77 herausfinde. Ich
kann nicht sagen, ob und warum er die oben genannten Anforderungen
erfüllt. Würde mir jemand helfen?
Ich freue mich über jede Antwort.
Viele Grüße Torben.
Torben schrieb:> im zweiten der Cortex-A77 von> ARM.
Hm. Sicher?
Das Ding ist so neu, wo gibt es das schon in einem real existierenden
Netbook?
Zudem ist das ein Single-Core-Przessor, der in einem Windoes-geeigneten
Netbook nie alleine kommt, sondern in Kombination mit mehreren anderen
Kernen. Insofern solltest du nochmal klären was da genau in dem
(imaginären?) Netbook verbaut ist.
Oliver
Bezüglich Hypervisor ist es vorteilhaft, wenn das System eine SMMU
(IOMMU) besitzt. Die Intel i7 als auch Cortex-A77 unterstützen
Hypervisor.
Der Prozessor soll Multithreading unterstützen -> welches genau ist da
gemeint? Beide werden mehr als einen Kern haben und damit würde ich die
Frage bejahen. Befürchte aber das evtl. Hyperthreading (SMT …) gemeint
ist.
Für den Vergleich ARM InfoCenter -> viel Spaß beim lesen. Detailfragen
dürfen gerne gestellt werden! Bzw. Google ist dein Freund
Torben schrieb:> Mein Problem ist, dass ich wenig über den Cortex-A77 herausfinde
Auch nicht hier:
https://www.arm.com/products/silicon-ip-cpu/cortex-a/cortex-a77https://developer.arm.com/ip-products/processors/cortex-a/cortex-a77https://developer.arm.com/docs/101111/latesthttps://developer.arm.com/docs/ddi0487/latest (Befehlssatz)
Torben schrieb:> Ich> kann nicht sagen, ob und warum er die oben genannten Anforderungen> erfüllt.
Die Anforderungen sind sehr schwammig. Wie viel DMIPS und FLOPS sind
"hohe Performance"? Wie viel Watt sind "geringe Leistungsaufnahme"?
Torben schrieb:> Arbeiten auf virtuellen Maschinen soll möglich sein (Hypervisor)
Cortex-A77 unterstützt Virtualisierung.
Torben schrieb:> Linux und Windows sollen booten können,
Beide OS laufen auf Cortex-A, sofern du eine Version für das jeweilige
Board und den konkreten SoC findest.
Torben schrieb:> Aufwendige 3D-Grafiken sollen programmiert werden können> (Gleitkommaberechnung),
Wie viele Polygone und FPS sind "aufwendig"? Der Cortex-A77 unterstützt
Gleitkommaberechnung, aber 3D-Beschleunigung ist nicht Teil des
Prozessorkerns; der konkrete SoC kann aber z.B. eine ARM Mali GPU haben.
Torben schrieb:> Der Prozessor soll Multithreading unterstützen.
Das tun so ziemlich alle Prozessoren, und alle Cortex-A haben auch
virtuellen Speicher zwecks "richtigem" Multitasking.
In Anbetracht der ungenauen Anforderungen wird es nur helfen, die
konkreten Anwendungen auszuprobieren. Es ist bekanntermaßen kaum
möglich, Prozessoren direkt zu vergleichen; je nach Anwendung können die
Ergebnisse sehr unterschiedlich sein. Benchmark-Ergebnisse sind nur
grobe Anhaltspunkte.
Torben schrieb:> Aufwendige 3D-Grafiken sollen programmiert werden können> (Gleitkommaberechnung),
Mit welcher Software?
Komerzielles Zeuchs will da normalerwise X86_64 Architektur sehen.
Die anderen eher schwammigen Anforderungen erfüllen beide Architekturen.
Sollte bei den virtuellen Maschinen ein virtuelles Windows in den
Anforderungen stehen, bedeutet auch das automatisch Intel (oder AMD)
CPU. Bei ARM ist die X86 Emulation ziemlich lahm.
Aber aufgepasst: Die ARM Notebooks sind i.d.R. auf lange Lafzeit bei
niedriger CPU Last konzipiert (Word, Youtube etc).
Performance Vergleiche scheitern öfters schon an der Verfügbarkeit
entsprechender Software auf ARM Architektur.
Wenn ich CPU Performance bräuchte, würde ich derzeit auf die ersten
Benchmarks der Ryzen Mobile 4000er Serie warten - 8 Kerne gibt es AFAIK
derzeit nicht bei Intel als Mobile CPU.
Weiterer Pferdefuß: Der Löwenanteil der (Singe Precision) Floating Point
Performance ist heutzutage in der GPU...
Torben schrieb:> zwei Notebooks hinsichtliche ihres Prozessors zu analysieren. Im ersten> Notebook ist der i7 von Intel verbaut, im zweiten der Cortex-A77 von> ARM.
Das ist deutlich unterspezifiziert: Es gibt dutzende, wenn nicht
hunderte von Prozessoren, die Intel "i7" nennt, mit massiven
Unterschieden hinsichtlich ihrer technischen Daten. Das hypothetische
Intel-Notebook könnte ein lahmes Ultrabook mit Zwei-Kern-i7 und 4,5W TDP
sein oder eine fette Vielkern-Gaming-Kiste, wo sich schon die CPU >100W
fressen darf.
> Arbeiten auf virtuellen Maschinen soll möglich sein (Hypervisor),
Ist die Erfüllung der Popek-Goldberg-Kriterien gemeint oder reicht zB
Scan-and-Patch-Virtualisierung oder gar Paravirtualisierung?
> Linux und Windows sollen booten können,
So schlecht wie die Aufgabe formuliert ist wird bestimmt "Auf dem A77
kann man kein Windows booten" als Antwort erwartet, obwohl es ja mehrere
als "Windows" bezeichnete Betriebssysteme gab und gibt, die unter
anderem auf der ARM-Architektur laufen.
> Der Prozessor soll eine geringe Leistungsaufnahme haben,
Gering ist relativ und alleine anhand von generischen Labeln wie "Intel
i7" oder "Cortex-A77" eh nicht abschätzbar. Gibts vom A77 überhaupt
schon Implementierungen mit veröffentlichter Leistungsaufnahme?
> Der Prozessor soll eine hohe Performance aufweisen,
Wieder zu wenig Details für eine sinnvolle Antwort...
> Der Prozessor soll Multithreading unterstützen.
Multithreading geht grob mit allen CPUs, bei denen man den Stackpointer
frei verschieben kann und ist eher eine Software- als Hardwaresache.
Möglicherweise ist simultanes Multithreading (Intel-Sprech:
Hyperthreading) gemeint?
Kauft nach Meltdown und Spectre wirklich noch irgendwer freiwillig Intel
statt AMD? AMD Ryzen sind so schon schneller und billiger, und da ist
noch gar nicht berücksichtigt, dass Intel die Implementierung
halbseidener Features verkackt und der Bugfix auch noch einen Teil der
Performance auffrisst..
vn nn schrieb:> Kauft nach Meltdown und Spectre wirklich noch irgendwer freiwillig Intel> statt AMD?
Bei Notebooks ist AMD bisher schwach vertreten. Wird sich ändern.
Okay, dann jetzt auf die Spitze getrieben...
Meine Großmutter sucht ein Notebook. Sie weiß ganz genau was sie will,
nämlich ein Notebook, in dem ein Prozessor verbaut ist, dessen
Verlustleistung bei durchschnittlicher Systemauslastung 15 W beträgt.
Außerdem sollte die Performance nicht unter 10.3 MIPS liegen. Auf dem
Gerät will sie dann später Linux-Pakete entwickeln und parallel dazu mit
Karl Klammer (Spitzname Clappi) ihre Einladungen zum 80. Geburtstag
verfassen und ihre Lieblingsserie streamen.
Sie geht nun zu Media-Markt in der Hoffnung, der Verkäufer werde sie
richtig beraten. Dieser schlägt das
Lenovo ThinkPad T490s vor mit i7-Prozessor vor. Ihr fällt aber das
Microsoft Surface Pro X ins Auge, das kann sie besser zum Renterntreff
mitnehmen. Sie fragt den Verkäufer, worin sich die Prozessoren
unterscheiden. Was kann der Cortex was der i7 nicht kann oder umgekehrt.
Warum ist es dort überhaupt verbaut? Welche Vorteile sind damit
verbunden? Unterstützt das Ding Hyperthreading oder kann es die Funktion
eines Hypervisors übernehmen? Was soll der Verkäufer antworten?
Torben schrieb:> dessen> Verlustleistung bei durchschnittlicher Systemauslastung 15 W beträgt.
Die meisten modernen Notebooks haben insgesamt eine geringere
Verlustleistung im Idle.
Torben schrieb:> Außerdem sollte die Performance nicht unter 10.3 MIPS liegen
Du dürftest seit 20 Jahren kein Notebook mehr auftreiben können, dessen
MIPS im 2stelligen Bereich sind.
Torben schrieb:> Auf dem> Gerät will sie dann später Linux-Pakete entwickeln
Dann ist x86 sinnvoll, weil die meisten Nutzer das auch haben und man
die Software dafür testen sollte.
Torben schrieb:> und parallel dazu mit> Karl Klammer (Spitzname Clappi) ihre Einladungen zum 80. Geburtstag> verfassen und ihre Lieblingsserie streamen.
Das können alle aktuellen Notebooks.
Torben schrieb:> Ihr fällt aber das> Microsoft Surface Pro X ins Auge, das kann sie besser zum Renterntreff> mitnehmen.
Dafür wird sie Probleme mit dem kleinen Display haben, und auf so
kleiner Tastatur kann man nicht vernünftig programmieren.
Torben schrieb:> Sie fragt den Verkäufer, worin sich die Prozessoren> unterscheiden.
So ziemlich in allem, da grundverschiedene Architektur.
Torben schrieb:> Warum ist es dort überhaupt verbaut?
Wahrscheinlich, weil es zum Anwendungsprofil passt.
Torben schrieb:> Was kann der Cortex was der i7 nicht kann oder umgekehrt.
Der wichtigste Unterschied: Der i7 kann x86(_64) Code ausführen und der
Cortex-A77 kann ARM(64) Code ausführen, und umgekehrt nicht.
Torben schrieb:> Unterstützt das Ding Hyperthreading
Da Hyperthreading ein Intel-Marketing-Begriff ist, können das natürlich
nur Intel Prozessoren. Der herstellerunabhängige Begriff ist
"Simultaneous Multi-Threading", und der Cortex-A77 kann das nicht.
ARM-Prozessoren haben dafür i.A. einfach mehr komplette Kerne.
Torben schrieb:> kann es die Funktion> eines Hypervisors übernehmen?
Wie gesagt, ja.
Torben schrieb:> Was soll der Verkäufer antworten?
Dass die Anforderungen ziemlich wirr sind...
A. K. schrieb:> Da ist zwar ein ARM drin, aber kein Cortex A77
Da habe ich mich dann von:
Torben schrieb:> Ihr fällt aber das Microsoft Surface Pro X ins Auge
... auf die falsche Fährte setzen lassen. Was meint denn nun der TO bzw.
seine Oma? Microsoft Surface Pro X mit SQ1 oder Cortex A77?
Sorry, ich wollte hier kein Fass aufmachen. Die Aufgabe zielt darauf ab,
dass man auf der Grundlage von Spezifikationen herausfindet, ob die
Prozessoren die oben genannten Anforderungen erfüllen, unabhängig davon
ob es reale Geräte gibt, in denen sie verbaut sind. Niklas hat nun schon
ein paar Informationsquellen genannt. Ich denke damit können wir das
Thema beenden. Ich bedanke mich für die hilfreichen Antworten.
Ich muss das Thema von gestern doch noch einmal öffnen.
Mir ist ein Fehler unterlaufen. Ich hatte wohl etwas oberflächlich
recherchiert als ich annahm, im Surface Pro X stecke ein Cortex-A77.
Einigen Quellen zufolge verbaue aber der Halbleiterhersteller Rockship
den Cortex-A12 auf seinem Chip RK3288. Dieser sei wiederum in einigen
Chrombooks verbaut.
Außerdem habe ich einen Artikel bei notebookcheck.com gelesen. Demnach
sei im Surface Pro X ein kundenspezifische CPU auf ARM-Basis.
Ich möchte deshalb meine Frage etwas umformulieren.
Auf die Frage, ob man einen ARM-Prozessor nicht auch als Desktop-PC
einsetzen könne antwortete ein User bei golem:
"Na ja, wenn du nur ein Wenig Office mit dem PC machst und manchmal
H264-Videos ansiehst, sonst nichts damit tust, dann wird es reichen.
Sobald du entwickelst oder sogar Grafikbearbeitung machen willst, kannst
du ARM vergessen."
Wenn diese Antwort stimmt, würde mich interessieren warum das so ist und
warum Prozessoren der Intel i-Serie für diese Aufgaben prädestinierter
sind.
Würde hier jemand Klarheit schaffen?
Torben schrieb:> Sorry, ich wollte hier kein Fass aufmachen. Die Aufgabe zielt darauf ab,> dass man auf der Grundlage von Spezifikationen herausfindet, ob die> Prozessoren die oben genannten Anforderungen erfüllen, unabhängig davon> ob es reale Geräte gibt, in denen sie verbaut sind.
Die Aufgabenstellung ist doch völlig sinnfrei.
Schon deshalb, weil es einen "ARM Cortex 77" oder "ARM Cortex 76" -
Prozessor gar nicht gibt. Was hinter diesen Bezeichnungen tatsächlich
steckt, und was das für real existerende Prozessoren auf ARM-Basis
bedeutet, kannst du ja mal als erstes herausfinden.
Oliver
ARMs hoffnungsvolles Bild aus 2018 dazu:
https://images.anandtech.com/doci/14384/3.png
Ist aber mit viel Vorsicht zu geniessen, weil die sich natürlich jenen
Benchmark aussuchen, in denen sie gut dastehen.
Torben schrieb:> Wenn diese Antwort stimmt, würde mich interessieren warum das so ist und> warum Prozessoren der Intel i-Serie für diese Aufgaben prädestinierter> sind.
Weil für x86-Prozessoren (viel) mehr Software verfügbar ist, und man
beim Entwickeln eigene PC-Software auf x86 testen muss, weil fast alle
Nutzer das haben. Wenn man nur Web-Entwicklung oder bestimmte
Embedded-Entwicklung betreibt, kommt man vielleicht auch mit ARM klar,
das muss man aber im Einzelfall genau prüfen.
A. K. schrieb:> ARMs hoffnungsvolles Bild aus 2018 dazu:> https://images.anandtech.com/doci/14384/3.png
Tolle Maßeinheiten an der Beschriftung der X/Y-Achsen ;-)
PS: So etwas ist sehr spannend:
https://www.golem.de/news/mnt-reform-version-2-das-selbstbaunotebook-mit-quelloffener-hardware-2001-146179.html
Denn im Gegensatz zu z.B. Rockchip-basierten Plattformen ist hier der
Prozessor dokumentiert. Aber das oben Gesagte gilt hier natürlich
trotzdem.
Niklas G. schrieb:> PS: So etwas ist sehr spannend:
Vom Design her bestens geeignet, um sich damit beim Hipster-Treff in den
Vordergrund zu rücken. Schlägt sogar das RasPad. ;-)
Torben schrieb:> Auf die Frage, ob man einen ARM-Prozessor nicht auch als Desktop-PC> einsetzen könne antwortete ein User bei golem:>> "Na ja, wenn du nur ein Wenig Office mit dem PC machst und manchmal> H264-Videos ansiehst, sonst nichts damit tust, dann wird es reichen.> Sobald du entwickelst oder sogar Grafikbearbeitung machen willst, kannst> du ARM vergessen."
Stellt sich nur die Frage, warum man damit bspw. nicht entwickeln können
soll...
Das geht auch auf einem $200 PineBook Pro mit RK3399 (2x Cortex-A72 + 4x
Cortex-A53). Läuft nur kein Windows drauf.
https://www.jeremymorgan.com/blog/linux/pine64-pro-laptop-review/
Mit nur 4 GB Speicher und 64 GB eMMC (ist aber zumindest mit m2
erweiterbar) würde ich jetzt vielleicht nicht den gcc oder Linux-Kernel
bauen oder virtuelle Maschinen bspw. mit KVM oder qemu laufen lassen,
aber ansonsten reicht das für viele Entwicklungsaufgaben aus.
Torben schrieb:> Auf die Frage, ob man einen ARM-Prozessor nicht auch als Desktop-PC> einsetzen könne antwortete ein User bei golem:>> "Na ja, wenn du nur ein Wenig Office mit dem PC machst und manchmal> H264-Videos ansiehst, sonst nichts damit tust, dann wird es reichen.> Sobald du entwickelst oder sogar Grafikbearbeitung machen willst, kannst> du ARM vergessen.">> Wenn diese Antwort stimmt, würde mich interessieren warum das so ist
Ganz einfach: sie stimmt (so einfach) nicht. Wenn man entwickelt, kann
es gut sein, daß der ARM im Vorteil ist. Z.B. immer dann, wenn man fürARM entwickelt. Und was soll "Grafikbearbeitung" sein? Auf meinem
Smartphone kann ich Kameraphotos auch beschneiden, drehen, an Farben und
Kontrast herumspielen etc. Ist das etwa keine Bildbearbeitung?
Richtig ist, daß man manche Programme nicht für ARM kriegt. AFAIK gibt
es z.B. kein PhotoShop für ARM (mehr?). Oder MS Visual Studio. So what?
Seit wann ist "Bildbearbeitung" auf PhotoShop beschränkt? Oder
"Entwickeln" auf Visual Studio?
Was man sagen kann, ist daß auch die schnellsten ARM Desktop Maschinen
nicht annähernd die Leistung der schnellsten Intel Desktop Maschinen
erreichen (dito Server). Aber wenn man im niedrigen bis mittleren
Leistungssegment schaut, dann ist ARM durchaus konkurrenzfähig. Bzw. es
ist konkurrenzlos besser. Deswegen die absolute Dominanz von ARM bei
Smartphones.
Torben schrieb:> Sorry, ich wollte hier kein Fass aufmachen. Die Aufgabe zielt darauf ab,> dass man auf der Grundlage von Spezifikationen herausfindet, ob die> Prozessoren die oben genannten Anforderungen erfüllen
Dazu müßten die Anforderungen weniger schwammig sein. "Hohe Performance"
oder "niedrige Leistungsaufnahme" ist Wischiwaschi.
Resultate im Geekbench5
Intel Core i7-2670QM (von 2011) TDP 45W
- Singlecore 642
- Multicore 2264
Snapdragon 865 (Cortex-A77 von 2020) TDP 5W
- Singlecore 934
- Multicore 3458
Diese Werte sind ganz interessant.
Die Prozessoren können 9 Jahre später mit 1/9 der Leistung gut 1,5 mal
so schnell arbeiten.
Axel S. schrieb:> Was man sagen kann, ist daß auch die schnellsten ARM Desktop Maschinen> nicht annähernd die Leistung der schnellsten Intel Desktop Maschinen> erreichen (dito Server).
Das ist sicherlich richtig, aber was macht Intel in diesem Segment
technologisch betrachtet anders als ARM?
> Aber wenn man im niedrigen bis mittleren> Leistungssegment schaut, dann ist ARM durchaus konkurrenzfähig. Bzw. es> ist konkurrenzlos besser. Deswegen die absolute Dominanz von ARM bei> Smartphones.
Kann man deine Antwort auch so verstehen, dass ARM-Prozessoren auf hohe
Leistung verzichten damit sie in Kriterien wie Wärmeabgabe, Chipgröße
und Leistungsaufnahme besser dastehen als Intel-Desktop-Prozessoren? Das
würde ja erklären, warum sie überwiegend im Embedded-Bereich Einzug
halten.
Torben schrieb:> Das ist sicherlich richtig, aber was macht Intel in diesem Segment> technologisch betrachtet anders als ARM?
Intel and AMD schmeissen viel mehr Chipfläche rein, in Form von Caches,
breiten internen Bussen und RAM-Bandbreite. ARM war bisher fast nur im
Mobilsektor aktiv, da kann man CPUs nicht für $500 verkaufen.
Gut erkennen lässt sich das schon rein mechanisch bei AMD. Der Ryzen
3000 besteht auf einem zentralen IO/RAM-Chip in 14nm Technik mit bis zu
8 Chiplets in 7nm drumrum. Die Mindestkonfiguration hat also 2 Chips und
taugt nur für Desktop aufwärts, auch nicht wirklich für Notebooks. Der
demnächst erscheinende Ryzen 4000 mit einem Chip für beides ist hingegen
für Notebooks optimiert, nicht aber für Highend-Desktops. Die
Grundarchitektur ist gleich oder ähnlich, aber die konkrete
Implementierung anders.
> Kann man deine Antwort auch so verstehen, dass ARM-Prozessoren auf hohe> Leistung verzichten damit sie in Kriterien wie Wärmeabgabe, Chipgröße> und Leistungsaufnahme besser dastehen als Intel-Desktop-Prozessoren?
Ja, genau so ist es, insbesondere bei den realen Implementierungen für
den Mobilbereich, wie den bekannten Snapdragons von Qualcomm.
> Das> würde ja erklären, warum sie überwiegend im Embedded-Bereich Einzug> halten.
Die SoCs für Embedded und Mobil sind gezielt auf ebendiese Märkte hin
optimiert. 200W am Prozessorsockel machen weder im Handy noch im
Mikrocontroller Spass. Es gibt mittlerweile aber Versuche,
Cloud-Bereiche wie Rechnerfarmen für Webserver-Hosting auf anderen und
darauf optimierten und auf ARM basierenden Prozessoren zu
implementieren, z.B. von Amazon. Apache/PHP/Java ist es völlig egal
worauf es läuft.