Geschwindigkeitsunterschied: Intel - AMD

Fenrix

Kabelverknoter(in)
Hey, ich studiere zur Zeit im 3. Semester Informatik.
Im 1. Semester hatten wir eine Vorlesung die etwas näher auf die Hardware eingegangen ist. Also NMOS, PMOS, CMOS Schaltungen, wie man daraus größere Schaltungen, Addierer, Zähler etc baut usw.
Danach (leider) nicht mehr viel zu dem Thema.

Nun ist es ja so, dass die SingleCore Performance von Intel (deutlich??) besser ist, als die von AMD. Mich interessiert es, "auf welcher Ebene" der CPU das zustandekommt?

Dh. hat Intel die Transistoren "schlauer" angeordnet und braucht weniger Flankenwechsel bzw Takte um etwas zu berechnen.? Meine gelernt zu haben, dass man bestimmte Schaltungen so verbessern kann, dass sie schneller sind, diese Schaltungen dann aber mehr Platz benötigen. Intel hat ja eine kleinere Strukturbreite, könnte also auf gleichem Platz mehr von den "schnelleren" Schaltungen unterbringen?
Oder spielt sowas auf unterste Ebene garkeine Rolle und AMD ist da praktisch gleichwertig und die Geschwindigkeitsunterschiede kommen auf einer "höheren Ebene" zustande? Dh. Intel managed den Cache besser oder Ähnliches?

Vllt weiß da einer Bescheid, ich finds persönlich ziemlich spannend.

Grüße und schöne Feiertage ;)
 
Zuletzt bearbeitet:
Die Unterschiede kommen nicht in den Low-Level Ebenen zustande, sondern am Scheduler.
Hier hat AMD schon länger Nachholbedarf, daher hat Intel eine deutlich höhere IPC Rate -> Bessere Singlecoreperformance.
 
Das sind sehr viele Effekte die zu diesem Vorteil führen. Wirklich im Detail kann dir das nur ein Ingenieur von Intel erzählen der das aber sicherlich nicht darf.

Da ist wohl von der Pipeline über den Scheduler bis hin zum kompletten logischen Aufbau der CPUs etwas besser gelaufen als bei vergleichbaren AMDs (wobei das nicht für alle Aufgaben gilt, wenn eine rechenaufgabe dem Bulldozer sehr gut liegt kann der durchas mithalten in der Leistung, wenn auch nicht in der Effizienz).

Intel hat in jeder Generation immer ein klein wenig am Design geschraubt... man ein bisschen mehr Bandbreite hier, mal eine ExecutionUnit da mehr, ein bissl die BranchPrediction optimiert bei jedem Schritt usw. - es sind in dem Falle die vielen kleinen Detailverbesserungen die die überlegene IPC ausmachen, die grundlegende Architektur hat sich im CPU-Teil seit Nehalem und spätestens SandyBridge nicht mehr groß verändert.
 
Intel ist besser bei höherer leistung pro takt und weniger verbrauch, weil Intel mehr geld hat und neue forschungszentren gebaut hat. forschung kostet am meisten kohle.
 
Intel ist besser bei höherer leistung pro takt und weniger verbrauch, weil Intel mehr geld hat und neue forschungszentren gebaut hat. forschung kostet am meisten kohle.

was ein Schwachsinn! AMD War mal besser als Intel! wieso baut tesla e-Autos die 600km fahren können und VW schafft es mit wesentlich mehr Geld nicht einmal die 200 zu knacken....

AMD hat einfach mit dem Bulldozer komplett falsch gepokert. wenn man sehr viel gleichzeitig macht und laufen lässt, kann es sogar sein das der 8350 an einem 4770k vorbei zieht. aber das macht leider keiner! deswegen gibt es ab 2016 eine komplett neue Architektur von denen und dann muss man mal sehen ob die wieder mithalten können.
 
was ein Schwachsinn! AMD War mal besser als Intel! wieso baut tesla e-Autos die 600km fahren können und VW schafft es mit wesentlich mehr Geld nicht einmal die 200 zu knacken....

AMD hat einfach mit dem Bulldozer komplett falsch gepokert. wenn man sehr viel gleichzeitig macht und laufen lässt, kann es sogar sein das der 8350 an einem 4770k vorbei zieht. aber das macht leider keiner! deswegen gibt es ab 2016 eine komplett neue Architektur von denen und dann muss man mal sehen ob die wieder mithalten können.

Da muss ich dir jetzt wiedersprechen. Ein 8350 wird an keinem i7 4770K vorbeiziehen, weil normale Anwendungen die FP-Einheiten verwenden. Davon hat der FX aber einfach zu wenige, weil es eine Serverarchitektur sein sollte, die mehr auf Interger-Einheiten aufgebaut ist. Nimmt man jetzt den i7 und den FX und füttert beide nur mit Integer Befehlssätzen, dann sind beide auch wieder im Rennen. Hier hat AMD einfach gepennt, der Bulldozer hätte 2 Jahre früher kommen müssen.
Diese Leistung wird im realen Leben aber nicht gebraucht, ergo ist in fast allen Anwendungsgebieten der i7 schneller.

