Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.
2 ώρες πριν, peppasnet είπε

Αισθάνομαι ότι φτιάχνουν πόρσε και φεράρι ενώ οι πιο πολλοί που θα τα αγοράσουμε, θα πηγαίνουμε με 120-150χλμ το πολύ 😂(μόνο το θέμα του computation photography, μας πιάνει ολίγον) 

Όμως με ένα γέμισμα θα πηγαίνουμε για ώρες και ώρες και ώρες.

  • Απαντ. 62
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Δημοφιλείς Ημέρες

Δημοσ. (επεξεργασμένο)
5 ώρες πριν, amav είπε

Ποιος είναι 5Watt? Σίγουρα όχι ο M1.

Οι ARM είναι "εύκολοι" επεξεργαστές. Αγοράζεις ένα License και ζητάς από ένα εργοστάσιο να σου τυπώσει μερικά εκ κομμάτια. Έτσι δουλεύουν οι περισσότεροι, ακόμα και η QC δεν σχεδίαζε από την αρχή τους επεξεργαστές της αλλά πρόσθετε τις τεχνολογίες της.

Η λύση που ακολουθούν όσοι έχουν τα resources είναι αντί για έτοιμα τα blueprints, αγοράζουν τη δυνατότητα χρήσης του instruction set από την ARM και σχεδιάζουν αυτοί τον επεξεργαστή. Και εδώ όμως τις περισσότερες φορές δεν ξεκινάνε από λευκό χαρτί αλλά πατάνε και εξελίσσουν κάποιο υπάρχον core (βλέπε QC).

Και έρχεται το ερώτημα, μέχρι που μπορείς να φτάσεις αν κάποιος σου δώσει ένα 10ετές πλάνο και μερικά δις το χρόνο;

Το αποτέλεσμα το βλέπουμε, το πως δουλεύει ο Μ1 όμως ακόμα δεν το έχουμε πολυκαταλάβει, τουλάχιστον από τις τεχνικές αναλύσεις που γίνονται (έχουν βγάλει μέχρι και τα timings του instruction set), μπορούμε να μαντέψουμε από τι αποτελείται, φυσικά με περιθώριο λάθους αλλά δεν έχουμε καταλάβει πως έχει τόσο χαμηλή κατανάλωση.

Η ταχύτητα του Μ1 δεν οφείλεται απλά στο ότι είναι RISC, αν ήταν έτσι όλοι οι ARM, οι Power, οι RISC-V θα ήταν γρηγορότεροι από τους intel/amd κάτι που φυσικά δεν ισχύει.

Το ότι είναι RISC βοηθάει στο μέγεθος της κάθε εντολής που είναι μικρό και το κυριότερο σταθερό, μπορεί το πρόγραμμα να σπάσει σε ίσα κομμάτια, τα οποία θα διανεμηθούν σε 8 pipelines.

Η Intel ως τώρα είχε 4 pipelines και τώρα πήγε στα 6. Ακόμα και αυτά όμως δεν γεμίζουν εύκολα γι' αυτό και η κάθε εντολή σπάει σε μικρότερα κομμάτια για να γεμίσουν τα pipelines πιο εύκολα. Και πάλι όμως η απόδοση είναι γύρω στο 60-70% τελευταία φορά που κοίταξα γι΄αυτό και υπάρχει το hyperthreading που σπρώχνει και άλλες εντολές μέσα στα pipelines ώστε να φτάσει το πολυπόθητο 100%.

Μια σημείωση εδώ. Το hyperthreading είναι security vulnerability γι' αυτό και κάποια σοβαρά OS όσον αφορά την ασφάλεια όπως το OpenBSD το έχουν απενεργοποιήσει, ως τώρα δεν υπάρχει workaround για αυτά τα προβλήματα.

H AMD τώρα πήγε ή θα πάει στα 8 pipelines, δεν είμαι σίγουρος γι' αυτό, αλλά και πάλι κι εκεί υπάρχει το ίδιο πρόβλημα. Οι decoders που παίρνουν μια-μια τις εντολές είναι αδύνατον λόγω αρχιτεκτονικής να γεμίσουν πιο γρήγορα τα pipelines, από τη στιγμή που δεν ξέρουν το μήκος της κάθε εντολής προκαταβολικά.

Το ενδιαφέρον με τον Μ1 είναι ότι είναι τόσο γρήγορος που η μνήμη που κρατούνται προσωρινά οι εντολές είναι πολλαπλάσια από τους x86, πάνω από 600 εντολές περιμένουν και τα pipelines είναι μόνιμα 100% γεμάτα και τη πρόσβαση στη μνήμη να γίνεται σε blocks των 128bytes (όχι bits). Οι Out of order μηχανισμοί είναι τόσο αποδοτικοί που έχει 3 τεράστιες cache που είναι πολλαπλάσιες των x86.

Όλα στον M1 είναι "μεγάλα". Από την πρόσβαση στη μνήμη, από τις cache, τα 8 pipelines τους, το βάθος τους, όλα λοιπόν θα έπρεπε να φωνάζουν ΚΑΤΑΝΑΛΩΣΗ. Εκεί όμως είναι το θέμα, πως γίνεται να κρατάει τόσο χαμηλή κατανάλωση με όλα τα νούμερα να είναι πολλαπλάσια από τις υπάρχουσες υλοποιήσεις.

Είμαι σίγουρος ότι τα μεγαλύτερα μυαλά του χώρου έχουν πέσει με τα μούτρα να δουν πως θα βγάλουν από τη μύγα ξύγκι, κάποια πράγματα που θεωρούσαν δεδομένα τελικά δεν ήταν και σίγουρα οι Intel/AMD έχουν πρόβλημα, προφανώς όχι τώρα, αλλά σε βάθος 5ετίας όταν θα δούμε τα αποτελέσματα της δουλειάς των ανθρώπων που σχεδίασαν τους Ax και Μ1 που πλέον είναι στο προσωπικό της QC.

Όπως είπες και εσύ φίλε, δεν ξεκίνησε κανένας από το 0 με τους ΑΡΜ.

Για αυτό στην πρώτη προσπάθεια η Apple έχει τέτοια αποτελέσματα.

Όμως, έχω διαβάσει ότι δεν ξέρουμε πια είναι τα περιθώρια βελτίωσης των ΑΡΜ. Δηλαδή, ναι ξεκίνησαν με καλή απόδοση, αλλά μπορούν να γίνουν πιο γρήγοροι (μπορούν να ξεπεράσουν τους χθ6), ή έχουν ένα μικρο ταβάνι, που σύντομα θα το πιάσουν;

Αυτό είναι το θέμα.

Επεξ/σία από ii_die_4
Δημοσ.
3 hours ago, amav said:

Ποιος είναι 5Watt? Σίγουρα όχι ο M1.

Οι ARM είναι "εύκολοι" επεξεργαστές. Αγοράζεις ένα License και ζητάς από ένα εργοστάσιο να σου τυπώσει μερικά εκ κομμάτια. Έτσι δουλεύουν οι περισσότεροι, ακόμα και η QC δεν σχεδίαζε από την αρχή τους επεξεργαστές της αλλά πρόσθετε τις τεχνολογίες της.

Η λύση που ακολουθούν όσοι έχουν τα resources είναι αντί για έτοιμα τα blueprints, αγοράζουν τη δυνατότητα χρήσης του instruction set από την ARM και σχεδιάζουν αυτοί τον επεξεργαστή. Και εδώ όμως τις περισσότερες φορές δεν ξεκινάνε από λευκό χαρτί αλλά πατάνε και εξελίσσουν κάποιο υπάρχον core (βλέπε QC).

Και έρχεται το ερώτημα, μέχρι που μπορείς να φτάσεις αν κάποιος σου δώσει ένα 10ετές πλάνο και μερικά δις το χρόνο;

Το αποτέλεσμα το βλέπουμε, το πως δουλεύει ο Μ1 όμως ακόμα δεν το έχουμε πολυκαταλάβει, τουλάχιστον από τις τεχνικές αναλύσεις που γίνονται (έχουν βγάλει μέχρι και τα timings του instruction set), μπορούμε να μαντέψουμε από τι αποτελείται, φυσικά με περιθώριο λάθους αλλά δεν έχουμε καταλάβει πως έχει τόσο χαμηλή κατανάλωση.

Η ταχύτητα του Μ1 δεν οφείλεται απλά στο ότι είναι RISC, αν ήταν έτσι όλοι οι ARM, οι Power, οι RISC-V θα ήταν γρηγορότεροι από τους intel/amd κάτι που φυσικά δεν ισχύει.

Το ότι είναι RISC βοηθάει στο μέγεθος της κάθε εντολής που είναι μικρό και το κυριότερο σταθερό, μπορεί το πρόγραμμα να σπάσει σε ίσα κομμάτια, τα οποία θα διανεμηθούν σε 8 pipelines.

