“Θα πάρω φόρα, θα πάρω φόρα να τα γκρεμίσω”, τραγούδησε η Μαίρη Μαράντη στην cult ελληνική ταινία του 1998, “Όλα είναι δρόμος”. Τώρα μπορείτε όλοι να παίξετε τον ρόλο του Γιώργου Αρμένη, να φωνάξετε “Ρίχτο Ηλία!” και να κάνετε το κομμάτι σας με την δική σας, προσωπική μπουλντόζα για πολύ λιγότερο από 30 εκατομμύρια δραχμές. Βέβαια ο στόχος σας δεν θα είναι κάποιο μπουζουξίδικο της εθνικής οδού αλλά κάτι γέφυρες από άμμο...
Όχι, δεν τρελαθήκαμε ακόμα, η AMD έχει βαλθεί να μας τρελάνει όλους μας με την σειρά επεξεργαστών FX, οι οποίοι ακούνε στο κωδικό όνομα “Bulldozer”. Πρόκειται, σύμφωνα πάντα με την AMD, για μια πλατφόρμα σχεδιασμένη για να ισορροπήσει την απόδοση, το κόστος και την κατανάλωση ισχύος στις πολυ-νηματικές εφαρμογές. Η αρχιτεκτονική, στην οποία θα εντρυφήσουμε σε επόμενες σελίδες της παρουσίασης, επικεντρώνεται στις υψηλές συχνότητες και τον διαμοιρασμό πόρων για να επιτύχει τον βέλτιστο ρου πληροφορίας και καταιγιστικές επιδόσεις σε μια σειρά επεξεργαστών οι οποίοι θα προσφέρουν μέχρι 8 πυρήνες υψηλών επιδόσεων και με υψηλό δείκτη απόδοσης/ισχύος.
Ας περάσουμε όμως στα ενδότερα της πλατφόρμας FX.
Η πλατφόρμα FX
Η πλατφόρμα FX, αποτελείται από τους επεξεργαστές FX, την σειρά μητρικών 9ΧΧ της AMD μαζί με τις κάρτες γραφικών σειράς HD6000. Οι επεξεργαστές FX έχουν σαν ναυαρχίδα τον πρώτο παγκοσμίως 8-πύρηνο επεξεργαστή, τον FX8150. Λεπτομέρειες για την πλατφόρμα και ποια εξαρτήματα την απαρτίζουν μπορείτε να δείτε στα παρακάτω διαγράμματα.
Στο πρώτο διάγραμμα μπορούμε να δούμε λεπτομερώς τους καινούριους επεξεργαστές που απαρτίζουν την οικογένεια των FX, με κωδικό όνομα Bulldozer. Παρατηρούμε την ονοματολογία των επεξεργαστών η οποία είναι αρκετά εύκολο να αποκωδικοποιηθεί. FX-8xxx για τους 8-πύρηνους, FX-6xxx για τον εξαπύρηνο και FX-4xxx για τον "μικρό" τετραπύρηνο της οικογενείας.
Προχωρώντας στο επόμενο διάγραμμα θα δούμε πιο αναλυτικά τα chipsets που στελεχώνουν την πλατφόρμα FX, με βασιλιά το 990FX με το SB950 στον ρόλο του southbridge.
Και τέλος θα δούμε την -ήδη γνωστή- σειρά καρτών γραφικών της AMD που ολοκληρώνουν την πλατφόρμα. Δεν έχουμε κάποια καινούρια εισαγωγή στην λίστα από την AMD, και ο πίνακας διαμορφώνεται ακολούθως:
Ακολουθεί ένα συνολικό block διάγραμμα της πλατφόρμας FX:
Η αρχιτεκτονική FX - Front End
Η αρχιτεκτονική FX
Ο Bulldozer, από άποψη αρχιτεκτονικής, διαφέρει αισθητά από ότι έχουμε δει μέχρι τώρα. Το βασικό δομικό στοιχείο της νέας αυτής αρχιτεκτονικής, είναι αυτό που η AMD ονομάζει Bulldozer module. To κάθε module διαθέτει 2 ανεξάρτητους πυρήνες ακεραίων (Integer cores) και 1 μοιραζόμενο πυρήνα κινητής υποδιαστολής (Floating Point core). Η λογική πίσω από αυτή την καινοτομία είναι ότι σε dekstop, αλλά και σε server συστήματα, το Floating Point μέρος του επεξεργαστή χρησιμοποιείται λιγότερο απ' ότι το Integer και έτσι δεν χρειάζεται να υπάρχει 1 προς 1 αναλογία μεταξύ αυτών των δύο. Γενικότερα, στο Bulldozer module, οι λειτουργίες που εμφανίζουν υψηλό βαθμό χρησιμοποίησης (όπως τα Integer cores και η L1 cache), υπάρχουν και στα 2 cores, ενώ, λειτουργίες με χαμηλότερο βαθμό χρησιμοποίησης (όπως το fetch, decode, FP core και η L2 cache) μοιράζονται μεταξύ των 2 cores. Έτσι, ο 8-πύρηνος Bulldozer έχει 8 Integer cores και 4 FP cores (4 modules), ο 6-πύρηνος Bulldozer έχει 6 Integer cores και 3 FP cores (3 modules), ο 4-πύρηνος Bulldozer έχει 4 Integer cores και 2 FP cores (2 modules). Πρέπει να σημειώσουμε ότι όλοι οι Bulldozer έχουν το ίδιο die. Αυτό σημαίνει ότι στον 6-πύρηνο και στον 4-πύρηνο υπάρχουν 4 modules, αλλά τα 1 και 2 αντίστοιχα είναι απενεργοποιημένα. Μέχρι στιγμής όμως, δεν έχει αναφερθεί δυνατότητα ξεκλειδώματος των κλειδωμένων modules, όπως μας είχε συνηθίσει στο παρελθόν η AMD.
Front End
Το Front End μέρος του module σχεδιάστηκε με σκοπό να τροφοδοτεί τα cores συνεχώς με δεδομένα. Το fetch και το decode στάδιο του pipeline μοιράζεται μεταξύ των 2 cores. Η δουλεία του είναι να φέρει την επόμενη εντολή προς εκτέλεση (fetch) και να την αποκωδικοποιήσει σε μορφή που είναι κατανοητή από τον επεξεργαστή (decode). Σε σύγκριση με την προηγούμενη γενιά (Phenom II) τα στάδια fetch και decode διευρύνθηκαν και μπορούν πλέον να χειριστούν 4 εντολές ταυτόχρονα (αντί για 3). Όμως, οι 4 αυτές εντολές μοιράζονται μεταξύ των 2 cores του module. Έτσι, ενώ όταν χρησιμοποιείται μόνο το 1 core o Bulldozer μπορεί να κάνει fetch/decode 4 εντολές αντί για 3 που μπορεί να κάνει ο Phenom II, όταν χρησιμοποιούνται 2 cores, μπορεί να κάνει 4 και πάλι, ενώ ο Phenom II μπορεί να κάνει 6. Έτσι ο 8-πύρηνος Bulldozer μπορεί να κάνει fetch/decode 16 εντολές το μέγιστο, ο 6-πύρηνος Phenom II μπορεί 18, παρόλο τους 2 λιγότερους πυρήνες. Στην αντίπερα όχθη, οι SandyΒridge της Intel μπορούν να κάνουν fetch/decode 4 εντoλές ανά core ανεξάρτητα, άρα ένας 4-πύρηνος SB έχει την δυνατότητα για 16 fetch/decode ενώ ένας 6-πύρηνος για 24, αφήνοντας πίσω την AMD σε αυτόν τον τομέα.
Αξίζει να αναφέρουμε συνοπτικά, ότι ο προβλέπτης διακλαδώσεων (branch predictor) του Bulldozer είναι ανεξάρτητος από το υπόλοιπο front end, κάτι το οποίο ήταν απαραίτητο λόγω του μεγαλύτερου pipeline. Συγκεκριμένα, υπάρχουν prediction-directed instruction prefetchers και το prediction queue μπορεί να χειριστεί direct και indirect branches που τροφοδοτούνται από το L1 και L2 Branch Target Buffer. Το prediction pipeline δημιουργεί μια ακολουθία από διευθύνσεις πρέπει να γίνουν fetch και το fetch pipeline κάνει αναζήτηση στην instruction cache και “τραβάει” 32 bytes/κύκλο στο fetch queue, το οποίο τροφοδοτεί τους 4 decoders.
Η αρχιτεκτονική FX - Execution Cores
2 ανεξάρτητα Integer Cores
Το κάθε module περιέχει 2 ανεξάρτητα Integer cores (πυρήνες ακεραίων). Το κάθε Integer core περιέχει τον δικό του scheduler (δρομολογητή εντολών), register file, 16KB 4-way associative L1 data cache καθώς και ένα Load/Store unit. Σε σχέση με το Phenom II, ο Bulldozer έχει 128KB L1 data cache σε αντίθεση με τα 384KB (6x64KB) του προκατόχου του. Επίσης, κάθε Integer core του Bulldozer έχει 2 ALU (Arithmetic & Logic Unit) καθώς οι μηχανικοί της AMD προφανώς θεώρησαν ότι η 3η του Phenom II χρησιμοποιούταν ελάχιστα και δεν προσέφερε ιδιαίτερο κέρδος επίδοσης.
1 μοιραζόμενο Floating Point Core
Το κάθε module περιέχει 1 μοιραζόμενο από τα 2 threads Floating Point core (πυρήνας κινητής υποδιαστολής). Αυτό στην πράξη σημαίνει ότι αν υπάρχει μόνο ένα thread, αυτό εκμεταλλεύεται όλους τους πόρους του FP core, 1 αυτοί οι πόροι μοιράζονται. Συγκεκριμένα, υπάρχουν 2 128-bit FMACs, τα οποία μπορούν να εκτελέσουν 2 128-bit εντολές είτε 1 256-bit εντολή σε κάθε module. Επίσης, το Floating Point core έχει τον δικό του scheduler, ο οποίος μπορεί να χειριστεί 2 threads. Τέλος να αναφέρουμε ότι το FP core δεν έχει δικιά του L1 cache ούτε και load/store unit, και έτσι όταν ολοκληρώσει τους υπολογισμούς, στέλνει τα αποτελέσματα στα Integer cores για να γραφτούν στις caches.
Η AMD πρόσθεσε κάποια νέα χαρακτηριστικά στο FP core του Bulldozer. Καταρχάς, προστέθηκαν τα instruction sets SSSE3, SSE4.1, SSE4.2 και AVX (Advanced Vector eXtensions). Επίσης προστέθηκε υποστήριξη για FMA (Fused Multiply Add – A=B+C*D) και XOP. Όλες αυτές οι νέες δυνατότητες, συγκριτικά με Phenom II και Sandy Bridge, φαίνονται στον παρακάτω πίνακα :
Όπως μπορούμε να δούμε, εφαρμογές που χρησιμοποιούν παλιότερες εντολές για Floating Point (x87, SSE2, SSE3), δεν εκμεταλλεύονται την μέγιστη επίδοση του FP core, κάνοντας τον Bulldozer πιο αργό απο τον προκάτοχό του Phenom II. Tο FP unit είναι βελτιστοποιημένο για τις νεότερες FMAC εντολές (SSE4, AVX, FMA, XOP).
Η αρχιτεκτονική FX - Caches - Memory
Ιεραρχία Caches
Ας δούμε τώρα πως είναι κατανεμημένες οι caches στην νέα αρχιτεκτονική της AMD. H L1 data cache είναι 4-way associative, βρίσκεται μέσα στα integer cores του module και έχει μειωθεί σε μέγεθος, σε σχέση με τον Phenom II. Συγκεκριμένα, ο Bulldozer έχει 16kb ανά integer core (32kb ανά module), ενώ ο Phenom II είχε 64kb ανά core. Όπως είπαμε και πιο πριν, την L1 D-cache εκμεταλλεύεται και το FP core στέλνοντας αιτήσεις για load/store σε κάποιο απο τα integer cores. Άρα συνολικά ο Bulldozer έχει 128kb L1 D-cache (4-way). Ακόμα, το κάθε integer core έχει ένα 32-εγγραφών, fully-associative TLB (Translation Lookaside Buffer) καθώς και ένα πλήρως out-of-order load/store unit, ικανό για 2 128-bit loads ή 1 128-bit store ανά κύκλο ρολογιού. Η L1 instruction cache είναι 2-way associative, και είναι κοινή για ολόκληρο το module. Το μέγεθός της είναι 64kb ανά module, και πάλι μικρότερη από τον Phenom II, που είχε 64kb ανά core. Άρα συνολικά ο Bulldozer έχει 256kb L1 I-cache (2-way).
Το κάθε module έχει 2mb 16-way associative L2 cache, γεγονός αποτελεί μεγάλη προσθήκη σε σύγκριση με τον Phenom II που είχε 512kb ανά core. Άρα συνολικά ο Bulldozer έχει 8mb L2 cache. Επίσης υπάρχει και ένα 1024 εγγραφών, 8-way TLB. Ο Bulldozer υποστηρίζει μέχρι 23 L2 cache misses. Τέλος, υπάρχει μία κοινή, μοιραζόμενη από όλα τα modules 8mb L3 cache η οποία είναι 64-way associative.
Όπως μπορούμε να δούμε και στην παραπάνω die photo, οι caches στον Bulldozer καλύπτουν περίπου το 30% του τεράστιου die των 2 δισεκατομμυρίων transistor.
Κύρια μνήμη (RAM)
O Bulldozer περιέχει on-die έναν dual-channel IMC (Integrated Memory Controller), κάτι στο οποίο μας έχει συνηθίσει η AMD από εποχές Athlon64. O IMC παρέχει native support για DDR3-1866 μνήμες και υποστηρίζει και ECC μνήμες.
Turbo Core revisited
Η AMD βελτίωσε το Turbo Core για να το ενσωματώσει στον Bulldozer. Καταρχάς, υπολογίζει ψηφιακά την κατανάλωση που έχει ο επεξεργαστής, η οποία βασίζεται στο τι λειτουργίες εκτελούνται ανά πάσα στιγμή. Αυτή η λειτουργία ακούει στο όνομα AMD Power Manager. Ακόμα, στον Bulldozer έχει υλοποιηθεί το power gating, το οποίο επιτρέπει στους πυρήνες που δεν χρησιμοποιούνται να σβήνουν, έτσι ώστε να μην καταναλώνουν σχεδόν καθόλου ρεύμα. Με αυτόν τον τρόπο, δημιουργείται το κατάλληλο ενεργειακό περιθώριο για να ανεβάσουν οι υπόλοιποι πυρήνες την συχνότητα λειτουργίας τους. Συγκεκριμένα, εκτός από το γνωστό C1E state, που σημαίνει ότι ένας πυρήνας είναι idle, υποστηρίζεται πλέον και το C6 state, το οποίο σημαίνει ότι ένας πυρήνας δεν χρησιμοποιείται καθόλου και μπορεί να σβήσει μέσω του power gating. Το Turbo Core έχει 2 τρόπους λειτουργίας, το Max Core και το Max Frequency. Ας δούμε λίγο πιο αναλυτικά τι σημαίνει το κάθενα:
Max Core
Όταν περισσότεροι από τους μισούς πυρήνες χρησιμοποιούταν, τότε μπορεί να αυξηθεί σε όλους τους πυρήνες η συχνότητα λειτουργίας κατά 300 MHz. Με αυτόν τον τρόπο, οι πολυνηματικές εφαρμογές εκμεταλλεύονται την αυξημένη συχνότητα λειτουργίας. Ο AMD Power Manager επιβλέπει και ρυθμίζει λειτουργία του Turbo Core, όπως φαίνεται στο παρακάτω διάγραμμα:
Max Frequency
Όταν λιγότεροι από τους μισούς πυρήνες χρησιμοποιούνται, τότε οι υπόλοιποι σβήνουν όπως εξηγήσαμε παραπάνω, επιτρέποντας στους εν λειτουργία πυρήνες να λειτουργήσουν σε ακόμα μεγαλύτερη συχνότητα, και συγκεκριμένα σε 600 MHz υψηλότερη.
Windows 8 και βελτιστοποιήσεις
Έχοντας αναλύσει το πώς λειτουργεί ο Bulldozer under the hood, γεννάται ένα μεγάλο ερώτημα: Μπορούν τα λειτουργικά συστήματα και τα προγράμματα να εκμεταλλευτούν την πρωτοποριακή αρχιτεκτονική του Bulldozer? Και δυστυχώς, η απάντηση είναι ΟΧΙ. Τα Windows 7 είναι module-unaware. Τι σημαίνει αυτό στην πράξη? Ότι τα Windows 7 δεν είναι optimized για τον AMD modules και ο scheduler δεν γνωρίζει την αρχιτεκτονική του Bulldozer και επομένως δεν μπορεί να αναθέσει τα threads στα modules με βέλτιστο τρόπο. Υπάρχουν περιπτώσεις που 2 thread είναι πιο αποδοτικό να επεξεργάζονται από το ίδιο module, και περιπτώσεις που 2 thread είναι προτιμότερο να επεξεργάζονται από διαφορετικό module. Για παράδειγμα, αν 2 threads κάνουν υπολογισμούς πάνω στα ίδια δεδομένα, συμφέρει να βρίσκονται στο ίδιο module, αφού το module έχει κοινή L2 cache, έτσι μειώνονται οι άσκοπες μεταφορές δεδομένων μεταξύ modules. Αν όμως 2 threads κάνουν υπολογισμούς πάνω σε τελείως διαφορετικά δεδομένα, τότε συμφέρει α βρίσκονται σε διαφορετικό module, έτσι ώστε να εκμεταλλεύονται όλο το μέγεθος της L2 cache. Οπώς επίσης αν 2 threads χρειάζονται εξ' ολοκλήρου το FP core, τότε πάλι συμφέρει να βρίσκονται σε διαφορετικό module για να μην μοιράζονται το FP core. Αν στην εξίσωση μπει και το Turbo Core, δηλαδή πότε είναι αποδοτικότερο ο επεξεργαστής να λειτουργεί με λιγότερα modules αλλά σε υψηλότερη ταχύτητα και πότε με όλα τα modules σε χαμηλότερη ταχύτητα, τότε τα πράγματα περιπλέκονται ακόμα περισσότερο.
Τα Windows 8 θα έχουν scheduler ο οποίος θα είναι module-aware, οπότε θα μπορεί να δρομολογεί τα threads στα κατάλληλα cores/modules με τον βέλτιστο τρόπο. Επίσης, με το core parking που υποστηρίζουν, θα μπορούν να εκμεταλλεύονται το Turbo Core στο έπακρο.
Σε μια προσπάθεια να πιστοποιήσουμε αυτή την άυξηση επιδόσεων (έως 10%) που υπόσχεται η AMD, εγκαταστήσαμε στο σύστημα δοκιμών μας τα Windows 8 Developer Preview. Δυστυχώς όμως, τα περισσότερα benchmarks δεν τρέχαν στα Windows 8, και όσα καταφέραμε να τρέξουμε παρουσίαζαν συνήθως ίδια, και κάποιες φορές λίγο χειρότερη επίδοση. Σαφώς και κάτω από αυτές τις συνθήκες, δεν μπορούμε να βγάλουμε κάποιο ασφαλές συμπέρασμα, αφού τα Windows 8 είναι σε δοκιμαστικό στάδιο, και ούτε AMD drivers για αυτά υπάρχουν. Οπότε, διατηρούμε τις επιφυλάξεις μας για το μέλλον.
Τέλος, πρέπει να αναφέρουμε, ότι από την πλευρά των προγραμμάτων, πρέπει να χρησιμοποιηθούν νέοι compilers οι οποίοι εκμεταλλεύονται τα νέα instruction sets (XOP, FMA4, AVX, SSE4.x) που υποστηρίζει ο Βulldozer, καθώς και την μοιραζόμενη αρχιτεκτονική του.
AMD Watercooling kit
Η AMD διαθέτει προαιρετικά ένα watercooling kit για να ψύξετε τον Bulldozer σας. Το kit αυτό συμπεριλαμβάνει μονό χοντρό ψυγείο, 2 ανεμιστήρες για push-pull διάταξη και χάλκινο block για τον επεξεργαστή με ενσωματωμένη αντλία. Είναι κλειστού κυκλώματος, που σημαίνει ότι δεν χρειάζεται καμία συντήρηση, ούτε προσθήκη υγρού. Κατασκευάζεται από την γνωστή και πρωτοπόρα στα κλειστά watercooling kits Asetek. Ας δούμε μερικές φωτογραφίες του:
Αρχικά η καλαίσθητη συσκευασία (αριστερά) δίπλα στο μεταλλικό κουτάκι του Bulldozer.
Περνώντας στο εσωτερικό της συσκευασίας, βλέπουμε το ψυγείο, τους 2 ανεμιστήρες, το block-αντία, εγχειρίδιο χρήσης και συνοδευτικό λογισμικό.
Εκτός κουτιού.
Μια κοντινή στο block-αντλία, που τα κοσμεί το λογότυπο των FX επεξεργαστών.
Η χάλκινη βάση του block.
Ο 9-blade ανεμιστήρας της Everflow.
Συστήματα Δοκιμών
Τα μετροπρογράμματα που χρησιμοποιήσαμε ήταν τα εξής:
- AIDA64 Extreme 1.6
- SisoftSandra 2011
- wPrime 2.06
- SuperPI mod 1.5
- Fritz 12 Benchmark
- Cinebench 11.5
- WinRAR 4.10 beta2
- Truecrypt 7.1
- x264 HD Benchmark 4.0
- 3DMark11
- Unigine
- Aliens vs Predator
- S.T.A.L.K.E.R. : Call of Pripyat
- Lost Planet 2
- Metro 2033
- Crysis Warhead
Το λειτουργικό σύστημα ήταν τα Windows 7 Professional SP1 x64. Οι drivers του chipset 990FX ήταν οι τελευταίοι από το site της Asus (AMD Chipset Driver V3.0.812.0), ενώ οι drivers της κάρτας γραφικών ήταν οι AMD Catalyst 11.9. To bios της Crosshair V Formula ήταν το 9905.
Μετρήσεις 2D - Μέρος 1ο
Ξεκινώντας την παρουσίαση των μετρήσεων για τις 4 πλατφόρμες που συγκρίναμε, παρουσιάζουμε τα αποτελέσματα του γνωστού μετροπρογράμματος AIDA64 (παλιό Everest) για cpu και μνήμες.
Παρατηρούμε ότι παρόλο που ο Bulldozer συνήθως είναι πίσω απο τον SandyBridge, γενικά κυμαίνεται σε καλά επίπεδα. Δυστυχώς αρκετές φορές βρίσκεται και πίσω από τον προκάτοχό του, Thuban.
Όσον αφορά την επίδοση της κύριας μνήμης οι επεξεργαστές της AMD βρίσκονται παντού πίσω από αυτούς της Intel, παρόλο που ο Bulldozer έχει βελτιωθεί αισθητά σε σχέση με τον Thuban. Αξιοσημείωτο είναι ότι ο εξελιγμένος IMC της Intel, παρόλο που είναι dual channel, καταφέρνει και ξεπερνά το triple channel του Nehalem.
Συνεχίζουμε με την σουΐτα της SiSoftware, το Sandra 2011.
Παρατηρούμε ότι εκτός του Thuban που μένει πίσω, οι υπόλοιπες πλατφόρμες κονταροχτυπιούνται.
Η έλλειψη του AVX (Advanced Vector Extensions) support από τους 2 γηραιότερους κάνει αισθητή την απουσία της.
Η hardware υποστήριξη για AES (Advanced Encryption Standard) δίνει τεράστια ώθηση σε Bulldozer και SandyBridge, με τον 2ο να είναι ταχύτερος όλων.
Αξεπέραστες οι επιδόσεις του παππού Nehalem.
Και εδώ φαίνεται, ότι όσον αφορά τις επιδόσεις της κύριας μνήμης, η AMD αν και βελτιώθηκε με τον Bulldozer, δεν καταφέρνει να ξεπεράσει πουθενά την Intel.
Μετρήσεις 2D - Μέρος 2ο
Συνεχίζουμε τις 2D μετρήσεις μας με το multithreaded wPrime.
Ενδιαφέροντα τα αποτελέσματα εδώ. Καταρχάς τα 6 ανεξάρτητα cores του Thuban και τα HyperThreads του Nehalem, τους φέρνουν στην κορυφή, με αρκετή απόσταση από τους 2 νέους. Ερωτήματα για περιτέρω μελέτη γεννά το γεγονός ότι αν στον Bulldozer πέσουμε από τα 8 στα 4 threads, ο χρόνος δεν διπλασιάζεται, αλλά ανεβαίνει μόνο κατά 50%. Περισσότερα στο module efficiency μέρος του review μας.
Συνεχίζουμε με το καθαρά single-threaded SuperPI mod 1.5, όπου παραδοσιακά οι Intel επεξεργαστές πηγαίνουν πολύ καλύτερα.
H "dominating" εικόνα της Intel συνεχίζει στον υπολογισμό ψηφίων του π. Ο SandyBridge παρουσιάζεται βελτιωμένος σε σχέση με τον Nehalem, ενώ πολύ πίσω βρίσκονται οι AMD, με τον Bulldozer να είναι χειρότερος από τον Thuban. Είναι το 1ο δείγμα ότι το IPC μειώθηκε στην νέα αρχιτεκτονική της AMD.
Το Fritz Chess Benchmark υπολογίζει πιθανές κινήσεις σε παιχνίδι σκάκι, εξαντλώντας τις αριθμητικές δυνατότητες των επεξεργαστών.
Πρώτος βγαίνει ο Nehalem, ακολουθούμενος (με μικρές διαφορές μεταξύ τους) από Bulldozer και Thuban. Τελευταίος και καταϊδρωμένος ο SandyBridge εδώ, αν και οι διαφορές των επεξεργαστών είναι μικρές (10%).
Συνεχίζουμε με το πολύ διαδεδομένο bench της MAXON, το Cinebench 11.5. Το Cinebench κάνει render μία 3D σκηνή και χρησιμοποιεί όλους τους πυρήνες του επεξεργαστή. Έτσι αποτελεί ένα πολύ καλό multi-threaded benchmark.
Το multi-threading test είχε μικρή διαφορά μεταξύ των επεξεργαστών (2%) φέρνοντας 1ο τον Bulldozer. To single-threaded test μας προσφέρει πολλές πληροφορίες. Καταρχάς βλέπουμε για άλλη μια φορά, ότι το IPC έπεσε στον Bulldozer, φέρνοντας τον στην τελευταία θέση. Ο SandyBridge της Intel δείχνει τα δόντια του εδώ, παρουσιάζοντας το πόσο έχει βελτιωθεί σε σχέση με τον Nehalem.
Αν εξετάσουμε το speedup (speedup = multicore score / singlecore score), εντύπωση προκαλεί το σχεδόν ιδανικό speedup (3.9x) που παρουσιάζει ο SandyBridge. Επίσης τα HyperThreads του Nehalem τον βοηθούν πάρα πολύ να πίασει τον SandyBridge σε multi-threading απόδοση, παρόλο που σε single-thread είναι αρκετά πίσω. Τέλος, για άλλη μια φορά, δημιουργούνται ερωτήματα για το efficiency που παρουσιάζουν τα modules του Bulldozer, αφού το speedup που παρουσιάζει είναι 5.8x, αρκετά μακριά από το ιδανικό 8x. Να σημειώσουμε ότι το speedup αυξήθηκε στ 6.5x σε overclocked συνθήκες, κυρίως λόγω του κλειστού Turbo Core, που έριξε την προσδοκώμενη single-threaded απόδοση (άρα ανέβασε το speedup).
Το WinRAR είναι ίσως το πιο διαδεδομένο tool για συμπίεση και αποσυμπίεση αρχείων, και διαθέτει bench για να μετρήσουμε τις επιδόσεις του επεξεργαστή μας.
Επιτέλους ένα bench στο οποίο ο Bulldozer κατατροπώνει τους πάντες, με αρκετή διαφορά κίολας.
Περνάμε στο Truecrypt, το οποίο είναι ένα tool που κάνει encrypt τα δεδομένα μας. Συγκεκριμένα κοιτάμε το AES encryption (και στα υπόλοιπα test η εικόνα παρέμενε ακριβώς η ίδια) από το bench που περιέχει το Truecrypt.
Για άλλη μια φορά, ο Bulldozer σαρώνει τους πάντες. Η υποστήριξη AES σε επίπεδο hardware κάνει τους δύο νέους να έχουν τραγικές διαφορές από τα απερχόμενα μοντέλα των δύο εταιριών.
Τέλος, παρουσιάζουμε τα αποτελέσματα από το x264 HD benchmark 4.0, το οποίο κάνει encode με x264 μια HD 720p ταινία. Το bench έχει 2 φάσεις. Στο 1ο, γρήγορο πέρασμα, το οποίο είναι lightly-threaded, αναλύει την ταινία, και στο 2ο, αργό πέρασμα, κάνει το πραγματικό encoding.
Παρατηρούμε ότι, στο 1ο πέρασμα, ο Bulldozer έρχεται τελευταίος και οι Intel είναι καλύτεροι, λόγω του υψηλού single-threaded performance, ενώ στο 2ο πέρασμα τα πολλά cores δείχνουν την δύναμη τους, φέρνοντας τον Bulldozer 1o με διαφορά από τους υπόλοιπους.
Αξίζει να σημειώσουμε, ότι ο Bulldozer σε overclocked συνθήκες, παρουσιάζει καλό scaling στα περισσότερα tests και αρκετές φορές το scaling του είναι γραμμικό, παρουσιάζοντας κέρδος σε απόδοση ανάλογο με την αύξηση του ρολογιού.
Μετρήσεις 3D
Ξεκινώντας τις 3D μετρήσεις, παρουσιάζουμε τα αποτελέσματα του 3DMark11 στα προφίλ Performance (1280 x 720) και Extreme (1920x1080)
O Bulldozer έχει βελτιωθεί σε σχέση με τον Thuban, παραμένει όμως πίσω από τον SandyBridge.
Στο extreme, η επίδοση του συστήματος είναι GPU-bound, οπότε όλες οι πλατφόρμες μας έχουν παραπλήσια αποτελέσματα, εκτός από τον Nehalem που είναι πίσω σε overall και graphics, ενώ σε physics περνάει μπροστά.
Unigine
1ος ο SandyBridge και σε απόσταση αναπνοής ο Bulldozer. Αρκετά πιο πίσω οι υπόλοιποι.
Alliens vs Predator
Οι πλατφόρμες εδώ είχαν παραπλήσια αποτελέσματα εκτός του Nehalem που έμεινε λίγο πίσω.
S.T.A.L.K.E.R
O SandyBridge ξεφεύγει εδώ, ενώ οι υπόλοιποι κυμαίνονται στα ίδια επίπεδα.
Lost Planet 2
O SandyBridge είναι και πάλι 1ος, αφήνοντας 2ο τον Bulldozer.
Metro 2033
Αουτς!!! O SandyBridge διαλύει τα πάντα, προσφέροντας διπλάσιες επιδόσεις από τον 4o Bulldozer.
Crysis Warhead
Σε πολύ καλά επίπεδα ο Bulldozer, αφού είναι σε απόσταση αναπνοής από τον 1ο SandyBridge.
Module Efficiency
Modules, ανεξάρτητοι πυρήνες, μοιραζόμενοι πυρήνες, caches, schedulers... Πανικός! Κακά τα ψέματα, η νέα αρχιτεκτονική της AMD είναι αρκετά πολύπλοκη. Για αυτό το λόγο έχει συζητηθεί και τόσο πολύ. Οι "ψαγμένοι" διάβασαν την αρχιτεκτονική και κατάλαβαν πως λειτουργεί ο νέος FX επεξεργαστής. Όλοι όμως, γνώστες και μη, θέλουν να μάθουν στην πράξη τι γίνεται. Γιατί αυτό που ενδιαφέρει τους περισσότερους από εμάς είναι η απόδοση. Αυτό, το είδαμε στις προηγούμερες 3 σελίδες του review μας. Και αυτό που λίγο πολύ όλοι θα συμπεράνατε, ο διαφημιζόμενος ως οκταπύρηνος Bulldozer, δεν τα πηγαίνει και πολύ καλά απέναντι στους τετραπύρηνους SandyBridge. Ποια είναι όμως η "αχίλλειος πτέρνα" του Bulldozer;
Το module της FX αρχιτεκτονικής, είναι μια ενδιάμεση κατάσταση μεταξύ ενός διπύρυνου επεξεργαστή, και ενός μονοπύρηνου SMT επεξεργαστή, δηλαδή ενός μονοπύρηνου επεξεργαστή που μπορεί να χειριστεί παραπάνω από 1 thread (όπως για παράδειγμα είναι το Hyperthreading της Intel). O 2ος πυρήνας σε έναν επεξεργαστή, μπορεί να προσφέρει ιδανικά 100% αύξηση επιδόσεων, ενώ το HyperThreading προσφέρει περίπου 20% αύξηση επιδόσεων. Πόσο όμως κέρδος έχουμε από το 2ο core του module; Πολλά είχαν ακουστεί τόσο καιρό, με επικρατέστερη την άποψη ότι αυτός ο 2ος πυρήνας προσφέρει 80% αύξηση επιδόσεων. Κάποια από τα benches που τρέξαμε (βλ cinebench, wPrime) έδειξαν ότι ο Bulldozer δεν παρουσιάζει καλό speedup, όταν ο αριθμός των threads ανεβαίνει. Αυτά λοιπόν θα προσπαθήσουμε να διερευνήσουμε σε αυτό το κομμάτι του review μας.
Για να συμπεράνουμε λοιπόν πόσο αποδοτικό είναι το Bulldozer module, κάναμε την εξής δοκιμή: Τρέξαμε τα περισσότερα 2D benchmarks μας, μια φορά με 2 modules (CU - Computing Units) καθένα από τα οποία είχε και τα 2 cores ενεργοποιημένο (2CU x 2cores = 4 cores), και μια φορά με 4 modules (CU - Computing Units) καθένα από τα οποία είχε το 1 core ενεργοποιημένο (4CU x 1 core = 4 cores). Χρησιμοποιήσαμε δηλαδή τον μισό Bulldozer αλλά με 2 διαφορετικους τρόπους, την μια φορά με τα cores 1,2,3,4 ενεργοποιημένα και την άλλη με τα cores 1,3,5,7 ενεργοποιημένα (core 1,2 = module 1 - core 3,4 = module 2 κ.ο.κ). Για να το επιτύχουμε αυτό, κάναμε flash το bios της Crosshair V Formula στην έκδοση 9913 που μας επιτρέπει εκτός των modules να απενεργοποιούμε και μεμονωμένα cores. Έτσι λοιπόν πήραμε τις ακόλουθες μετρήσεις:
Πολλά ενδιαφέροντα στοιχεία βλέπουμε στο παραπάνω διάγραμμα. Ας προσπαθήσουμε να τα αναλύσουμε όσο περισσότερο μπορούμε.
Καταρχάς, όσον αφορά τις μετρήσεις του AIDA64 για την μνήμη. Παρατηρούμε ότι τα 2CU παρουσιάζουν λίγο καλύτερη απόδοση σε read - write - copy αλλά και χαμηλότερο latency σε σχέση με τα 4CU. Αυτό συμβαίνει διότι όταν είναι ενεργοποιημένα 4CU, "μιλάνε" στο bus περισσότεροι απ'ότι όταν είναι ενεργοποιημένα 2CU, οπότε ο IMC έχει να εξυπηρετήσει περισσότερους "πελάτες", πράγμα που προσθέτει overhead, άρα και ελαφρώς μειωμένη απόδοση. Οι διαφορές όμως ειναι σχετικά μικρές.
Στα integer tests του AIDA, τα οποία είναι τα : Queen (integer - branch intensive), PhotoWorxx (integer - multiplication - memory intensive), Zlib (integer - memory intensive), AES και Hash (AVX - XOP) η απόδοση των 2CU είναι χαμηλότερη σε σχέση με τα 4CU αλλά κυμαίνεται σε καλό επίπεδο: 10%, 9%, 13%, 9% και 13% χαμηλότερη αντίστοιχα, κάτι που είναι λογικό αφού τα 2CU έχουν την μισή L2 cache σε σχέση με τα 4CU (2CU : 2 x 2MB = 4MB / 4CU : 4 x 2MB = 8MB). Άρα μπορούμε να πούμε ότι το module, οσον αφορά τους integer υπολογισμούς είναι πολύ αποδοτικό, έχοντας περίπου το 89% της απόδοσης 2 ανεξάρτητων cores.
Στα floating point tests του AIDA64, τα οποία είναι : VP8 (video encoding), Julia (FP 32bit), Mandel (FP 64bit) και SinJulia (FP 80bit), τα πράγματα είναι αρκετά χειρότερα. Η απόδοση των 2CU σε σχέση με τα 4CU είναι χαμηλότερη κατά 22%, 43%, 41% και 23% αντίστοιχα. Στους Floating Point υπολογισμούς το module εκτός από την L2 cache, μοιράζεται και ολόκληρο το Floating Point core, οδηγώντας έτσι τα 2CU να έχουν το 68% της απόδοσης των 4CU.
Συνολικά λοιπόν μπορούμε να πούμε ότι το AIDA64 μας έδειξε ότι το module έχει το 80% της απόδοσης των 2 ανεξάρτητων cores.
Στα υπόλοιπα benches η εικόνα παραμένει ίδια σε γενικές γραμμές, με την απόδοση των 2CU να είναι χαμηλότερη των 4CU κατά: 20% στο wPrime, 22% στο Fritz Chess, 16% στο Cinebench, μόλις 2% στο WinRAR, 20% στο Truecrypt και 16%-21% στο x264.
Μπορούμε λοιπόν να συμπεράνουμε, ότι το module αποδίδει τα αναμενόμενα, παρουσιάζοντας μια μείωση απόδοσης (σε σχέση με 2 ανεξάρτητους πυρήνες) της τάξης του 10% όταν αφορά integer υπολογισμούς και 30% όταν αφορά Floating Point υπολογισμούς. Αυτά τα νούμερα μπορούν να χαρακτηριστούν αποδεκτά, ιδιαίτερα λόγω της τάσης που επικρατεί τα τελευταία χρόνια, να μεταφέρονται οι FP υπολογισμοί στις GPUs (βλ. GPGPU), τάση που έχει βοηθήσει ιδιαίτερα η εξάπλωση του CUDA και της OpenCL, καθώς και η ενσωμάτωση πυρήνων γραφικών στα CPUs (βλ. AMD APUs, Intel SandyBridge). Το πρόβλημα του Bulldozer είναι το single-core performance, το οποίο είναι αρκετά χαμηλότερο από τον ανταγωνισμό, και είναι χαμηλότερο ακόμα και από την προηγούμενη γενιά της AMD. Οι σχεδιαστές της αρχιτεκτονικής FX, χρειάστηκε να κάνουν κάποιες υποχωρήσεις: για να επιτύχουν την μοιραζόμενη αρχιτεκτονική του Bulldozer, αναγκάστηκαν να τον εξοπλίσουν με βαθύτερο pipeline, κάτι που είχε επίπτωση στο IPC και στο ρολόι (το οποίο παρέμεινε χαμηλότερα απ' όσο περίμενε η AMD), άρα και στο single-core performance. Σίγουρα πάντως αποτελεί μια πολλά υποσχόμενη αρχιτεκτονική, η οποία με τις κατάλληλες βελτιώσεις στο μέλλον, ίσως και να δείξει την πραγματική της δύναμη.
Overclocking
Εδώ αρχίζουν να γλυκαίνουν κάπως τα πράγματα για τους Bulldozer αλλά και για τους επίδοξους αγοραστές τους. Πρόκειται για μια αρχιτεκτονική που έχει ήδη αποδείξει την αξία της σε ότι αφορά τον υπερχρονισμό αφού έσπασε με το “καλημέρα” το ρεκόρ των πάλαι ποτέ Cedar Mill, οι οποίοι για να είμαστε ειλικρινείς κρατούσαν το σκήπτρο εδω και αρκετά χρόνια και δεν διαφαινόταν στον ορίζοντα μια τέτοια ριζοσπαστική αλλαγή.
Και όμως, πλέον ο Bulldozer κατέχει την κορυφή. Μπορεί να πρόκειται για ένα διαλεγμένο binned κομμάτι αλλά ακόμα και το retail που είχαμε στην διάθεση μας για παρουσίαση τα πήγε περίφημα.
Όπως είδατε και στις προηγούμενες σελίδες, επιτύχαμε ενα αξιοσέβαστο 5.0GHz με αέρα στο οποίο φτάσαμε χωρίς καθόλου κόπο. Πραγματικά, πρόκειται για την πιο εύκολη πλατφόρμα σε overclock που έχουμε συναντήσει. Είναι πραγματικά σχολείο για τους επίδοξους overclockers καθώς συγχωρεί τυχόν παρατραβηγμένες επιλογές και λάθη. Αφ' ενός ο ξεκλείδωτος πολλαπλασιαστής που θα επιτρέψει και σε αυτούς που κατέχουν μια -οχι ιδιαίτερα καλή- μητρική και αφ' ετέρου το γεγονός οτι “ακούει” πολύ καλά το bus speed. Αυτό θα είναι και το κλειδί της επιτυχίας για αυτούς που έχουν καλές μητρικές, όπως η δική μας ASUS Crosshair V Formula. Σε αυτό το σημείο θα πρέπει να επισημάνουμε το γεγονός πως θα έχετε πλεονέκτημα ανεβάζοντας τον επεξεργαστή σας μέσω bus έναντι του multiplier. Ειναι καλύτερο λοιπόν να ψάξετε να βρείτε ποσο bus "σηκώνει" η μητρική σας, και αφού το βρείτε, τότε να δοκιμάσετε να ανεβάζετε multi μέχρι να πετύχετε το πιο σταθερό σας αποτέλεσμα. Τα σκόρ που βγάλαμε στα 250x20.0 ηταν σαφώς ανώτερα απο 200x25.0.
Στα 5.0GHz φτάσαμε πολύ εύκολα λοιπόν, απλά αλλάζοντας το Bus Speed και "τσιμπώντας" απλά λίγο ρεύμα στον επεξεργαστή. Απο εκεί και πέρα βέβαια, αρχίζουν και επεμβαίνουν οι φυσικοί νόμοι και οι περιορισμοί στο hardware, καθώς το μέγιστο overclock που πετύχαμε με αέρα μετά από -δυσανάλογα πολύ ψαξιμο- ήταν στα 5250MHz.
Και τα αποτελέσματα αυτά, δεν αφορούν μόνο το δικό μας κομμάτι, αφού και η ίδια η AMD είναι αρκετά αισιόδοξη για τις overclocked συχνότητες που μπορεί να φτάσει ο νέος της επεξεργαστής, όπως φαίνεται στον παρακάτω πίνακα:
Επίσης, το έυρος των τάσεων των FX επεξεργαστών, θα πρέπει να βρίσκονται εντός των ορίων που προτείνει η AMD και φαίνονται στον παρακάτω πίνακα:
Κλείνοντας το κεφάλαιο overclocking, σας δίνουμε ένα screenshot του CPU-Z από το μέγιστο o/c με αέρα και σας ευχόμαστε καλή επιτυχία!
Επίλογος
Τελικά οι Bulldozer είναι ένα επιτυχημένο κεφάλαιο για την AMD; Ή μήπως η πράσινη εταιρεία έκανε αυτό που λέει ο σοφός λαός “έβαλε τα χέρια της και έβγαλε τα μάτια της”;
Σίγουρα δεν ήρθε για να ταράξει τα νερά σύμφωνα με τις υποσχόμενες επιδόσεις που διαβάζαμε τόσο καιρό και σίγουρα δεν θα αποτελέσει απειλή για την Intel απο πλευράς επιδόσεων.
Προσωπική μας εκτίμηση ειναι πως πρέπει να αποστασιοποιηθούμε λίγο απο τις ταμπέλες που επιλέγει η κάθε εταιρεία για να κοσμήσει τους επεξεργαστές της και ας επικεντρωθούμε λίγο σε αυτό που μας ενδιαφέρει σαν καταναλωτές και end-users. Apples with apples οπως λένε και στην αντίπερα όχθη του Ατλαντικού ωκεανού, θα πρέπει να συγκρίνουμε τις επιδόσεις των επεξεργαστών σύμφωνα με αυτό που βγαίνει απο την τσέπη μας κατα την στιγμή της αγοράς. Σε αυτό λοιπόν το κεφάλαιο έμπαινε στη μέση η τιμολογιακή πολιτική που ακολουθούσε η AMD και έκανε τους επεξεργαστές της, ίσως το καλύτερο value for money που κυκλοφορεί στην αγορά. Το ίδιο ισχύει και για τους Bulldozer, καθώς ο κορυφαίος 8πύρηνος της κοστίζει περί τα €245 στην Ελληνική αγορά την στιγμή που ο κορυφαίος Sandybridge αγγίζει τα €300.
Σίγουρα θα παρατηρήσατε οτι τον συγκρίνουμε τιμολογιακά με τον i7 2600Κ και όχι με τον 2500Κ. Ο λόγος είναι ότι από πλευράς επιδόσεων σε πολυ-νηματικά προγράμματα όπως το Cinebench ή οποιοδήποτε σύγχρονο rendering & encoding, παύει να υφίσταται σύγκριση με τον 4 πυρηνο 2500Κ. Και εικάζουμε πως ένα μεγάλο ποσοστό απο τους αγοραστές των Bulldozer είναι τέτοιοι άθρωποι. Δυστυχώς όμως, θα θέλαμε να δούμε τον Bulldozer να χτυπάει, έστω και για λίγο, τον 2500Κ στα παιχνίδια, εκεί που “ανεκαθεν” στόχευε η AMD. Μην ξεχνάτε οτι ο ανταγωνισμός είναι μόνο καλό για εμάς τους καταναλωτές. Είναι αυτό που επέτρεψε να έχουμε πολυπύρηνους επεξεργαστές σε κόστος που δεν θα διανοούμασταν να αναλογιστούμε πριν μερικά χρόνια.
Πολλοί γκρίνιαξαν για τις μέτριες επιδόσεις και την αυξημένη τιμή του Bulldozer, και μπορούμε να πούμε πως δεν είχαν άδικο. Σε αυτό φταίει και η ίδια η AMD, καθώς μας είχε γεμίσει με φιλοδοξίες για έναν επεξεργαστή που θα ερχόταν για να σαρώσει τα πάντα. Φταίει και το marketing, που τον παρουσιάζει ως 8πύρηνο, κάτι που δεν είναι απόλυτα αληθές και γεννά προσδοκίες για επιδόσεις, που ποτέ δεν ήρθαν. Το πιο σωστό θα ήταν να λέμε ότι ο Bulldozer έχει 4 modules. Όσον αφορά την τιμή, θα μπορούσε να είναι λίγο χαμηλότερη, και πιστεύουμε ότι αργά η γρήγορα, και όταν θα υπάρξει ευρεία διαθεσιμότητα, θα προσαρμοστεί στα κατάλληλα επίπεδα για να έχει μια πολύ καλή απόδοση/τιμή. Βέβαια, δεν πρέπει να ξεχνάμε και το μικρότερο αδερφάκι, τον 8120, ο οποίος είναι ουσιαστικά ο ίδιος επεξεργαστής με τον 8150, αφού και αυτός ξεκλείδωτος είναι, και πολύ εύκολα μπορούμε να τον λειτουργήσουμε στη συχνότητα του 8150, γλυτώνοντας το έξτρα τίμημα των €40 που ζητάει η ναυαρχίδα της σειράς.
Κλείνοντας, πιστεύουμε πως η AMD έκανε ένα βημα εμπρός από τους Thuban, σε ένα πολύ τολμηρό εγχείρημα/πείραμα. Ακόμα και αν απογοητευτήκατε με τις επιδόσεις των Bulldozer, ένα ειναι σίγουρο: Ότι οι μηχανικοί της AMD επένδυσαν σε μια καινούρια αρχιτεκτονική η οποία μοιάζει πολλά υποσχόμενη αν μπαλώσει μερικές παιδικές ασθένειες και σίγουρα θα μας παρουσιάσει κάτι αξιόλογο στο μέλλον.
AMD FX review
26/10/2011
Σε αυτό το σημείο θέλουμε να ευχαριστήσουμε την AMD για την παραχώρηση της FX πλατφόρμας καθώς και τον papajim για την ευγενική χορηγία της P67 πλατφόρμας χωρίς την οποία δεν θα μπορούσαμε να έχουμε φέρει εις πέρας την παρουσίαση.
Recommended Comments
There are no comments to display.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now