Γιατί δεν έχουμε CPU 128-bit

Πήγαμε από 8-bit, σε 16-bit, σε 32-bit, και τελειώσαμε τα πράγματα στα 64-bit. Να γιατί δεν υπάρχουν CPU 128-bit.

Μεταξύ των λέξεων του λεξιλογίου του υπολογιστή, το bit είναι σίγουρα μία από τις πιο γνωστές. Ολόκληρες γενιές κονσολών βιντεοπαιχνιδιών και τα στυλ τέχνης τους με εικονοστοιχεία ορίζονται από bit (όπως 8-bit και 16-bit) και πολλές εφαρμογές προσφέρουν εκδόσεις 32-bit και 64-bit.

Αν κοιτάξετε αυτό το ιστορικό, μπορείτε να δείτε ότι η ικανότητά μας να χειριζόμαστε κομμάτια έχει αυξηθεί με τα χρόνια. Ωστόσο, ενώ τα τσιπ 64-bit εισήχθησαν για πρώτη φορά τη δεκαετία του '90 και έγιναν mainstream στη δεκαετία του 2000, εμείς εξακολουθούν να μην έχουν CPU 128-bit. Αν και το 128 μπορεί να φαίνεται σαν ένα φυσικό βήμα μετά τα 64, είναι οτιδήποτε αλλά.

Τι είναι ακόμα λίγο;

Πριν μιλήσουμε για το γιατί δεν υπάρχουν CPU 128-bit, πρέπει να μιλήσουμε για το τι είναι το bit even. Ουσιαστικά αναφέρεται στις δυνατότητες της CPU. Σχηματισμένο από τις λέξεις δυαδικό και ψηφίο, είναι η μικρότερη μονάδα στον υπολογιστή και το σημείο εκκίνησης όλου του προγραμματισμού. Ένα bit μπορεί να οριστεί μόνο ως 1 ή 0 (άρα δυαδικό), αν και αυτοί οι αριθμοί μπορούν να ερμηνευτούν ως αληθής ή ψευδής, ενεργοποιημένος ή απενεργοποιημένος, ακόμη και ως σύμβολο συν ή αρνητικό.

Από μόνο του, ένα μόνο bit δεν είναι πολύ χρήσιμο, αλλά η χρήση περισσότερων bit είναι μια διαφορετική ιστορία, επειδή ένας συνδυασμός μονάδων και μηδενικών μπορεί να οριστεί ως κάτι, όπως ένας αριθμός, ένα γράμμα ή ένας άλλος χαρακτήρας. Για υπολογισμούς 128 bit, μας ενδιαφέρουν απλώς οι ακέραιοι αριθμοί (αριθμοί που δεν έχουν υποδιαστολή) και όσο περισσότερα bit υπάρχουν, τόσο περισσότερους αριθμούς μπορεί να ορίσει ένας επεξεργαστής. Χρησιμοποιεί έναν αρκετά απλό τύπο 2^x, με το x να είναι πόσα bit υπάρχουν. Στους υπολογιστές 4-bit, ο μεγαλύτερος ακέραιος στον οποίο μπορείτε να μετρήσετε είναι το 15, που είναι ένα χαμηλότερο από το 16 που σας δίνει ο τύπος, αλλά οι προγραμματιστές αρχίζουν να μετρούν από το 0 και όχι από το 1.

Εάν το 4-bit μπορεί να αποθηκεύσει μόνο 16 διαφορετικούς ακέραιους αριθμούς, τότε μπορεί να μην φαίνεται ότι η μετάβαση στα 8- ή 32- ή ακόμα και τα 128-bit θα ήταν τόσο μεγάλη υπόθεση. Αλλά έχουμε να κάνουμε με εκθετικούς αριθμούς εδώ, που σημαίνει ότι τα πράγματα ξεκινούν αργά αλλά μετά απογειώνονται πολύ γρήγορα. Για να το αποδείξουμε αυτό, ακολουθεί ένας μικρός πίνακας που δείχνει τους μεγαλύτερους ακέραιους αριθμούς που μπορείτε να υπολογίσετε σε δυαδικό σύστημα από 1 έως 128 bit.

Κομμάτι

Μέγιστος Ακέραιος

1-bit

1

2-bit

3

4-bit

15

8-bit

255

16-bit

65,535

32-bit

4,294,967,295

64-bit

18,446,744,073,709,551,615

128-bit

340,282,366,920,938,463,463,374,607,431,768,211,455

Έτσι τώρα μπορείτε πιθανώς να δείτε γιατί ο διπλασιασμός του αριθμού των bit έχει ως αποτέλεσμα να μπορείτε να χειρίζεστε αριθμούς που δεν διπλασιάζονται απλώς σε μέγεθος, αλλά είναι τάξεις μεγέθους μεγαλύτεροι. Ωστόσο, παρόλο που ο υπολογισμός 128 bit θα μας επέτρεπε να εργαζόμαστε σε πολύ μεγαλύτερους αριθμούς από ό, τι ο υπολογισμός 64 bit, εξακολουθούμε να μην το χρησιμοποιούμε.

