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

Γνώση Υπολογιστών >> Υλικό υπολογιστών >  >> Επεξεργαστές (CPU)

Πώς μια συσκευή λαμβάνει την προσοχή της CPU;

Μια συσκευή λαμβάνει προσοχή CPU μέσω μιας διαδικασίας που ονομάζεται Χειρισμός διακοπής . Εδώ είναι μια κατανομή:

1. Αίτημα συσκευής: Μια περιφερειακή συσκευή (όπως πληκτρολόγιο, ποντίκι, σκληρός δίσκος, κάρτα δικτύου κ.λπ.) χρειάζεται την προσοχή της CPU. Αυτό συμβαίνει όταν η συσκευή ολοκληρώνει μια λειτουργία (π.χ., ένα πλήκτρο, ολοκλήρωση της μεταφοράς δεδομένων) ή συναντά ένα σφάλμα.

2. Σήμα διακοπής: Η συσκευή στέλνει ένα αίτημα διακοπής (IRQ) * σήμα στη CPU. Αυτό το σήμα αποστέλλεται συνήθως μέσω μιας ειδικής γραμμής υλικού. Η διακοπή είναι ουσιαστικά ένα μήνυμα που λέει "Hey CPU, σε χρειάζομαι!"

3. Ελεγκτής διακοπής: Πριν φτάσετε απευθείας στην CPU, το IRQ συχνά περνάει από έναν ελεγκτή διακοπής *. Αυτός ο ελεγκτής διαχειρίζεται τις αιτήσεις διακοπής πολλαπλών συσκευών, δίνοντας προτεραιότητα και εξασφαλίζοντας ότι μόνο μία διακοπή χειρίζεται κάθε φορά. Ο ελεγκτής μπορεί επίσης να εκτελέσει κάλυψη διακοπής (αγνοώντας ορισμένες διακοπές) με βάση τις προτεραιότητες του συστήματος.

4. ρουτίνα χειρισμού διακοπής: Η CPU, κατά τη λήψη του σήματος διακοπής, σταματά την τρέχουσα εκτέλεση (εξοικονομώντας την κατάσταση του) και πηδάει σε έναν προκαθορισμένο * χειριστή διακοπής * (ή ρουτίνα υπηρεσίας διακοπής - ISR). Αυτό είναι ένα συγκεκριμένο κομμάτι κώδικα που έχει σχεδιαστεί για να χειρίζεται τα αιτήματα από τη συγκεκριμένη συσκευή.

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

6. Επιστροφή από τη διακοπή: Μετά την εξυπηρέτηση του αιτήματος διακοπής, ο χειριστής διακοπής αποκαθιστά την κατάσταση της CPU από πριν από τη διακοπή και επιστρέφει τον έλεγχο στο πρόγραμμα που διακόπτεται. Η CPU συνεχίζει την εκτέλεση της από το σημείο όπου σταμάτησε.

Διαφορετικοί τύποι διακοπών:

* Διακοπή υλικού: Δημιουργήθηκαν από συσκευές υλικού όπως αυτές που αναφέρθηκαν παραπάνω.

* Το λογισμικό διακόπτει: Που δημιουργούνται από οδηγίες λογισμικού (π.χ., `int` οδηγίες στο x86). Αυτά χρησιμοποιούνται συχνά για κλήσεις συστήματος ή εξαιρέσεις.

Προτεραιότητα και προγραμματισμός:

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

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

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

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