Skylake vs Zen

Warum?
Die Coreanzahl ist doch nicht entscheidend... Wichtig ist die Anzahl der Threads, die der Prozessor gleichzeitig bedienen kann. Und wenn die dort vierfach SMT integrieren würden, native nur vier Cores rein bauen und das Teil unter MT Last so schnell wie ein i7 Oktacore Haswell-E wird, wäre das ziemlich OK. Dann wäre es immernoch NUR ein Quadcore. Aber interessiert doch überhaupt nicht, wenn das, was hinten bei rum kommt, stimmt...
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Solange man keine Software verwendet wird die von mehr als 4 Kerne profieren, sind die 6 Kerner von AMD und Intel wertlos.
Ihr solltet euch alle nicht so viel auf die Kerne versteifen...
 
Nur wird es keine Software geben, die explizit Kerne anspricht, sondern es werden über das Scheduling des OS Threads angesprochen... Wo diese herkommen, ist im Endeffekt völlig hupe. Was hinten bei raus kommt, muss stimmen. Gerade eine Technik wie SMT kann unter Teillast Szenarien durchaus Sinn machen. Und Teilllastszenarien dürfte zu 99% im Heimbetrieb das Maß der Dinge sind, da Volllast und idle idR selten sind. Der 2x SMT Ansatz von Intel lässt im Mittel vielleicht 20-25% absolute Leistung liegen, wenn man anstatt acht Threads eines Mainstream i7 S11xx nur vier Threads anspricht. Im Vergleich zu einem nativem Oktacore würde dieser bei acht auf vier Threads aber 50% Leistung liegen lassen. Das gleiche gilt für seinen Hexacore Phenom II -> der würde von sechs auf vier Threads immernoch 33% liegen lassen.
 
ich kann keine 700€ scheissen
Und jeder 4 kerner ist ein schlag ins gesicht, gegnüber meinen 6 Kerner

eher wohl ein Schlag auf dein Ego, als ins Gesicht :)

heutzutage sind wir doch soweit, das der überwiegende Teil der Systeme (im Mittel) im Idle läuft und nur Lastspitzen auftreten (ja 4 Stunden Gaming/recoding etc ist eine Lastspitze)

ich sehe das immer, wenn Leute "Homelabs" mit CPUs bestücken, welche im produktiven Serverumfeld halbe Firmen versorgen können :)



... aber es wurde aus der "best Bang for the Buck" halt eine gesättigte "oh my God, 100% Auslastung und ich könnte noch 10% mehr gebrauchen für ein paar Stunden"
... liegt aber auch daran, das kaum noch Hardwarenah programmiert wird, sondern einfach lieber mit Kanonen auf Spatzen geschossen wird



ein System ist dann "effizient", wenn es auf mind 70-80% im Mittel läuft (Reserven sind immer gut) ... gute Beispiele dafür sind z.B. shared Hoster, die wirklich diese Werte erreichen (leider gibt es da auch schwarze Schafe mit 110-120% overprovisioning)
 
Zuletzt bearbeitet:
heutzutage sind wir doch soweit, das der überwiegende Teil der Systeme (im Mittel) im Idle läuft und nur Lastspitzen auftreten (ja 4 Stunden Gaming/recoding etc ist eine Lastspitze)

ich sehe das immer, wenn Leute "Homelabs" mit CPUs bestücken, welche im produktiven Serverumfeld halbe Firmen versorgen können :)
Das was im Serverumfeld ausreicht, reicht für eine Professionell genutze Workstation dann aber plötzlich nicht mehr, denn da kommt es auf genau da drauf an, wie schnell eben diese Lastspitze abgearbeitet ist >> Zeit = Geld.
Wenn ein Rendervorgang in AutoCad oder 3DMax statt 50 Minuten nur 40 Minuten dauert ist das ein echter Zeitgewinn, der für das effektive Arbeiten an dieser Workstation zur Verügung steht.
Oder nehmen wir das Beispiel Programmieren. wenn ein Compilerlauf nur 50 Sekunden statt 80 Sekunden dauert, sind das auf den Arbeitstag gerechnet mindestens 5-6 Compilerläufe mehr (Programmieren, Compilieren, Testen, Debuggen, Compilieren, Testen, Debuggen, Compilieren usw...)
 
ja sowas gibt es, die haben aber keine 0815 Quad/6 Cores sondern dual E5 Workstations ^^
 
Beim X6 vs I5/7 tritt eine 10 Jahre alte Grundsatzarchitektur (K7) auf eine deutlich neuere (Core2). Dafür liefs ganz gut für AMD.
Aber es wird sich zumindest im Gaming-Bereich langfristig auf 6 native Kerne einpeilen, da geh ich jede Wette ein. x86-Code lässt sich nicht sonderlich gut effektiv parallelisieren, ab 8 Threads wirds unrentabel und ich halte 6 volle Kerne ohne SMT für das sinnvolle Maximum wenn man Stromverbrauch und Takt mit einrechnet. Für Video- und Bildbearbeitung dürften 8-Kerner ziemlich optimal sein, aber hier könnten zunehmend GPUs eine größere Rolle spielen. AMDs Ausrichtung für Zen ist also aus meiner Sicht goldrichtig. Intel wird bei der Nachfolgegeneration von KabyLake vllt. nachziehen, mal sehen. Es könnte bei Intel dann in eine wirklich neue Plattform münden.
 
Zuletzt bearbeitet:
Zuletzt bearbeitet:
So isses, "lohnt sich" spielt sich immer nur im eigenen Kopf ab.
 
x86-Code lässt sich nicht sonderlich gut effektiv parallelisieren
So ein Unsinn, denn wie gut sich Code parallelisieren lässt, hängt doch nicht von der Architektur der CPU sondern von den Algorithmen ab, die verwendet werden. Es gibt eben Grenzen und wenn die Daten einer Berechnung von denen der vorherigen abhängen, dann kann man mit keiner CPU Architketur beide parallel berechnen, das geht einfach nicht. Das einzige Problem was der x86 u.U. hat ist sein Alter und die vielen alten Codes z.B. in Windows, die alle nicht parallel geschrieben sind obwohl man da mehr parallel machen könnte.

