Υλικό υπολογιστών

Γνώση Υπολογιστών >> Υλικό υπολογιστών >  >> CPUs

Τι θα κάνει ο ελεγκτής πριν από τη διακοπή της CPU;

Οι ακριβείς ενέργειες που λαμβάνει ένας ελεγκτής πριν από τη διακοπή μιας CPU εξαρτάται σε μεγάλο βαθμό από τη συγκεκριμένη αρχιτεκτονική και τον τύπο διακοπής. Ωστόσο, εδώ είναι μια γενική κατανομή του τι συμβαίνει συνήθως:

1. Προσδιορίστε τη διακοπή:

* Εξωτερική διακοπή: Ο ελεγκτής λαμβάνει ένα σήμα που υποδεικνύει ένα εξωτερικό συμβάν (π.χ. ένα πακέτο πλήκτρου, ένα πακέτο δικτύου, μια λήξη του χρονοδιακόπτη).

* Εσωτερική διακοπή: Ένα εσωτερικό συμβάν εντός της ίδιας της CPU ενεργοποιεί τη διακοπή (π.χ. ένα σφάλμα διαίρεσης ανά μηδέν).

2. Προσδιορίστε την προτεραιότητα διακοπής:

* Ορισμένα συστήματα έχουν πολλαπλές πηγές διακοπής, το καθένα με διαφορετική προτεραιότητα. Ο ελεγκτής μπορεί να χρειαστεί να συγκρίνει την προτεραιότητα της τρέχουσας διακοπής με τις υπάρχουσες διακοπές.

* Εάν η νέα διακοπή έχει υψηλότερη προτεραιότητα, θα αντιμετωπιστεί αμέσως. Εάν όχι, μπορεί να είναι ουρά για μεταγενέστερη επεξεργασία.

3. Αποθηκεύστε το πλαίσιο (εάν είναι απαραίτητο):

* Εάν η διακοπή είναι διακοπή υλικού (από εξωτερική συσκευή), ο ελεγκτής μπορεί να χρειαστεί να αποθηκεύσει την τρέχουσα κατάσταση της συσκευής. Αυτό μπορεί να περιλαμβάνει:

* Καταχωρητές κατάστασης συσκευής: Δεδομένα σχετικά με την τρέχουσα λειτουργία της συσκευής.

* Αίτηση διακοπής (IRQ) Γραμμή: Η γραμμή που προκάλεσε τη διακοπή.

4. Δημιουργία σήματος διακοπής:

* Ο ελεγκτής στέλνει ένα ειδικό σήμα στην CPU, υποδεικνύοντας ότι έχει συμβεί διακοπή. Αυτό το σήμα είναι συνήθως μια ειδική γραμμή στο δίαυλο συστήματος.

5. Προετοιμαστείτε για διακοπή χειρισμού:

* Ο ελεγκτής μπορεί να εκτελέσει ορισμένες εργασίες εγκατάστασης πριν η CPU ανταποκριθεί στη διακοπή. Αυτό μπορεί να περιλαμβάνει:

* Ρύθμιση διανυσμάτων διακοπής: Αυτοί οι φορείς δείχνουν συγκεκριμένες θέσεις μνήμης που περιέχουν κώδικα που χειρίζεται τη διακοπή.

* Προετοιμασία δεδομένων για τον χειριστή διακοπής: Ο ελεγκτής μπορεί να μεταφέρει δεδομένα που σχετίζονται με τη διακοπή σε συγκεκριμένες θέσεις μνήμης.

6. Περιμένετε την απάντηση CPU:

* Ο ελεγκτής περιμένει την CPU να αναγνωρίσει τη διακοπή και να αρχίσει να το χειρίζεται. Αυτό μπορεί να περιλαμβάνει την CPU που ελέγχει τη γραμμή διακοπής ή την αναμονή για ένα συγκεκριμένο σήμα διακοπής.

Σημαντικές σημειώσεις:

* απάντηση CPU: Μόλις η CPU αναγνωρίσει τη διακοπή, θα μεταβεί σε μια ειδική ρουτίνα χειριστή. Αυτή η ρουτίνα θα καθορίσει την πηγή της διακοπής και θα λάβει τα κατάλληλα μέτρα.

* Χειρισμός διακοπής: Ο χειριστής διακοπής μπορεί να διαβάσει δεδομένα από τον ελεγκτή, να επεξεργαστεί το συμβάν και στη συνέχεια να στείλει μια απάντηση.

* Διακοπή απενεργοποίησης: Η CPU μπορεί να απενεργοποιήσει προσωρινά τις διακοπές εάν βρίσκεται στη μέση μιας κρίσιμης επιχείρησης. Αυτό εμποδίζει τις απροσδόκητες διακοπές από τη διακοπή της τρέχουσας εργασίας του.

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

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα