Σχέδια πυρήνων RISC-V ανοιχτού κώδικα, γιατί η Google νοιάζεται και γιατί έχουν σημασία

Το RISC-V είναι ένα δωρεάν και ανοιχτού κώδικα πρότυπο αρχιτεκτονικής συνόλων εντολών (ISA) για Systems-on-a-Chip (SoCs).

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

Το πώς γίνονται αυτές οι λειτουργίες δεν είναι τυχαίο: ένα Instruction Set Architecture (ISA) ορίζει τι είναι και τι υποτίθεται ότι πρέπει να κάνουν οι επεξεργαστές υπολογιστών.

Ένα ISA ορίζει υποστηριζόμενες οδηγίες και δυνατότητες, αλλά όχι τον τρόπο με τον οποίο εκτελούνται συγκεκριμένα αυτές οι οδηγίες. Σκεφτείτε το σαν μια συνταγή μαγειρικής -- ας πούμε ότι είναι για κουλούρια: ενώ η συνταγή είναι η ίδια, κάθε σεφ θα την κάνει διαφορετικά, τακτοποιώντας διαφορετικά το σουσάμι για παράδειγμα. Ο σεφ που μαγειρεύει με βάση τη συνταγή είναι, στο παράδειγμά μας, ο επεξεργαστής υπολογιστή που εκτελεί τις οδηγίες σύμφωνα με το καθορισμένο ISA. Το αποτέλεσμα όμως θα είναι πάντα το ίδιο στη θεωρία: ένα νόστιμο κουλούρι.

Λογότυπο ARMΈνα διαφορετικό σετ οδηγιών μπορεί να μην ορίζει απευθείας το βραστό νερό, αλλά σας επιτρέπει να κάνετε ορισμένες λειτουργίες σε αντικείμενα: θερμότητα, μέτρηση και σύγκριση. Ένας σεφ θα πρέπει τώρα να ζεστάνει το νερό και να συγκρίνει τη μετρούμενη θερμοκρασία του με τη γνωστή θερμοκρασία βρασμού. Υπάρχουν δύο κύριοι τύποι αρχιτεκτονικής για επεξεργαστές: Complex Instruction Set Computing (CISC) και Reduced Instruction Set Computing (RISC).

Με απλά λόγια, ο στόχος της CISC είναι να κάνει τα πράγματα ευκολότερα για τους προγραμματιστές (προσφέροντας μια οδηγία για το βράσιμο του νερού, μια άλλη για τη θέρμανση λαδιού κ.λπ.) με κόστος μεγαλύτερου επεξεργαστές, ενώ το RISC προσπαθεί να έχει ένα απλούστερο σύνολο εντολών, απαιτώντας περισσότερη προσπάθεια από τους προγραμματιστές, αλλά με αποτέλεσμα μικρότερους επεξεργαστές και λιγότερη ισχύ κατανάλωση. Επειδή οι δύο αρχιτεκτονικές έχουν διαφορετικές δυνατότητες, ένα πρόγραμμα που εκτελείται στη μία πρέπει συνήθως να ξαναγραφτεί για να εκτελεστεί στην άλλη. Μία από τις πιο δημοφιλείς αρχιτεκτονικές σήμερα στα smartphone είναι μέρος της οικογένειας RISC: ARM, που σημαίνει Acorn RISC Machine.

Αξίζει να σημειωθεί ότι αυτό ισχύει κυρίως για μεταγλωττιστές προγραμματισμού/μεταφοράς. Για άλλους σκοπούς, όπως η δημιουργία ενός προγράμματος χρήστη, θα χρησιμοποιούσατε συνήθως μια γλώσσα υψηλού επιπέδου που είναι κάπως συγκρίσιμη με την CISC σε επίπεδο λογισμικού. Μια άλλη σημαντική σημείωση είναι ότι αυτή η σύγκριση έχει στόχο να σας δώσει μια απλή αλλά διαισθητική κατανόηση αυτών των εννοιών. Μια ακριβής, σε βάθος εξήγηση θα ήταν πολύ μεγαλύτερη και πιο τεχνική.

Αυτό μας φέρνει τελικά στο RISC-V (προφέρεται "ρίσκο πέντε"), το οποίο είναι ένα δωρεάν και ανοιχτού κώδικα ISA για SoC (Systems-on-a-Chip, το οποίο βασικά συσκευάζει την CPU και άλλα απαραίτητα στοιχεία για την εκτέλεση ενός συστήματος μαζί). Οι περισσότεροι άλλοι ISA, όπως αυτοί της Intel, της IBM ή της ARM είναι ιδιόκτητοι και δεν μπορούν να χρησιμοποιηθούν από άλλους χωρίς άδειες (για τις οποίες μπορεί να χρειαστούν έως και μερικά χρόνια για τη διαπραγμάτευση). Από την άλλη πλευρά, το RISC-V μπορεί να χρησιμοποιηθεί, να υλοποιηθεί και να παραχθεί από οποιονδήποτε, δωρεάν, με τη μόνη πραγματική προϋπόθεση να αναγνωρίζουμε τους δημιουργούς του RISC-V.

Αυτό επιτρέπει σε ανεξάρτητους ερευνητές και προγραμματιστές να εφαρμόσουν τους δικούς τους επεξεργαστές ή να τροποποιήσουν εφαρμογές ανοιχτού κώδικα RISC-V, κάτι που δεν είναι δυνατό με μια άδεια ARM για παράδειγμα (απαιτείται ξεχωριστή άδεια για αυτό, που περίπου 15 μεγάλες εταιρείες έχω). Ταυτόχρονα, το ISA μπορεί επίσης να επεκταθεί και να τροποποιηθεί από εταιρείες χωρίς να απελευθερωθεί ο πηγαίος κώδικας, με τρόπο παρόμοιο με το Android. Η απουσία τελών αδειοδότησης σημαίνει επίσης φθηνότερους επεξεργαστές, αν και αυτό δεν θα μειώσει πολύ τις τιμές των smartphone στην πράξη ακόμη και αν Το RISC-V χρησιμοποιείται ευρέως μακροπρόθεσμα: τα δικαιώματα στα SoC απλά δεν αποτελούν τεράστιο μέρος του κόστους ενός smartphone (Qualcomm παίρνει 2.5—5% της τιμής πώλησης ως δικαιώματα, για παράδειγμα).

Το RISC-V δεν είναι το πρώτο δωρεάν ISA, καθώς υπάρχουν και άλλα. Το πιο δημοφιλές και πιο ενεργά αναπτυγμένο από τα άλλα είναι OpenRISC, που ξεκίνησε το 2000 και κυκλοφορεί υπό την GNU GPL. Αγνοώντας άλλες διαφορές, η επιτρεπτή άδεια του RISC-V καθιστά πιο εύλογη την υιοθέτησή του από μεγαλύτερες εταιρείες και κάνει τη διαφορά. Για παράδειγμα, η Google, η Hewlett-Packard Enterprise (HPE) και η Oracle είναι τρεις μεγαλύτερες εταιρείες που έχουν προσχώρησαν πρόσφατα η ομάδα εργασίας προτύπων RISC-V, δείχνοντας ουσιαστικά το ενδιαφέρον τους για το RISC-V ως ανοιχτό πρότυπο. Εφόσον όλες οι υλοποιήσεις συμμορφώνονται με τις προδιαγραφές ("συμβατό με RISC-V"), οι πελάτες θα εξακολουθούν να μπορούν να χρησιμοποιούν ένα οικοσύστημα ή ένα άλλο (π.χ. GNU/Linux) στη θεωρία, ενώ οι εταιρείες θα είχαν ένα κίνητρο να το κάνουν για να αποφύγουν να γράψουν ή να μεταφέρουν τα συστήματά τους από γρατσουνιά. Ταυτόχρονα, το RISC-V κερδίζει έλξη σημαίνει ότι οι μικρότερες εταιρείες μπορούν πραγματικά να υποστηρίξουν την κοινότητα ανοιχτού κώδικα, ενώ έχουν ακόμα ένα ευέλικτο σύστημα (μια τέτοια εταιρεία που ενδιαφέρεται για το RISC-V είναι lowRISC).

Μένει να δούμε αν το RISC-V μπορεί να επιφέρει πραγματικές βελτιώσεις ή όχι για πελάτες που μπορεί να ενδιαφέρονται να έχουν ανοιχτά συστήματα ή να εκτελούν οποιοδήποτε υποστηριζόμενο λειτουργικό σύστημα σε συμβατά SoC. Ταυτόχρονα, υπάρχουν και άλλες πιθανές ανησυχίες εκτός από την πρόσφυση του RISC-V: ενώ η επιτρεπτή άδεια έρχεται με ορισμένα πλεονεκτήματα, θα μπορούσε επίσης να επιτρέψει στους γίγαντες να Χρησιμοποιήστε το Στρατηγική Αγκαλιάστε, Επεκτείνετε και Εξαφανίστε (το οποίο είναι αναμφισβήτητα η περίπτωση όταν πρόκειται για το Android/AOSP και τις υπηρεσίες της Google ή ακόμα και Android Wear) -- αν και κάποιος θα μπορούσε να υποστηρίξει ότι θα ήταν ακόμα καλύτερο από την τρέχουσα κατάσταση. Θα μπορούσε ακόμη και να γίνει μια σύγκριση μεταξύ αυτού και της σκηνής του Android σήμερα, με διάφορους ΚΑΕ να προσπαθούν να διαφοροποιήσουν τα δέρματά τους για να κερδίσουν περισσότερους χρήστες και προσαρμοσμένες κοινότητες ROM που επιμένουν για ισχύ χρήστες.

Επισκέψου το Ιστοσελίδα RISC-V εάν θέλετε να μάθετε περισσότερα για την ιστορία και τους στόχους του έργου ή ακόμα και δοκιμάστε μόνοι σας μια υλοποίηση RISC-V.