Bei Linux wird das mehr gemacht um auch alte Codes neu zu schreiben, Microsoft investiert hingegen vor allem dort wo der User es sieht, aber wenig in die Überarbeitung der alten Codes und bei vielen anderen Programmen ist es nicht anders, da es Geld kostet, vor allem für die Validierung, wenn man als fehlerfrei bekannten Code umschreibt. Im übrigen setzt Intel mit TSX auch genau da an um die Saklierbarkeit über mehrere Kerne zu verbessern, da wird vereinfacht gesagt ähnlich wie bei einer Sptrungvorhersage gearbeitet und wenn das Ergebnis eines Thread die Arbeit des anderen beeinflussen könnte, erstmal so getan als wüsste man schon was wohl passieren wird und auf Basis der Annahme weiter gemacht. Liegt das Ergebnis wie erwartet vor, hat man Zeit gewonnen und wenn nicht, passiert eine Art Rollback und es muss dann eben noch mal der Alternative Pfad mit dem tatsächlichen Wert abgearbeitet werden. Das soll bei Aufgaben mit guter Vorhersagbarkeit einen Performancegewinn um den Faktor 4 bis 5 ermöglichen, etwa bei Datenbanken, da ändert ja eine Abfrage ja nur selten die Werte von denen die Ergebnis abhängen, sie könnte es aber und daher muss man eben normalerweise warten bis die gemacht ist und kann die Abfrage erst danach starten, während die Abfrage mit TSX eben parallel laufen kann.

Neben HLE (Hardware Lock Elision) enthällt Intels TSX (Transactional Synchronization eXtensions) auch noch RTM (Restricted Transactional Memoy), welche andere Archtiktur in der Preisklasse hat das zu bieten? ARM meines Wissens nicht und wenn ARM scheinbar besser parallelisiert, dürfte die Ursache dafür vor allem darin liegen, dass dort fast nur Linux basierte OS zum Einsatz kommen und die Taktraten der CPUs weitaus geringer sind, diese also weniger lange auf RAM Zugriffe warten müssen und sich Kerne daher auch weniger dabei in Gehege kommen.

Zum Vergleich von Preisen über die Generationen: Die muss man in Dollar vergleichen, der Euro hat zum Dollar in der zweiten Jahreshäfte 2014 massiv verloren und daher sind mit gewisser Verzögerung aufgrund der Lagersituation auch die Preise in Euro entsprechend gestiegen, da CPUs wie alle Computerhardware nun einmal in Dollar gehandelt werden. So einen schwachen Euro wie 2015 und auch zur Zeit hatten wir zuletzt vor über 10 Jahren!
 
Zuletzt bearbeitet:
Beim X6 vs I5/7 tritt eine 10 Jahre alte Grundsatzarchitektur (K7) auf eine deutlich neuere (Core2). Dafür liefs ganz gut für AMD.

Der Core2 basiert auf Pentium 3 Technik. Das der Phenom alt wäre war nur ein lächerlilches Bulldozer Argument.
 
Um zu Zen zurück zu kommen, Zen wird erstmal zeigen müssen, was er kann. Native acht Cores + SMT im Desktop Markt müssen sich erstmal gegen die dann erhältlichen Broadwell-E Modelle beweisen.

Das ist ein Denkfehler.

Ein 8 Kerner Zen muss sich nicht mit einem Broadwell-E 8 Kerner prügeln. Ein x $ Zen muss sich gegen einen gleich teuren Intel Prozessor behaupten (und dabei sollte man die Mainboard-Preise auch beachten).

AMD muss weder x Mrd $ Gewinn pro Quartal erwirtschaften noch die Smartphone/Tablet Prozessoren quersubventionieren. AMD kann anders kalkulieren und wird bei fehlender Leistungen wie immer über den Preis gehen. Wenn es am Ende heißt Intel 4 Kerner oder AMD 8 Kerner (jeweils mit Mainboard) für den selben Preis interessiert es niemanden ob ein Intel 8 Kerner für deutlich mehr Geld x % schneller ist. Es interessiert nur, welche der beiden Optionen in den gewünschten Umfeld mehr leistet.

... liegt aber auch daran, das kaum noch Hardwarenah programmiert wird, sondern einfach lieber mit Kanonen auf Spatzen geschossen wird

Zahlst du die hardwarenahe Programmierung? Wenn man davon absieht, dass vieles in hardwarenahen Programmiersprachen überhaupt nicht möglich wäre, kostet die Entwicklung *deutlich* mehr Zeit im Vergleich zu höheren Programmiersprachen. Und Zeit ist Geld.
 
Zahlst du die hardwarenahe Programmierung? Wenn man davon absieht, dass vieles in hardwarenahen Programmiersprachen überhaupt nicht möglich wäre, kostet die Entwicklung *deutlich* mehr Zeit im Vergleich zu höheren Programmiersprachen. Und Zeit ist Geld.

leider ist Heute Gewinn > Kundenbindung .... sieht man auch schon an der "Umerziehung" von Kunden
früher waren Bugs ein manko, heute "erwartet" jeder, dass neue Software nicht fehlerfrei ist (überlegt mal wie das in den Zeiten vor den patches per Internet war, wo die Hersteller noch patches per Post verschickten)

erstreckt sich über jede Art von Software .... früher gabs da den Spruch, wie nennt man es, wen Hardware und Software nicht zusammenpassen : "Scheissware"

selbst auf "genormten" Platformen treten heute Bugs und Fehler auf, welche noch vor 10-15 Jahren ein Unding gewesen wären ... einfach nur wegen Worktime/Releasetime Optimierung (und das bei Platformen, wo man den Aufwand einmal für Millionen Geräte hat)
Geld verdienen nur die Manager je dach dem wieviel sie den Umsatz steigern (nichtmal Gewinn)

Kunden sind "bezahlende" Betatester

ich füre da gern z.B. Android Geräte an, da hier selbst 0815 ambitionierte Hinterhof Entwickler teils bessere Arbeit leisten, als die Firmen selbst (ist aber nur ein beispiel, da z.B. selbst bei iOS mit fehlern keiner helfen kann)
.... da könnte man die bin Blobs gleich frei zugänglich machen, dann wären viele der Geräte gleich viel schneller "optimiert"

.... Grundsatz: kannst oder willst du etwas nicht, lass es Andere tun


... wenn euer neuer Kühlschrank nur 50% der Zeit kühlt müßt ihr sicherlich ab 2020 auch auf Updates warten :)
... wenn euer neues Auto nach einen Software Update plötzlich alle Sitze und Einstellungen zurücksetzt (und 4L mehr braucht) und eure Route überträgt wird es wohl von MS sein ab 2020


aber zumindest war es noch nie so einfach etwas gratis zu erhalten für eine positive Rezension wie heute :) (probierts mal aus :) )
 
Zuletzt bearbeitet:
@pumuckel:

Ich stimme dir voll und ganz zu, nur hat Fehlerfreiheit und ressourcenschonende Programmierung wenig gemeinsam.

Im Gegenteil: In höheren Programmiersprachen ist es einfacher fehlerfreie Programme zu schreiben, als in hardwarenahen Programmiersprachen.

Die hohe Fehlerquote in heutiger Software resultiert mMn aus unzureichenden / nicht vorhandenen UnitTesting, zu wenig Entwicklungszeit und teilweise unzureichendes Wissen der Programmierer.
 
M.t.B. danke für deine Zustimmung

die HW nahe programmierung wäre aber einfach zu erreichen (siehe Intel und (nun) AMD mit Linux) .... aber solange Hersteller ihre Schnittstellen prop (prop blobs) ausführen ....