Πώς περάσαμε από το 1-bit στο 64-bit

Πηγή: AMD

Είναι αρκετά σαφές γιατί οι CPU έγιναν από 1-bit σε περισσότερα bit: Θέλαμε οι υπολογιστές μας να κάνουν περισσότερα πράγματα. Δεν υπάρχει ένας τόνος που μπορείτε να κάνετε με ένα ή δύο ή τέσσερα bit, αλλά στα 8 bit, μηχανές arcade, κονσόλες παιχνιδιών και οικιακούς υπολογιστές έγιναν εφικτές. Με την πάροδο του χρόνου, οι επεξεργαστές έγιναν φθηνότεροι και σωματικά μικρότεροι, οπότε η προσθήκη του απαραίτητου υλικού για την αύξηση του αριθμού των bits που μπορούσε να χειριστεί η CPU ήταν μια αρκετά φυσική κίνηση.

Η εκθετική φύση των bit γίνεται εμφανής πολύ γρήγορα όταν συγκρίνουμε κονσόλες 16 bit όπως το SNES και το Sega Genesis με τους προκατόχους τους 8 bit, κυρίως το NES. Super Mario Bros 3 ήταν ένα από τα πιο περίπλοκα παιχνίδια του NES όσον αφορά τη μηχανική και τα γραφικά, και ήταν εντελώς νανωμένο από Super Mario World, το οποίο κυκλοφόρησε μόλις δύο χρόνια αργότερα (αν και οι βελτιώσεις στην τεχνολογία GPU ήταν επίσης βασικός παράγοντας εδώ).

Εξακολουθούμε να μην έχουμε επεξεργαστές 128-bit, παρόλο που έχουν περάσει σχεδόν τρεις δεκαετίες από την κυκλοφορία των πρώτων τσιπ 64-bit στην αγορά.

Δεν είναι μόνο για βιντεοπαιχνίδια όμως. λίγο πολύ όλα γίνονταν καλύτερα με περισσότερα κομμάτια. Η μετάβαση από τους 256 αριθμούς στα 8 bit στους 65.356 αριθμούς στα 16 bit σήμαινε την ακριβέστερη παρακολούθηση του χρόνου, την εμφάνιση περισσότερων χρωμάτων στις οθόνες και τη διευθυνσιοδότηση μεγαλύτερων αρχείων. Είτε χρησιμοποιείτε τον Προσωπικό Υπολογιστή της IBM, που υποστηρίζεται από την CPU 8-bit 8088 της Intel, είτε δημιουργείτε έναν διακομιστή για μια εταιρεία που είναι έτοιμη να συνδεθεί στο διαδίκτυο, περισσότερα bits είναι απλά καλύτερα.

Ο κλάδος μεταπήδησε αρκετά γρήγορα από τα 16-bit στα 32-bit και, τέλος, στους υπολογιστές 64-bit, που έγινε mainstream στα τέλη της δεκαετίας του '90 και στις αρχές της δεκαετίας του 2000. Μερικές από τις πιο σημαντικές πρώιμες CPU 64-bit βρέθηκαν στο Nintendo 64 και σε υπολογιστές που τροφοδοτούνται από το Athlon 64 και το Opteron της AMD CPU. Από την πλευρά του λογισμικού, τα 64-bit άρχισαν να λαμβάνουν mainstream υποστήριξη από λειτουργικά συστήματα όπως το Linux και τα Windows από νωρίς δεκαετία του 2000. Ωστόσο, δεν ήταν επιτυχείς όλες οι προσπάθειες υπολογισμού 64-bit. Οι επεξεργαστές διακομιστή Itanium της Intel ήταν μια αποτυχία υψηλού προφίλ και είναι μερικοί από τους χειρότερους επεξεργαστές της εταιρείας.

Σήμερα, οι επεξεργαστές 64-bit βρίσκονται παντού, από smartphone μέχρι υπολογιστές και διακομιστές. Τα τσιπ με λιγότερα bit εξακολουθούν να κατασκευάζονται και μπορεί να είναι επιθυμητά για συγκεκριμένες εφαρμογές που δεν χειρίζονται μεγαλύτερους αριθμούς, αλλά είναι αρκετά εξειδικευμένες. Ωστόσο, εξακολουθούμε να μην έχουμε επεξεργαστές 128-bit, παρόλο που έχουν περάσει σχεδόν τρεις δεκαετίες από τότε που κυκλοφόρησαν στην αγορά τα πρώτα τσιπ 64-bit.

