×
Επεξεργασία Προφίλ Επεξεργασία Avatar Επεξεργασία Υπογραφής Επεξεργασία Επιλογών E-mail και Κωδικός
×
Αποσύνδεση Οι Συνδρομές μου Το Προφίλ μου Τα Posts μου Τα Threads μου Λίστα Επαφών Αόρατος Χρήστης
Τι;
Πως;
Ταξινόμηση
Που;
Σε συγκεκριμένη κατηγορία;
Ποιος;
Αποτελέσματα Αναζήτησης
Συμπληρώστε τουλάχιστον το πεδίο Τι;

Το e-steki είναι μια από τις μεγαλύτερες ελληνικές διαδικτυακές κοινότητες με 67,242 μέλη και 2,424,351 μηνύματα σε 75,699 θέματα. Αυτή τη στιγμή μαζί με εσάς απολαμβάνουν το e-steki άλλα 309 άτομα.

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

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

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

The_Steve (Στέφανος)

Νεοφερμένος

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

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

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

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

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%;
Όπως είναι ο Χ εκτελεί εντολές με ταχύτητα διπλάσια του Υ.Αν αλλάξει βέβαια ένα χαρακτηριστικό τότε αλλάζουν αρκετά πράγματα.

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

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 κτλ). Για να εκτελεστεί μια διεργασία (μια εντολή πχ ενός προγράμματος), είναι απαραίτητες πολλές διαφορετικές απλούστερες εντολές, οι οποίες θα πρέπει να περιμένουν η μία την άλλη να εκτελεστεί. Αν όμως η σχεδίαση του προγράμματος έχει γίνει έτσι ώστε κάποιες εντολές να είναι ανεξάρτητες από προηγούμενες, τότε αυτές θα μπορούσαν να μοιραστούν σε μια άλλη επεξεργαστική μονάδα για διεκπεραίωση. Έτσι θα μπορούσαμε να έχουμε πολλές επεξεργαστικές μονάδες (είτε αυτό είναι επεξεργαστές, πυρήνες, ή εικονικοί πηρύνες) να δουλεύουν παράλληλα, εκτελόντας στην διάρκεια λιγότερων κύκλων ρολογιού, περισσότερες εντολές.


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

Χρήστες

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

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