gutes Beispiel ist NVidia wo eine 950/960 annähernd die performance von 970/980 erreicht unter linux

in den prop drivern wird sehr viel "geschummelt"

amd gibt nun direkten Zugriff auf die HW (neu) und Intel ist selbst super involviert
 
Zuletzt bearbeitet:
wenn zen 10% langsamer wäre als skylake würde mich das nicht stören, dafür 8Kerne ohne Hyperthreading.
 
Ein 8 Kerner Zen muss sich nicht mit einem Broadwell-E 8 Kerner prügeln. Ein x $ Zen muss sich gegen einen gleich teuren Intel Prozessor behaupten (und dabei sollte man die Mainboard-Preise auch beachten).

AMD muss weder x Mrd $ Gewinn pro Quartal erwirtschaften noch die Smartphone/Tablet Prozessoren quersubventionieren. AMD kann anders kalkulieren und wird bei fehlender Leistungen wie immer über den Preis gehen. Wenn es am Ende heißt Intel 4 Kerner oder AMD 8 Kerner (jeweils mit Mainboard) für den selben Preis interessiert es niemanden ob ein Intel 8 Kerner für deutlich mehr Geld x % schneller ist. Es interessiert nur, welche der beiden Optionen in den gewünschten Umfeld mehr leistet.

Grundsätzlich richtig, allerdings wird AMD ihre neuen und teuer entwickelten CPUs nicht verschenken. Wozu brauchen wir Zen, wenn es am Ende bedeutet, dass AMD mit einem acht Kern Zen gegen einen vier Kern Skylake i5/i7 antreten sollte? -> das hat doch keinen Sinn... Denn es wäre fast wie Bulldozer vs. Skylake, sogar noch eine Stufe schlechter, weil eben Zen mit SMT und acht Cores 16 Threads händeln könnte -> wenn diese 16 Threads von Zen nur für acht Intel Threads langen würden, wäre das in Sachen pro Thread Performance sogar weniger als Bulldozer heute abliefert. Das Projekt wäre schon direkt ab dem ersten Tag zum Scheitern verurteilt. Das wird so nicht kommen.
Auch werden die Preise sich (wie bei jeder neuen CPU Generation, egal ob Intel oder AMD) an den am Markt befindlichen Modellen orientieren. Das deckt die niedrig Preise der Einsteigermodelle ebenso mit ein wie die HighEnd Modelle für S2011-3 mit 1000€+

Rein von den Rohdaten her ließt es sich auch völlig anders. Denn diese Rohdaten auf dem Papier sprechen eher davon, dass die Zen CPUs mit gut mehr pro Thread Performance als Bulldozer kommen. AMD selbst spricht von 40%+ ggü. Excavator (der letzten BD Ausbaustufe -> die es aktuell nicht als Desktop Modelle gibt) Rechne doch einfach selbst nach, wo so ein Prozessor mit acht Cores und SMT landen würde -> das wäre Haswell-E Niveau. Ob es für den 10 Core Broadwell-E reicht, bleibt abzuwarten. Warscheinlich nicht... Aber das wäre auch kein direkter Beinbruch. Zumal Intel dort sowieso den längeren Atem hat und das Silizium vom Broadwell-E mit über 20 Cores noch "Luft" für breitere CPUs bietet, es bedarf einzig und allein dem offenen Multi sowie einem i7 Label. Ich könnte mir sogar vorstellen, dass man bei einem sehr starken Zen Prozessor dort dann nicht mehr i7 sondern was anderes dranschreibt.

PS: der da Rest doch etwas OT ist, hab ich den Spaß mal in einen Spoiler verpackt ;)
Zahlst du die hardwarenahe Programmierung? Wenn man davon absieht, dass vieles in hardwarenahen Programmiersprachen überhaupt nicht möglich wäre, kostet die Entwicklung *deutlich* mehr Zeit im Vergleich zu höheren Programmiersprachen. Und Zeit ist Geld.

Was ist denn eine "hardwarenahe Programmiersprache"?
Sowas gibts nicht... Es gibt Programmiersprachen, die in verschiedenen "Klassen" eingeteilt sind. Die erste Stufe sind "Maschinensprachen" -> dort schreibst du direkt in Maschinencode, ohne Umschweife oder sonstiges. Das Ganze ist dabei 1:1 auf die Maschine/den Prozessor zugeschnitten und läuft normal auch nur darauf bzw. auf dazu kompatibler Hardware.
Darüber kommen maschienorientierte/symbolische Sprachen oder neudeutsch auch Assemblersprachen genannt. Hier werden die Zahlenkolonnen der Maschinensprachen durch besser lesbare symbolische Ausdrücke ersetzt. Der Nachteil dabei ist, es bleibt idR bei einer Hardwarebindung. Assemblercode für x86 kombatible Prozessoren wird per se nicht auf einer NV oder AMD GPU laufen.
Die dritte Stufe sind problemorientierte Sprachen oder auch Hochsprachen. -> das ist das, was man idR heute nutzt. Sprachen wie C(++), C#, VB und auch Java usw. Die dritte Stufe wird dabei sogar nochmal unterteilt in Unterstufen, wobei die Übergänge oftmals fließend sind. Der wohl aktuell höchste Ansatz sind die objektorientierten Sprachen.

Wo findet sich in dieser Übersicht nun eine "hardwarenahe Programmiersprache"? -> das müsste Ebene 1 oder 2 sein. Das nutzt allerdings heute fast keiner mehr und hat auch Gründe. Programmcode ist heute extremst komplex, da fließen viele tausend Codezeilen rein. Das ganze hardwarenah in Assembler oder direkt in Maschinensprache zu schreiben wäre overkill ohne Ende. Der Zeitaufwand wäre exorbitant und das Ergebnis wäre bestenfalls ernüchternd. Denn das Problem ist, heutige Compiler erzeugen idR annähernd "perfekten" Maschinencode. Man gibt ihm einfach eine Hochsprache zu füttern und es kommt sauberer Maschiencode hinten raus. Und nicht nur das, der heutige Compiler ist oftmals auch in der Lage, Optimierungen vorzunehmen, für die der Programmierer, welcher in Assembler oder Maschinencode schreiben würde, extrem viel Aufwand für die Implementierung haben würde. Bspw. lassen sich Zählschleifen ala "for" fluffig leicht Multithreaded ausführen. -> hier kann der Compiler ansetzen und einfach diese Optimierung durchführen. Schreib mal ein Multithreaded Tool in Assembler -> viel Spaß dabei. Warscheinlich bekommen die meisten Programmierer heute nichtmal "Hello World" via Assembler, geschweige denn direkt in Maschinencode auf den Schirm gezaubert. Da ist nix mit "cout" oder ähnlichem, das wird schön direkt auf/in den Framebuffer geschoben und dann der entsprechende Interupt angetriggert, vorher noch die Register laden usw. -> was du in einer Hochsprache mit nichtmal 50 Zeichen Text hinbekommst, würde in Assembler mehrere Zeilen mit wild wirkenden Befehlen bedeuten. Von Maschinencode ganze zuschweigen. Und das für eine simple Stringausgabe auf dem Schirm!

