Αρχικά πρέπει να προσδιοριστούν κάποια πραγματάκια.
Κάθε πρόγραμμα είναι τοποθετημένο στην
κύρια μνήμη του υπολογιστή με τη μορφή εντολών.(βρίσκονται αποθηκευμένες σε
δυαδική μορφή).
Κάθε εντολή μπορεί να καταλαμβάνει μία ή περισσότερες θέσεις μνήμης.Το πόσες θέσεις καταλαμβάνει στη μνήμη προσδιορίζεται από το έυρος ψηφίων που προσφέρει η κάθε μνήμη.
Για παράδειγμα αν έχουμε μνήμη των 32 δυαδικών ψηφίων και η εντολή μας έχει μήκος 64 δυαδικά ψηφία,τότε θα καταλάβει 2 θέσεις στην κύρια μνήμη.
Η επικοινωνία της κύριας μνήμης και
επεξεργαστή γίνεται με την αρτηρία διευθύνσεων και δεδομένων.Με την αρτηρία διευθύνσεων o επεξεργαστής αναφέρεται σε θέσεις μνήμης και τα δεδομένα που ζήτηθηκαν μεταφέρονται απο την αρτηρία δεδομένων.Ουσιαστικά ο επεξεργαστής ζητάει δεδομένα δίνοντας τη θέση της μνήμης στην οποία βρίσκονται αυτά.
Επιπλέον ο επεξεργαστής διαθέτει κάποιους καταχωρητές.(
registers).Χοντρικά εκεί τοποθετούνται οι εντολές όταν έρχονται στον επεξεργαστή για να εκτελεστούν,καθώς και δεδομένα που χρειαζονται ή παράγονται.
Κατά την εκτέλεση λοιπόν ενός προγράμματος υπάρχει ένας μετρητής(
program counter) που μας δείχνει ποια είναι η εντολή που πρόκειται να εκτελεστεί.
-Έτσι λοιπόν,η cpu θα φέρει από την κύρια μνήμη την εντολή που δείχνει αυτός ο μετρητής για να την επεξεργαστεί.
-Αφού φέρει την εντολή θα πρέπει να αλλάξει την τιμή του ώστε να δείξει στην επόμενη εντολή που θα έρθει για επεξεργασία.
-Η εντολή που βρίσκεται αυτή τη στιγμή στην cpu αναλύεται και ελέγχεται αν χρειάζονται επιπλέον δεδομένα από την κύρια μνήμη.Αν χρειάζονται τα φέρνει στους καταχωρητές.
-Η εντολή εκτελείται και τα αποτελέσματα αποθηκεύονται.
Στη συνέχεια ξαναεκτελείται η παραπάνω διαδικασία για την επόμενη εντολή.
Τα παραπάνω είναι πώς γίνεται χοντρικά η όλη διαδικασία.
Τώρα για την εκτέλεση κάθε εντολής απαιτείται καποιος χρόνος.H
συχνότητα δείνχει την ταχύτητα εκτέλεσης εντολών.
Πάντα είχα αυτή την απορία. Αν υποθέσουμε ότι έχουμε ένα επεξεργαστή X στα 2000mhz και έναν άλλον Y στα 1000 mhz, και τα υπόλοιπα χαρακτηριστικά είναι τα ίδια, σημαίνει ότι αν ο Χ χρησιμοποιεί το 50% για να εκτελέσει την Α εντολή, τότε ο Y θα χρησιμοποιήσει το 25%;
Όπως είναι ο Χ εκτελεί εντολές με ταχύτητα διπλάσια του Υ.Αν αλλάξει βέβαια ένα χαρακτηριστικό τότε αλλάζουν αρκετά πράγματα.
Ελπίζω να τα γραψα κατανοητά.
