ARM και άλλες αρχιτεκτονικές

Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

lucinos

Death Knight
Joined
Nov 16, 2015
Messages
3,289
δεν έβρισκα κάποιο κατάλληλο θέμα



Το «κόλπο» με το box86/box64 είναι ότι ναι μεν κάνει εξομοίωση για τον επεξεργαστή και εκεί σίγουρα υποφέρει αλλά όπου υπάρχει κλήση βιβλιοθήκης και υπάρχει ARM έκδοση, δεν έχει σημασία και φαίνεται αρκετά μεγάλο μέρος τής δουλειάς γίνεται από τέτοιες βιβλιοθήκες ώστε να έχει αρκετά καλό αποτέλεσμα.
 
Ενδιαφέρον! Επειδή δεν το κατέχω καθόλου το θέμα, υπάρχουν ομοιότητες στον τρόπο λειτουργίας με το Vulkan;
 
Ενδιαφέρον! Επειδή δεν το κατέχω καθόλου το θέμα, υπάρχουν ομοιότητες στον τρόπο λειτουργίας με το Vulkan;
Είναι εντελώς διαφορετικά πράγματα.

Το box86 είναι εξομοιωτής για να τρέχουν x86 εφαρμογές σε ARM (αλλά δεν χρειάζεται να εξομοιώσει τα πάντα)

To Vulkan είναι API που χρησιμοποιούν οι εφαρμογές για να χρησιμοποιούν την κάρτα γραφικών. Πχ το DOOM χρησιμοποιεί Vulkan αντί για DirectX. Δηλαδή μια εφαρμογή δεν χρειάζεται να ξέρει με ποια κάρτα γραφικών έχει να κάνει, μπορεί να δίνει εντολές Vulkan και ο driver τής κάρτας γραφικών να δίνει τις ανάλογες εντολές. Το πλεονέκτημα τού Vulkan είναι ότι είναι πολύ πιο κοντά στις πραγματικές λειτουργίες τής GPU σε σχέση με παλιότερα API (DirextX11, OpenGL). Όλες οι σύγχρονες κάρτες γραφικών υποστηρίζουν Vulkan, και αυτές που έχουν οι ARM συσκευές.