Η Intel ως τώρα είχε 4 pipelines και τώρα πήγε στα 6. Ακόμα και αυτά όμως δεν γεμίζουν εύκολα γι' αυτό και η κάθε εντολή σπάει σε μικρότερα κομμάτια για να γεμίσουν τα pipelines πιο εύκολα. Και πάλι όμως η απόδοση είναι γύρω στο 60-70% τελευταία φορά που κοίταξα γι΄αυτό και υπάρχει το hyperthreading που σπρώχνει και άλλες εντολές μέσα στα pipelines ώστε να φτάσει το πολυπόθητο 100%.

Μια σημείωση εδώ. Το hyperthreading είναι security vulnerability γι' αυτό και κάποια σοβαρά OS όσον αφορά την ασφάλεια όπως το OpenBSD το έχουν απενεργοποιήσει, ως τώρα δεν υπάρχει workaround για αυτά τα προβλήματα.

H AMD τώρα πήγε ή θα πάει στα 8 pipelines, δεν είμαι σίγουρος γι' αυτό, αλλά και πάλι κι εκεί υπάρχει το ίδιο πρόβλημα. Οι decoders που παίρνουν μια-μια τις εντολές είναι αδύνατον λόγω αρχιτεκτονικής να γεμίσουν πιο γρήγορα τα pipelines, από τη στιγμή που δεν ξέρουν το μήκος της κάθε εντολής προκαταβολικά.

Το ενδιαφέρον με τον Μ1 είναι ότι είναι τόσο γρήγορος που η μνήμη που κρατούνται προσωρινά οι εντολές είναι πολλαπλάσια από τους x86, πάνω από 600 εντολές περιμένουν και τα pipelines είναι μόνιμα 100% γεμάτα και τη πρόσβαση στη μνήμη να γίνεται σε blocks των 128bytes (όχι bits). Οι Out of order μηχανισμοί είναι τόσο αποδοτικοί που έχει 3 τεράστιες cache που είναι πολλαπλάσιες των x86.

Όλα στον M1 είναι "μεγάλα". Από την πρόσβαση στη μνήμη, από τις cache, τα 8 pipelines τους, το βάθος τους, όλα λοιπόν θα έπρεπε να φωνάζουν ΚΑΤΑΝΑΛΩΣΗ. Εκεί όμως είναι το θέμα, πως γίνεται να κρατάει τόσο χαμηλή κατανάλωση με όλα τα νούμερα να είναι πολλαπλάσια από τις υπάρχουσες υλοποιήσεις.

Είμαι σίγουρος ότι τα μεγαλύτερα μυαλά του χώρου έχουν πέσει με τα μούτρα να δουν πως θα βγάλουν από τη μύγα ξύγκι, κάποια πράγματα που θεωρούσαν δεδομένα τελικά δεν ήταν και σίγουρα οι Intel/AMD έχουν πρόβλημα, προφανώς όχι τώρα, αλλά σε βάθος 5ετίας όταν θα δούμε τα αποτελέσματα της δουλειάς των ανθρώπων που σχεδίασαν τους Ax και Μ1 που πλέον είναι στο προσωπικό της QC.

Πολύ ωραία ανάλυση φίλε μου, 

Αν μου επιτρέπεις να προσθέσω μερικά σημεία,

Από όσο γνωρίζω, όλες οι x86 υλοποιήσεις έχουν 4 decoders και πρακτικά είναι ανούσιο προστεθούν παραπάνω λόγω του μεταβλητού bytes σε κάθε instruction. 
Όλες οι σύγχρονες υλοποιήσεις x86 είναι σχεδιασμένες για 2 Threads per Core, το να βγάζουμε από έξω το hyperthreading/SMT στερεί ένα βασικό χαρακτηριστικό της σχεδίασης. (desktop χρήση)
Οι 8 decoder, οι αποδοτικοί ΟoO και η unified memory αρχιτεκτονική δεν είναι εφεύρεση και καινοτομία τoy Μ1, υπάρχουν (με παραλλαγές) σε πολλές ARM υλοποιήσεις. 
Επίσης, η κατανάλωση έχει άμεση σχέση με την συχνότητα λειτουργίας, ο Μ1 καταναλώνει (max ~28W) σε μια συγκεκριμένη συχνότητα (~3.2GHz) με συγκεκριμένα thermals κτλ. Η διάφορά της αρχιτεκτονικής όπως σωστά ανέφερες (4 bytes fixed instruction length, decoders, prefetchers) του επιτρέπει να αποδίδει σχεδόν το διπλάσιο από ένα x86 CPU στην ίδια συχνότητα λειτουργίας. Με απλά λόγια δεν έχει κάποιο μυστικό, καταναλώνει όσο πρέπει για το μέγεθος του και την απόδοση του. (βέβαια είναι SoC και με dedicated chips οπότε η σύγκριση είναι άτοπη/άδικη με ένα general purpose CPU)

Στον αντίποδα,  οι x86 έχουν μερικά πλεονεκτήματα (και ίσως κρυμμένους άσσους)

Είναι πιο εύκολο στην x86 υλοποίηση να πετύχεις μεγαλύτερες βελτιώσεις (κυρίως IPC) με μια πιο αποδοτική σχεδίαση. Σε ARM απλώς προσθέτεις πυρήνες κάτι που σε desktop χρήση δεν είναι πάντα καλό.
Ανάλογα την σχεδίαση μπορεί να έχεις πολύ καλύτερο latency κάτι που οι ARM δεν μπορούν να πλησιάσουν εύκολα. 
Έχεις εντολές που υπο-συνθήκες μπορεί να εκτελέσει συγκεκριμένα workload που ένας ARM δεν μπορεί. Πχ AVX512. Επίσης, Intel & AMD ήδη εργάζονται να «ελαφρώσουν» το CISC instruction εντολές. 
Σε x86 μπορείς να μεγαλώσεις εύκολα την cache και το κυριότερο να ανεβάσεις «εύκολα» συχνότητα (με άλλη σχεδίαση/υλικά από τις τωρινές) πχ 6-7GHz  και να αντισταθμίσεις την απόδοση… αρκεί να ελέγξεις τα thermals.
Big/Little σχεδίαση σε x86 ISA έχει περισσότερα προτερήματα αν εφαρμοστεί σωστά.

Μπράβο στην Apple που τόλμησε να φέρει εμπορικά τον M1, την Rosetta 2 και την γενικότερη υλοποίηση της αλλά δεν είναι πανάκεια για όλες τις εφαρμογές. Το πιο θετικό για μένα είναι πως δείχνει πως φτάσαμε σε μια εποχή που το βάρος της συμβατότητας/legacy πρέπει να αποτιναχτεί και να κυριαρχήσει εκ νέου η δημιουργικότητα.  
 

  • Like 4
  • Thanks 1
Δημοσ.

Παίδες ο Μ1 δεν καίει 25W. Tόσα περίπου καίει full load ολόκληρο το Mac Mini. Στον Macbook Air το TDP του είναι 10Watt. Άντε να είναι 15W στις άλλες εκδόσεις του.

'

Δημοσ.
1 hour ago, nickolas said:

Παίδες ο Μ1 δεν καίει 25W. Tόσα περίπου καίει full load ολόκληρο το Mac Mini. Στον Macbook Air το TDP του είναι 10Watt. Άντε να είναι 15W στις άλλες εκδόσεις του.

'

 
Σε single thread o Μ1 «καταναλώνει» ~11W και σε full multi-thread  ~26W. To «υπόλοιπο» Mac Μini θέλει άλλα 4-5W.  (Μιλάμε πάντα για max/benchmark κατανάλωση και όχι average). Μην ξεχνάμε μιλάμε για SoC, όχι CPU με επιπλέον dedicated chips για την βελτίωση της απόδοσης του. Δεν μπορείς να απομονώσεις μόνο τους Firestrom cores για να μετρήσεις TDP.
 

Δημοσ.
55 λεπτά πριν, ii_die_4 είπε

Οπός είπες και εσύ φίλε, δεν ξεκίνησε κανένας από το 0 με τους ΑΡΜ.

Για αυτό στην πρώτη προσπάθεια η Apple έχει τέτοια αποτελέσματα.

Όμως, έχω διαβάσει ότι δεν ξέρουμε πια είναι τα περιθώρια βελτίωσης των ΑΡΜ. Δηλαδή, ναι ξεκίνησαν με καλή απόδοση, αλλά μπορούν να γίνουν πιο γρήγοροι (μπορούν να ξεπεράσουν τους χθ6), ή έχουν ένα μικρο ταβάνι, που σύντομα θα το πιάσουν;

Αυτό είναι το θέμα.

Δεν είναι η πρώτη της προσπάθεια, εδώ και χρόνια οι επεξεργαστές των iOS συσκευών είναι σχεδιασμένοι από την Apple, αν δεν κάνω λάθος από τον Α6 και μετά. Θυμίζω ότι έφερε και τον πρώτο 64bit ARM επεξεργαστή. Ο M1 δεν διαφέρει πολύ από τους Ax.

53 λεπτά πριν, nasos74 είπε