erstreckt sich über jede Art von Software .... früher gabs da den Spruch, wie nennt man es, wen Hardware und Software nicht zusammenpassen : "Scheissware"

selbst auf "genormten" Platformen treten heute Bugs und Fehler auf, welche noch vor 10-15 Jahren ein Unding gewesen wären ... einfach nur wegen Worktime/Releasetime Optimierung (und das bei Platformen, wo man den Aufwand einmal für Millionen Geräte hat)
Geld verdienen nur die Manager je dach dem wieviel sie den Umsatz steigern (nichtmal Gewinn)

Kunden sind "bezahlende" Betatester

Du unterschlägst dabei aber eine ganze Menge...
Der wohl wichtigste Punkt ist, Software ist heute einfach drastisch komplexer als noch vor Jahren... Früher haben die Programmierer da innerhalb von ein paar Wochen/Monaten fertige Software entwickelt, einfach weil die Geschichte derart wenig Komplex war, dass sowas überhaupt erstmal möglich war. Was man brauchte war fundiertes Wissen über die Hardware und los gehts. Heute brauchst du kein direktes Wissen mehr über die Hardware, sondern du musst dich in der Hochsprache auskennen. Den Rest übernimmt das System für dich. Das ist ein himmelweiter Unterschied zu damals.

Auch sind heute Bugs und Fehler eher Logikprobleme in der Programmbeschreibung des Hochsprachencodes. Früher in Maschinencode/Assemblercode waren Fehler keine Logikprobleme, sondern schlicht Fehler. Die Compiler machen heute einfach nur dass, was man ihnen sagt. Wenn die Logik dahinter falsch ist, kann der Code ja nix für, der hinten raus kommt. Der PC rechnet nur das, was man ihm sagt und macht dabei möglichst auch keine Fehler ;)
Ebenso hat sich die Programmierkultur über die Jahrzente geändert. Früher, zu Zeiten, wo die Heimcomputer so langsam Fahrt aufnahmen, haben sich die Programmierer durch Wissen über die Hardware gewisses KnowHow angeeignet. Wenn man weis wie die Maschine tickt, kann man auch die Maschine an gewissen Punkten austricksen. Ich sag nur Stichwort A20 Gate. Da kommen dann Leute und bauen sich über einen "Umweg" eine Funktion, die so nicht hätte sein sollen. Wo gibt es heute sowas noch?

die HW nahe programmierung wäre aber einfach zu erreichen (siehe Intel und (nun) AMD mit Linux) .... aber solange Hersteller ihre Schnittstellen prop (prop blobs) ausführen ....

gutes Beispiel ist NVidia wo eine 950/960 annähernd die performance von 970/980 erreicht unter linux

in den prop drivern wird sehr viel "geschummelt"

amd gibt nun direkten Zugriff auf die HW (neu) und Intel ist selbst super involviert

Es hindert sich doch niemand, in Assembler oder Maschinencode zu schreiben. Ehrlich gesagt verstehe ich das Problem nicht...
Mir scheint eher, dass du da einem kleinen Verständnisproblem unterliegst. Nicht die Hardwarenähe (oder besser gesagt "ferne" in dem Fall) ist das Problem, sondern das Problem ist die Kompatibilität. Software ohne Hochsprachen wären schlicht nicht kompatibel zu verschiedenen Hardwareeinheiten. Wie soll das bspw. in Games funktionieren? Da kommt NV Code, AMD Code und Intel Code für die GPUs raus. -> das unter einen Hut zu bringen heist entweder 3x die Arbeit zu erledigen und damit auch 3x in Probleme zu laufen oder man nutzt eine Hochsprache mit entsprechenden Schnittstellen, welche alle Hersteller supporten und damit auch grundsätzlich eine Lauffähigkeit geschaffen ist.
Das ganze Marketing BlaBla von wegen Low Level Programmierung im GPU Bereich ist doch nur Sülz im Vergleich. Das ist bestenfalls "lower level" aber nicht "low level". Man kann sich von der Hardwarenähe einfach nix kaufen. Wichtig ist, dass die Implementierung der Funktionen so sauber funktioniert, dass man die gewünschen Thematiken damit abdecken kann. Low Level in Maschinencode wird heute nur noch das allerwenigste erzeugt, da der Code idR ineffizient ist. Zumindest ineffizienter als ein anständiger Compiler es fabrizieren würde, vor allem dann, wenn die Problemstellungen komplex(er) sind...


Was das Thema Geld/Zeit angeht, da stimme ich dir grundsätzlich aber zu. Programmierung in der heutigen Zeit darf idR nix kosten. Aber Programmierer sind teuer. Entsprechend kommt es hier zu einem Zielkonflikt. Anders als noch vor Jahrzenten, wo eben eine einzige Person in der Lage war, ein entsprechendes Werk abzuliefern binnen ein paar Wochen, benötigt es heute viele Programmierer um erstmal das Grundgerüst zu schaffen. Dazu kommen Leute für die Grafik und Leute für das Spiel selbst, Leveldesigner, Sprecher, usw. usf. In der Zeit, wo die Softwareentwicklung läuft, verdient man aber nix. Also muss man in Vorkasse gehen -> das geht solange gut, wie Geld da ist. Irgendwann muss man aber abliefern. Ob fertig und bis ins letzte Detail fehlerfrei oder nicht. Auch kostet Fehlerbeseitigung im Nachgang Geld, welches nicht direkt honoriert wird. Bestenfalls indirekt durch höhere Verkaufszahlen. Klappt aber auch nur gewisse Zeit nach dem Release, da einfach nach alter Software idR kein Hahn mehr kräht.
 
Excavator hat schon gute Ergebnisse geliefert dann wird ja zen oder dessen nachfolger besser.
 
wenn zen 10% langsamer wäre als skylake würde mich das nicht stören, dafür 8Kerne ohne Hyperthreading.

Wenn Zen mit acht Kernen ohne SMT 10% langsamer wäre als ein Skylake Quadcore (ggf. mit SMT), dann wäre die pro Thread Performance aber in etwa auf Bulldozer Niveau und damit schlicht immernoch extrem viel unterhalb der aktuellen Intel Prozessoren. Das könnte sich AMD glatt schenken ;)
Das mag in Software, welche sehr gut auf MT skaliert, funktionieren. In Alltagssoftware, welche kurze Lastspitzen erzeugt, die es abzufedern gilt, wird sowas aber nicht aufgehen... Einfach weil dann die Zeit der Ausführung immernoch bei ca. 1,5x der Intel Prozessoren liegen würde. Schau dir doch Benches von Bulldozer an im Vergleich. Solange du den Bulldozer Prozessoren MT Software gibst, die mehrere Threads mit Arbeit nutzen, ist die Performance nicht wirklich schlecht. Sobald aber die Gesamtauslastung der CPU unter 50% sinkt, schlägt die hohe pro Thread Performance bei Intel voll durch und die Leistung steigt deutlich über die Bulldozer CPUs. HighLoad Szenarien hast du im Alltag aber idR nicht. Es gibt idR Teillast. Um so breiter die CPUs werden, desto weniger Last hast du im Mittel.