Εκτός από επιμέρους τεχνικές διαφορές η ουσιαστική διαφορά μεταξύ OpenGL/Vulkan και DirectX είναι ότι το OpenGL και το Vulkan το σχεδιάζει η Khronos Group (που συμμετέχουν σε μικρότερο ή μεγαλύτερο βαθμό πολλές εταιρείες ενώ το DirectX το σχεδίαζει η Microsoft.

Μια εφαρμογή που τρέχει μέσω box86 για να χρησιμοποιεί την κάρτα γραφικών, χρησιμοποιεί κάποιο API που μπορεί κάλλιστα να είναι το Vulkan (ή οποιοδήποτε άλλο). Οι εντολές αυτές είναι εντολές για την κάρτα γραφικών, δεν είναι κώδικας μηχανής για τον x86 επεξεργαστή, δηλαδή δεν είναι κάτι που χρειάζεται εξομοίωση!
 
Last edited:
Ωραιο θεματακι!

Μια που δεν εχω πολυασχοληθει με ARM, η και γενικοτερα με αρχιτεκτονικες σχεδιασης επεξεργαστων περα απο τα βασικα που διδαχθηκαμε στη σχολη, με αφορμη το σχολιο του @nitro912gr εψαξα λιγο να δω τι παιζει και ειπα να τα μοιραστω για μεταλαμπαδευση γνωσης/επιβεβαιωση/επικαιροποιηση (καθως οι πηγες που βρηκα και τα εξηγουν ειναι παλιες, πολυ παλιες -μερικες και 11 χρονια πισω!- ) οποτε αν εχετε κατι χρησιμοτερο ριξτε το!

βασικες λειτουργιες επεξεργαστων:






διαφορες αρχιτεκτονικης x86 και ARM σε απλο High Level explanation:



παρουσιαση του ARM με αφορμη την Apple ARM M1:

 
Είναι εντελώς διαφορετικά πράγματα.

Το box86 είναι εξομοιωτής για να τρέχουν x86 εφαρμογές σε ARM (αλλά δεν χρειάζεται να εξομοιώσει τα πάντα)

To Vulkan είναι API που χρησιμοποιούν οι εφαρμογές για να χρησιμοποιούν την κάρτα γραφικών. Πχ το DOOM χρησιμοποιεί Vulkan αντί για DirectX. Δηλαδή μια εφαρμογή δεν χρειάζεται να ξέρει με ποια κάρτα γραφικών έχει να κάνει, μπορεί να δίνει εντολές Vulkan και ο driver τής κάρτας γραφικών να δίνει τις ανάλογες εντολές. Το πλεονέκτημα τού Vulkan είναι ότι είναι πολύ πιο κοντά στις πραγματικές λειτουργίες τής GPU σε σχέση με παλιότερα API (DirextX11, OpenGL). Όλες οι σύγχρονες κάρτες γραφικών υποστηρίζουν Vulkan, και αυτές που έχουν οι ARM συσκευές.

Εκτός από επιμέρους τεχνικές διαφορές η ουσιαστική διαφορά μεταξύ OpenGL/Vulkan και DirectX είναι ότι το OpenGL και το Vulkan το σχεδιάζει η Khronos Group (που συμμετέχουν σε μικρότερο ή μεγαλύτερο βαθμό πολλές εταιρείες ενώ το DirectX το σχεδίαζει η Microsoft.

Μια εφαρμογή που τρέχει μέσω box86 για να χρησιμοποιεί την κάρτα γραφικών, χρησιμοποιεί κάποιο API που μπορεί κάλλιστα να είναι το Vulkan (ή οποιοδήποτε άλλο). Οι εντολές αυτές είναι εντολές για την κάρτα γραφικών, δεν είναι κώδικας μηχανής για τον x86 επεξεργαστή, δηλαδή δεν είναι κάτι που χρειάζεται εξομοίωση!

Εκ παραδρομής έγραψα Vulkan αντί για Proton, συγγνώμη. Το box86 έχει ομοιότητες με το Proton?
 
Είχα γράψει 2 λόγια κάποτε, παλιά πολύ παλιά https://ragequit.gr/editorials/item/the-end-of-x86-era/

Γενικά φαίνεται ότι έχει πάρει μεγάλη φόρα η φάση με την επιστροφή στους RISC επεξεργαστές όπως οι ARM, παρακολουθώ με ενδιαφέρον και τους risc-V που πέφτει αρκετό χρήμα τελευταία.
 
Εκ παραδρομής έγραψα Vulkan αντί για Proton, συγγνώμη. Το box86 έχει ομοιότητες με το Proton?
Κάνουν διαφορετικά πράγματα, το box86 μεταφράζει x86 κώδικα μηχανής (είναι για την ίδια την CPU) και δεν ασχολείται με το λειτουργικό,, το Proton/wine μεταφράζει τα API για το λειτουργικό ενώ τον κώδικα μηχανής τον χρησιμοποιεί ως έχει.

Το DOOM 2016 που τρέχει στο βίντεο λογικά χρησιμοποιεί και τα δύο αφού δεν έχει ιθαγενή έκδοση λίνουξ. Τα περισσότερα άλλα παιχνίδια στο βίντεο τρέχουν την ιθαγενή έκδοση λίνουξ άρα χρειάζονται μόνο το box86. Υποθέτω για τα παιχνίδια που χρειάζονται και τα δύο κάποιος ίσως κατάφερνε να κάνει καλύτερες βελτιστοποιήσεις φτιάχνοντας μια ειδική έκδοση proton που να κάνει και την μετάφραση για ARM.
 
Κατάλαβα, ευχαριστώ!
 
Shieeeet. Μπήκα σε ετούτο το θρεντ και μου έσκασαν αναμνήσεις από Ασεμπλι και Αρχιτεκτονική Υπολογιστών

:frak:
 
Κατάλαβα, ευχαριστώ!
Υπάρχει πάντως μια «ομοιότητα», ότι και τα δυο δεν κάνουν αυτό που κάνουν συνήθως οι εξομοιωτές δημιουργόντας ένα πλήρες εικονικό σύστημα, αλλά τρέχουν τα προγράμματα σαν «ιθαγενή».

Σε αυτό το proton έχει πολύ περισσότερα πράγματα να φτιάξει γιατί πρέπει να δημιουργήσει ανεξάρτητες υλοποιήσεις για κάθε τι που απαιτεί μια windows εφαρμογή αλλά όλο αυτό είναι software οπότε δεν υπάρχει θεμελιώδης λόγος να υστερεί. Το box86 από την άλλη πρέπει να εξομοιώσει τον x86 επεξεργαστή, αυτό είναι hardware οπότε αναγκαστκά πρέπει να κάνει εξομοίωση, αλλά η ιδέα είναι ότι κάνει μόνο αυτό και τις άλλες κλήσεις τις τρέχει με ιθαγενής ARM βιβλιοθήκες, οπότε όσο μπορεί τρέχει τις εφαρμογές ιθαγενώς.
 
Το box86 από την άλλη πρέπει να εξομοιώσει τον x86 επεξεργαστή, αυτό είναι hardware οπότε αναγκαστκά πρέπει να κάνει εξομοίωση, αλλά η ιδέα είναι ότι κάνει μόνο αυτό και τις άλλες κλήσεις τις τρέχει με ιθαγενής ARM βιβλιοθήκες, οπότε όσο μπορεί τρέχει τις εφαρμογές ιθαγενώς.

Η αργοπορημένη εκδίκηση της Acorn και του Αρχιμήδη!!!!!!!!!
 
Το ψιλοσκέφτομαι να πάρω ένα Pi 400!!!
Πιστεύω ότι είναι πάρα πολύ καλή ιδέα για παιδί. Πχ εγώ θα σκεφτόμουν να δώσω στο παιδί ένα Pi400 δικό του, να υπάρχει ένας κοινός κανονικός υπολογιστής ενώ ένα steam deck θα το έπαιρνα για μένα.

Δεν ξέρω εσύ τι σκέφτεσαι να κάνεις με το Pi 400. (να το κάνεις amiga ίσως;)
 
Πιστεύω ότι είναι πάρα πολύ καλή ιδέα για παιδί. Πχ εγώ θα σκεφτόμουν να δώσω στο παιδί ένα Pi400 δικό του, να υπάρχει ένας κοινός κανονικός υπολογιστής ενώ ένα steam deck θα το έπαιρνα για μένα.

Δεν ξέρω εσύ τι σκέφτεσαι να κάνεις με το Pi 400. (να το κάνεις amiga ίσως;)

Και RISC OS!!!
 

o_O


1696328571015.png

Βιντεο με τη παρουσιαση του

 
Για λίγο φοβήθηκα ότι μετά το link θα έβαζες και quotes με κινέζικα.
 
Back
Top