Από όσο γνωρίζω, όλες οι x86 υλοποιήσεις έχουν 4 decoders και πρακτικά είναι ανούσιο προστεθούν παραπάνω λόγω του μεταβλητού bytes σε κάθε instruction.

Νομίζω ότι πάνω από 4 χάνεις το 32bit compatibility

53 λεπτά πριν, nasos74 είπε

Όλες οι σύγχρονες υλοποιήσεις x86 είναι σχεδιασμένες για 2 Threads per Core, το να βγάζουμε από έξω το hyperthreading/SMT στερεί ένα βασικό χαρακτηριστικό της σχεδίασης. (desktop χρήση)

Εννοείται, αλλά και πάλι αυτό είναι μειονέκτημα από όλες τις απόψεις. Και γιατί το single thread είναι αυτό που οι περισσότερες εφαρμογές απαιτούν αλλά και για το πρόβλημα ασφάλειας.

53 λεπτά πριν, nasos74 είπε

Οι 8 decoder, οι αποδοτικοί ΟoO και η unified memory αρχιτεκτονική δεν είναι εφεύρεση και καινοτομία τoy Μ1, υπάρχουν (με παραλλαγές) σε πολλές ARM υλοποιήσεις.

8 decoders 8 pipelines 8 σταδίων δεν γνωρίζω άλλον επεξεργαστή να έχει, ίσως ο power10, ωστόσο ακόμα και ο Α13 είχε 8x8x8 αρχιτεκτονική. Αν θες δώσε τα φώτα σου εδώ.

53 λεπτά πριν, nasos74 είπε

Επίσης, η κατανάλωση έχει άμεση σχέση με την συχνότητα λειτουργίας, ο Μ1 καταναλώνει (max ~28W) σε μια συγκεκριμένη συχνότητα (~3.2GHz) με συγκεκριμένα thermals κτλ. Η διάφορά της αρχιτεκτονικής όπως σωστά ανέφερες (4 bytes fixed instruction length, decoders, prefetchers) του επιτρέπει να αποδίδει σχεδόν το διπλάσιο από ένα x86 CPU στην ίδια συχνότητα λειτουργίας. Με απλά λόγια δεν έχει κάποιο μυστικό, καταναλώνει όσο πρέπει για το μέγεθος του και την απόδοση του. (βέβαια είναι SoC και με dedicated chips οπότε η σύγκριση είναι άτοπη/άδικη με ένα general purpose CPU)

Όχι μόνο. Πλέον ένα μεγάλο ποσοστό "κυκλωμάτων" μέσα στους επεξεργαστές ακόμα και τους desktop είναι latches που κόβουν την παροχή ρεύματος στο μεγαλύτερο μέρος του επεξεργαστή που δεν χρησιμοποιείται. Είναι σαν τα φώτα στα δωμάτια, δεν είναι ανοιχτά όταν δεν είμαστε μέσα :)

53 λεπτά πριν, nasos74 είπε

Στον αντίποδα,  οι x86 έχουν μερικά πλεονεκτήματα (και ίσως κρυμμένους άσσους)

Είναι πιο εύκολο στην x86 υλοποίηση να πετύχεις μεγαλύτερες βελτιώσεις (κυρίως IPC) με μια πιο αποδοτική σχεδίαση. Σε ARM απλώς προσθέτεις πυρήνες κάτι που σε desktop χρήση δεν είναι πάντα καλό.

Και γιατί δεν βλέπουμε σημαντική αύξηση IPC τα τελευταία χρόνια; Εγώ βλέπω συνεχώς να ανεβάζουν τα boost ρολόγια για να δώσουν κάτι παραπάνω. Από την άλλη έχουμε chips που είναι παγωμένα με παραπλήσια ταχύτητα, αυτό σε μένα λέει ότι αυτά έχουν μεγαλύτερο περιθώριο βελτίωσης.

53 λεπτά πριν, nasos74 είπε

Έχεις εντολές που υπο-συνθήκες μπορεί να εκτελέσει συγκεκριμένα workload που ένας ARM δεν μπορεί. Πχ AVX512. Επίσης, Intel & AMD ήδη εργάζονται να «ελαφρώσουν» το CISC instruction εντολές.

Η ΝΕΟΝ υλοποίηση του Μ1 είναι εξίσου γρήγορη. Μάλιστα έχει 4 execution units ενώ οι intel έχουν 3, επίσης μη ξεχνάμε ότι δεν έχει γίνει ακόμα optimization στις εφαρμογές και στους compilers.

53 λεπτά πριν, nasos74 είπε

Σε x86 μπορείς να μεγαλώσεις εύκολα την cache και το κυριότερο να ανεβάσεις «εύκολα» συχνότητα (με άλλη σχεδίαση/υλικά από τις τωρινές) πχ 6-7GHz  και να αντισταθμίσεις την απόδοση… αρκεί να ελέγξεις τα thermals.

Ο Μ1 έχει πολύ μεγαλύτερη cache από όλους τους mobile/desktop επεξεργαστές, δεν βάζω xeon/epyc/powerpc μέσα. Μόνο οι "μεγάλοι" zen3 έχουν L3 16ΜΒ αντί για 12MB. Το ενδιαφέρον είναι ότι ο Α14 έχει παρόμοια νούμερα!

Instruction cache

M1:192KB με 3 cycles load-use latency

Zen3 :32KB με 4  cycles cycles load-use latency

INTEL (Sunny Cove) 32KB με 5 cycles load-use latency

Data cache

M1:128KB

Zen3 :32KB

INTEL (Sunny Cove) 32KB

L2 cache

M1: 12MB

Zen3: 512KB

Intel: 512KiB/core

L3 cache

M1: 12MB

Zen 3 (desktop): 16MB

Intel: 8MB

53 λεπτά πριν, nasos74 είπε

Μπράβο στην Apple που τόλμησε να φέρει εμπορικά τον M1, την Rosetta 2 και την γενικότερη υλοποίηση της αλλά δεν είναι πανάκεια για όλες τις εφαρμογές.

Μα δεν έχουμε δει καμία midrange laptop/desktops υλοποίηση πόσο μάλλον high end στα iMacPro/MacPro. Αυτή τη στιγμή βλέπουμε τους επεξεργαστές των iPhone/iPad με λίγο ανεβασμένα ρολόγια/Watt σε low end χαμηλού κόστους υλοποιήσεις. Αυτό από μόνο του κάτι λέει, τουλάχιστον σε μένα.

53 λεπτά πριν, nasos74 είπε

Το πιο θετικό για μένα είναι πως δείχνει πως φτάσαμε σε μια εποχή που το βάρος της συμβατότητας/legacy πρέπει να αποτιναχτεί και να κυριαρχήσει εκ νέου η δημιουργικότητα. 

Μακάρι! Βλέπω γενικά μια κινητικότητα πάνω σ' αυτόν τον τομέα. Π.χ Το Arch θα βγάλει και άλλη έκδοση για πιο σύγχρονους x86

 

  • Like 2
Δημοσ.
7 ώρες πριν, atheatos είπε

ΥΓ. Ο Τζιμ Κέλερ  με risc αρχιτεκτονική ασχολιόταν, πριν πάει στην AMD και την κάνει αυτό που είναι σήμερα.

Δεν υπαρχει ο ανθρωπος, ειναι ενα ζωντανο load balancer στον τομεα του.

 

Δημοσ.
55 λεπτά πριν, amav είπε

Δεν είναι η πρώτη της προσπάθεια, εδώ και χρόνια οι επεξεργαστές των iOS συσκευών είναι σχεδιασμένοι από την Apple, αν δεν κάνω λάθος από τον Α6 και μετά. Θυμίζω ότι έφερε και τον πρώτο 64bit ARM επεξεργαστή. Ο M1 δεν διαφέρει πολύ από τους Ax.

Νομίζω ότι πάνω από 4 χάνεις το 32bit compatibility

Εννοείται, αλλά και πάλι αυτό είναι μειονέκτημα από όλες τις απόψεις. Και γιατί το single thread είναι αυτό που οι περισσότερες εφαρμογές απαιτούν αλλά και για το πρόβλημα ασφάλειας.

8 decoders 8 pipelines 8 σταδίων δεν γνωρίζω άλλον επεξεργαστή να έχει, ίσως ο power10, ωστόσο ακόμα και ο Α13 είχε 8x8x8 αρχιτεκτονική. Αν θες δώσε τα φώτα σου εδώ.

Όχι μόνο. Πλέον ένα μεγάλο ποσοστό "κυκλωμάτων" μέσα στους επεξεργαστές ακόμα και τους desktop είναι latches που κόβουν την παροχή ρεύματος στο μεγαλύτερο μέρος του επεξεργαστή που δεν χρησιμοποιείται. Είναι σαν τα φώτα στα δωμάτια, δεν είναι ανοιχτά όταν δεν είμαστε μέσα :)

