Αρχιτεκτονική συνόλου εντολών
From Wikipedia, the free encyclopedia
Το σύνολο εντολών (instruction set) ή αρχιτεκτονική συνόλου εντολών (instruction set architecture, ISA), είναι το τμήμα της αρχιτεκτονικής υπολογιστών που συνδέεται με τον προγραμματισμό και περιλαμβάνει τους τύπους δεδομένων της μηχανής, τις εντολές, τους καταχωρητές, τους τρόπους διευθυνσιοδότησης (addressing modes), την αρχιτεκτονική μνήμης, τον χειρισμό διακοπών και εξαιρέσεων, καθώς και την εξωτερική είσοδο/έξοδο (Input/output, I/O). Μια αρχιτεκτονική συνόλου εντολών περιλαμβάνει το σύνολο των μνημονικών εντολών (opcodes) της γλώσσας μηχανής, και τις εντολές που υλοποιούνται από τον ίδιο τον επεξεργαστή. [1]
Η αρχιτεκτονική συνόλου εντολών διαφέρει από τη μικροαρχιτεκτονική, η οποία είναι το σύνολο των τεχνικών σχεδίασης επεξεργαστών, που χρησιμοποιείται για την υλοποίηση του συνόλου εντολών. Υπολογιστές με διαφορετικές μικροαρχιτεκτονικές μπορούν να έχουν το ίδιο σύνολο εντολών. Για παράδειγμα, ο Pentium της Intel και ο Athlon της AMD υλοποιούν σχεδόν ίδιες εκδόσεις του συνόλου εντολών x86, αλλά έχουν σημαντικά διαφορετικές εσωτερικές σχεδιάσεις. Η αρχιτεκτονική συνόλου εντολών IA32 σχεδιάστηκε από την εταιρία Intel για του επεξεργαστές της ίδιας εταιρίας. Η ανταγωνιστική εταιρία AMD υλοποίησε επεξεργαστές διαφορετικής αρχιτεκτονικής από αυτούς της Intel αλλά χρησιμοποίησε το ίδιο ακριβώς σύνολο εντολών IA32 (αρχικά σχεδιασμένο μόνο για Intel). Το 2002 περίπου η AMD επέκτεινε το σύνολο εντολών Intel-IA32 στο νέο σύνολο x86-64 για να υποστηρίζονται συστήματα 64 bit τα οποία μπορούν να χρησιμοποιηθούν χώρους διεύθυνσης μνήμης μέχρι 256 terrabytes ( bytes). Η Intel με το IA32 απευθυνόταν σε μηχανήματα 32bit όπου μπορούσαν να χρησιμοποιούν χώρο διεύθυνσης μνήμης μέχρι 4 gbytes ( bytes).Η AMD εκτός από το σύνολο εντολών x86-64 την εποχή εκεί κατάφερε και έβγαλε στην αγορά επεξεργαστή γρηγορότερο από 1 GHz. [2] Η επέκταση της AMD στο νέο σύνολο x86-64 επέτρεψε να μπορούν να χρησιμοποιηθούν χώροι διεύθυνσης μνήμης μέχρι 256 terrabytes ( bytes). Το σύνολο εντολών x86-64 στην συνέχεια υιοθετήθηκε και από την Intel για την κατασκευή επεξεργαστών. Το σύνολο εντολών x86-64 ενσωματώνει λειτουργίες για δημιουργία βελτιωμένου κώδικα μηχανής. [3]
Κάποιες εικονικές μηχανής (virtual machines) που υποστηρίζουν κώδικα byte (bytecode), όπως αυτές της Smalltalk και της Java, καθώς και η εικονική μηχανή Common Language Runtime της Microsoft σαν αρχιτεκτονική συνόλου εντολών, την υλοποιούν μεταφράζοντας τον κώδικα byte από συχνά χρησιμοποιούμενα μονοπάτια κώδικα σε κώδικα μηχανής, και εκτελούν τα λιγότερο συχνά χρησιμοποιούμενα μονοπάτια με διερμηνεία. Για παράδειγμα, με αυτόν τον τρόπο, η Transmeta υλοποίησε το σύνολο εντολών x86 σε επεξεργαστές VLIW.