Γιατί δεν υπάρχουν διαφορετικές εκδόσεις kernel για Επεξεργασές AMD και διαφορετικοί για Intel;

Καλησπέρα,
Συνήθως όταν έχεις άλλη αρχιτεκτονική Επεξεργαστή πρέπει να κάνεις μεταγλώττιση τον πυρήνα του GNU/Linux ή του οποιοδήποτε πυρήνα λειτουργικού συστήματος για την εν λόγο αρχιτεκτονική, πχ. άλλη έκδοση του Kernel για Arm και άλλη για Intel.

Όμως αυτό γιατί δεν συμβαίνει μεταξύ επεξεργαστών Intel και AMD;

Οι επεξεργαστές είναι Intel και amd είναι της ιδιας αρχιτεκτονικής, x86 ή x64.

1 Like

Για την ακρίβεια έχουν το ίδιο Instruction set architecture (ISA). Η αρχιτεκτονική που το υλοποιεί μπορεί να είναι, και είναι διαφορετική.

Το επίπεδο ISA είναι το χαμηλότερο επίπεδο που μπορεί να δει το λειτουργικό (κάτω απο αυτό υπάρχει μικρο κώδικάς και μια κρυμμένη αρχιτεκτονική RISC) που δεν μπορεί να δει το λειτουργικό.

Το δεύτερο που σε ενδιαφέρει σαν προγραμματιστή είναι το application binary interface (ABI) ένα σύνολο από συμβάσεις για το πως χρησιμοποιείς το ISA του επεξεργαστή. Για Intel/amd έχουμε ένα ντε φάκτο στάνταρ που ακολουθείς. Στον κόσμο του UNIX έχουμε το Intel Binary Compatibility Standard iBCS καθώς και τις κοινές συμβάσεις που χρησιμοποιούν οι μεταγλωττιστές.

Στον κόσμο του arm τα πράγματα είναι ποιο πολύπλοκα καθώς υπάρχουν τουλάχιστον 2 abi.

3 Likes

Άρα ένα μεταγλωττισμένο αρχείο για intel και AMD επεξεργαστές θα έχουν τα ίδια OPCodes (μεταφρασμένη εντολή Assembly) σωστά;

Ακόμη οι Intel επεξεργαστές δεν έχουν αρχιτεκτονική CISC; Από όσο γνωρίζω η Assembly των επεξεργαστών αυτών είναι Χαοτική.

Τα OPcodes είναι βασικό κομμάτι του τι είναι μια ISA αρχιτεκτονική, άρα ναι, ή assembly είναι ίδια, τουλάχιστον όσο χρησιμοποιείς τις ίδιες επεκτάσεις .

Η συζήτηση μεταξύ RISC/CISC επεξεργαστών ήταν μια ακαδημαϊκή συζήτηση της δεκαετίας του 1990. Δεν έχει μια άμεση μεταφορά στις μέρες μας. Το εκτεταμένο caching κατ’ αρχάς έχει αλλάξει εντελώς το πλαίσιο της συζήτησης.

Τι είναι ένας μοντέρνος επεξεργαστής Pentium λοιπόν; Έχει μια καθαρά RISC αρχιτεκτονική επεξεργαστή. Επίσης έχει ενα καθαρά CISC ISA. Τι είναι λοιπόν; Δεν βρίσκω πολύ νόημα στην ερώτηση σήμερα.

Διάβασε αυτό για την P6 αρχιτεκτονική που τα εξηγεί λίγο καλύτερα.

1 Like

Για τις εκδόσεις βασισμένες στο arch υπάρχει το linux-ck που προπαρασκευάζει το τελευταίο stable linux kernel για διάφορες ομάδες CPU (AMD k10, intel-duo, ivybridge, κλπ.). Διαφορετικά μαθαίνεις πως να παίρνεις τον κώδικα και να φτιάχνεις δικό σου στα μέτρα σου.

[repo-ck]
SigLevel = Never
Server = http://repo-ck.com/$arch

3 Likes

Καλωσόρισες στο φόρουμ @obars6

2 Likes
1 Like