Hier kann man sich schön den Benchmark anschauen. Der zeigt eindeutig, dass die FX Architektur bei der Integerperformance noch ziemlich gut mithält. Die desaströsen Ergebnisse aus anderen Benches kennt man ja :D
 
Ich würde das nicht mithalten nennen wenn der FX8150 noch knapp gegen den 2500K abstinkt... Intel kriegt halt die gleiche Leistung mit 4 Threads hin...

Aber ja, zumindest im Serverbereich bzw. generell überall dort wo viel parallelisiert werden kann sind die Bulldozer/Visheras sogar garnicht mal so schlecht. Aber das ist im Endkundenmarkt nunmal so gut wie nie der Fall...
 
Wie schaut es eigentlich bei echten Worst Case-Szenarios aus?
Bei Linustechtips hat der gute die Tage den i5 4690k, den 4790k und den 5960X in einem Szenario antreten lassen, was in echt selten für den normalen Gamer erreicht werden sollte. Er testete die Performace, wenn man Far Cry 3 zockt, aufnimmt und streamt, Video-Chat mit Webcam an ist, man ein Video im Hintergrund über Sony vegas encodiert und sich noch der Virenscan einstellt. Fazit war, dass der 4690k verreckt, der 4790k im Spiel immer ruckelte und der 5960X alles ganz gut gleichzeitig schafft, das Spiel nicht anfängt zu ruckeln und nebenher noch das Video fertig encodiert wurde. Linus sagt aber auch, dass man andere Lösungen finden kann um die Differenz auszugleichen (z.B. Capture-Modul oder Rendering, wenn man nicht zockt^^)

Eingebundener Inhalt
An dieser Stelle findest du externe Inhalte von Youtube. Zum Schutz deiner persönlichen Daten werden externe Einbindungen erst angezeigt, wenn du dies durch Klick auf "Alle externen Inhalte laden" bestätigst: Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit werden personenbezogene Daten an Drittplattformen übermittelt.
Für mehr Informationen besuche die Datenschutz-Seite.


Würde mich interessieren, wie es sich da beim FX 8350 verhält, obwohl es unfair wäre einen 150€-Prozessor mit einem 1000€-Prozessor zu vergleichen^^.
 
Der FX würde genauso ins Essen kacken wie der 4790K, da er geschätzt 50% langsamer als der 5960X und immernoch deutlich langsamer als der 4790K ist.
Der 4690K schmiert zwar ziemlich ab, aufgrund der Tatsache dass dieses Szenario was er da darstellt aber total realitätsfern ist ist der trotzdem keine schlechte Wahl.
 
Würde mich interessieren, wie es sich da beim FX 8350 verhält

Er verreckt. ;)

Was Linus da macht ist selbst für den 5960X ne harte Bank, ohne 8 echte Kerne + SMT siehste da ganz alt aus, egal welcher Hersteller auf der CPU steht. Da kann der 8-Moduler von AMD genauso wenig reißen wie ein 4Kerner+SMT von intel.

Glücklicherweise kommt so ein Szenario nur dann vor wenn mans drauf anlegt. Man muss aber fairerweise dazu sagen es ist angenehm es so zu machen bzw. wenn mans kann bietet es sich wirklich an. Ich kann tatsächlich im Hintergrund Videobearbeitung/konvertierung betreiben, einige weitere Programme auf haben und in der Wartezeit Thief spielen beispielsweise.... macht der 5960X alles mit. :-D
 
Limitierst du den i7 dann? Weil bei mir geht dann einfach die Konvertierung mit allen 12 Threads und Spiele gehen ähnlich gut wie mit dem i5 :ugly:
 
Limitierst du den i7 dann? Weil bei mir geht dann einfach die Konvertierung mit allen 12 Threads und Spiele gehen ähnlich gut wie mit dem i5 :ugly:

Kommt auf den Workload an. Bei weniger harten Einstellungen oder kleineren Auflösungen kann x.264 die 16 Threads sowieso nicht gut auslasten so dass ich einfach so dabei spielen kann und es reicht. Wenns harte Settings sind die die CPU komplett auslasten können beim konvertieren stelle ich halt die Zugehörigkeit im Task-Manager (oder gleich in x.264 mit dem threads= Befehl) kurz von hand ein.
2 Kerne (also 4 Threads) "freistellen" reicht für die meisten Spiele bereits locker aus. :)
 
