Το e-steki είναι μια από τις μεγαλύτερες ελληνικές διαδικτυακές κοινότητες με 66,103 εγγεγραμμένα μέλη και 2,388,210 μηνύματα σε 74,658 θέματα. Αυτή τη στιγμή μαζί με εσάς απολαμβάνουν το e-steki άλλα

Καλώς ήρθατε στο e-steki!

Εγγραφή Βοήθεια

Πώς περίπου δουλεύουν οι CPU;

The_Steve (Στέφανος)

Νεοφερμένος

Το avatar του χρήστη The_Steve
Ο Στέφανος αυτή τη στιγμή δεν είναι συνδεδεμένος Είναι 40 ετών . Έχει γράψει 48 μηνύματα.

O The_Steve έγραψε στις 09:26, 12-04-08:

#1
Πάντα είχα αυτή την απορία. Αν υποθέσουμε ότι έχουμε ένα επεξεργαστή X στα 2000mhz και έναν άλλον Y στα 1000 mhz, και τα υπόλοιπα χαρακτηριστικά είναι τα ίδια, σημαίνει ότι αν ο Χ χρησιμοποιεί το 50% για να εκτελέσει την Α εντολή, τότε ο Y θα χρησιμοποιήσει το 25%;

Γενικά, στην αρχή θα ήθελα να απλά γίνετε για το θέμα, μετά αν αποκτήσει ενδιαφέρον ας πάμε στα πιο βαθιά

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

Bill

Διακεκριμένο μέλος

Το avatar του χρήστη Bill
Ο Bill αυτή τη στιγμή δεν είναι συνδεδεμένος Έχει γράψει 2,195 μηνύματα.

O Bill έγραψε στις 12:07, 12-04-08:

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

Η επικοινωνία της κύριας μνήμης και επεξεργαστή γίνεται με την αρτηρία διευθύνσεων και δεδομένων.Με την αρτηρία διευθύνσεων o επεξεργαστής αναφέρεται σε θέσεις μνήμης και τα δεδομένα που ζήτηθηκαν μεταφέρονται απο την αρτηρία δεδομένων.Ουσιαστικά ο επεξεργαστής ζητάει δεδομένα δίνοντας τη θέση της μνήμης στην οποία βρίσκονται αυτά.

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

Κατά την εκτέλεση λοιπόν ενός προγράμματος υπάρχει ένας μετρητής(program counter) που μας δείχνει ποια είναι η εντολή που πρόκειται να εκτελεστεί.
-Έτσι λοιπόν,η cpu θα φέρει από την κύρια μνήμη την εντολή που δείχνει αυτός ο μετρητής για να την επεξεργαστεί.
-Αφού φέρει την εντολή θα πρέπει να αλλάξει την τιμή του ώστε να δείξει στην επόμενη εντολή που θα έρθει για επεξεργασία.
-Η εντολή που βρίσκεται αυτή τη στιγμή στην cpu αναλύεται και ελέγχεται αν χρειάζονται επιπλέον δεδομένα από την κύρια μνήμη.Αν χρειάζονται τα φέρνει στους καταχωρητές.
-Η εντολή εκτελείται και τα αποτελέσματα αποθηκεύονται.

Στη συνέχεια ξαναεκτελείται η παραπάνω διαδικασία για την επόμενη εντολή.

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



Αρχική Δημοσίευση από The_Steve
Πάντα είχα αυτή την απορία. Αν υποθέσουμε ότι έχουμε ένα επεξεργαστή X στα 2000mhz και έναν άλλον Y στα 1000 mhz, και τα υπόλοιπα χαρακτηριστικά είναι τα ίδια, σημαίνει ότι αν ο Χ χρησιμοποιεί το 50% για να εκτελέσει την Α εντολή, τότε ο Y θα χρησιμοποιήσει το 25%;
Όπως είναι ο Χ εκτελεί εντολές με ταχύτητα διπλάσια του Υ.Αν αλλάξει βέβαια ένα χαρακτηριστικό τότε αλλάζουν αρκετά πράγματα.

Ελπίζω να τα γραψα κατανοητά.

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

2 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

fandago (Ә□⌂щяңš)

Επιφανές Μέλος

Το avatar του χρήστη fandago
Ο Ә□⌂щяңš αυτή τη στιγμή δεν είναι συνδεδεμένος Είναι 34 ετών και μας γράφει απο Αθήνα (Αττική). Έχει γράψει 2,620 μηνύματα.

O fandago μπορεί να φαίνεται αλλά ΔΕΝ έγραψε στις 17:58, 12-04-08:

#3
Αρχική Δημοσίευση από Bill
Τα παραπάνω είναι πώς γίνεται χοντρικά η όλη διαδικασία.
Τώρα για την εκτέλεση κάθε εντολής απαιτείται καποιος χρόνος.H συχνότητα δείνχει την ταχύτητα εκτέλεσης εντολών.
Πολύ ωραία τα είπε ο Bill.

Να ξεκαθαρίσω όμως κάτι που μπορεί να παρεξήγησαν κάποιοι. Το ότι η συχνότητα δείχνει την ταχύτητα εκτέλεσης εντολών δεν σημαίνει ότι αν ένα επεξεργαστής τρέχει στα 2Hz (= 2 cycles per second), τότε εκτελούνται 2 εντολές το δευτερόλεπτο. Αυτό γιατί κάθε εντολή έχει συγκεκριμένο χρόνο εκτέλεσης, αφού για παράδειγμα μπορεί να χρειάζεται 4 κύκλους ρολογιού και αν ο επεξεργαστής τρέχει στα 2Hz να θέλει 2 sec για να εκτελεστεί η εντολή.

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


Φυσικά η αρχιτεκτονική των σημερινών επεξεργαστών είναι πολυπλοκότερη, αλλά όλα αυτά δίνουν μια ιδέα

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

1 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση
Απάντηση στο θέμα

Χρήστες

  • Τα παρακάτω 0 μέλη και 1 επισκέπτες διαβάζουν μαζί με εσάς αυτό το θέμα.
     
  • (View-All Tα παρακάτω 0 μέλη διάβασαν αυτό το θέμα τις τελευταίες 30 μέρες:
    Μέχρι και αυτή την στιγμή δεν έχει δει το θέμα κάποιο ορατό μέλος

Βρείτε παρόμοια

Μοιραστείτε το

...με ένα φίλο

...με πολλούς φίλους