Ο μικροκώδικας i386 έχει αποσυναρμολογηθεί και έχει δημιουργηθεί μια CPU z386 ανοιχτού κώδικα.

Οι ενθουσιώδεις χρήστες κατάφεραν να εξαγάγουν και να αποσυναρμολογήσουν με επιτυχία τον μικροκώδικα ενός επεξεργαστή Intel 80386, ο οποίος θεωρήθηκε «μαύρο κουτί» λόγω έλλειψης τεκμηρίωσης. Μια δυαδική εικόνα του μικροκώδικα αναδημιουργήθηκε χρησιμοποιώντας τεχνητή νοημοσύνη από φωτογραφίες υψηλής ανάλυσης της μήτρας και η λογική αποκρυπτογραφήθηκε χρησιμοποιώντας καλωδίωση επί της μήτρας. Η δομή των μικρο-λειτουργιών, τα πεδία, η σειρά εκτέλεσης και οι δείκτες τέλους εντολής προσδιορίστηκαν σταδιακά. Τα ευρήματα του έργου δημοσιεύονται στο GitHub ως δημόσια χρήση.

Ο μικροκώδικας i386 έχει αποσυναρμολογηθεί και έχει δημιουργηθεί μια CPU z386 ανοιχτού κώδικα.

Ανακαλύφθηκε ότι στην CPU του 80386, κάθε εντολή εκτελείται εξ ολοκλήρου μέσω μικροκώδικα, ενώ στον 8086 και στους σύγχρονους επεξεργαστές, ορισμένες εντολές υποβάλλονται σε απευθείας επεξεργασία. Επιπλέον, σε αντίθεση με τους επεξεργαστές 8086, ο μικροκώδικας στον 80386 δεν υλοποιεί απευθείας αλγόριθμους, αλλά κυρίως διαμορφώνει επιταχυντές υλικού (πολλαπλασιαστής, διαιρέτης, γρήγορος μετατοπιστής, PTU (Μονάδα Δοκιμής Προστασίας)).

Η μελέτη αποκάλυψε επίσης ένα πιθανό ζήτημα ασφάλειας στον χειρισμό του bitmap δικαιωμάτων εισόδου/εξόδου: κατά την πρόσβαση σε θύρες 4 byte, ελέγχονταν μόνο τα bit δικαιωμάτων για τα πρώτα 3 byte και η πρόσβαση στο 4ο byte δεν ελέγχονταν, κάτι που θεωρητικά επέτρεπε την πρόσβαση σε καταχωρητές υλικού που δεν θα έπρεπε να είναι προσβάσιμοι.

Με βάση δημοσιευμένο μικροκώδικα, αναπτύχθηκε μια CPU z386 ανοιχτού κώδικα, η οποία υλοποιήθηκε στο SystemVerilog και εκτελείται σε FPGA. Αντί να υλοποιεί κάθε εντολή ως ξεχωριστό RTL (Register-Transfer Layer), η z386 υλοποιεί δομές υλικού που ελέγχονται από τον αρχικό μικροκώδικα. Η απόδοση της προκύπτουσας υλοποίησης ταιριάζει με αυτήν ενός γρήγορου υπολογιστή 386 (~70 MHz). Η z386 έτρεξε με επιτυχία DOS 6/7, DOS/4GW, DOS/32A και παιχνίδια όπως το Doom και το Cannon Fodder.

Πηγή: opennet.ru

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster