Τι είναι μια διακοπή: Τύποι και οι εφαρμογές του

Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων





Οι υπολογιστές χρησιμοποιούν αιτήματα διακοπής για τον χειρισμό διαφόρων λειτουργιών υλικού. Οι διακοπές υλικού παρουσιάστηκαν για πρώτη φορά από το UNIVAC 1103 το 1953. Η πρώτη συχνότητα εμφάνισης της κάλυψης διακοπής ενσωματώθηκε από το IBM 650 το 1954. Είναι σημαντικό να εκχωρήσετε διαφορετικά IRQ σε διαφορετικές συσκευές υλικού για να εκτελέσετε διάφορες λειτουργίες. Κατά την εκτέλεση του προγράμματος, συσκευές όπως πληκτρολόγια, ένα ποντίκι απαιτεί υπηρεσίες CPU και δημιουργεί μια διακοπή για να τραβήξει την προσοχή από την CPU και να επεξεργαστεί την ζητούμενη υπηρεσία. Αυτά είναι γνωστά ως διακόπτει . Ένα από τα λεωφορεία της συσκευής I / O είναι αφιερωμένο στην εξυπηρέτηση αυτού του σκοπού είναι γνωστό ως Interrupt Service Routine (ISR). Αυτά χρησιμοποιούνται σε διάφορες εφαρμογές, όπως για ευαίσθητα στο χρόνο συμβάντα, μεταφορά δεδομένων, με έμφαση σε ανώμαλα συμβάντα, χρονόμετρα παρακολούθησης, παγίδες κ.λπ.

Τι είναι η διακοπή;

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




Εισήχθη ένας νέος μηχανισμός για να ξεπεραστεί αυτή η περίπλοκη διαδικασία. Σε αυτόν τον μηχανισμό, το υλικό ή το λογισμικό θα στείλει το σήμα σε έναν επεξεργαστή, αντί για έναν επεξεργαστή που θα ελέγχει για οποιοδήποτε σήμα από υλικό ή λογισμικό. Το σήμα ειδοποιεί τον επεξεργαστή με την υψηλότερη προτεραιότητα και αναστέλλει τις τρέχουσες δραστηριότητες αποθηκεύοντας την τρέχουσα κατάσταση και τη λειτουργία του και επεξεργάζεται την διακοπή αμέσως, αυτό είναι γνωστό ως ISR. Καθώς δεν διαρκεί πολύ, ο επεξεργαστής επανεκκινεί τις κανονικές δραστηριότητες μόλις υποβληθεί σε επεξεργασία.

Διακοπή

Διακοπή



Τύποι διακοπής

Αυτά ταξινομούνται σε δύο κύριους τύπους.

Διακοπές υλικού

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

Οι διακοπές υλικού ταξινομούνται σε δύο τύπους


  • Διακοπές με μάσκα - Οι επεξεργαστές πρέπει να διακόψουν την καταγραφή μάσκας που επιτρέπει την ενεργοποίηση και απενεργοποίηση διακοπών υλικού. Κάθε σήμα έχει τοποθετηθεί λίγο στον καταχωρητή μάσκας. Εάν έχει οριστεί αυτό το bit, μια διακοπή ενεργοποιείται και απενεργοποιείται όταν δεν έχει ρυθμιστεί το bit ή το αντίστροφο. Τα σήματα που διακόπτουν τους επεξεργαστές μέσω αυτών των μασκών αναφέρονται ως διακεκομμένες διακοπές.
  • Διακοπές χωρίς μάσκα (NMI) - Οι NMIs είναι οι δραστηριότητες υψηλότερης προτεραιότητας που πρέπει να υποβληθούν σε επεξεργασία αμέσως και υπό οποιεσδήποτε συνθήκες, όπως ένα σήμα χρονικού ορίου που παράγεται από ένα χρονόμετρο παρακολούθησης.

Διακοπές λογισμικού

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

Μέθοδοι πυροδότησης

Γενικά, αυτά τα σήματα έχουν σχεδιαστεί για να ενεργοποιούνται χρησιμοποιώντας είτε ένα επίπεδο λογικού σήματος είτε ένα άκρο σήματος. Αυτές οι μέθοδοι είναι δύο τύπων.

Διακοπή που ενεργοποιείται από το επίπεδο

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

Διακοπή που προκαλείται από άκρη

Μια μονάδα εισόδου που προκαλείται από άκρη προκαλεί διακοπή μόλις εντοπίσει ένα ισχυρό άκρο - μια πτώση ή μια άνοδο. Το άκρο γίνεται αντιληπτό όταν αλλάζει το επίπεδο της πηγής. Αυτός ο τύπος ενεργοποίησης χρειάζεται άμεση δράση, ανεξάρτητα από τη δραστηριότητα της πηγής.

Ενεργοποίηση επιπέδου

ενεργοποίηση επιπέδου

Υλοποίηση συστήματος

Διακοπές εφαρμόζονται σε υλικό ως διαφορετικό στοιχείο μαζί με γραμμές ελέγχου, ή ολοκληρωμένο σε μνήμη υποσυστήματα. Όταν η υλοποίηση πραγματοποιείται σε υλικό, χρειάζεται προγραμματιζόμενος διακόπτης διακοπής (PCI) για σύνδεση μεταξύ του ακροδέκτη εισόδου της CPU και της συσκευής διακοπής. Το PCI πολυπλέκει διάφορες πηγές διακοπής στη μονή ή διπλή γραμμή CPU. Όταν υλοποιείται σχετικά με τον ελεγκτή μνήμης, η υποδοχή διεύθυνσης μνήμης του συστήματος χαρτογραφείται απευθείας με τις διακοπές.

Κοινόχρηστα αιτήματα διακοπών (IRQ)