Και γιατί δεν βλέπουμε σημαντική αύξηση IPC τα τελευταία χρόνια; Εγώ βλέπω συνεχώς να ανεβάζουν τα boost ρολόγια για να δώσουν κάτι παραπάνω. Από την άλλη έχουμε chips που είναι παγωμένα με παραπλήσια ταχύτητα, αυτό σε μένα λέει ότι αυτά έχουν μεγαλύτερο περιθώριο βελτίωσης.

Η ΝΕΟΝ υλοποίηση του Μ1 είναι εξίσου γρήγορη. Μάλιστα έχει 4 execution units ενώ οι intel έχουν 3, επίσης μη ξεχνάμε ότι δεν έχει γίνει ακόμα optimization στις εφαρμογές και στους compilers.

Ο Μ1 έχει πολύ μεγαλύτερη cache από όλους τους mobile/desktop επεξεργαστές, δεν βάζω xeon/epyc/powerpc μέσα. Μόνο οι "μεγάλοι" zen3 έχουν L3 16ΜΒ αντί για 12MB. Το ενδιαφέρον είναι ότι ο Α14 έχει παρόμοια νούμερα!

Instruction cache

M1:192KB με 3 cycles load-use latency

Zen3 :32KB με 4  cycles cycles load-use latency

INTEL (Sunny Cove) 32KB με 5 cycles load-use latency

Data cache

M1:128KB

Zen3 :32KB

INTEL (Sunny Cove) 32KB

L2 cache

M1: 12MB

Zen3: 512KB

Intel: 512KiB/core

L3 cache

M1: 12MB

Zen 3 (desktop): 16MB

Intel: 8MB

Μα δεν έχουμε δει καμία midrange laptop/desktops υλοποίηση πόσο μάλλον high end στα iMacPro/MacPro. Αυτή τη στιγμή βλέπουμε τους επεξεργαστές των iPhone/iPad με λίγο ανεβασμένα ρολόγια/Watt σε low end χαμηλού κόστους υλοποιήσεις. Αυτό από μόνο του κάτι λέει, τουλάχιστον σε μένα.

Μακάρι! Βλέπω γενικά μια κινητικότητα πάνω σ' αυτόν τον τομέα. Π.χ Το Arch θα βγάλει και άλλη έκδοση για πιο σύγχρονους x86

Χωρις να εχω τις γνωσεις που χρειαζεται για ενα τετοιο θεμα θελω να πω δυο πραγματα απο τη θεση του απλου παρατηρητη καταναλωτη.

Παντα θυμαμαι στους επεξεργαστες να λεμε,ε ενταξει ο ταδε επεξεργαστης extreme edition πχ ειναι πανακριβος γιατι εχει μεγαλη cache

Αυτο θυμαμαι να ισχυει και με σκληρους τωρα που το σκεφτομαι αλλα προφανως αλλη κουβεντα αυτη

Διαβαζοντας τα παραπανω και αν καταλαβα καλα,ενα μεγαλο μερος της ανωτεροτητας του επεξεργαστη της apple σχετιζεται και με το μεγεθος αυτο της cache

Δεν ξερω το κοστος του σε σχεση με τους υπολοιπους αλλα και μονο που ειναι της apple φανταζομαι θα ειναι αρκετα υψηλοτερο ουτως η αλλως

η ποιοτητα τις περισσοτερες φορες πληρωνεται και ισως παιζει και αυτο το ρολο του στις παραπανω διαφορες

επισης σημαντικο ρολο παιζει και οτι η apple εχει αυτο το κλειστο οικοσυστημα που αναφερουν ολοι και εχει πολυ πιο ξεκαθαρο στοχο στο τι θελει να επιτυχει οταν φτιαχνει εναν επεξεργαστη η οτιδηποτε αλλο και μπλεκει και πολυ λιγοτερο με το compatibility σε σχεση με τις αλλες εταιριες

με λιγα λογια η εξειδικευση κανει τη διαφορα μαζι με την απλοτητα του τροπου υλοποιησης που περιγραφεται στα προηγουμενα post

αν κανω καπου λαθος παρακαλω διορθωστε με να καταλαβω και εγω και αλλοι που διαβαζουν που δεν εχουμε τις εξειδικευμενες γνωσεις που χρειαζονται

ειναι απλα μια ειδηση αλλα γιατι να μη μαθουμε και κατι απο ολο αυτο,εστω και στο περιπου

  • Like 2
Δημοσ.
2 hours ago, MORBID21 said:

Χωρις να εχω τις γνωσεις που χρειαζεται για ενα τετοιο θεμα θελω να πω δυο πραγματα απο τη θεση του απλου παρατηρητη καταναλωτη.

Παντα θυμαμαι στους επεξεργαστες να λεμε,ε ενταξει ο ταδε επεξεργαστης extreme edition πχ ειναι πανακριβος γιατι εχει μεγαλη cache

Αυτο θυμαμαι να ισχυει και με σκληρους τωρα που το σκεφτομαι αλλα προφανως αλλη κουβεντα αυτη

Διαβαζοντας τα παραπανω και αν καταλαβα καλα,ενα μεγαλο μερος της ανωτεροτητας του επεξεργαστη της apple σχετιζεται και με το μεγεθος αυτο της cache

Δεν ξερω το κοστος του σε σχεση με τους υπολοιπους αλλα και μονο που ειναι της apple φανταζομαι θα ειναι αρκετα υψηλοτερο ουτως η αλλως

η ποιοτητα τις περισσοτερες φορες πληρωνεται και ισως παιζει και αυτο το ρολο του στις παραπανω διαφορες

επισης σημαντικο ρολο παιζει και οτι η apple εχει αυτο το κλειστο οικοσυστημα που αναφερουν ολοι και εχει πολυ πιο ξεκαθαρο στοχο στο τι θελει να επιτυχει οταν φτιαχνει εναν επεξεργαστη η οτιδηποτε αλλο και μπλεκει και πολυ λιγοτερο με το compatibility σε σχεση με τις αλλες εταιριες

με λιγα λογια η εξειδικευση κανει τη διαφορα μαζι με την απλοτητα του τροπου υλοποιησης που περιγραφεται στα προηγουμενα post

αν κανω καπου λαθος παρακαλω διορθωστε με να καταλαβω και εγω και αλλοι που διαβαζουν που δεν εχουμε τις εξειδικευμενες γνωσεις που χρειαζονται

ειναι απλα μια ειδηση αλλα γιατι να μη μαθουμε και κατι απο ολο αυτο,εστω και στο περιπου

To μέγεθος της cache παίζει άμεσο ρόλο σύγκρισης ανάμεσα σε CPU ίδιας αρχιτεκτονικής. Εξ ορισμού οι ARM έχουν ανάγκη μεγαλύτερη cache και χρησιμοποιείται διαφορετικά. 

Σε x86 υλοποιήσεις η cache έχει σαφώς πιο σύνθετο ρόλο αλλά και εκεί υπάρχουν βασικές διαφορές. 

Γενικά ένας σύχρονος x86 CPU έχει 4 (1 + 3) επίπεδα cache σε επίπεδο ιεράρχησης και ταχύτητας.

L0 που χρησιμοποιείται για τα micro-ops και σπάνια αναγράφεται στα specs ενός CPU. 
L1, data και instructions cache 
L2, unified (μπορεί να χρησιμοποιηθεί για data + instructions) και είναι ανά πυρήνα. 
L3 unified μεταξύ όλων των πυρήνων.

Από μόνη της το μέγεθος της cache δεν παίζει καθοριστικό ρόλο αλλά σχετίζεται άμεσα και με την υπόλοιπη σχεδίαση. Πχ η AMD από την εποχή Ryzen και μετά «αναγκαζόταν» να έχει μεγαλύτερη cache (κυρίως L3), σε σχέση με τους Core για να μπορέσει να εξισορροπήσει ένα θέμα με Latency που δημιουργούσε η σχεδίαση της. Από την άλλη μεριά στην σχεδίαση της Intel το να αυξήσει την cache δεν θα είχε ουσιαστικά αποτελέσματα καθώς το ποσοστό βελτίωσης θα ήταν σχετικά  μικρό σε σχέση με το extra κόστος.

Στην συζήτηση μας για να μπορέσει ένα x86 να αυξήσει την επίδοση του για να συναγωνιστεί την απόδοση ενός ARM CPU, Intel και AMD έχουν την επιλογή να αυξήσουν την L0 (προσαρμόζονται ανάλογα τα L1/2/3) αλλά κυρίως να σχεδιάσουν μια πιο μεγάλη L4 cache πχ 128/256ΜΒ. Σε κάθε περίπτωση το κόστος αναγκαστικά ανεβαίνει, η σχεδίαση γίνεται ακόμα πιο πολύπλοκη + κατανάλωση. 

Ο Μ1 με απλά λόγια είναι πιο γρήγορος 

