Προσομοίωση
Όταν μια αρχιτεκτονική φτάσει στο τέλος της ζωής της παραμένει το πρόβλημα
της χρήσης του λογισμικού που βασίζεται στην αρχιτεκτονική αυτή.
Συχνά η μεταγλώττιση του πηγαίου κώδικα σε άλλη αρχιτεκτονική δεν είναι δυνατή.
Στις περιπτώσεις αυτές η λύση είναι η προσομοίωση της παλιάς αρχιτεκτονικής
στη νέα.
Διακρίνουμε τις παρακάτω προσεγγίσεις:
- Υποστήριξη των εντολών της παλιάς αρχιτεκτονικής από την νέα σε επίπεδο
μικροκώδικα (Vax-PDP11, Pentium-8086).
- Στατική μεταγλώττιση των προγραμμάτων από τις εντολές της παλιάς
αρχιτεκτονικής στις εντολές της νέας (AS400, PowerPC).
- Διερμηνεία των εντολών της παλιάς αρχιτεκτονικής από την νέα
(SoftPC σε επεξεργαστές Motorolla).
- Μικτές προσεγγίσεις με διερμηνεία και δυναμική μεταγλώττιση σημείων
που απαιτούν πολλούς υπολογιστικούς πόρους (JavaVM Just in Time Compilers).
Συχνά η νέα αρχιτεκτονική παρέχει ορισμένα χαρακτηριστικά για να διευκολύνει
τη διαδικασία της μεταγλώττισης ή της διερμηνείας (καταχωρητές, εντολές, παγίδες).
Τεχνικές διερμηνείας είναι ακόμα απαραίτητας κατά το στάδιο σχεδιασμού μιας αρχιτεκτονικής.
Με τη χρήση της προσομοίωσης της νέας αρχιτεκτονικής μπορούμε να εξάγουμε
χαρακτηριστικά της απόδοσης των προγραμμάτων χωρίς να χρειαστεί να κατασκευάσουμε
τον επεξεργαστή.