Ebenso würde eine solche "Zen" CPU dann das gleiche Schicksal ereilen wie damals dem Thuban X6 oder eben heute den Bulldozer CPUs. Die Leistung in Summe fällt mit jedem Thread, der keine Last erzeugt, im gleichen Verhältnis ab, wie die Lastthreadanzahl abnimmt. -> hier setzt SMT an, da es damit eben möglich ist, nur unwesentlich Leistung (von der gesamten Leistung betrachtet) zu verlieren, wenn man von 100% auf 50% Last runter geht. (bei Intel wären das atm um die 15-25% im Schnitt) -> und erst unter 50% Load sinkt die Performance dann 1:1 mit der Threadanzahl. Wenn Zen mit acht Cores ohne SMT genutzt wird, wäre 50% Load und damit halbe Last aber auch nur 50% der möglichen Leistung.

Also nein, das wird nix und ernsthaft gesehen sollte man sich sowas auch nicht "wünschen". Viel eher sollte man drauf bauen, dass Zen in etwa Haswell bis Skylake Niveau mit dem Quadcore + SMT erreicht. Das impliziert eine pro Thread Performance auf Intel Niveau und durch doppelte Coreanzahl im Mainstream auch deutlich höhere MT Power in dieser Klasse, als es Intel aktuell abliefert -> dann könnte das Ding durchaus Erfolg haben.
Ich glaube aber ehrlich gesagt nicht, dass AMD dann so eine CPU für 300€ verramschen würde, wenn man damit auch 1000€+ drauf schreiben könnte -> schließlich wäre das i7-5960X Niveau und der kostet nunmal 1000€+

Excavator hat schon gute Ergebnisse geliefert dann wird ja zen oder dessen nachfolger besser.

Davon ist zumindest auszugehen, wenn AMD es nicht in irgend einer Weise versemmelt...
Zuzutrauen ist leider sowohl das eine, als auch das andere. Aber hoffen wir mal das Beste ;)

Mir erschließt sich nur das Thema mit den Boards noch nicht ganz. Wenn die kommenden APUs für AM4 mit Bulldozer Unterbau, wohl maximal zwei Modulen samt CMT und GPU unter der Haube auf dem gleichen Sockel/Board arbeiten, wie die kommenden Zen CPUs, stellt sich mir immernoch die Frage, wie das funktionieren kann/soll?
-> die APU wird wohl kaum 32 und mehr PCIe Lanes rausführen
-> die APU wird wohl kein Quadchannel SI mit DDR4 Speichern haben
Allerdings sollen genau doch diese beiden Punkte mit Zen für AM4 kommen? Wie soll das bei den Boards dann funktionieren? Deutlich komplexere Boards aufgrund viel mehr Leitungen für das SI und die PCIe Lanes zusammen mit einer niedrigpreis APU gehen aus meiner Sicht nicht auf. -> die Boards werden dadurch unnötig teuer und vor allem kann die APU die Geschichten ja gar nicht nutzen.
Das muss irgendwie anders gelöst werden -> AM4+ für Zen? Ist es denn sicher, dass es der gleiche Sockel sein soll? Ich könnte mir bspw. vorstellen, dass Zen zwar AM4 kompatibel wird, also draufsteckbar und lauffähig ist, aber eben dann nur 16 PCIe Lanes rausführt und nur mit einem Dual Channel SI läuft. -> für vollen Support gibts dann den AM4+. So könnte es zumindest aus meiner Sicht aufgehen. Aber aktuell gibts darüber wohl quasi NULL Infos. Ist also nur eine Spekulation meinerseits.
 
@fdsonne: Von verschenken war auch nie die Rede, nur von anderen Preiskalkulationsmöglichkeiten. Würde mich nicht überraschen, wenn AMD einen 8 Kerner (16 Threads) für 500$ rausbringt.

Auf die Rohdaten auf Papier gebe ich nichts mehr, Bulldozer las sich auch ganz gut. Ich glaube nicht, dass Zen an die Intel Pendants herankommt oder diese gar übertrifft, allerdings wird AMD wieder in Schlagdistanz kommen und den Rest über den Preis regeln.

P.S. Hardwarenahe Programmiersprachen sind beispielsweise Maschinencode, Assambler und C.
 
Ich hoffe AMD wieder richtig zurückschlägt, aber dann darf man sich einfach nicht der Illusion hingeben das AMD dann billiger als Intel sein wird. Damals zu A64 FX Zeiten hat so eine CPU ebenso viel gekostet wie ein P4 EE. Aber ich hoffe inständig das AMD wieder rockt, dann bin ich der erste der wechselt...
 
@fdsonne: Von verschenken war auch nie die Rede, nur von anderen Preiskalkulationsmöglichkeiten. Würde mich nicht überraschen, wenn AMD einen 8 Kerner (16 Threads) für 500$ rausbringt.

Auf die Rohdaten auf Papier gebe ich nichts mehr, Bulldozer las sich auch ganz gut. Ich glaube nicht, dass Zen an die Intel Pendants herankommt oder diese gar übertrifft, allerdings wird AMD wieder in Schlagdistanz kommen und den Rest über den Preis regeln.
Das wäre dann aber eben verschenken. Nämlich in dem Sinne, dass man die Modelle unter Wert verkauft. Wenn das Teil Haswell bis Skylake pro Thread Performance erreicht, was durchaus im Rahmen des möglichen ist, dann kostet es entsprechend. Selbst wenn da ein paar Prozentpunkte fehlen sollten, kann man das mit Takt ansatzweise ausgleichen, da der neue Prozess ganz andere Möglichkeiten bietet zu heute mit 32nm. Würde man die Preise entsprechend niedrig wählen, würde man unter Wert verkaufen, was einem verschenken gleich kommt.