1)    Είναι SoC ενσωματώνει dedicated/specialized chips για συγκεκριμένες εργασίες (Central processing unit, Graphics processing unit, Image processing unit, Digital signal processor, Neural processing unit, Video encoder/decoder, Secure Enclave, Unified memory). SoC βέβαια έχει και μειονεκτήματα, πχ δεν μπορείς να αναβαθμίσεις την RAM ή να αλλάξεις GPU, όπως έχεις συνηθίσει σε ένα PC. 
2)    H ARM αρχιτεκτονική έχει ~διπλάσια raw απόδοση από αντίστοιχό x86 CPU στην ίδια συχνότητα λειτουργίας (decoders, fixed instruction length κτλ). ARM έχει και  μειονεκτήματα, δεν μπορείς απλά να διορθώσεις ένα σφάλμα στην σχεδίαση με ένα microcode update με ότι αυτό συνεπάγεται.
3)    H Apple μπορεί πολύ απλά να προσθέσει περισσότερους πυρήνες για να αυξήσει και άλλο την συνολική απόδοση. Εκείνο που δεν μπορεί να κάνει είναι να αυξήσει κατά πολύ την συχνότητα λειτουργίας. Από την άλλη ένα μελλοντικό SoC (Μ1x) σε desktop/workstation ανατρέπει την γενικότερη φιλοσοφία που κυριαρχεί εδώ και δεκαετίες. 

Τέλος σαφώς και ο M1 και ο οποιοδήποτε ARM CPU/SoC είναι πιο φτηνός στην κατασκευή από ένα x86. Όπως πολύ σωστά σημείωσες, η επένδυση της apple είναι περισσότερο στο γενικότερο οικοσύστημα και στο software για να στηρίξει τον M1 παρά στον ίδιο το hardware
 

  • Thanks 1
Δημοσ. (επεξεργασμένο)
14 ώρες πριν, amav είπε

Ποιος είναι 5Watt? Σίγουρα όχι ο M1.

Οι ARM είναι "εύκολοι" επεξεργαστές. Αγοράζεις ένα License και ζητάς από ένα εργοστάσιο να σου τυπώσει μερικά εκ κομμάτια. Έτσι δουλεύουν οι περισσότεροι, ακόμα και η QC δεν σχεδίαζε από την αρχή τους επεξεργαστές της αλλά πρόσθετε τις τεχνολογίες της.

Η λύση που ακολουθούν όσοι έχουν τα resources είναι αντί για έτοιμα τα blueprints, αγοράζουν τη δυνατότητα χρήσης του instruction set από την ARM και σχεδιάζουν αυτοί τον επεξεργαστή. Και εδώ όμως τις περισσότερες φορές δεν ξεκινάνε από λευκό χαρτί αλλά πατάνε και εξελίσσουν κάποιο υπάρχον core (βλέπε QC).

Και έρχεται το ερώτημα, μέχρι που μπορείς να φτάσεις αν κάποιος σου δώσει ένα 10ετές πλάνο και μερικά δις το χρόνο;

Το αποτέλεσμα το βλέπουμε, το πως δουλεύει ο Μ1 όμως ακόμα δεν το έχουμε πολυκαταλάβει, τουλάχιστον από τις τεχνικές αναλύσεις που γίνονται (έχουν βγάλει μέχρι και τα timings του instruction set), μπορούμε να μαντέψουμε από τι αποτελείται, φυσικά με περιθώριο λάθους αλλά δεν έχουμε καταλάβει πως έχει τόσο χαμηλή κατανάλωση.

Η ταχύτητα του Μ1 δεν οφείλεται απλά στο ότι είναι RISC, αν ήταν έτσι όλοι οι ARM, οι Power, οι RISC-V θα ήταν γρηγορότεροι από τους intel/amd κάτι που φυσικά δεν ισχύει.

Το ότι είναι RISC βοηθάει στο μέγεθος της κάθε εντολής που είναι μικρό και το κυριότερο σταθερό, μπορεί το πρόγραμμα να σπάσει σε ίσα κομμάτια, τα οποία θα διανεμηθούν σε 8 pipelines.

Η Intel ως τώρα είχε 4 pipelines και τώρα πήγε στα 6. Ακόμα και αυτά όμως δεν γεμίζουν εύκολα γι' αυτό και η κάθε εντολή σπάει σε μικρότερα κομμάτια για να γεμίσουν τα pipelines πιο εύκολα. Και πάλι όμως η απόδοση είναι γύρω στο 60-70% τελευταία φορά που κοίταξα γι΄αυτό και υπάρχει το hyperthreading που σπρώχνει και άλλες εντολές μέσα στα pipelines ώστε να φτάσει το πολυπόθητο 100%.

Μια σημείωση εδώ. Το hyperthreading είναι security vulnerability γι' αυτό και κάποια σοβαρά OS όσον αφορά την ασφάλεια όπως το OpenBSD το έχουν απενεργοποιήσει, ως τώρα δεν υπάρχει workaround για αυτά τα προβλήματα.

H AMD τώρα πήγε ή θα πάει στα 8 pipelines, δεν είμαι σίγουρος γι' αυτό, αλλά και πάλι κι εκεί υπάρχει το ίδιο πρόβλημα. Οι decoders που παίρνουν μια-μια τις εντολές είναι αδύνατον λόγω αρχιτεκτονικής να γεμίσουν πιο γρήγορα τα pipelines, από τη στιγμή που δεν ξέρουν το μήκος της κάθε εντολής προκαταβολικά.

Το ενδιαφέρον με τον Μ1 είναι ότι είναι τόσο γρήγορος που η μνήμη που κρατούνται προσωρινά οι εντολές είναι πολλαπλάσια από τους x86, πάνω από 600 εντολές περιμένουν και τα pipelines είναι μόνιμα 100% γεμάτα και τη πρόσβαση στη μνήμη να γίνεται σε blocks των 128bytes (όχι bits). Οι Out of order μηχανισμοί είναι τόσο αποδοτικοί που έχει 3 τεράστιες cache που είναι πολλαπλάσιες των x86.

Όλα στον M1 είναι "μεγάλα". Από την πρόσβαση στη μνήμη, από τις cache, τα 8 pipelines τους, το βάθος τους, όλα λοιπόν θα έπρεπε να φωνάζουν ΚΑΤΑΝΑΛΩΣΗ. Εκεί όμως είναι το θέμα, πως γίνεται να κρατάει τόσο χαμηλή κατανάλωση με όλα τα νούμερα να είναι πολλαπλάσια από τις υπάρχουσες υλοποιήσεις.

Είμαι σίγουρος ότι τα μεγαλύτερα μυαλά του χώρου έχουν πέσει με τα μούτρα να δουν πως θα βγάλουν από τη μύγα ξύγκι, κάποια πράγματα που θεωρούσαν δεδομένα τελικά δεν ήταν και σίγουρα οι Intel/AMD έχουν πρόβλημα, προφανώς όχι τώρα, αλλά σε βάθος 5ετίας όταν θα δούμε τα αποτελέσματα της δουλειάς των ανθρώπων που σχεδίασαν τους Ax και Μ1 που πλέον είναι στο προσωπικό της QC.

 

“Η ταχύτητα του Μ1 δεν οφείλεται απλά στο ότι είναι RISC, αν ήταν έτσι όλοι οι ARM, οι Power, οι RISC-V θα ήταν γρηγορότεροι από τους intel/amd κάτι που φυσικά δεν ισχύει.”

Μας έγραψες το παραπάνω. Μπορείς να το εξηγήσεις αυτό ή το συμπέρασμα βγήκε από τι πωλείται στην αγορά για τον μέσο χρήστη. Δεν σημαίνει επειδή μας πουλάνε μόνο amd ή Intel αυτοί είναι και οι γρηγορότεροι. 
Αν ήταν έτσι , όλοι super υπολογιστές θα ήταν μόνο Intel και amd. 
Η risc αρχιτεκτονική εκ φύσεως είναι γρηγορότερη της CISC. Επειδή δεν έγινε ευρέως διαδομένη στον κόσμο δεν σημαίνει ότι δεν είναι καλή . 
Η risc αρχιτεκτονική χρησιμοποιείται από την IBM και άλλους χρόνια τώρα εκτελώντας πολύπλοκες εργασίες και εφαρμογές. Όταν κάποιος θέλει την μέγιστη απόδοση σε ένα αντικείμενο,θα πάει σε αυτήν. Έως τώρα λόγω μεγέθους πυρήνων και κατανάλωσης που χρειαζόταν για να εκτελεσει πολλές διαδικασίες ταυτόχρονα, δεν προτιμήθηκε για generic χρήση σε κοινούς υπολογιστές.

Αυτο άλλαξε με το SoC και τώρα σε μια πλακέτα έχουμε όλα τα διαφορετικά components να χρησιμοποιούν την μεγάλη ταχύτητα των risc σε συνδυασμο με την ταχύτατη μνήμη ωστε σε μικρό μέγεθος και κατανάλωση να είναι γρηγοροτεροι από ένα CISC.