Με διακοπή που προκαλείται από την άκρη, pull-up ή pull-down αντίσταση χρησιμοποιείται για να οδηγήσει τη γραμμή διακοπής. Αυτή η γραμμή μεταδίδει κάθε παλμό που παράγεται από κάθε συσκευή. Εάν οι παλμοί διακοπής που δημιουργούνται από διαφορετικές συσκευές συμβαίνουν κοντά στο χρόνο, η CPU πρέπει να επικαλεστεί ένα τελικό άκρο του παλμού για να μην χάσει τις διακοπές, ακολουθώντας την οποία η CPU διασφαλίζει να ελέγχει κάθε συσκευή για αιτήματα υπηρεσίας. Μια μη συμπεριφερόμενη μητρική πλακέτα βιομηχανικής τυποποιημένης αρχιτεκτονικής (ISA) με pull-up αντιστάσεις που μοιράζονται γραμμές IRQ πρέπει να λειτουργούν καλά. Ωστόσο, πολλές συσκευές που μοιράζονται γραμμή IRQ σε παλαιότερα συστήματα με κακή σχεδίαση διεπαφής προγραμματισμού καθιστούν δύσκολη την επεξεργασία διακοπών. Από την άλλη πλευρά, μια νέα αρχιτεκτονική συστήματος, όπως το PCI βοηθά στην παροχή σημαντικής ανακούφισης σε αυτό το πρόβλημα.

Υβρίδιο

Ένας υβριδικός τύπος υλοποίησης συστήματος έχει έναν συνδυασμό τόσο σηματοδοτημένης από άκρη όσο και σηματοδοτούμενης από επίπεδο. Το υλικό θα αναζητήσει ένα άκρο και επίσης επιβεβαιώνει ότι εάν ένα σήμα είναι ενεργό για μια συγκεκριμένη περίοδο. Ένας υβριδικός τύπος χρησιμοποιείται συνήθως για την είσοδο χωρίς μάσκα διακοπής (NMI), η οποία διασφαλίζει ότι οι ψευδείς διακοπές δεν επηρεάζουν το σύστημα.

Μήνυμα - Σήμα

Ένα αίτημα διακοπής που σηματοδοτείται από μήνυμα για υπηρεσία που χρησιμοποιεί σήματα συσκευής με τη μετάδοση ενός μηνύματος μέσω α επικοινωνία κανάλι, όπως ένας υπολογιστής λεωφορείο . Αυτά δεν χρησιμοποιούν φυσική γραμμή διακοπής. Το PCI Express λειτουργεί ως σειριακό δίαυλο και χρησιμοποιείται αποκλειστικά ως διακοπές που σηματοδοτούν μηνύματα.

Κουδουνι ΠΟΡΤΑΣ

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

IPI πολλαπλών επεξεργαστών

Τα συστήματα πολλαπλών επεξεργαστών, ένα αίτημα διακοπής από έναν επεξεργαστή αποστέλλεται σε διαφορετικό επεξεργαστή μέσω διακοπτών μεταξύ επεξεργαστών (IPI)

Τυπικές χρήσεις / εφαρμογές

Αυτές είναι ισχυρές εισόδους που συνήθως χρησιμοποιούνται

  • Χρονοδιακόπτες υλικού σέρβις, χειρισμός κινήσεων πληκτρολογίου και ενέργειες ποντικιού
  • Απαντήστε γρήγορα σε συμβάντα ευαίσθητα στο χρόνο ή σε πραγματικό χρόνο
  • Μεταφορά δεδομένων από και προς περιφερειακές συσκευές
  • Ανταποκρίνεται σε εργασίες υψηλής προτεραιότητας, όπως σήματα απενεργοποίησης, παγίδες και χρονόμετρα παρακολούθησης
  • Υποδεικνύει μη φυσιολογικά συμβάντα της CPU
  • Η διακοπή απενεργοποίησης προβλέπει την απώλεια ισχύος, επιτρέποντας την ομαλή απενεργοποίηση του Σύστημα
  • Περιοδικές διακοπές για να παρακολουθείτε τον απόλυτο χρόνο

Συχνές ερωτήσεις

1). Γιατί χρησιμοποιούνται διακοπές;

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

2). Τι είναι το NMI;

Το NMI είναι μια διακοπή χωρίς μάσκα, η οποία δεν μπορεί να αγνοηθεί ή να απενεργοποιηθεί από τον επεξεργαστή

3). Ποια είναι η λειτουργία της γραμμής αναγνώρισης διακοπής;

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

4). Περιγράψτε τη διακοπή υλικού. Δώσε παραδείγματα

Δημιουργείται από μια εξωτερική συσκευή ή υλικό όπως τα πλήκτρα πληκτρολογίου ή η κίνηση του ποντικιού προκαλεί διακοπές υλικού

5). Περιγράψτε τη διακοπή του λογισμικού.

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

6). Ποια διακοπή έχει την υψηλότερη προτεραιότητα;

  • Ενεργοποιείται άκρη και επίπεδο χωρίς μάσκα
  • Το TRAP έχει την υψηλότερη προτεραιότητα

7). Δώστε μερικές χρήσεις της διακοπής

  • Απαντήστε γρήγορα σε συμβάντα ευαίσθητα στο χρόνο ή σε πραγματικό χρόνο
  • Μεταφορά δεδομένων από και προς περιφερειακές συσκευές
  • Ανταποκρίνεται σε εργασίες υψηλής προτεραιότητας, όπως σήματα απενεργοποίησης, παγίδες και χρονόμετρα παρακολούθησης
  • Υποδεικνύει μη φυσιολογικά συμβάντα της CPU

8). Τι είναι ένας υβριδικός τύπος εφαρμογής συστήματος;

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

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