Und was die Werte auf dem Papier angeht. Nicht die nakten Zahlen sind entscheidend, man sollte schon verstehen, was die Zahlen aussagen. Bei Bulldozer ließ man sich in der Community vom Marketing blenden. Das passiert häufig, da viele Leute einfach nicht in der Lage sind die Zahlen ensprechend einordnen zu können. Von den Rohwerten auf dem Papier wusste man ziemlich genau, dass Bulldozer mit CMT einen völlig anderen Weg ging als Intel. Ebenso war absehbar (da dem Phenom II X6 Thuban das gleiche schnicksam ereilte), dass die Rohleistung nur mit entsprechend hoher MT Last zum Tragen kommt... Die Schwierigkeit bei Bulldozer war aber, dass der CMT Ansatz neu für die Leute war -> zumindest die Masse der Community in Foren wie diesem. Man hat einfach nicht verstanden, was CMT ist und wie CMT wirkt. So zog man Vergleiche zu SMT und da kommt/kam CMT natürlich gut weg. -> das die Realität aber nicht an CMT oder Bulldozers Technik scheitert, sondern viel eher daran, dass die Durschnittssoftware mit Mutlithreading nicht sonderlich viel anzufangen weis, haben nur die wenigsten damals erblickt. Auch Leaks zur damaligen Zeit fachten das Hypefeuer noch weiter an. Ich erinnere mich da noch an Spiele Benches im absoluten GPU Limit, wo die Bulldozer CPUs mit den Hexacore Westmeres auf Augenhöhe waren. -> war ja auch richtig, aber eben Praxisfern. Mal ein Beispiel, damals schon wusste man vor Bulldozer Release, dass dort 2x2 ALUs + 1x shared FPU pro CMT Modul verbaut sind. Intel bot mit Sandy bspw. 1x3 ALUs + 1x dedicated FPU pro Core. Aktuell sogar 1x4 ALUs + FPU pro Core. Packst du nun SMT da drüber fällt auf, dass Bulldozer potentiell mehr ALU Power hat auf dem Papier als Intel damals. Blöd ist aber, wenn man nun vergisst zu bedenken, dass für 2x2 ALUs auch zwei Threads notwendig sind, wenn also SingleThreaded nur das halbe CMT Modul benutzt wird, bleibt auch nur 1x2 ALUs + die shared FPS über. -> das sind Details, die man damals wusste. Und auch damals schon entsprechend einordnen konnte ;)

Bei Zen sehen die Zahlen aber ganz anders aus. Der Aufbau/die Architektur ist eher Intels Ansatz ähnlich. Das sagt grundsätzlich zwar noch nicht direkt etwas über die abgelieferte Performance aus. Aber man kann daran durchaus Sachen ablesen. So bekommt Zen wohl, wenn ich das recht in Erinnerung habe ähnlich dem Intel Ansatz 1x4 ALUs sowie eine dedicated FPU. Der Decoder weiter vorn im Bild ist wohl in der Lage, die Einheiten entsprechend auszufahren -> damit MUSS deutlich mehr Durchsatz als bei Bulldozer drin sein, vor allem bei wenig MT Load

P.S. Hardwarenahe Programmiersprachen sind beispielsweise Maschinencode, Assambler und C.

Du wirfst hier ne Menge durcheinander... Wenn es danach geht, wäre ja jede Programmiersprache hardwarenah. C und Assembler auf eine Schwelle zu stellen verbietet sich quasi per Definition dessen, was Assembler und C sein soll. Nämlich letzteres ist eine Hochsprache, wie oben erwähnt. Assembler ist das keineswegs, es ist eher der human readable Ansatz des Maschinencodes. Maschinencode ist per se Hardwarenah. Näher gehts imho eigentlich nicht... Denn es ist 1:1 das, was die Maschine durchführt in Form von Binärcodes. Maschinencode ist aber eben KEINE Programmiersprache. Eine Programmiersprache ist C/C++ oder auch C#, Java, VB usw. -> es ist damit wurscht, welche Hardware drunter tuckert. Durch jene Hochsprache fällt die Hardwarebindung hinten runter und das ist auch völlig gut so. Das heist keineswegs, dass damit nicht Hardware ansprechbar wäre, ganz im Gegenteil. Es bedarf einfach nur der richtigen Extensions. Ebenso kannst du in den mächtigen Hochsprachen der heutigen Zeit auch direkt Assemblercode einfließen lassen -> das schließt C/C++ keineswegs aus. IdR bleibt es aber eben bei reinem Hochsprachencode dabei, dass man dem Compiler durch die Codezeilen mitteilt, wie die er der Hardware mitteilt, wie diese agieren soll... Der Compiler übersetzt dabei das, was man in Hochsprachencode getippert hat in eine für die CPU verständliche Form. Somit ist es möglich, für jegliche Hardwareprozessoren in Hochsprachencode Anweisungen zu erzeugen -> es bedarf einzig und allein den richtigen Compilern um den Code auf die richtigen Prozessoren hin zu übersetzen. Nicht mehr und nicht weniger. Man kann unter diesem Gesichtspunkt Assembler und C als Stellvertreter einer Hochsprache schlicht nicht auf die gleiche Ebene stellen. unmöglich, ausgeschlossen ;)
Deswegen ist C als Hochsprache aber keine hardwarenahe Programmiersprache... Du programmierst ja nicht hardwarenah, sondern du erzeugst immernoch Hochsprachencode, welcher übersetzt wird. Wie hardwarenah der erzeugte Code ist, hängt nicht von der Sprache ab, sondern daran, was man schreibt. Code, welcher Schnittstellen anspricht wird nicht so hardwarenah sein, wie Code, der direkt Hardware anspricht... -> was wiederum den Schluss zuläst, das es eben keine hardwarenahe Programmiersprache gibt, da es eben davon abhängig ist, was man macht und nicht was die Programmiersprache ist ;)

Um mal ein Beispiel zu bringen, du könntest technisch gesehen über OpenGL/DirectX eine GPU mit Arbeit versorgen. Der Code ist dabei in der Hochsprache erstellt und spricht die Schnittstelle an. Das gleiche wäre möglich, wenn du im gleichen Hochsprachencode direkt den Treiber ansprichst. Oder sogar direkt die Hardware (bspw. wenn du Treiber programmierst) -> es bleibt bei der gleichen Sprache. Die Anweisungen rücken aber immer näher an die Hardware ran. Das klappt grundsätzlich mit jeglichen (Hoch)sprachen, sofern es Compiler gibt, die entsprechenden Binärcode ausspucken, was die Hardware versteht. Gibt es letzteres nicht, müssen halt Schnittstellen herhalten. Damit ist es grundsätzlich bspw. erstmal möglich, dass AMD, NV und Intel GPUs alle samt das gleiche darstellen. -> weswegen auch die Abtrennung wie oben erfolgt. Eben in Maschinencode, Assemblercode und Hochsprachencode. Ersteres und zweiteres würden 3x Code für 3x Hardware benötigen. Letzteres als Hochsprache nicht. Da wird einfach die Schnittstelle angesprochen und der Code ist/bleibt identisch und das 1:1. Bestenfalls Sonderoptimierungen anhand von Vendor IDs oder ähnlichem wird man da nutzen...
 