Ο μύθος που διαβάζουμε από μερικούς εδώ μέσα ότι η risc επεξεργαστές δεν είναι γρηγοροτεροι από CISC έχει να κάνει τελείως με ένα αυθαίρετο συμπέρασμα , σχετικά με την πολυπλοκότητα των διεργασιών που εκτελούσαν. Αν σπάσει κάποιος μια πολύπλοκη διαδικασία σε κομμάτια και τα δώσει σε έναν risc επεξεργαστή αυτός θα τα εξετέλεσει πολύ γρηγοροτερα από έναν CISC. Αυτό προϋποθέτει βέβαια το αντίστοιχο software και instruction set που εταιρείες σαν την Microsoft δεν είναι έτοιμες να προσφέρουν. Η ανάπτυξη της Microsoft βασικά έγινε πάνω στην αρχιτεκτονική του εργοδότη τους που ήταν η Intel.

Όλοι θυμόμαστε πως έφυγε η Microsoft ( εξαιτίας της Intel) από την ibm ακολουθώντας τον δρόμο της CISC αρχιτεκτονικής ενώ η ibm συνέχισε με την risc. Για αυτό τώρα επιστροφή στο Linux , μπας και μπορέσει να χρησιμοποιήσει κώδικα που γράφτηκε για τους risc.

Με την χρήση κατάλληλο λογισμικού λοιπόν ,έχουμε την πλήρη εκμετάλλευση της μεγαλύτερης ταχύτητας των risc επεξεργαστών σε σύγκριση με τους CISC . 
 

Όποτε το συμπέρασμα ότι επειδή δεν υπάρχει κώδικας σε ευρεία χρήση για την risc αρχιτεκτονική , κανείς τους risc αργους, επίτρεψε μου να το θεωρήσω το λιγότερο άτοπο...

Επεξ/σία από atheatos
  • Thanks 1
Δημοσ. (επεξεργασμένο)

Το βασικό πλεονέκτημα του Μ1 είναι ότι έχει embeded την RAM με υψηλό BANDWIDTH & χαμηλό LATENCY. Ολα τα άλλα είναι αμπελοφιλοσοφίες.

 

Επισης οι RISC έχουν πλέον μικροκώδικα και σύνθετες εντολές , ενώ οι CISC είναι πλέον σχεδιασμένοι σαν RISC που με μικροκώδικα συνθέτουν τις περίπλοκες x86 εντολές. Ξεκινουν μεν από αντίθετες αφετηρίες αλλά πλέον συναντιούνται στα "μισά".

Η βασική επιτυχία της APPLE , είναι η ταχύτατη πρόσβαση στην RAM και μερικές έξτρα εντολές εντός μικροκώδικα cpu εξειδικευμένες να επιταχύνουν το emulation x86. Μην προσπαθείτε να τεκμηριώσετε απόψεις με στερεότυπα του '80 και του '90 όταν οι cisc/risc επεξεργαστές πράγματι είχαν μεγάλες διαφορές.

Η στροφή στους ARM γίνεται γιατί ο "καθένας" μπορεί να πάρει άδεια και έτοιμα σχέδια και να φτιάξει δικό του αποδοτικό cpu. Εχει ωριμάσει τόσο πολύ η αγορά που οι κινέζοι εδώ και πολλά χρόνια έχουν δεσμεύσει τεράστιους πόρους και  προσπαθούν με 3 κατασκευαστές να φτιάξουν x86 συμβατό και μέχρι τώρα έχουν αποτελέσματα celeron 10ετίας.

Επεξ/σία από jgeorgiou
Δημοσ.
9 ώρες πριν, MORBID21 είπε

Χωρις να εχω τις γνωσεις που χρειαζεται για ενα τετοιο θεμα θελω να πω δυο πραγματα απο τη θεση του απλου παρατηρητη καταναλωτη.

Παντα θυμαμαι στους επεξεργαστες να λεμε,ε ενταξει ο ταδε επεξεργαστης extreme edition πχ ειναι πανακριβος γιατι εχει μεγαλη cache

Αυτο θυμαμαι να ισχυει και με σκληρους τωρα που το σκεφτομαι αλλα προφανως αλλη κουβεντα αυτη

Διαβαζοντας τα παραπανω και αν καταλαβα καλα,ενα μεγαλο μερος της ανωτεροτητας του επεξεργαστη της apple σχετιζεται και με το μεγεθος αυτο της cache

Ε εντάξει τώρα... Δε μπορεί να μη καταλαβαίνεις ότι θα πρέπει να πουλάνε και αυτοί, τι κλέφτες θα γίνουν; Αστειεύομαι αλλά ναι η cache από μόνη της δε σώζει τη κατάσταση για να φανταστείς υπάρχουν υλοποιήσεις (κάποιος Αx) που τους λείπει κάποια cache από επιλογή και όχι δεν είναι πιο αργοί. Όπως είπαμε η cache δεν είναι μόνο μια

9 ώρες πριν, MORBID21 είπε

Δεν ξερω το κοστος του σε σχεση με τους υπολοιπους αλλα και μονο που ειναι της apple φανταζομαι θα ειναι αρκετα υψηλοτερο ουτως η αλλως

η ποιοτητα τις περισσοτερες φορες πληρωνεται και ισως παιζει και αυτο το ρολο του στις παραπανω διαφορες

Ο Μ1 δεν πωλείται, κανένας επεξεργαστής της Apple δεν πωλείται οπότε δεν έχει σημασία το κόστος του, παρόλα  αυτά υπάρχουν αναλύσεις για το κόστος κατασκευής του και όχι, δεν είναι χαμηλό, εδώ δεν είναι οι Ax. Μιλάμε για μεγάλα chips και όσο πιο μεγάλα  τόσο πιο πολύ φύρα, πόσο μάλλον στα 5 νανόμετρα.

9 ώρες πριν, MORBID21 είπε

Χωρις να εχω τις γνωσεις που χρειαζεται για ενα τετοιο θεμα θελω να πω δυο πραγματα απο τη θεση του απλου παρατηρητη καταναλωτη.

Παντα θυμαμαι στους επεξεργαστες να λεμε,ε ενταξει ο ταδε επεξεργαστης extreme edition πχ ειναι πανακριβος γιατι εχει μεγαλη cache

Αυτο θυμαμαι να ισχυει και με σκληρους τωρα που το σκεφτομαι αλλα προφανως αλλη κουβεντα αυτη

Διαβαζοντας τα παραπανω και αν καταλαβα καλα,ενα μεγαλο μερος της ανωτεροτητας του επεξεργαστη της apple σχετιζεται και με το μεγεθος αυτο της cache

Δεν ξερω το κοστος του σε σχεση με τους υπολοιπους αλλα και μονο που ειναι της apple φανταζομαι θα ειναι αρκετα υψηλοτερο ουτως η αλλως

η ποιοτητα τις περισσοτερες φορες πληρωνεται και ισως παιζει και αυτο το ρολο του στις παραπανω διαφορες

επισης σημαντικο ρολο παιζει και οτι η apple εχει αυτο το κλειστο οικοσυστημα που αναφερουν ολοι και εχει πολυ πιο ξεκαθαρο στοχο στο τι θελει να επιτυχει οταν φτιαχνει εναν επεξεργαστη η οτιδηποτε αλλο και μπλεκει και πολυ λιγοτερο με το compatibility σε σχεση με τις αλλες εταιριες

με λιγα λογια η εξειδικευση κανει τη διαφορα μαζι με την απλοτητα του τροπου υλοποιησης που περιγραφεται στα προηγουμενα post

Κλειστό οικοσύστημα έχουν οι iOS συσκευές εκεί που ανέπτυξε τους Αx. Τι σημαίνει όμως κλειστό οικοσύστημα σε ότι αφορά τους επεξεργαστές και όχι το Appstore;

Ιστορικά αν το δούμε:

- Απαγόρευσε το ανέβασμα 32bit εφαρμογών ώστε να γλυτώσει χώρο στα chips της από το 32bit instruction set αλλά και όλη την legacy υλοποίηση

- Όλα γίνονται compile με έναν compiler (LLVM) και αυτό που κρατάει είναι το bitcode και όχι το executable. Αυτό σημαίνει ότι στο appstore ανεβαίνει "κάτι" που δεν προσδιοιρίζει τον target επεξεργαστή. Ανά πάσα στιγμή μπορεί να αλλάξει όλη η αρχιτεκτονική του επεξεργαστή και τα προγράμματα στο appstore θα συνεχίσουν να δουλεύουν χωρίς οι developers να κάνουν καν recompile. Έτσι κι αλλιώς το compilation γίνεται πάνω, στους servers της Apple.  Προφανώς εδώ έχει πολύ ζουμί και η ανάλυση είναι πολύ απλοική, αυτό που προσπαθώ να πω είναι ότι έφτιαξε έτσι όλο το οικοσύστημα στο Appstore ώστε να είναι ανεξάρτητη υλοποίησης επεξεργαστή.

Και στα Mac κόπηκαν οι 32 bit εφαρμογές αλλά επειδή δεν είναι κλειδωμένα σε κάποιο appstore το όλο θέμα ήταν πως θα βελτιστοποιήσει τον M1 ώστε να τρέχει γρήγορα τις x86 εφαρμογές, η rosseta από μόνη της δεν κάνει θαύματα.