Ο υπολογισμός 128 bit αναζητά ένα πρόβλημα προς επίλυση

Μπορεί να πιστεύετε ότι τα 128-bit δεν είναι βιώσιμα επειδή είναι δύσκολο ή ακόμα και αδύνατο να γίνει, αλλά στην πραγματικότητα αυτό δεν ισχύει. Πολλά εξαρτήματα σε επεξεργαστές, CPU και άλλα, είναι 128-bit ή μεγαλύτερα, όπως οι δίαυλοι μνήμης σε GPU και SIMD σε CPU που επιτρέπουν οδηγίες AVX. Μιλάμε συγκεκριμένα για τη δυνατότητα χειρισμού ακέραιων αριθμών 128 bit, και παρόλο που έχουν δημιουργηθεί πρωτότυπα CPU 128 bit σε ερευνητικά εργαστήρια, καμία εταιρεία δεν έχει κυκλοφορήσει στην πραγματικότητα μια CPU 128 bit. Η απάντηση μπορεί να είναι αντικλιμακωτική: μια CPU 128-bit απλά δεν είναι πολύ χρήσιμη.

Μια CPU 64-bit μπορεί να χειριστεί πάνω από 18 πεντοσεκατομμύρια μοναδικούς αριθμούς, από 0 έως 18.446.744.073.709.551.615. Αντίθετα, μια CPU 128-bit θα μπορούσε να χειριστεί πάνω από 340 undecillion αριθμούς, και σας εγγυώμαι ότι δεν έχετε δει ποτέ "undecillion" σε ολόκληρη τη ζωή σας. Η εύρεση μιας χρήσης για τον υπολογισμό αριθμών με τόσα μηδενικά είναι αρκετά δύσκολη, ακόμα κι αν χρησιμοποιείτε έναν από τους τα bit για την υπογραφή του ακέραιου αριθμού, που θα έχει το εύρος του από αρνητικό 170 undecillion έως θετικό 170 αναποφασιστικότητα.

Οι μόνες σημαντικές περιπτώσεις χρήσης για ακέραιους αριθμούς 128 bit είναι οι διευθύνσεις IPv6, καθολικά μοναδικά αναγνωριστικά (ή UUID) που χρησιμοποιούνται για τη δημιουργία μοναδικών αναγνωριστικών για τους χρήστες (Minecraft είναι μια περίπτωση χρήσης υψηλού προφίλ για UUID) και συστήματα αρχείων όπως το ZFS. Το θέμα είναι ότι οι επεξεργαστές 128-bit δεν είναι απαραίτητοι για να χειριστούν αυτές τις εργασίες, οι οποίες μπόρεσαν να υπάρχουν μια χαρά σε υλικό 64-bit. Τελικά, ο βασικός λόγος για τον οποίο δεν έχουμε CPU 128-bit είναι ότι δεν υπάρχει ζήτηση για ένα οικοσύστημα υλικού-λογισμικού 128-bit. Η βιομηχανία θα μπορούσε σίγουρα να τα καταφέρει αν ήθελε, αλλά απλά δεν το κάνει.

Η πόρτα είναι ελαφρώς ανοιχτή για 128-bit

Πηγή: Siemens

Αν και οι CPU 128-bit δεν είναι κάτι σήμερα, και φαίνεται ότι καμία εταιρεία δεν θα κυκλοφορήσει μια τέτοια σύντομα, δεν θα έφτανα τόσο μακριά ώστε να πω ότι οι CPU 128-bit δεν θα συμβούν ποτέ. Οι προδιαγραφές για το RISC-V ISA αφήνει τη δυνατότητα ενός μελλοντικού 128-bit αρχιτεκτονική στο τραπέζι, αλλά δεν αναφέρει λεπτομερώς τι θα ήταν στην πραγματικότητα, πιθανώς επειδή απλώς δεν υπήρχε επιτακτική ανάγκη να το σχεδιάσουμε.

Τριακόσια σαράντα undecillion, ο μεγαλύτερος αριθμός που μπορεί να δημιουργηθεί με 128 bit, επίσης δεν είναι τόσο πολύ καθώς υπάρχουν άτομα στο σύμπαν, που θεωρείται ότι είναι ο μεγαλύτερος αριθμός που έχει οποιονδήποτε πραγματικό κόσμο σημασία. Αν θελήσατε ποτέ να προσομοιώσετε ένα καλό κομμάτι του σύμπαντος μέχρι το ατομικό επίπεδο, τότε ίσως μια CPU 128-bit θα ήταν πραγματικά χρήσιμη για αυτό. Πέρα από αυτό, είναι δύσκολο να πούμε σε τι θα χρησιμοποιηθεί μια CPU 128-bit, αλλά πριν από πολλά χρόνια αναρωτιόμασταν επίσης για τι θα μπορούσατε να θέλετε ένα terabyte RAM.