Simpson474
Fleet Admiral
- Registriert
- Sep. 2006
- Beiträge
- 12.819
Ein Haswell mit SSE (ohne AVX/FMA) hat 4 DP FLOP pro Takt und 8 SP Flop pro Takt.Thane schrieb:Bei Intel (ab Haswell) kannst du da von Faktor 4 ausgehen. Mit AVX 512 eher Faktor 8.
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Ein Haswell mit SSE (ohne AVX/FMA) hat 4 DP FLOP pro Takt und 8 SP Flop pro Takt.Thane schrieb:Bei Intel (ab Haswell) kannst du da von Faktor 4 ausgehen. Mit AVX 512 eher Faktor 8.
Laut Qualcomm liegt in internen Tests die Integer-Leistung in einigen Szenarien auf dem Level von Intel Xeon Platinum, jedoch bei deutlich geringerer Leistungsaufnahme.
hudini9911 schrieb:Das glaubst du doch selbst nicht. Die ARM Prozessoren verbrauchen 5W, eine Intel CPU 15W, in den Macbooks eher 20-30W bei ähnlicher Strukturbreite. Sollen aber 6-Mal so effizient sein. Im Leben nicht.
Sollen Sie eine ARM CPU mit vollwertigem Windows/MacOS benchen, mal schauen ob die Benchmarks dann immernoch so toll ausfallen. Bezweifel ich.
Einfach die theoretische Integer-Leistung, also vereinfacht Kernzahl * Pipeline-Breite * Taktfrequenz. Das alles natürlich bei vergleichbarer Verlustleistung. Kein sehr relevantes Maß, aber je einfacher und kleiner der Code ist, desto stärker nähert sich die reale Leistung diesem theoretischem Maximum an.Thane schrieb:@Limit
Die Rohleistung auf was Bezogen? Leistung pro Takt?
Kann man nicht, insbesondere wenn man eine Smartphone-SoC Architektur mit einer Server-Architektur vergleicht. Geekbench mag ein passabler Test für Smartphones/Tablets sein, er sagt aber nur sehr wenig über die Leistung bei Desktop-/Server-Anwendungen aus, da diese sehr viel größeren und komplexeren Code enthalten und in der Regel auch sehr viel mehr Daten verarbeiten müssen. Da spielen die x86-Architekturen mit ihrer viel größeren Bandbreite ihre Vorteile aus.Simpson474 schrieb:Das gilt aber auch, wenn Geekbench auf x86 läuft. Man kann Geekbench daher schon als echten Vergleich der Architekturen sehen.
Und deswegen ist der Benchmark nur für Vergleiche von Smartphone/Tablet-SoCs brauchbar. Für mehr aber auch nicht.Simpson474 schrieb:Das restliche Ökosystem (Speicheranbindung, Bandbreite), etc. kann damit jedoch nicht bewertet werden.
Ich denke nicht, dass diese Server-SoCs bei klassischen Server-Apps mit der x86/Power-Konkurrenz mithalten wird können. Bei den weniger anspruchsvollen Cloud-Server könnten sie allerdings aufgrund ihrer schlankeren Architektur Effizienzvorteile haben. Intel und AMD haben beide eine zeitlang versucht abgespeckte Architekturen dafür anzubieten (Intel mit Xeons auf Atom-Basis und AMD mit ARM-SoCs), aber beide scheinen das nur halbherzig voranzustreiben und bei AMD sieht es fast so aus als hätte man davon Abstand genommen.Simpson474 schrieb:Allerdings ist das auch der Teil, den Qualcomm für den Server-Markt stark angepasst hat. Es wird sich zeigen, welche Performance der Chip am Ende erreicht.
Simpson474 schrieb:Das restliche Ökosystem (Speicheranbindung, Bandbreite), etc. kann damit jedoch nicht bewertet werden.
Atent123 schrieb:Schwachsinn.
Wieso genau sollte das OS da einen so großen Einfluss drauf haben ? Ist halt eine andere Architektur (X86 gegen ARM)
Windows kommt ende des Jahres übrigens als ARM Version mit eingebautem Emulator für X86 code.
"Die ARM Prozessoren verbrauchen 5W"
Schwachsinnige Veralgemeinerung.
Ein Snapdragon 835 verbraucht beispielsweise nur um die 1,5 Watt, ein A11 Bionic um die 2,5 Watt.
Ältere Planar Bulk CPUs verbrauchen hingegen deutlich mehr.
Der Snapdragon 810 hat um die 5 Watt gesogen.
Phneom schrieb:Stromverbrauch ist aber auch nicht alles. ARM ist die Pest. Schau dir mal das Smartphone Debakel an und geht weiter mit Mali Treibern. .
T3mp3sT1187 schrieb:@Dezor: Windows 10 soll mit dem nächsten Update tatsächlich x86, natürlich würde nicht x64, emulieren können, damit kommen dann W10-Tablets mit Snapdragon 835, wurde letztes Jahr vorgestellt, aktuell prüft Qualcomm auch, ob eigene Patente verletzt werden.
was ist dann die bessere Basis ?Thane schrieb:Geekbench halte ich auch weiterhin für eine schlechte Basis zum Vergleich der Leistung der verschiedenen Architekturen.
Du wirst es nicht glauben: Sie würden auch dann immer noch so gut aus fallen. Zumindest eben genau bei dem einem Benchmark.hudini9911 schrieb:
Man sollte hier auch etwas mehr unterscheiden. ARM stellt ja sowohl eine ganze Befehlssatz-Architektur da, als auch eine CPU-Architektur.yast schrieb:
Richtig, Geekbench umgeht ein paar Aspekte einer CPU. Jedoch sollte einige hier jedoch auch von ihrer eigenen Behauptung Abstand nehmen, dass ARM-CPUs nicht für »richtige« Anwendungen geeignet sein, weil diese Aussage - gelinde gesagt - Bullshit ist.Limit schrieb:
1. Das ist aber eine sehr starke Vereinfachung und eigentlich sogar falsch. Die Rechenleistung hängt zwar durchaus auch von der "Pipeline" ab, primär für die Rechenleistung verantwortlich sind jedoch eher die ALUs und wie schnell diese entsprechend Arbeiten. Also wie viele Takte sie pro Befehl brauchen.Limit schrieb:
Wattwanderer schrieb:Solche Geräte werden wohl mehr oder weniger ausschließlich über Netzwerk kommunizieren und 2 x 1GBE deutet schon auf die zu erwartende Leistungsfähigkeit hin.
Helios_ocaholic schrieb:Also Windows 10 (1709 Build 16299.15) läuft auf ARM64. Ob Windows 2016 Server bereits portiert ist, muss ich mal suchen.
Anhang anzeigen 645976
Da du es ja anscheinend sehr genau nimmst, möchte ich hier anmerken, dass x86 "nur" ein Befehlssatz ist und da dieser sich in den letzten 30 Jahren nicht verändert hat und damals schon CISC war, ist er es natürlich auch heute noch.Teralios schrieb:x86 ist immer noch CISC
Das musst du näher erläutern. Nachdem die Micro-Ops ausgeführt wurden setzt die CPU sie wieder zu CISC-Instructionen zusammen?!?Teralios schrieb:und am Ende wieder zu CISC wird
Man kann für jede halbwegs vernünftige ISA eine leistungsfähige CPU entwickeln und ARM hat das spätestens mit ARMv8 auch im Blick. Aber deine Aussage gilt auch andersherum, nur weil jemand eine gute Mobil-CPU bauen kann, bedeutet das nicht, dass sie auch eine gute Server-CPU bauen können, denn das Anforderungsprofil unterscheidet sich deutlich.Teralios schrieb:Nur weil ARM aus dem "Mobilenbereich" kommt, bedeutet es nicht, dass die CPUs nicht sehr leistungsfähig sein können.
Wenn es denn so einfach wäre. Cavium und AppliedMicro z.B. bieten mittlerweile schon die 2. bzw. 3. Generation von Server-SoCs auf ARM-Basis an und bereits die erste hatte o.g. Features und trotzdem reicht die Leistung bei typischen Serveranwendungen nicht mal ansatzweise an die der klassischen Server-CPUs heran. Im Cloudserver-Bereich gibt es ein paar Anwendungen, bei denen sie ihre Effizienz ausspielen können, bei den eher klassischen Anwendungen schaffen sie es nicht.Teralios schrieb:Cache-Größen, Anbindung des Arbeitsspeichers usw. ist unabhägnig von der gewählten Befehlssatz. ARMv8 kann man auch mit entsprechenden Caches und Speichercontroller ausstatten und für entsprechende Einsatzszenarien wappnen.![]()
Es gibt bisher keine ARM-basierte CPU, die für High-Performance Anwendungen im Desktop-/Server-Bereich geeignet wäre und momentan ist, ehrlich gesagt, auch keine in Aussicht. Es gibt eine Nieche für ein schlanke Server-CPU und auf die zielen Cavium, AppliedMicro und auch Qualcomm mit ihren Server-SoCs ab. Eine direkte Konkurrent für die klassischen Server-CPUs stellen diese aber nicht dar.Teralios schrieb:Wer pauschal behauptet, dass ARM-Architektur wäre für »richtige« Anwendungen ungeeignet, zeigt eigentlich nur, dass diese Person von der Materie keine Ahnung hat und du tust es mit dem folgenden Beitrag selbst sogar, auch wenn die Argumente stimmen, ziehst du jedoch den falschen Schluss wegen Schubladendenken.
Die ALUs sind fester Bestandteil der Pipeline und mit Pipeline-Breite bezeichnet man gerade die Anzahl der ALUs. Außerdem schaffen die ALUs heutzutage einfache Ops in der Regel in einem Taktzyklus.Teralios schrieb:1. Das ist aber eine sehr starke Vereinfachung und eigentlich sogar falsch. Die Rechenleistung hängt zwar durchaus auch von der "Pipeline" ab, primär für die Rechenleistung verantwortlich sind jedoch eher die ALUs und wie schnell diese entsprechend Arbeiten. Also wie viele Takte sie pro Befehl brauchen.
Du redest über die Pipeline-Tiefe, ich über die Pipeline-Breite. Das sind zwei vollkommen orthogonale Parameter. Eine breitere Pipeline verbesser eher die IPC durch höheren ILP während eine längere Pipeline eher gut für höhere Taktraten ist.Teralios schrieb:Pipelines sorgen eher dafür, dass die ALUs effizienter ausgelastet werden. Das eine große "Pipeline" nicht unbedingt zu einer höheren Geschwindigkeit führt hat Intel mit der Pentium 4 Architektur bewiesen. Manchmal sollte man etwas nicht zu sehr vereinfachen.
Cache und Speicherinterface sind schon seit vielen Jahren fester Bestandteil der Architektur.Teralios schrieb:da wirklich NUR die Architektur der CPU eine Rolle spielt, ohne Caches und ohne Arbeitsspeicher.
Naja, zumindest ist das was ich schreibe auch richtig. Das kann man von ein paar Sachen, die du schreibst, nicht behaupten.Teralios schrieb:Alles was du danach schreibst ist zwar in seiner Form durchaus richtig, dein Schubladendenken, was die Prozessorarchitekturen angeht verhindert es jedoch, dass man dein Beitrag wirklich ernst nehmen kann.
Zu Affinity Photo kann ich nichts sagen, aber Word ist sicherlich keine Anwendung anhand der man die Leistungsfähigkeit einer CPU beurteilen kann.Teralios schrieb:Ich habe schon Apps gesehen auf dem iPad und für Android, die stehen üblichen Desktopanwendungen in nichts nach. Siehe Affinity Photo/Designer oder auch Word für iOS und Co.
Tue ich nicht, ich spreche über CPUs, nicht über ISAs.Teralios schrieb:Deswegen noch mal: Man sollte nicht die Befehlssatz-Architektur mit der am Ende genutzten Prozessorarchitektur verwechseln.
Die Registerzahl spielt spätestens seit Einführung von register renaming mit Hilfe von Schattenregistern im Pentium Pro keine große Rolle mehr.Teralios schrieb:Zu mal ARMv8 ganze 31 Register hat, während x64 gerade mal mit 16 daher dümpelt …![]()
Mal eine Frage: Zu welchem Schluss komme ich deiner Meinung nach?Teralios schrieb:Man kann jedem deiner richtigen Argumente zustimmen, leider kommst du am Ende dennoch auf die falschen Schlüsse, was schade ist, da du - und du bist nicht alleine - zu sehr in der Schublade des Mobile vs. Desktop gefangen bist.
Atent123 schrieb:Redest du jetzt von der GPU (Mali) oder den ARM CPUs ?
Wozu sollte eine CPU noch mal zusätzlich einen Treiber brauchen (für den Chipsatz vielleicht) ?
Limit schrieb:Da du es ja anscheinend sehr genau nimmst, möchte ich hier anmerken, dass x86 "nur" ein Befehlssatz ist und da dieser sich in den letzten 30 Jahren nicht verändert hat
Limit schrieb:Das musst du näher erläutern. Nachdem die Micro-Ops ausgeführt wurden setzt die CPU sie wieder zu CISC-Instructionen zusammen?!?
Limit schrieb:Es gibt bisher keine ARM-basierte CPU, die für High-Performance Anwendungen im Desktop-/Server-Bereich geeignet wäre und momentan ist, ehrlich gesagt, auch keine in Aussicht.
Limit schrieb:Außerdem schaffen die ALUs heutzutage einfache Ops in der Regel in einem Taktzyklus.
Limit schrieb:Cache und Speicherinterface sind schon seit vielen Jahren fester Bestandteil der Architektur.
Limit schrieb:Die Registerzahl spielt spätestens seit Einführung von register renaming mit Hilfe von Schattenregistern im Pentium Pro keine große Rolle mehr.
Das sind alles nur Erweiterungen des ursprünglichen Befehlssatz (mit Ausnahme von AMD64, da wurden ein paar Legacy-Sachen für Real-Mode gestrichen), ändern aber die altbekannten Befehle nicht, was für einen Wechsel auf eine RISC-Architektur notwendig wäre.smalM schrieb:SSE1, 2, 3, viele, AMD64, AES, AVX und was-weiß-ich-noch, es gab Unmengen Änderungen im Befehlssatz.
Ich war mir nicht mehr ganz sicher, also habe ich ein wenig gegoogelt. Laut diesem Paper speichert die Retirement Unit nur µOps, keine CISC-Befehle.smalM schrieb:Im Prinzip ja, denn die CPU muß wissen, daß der ursprüngliche CISC-Befehl abgearbeitet wurde, auch wenn er in mehrere µOps zerlegt und diese dann O-o-O abgearbeitet wurden. Dafür ist übrigens die Retirement Unit zuständig.
Gäbe es ARM-CPUs, die im Server-Bereich eine vergleichbare/bessere Effizienz als x86/Power/SPARC hätte, gäbe es auch eine Markt. Im Gegensatz zum Desktop-Segment spielt der Befehlssatz hier keine ganz so große Rolle.smalM schrieb:Das hat keine technischen Gründe, es gibt keinen Markt dafür.
Hier hast du Recht. Wobei für die ursprüngliche Frage weniger die Latenz, sondern eher der Durchsatz entscheidend ist.smalM schrieb:Nein, sie brauchen in der Regel mehrere Takte selbst für einfache Ops. Sie nehmen nur jeden Takt einen neuen Befehl entgegen. Wieviel Takte die Executionunit tatsächlich braucht, sieht man an den Angaben zur Latenz.
Das mag sein, allerdings würde ich auch den Uncore zur Architektur zählen, denn er hat mittlerweile erheblichen Einfluss auf die Performance der CPU und ist ja auch direkt mit auf dem Die.smalM schrieb:Direkt zum Core zählt nur der L1 (und der L2); alles andere ist heutzutage über Interconnects verbunden und damit uncore.
Mehr Register sind sicherlich angenehmer, vor allem, wenn man den Assembler-Code selbst schreibt und bei x86 mit seinen nur acht Registern gab es durchaus schon mal einen Notstand. Mit den 16 bei x86-64 kann man aber in der Regel gut auskommen ohne dass es Leistung kostet.smalM schrieb:Register-Renaming dient vornehmlich dazu Stalls in der Execution-Pipeline zu verhindern und damit O-o-O zu unterstützen und Register-Moves eventuell nicht physisch ausführen zu müssen. Es ersetzt in keinster Weise die Vorteile eines großen general-purpose Registersatzes.
Das hat übrigens nichts mit CISC/RISC zu tun, X86-Assembler war immer besch...eiden zu programmieren, MC68K dagegen eine Freude!