Πολλές φορές για να δούμε εμείς μια "απλότητα" από πίσω υπάρχει απίστευτη σχεδίαση και υλοποίηση που δεν είναι ορατή.

7 ώρες πριν, nasos74 είπε

To μέγεθος της cache παίζει άμεσο ρόλο σύγκρισης ανάμεσα σε CPU ίδιας αρχιτεκτονικής. Εξ ορισμού οι ARM έχουν ανάγκη μεγαλύτερη cache και χρησιμοποιείται διαφορετικά. 

Σε x86 υλοποιήσεις η cache έχει σαφώς πιο σύνθετο ρόλο αλλά και εκεί υπάρχουν βασικές διαφορές. 

Γενικά ένας σύχρονος x86 CPU έχει 4 (1 + 3) επίπεδα cache σε επίπεδο ιεράρχησης και ταχύτητας.

L0 που χρησιμοποιείται για τα micro-ops και σπάνια αναγράφεται στα specs ενός CPU. 
L1, data και instructions cache 
L2, unified (μπορεί να χρησιμοποιηθεί για data + instructions) και είναι ανά πυρήνα. 
L3 unified μεταξύ όλων των πυρήνων.

Από μόνη της το μέγεθος της cache δεν παίζει καθοριστικό ρόλο αλλά σχετίζεται άμεσα και με την υπόλοιπη σχεδίαση. Πχ η AMD από την εποχή Ryzen και μετά «αναγκαζόταν» να έχει μεγαλύτερη cache (κυρίως L3), σε σχέση με τους Core για να μπορέσει να εξισορροπήσει ένα θέμα με Latency που δημιουργούσε η σχεδίαση της. Από την άλλη μεριά στην σχεδίαση της Intel το να αυξήσει την cache δεν θα είχε ουσιαστικά αποτελέσματα καθώς το ποσοστό βελτίωσης θα ήταν σχετικά  μικρό σε σχέση με το extra κόστος.

Στην συζήτηση μας για να μπορέσει ένα x86 να αυξήσει την επίδοση του για να συναγωνιστεί την απόδοση ενός ARM CPU, Intel και AMD έχουν την επιλογή να αυξήσουν την L0 (προσαρμόζονται ανάλογα τα L1/2/3) αλλά κυρίως να σχεδιάσουν μια πιο μεγάλη L4 cache πχ 128/256ΜΒ. Σε κάθε περίπτωση το κόστος αναγκαστικά ανεβαίνει, η σχεδίαση γίνεται ακόμα πιο πολύπλοκη + κατανάλωση. 

Θα έλεγα ότι ούτε καν ανάμεσα σε CPU ίδιας αρχιτεκτονικής. Σκέψου ότι η τελευταία γενιά zen έχει shared cache ανάμεσα σε πυρήνες (όπως οι Ax/M1) ενώ οι intel όχι. Επίσης δε φτάνει να μεγαλώσεις την cache και ποια cache κι όλας;!

Για να φέρω ένα παράδειγμα από τη σημερινή καθημερινότητα μας.

Φαντάσου ότι οι 4 decoders των x86 επεξεργαστών είναι 4 φύλακες στη πόρτα του super market που μοιράζουν τα νούμερα για να μπούμε μέσα. Όσο μεγάλη και να κάνεις την είσοδο του super market (Instruction cache) και το ROB αν μέσα οι υπάλληλοι στα ταμεία (pipelines) δε μπορούν να εξυπηρετήσουν δε γίνεται δουλειά.

Το out of order, για όσους δεν γνωρίζουν, εκτελεί όλες τις πιθανές διακλαδώσεις του κώδικα παράλληλα, ως γνωστόν οι επεξεργαστές δεν έχουν μαντικές ιδιότητες για να καταλάβουν ποιο μονοπάτι τελικά είναι "σωστό". Φανταστείτε τις ρίζες ενός δέντρου. Ξεκινάει από πάνω και προχωράει προς τα κάτω. Όσο πιο πολύ προχωρήσει την εκτέλεση (κατέβει στις ρίζες του δέντρου) τόσο πιο γρήγορος θα είναι. Για να δουλέψει αυτό γίνονται πολλές υποθέσεις και πολλές αλλαγές των καταχωρητών (register renaming) on the fly που λένε και στο χωριό μου.

Η cache ωστόσο γεμίζει με όλα όσα χρειάζονται για το OOO execution του δέντρου. Κάποια στιγμή προφανώς ΟΛΑ τα άλλα μονοπάτια πλην του σωστού ακυρώνονται και η cache γίνεται invalidate που σημαίνει ότι ότι είχε μέσα η cache σβήνεται.

Για να πεις ότι μια ακόμα μεγαλύτερη cache θα κάνει πιο γρήγορο έναν επεξεργαστή θα πρέπει να έχεις καλύτερους αλγόριθμους για branching prediction και φυσικά να μπορείς να φέρεις όσο πιο γρήγορα εντολές που σημαίνει ότι πάλι έχεις bottleneck στην είσοδο του supermarket όπως είπαμε προηγουμένως.

Επίσης πρέπει να θυμόμαστε ότι οι μηχανικοί που σχεδιάζουν επεξεργαστές έχουν έναν συγκεκριμένο αριθμό από transistors που δεν μπορούν να υπερβούν. Αν βάλεις μεγαλύτερη cache ίσως θα πρέπει να κόψεις από αλλού για να τη χωρέσεις και όπως είπαμε, όσο πιο μεγάλο το chip τόσο πιο ακριβό στη κατασκευή του. Ακόμα και να ενώσεις μικρότερα κομμάτια μεταξύ τους για να φτιάξεις ένα πιο μεγάλο (βλέπε EPYC) θα αντιμετωπίσεις άλλα ακόμα πιο δύσκολα προβλήματα (π.χ NUMA).

7 ώρες πριν, nasos74 είπε

Ο Μ1 με απλά λόγια είναι πιο γρήγορος 

1)    Είναι SoC ενσωματώνει dedicated/specialized chips για συγκεκριμένες εργασίες (Central processing unit, Graphics processing unit, Image processing unit, Digital signal processor, Neural processing unit, Video encoder/decoder, Secure Enclave, Unified memory). SoC βέβαια έχει και μειονεκτήματα, πχ δεν μπορείς να αναβαθμίσεις την RAM ή να αλλάξεις GPU, όπως έχεις συνηθίσει σε ένα PC.

μια μικρή σημείωση. Δεν ενσωματώνει chips, όλα είναι μέσα στο ίδιο chip. Επίσης η RAM δεν είναι μέσα στο καθεαυτό chip αλλά sandwitch από πάνω. Ναι προφανώς δε μπορείς να αλλάξεις τίποτα. Όπως όμως δεν μπορείς να αλλάξεις τίποτα τα τελευταία χρόνια στα Macbooks. Εννοείται ότι το θεωρώ μειονέκτημα για τις δικές μου ανάγκες αλλά δε μπορώ να μη δω ότι για τη πλειοψηφία του κόσμου, ούτε κρύο, ούτε ζέστη.

Είμαι σίγουρος ότι στα high end συστήματα π.χ MacPro θα είναι εξωτερική, έτσι κι αλλιώς δε χωράει!

7 ώρες πριν, nasos74 είπε

2)    H ARM αρχιτεκτονική έχει ~διπλάσια raw απόδοση από αντίστοιχό x86 CPU στην ίδια συχνότητα λειτουργίας (decoders, fixed instruction length κτλ). ARM έχει και  μειονεκτήματα, δεν μπορείς απλά να διορθώσεις ένα σφάλμα στην σχεδίαση με ένα microcode update με ότι αυτό συνεπάγεται.

Δεν είναι απόλυτο αυτό με την διπλάσια απόδοση, έχει σχέση η υλοποίηση. Επίσης, πρέπει να ξεχωρίσουμε το σπάσιμο μιας εντολής σε μικρότερες (micro operations) και το update του επεξεργαστή στη περίπτωση σφάλματος.

Τώρα για το αν έχει όχι microcode o M1 δε το γνωρίζω. Βασικά είναι πολύ λίγα όσα γνωρίζουμε!

7 ώρες πριν, nasos74 είπε

3)    H Apple μπορεί πολύ απλά να προσθέσει περισσότερους πυρήνες για να αυξήσει και άλλο την συνολική απόδοση. Εκείνο που δεν μπορεί να κάνει είναι να αυξήσει κατά πολύ την συχνότητα λειτουργίας. Από την άλλη ένα μελλοντικό SoC (Μ1x) σε desktop/workstation ανατρέπει την γενικότερη φιλοσοφία που κυριαρχεί εδώ και δεκαετίες. 

Τέλος σαφώς και ο M1 και ο οποιοδήποτε ARM CPU/SoC είναι πιο φτηνός στην κατασκευή από ένα x86. Όπως πολύ σωστά σημείωσες, η επένδυση της apple είναι περισσότερο στο γενικότερο οικοσύστημα και στο software για να στηρίξει τον M1 παρά στον ίδιο το hardware
 