Grundsätzlich richtig, allerdings wird AMD ihre neuen und teuer entwickelten CPUs nicht verschenken. Wozu brauchen wir Zen, wenn es am Ende bedeutet, dass AMD mit einem acht Kern Zen gegen einen vier Kern Skylake i5/i7 antreten sollte? -> das hat doch keinen Sinn... Denn es wäre fast wie Bulldozer vs. Skylake, sogar noch eine Stufe schlechter, weil eben Zen mit SMT und acht Cores 16 Threads händeln könnte -> wenn diese 16 Threads von Zen nur für acht Intel Threads langen würden, wäre das in Sachen pro Thread Performance sogar weniger als Bulldozer heute abliefert. Das Projekt wäre schon direkt ab dem ersten Tag zum Scheitern verurteilt. Das wird so nicht kommen.
Auch werden die Preise sich (wie bei jeder neuen CPU Generation, egal ob Intel oder AMD) an den am Markt befindlichen Modellen orientieren. Das deckt die niedrig Preise der Einsteigermodelle ebenso mit ein wie die HighEnd Modelle für S2011-3 mit 1000€+

Rein von den Rohdaten her ließt es sich auch völlig anders. Denn diese Rohdaten auf dem Papier sprechen eher davon, dass die Zen CPUs mit gut mehr pro Thread Performance als Bulldozer kommen. AMD selbst spricht von 40%+ ggü. Excavator (der letzten BD Ausbaustufe -> die es aktuell nicht als Desktop Modelle gibt) Rechne doch einfach selbst nach, wo so ein Prozessor mit acht Cores und SMT landen würde -> das wäre Haswell-E Niveau. Ob es für den 10 Core Broadwell-E reicht, bleibt abzuwarten. Warscheinlich nicht... Aber das wäre auch kein direkter Beinbruch. Zumal Intel dort sowieso den längeren Atem hat und das Silizium vom Broadwell-E mit über 20 Cores noch "Luft" für breitere CPUs bietet, es bedarf einzig und allein dem offenen Multi sowie einem i7 Label. Ich könnte mir sogar vorstellen, dass man bei einem sehr starken Zen Prozessor dort dann nicht mehr i7 sondern was anderes dranschreibt.

PS: der da Rest doch etwas OT ist, hab ich den Spaß mal in einen Spoiler verpackt ;)
Was ist denn eine "hardwarenahe Programmiersprache"?
Sowas gibts nicht... Es gibt Programmiersprachen, die in verschiedenen "Klassen" eingeteilt sind. Die erste Stufe sind "Maschinensprachen" -> dort schreibst du direkt in Maschinencode, ohne Umschweife oder sonstiges. Das Ganze ist dabei 1:1 auf die Maschine/den Prozessor zugeschnitten und läuft normal auch nur darauf bzw. auf dazu kompatibler Hardware.
Darüber kommen maschienorientierte/symbolische Sprachen oder neudeutsch auch Assemblersprachen genannt. Hier werden die Zahlenkolonnen der Maschinensprachen durch besser lesbare symbolische Ausdrücke ersetzt. Der Nachteil dabei ist, es bleibt idR bei einer Hardwarebindung. Assemblercode für x86 kombatible Prozessoren wird per se nicht auf einer NV oder AMD GPU laufen.
Die dritte Stufe sind problemorientierte Sprachen oder auch Hochsprachen. -> das ist das, was man idR heute nutzt. Sprachen wie C(++), C#, VB und auch Java usw. Die dritte Stufe wird dabei sogar nochmal unterteilt in Unterstufen, wobei die Übergänge oftmals fließend sind. Der wohl aktuell höchste Ansatz sind die objektorientierten Sprachen.

Wo findet sich in dieser Übersicht nun eine "hardwarenahe Programmiersprache"? -> das müsste Ebene 1 oder 2 sein. Das nutzt allerdings heute fast keiner mehr und hat auch Gründe. Programmcode ist heute extremst komplex, da fließen viele tausend Codezeilen rein. Das ganze hardwarenah in Assembler oder direkt in Maschinensprache zu schreiben wäre overkill ohne Ende. Der Zeitaufwand wäre exorbitant und das Ergebnis wäre bestenfalls ernüchternd. Denn das Problem ist, heutige Compiler erzeugen idR annähernd "perfekten" Maschinencode. Man gibt ihm einfach eine Hochsprache zu füttern und es kommt sauberer Maschiencode hinten raus. Und nicht nur das, der heutige Compiler ist oftmals auch in der Lage, Optimierungen vorzunehmen, für die der Programmierer, welcher in Assembler oder Maschinencode schreiben würde, extrem viel Aufwand für die Implementierung haben würde. Bspw. lassen sich Zählschleifen ala "for" fluffig leicht Multithreaded ausführen. -> hier kann der Compiler ansetzen und einfach diese Optimierung durchführen. Schreib mal ein Multithreaded Tool in Assembler -> viel Spaß dabei. Warscheinlich bekommen die meisten Programmierer heute nichtmal "Hello World" via Assembler, geschweige denn direkt in Maschinencode auf den Schirm gezaubert. Da ist nix mit "cout" oder ähnlichem, das wird schön direkt auf/in den Framebuffer geschoben und dann der entsprechende Interupt angetriggert, vorher noch die Register laden usw. -> was du in einer Hochsprache mit nichtmal 50 Zeichen Text hinbekommst, würde in Assembler mehrere Zeilen mit wild wirkenden Befehlen bedeuten. Von Maschinencode ganze zuschweigen. Und das für eine simple Stringausgabe auf dem Schirm!



Du unterschlägst dabei aber eine ganze Menge...
Der wohl wichtigste Punkt ist, Software ist heute einfach drastisch komplexer als noch vor Jahren... Früher haben die Programmierer da innerhalb von ein paar Wochen/Monaten fertige Software entwickelt, einfach weil die Geschichte derart wenig Komplex war, dass sowas überhaupt erstmal möglich war. Was man brauchte war fundiertes Wissen über die Hardware und los gehts. Heute brauchst du kein direktes Wissen mehr über die Hardware, sondern du musst dich in der Hochsprache auskennen. Den Rest übernimmt das System für dich. Das ist ein himmelweiter Unterschied zu damals.

Auch sind heute Bugs und Fehler eher Logikprobleme in der Programmbeschreibung des Hochsprachencodes. Früher in Maschinencode/Assemblercode waren Fehler keine Logikprobleme, sondern schlicht Fehler. Die Compiler machen heute einfach nur dass, was man ihnen sagt. Wenn die Logik dahinter falsch ist, kann der Code ja nix für, der hinten raus kommt. Der PC rechnet nur das, was man ihm sagt und macht dabei möglichst auch keine Fehler ;)
Ebenso hat sich die Programmierkultur über die Jahrzente geändert. Früher, zu Zeiten, wo die Heimcomputer so langsam Fahrt aufnahmen, haben sich die Programmierer durch Wissen über die Hardware gewisses KnowHow angeeignet. Wenn man weis wie die Maschine tickt, kann man auch die Maschine an gewissen Punkten austricksen. Ich sag nur Stichwort A20 Gate. Da kommen dann Leute und bauen sich über einen "Umweg" eine Funktion, die so nicht hätte sein sollen. Wo gibt es heute sowas noch?