Zuletzt bearbeitet:
Hey, ich studiere zur Zeit im 3. Semester Informatik.
Im 1. Semester hatten wir eine Vorlesung die etwas näher auf die Hardware eingegangen ist. Also NMOS, PMOS, CMOS Schaltungen, wie man daraus größere Schaltungen, Addierer, Zähler etc baut usw.
Danach (leider) nicht mehr viel zu dem Thema.

Nun ist es ja so, dass die SingleCore Performance von Intel (deutlich??) besser ist, als die von AMD. Mich interessiert es, "auf welcher Ebene" der CPU das zustandekommt?

Dh. hat Intel die Transistoren "schlauer" angeordnet und braucht weniger Flankenwechsel bzw Takte um etwas zu berechnen.? Meine gelernt zu haben, dass man bestimmte Schaltungen so verbessern kann, dass sie schneller sind, diese Schaltungen dann aber mehr Platz benötigen. Intel hat ja eine kleinere Strukturbreite, könnte also auf gleichem Platz mehr von den "schnelleren" Schaltungen unterbringen?
Oder spielt sowas auf unterste Ebene garkeine Rolle und AMD ist da praktisch gleichwertig und die Geschwindigkeitsunterschiede kommen auf einer "höheren Ebene" zustande? Dh. Intel managed den Cache besser oder Ähnliches?

Vllt weiß da einer Bescheid, ich finds persönlich ziemlich spannend.

Grüße und schöne Feiertage ;)
So, jetzt hab ich mir das Thema auch mal anständig durchgelesen... :schief:
Zu meinem Kenntnisstand: ich studiere im 5. Semester (Bachelor) Elektrotechnik und hätte dieses Semester "Technische Informatik" als Wahlfach nehmen können. Das hatte ich auch vor, hab mich aber in der Mitte des Semesters dagegen entschieden. War mir dann doch zu trocken. Ein halbes Semester Technische Info hatte ich also! :ugly:
Wenn wir uns einen Chip heutzutage ansehen, dann bedecken die eigentlichen Recheneinheiten zu nicht mal annähernd 1% der eigentlichen Chipfläche. Der Rest ist alles drum herum. Ansteuerung, Caches usw. usw.
Und genau dieses drum herum macht die eigentliche Geschwindigkeit aus. Unser Prof hat mal gemeint, dass eine effektive Ansteuerung die Geschwindigkeit eines Chips um das 1000-Fache steigern kann oder so. Auf die Zahl will ich mich nicht festlegen, aber die Recheneinheiten sollen am Ende eben so wenig "Leerzeit" wie möglich haben und im besten Fall in jedem Takt irgendwas machen. Wenn du dir ansiehst, was aus einem Compiler herauskommt, wenn du ein Programm in Hochsprache durchjagst, das hat mit der eigentlichen Idee des Programms ja meistens nur noch wenig gemein. Und das, was herauskommt, ist ja schon für die jeweilige Architektur so angepasst, dass es die CPU konzeptbedingt am schnellsten abarbeiten kann.
Genau kann ich dir leider auch nicht sagen, wo die Geschwindigkeit flöten geht. Ich hab das Fach jetzt ja nicht mal angemeldet und das Wissen um den Aufbau der CPUs hab ich gleich zweimal nicht. Aber das oben hat mein Prof immer wieder in der Vorlesung gemeint.
gRU?; cAPS
 
Unser Prof hat mal gemeint, dass eine effektive Ansteuerung die Geschwindigkeit eines Chips um das 1000-Fache steigern kann oder so. Auf die Zahl will ich mich nicht festlegen, aber die Recheneinheiten sollen am Ende eben so wenig "Leerzeit" wie möglich haben und im besten Fall in jedem Takt irgendwas machen.

Dazu zwei Dinge:

1.) Ja, man kann die Geschwindigkeit eines Chips extrem steigern wenn der Code auf die Hardware gut passt/ausgelegt ist, der Faktor 1000 ist aber sehr sehr optimistisch. Gut erreichbar sind Faktor 10 (etwa bei AES-Beschleunigung), bei manchen Dingen auch selten Richtung 100. Vom Prinzip her stimmt das aber.

2.) Die Nummer mit "im besten Fall in jedem Takt irgendwas machen" stimmt bei älteren Chips und heutigen weniger komplexen Chips (etwa in Taschenrechnern). Bei modernen CPUs und GPUs will man genau das NICHT haben (was kein Problem ist da mans nicht mal erreicht wenn mans wollte) da das zur Folge hätte dass der Chip in wenigen Sekunden weggeschmolzen wäre. :D