Κι εγώ δε βλέπω να σηκώνει συχνότητα γιατί απλά δε τη χρειάζεται. Οι περισσότεροι πυρήνες θέλουν περισσότερα κανάλια προς τη μνήμη. Ο M1 ήδη είναι στα 68GB/s πολύ πάνω από τον ανταγωνισμό, άλλα ναι η φτωχή μου λογική λέει για 4 Firestorm στα midrange και 8 firestorm στα high-end με το πολύ 2 χαμηλής κατανάλωσης.

Το κόστος κατασκευής έχει σχέση με τον αριθμό των transistors, την τεχνολογία λιθογραφίας, την ποσότητα και πλέον στην σημερινή εποχή με τη σειρά που θα πάρεις στη γραμμή παραγωγής της TSMC. Η Apple μπαίνει μπροστά γιατί είναι ίσως ο μεγαλύτερος πελάτης της + σκάει τα περισσότερα λεφτά. Ο Μ1 είναι ακριβός αλλά δεν υπάρχει κόστος πώλησης (αυτά που θα έπαιρνε η Intel/AMD) δεν υπάρχει κόστος προώθησης/διαφήμισης, μεταφορικών που ενσωματώνονται στην τιμή και εννοείται το κέρδος του εμπορου και ο ΦΠΑ.

Για την Apple είναι φθηνός, πολύ πιο φθηνός και γι' αυτό τα νέα Macbooks είναι πιο φθηνά από τα παλια intel.

  • Thanks 2
Δημοσ.
1 ώρα πριν, jgeorgiou είπε

Το βασικό πλεονέκτημα του Μ1 είναι ότι έχει embeded την RAM με υψηλό BANDWIDTH & χαμηλό LATENCY. Ολα τα άλλα είναι αμπελοφιλοσοφίες.

 

Επισης οι RISC έχουν πλέον μικροκώδικα και σύνθετες εντολές , ενώ οι CISC είναι πλέον σχεδιασμένοι σαν RISC που με μικροκώδικα συνθέτουν τις περίπλοκες x86 εντολές. Ξεκινουν μεν από αντίθετες αφετηρίες αλλά πλέον συναντιούνται στα "μισά".

Η βασική επιτυχία της APPLE , είναι η ταχύτατη πρόσβαση στην RAM και μερικές έξτρα εντολές εντός μικροκώδικα cpu εξειδικευμένες να επιταχύνουν το emulation x86. Μην προσπαθείτε να τεκμηριώσετε απόψεις με στερεότυπα του '80 και του '90 όταν οι cisc/risc επεξεργαστές πράγματι είχαν μεγάλες διαφορές.

Η στροφή στους ARM γίνεται γιατί ο "καθένας" μπορεί να πάρει άδεια και έτοιμα σχέδια και να φτιάξει δικό του αποδοτικό cpu. Εχει ωριμάσει τόσο πολύ η αγορά που οι κινέζοι εδώ και πολλά χρόνια έχουν δεσμεύσει τεράστιους πόρους και  προσπαθούν με 3 κατασκευαστές να φτιάξουν x86 συμβατό και μέχρι τώρα έχουν αποτελέσματα celeron 10ετίας.

Αν και το θέμα μας δεν είναι η Apple , όλοι ξέρουμε το πρόβλημα που αντιμετωπίζουν κάποιοι με αυτήν...

Η βασική επιτυχία της Apple είναι ότι δεν αγοράζει απλώς έναν επεξεργαστή από το πανέρι σαν τις υπόλοιπες εταιρείες για τα προϊόντα της. Ακόμα και όταν είχε Intel , πίεζε να έχει ξεχωριστά chip σχεδιασμένα μόνο για αυτήν.

Σε όλη την ιστορία της , οι επεξεργαστές που χρησιμοποιούσε είχαν την δίκη της συμμετοχή στην σχεδίαση .

Ολοι γνωρίζουμε την AIM συμμαχία. Πάντα κοίταζε ακόμα και όταν είχε CISC αρχιτεκτονική με τους Motorola 68000 να ακολουθήσει τα project των risc επεξεργαστών , στα οποία και συμμετείχε η ίδια. Κάποια από αυτά δεν είχαν βέβαια την αναμενόμενη εμπορική επιτυχία και κατέγραψε οικονομικές απώλειες.

Οποτε να λέμε για την βασική επιτυχία της Apple ότι είναι ο Μ1 και τα χαρακτηριστικά του , παραγνωρίζοντας την όλη ιστορία της Apple σε θέμα επεξεργαστών παλαιότερα, είναι κάπως υπερβολικό....

Επαναλαμβάνω το θέμα μας δεν είναι ΜΟΝΟ η Apple ή Μ1 . Είναι στροφή σε επεξεργαστές επιδόσεων , από άλλους κατασκευαστές , πέρα της AMD και Intel.

To μυστικό της επιτυχίας της Apple που προσπαθούν να αντιγράψουν τώρα οι υπόλοιποι, είναι οι εμπειρία της σε διαφόρων αρχιτεκτονικών επεξεργαστές και του λογισμικού της που για αυτό το λόγο ήταν hardware agnostic.

Έχει την δυνατότητα να παρουσιάσει ολοκληρωμένες λύσεις παρόλα τα bugs που δουλεύουν ασχέτως αν ο επεξεργαστής είναι risc ή CISC. Όλα αυτά τα χρόνια συνεργασίας και ερευνών της δίνουν βασικό πλεονέκτημα στο κινηθεί ευέλικτα με στόχο την επίδοση. Πάντα κοιτούσε πως να προσφέρει την καλύτερη τεχνολογια επεξεργαστών  ρισκάροντας ακόμα και να χάσει το κοινό της αλλά και τους developers. 
Ευτυχως κάποιοι γνωρίζουμε και δεν την καταδικάζουμε μόνο από τα αρνητικά της, χωρίς να ξέρουμε και την άλλη πλευρά του νομίσματος. 

  • Like 2
Δημοσ. (επεξεργασμένο)
15 λεπτά πριν, atheatos είπε

Επαναλαμβάνω το θέμα μας δεν είναι ΜΟΝΟ η Apple ή Μ1 .

Μιλούσα συγκεκριμένα για τις επιδόσεις per watt του Μ1 και όχι γενικότερα για την APPLE. Μια trillion capitalization εταιρία τεχνολογίας σίγουρα είναι πετυχημένη για να φτάσει εκεί που έφτασε. Αλλωστε εδώ μιλάμε για τις σημερινές τάσεις στην τεχνολογία των cpu. Οτι λάνσαρε έναν δική της σχεδίασης επεξεργαστή που είναι ο ανώτερος σε perf/watt στην αγορά σίγουρα είναι πολύ σημαντικό. Δεν είναι τυχαίο ότι όλοι οι γίγαντες ταρακουνήθηκαν και προσπαθούν να βελτιωθούν αντιγράφοντας τις βέλτιστες πρακτικές.

 

ΥΓ

Επίσης οι ARM για να καταφέρουν να πλησιάσουν σε επιδόσεις τους INTEL/AMD έχουν πλέον υιοθετήσει microcode & σύνθετες εντολές στο instruction set τους με πρώτες και καλύτερες τις λεγόμενες NEON που είναι αντίστοιχες των AVX-intel.

Επεξ/σία από jgeorgiou
Δημοσ.
1 λεπτό πριν, jgeorgiou είπε

Μιλούσα συγκεκριμένα για τις επιδόσεις per watt του Μ1 και όχι γενικότερα για την ιστορία της APPLE. Μια trillion capitalization εταιρία τεχνολογίας σίγουρα είναι πετυχημένη για να φτάσει εκεί που έφτασε.

Οι επιδόσεις του M1 δεν προήλθαν έτσι ξαφνικά παίζοντας με την cache κτλ.

Υπαρχει ολόκληρη διαδρομή δεκαετιών στους επεξεργαστές και δεν είναι τόσο απλό , ωστε να λέμε ότι αυτό που έκανε ήταν απλώς μια παραμετροποίηση και τίποτα άλλο. Αν ήταν τόσο απλό γιατί δεν εκμεταλλεύτηκε τόσο καιρό κανένας άλλος.

Δεν μπορούμε να λέμε για αμπελοφιλοσοφίες την προσπάθεια που έγινε δεκαετίες πριν στους risc και τους CISC επεξεργαστές από την Apple αλλά και από άλλους. Επίσης επιτυχημένη ήταν ακόμη και όταν πήγε να κλείσει. Δεν την κάνει μόνο το κεφάλαιο, επιτυχημένη. 

Τα ρίσκα που πήρε παλαιότερα, της βγαίνουν τώρα εις τριπλούν απόδοση.

Δεν πιστεύω ότι με αυτά που γράφτηκαν κάποιοι από μας θα διορθώσουμε την αρρωστημένη αντίληψη για την Apple, ως μια εταιρεία που πουλάει φύκια για μεταξωτές κορδέλες.... αλλά τέλος πάντων.

  • Like 1
  • Thanks 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...