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

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

Ποιο είναι το επόμενο βήμα της οδηγίας CPU;

Το επόμενο βήμα μιας εντολής CPU εξαρτάται εξ ολοκλήρου από το τι είναι η * τρέχουσα * οδηγία και ποια είναι η αρχιτεκτονική της CPU. Δεν υπάρχει ενιαία απάντηση. Ωστόσο, μπορούμε να περιγράψουμε τη γενική διαδικασία:

Μετά την ολοκλήρωση μιας οδηγίας, η τυπική ροή είναι:

1. αυξήστε τον μετρητή προγράμματος (PC):Ο υπολογιστής είναι ένα μητρώο που διατηρεί τη διεύθυνση μνήμης της επόμενης εντολής που θα εκτελεστεί. Η CPU αυξάνει αυτόματα τον υπολογιστή για να δείξει την επόμενη εντολή σε ακολουθία (εκτός εάν η οδηγία άλματος ή κλάδου έχει αλλάξει).

2. Λήψη της επόμενης οδηγίας: Η CPU λαμβάνει την εντολή που βρίσκεται στη διεύθυνση που αποθηκεύεται στον υπολογιστή από τη μνήμη.

3. Αποκάλυψη της εντολής: Η εντολή που έχει ληφθεί αποκωδικοποιείται για να καθορίσει ποια λειτουργία πρέπει να εκτελεστεί και ποιοι είναι οι τελεστές (δεδομένα).

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

5. Γράψτε πίσω (εάν είναι απαραίτητο): Εάν η εντολή περιλαμβάνει τη σύνταξη δεδομένων σε ένα μητρώο ή μια θέση μνήμης, το αποτέλεσμα είναι γραμμένο πίσω.

Τι το κάνει πολύπλοκο:

* Τύποι οδηγιών: Διαφορετικές οδηγίες (αριθμητική, λογική, πρόσβαση μνήμης, ροή ελέγχου) έχουν διαφορετικές διαδρομές εκτέλεσης.

* αγωγός: Οι σύγχρονες CPU χρησιμοποιούν αγωγούς, όπου πολλαπλές οδηγίες επεξεργάζονται ταυτόχρονα σε διαφορετικά στάδια (fetch, αποκωδικοποίηση, εκτέλεση, γράψτε πίσω). Το "επόμενο βήμα" για μία εντολή μπορεί να είναι αλληλένδετη με την εκτέλεση άλλων οδηγιών.

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

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

* cache: Η πρόσβαση μνήμης είναι σημαντικά ταχύτερη εάν τα δεδομένα βρίσκονται στην προσωρινή μνήμη CPU. Το επόμενο βήμα της CPU μπορεί να περιλαμβάνει τον έλεγχο της προσωρινής μνήμης πριν από την πρόσβαση στην κύρια μνήμη.

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

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