Es hindert sich doch niemand, in Assembler oder Maschinencode zu schreiben. Ehrlich gesagt verstehe ich das Problem nicht...
Mir scheint eher, dass du da einem kleinen Verständnisproblem unterliegst. Nicht die Hardwarenähe (oder besser gesagt "ferne" in dem Fall) ist das Problem, sondern das Problem ist die Kompatibilität. Software ohne Hochsprachen wären schlicht nicht kompatibel zu verschiedenen Hardwareeinheiten. Wie soll das bspw. in Games funktionieren? Da kommt NV Code, AMD Code und Intel Code für die GPUs raus. -> das unter einen Hut zu bringen heist entweder 3x die Arbeit zu erledigen und damit auch 3x in Probleme zu laufen oder man nutzt eine Hochsprache mit entsprechenden Schnittstellen, welche alle Hersteller supporten und damit auch grundsätzlich eine Lauffähigkeit geschaffen ist.
Das ganze Marketing BlaBla von wegen Low Level Programmierung im GPU Bereich ist doch nur Sülz im Vergleich. Das ist bestenfalls "lower level" aber nicht "low level". Man kann sich von der Hardwarenähe einfach nix kaufen. Wichtig ist, dass die Implementierung der Funktionen so sauber funktioniert, dass man die gewünschen Thematiken damit abdecken kann. Low Level in Maschinencode wird heute nur noch das allerwenigste erzeugt, da der Code idR ineffizient ist. Zumindest ineffizienter als ein anständiger Compiler es fabrizieren würde, vor allem dann, wenn die Problemstellungen komplex(er) sind...


Was das Thema Geld/Zeit angeht, da stimme ich dir grundsätzlich aber zu. Programmierung in der heutigen Zeit darf idR nix kosten. Aber Programmierer sind teuer. Entsprechend kommt es hier zu einem Zielkonflikt. Anders als noch vor Jahrzenten, wo eben eine einzige Person in der Lage war, ein entsprechendes Werk abzuliefern binnen ein paar Wochen, benötigt es heute viele Programmierer um erstmal das Grundgerüst zu schaffen. Dazu kommen Leute für die Grafik und Leute für das Spiel selbst, Leveldesigner, Sprecher, usw. usf. In der Zeit, wo die Softwareentwicklung läuft, verdient man aber nix. Also muss man in Vorkasse gehen -> das geht solange gut, wie Geld da ist. Irgendwann muss man aber abliefern. Ob fertig und bis ins letzte Detail fehlerfrei oder nicht. Auch kostet Fehlerbeseitigung im Nachgang Geld, welches nicht direkt honoriert wird. Bestenfalls indirekt durch höhere Verkaufszahlen. Klappt aber auch nur gewisse Zeit nach dem Release, da einfach nach alter Software idR kein Hahn mehr kräht.
Voll zustimm
 
@fdsonne
Zitat von M.t.B. Beitrag anzeigen
P.S. Hardwarenahe Programmiersprachen sind beispielsweise Maschinencode, Assambler und C.

Da kommt wohl jeder nicht involvierte Durcheinander, heute nennt sich ja selbst ein(e) Homepage Gestalter(in) "Programmierer(in)".
Könnte man das nicht einfach in low-level und high-level Unterteilen?
 
Zuletzt bearbeitet:
Neja, wie gesagt, es entscheidet eher das, was du damit machst, wie tief es im Level nach unten geht anstatt die Sprache, mit der du das fabrizierst. Und natürlich muss das gegenwertige System es auch zulassen, soweit runter zu greifen. -> ist dies verboten, weil nicht gewünscht, wirds nichts werden.

Das geht heute soweit, dass selbst in einer Hochsprache die Compiler programmiert werden können, die eigentlich dafür da sind, den Hochsprachencode soweit umzusetzen, dass die Maschine es versteht.
-> stell es dir wie die billigen Science-Fiction Filme vor, wo der Mensch den Roboter erschaft und der Roboter sich selbst noch viel besser erschaffen kann ;) -> so ähnlich läuft das hier auch. Der Mensch erzeugt initial den Grundstock. Und über diesen Grundstock kannst du quasi unendlich nach oben hin weiter optimieren, soweit dass du selbst diese Compiler/Interprätersoftware in der Hochsprache erstellst und die Übersetzung dieses Typs wiederum diesem selbst überlässt ;) Um so tiefer du dann in die Hardware greifst, desto "lower" quasi das "level". Wie du das machst und mit welcher Sprache? Eigentlich nebensächlich...
 
@fdsonne:

Man kann Programmiersprachen in verschiedene Gruppen unterteilen. Entweder so wie du (was auch völlig richtig ist) oder auch in imperative oder deklarative Programmiersprachen oder wie ich in hardwarenah oder nicht. Dass Maschinencode hardwarenäher ist als Assambler ist klar, aber in dieser Unterteilung unterscheidet man nur zwischen hardwarenah oder nicht, wobei die Grenzen nicht fest definiert sind. Die meisten ziehen zwischen C und C++ die Grenze.
 
Neja, aber darum gehts doch?
Du sprachst von einer hardwarenahen Programmiersprache... Wenn nicht definiert ist, was hardwarenah ist, wie kann man da dann bitte einordnen, welche Sprache hardwarenah wäre und welche nicht? Weswegen ich oben auch sagte, das es das nicht gibt. Per Definition sollte eigentlich Low Level dann gegeben sein, wenn man direkt der Einheit sagt, was sie machen soll. Das schließt sich mit einer Hochsprache idR recht bald aus, da dort eben idR genau das nicht mehr stattfindet, sondern unter der Decke, völlig am Programmierer vorbei, geschieht und man eigentlich, wie du als weiteres Klassifizierungsbeispiel selbst sagst, imperativ agiert. Dabei sind Assemblersprachen auch imperativ. Was aber nicht wirklich entscheidend ist, ob es nah an der Hardware und damit an unter(st)er Ebene stattfindet oder nicht.

Aber vielleich sehe ich das auch einfach aus einer viel zu überholten Sicht, da ich eben diese Trennung nicht an der Sprache festmache. -> ergibt einfach wenig Sinn das zu tun. Der Vorteil von C ist einfach, dass es für quasi jeden Prozessor am Markt einen C Compiler gibt. Das heist, man kann mit C indirekt sogut wie jegliche Prozessoren programmieren... Zumindest versteht der Compiler den generellen Code nach Standard... Hardwarenahe Implementierungen dagegen sind nicht automatisch für jeden Prozessor übertragbar. -> wo ich dann wieder an dem Punkt bin, das es keine hardwarenahen Programmiersprachen gibt/geben kann, denn sonst müsste das möglich sein -> geht aber erst, wenn man es sich baut.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh