Διδακτικά Βιβλία του Παιδαγωγικού Ινστιτούτου

Αναζήτηση

Βρες
Εμφάνιση

Μικροπρογραμματισμός

Όπως η εντολή ADA, έτσι και όλες οι υπόλοιπες εντολές του Άβακα και κάθε υπολογιστή μπορούν να αναλυθούν σε μία ακολουθία από μικρολειτουργίες. Οι μικρολειτουργίες που χρειάζονται για να περιγραφούν όλες οι εντολές ενός υπολογιστή δεν είναι πολλές· το πλήθος τους είναι παρόμοιο ή μικρότερο από το πλήθος των εντολών μηχανής του υπολογιστή.

Ένας πιο συστηματικός τρόπος οργάνωσης ενός επεξεργαστή είναι η μικροπρογραμματιζόμενη αρχιτεκτονική (microprogrammed architecture). Η βασική της ιδέα είναι να αναλύονται οι εντολές μηχανής σε μικρολειτουργίες, και οι ακολουθίες μικρολειτουργιών για κάθε εντολή να είναι καταχωρημένες σαν προγράμματα σε μία ειδική μνήμη, τη μνήμη ελέγχου (control memory). Η μνήμη αυτή βρίσκεται στο εσωτερικό του επεξεργαστή και όχι στη μονάδα μνήμης του υπολογιστή.

Σε κάθε μικρολειτουργία αντιστοιχίζεται μία μικροεντολή (microinstruction), και η μνήμη ελέγχου περιέχει μία σειρά μικροεντολών, δηλαδή ένα μικροπρόγραμμα (microprogram). Για να εκτελεστεί το μικροπρόγραμμα μίας εντολής από την ΚΜΕ, και να εκτελεστεί η εντολή, είναι απαραίτητοι οι αντίστοιχοι καταχωρητές ελέγχου μέσα στην ΚΜΕ, ο καταχωρητής μικροεντολών (MIR) και ο μετρητής μικροπρογράμματος (MPC). Οι καταχωρητές αυτοί παίζουν για την ΚΜΕ τον ίδιο ρόλο που παίζουν ο καταχωρητής εντολών IR και ο μετρητής προγράμματος PC για τον υπολογιστή.

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

Σε πολλούς υπολογιστές ο κατασκευαστής δίνει τη δυνατότητα στους χρήστες να επέμβουν στο επίπεδο των μικρολειτουργιών και να κατασκευάσουν το δικό τους ρεπερτόριο εντολών μηχανής. Με έμμεσο τρόπο έτσι οι χρήστες μπορούν να επέμβουν «προγραμματιστικά» στην οργάνωση του υλικού. Αυτό το συνδυασμό υλικού και λογισμικού τον ονομάζουμε υλικολογισμικό (firmware).