Πολλά πράγματα μπορούν να πάνε στραβά στο BC, εξού και η ανάγκη patching, ειδικά αν μιλάμε για low-level προγραμματισμό.
Μπορεί ναι μεν ένα παιχνίδι να τρέχει unpatched, αλλά να παρουσιάζει visual glitches. Θα ήταν αποδεκτό κάτι τέτοιο; Δεν νομίζω.
Εδώ να σημειώσω ότι η ISA (Instruction Set Architecture, αυτό που λέμε αρχιτεκτονική και σετ εντολών) της RDNA2 GPU είναι η GCN. Αυτό το λέω γιατί κυκλοφορεί συχνά ως παρανόηση στο διαδίκτυο (δεν μιλάω για εδώ μέσα προς αποφυγήν παρεξηγήσεων).
Μα θα πει κάποιος δεν είναι GCN! Και όμως, GCN είναι (δεν έχει αλλάξει η αρχιτεκτονική), ειδάλλως δεν θα είχαμε καν BC. Εντελώς διαφορετική αρχιτεκτονική = bye-bye BC (μιλάω για native execution, όχι emulation).
Η RDNA/Navi είναι -για να το πω απλοϊκά- GCN με tiled rasterizer (που ανεβάζει το efficiency και ρίχνει την κατανάλωση). Έχω ξαναγράψει σε άλλο post τι είναι το tiling και πως δουλεύει (σπάσιμο της εικόνας/framebuffer σε κουτάκια για πιο efficient επεξεργασία γραφικών).
Για να μην υπάρχει καμία παράνοηση λοιπόν:
GCN = η GPU ISA
Polaris/RDNA = uarch (μικροαρχιτεκτονική)
Το να πει κάποιος δεν είναι GCN ISA η RDNA2 uarch, είναι σαν να πει κάποιος το εξής παράλογο: ότι η Zen 2 CPU δεν είναι x86-64!
x86-64 = η CPU ISA
Jaguar/Zen 2 = η μικροαρχιτεκτονική
Τι είναι η μικροαρχιτεκτονική; Είναι η εκάστοτε υλοποίηση της αρχιτεκτονικής.
Η αρχιτεκτονική είναι μια (αλλάζει πολύ σπάνια), αλλά οι μικροαρχιτεκτονικές πολλές και διάφορες (κάποιες καλές, κάποιες μέτριες, κάποιες κακές).
Όσο πιο νεότερη είναι μια μικροαρχιτεκτονική, τόσο πιο efficient είναι (συνήθως δηλαδή, σπανίως θα υπάρξει efficiency regression).
Ο λόγος που δεν αλλάζει η αρχιτεκτονική/ISA είναι λόγω BC requirements. Τέλειο BC όμως δεν υπάρχει πουθενά (ούτε καν σε PC, ασχέτως του τι ακούτε).
Bookmarks