Man hat heute das "Problem", dass wenn man die Chips wirklich gut auslastet diese ihr TDP-Limit sprengen und im Extremfall einfach schmelzen würden. Vergleiche die AVX/FMA-Instruktionen bei Haswell (wo Intel extra eine neue TDP-Klasse einführen musste im Serverbereich weil die CPUs zu gut ausgelastet wurden und zu heiß wurden...) oder den Furmark bei GPUs (wo zuerst simple Stromlimiter und danach PowerTargets usw. eingeführt wurden um die GPUs zu drosseln bevor sie daran sterben) - und diese Programme sind noch weit davon entfernt dass der Chip in jedem Takt mit jedem Schaltkreis irgendwas macht. Ein Sprecher von AMD hatte zur Furmark-Problematik mal in einem Interview gesagt, dass eine moderne GPU sofort zerstört würde wenn alle enthaltenen Transistoren gleichzeitig schalten müssten.

Kurioserweise überleben unsere modernen Chips nur noch weswegen WEIL sie so komplex sind dass wir sie nichtmehr wirklich auslasten können. ;)

Das fällt dem normalen Mob aber nicht auf weil Microsoft sich eines Tricks bedient und nur die Auslastung des Schedulers im Task-Manager anzeigt... sprich wenn nur ein kleiner Teil der CPU gerade keine Aufgaben mehr annehmen kann steht da ne Auslastung von "100%" auf dem jeweiligen Kern... auch wenn 98% der Chipfläche des Kerns grade nichts macht.
jeder der schon mal Temperaturen beobachtet hat unter Last kann erkennen, dass die 100% Last von verschiedenen Programmen ganz verschiedene reale Auslastungen bedeuten. :-)
 
Zuletzt bearbeitet:
Ein Sprecher von AMD hatte zur Furmark-Problematik mal in einem Interview gesagt, dass eine moderne GPU sofort zerstört würde wenn alle enthaltenen Transistoren gleichzeitig schalten müssten.

Sehr interessanter Beitrag, danke dafür ;p
Hättest du einen Link zum Interview zum nachlesen/angucken? Sowas interessiert mich immer ziemlich .
 
Ich hatte als ich den Post geschrieben habe schon danach gesucht - und ihn nicht mehr gefunden. Es ist irre schwierig eine Aussage in einem älteren Interview wiederzufinden. :ugly:

Aber auch ohne das zu finden kann man es leicht nachvollziehen wenn man den Taschenrechner ein wenig bemüht und ein paar Quellen durchforstet. Es gibt ja eine (winzige) Energiemenge die nötig ist, damit ein Transistor in einer GPU schalten kann - ich habe den Wert nicht im Kopf, vielleicht geschätzt ein paar femtoJoule. Wenn man die bekannte Anzahl an Transistoren in einer heutigen GPU (mehrere Milliarden) mit diesem Wert Multipliziert und dann davon ausgeht dass das bei 1 GHz Takt eine Milliarde mal pro Sekunde passieren soll kommt man auf eine Leistung (Joule pro Sekunde = Watt), die Größenordnungen über dem liegt was wir als TDP kennen. :P


Wenn ich (erfunden) von einem femtojoule ausgehe den ein Transistor zum schalten braucht und 5 Milliarden Transistoren in einer GPU mit 1 GHz betreibe wären das wenn alles gleichzeitig schaltet...

Energie pro Transistor * Anzahl Transistoren * Schaltvorgänge pro Sekunde =
10^-15J * 5*10^9 * 10^9 1/s = 5000 J/s = 5000 W

Glücklicherweise schaltet selbst bei Vollast immer nur ein sehr geringer Prozentsatz der vorhandenen Transistoren tatsächlich gleichzeitig, so dass wir die Chips noch kühlen können. :D
 
Zuletzt bearbeitet:
Eure Ansätze sind interessant aber ich glaube ihr weicht vom Thema ab.
Ich hab kurz vor dem Release der 900er Reihe von Nvidia einen Post gesehen in dem halbwegs verständlich erklärt wurde, wie Nvidia den Stromverbrauch senken und die Leistung trotzdem steigern will, und genau dies könnte auch hier zutreffen.

Vergleicht man alleine die größe der Chips intel/amd und die anbindung (Sockel/Pinanzahl) hat man schon fast eine Antwort auf das Problem.
Die Sockelarchitektur des AM3+ ist erstens viel zu alt und wurde im Laufe der Zeit nur wenig weiterentwickelt und dann kommt auch noch die Größe des Chips und die Fläche die es hier gilt zu Belegen.
AM3+ cpus sind wahre Stromfresser im Gegensatz zu Intel und werden auch dementsprechend warm

Die neuen NvidiaChips sind ja die neue Maxwell-Architektur. Extrem effizient und schnell, und werden auch bei weitem nicht mehr so warm wie die Kepler oder Fermi karten, weil der Stromverbrauch durch die Effizienz stark gesunken ist.
und wenn man sich etwas auskennt mit dem Grundgerüst eines Prozessors, dann findet man hier doch die ein oder andere Ähnlichkeit im Vergleich Nvidia/Intel.
 
Zurück