Τι ονόματα έχει η πίσω πλευρά του επεξεργαστή; Πώς λειτουργεί ο επεξεργαστής; Υποδοχές επεξεργαστή AMD

Ο σχεδιασμός και η αρχή λειτουργίας του επεξεργαστή

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

1. Εισαγωγή.

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

Οι περισσότεροι σύγχρονοι επεξεργαστές αποτελούνται από:

  • έναν ή περισσότερους πυρήνες που εκτελούν όλες τις εντολές.
  • πολλά επίπεδα κρυφής μνήμης (συνήθως 2 ή τριών επιπέδων), επιταχύνοντας την αλληλεπίδραση του επεξεργαστή με τη μνήμη RAM.
  • Ελεγκτής RAM;
  • ελεγκτής διαύλου συστήματος (DMI, QPI, HT, κ.λπ.).

Και χαρακτηρίζεται από τις ακόλουθες παραμέτρους:

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

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

Ας ξεκινήσουμε την ανασκόπηση του σχεδιασμού του επεξεργαστή με το κύριο μέρος του - τον πυρήνα.

2. Πυρήνας επεξεργαστή.

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

Το σχήμα 1 δείχνει ένα μπλοκ διάγραμμα του πυρήνα του επεξεργαστή. Όπως φαίνεται στο σχήμα, κάθε πυρήνας επεξεργαστή αποτελείται από πολλά λειτουργικά μπλοκ:

  • μπλοκ ανάκτησης οδηγιών.
  • μπλοκ αποκωδικοποίησης οδηγιών.
  • μπλοκ δειγματοληψίας δεδομένων·
  • μονάδα ελέγχου;
  • μπλοκ εκτέλεσης εντολών.
  • μπλοκ για αποθήκευση αποτελεσμάτων.
  • μπλοκ εργασίας με διακοπές.
  • ROM που περιέχει μικροκώδικα.
  • σύνολο μητρώων?
  • μετρητής προγράμματος.

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

Πρόβλεψη μετάβασηςπροσπαθεί να προσδιορίσει ποια ακολουθία εντολών θα εκτελεστεί μετά την πραγματοποίηση μιας μετάβασης. Αυτό είναι απαραίτητο για να φορτωθεί ο πυρήνας του επεξεργαστή όσο το δυνατόν περισσότερο μετά από ένα άλμα υπό όρους.

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

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

Οι σύγχρονοι επεξεργαστές έχουν συνήθως 2-4 μπλοκ αποκωδικοποίησης εντολών, για παράδειγμα, στους επεξεργαστές Intel Core 2, κάθε πυρήνας περιέχει δύο τέτοια μπλοκ.

Μπλοκ δειγματοληψίας δεδομένωνανάκτηση δεδομένων από την προσωρινή μνήμη ή τη RAM που είναι απαραίτητα για την εκτέλεση των τρεχουσών εντολών. Συνήθως, κάθε πυρήνας επεξεργαστή περιέχει πολλά μπλοκ δειγματοληψίας δεδομένων. Για παράδειγμα, οι επεξεργαστές Intel Core χρησιμοποιούν δύο δείγματα δεδομένων για κάθε πυρήνα.

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

Μπλοκ εκτέλεσης εντολώνπεριλαμβάνει πολλούς διαφορετικούς τύπους μπλοκ:

ALU – αριθμητική λογική μονάδα.

FPU – συσκευή για την εκτέλεση λειτουργιών κινητής υποδιαστολής.

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

Το MMX (Επεκτάσεις Πολυμέσων) είναι ένα σύνολο οδηγιών που αναπτύχθηκε από την Intel για να επιταχύνει την κωδικοποίηση και την αποκωδικοποίηση δεδομένων ροής ήχου και βίντεο.

Το SSE (Streaming SIMD Extensions) είναι ένα σύνολο οδηγιών που αναπτύχθηκε από την Intel για την εκτέλεση της ίδιας ακολουθίας λειτουργιών σε πολλαπλά δεδομένα, ενώ παράλληλα παραλληλίζεται η υπολογιστική διαδικασία. Τα σύνολα εντολών βελτιώνονται συνεχώς και αυτή τη στιγμή υπάρχουν αναθεωρήσεις: SSE, SSE2, SSE3, SSSE3, SSE4.

Το ATA (Application Targeted Accelerator) είναι ένα σύνολο οδηγιών που αναπτύχθηκε από την Intel για την επιτάχυνση της λειτουργίας εξειδικευμένου λογισμικού και τη μείωση της κατανάλωσης ενέργειας κατά την εργασία με τέτοια προγράμματα. Αυτές οι οδηγίες μπορούν να χρησιμοποιηθούν, για παράδειγμα, κατά τον υπολογισμό των αθροισμάτων ελέγχου ή την αναζήτηση δεδομένων.

Το 3DNow είναι ένα σύνολο εντολών που αναπτύχθηκε από την AMD για να επεκτείνει τις δυνατότητες του συνόλου εντολών MMX.

Το AES (Advanced Encryption Standard) είναι ένα σύνολο οδηγιών που αναπτύχθηκε από την Intel για να επιταχύνει τη λειτουργία εφαρμογών που χρησιμοποιούν κρυπτογράφηση δεδομένων χρησιμοποιώντας τον ίδιο αλγόριθμο.

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

Μπλοκ διακοπής.Η εργασία με διακοπές είναι μία από τις πιο σημαντικές εργασίες του επεξεργαστή, που του επιτρέπει να ανταποκρίνεται έγκαιρα σε συμβάντα, να διακόπτει την πρόοδο του προγράμματος και να εκτελεί τις ενέργειες που απαιτούνται από αυτό. Χάρη στην παρουσία διακοπών, ο επεξεργαστής είναι ικανός για ψευδοπαράλληλη λειτουργία, δηλ. στο λεγόμενο multitasking.

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

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

Μητρώα– εξαιρετικά γρήγορη μνήμη RAM (η πρόσβαση σε καταχωρητές είναι πολλές φορές ταχύτερη από την πρόσβαση στην κρυφή μνήμη) μικρού όγκου (πολλές εκατοντάδες byte), που περιλαμβάνεται στον επεξεργαστή, για προσωρινή αποθήκευση των ενδιάμεσων αποτελεσμάτων εκτέλεσης εντολών. Οι καταχωρητές επεξεργαστών χωρίζονται σε δύο τύπους: καταχωρητές γενικής χρήσης και ειδικούς καταχωρητές.

Οι καταχωρητές γενικής χρήσης χρησιμοποιούνται κατά την εκτέλεση αριθμητικών και λογικών πράξεων ή ειδικών πράξεων πρόσθετων συνόλων εντολών (MMX, SSE, κ.λπ.).

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

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

2.1 Η αρχή λειτουργίας του πυρήνα του επεξεργαστή.

Η αρχή λειτουργίας του πυρήνα του επεξεργαστή βασίζεται σε έναν κύκλο που περιγράφηκε από τον John von Neumann το 1946. Σε απλοποιημένη μορφή, τα στάδια του κύκλου πυρήνα του επεξεργαστή μπορούν να αναπαρασταθούν ως εξής:

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

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

3. Η μονάδα αποκωδικοποίησης εντολών αποκρυπτογραφεί την εντολή, εάν είναι απαραίτητο χρησιμοποιώντας τον μικροκώδικα που έχει εγγραφεί στη ROM για την ερμηνεία της εντολής. Εάν πρόκειται για εντολή άλματος, τότε η διεύθυνση μεταπήδησης γράφεται στον μετρητή προγράμματος και ο έλεγχος μεταφέρεται στο μπλοκ ανάκτησης εντολών (σημείο 1), διαφορετικά ο μετρητής προγράμματος αυξάνεται κατά το μέγεθος εντολών (για επεξεργαστή με μήκος εντολών 32 bit - επί 4) και μεταφέρει τον έλεγχο στο μπλοκ ανάκτησης δεδομένων .

4. Η μονάδα δειγματοληψίας δεδομένων διαβάζει τα δεδομένα που απαιτούνται για την εκτέλεση της εντολής από τη μνήμη cache ή τη μνήμη RAM και μεταφέρει τον έλεγχο στον προγραμματιστή.

5. Το μπλοκ ελέγχου καθορίζει ποιο μπλοκ εκτέλεσης εντολών θα επεξεργαστεί την τρέχουσα εργασία και μεταφέρει τον έλεγχο σε αυτό το μπλοκ.

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

7. Εάν είναι απαραίτητο να αποθηκεύσετε τα αποτελέσματα στη μνήμη RAM, το μπλοκ αποθήκευσης αποτελεσμάτων εκτελεί τις ενέργειες που απαιτούνται για αυτό και μεταφέρει τον έλεγχο στο μπλοκ ανάκτησης εντολών (σημείο 1).

Ο βρόχος που περιγράφεται παραπάνω ονομάζεται διεργασία (γι' αυτό ο επεξεργαστής ονομάζεται επεξεργαστής). Η ακολουθία των εντολών που εκτελούνται ονομάζεται πρόγραμμα.

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

2.2. Τρόποι βελτίωσης της απόδοσης του πυρήνα του επεξεργαστή.

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

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

Ας δούμε τους κύριους τρόπους αύξησης της απόδοσης του επεξεργαστή.

2.2.1. Σωληνώσεις.

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

Ας εξετάσουμε ένα παράδειγμα στο οποίο ο επεξεργαστής θα εκτελέσει ένα πρόγραμμα που αποτελείται από πέντε εντολές (K1–K5), χωρίς να χρησιμοποιεί την αρχή της διοχέτευσης. Για να απλοποιήσουμε το παράδειγμα, υποθέτουμε ότι κάθε μπλοκ πυρήνα επεξεργαστή εκτελεί μια εντολή σε 1 κύκλο ρολογιού.

Αρα εσύ Δείγματα οδηγιών Οδηγίες αποκωδικοποίησης Δειγματοληψία δεδομένων Εκτέλεση εντολών Αποθήκευση του αποτελέσματος
1 Κ1 - - - -
2 - Κ1 - - -
3 - - Κ1 - -
4 - - - Κ1 -
5 - - - - Κ1
6 Κ2 - - - -
7 - Κ2 - - -
8 - - Κ2 - -
9 - - - Κ2 -
10 - - - - Κ2
11 Κ3 - - - -
12 - Κ3 - - -
13 - - Κ3 - -
14 - - - Κ3 -
15 - - - - Κ3
16 Κ4 - - - -
17 - Κ4 - - -
18 - - Κ4 - -
19 - - - Κ4 -
20 - - - - Κ4
21 Κ5 - - - -
22 - Κ5 - - -
23 - - Κ5 - -
24 - - - Κ5 -
25 - - - - Κ5

Όπως φαίνεται από τον πίνακα, ο επεξεργαστής χρειάστηκε 25 κύκλους ρολογιού για να εκτελέσει πέντε εντολές. Ταυτόχρονα, σε κάθε κύκλο, τέσσερα από τα πέντε μπλοκ του πυρήνα του επεξεργαστή ήταν σε αδράνεια, δηλ. Ο επεξεργαστής χρησιμοποίησε μόνο το 20% των δυνατοτήτων του. Φυσικά, σε πραγματικούς επεξεργαστές όλα είναι πιο περίπλοκα. Διαφορετικά μπλοκ επεξεργαστών επιλύουν προβλήματα διαφορετικής πολυπλοκότητας. Οι ίδιες οι οδηγίες ποικίλλουν επίσης σε πολυπλοκότητα. Αλλά σε γενικές γραμμές η κατάσταση παραμένει η ίδια.

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

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

Αρα εσύ Δείγματα οδηγιών Οδηγίες αποκωδικοποίησης Δειγματοληψία δεδομένων Εκτέλεση εντολών Αποθήκευση του αποτελέσματος
1 Κ1 - - - -
2 Κ2 Κ1 - - -
3 Κ3 Κ2 Κ1 - -
4 Κ4 Κ3 Κ2 Κ1 -
5 Κ5 Κ4 Κ3 Κ2 Κ1
6 - Κ5 Κ4 Κ3 Κ2
7 - - Κ5 Κ4 Κ3
8 - - - Κ5 Κ4
9 - - - - Κ5

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

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

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

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

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

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

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

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

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

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

Ωστόσο, ο στατικός προγραμματισμός γίνεται όλο και πιο δημοφιλής, όταν η σειρά με την οποία εκτελείται το πρόγραμμα από τον επεξεργαστή καθορίζεται στο στάδιο της μεταγλώττισης του προγράμματος. Σε αυτήν την περίπτωση, οι εντολές που μπορούν να εκτελεστούν παράλληλα συνδυάζονται από τον μεταγλωττιστή σε μια μεγάλη εντολή στην οποία όλες οι εντολές είναι γνωστό ότι είναι παράλληλες. Οι επεξεργαστές που λειτουργούν με τέτοιες οδηγίες είναι χτισμένοι στην αρχιτεκτονική VLIW (Very long instruction word).

2.2.2. Υπερκλιμάκωση.

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

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

Ωστόσο, η παράλληλη εκτέλεση εντολών είναι δυνατή μόνο εάν αυτές οι εντολές είναι ανεξάρτητες.

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

2.2.3. Παράλληλη επεξεργασία δεδομένων.

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

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

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

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

Αλλά αυτό δίνει ένα κέρδος απόδοσης μέχρι να εμφανιστεί ένα πρόγραμμα που απαιτεί περισσότερους πόρους από αυτούς που μπορεί να παρέχει ένας πυρήνας. Είναι καλό αν υποστηρίζει κατανομή φορτίου μεταξύ πολλών πυρήνων. Αλλά αυτή τη στιγμή, τα δημόσια διαθέσιμα προγράμματα που μπορούν να κατανείμουν το φορτίο μεταξύ 12 πυρήνων, ακόμη και σε λειτουργία Hyper-Threading, μπορούν να «μετρηθούν στα δάχτυλα του ενός χεριού». Φυσικά, υπερβάλλω, υπάρχουν προγράμματα βελτιστοποιημένα για υπολογιστές πολλαπλών νημάτων, αλλά οι περισσότεροι απλοί χρήστες δεν τα χρειάζονται. Αλλά τα πιο δημοφιλή προγράμματα, και ακόμη περισσότερο τα παιχνίδια, εξακολουθούν να προσαρμόζονται «κακώς» σε επεξεργαστές πολλαπλών πυρήνων, ειδικά εάν ο αριθμός των πυρήνων είναι μεγαλύτερος από τέσσερις.

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

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

Λοιπόν, τέταρτον, το κόστος παραγωγής πολυπύρηνων επεξεργαστών είναι αρκετά υψηλό και, κατά συνέπεια, η τιμή τέτοιων επεξεργαστών είναι απότομη.

Παρά όλες τις ελλείψεις, η χρήση επεξεργαστών με 2-4 πυρήνες παρέχει αναμφίβολα σημαντική αύξηση στην απόδοση. Ωστόσο, αυτή τη στιγμή, η χρήση επεξεργαστών με περισσότερους από τέσσερις πυρήνες δεν ανταποκρίνεται πάντα στις προσδοκίες. Ωστόσο, στο εγγύς μέλλον, η κατάσταση πρέπει να αλλάξει δραματικά. Σίγουρα θα υπάρχουν πολλά προγράμματα που υποστηρίζουν multithreading, η απόδοση μεμονωμένων πυρήνων θα αυξηθεί και η τιμή τους θα μειωθεί.

2.2.4. Τεχνολογία Hyper-Threading.

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

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

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

Τα περισσότερα προγράμματα δεν μπορούν να φορτώσουν πλήρως τον επεξεργαστή, καθώς ορισμένα χρησιμοποιούν κυρίως απλούς υπολογισμούς ακέραιων αριθμών, χωρίς να χρησιμοποιούν σχεδόν τη μονάδα FPU. Άλλα προγράμματα, όπως το 3D studio, απαιτούν πολλούς υπολογισμούς χρησιμοποιώντας αριθμούς κινητής υποδιαστολής, αλλά ταυτόχρονα ελευθερώνουν κάποιες άλλες μονάδες εκτέλεσης και ούτω καθεξής.

Επιπλέον, σχεδόν όλα τα προγράμματα περιέχουν πολλά άλματα υπό όρους και εξαρτημένες μεταβλητές. Ως αποτέλεσμα, η χρήση της τεχνολογίας Hyper-threading μπορεί να προσφέρει σημαντική ώθηση απόδοσης, συμβάλλοντας στη μεγιστοποίηση του φορτίου στον αγωγό πυρήνα.

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

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

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

Ως αποτέλεσμα, η τεχνολογία Hyper-Threading εξαρτάται πολύ από τον τύπο του φορτίου του επεξεργαστή και μπορεί να δώσει καλή ώθηση στην απόδοση ή μπορεί να είναι πρακτικά άχρηστη.

2.2.5. Τεχνολογία Turbo Boost.

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

Η συχνότητα του επεξεργαστή υπολογίζεται ως η συχνότητα του διαύλου συστήματος πολλαπλασιαζόμενη με έναν ορισμένο συντελεστή που ονομάζεται πολλαπλασιαστής. Για παράδειγμα, ένας επεξεργαστής Core i7-970 λειτουργεί με το δίαυλο συστήματος DMI σε βασική συχνότητα 133 MHz και έχει πολλαπλασιαστή 24. Έτσι, η συχνότητα ρολογιού του πυρήνα του επεξεργαστή θα είναι: 133 MHz * 24 = 3192 MHz.

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

Με την έλευση της τεχνολογίας Turbo Boost, όλα έγιναν πολύ πιο εύκολα. Οι επεξεργαστές με αυτήν την τεχνολογία μπορούν δυναμικά, για μικρό χρονικό διάστημα, να αυξήσουν τη συχνότητα του ρολογιού, αυξάνοντας έτσι την απόδοσή τους. Ταυτόχρονα, ο επεξεργαστής ελέγχει όλες τις παραμέτρους της λειτουργίας του: τάση, ρεύμα, θερμοκρασία κ.λπ., αποτρέποντας βλάβες και, κυρίως, αστοχίες. Για παράδειγμα, ο επεξεργαστής μπορεί να απενεργοποιήσει τους αχρησιμοποίητους πυρήνες, μειώνοντας έτσι τη συνολική θερμοκρασία και σε αντάλλαγμα να αυξήσει την ταχύτητα ρολογιού των υπόλοιπων πυρήνων.

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

2.2.6. Αποτελεσματικότητα εκτέλεσης εντολών.

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

  • για κλασικούς επεξεργαστές CISC.
  • σε επεξεργαστές RISC με μειωμένο σύνολο εντολών.
  • για επεξεργαστές MISC με ελάχιστο σύνολο εντολών.
  • σε επεξεργαστές VLIW με μια σειρά από εξαιρετικά μεγάλες οδηγίες.

CISC (Υπολογιστής σύνθετου σετ εντολών)- Πρόκειται για επεξεργαστές με ένα σύνθετο σύνολο οδηγιών. Η αρχιτεκτονική CISC χαρακτηρίζεται από:

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

Ιστορικά, οι επεξεργαστές με αρχιτεκτονική CISC εμφανίστηκαν πρώτοι και η εμφάνισή τους οφειλόταν στη γενική τάση στην ανάπτυξη των πρώτων υπολογιστών. Προσπάθησαν να κάνουν τους υπολογιστές πιο λειτουργικούς και ταυτόχρονα ευκολότερους στον προγραμματισμό. Φυσικά, αρχικά ήταν πιο βολικό για τους προγραμματιστές να έχουν ένα ευρύ σύνολο εντολών παρά να υλοποιούν κάθε λειτουργία με μια ολόκληρη ξεχωριστή υπορουτίνα. Ως αποτέλεσμα, ο όγκος των προγραμμάτων μειώθηκε σημαντικά, και μαζί με αυτό η πολυπλοκότητα του προγραμματισμού.

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

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

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

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

Ωστόσο, μέχρι εκείνη τη στιγμή είχε ήδη αναπτυχθεί ένας τεράστιος αριθμός προγραμμάτων για επεξεργαστές με αρχιτεκτονική CISC, επομένως ήταν ασύμφορο από οικονομική άποψη η μετάβαση σε μια ριζικά νέα αρχιτεκτονική, ακόμα κι αν είχε κέρδος στην απόδοση του επεξεργαστή.

Ως εκ τούτου, έγινε αποδεκτός ένας συμβιβασμός και οι επεξεργαστές CISC, ξεκινώντας από τον Intel486DX, άρχισαν να παράγονται χρησιμοποιώντας έναν πυρήνα RISC. Δηλαδή, αμέσως πριν από την εκτέλεση, οι σύνθετες εντολές CISC μετατρέπονται σε ένα απλούστερο σύνολο εσωτερικών εντολών RISC. Για να γίνει αυτό, χρησιμοποιούν σύνολα μικροεντολών γραμμένων σε ROM που βρίσκονται μέσα στον πυρήνα του επεξεργαστή - μια σειρά από απλές εντολές που εκτελούν συλλογικά τις ίδιες ενέργειες με μια σύνθετη εντολή.

RISC (Υπολογιστής μειωμένου συνόλου εντολών)– επεξεργαστές με μειωμένο σετ εντολών.

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

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

Οι επεξεργαστές που έχουν κατασκευαστεί με βάση την αρχιτεκτονική RISC έχουν τα ακόλουθα κύρια χαρακτηριστικά:

  • Σταθερό μήκος εντολής.
  • ένα μικρό σύνολο τυποποιημένων οδηγιών.
  • μεγάλος αριθμός μητρώων γενικής χρήσης·
  • έλλειψη μικροκώδικα?
  • χαμηλότερη κατανάλωση ενέργειας σε σύγκριση με επεξεργαστές CISC παρόμοιας απόδοσης.
  • απλούστερη εσωτερική δομή.
  • λιγότερα τρανζίστορ σε σύγκριση με επεξεργαστές CISC παρόμοιας απόδοσης.
  • απουσία πολύπλοκων εξειδικευμένων μπλοκ στον πυρήνα του επεξεργαστή.

Ως αποτέλεσμα, αν και οι επεξεργαστές RISC απαιτούν περισσότερες οδηγίες για την ολοκλήρωση της ίδιας εργασίας σε σύγκριση με τους επεξεργαστές CISC, γενικά παρέχουν υψηλότερη απόδοση. Πρώτον, η εκτέλεση μιας μεμονωμένης εντολής RISC απαιτεί πολύ λιγότερο χρόνο από την εκτέλεση μιας εντολής CISC. Δεύτερον, οι επεξεργαστές RISC κάνουν μεγαλύτερη χρήση των δυνατοτήτων παράλληλης επεξεργασίας. Τρίτον, οι επεξεργαστές RISC μπορούν να έχουν υψηλότερες ταχύτητες ρολογιού από τους επεξεργαστές CISC.

Ωστόσο, παρά το προφανές πλεονέκτημα του RISC, οι επεξεργαστές δεν έχουν γίνει τόσο διαδεδομένοι όσο το CISC. Είναι αλήθεια ότι αυτό δεν οφείλεται κυρίως στο γεγονός ότι από ορισμένες απόψεις θα μπορούσαν να είναι χειρότεροι από τους επεξεργαστές CISC. Δεν είναι χειρότεροι. Το γεγονός είναι ότι οι επεξεργαστές CISC εμφανίστηκαν πρώτοι και το λογισμικό για επεξεργαστές CISC δεν είναι συμβατό με τους επεξεργαστές RISC.

Ως αποτέλεσμα, είναι εξαιρετικά ασύμφορο να ξαναγράψουμε όλα τα προγράμματα που έχουν ήδη αναπτυχθεί, εντοπιστεί σφαλμάτων και χρησιμοποιούνται από έναν τεράστιο αριθμό χρηστών. Έτσι αποδείχθηκε ότι τώρα αναγκαζόμαστε να χρησιμοποιούμε επεξεργαστές CISC. Είναι αλήθεια, όπως είπα ήδη, οι προγραμματιστές βρήκαν μια συμβιβαστική λύση σε αυτό το πρόβλημα και για πολύ μεγάλο χρονικό διάστημα οι επεξεργαστές CISC χρησιμοποιούν έναν πυρήνα RISC και αντικαθιστούν περίπλοκες οδηγίες με μικροπρογράμματα. Αυτό επέτρεψε να εξομαλυνθεί κάπως η κατάσταση. Ωστόσο, οι επεξεργαστές RISC από τις περισσότερες απόψεις υπερτερούν ακόμη και των επεξεργαστών CISC με πυρήνα RISC.

MISC (Υπολογιστής Minimal Instruction Set)– περαιτέρω ανάπτυξη της αρχιτεκτονικής RISС, με βάση ακόμη μεγαλύτερη απλοποίηση των οδηγιών και μείωση του αριθμού τους. Έτσι, κατά μέσο όρο, οι επεξεργαστές MISC χρησιμοποιούν 20-30 απλές οδηγίες. Αυτή η προσέγγιση κατέστησε δυνατή την περαιτέρω απλοποίηση του σχεδιασμού του επεξεργαστή, τη μείωση της κατανάλωσης ενέργειας και τη μέγιστη χρήση των δυνατοτήτων παράλληλης επεξεργασίας δεδομένων.

VLIW (Πολύ μεγάλη λέξη οδηγιών)– μια αρχιτεκτονική επεξεργαστή που χρησιμοποιεί μεγάλες εντολές που περιέχουν πολλές λειτουργίες ταυτόχρονα, συνδυασμένες από τον μεταγλωττιστή για παράλληλη επεξεργασία. Σε ορισμένες υλοποιήσεις επεξεργαστή, οι οδηγίες μπορεί να είναι έως και 128 ή και 256 bit.

Η αρχιτεκτονική VLIW είναι μια περαιτέρω βελτίωση των αρχιτεκτονικών RISC και MISC με βαθύ παραλληλισμό.

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

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

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

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

Οι πρώτοι επεξεργαστές VLIW εμφανίστηκαν στα τέλη της δεκαετίας του 1980 και αναπτύχθηκαν από την Cydrome. Επεξεργαστές με αυτήν την αρχιτεκτονική περιλαμβάνουν επίσης επεξεργαστές TriMedia από τη Philips, την οικογένεια DSP C6000 από την Texas Instruments, Elbru?s 2000 - έναν επεξεργαστή ρωσικής κατασκευής που αναπτύχθηκε από το MCST με τη συμμετοχή σπουδαστών MIPT, κ.λπ. Υποστήριξη για μεγάλες οδηγίες με ρητό παραλληλισμό διαθέσιμο σε επεξεργαστές της οικογένειας Itanium.

2.3. Τρόποι μείωσης της κατανάλωσης ενέργειας του επεξεργαστή.

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

Η ζωή μας δεν μπορεί πλέον να φανταστεί άνετη χωρίς τη χρήση φορητών υπολογιστών, tablet και smartphone. Ωστόσο, το μόνο πράγμα που επισκιάζει αυτή την τάση είναι η διάρκεια ζωής της μπαταρίας τέτοιων συσκευών. Έτσι, οι φορητοί υπολογιστές, κατά μέσο όρο, μπορούν να λειτουργήσουν αυτόνομα για 3-5 ώρες, τα tablet - λίγο περισσότερο, τα smartphone μπορούν ήδη να διαρκέσουν σχεδόν μια μέρα με πλήρες φορτίο, και όχι όλα. Αλλά όλα αυτά είναι εξαιρετικά μικρά για άνετη εργασία μαζί τους.

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

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

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

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

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

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

Υπάρχουν επίσης λιγότερο δραστικοί τρόποι επίλυσης αυτού του προβλήματος.

Για παράδειγμα, η τεχνολογία EIST (Βελτιωμένη τεχνολογία Intel SpeedStep)σας επιτρέπει να αλλάζετε δυναμικά την κατανάλωση ενέργειας του επεξεργαστή αλλάζοντας τη συχνότητα και την τάση του ρολογιού του επεξεργαστή. Η συχνότητα του ρολογιού αλλάζει λόγω μείωσης ή αύξησης του συντελεστή πολλαπλασιασμού.

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

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

Μια παρόμοια τεχνολογία για τη μείωση της κατανάλωσης ενέργειας, που βασίζεται σε δυναμικές αλλαγές στην τάση και τη συχνότητα ρολογιού, ανάλογα με το φορτίο στον επεξεργαστή, χρησιμοποιείται επίσης από την AMD, ονομάζεται - Cool'n'Quiet.

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

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

Φυσικά, οι προγραμματιστές προσπαθούν να βελτιστοποιήσουν τη δομή του επεξεργαστή για να μειώσουν την κατανάλωση ενέργειας και να επιτρέψουν στον επεξεργαστή να λειτουργεί σε εξαιρετικά χαμηλές τάσεις. Ωστόσο, αυτή η εργασία είναι εξαιρετικά περίπλοκη και χρονοβόρα. Οι πρωτότυποι επεξεργαστές έχουν ήδη πλησιάσει πολύ κοντά στο όριο της ελάχιστης τάσης λειτουργίας και ήδη δυσκολεύονται να διακρίνουν την τάση ενός λογικού από ένα λογικό μηδέν. Ωστόσο, παρά το γεγονός αυτό, οι προγραμματιστές επεξεργαστών, συμπεριλαμβανομένων των μηχανικών της Intel Corporation, υπόσχονται να μειώσουν την κατανάλωση ενέργειας των σύγχρονων επεξεργαστών έως και 100 φορές τα επόμενα δέκα χρόνια. Λοιπόν, ας περιμένουμε να δούμε τι θα βρουν.

3. Προσωρινή μνήμη.

Παρά όλες τις τεχνολογίες και τα κόλπα των προγραμματιστών, η απόδοση του επεξεργαστή εξακολουθεί να εξαρτάται άμεσα από την ταχύτητα λήψης εντολών και δεδομένων από τη μνήμη. Και ακόμα κι αν ο επεξεργαστής έχει μια ισορροπημένη και καλά μελετημένη διοχέτευση, χρησιμοποιεί τεχνολογία Hyper-Threading κ.λπ., αλλά δεν παρέχει την κατάλληλη ταχύτητα για την ανάκτηση δεδομένων και εντολών από τη μνήμη, τότε, ως αποτέλεσμα, η συνολική απόδοση του υπολογιστή δεν θα ανταποκριθεί στις προσδοκίες σας.

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

Η κρυφή μνήμη είναι χτισμένη με βάση την ακριβή μνήμη SRAM (στατική μνήμη τυχαίας πρόσβασης), η οποία παρέχει πρόσβαση σε κελιά μνήμης πολύ πιο γρήγορα από ό,τι σε κελιά μνήμης DRAM (δυναμική μνήμη τυχαίας πρόσβασης), βάσει της οποίας δημιουργείται η RAM. Επιπλέον, η μνήμη SRAM δεν απαιτεί συνεχή αναγέννηση, γεγονός που αυξάνει επίσης την απόδοσή της. Ωστόσο, θα εξετάσουμε τον σχεδιασμό της SRAM, της DRAM και άλλων τύπων μνήμης με περισσότερες λεπτομέρειες στο επόμενο άρθρο και τώρα θα εξετάσουμε λεπτομερέστερα την αρχή λειτουργίας και το σχεδιασμό της κρυφής μνήμης.

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

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

Η ταχύτερη και μικρότερη κρυφή μνήμη είναι η κρυφή μνήμη επιπέδου 1. Συνήθως λειτουργεί στη συχνότητα του επεξεργαστή, έχει χωρητικότητα αρκετών εκατοντάδων kilobyte και βρίσκεται σε κοντινή απόσταση από τις μονάδες δειγματοληψίας δεδομένων και εντολών. Επιπλέον, μπορεί να είναι ενιαίο (αρχιτεκτονική Princeton) ή χωρισμένο σε δύο μέρη (αρχιτεκτονική του Χάρβαρντ): μνήμη εντολών και μνήμη δεδομένων. Οι περισσότεροι σύγχρονοι επεξεργαστές χρησιμοποιούν μια κοινόχρηστη κρυφή μνήμη L1, καθώς αυτό επιτρέπει την ανάκτηση δεδομένων ταυτόχρονα με την ανάκτηση εντολών, η οποία είναι εξαιρετικά σημαντική για τη λειτουργία του αγωγού.

Η κρυφή μνήμη δεύτερου επιπέδου είναι πιο αργή (χρόνος πρόσβασης, κατά μέσο όρο, 8-20 κύκλοι επεξεργαστή), αλλά έχει χωρητικότητα αρκετών megabyte.

Η κρυφή μνήμη επιπέδου 3 είναι ακόμη πιο αργή, αλλά έχει σχετικά μεγάλη χωρητικότητα. Υπάρχουν επεξεργαστές με κρυφή μνήμη τρίτου επιπέδου μεγαλύτερη από 24 MB.

Σε επεξεργαστές πολλαπλών πυρήνων, το τελευταίο επίπεδο της κρυφής μνήμης είναι συνήθως κοινό για όλους τους πυρήνες. Επιπλέον, ανάλογα με το φορτίο στους πυρήνες, η ποσότητα της μνήμης cache τελευταίου επιπέδου που εκχωρείται στον πυρήνα μπορεί να αλλάξει δυναμικά. Εάν ένας πυρήνας έχει υψηλό φορτίο, τότε εκχωρείται περισσότερη κρυφή μνήμη σε αυτόν, μειώνοντας την ποσότητα της κρυφής μνήμης για λιγότερο φορτισμένους πυρήνες. Δεν έχουν όλοι οι επεξεργαστές αυτή τη δυνατότητα, μόνο αυτοί που υποστηρίζουν την τεχνολογία Smart Cache (για παράδειγμα, Intel Smart Cache ή AMD Balanced Smart Cache).

Η χαμηλού επιπέδου μνήμη cache είναι συνήθως ξεχωριστή για κάθε πυρήνα επεξεργαστή.

Εξετάσαμε πώς λειτουργεί η προσωρινή μνήμη, ας δούμε τώρα πώς λειτουργεί.

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

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

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

Η κατάσταση της κρυφής μνήμης γίνεται ακόμη πιο περίπλοκη στους επεξεργαστές πολλαπλών πυρήνων, όπου κάθε πυρήνας περιέχει τη δική του μνήμη cache. Είναι απαραίτητο να εισαχθεί πρόσθετος συγχρονισμός των δεδομένων που είναι αποθηκευμένα στην κρυφή μνήμη διαφορετικών πυρήνων. Για παράδειγμα, το ίδιο μπλοκ δεδομένων από την κύρια μνήμη RAM εισήχθη στη μνήμη cache του πρώτου και του δεύτερου πυρήνα επεξεργαστή. Στη συνέχεια, ο πρώτος επεξεργαστής τροποποίησε αυτό το μπλοκ μνήμης. Αποδεικνύεται ότι η προσωρινή μνήμη του δεύτερου επεξεργαστή περιέχει ήδη παλιά δεδομένα και πρέπει να ενημερωθεί, και αυτό είναι ένα πρόσθετο φορτίο στη μνήμη cache, το οποίο οδηγεί σε μείωση της συνολικής απόδοσης του επεξεργαστή. Αυτή η κατάσταση γίνεται πιο περίπλοκη όσο περισσότεροι πυρήνες υπάρχουν στον επεξεργαστή, τόσο περισσότερα επίπεδα μνήμης cache και τόσο μεγαλύτερος ο όγκος τους.

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

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


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

Λοιπόν, τι θα υπάρχει μέσα στον μικροεπεξεργαστή αν τον αποσυναρμολογήσετε:

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

Στο νούμερο 2 βρίσκεται ο ίδιος ο κρύσταλλος, ο οποίος στην πραγματικότητα είναι το πιο σημαντικό και ακριβό μέρος του μικροεπεξεργαστή για κατασκευή. Χάρη σε αυτόν τον κρύσταλλο γίνονται όλοι οι υπολογισμοί (και αυτή είναι η πιο σημαντική λειτουργία του επεξεργαστή) και όσο πιο περίπλοκος είναι, τόσο πιο τέλειος είναι, τόσο ισχυρότερος είναι ο επεξεργαστής και αντίστοιχα πιο ακριβός . Το κρύσταλλο είναι κατασκευασμένο από πυρίτιο. Στην πραγματικότητα, η διαδικασία κατασκευής είναι πολύ περίπλοκη και περιέχει δεκάδες βήματα, περισσότερες λεπτομέρειες σε αυτό το βίντεο:

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

Το κάλυμμα (1) στερεώνεται στο υπόστρωμα (3) χρησιμοποιώντας μια κόλλα-σφραγιστικό που είναι ανθεκτικό στις υψηλές θερμοκρασίες. Δεν υπάρχει κενό αέρα μεταξύ του κρυστάλλου (2) και το καπάκι παίρνει τη θέση του όταν σκληραίνει, σχηματίζει μια «γέφυρα» μεταξύ του κρυστάλλου του επεξεργαστή και του καπακιού, η οποία εξασφαλίζει πολύ καλή μεταφορά θερμότητας.

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

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

Για παράδειγμα, αυτό είναι το υπόστρωμα επαφής ενός επεξεργαστή Intel Pentium 4 (ο επεξεργαστής είναι ανάποδα):

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

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

Όπως αναφέρθηκε παραπάνω, ο σχεδιασμός διαφορετικών μοντέλων επεξεργαστών από τον ίδιο κατασκευαστή μπορεί να διαφέρει, έχουμε ένα εντυπωσιακό παράδειγμα - τον τετραπύρηνο επεξεργαστή Intel Core 2 Quad, ο οποίος είναι ουσιαστικά 2 επεξεργαστές διπλού πυρήνα της σειράς core 2 duo. , συνδυασμένα σε μία περίπτωση:

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

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

Αυτό είναι όλο κεντρική συσκευή μικροεπεξεργαστή, εν ολίγοις, φυσικά.

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

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

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

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

Για να ορίσουμε εν συντομία έναν κεντρικό επεξεργαστή, υιοθετείται η συντομογραφία «CPU» και επίσης η πολύ κοινή CPU - Central Processing Unit, που μεταφράζεται ως κεντρική μονάδα επεξεργασίας.

Χρήση μικροεπεξεργαστών

Μια συσκευή όπως ο επεξεργαστής είναι ενσωματωμένη σε σχεδόν κάθε ηλεκτρονικό εξοπλισμό, πόσο μάλλον συσκευές όπως τηλεόραση και συσκευή αναπαραγωγής βίντεο, ακόμη και σε παιχνίδια, και τα ίδια τα smartphone είναι ήδη υπολογιστές, αν και διαφέρουν ως προς το σχεδιασμό.

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

Εσωτερικός πολλαπλασιαστής συχνότητας

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

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

Οι δυνατότητες του συντελεστή πολλαπλασιαστή εσωτερικής συχνότητας χρησιμοποιούνται πολύ συχνά από overlockers για να απελευθερώσουν το δυναμικό overclocking του επεξεργαστή.

Προσωρινή μνήμη επεξεργαστή

Ο επεξεργαστής λαμβάνει δεδομένα για μεταγενέστερη εργασία από τη μνήμη RAM, αλλά μέσα στα τσιπ του επεξεργαστή τα σήματα επεξεργάζονται σε πολύ υψηλή συχνότητα και οι κλήσεις προς τις ίδιες τις μονάδες RAM πραγματοποιούνται σε συχνότητα που είναι αρκετές φορές χαμηλότερη.

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

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

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

Η κρυφή μνήμη στους τρέχοντες επεξεργαστές έχει πυραμιδικό σχήμα:

  1. Η κρυφή μνήμη επιπέδου 1 είναι η μικρότερη σε όγκο, αλλά ταυτόχρονα η ταχύτερη σε ταχύτητα και αποτελεί μέρος του τσιπ του επεξεργαστή. Παράγεται με τις ίδιες τεχνολογίες με τους καταχωρητές επεξεργαστών, είναι πολύ ακριβό, αλλά αξίζει την ταχύτητα και την αξιοπιστία του. Αν και μετριέται σε εκατοντάδες kilobyte, που είναι πολύ μικρό, παίζει τεράστιο ρόλο στην απόδοση.
  2. Η κρυφή μνήμη επιπέδου 2, ακριβώς όπως η κρυφή μνήμη επιπέδου 1, βρίσκεται στο τσιπ του επεξεργαστή και λειτουργεί στη συχνότητα του πυρήνα του. Στους σύγχρονους επεξεργαστές, τα δεδομένα μετρώνται από εκατοντάδες kilobyte έως αρκετά megabyte.
  3. Η κρυφή μνήμη επιπέδου 3 είναι πιο αργή από τα προηγούμενα επίπεδα αυτού του τύπου μνήμης, αλλά είναι ταχύτερη από τη μνήμη RAM, κάτι που είναι σημαντικό και μετράται σε δεκάδες megabyte.

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

Υποδοχή εγκατάστασης επεξεργαστή (Socket)

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

Τι είναι ένας επεξεργαστής: αρχιτεκτονική και τεχνολογική διαδικασία

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

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

Κατανάλωση ενέργειας και απαγωγή θερμότητας

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

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

Για να συνοψίσουμε το υλικό στο άρθρο - η απάντηση στο ερώτημα τι είναι ένας επεξεργαστής:

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

Διαβάζετε αυτές τις γραμμές από smartphone, tablet ή υπολογιστή. Οποιαδήποτε από αυτές τις συσκευές βασίζεται σε μικροεπεξεργαστή. Ο μικροεπεξεργαστής είναι η «καρδιά» κάθε συσκευής υπολογιστή. Υπάρχουν πολλοί τύποι μικροεπεξεργαστών, αλλά όλοι λύνουν τα ίδια προβλήματα. Σήμερα θα μιλήσουμε για το πώς λειτουργεί ο επεξεργαστής και ποιες εργασίες εκτελεί. Με την πρώτη ματιά όλα αυτά φαίνονται προφανή. Αλλά πολλοί χρήστες θα ενδιαφερόντουσαν να εμβαθύνουν τις γνώσεις τους σχετικά με το πιο σημαντικό στοιχείο που κάνει τον υπολογιστή να λειτουργεί. Θα μάθουμε πώς η τεχνολογία που βασίζεται στην απλή ψηφιακή λογική επιτρέπει στον υπολογιστή σας όχι μόνο να λύνει μαθηματικά προβλήματα, αλλά και να είναι ένα κέντρο ψυχαγωγίας. Πώς μόνο δύο αριθμοί - ένας και μηδέν - μεταμορφώνονται σε πολύχρωμα παιχνίδια και ταινίες; Πολλοί άνθρωποι έχουν κάνει πολλές φορές αυτή την ερώτηση στον εαυτό τους και θα χαρούν να λάβουν απάντηση. Εξάλλου, ακόμη και στην καρδιά του πρόσφατου επεξεργαστή AMD Jaguar, στον οποίο βασίζονται οι τελευταίες κονσόλες παιχνιδιών, βρίσκεται η ίδια αρχαία λογική.

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

Ο ρόλος της Intel στην ιστορία της βιομηχανίας μικροεπεξεργαστών


Μιλάμε για το μοντέλο Intel 4004 Δεν ήταν ισχυρό και μπορούσε να εκτελέσει μόνο πράξεις πρόσθεσης και αφαίρεσης. Μπορούσε να επεξεργαστεί μόνο τέσσερα bit πληροφοριών τη φορά (ήταν δηλαδή 4 bit). Αλλά για την εποχή του η εμφάνισή του ήταν ένα σημαντικό γεγονός. Εξάλλου, ολόκληρος ο επεξεργαστής χωράει σε ένα τσιπ. Πριν από το Intel 4004, οι υπολογιστές βασίζονταν σε ένα ολόκληρο σύνολο τσιπ ή διακριτών εξαρτημάτων (τρανζίστορ). Ο μικροεπεξεργαστής 4004 αποτέλεσε τη βάση ενός από τους πρώτους φορητούς υπολογιστές.

Ο πρώτος μικροεπεξεργαστής για οικιακούς υπολογιστές ήταν ο Intel 8080, που παρουσιάστηκε το 1974. Όλη η επεξεργαστική ισχύς ενός υπολογιστή 8-bit περιείχε ένα τσιπ. Αλλά η ανακοίνωση του επεξεργαστή Intel 8088 είχε πραγματικά μεγάλη σημασία. Εμφανίστηκε το 1979 και από το 1981 άρχισε να χρησιμοποιείται στους πρώτους προσωπικούς υπολογιστές μαζικής παραγωγής, τον υπολογιστή IBM.

Τότε οι επεξεργαστές άρχισαν να αναπτύσσονται και να γίνονται πιο ισχυροί. Όποιος είναι τουλάχιστον λίγο εξοικειωμένος με την ιστορία της βιομηχανίας μικροεπεξεργαστών θυμάται ότι το 8088 αντικαταστάθηκε από το 80286. Στη συνέχεια ήρθε το 80386 και ακολούθησε το 80486. Στη συνέχεια υπήρχαν αρκετές γενιές Pentium: Pentium, Pentium II, III και Pentium 4. Όλοι αυτοί οι επεξεργαστές της Intel βασίζονται στη βασική σχεδίαση 8088. Ήταν συμβατοί προς τα πίσω. Αυτό σημαίνει ότι το Pentium 4 μπορούσε να επεξεργαστεί οποιοδήποτε κομμάτι κώδικα για το 8088, αλλά το έκανε με περίπου πέντε χιλιάδες φορές μεγαλύτερη ταχύτητα. Δεν έχουν περάσει πολλά χρόνια από τότε, αλλά αρκετές ακόμη γενιές μικροεπεξεργαστών έχουν αλλάξει.


Από το 2004, η Intel άρχισε να προσφέρει επεξεργαστές πολλαπλών πυρήνων. Ο αριθμός των τρανζίστορ που χρησιμοποιούνται σε αυτά έχει αυξηθεί κατά εκατομμύρια. Αλλά ακόμη και τώρα ο επεξεργαστής υπακούει στους γενικούς κανόνες που δημιουργήθηκαν για τα πρώιμα τσιπ. Ο πίνακας αντικατοπτρίζει την ιστορία των μικροεπεξεργαστών Intel έως το 2004 (συμπεριλαμβανομένου). Θα κάνουμε μερικές εξηγήσεις σχετικά με το τι σημαίνουν οι δείκτες που αντικατοπτρίζονται σε αυτό:
  • Ονομα. Μοντέλο επεξεργαστή
  • Ημερομηνία. Το έτος κατά το οποίο παρουσιάστηκε για πρώτη φορά ο επεξεργαστής. Πολλοί επεξεργαστές εισήχθησαν πολλές φορές, κάθε φορά που αυξανόταν η ταχύτητα ρολογιού τους. Έτσι, η επόμενη τροποποίηση του τσιπ θα μπορούσε να ανακοινωθεί εκ νέου ακόμη και αρκετά χρόνια μετά την εμφάνιση της πρώτης του έκδοσης στην αγορά
  • Τρανζίστορ (Αριθμός τρανζίστορ). Ο αριθμός των τρανζίστορ στο τσιπ. Μπορείτε να δείτε ότι ο αριθμός αυτός αυξάνεται σταθερά
  • Μικρά (Πλάτος σε μικρά). Ένα μικρό ισούται με ένα εκατομμυριοστό του μέτρου. Η τιμή αυτού του δείκτη καθορίζεται από το πάχος του λεπτότερου σύρματος στο τσιπ. Για σύγκριση, το πάχος μιας ανθρώπινης τρίχας είναι 100 μικρά
  • Ταχύτητα ρολογιού. Μέγιστη ταχύτητα επεξεργαστή
  • Πλάτος Δεδομένων. «Χωρητικότητα bit» της αριθμητικής-λογικής μονάδας του επεξεργαστή (ALU). Μια ALU 8-bit μπορεί να προσθέσει, να αφαιρέσει, να πολλαπλασιάσει και να εκτελέσει άλλες λειτουργίες σε δύο αριθμούς 8-bit. Μια ALU 32 bit μπορεί να χειριστεί αριθμούς 32 bit. Για να προσθέσετε δύο αριθμούς 32 bit, μια ALU οκτώ bit πρέπει να εκτελέσει τέσσερις εντολές. Μια ALU 32-bit μπορεί να χειριστεί αυτήν την εργασία σε μία εντολή. Σε πολλές (αλλά όχι σε όλες) περιπτώσεις, το πλάτος του εξωτερικού διαύλου δεδομένων συμπίπτει με το «πλήθος bit» της ALU. Ο επεξεργαστής 8088 είχε 16-bit ALU, αλλά ένα δίαυλο 8-bit. Για τα μεταγενέστερα Pentium, μια τυπική κατάσταση ήταν όταν ο δίαυλος ήταν ήδη 64-bit, αλλά ο ALU ήταν ακόμα 32-bit
  • MIPS (Εκατομμύρια Οδηγίες ανά δευτερόλεπτο). Σας επιτρέπει να εκτιμήσετε κατά προσέγγιση την απόδοση του επεξεργαστή. Οι σύγχρονοι μικροεπεξεργαστές εκτελούν τόσες πολλές διαφορετικές εργασίες που αυτός ο δείκτης έχει χάσει το αρχικό του νόημα και μπορεί να χρησιμοποιηθεί κυρίως για τη σύγκριση της επεξεργαστικής ισχύος πολλών επεξεργαστών (όπως σε αυτόν τον πίνακα)

Υπάρχει άμεση σχέση μεταξύ της ταχύτητας του ρολογιού, καθώς και του αριθμού των τρανζίστορ και του αριθμού των λειτουργιών που εκτελούνται από τον επεξεργαστή ανά δευτερόλεπτο. Για παράδειγμα, η ταχύτητα ρολογιού του επεξεργαστή 8088 έφτασε τα 5 MHz και η απόδοση: μόνο 0,33 εκατομμύρια λειτουργίες ανά δευτερόλεπτο. Δηλαδή, χρειάστηκαν περίπου 15 κύκλοι επεξεργαστή για να εκτελεστεί μία εντολή. Το 2004, οι επεξεργαστές μπορούσαν ήδη να εκτελούν δύο εντολές ανά κύκλο ρολογιού. Αυτή η βελτίωση επιτεύχθηκε αυξάνοντας τον αριθμό των επεξεργαστών στο τσιπ.

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

Λογική μικροεπεξεργαστή


Για να κατανοήσετε πώς λειτουργεί ένας μικροεπεξεργαστής, θα πρέπει να μελετήσετε τη λογική στην οποία βασίζεται, καθώς και να εξοικειωθείτε με τη γλώσσα assembly. Αυτή είναι η μητρική γλώσσα του μικροεπεξεργαστή.

Ο μικροεπεξεργαστής είναι ικανός να εκτελέσει ένα συγκεκριμένο σύνολο εντολών μηχανής (εντολές). Λειτουργώντας με αυτές τις εντολές, ο επεξεργαστής εκτελεί τρεις κύριες εργασίες:

  • Χρησιμοποιώντας την αριθμητική-λογική μονάδα του, ο επεξεργαστής εκτελεί μαθηματικές πράξεις: πρόσθεση, αφαίρεση, πολλαπλασιασμό και διαίρεση. Οι σύγχρονοι μικροεπεξεργαστές υποστηρίζουν πλήρως τις λειτουργίες κινητής υποδιαστολής (χρησιμοποιώντας έναν αποκλειστικό αριθμητικό επεξεργαστή κινητής υποδιαστολής)
  • Ο μικροεπεξεργαστής είναι ικανός να μεταφέρει δεδομένα από έναν τύπο μνήμης στον άλλο
  • Ο μικροεπεξεργαστής έχει τη δυνατότητα να λάβει μια απόφαση και, με βάση την απόφαση που λαμβάνει, να «πηδήξει», δηλαδή να μεταβεί στην εκτέλεση ενός νέου συνόλου εντολών

Ο μικροεπεξεργαστής περιέχει:

  • Διεύθυνση λεωφορείου. Το πλάτος αυτού του διαύλου μπορεί να είναι 8, 16 ή 32 bit. Ασχολείται με την αποστολή της διεύθυνσης στη μνήμη
  • Δίαυλος δεδομένων: πλάτος 8, 16, 32 ή 64 bit. Αυτός ο δίαυλος μπορεί να στείλει δεδομένα στη μνήμη ή να λάβει δεδομένα από τη μνήμη. Όταν μιλάνε για την «χωρητικότητα bit» ενός επεξεργαστή, μιλάμε για το πλάτος του διαύλου δεδομένων
  • Τα κανάλια RD (ανάγνωση) και WR (εγγραφή) παρέχουν αλληλεπίδραση με τη μνήμη
  • Γραμμή ρολογιού (διαύλου παλμού χρονισμού), που παρέχει κύκλους ρολογιού επεξεργαστή
  • Επαναφορά γραμμής (διαύλου διαγραφής, διαύλου επαναφοράς), που επαναφέρει τον μετρητή προγράμματος και επανεκκινεί την εκτέλεση εντολών

Δεδομένου ότι οι πληροφορίες είναι αρκετά περίπλοκες, θα υποθέσουμε ότι το πλάτος και των δύο διαύλων - των διαύλων διεύθυνσης και δεδομένων - είναι μόνο 8 bit. Ας ρίξουμε μια γρήγορη ματιά στα στοιχεία αυτού του σχετικά απλού μικροεπεξεργαστή:

  • Οι καταχωρητές A, B και C είναι λογικά τσιπ που χρησιμοποιούνται για ενδιάμεση αποθήκευση δεδομένων
  • Το μάνδαλο διεύθυνσης είναι παρόμοιο με τους καταχωρητές A, B και C
  • Ο μετρητής προγράμματος είναι ένα λογικό τσιπ (μάνδαλο) ικανό να αυξάνει μια τιμή κατά ένα σε ένα βήμα (αν λάβει την αντίστοιχη εντολή) και να μηδενίζει την τιμή (υπό την επιφύλαξη λήψης της αντίστοιχης εντολής)
  • Μια ALU (αριθμητική λογική μονάδα) μπορεί να εκτελεί πράξεις πρόσθεσης, αφαίρεσης, πολλαπλασιασμού και διαίρεσης μεταξύ αριθμών 8-bit ή να λειτουργεί ως κανονικός αθροιστής
  • Ο καταχωρητής δοκιμής είναι ένα ειδικό μάνδαλο που αποθηκεύει τα αποτελέσματα των πράξεων σύγκρισης που εκτελούνται από την ALU. Συνήθως, η ALU συγκρίνει δύο αριθμούς και καθορίζει εάν είναι ίσοι ή ο ένας είναι μεγαλύτερος από τον άλλο. Ο καταχωρητής δοκιμής είναι επίσης ικανός να αποθηκεύσει το bit μεταφοράς της τελευταίας ενέργειας του αθροιστή. Αποθηκεύει αυτές τις τιμές σε ένα κύκλωμα flip-flop. Αυτές οι τιμές μπορούν αργότερα να χρησιμοποιηθούν από τον αποκωδικοποιητή εντολών για τη λήψη αποφάσεων
  • Έξι μπλοκ στο διάγραμμα φέρουν την ένδειξη "3-Κατάσταση". Αυτά είναι buffer ταξινόμησης. Πολλαπλές πηγές εξόδου μπορούν να συνδεθούν σε ένα καλώδιο, αλλά η προσωρινή μνήμη ταξινόμησης επιτρέπει μόνο σε μία από αυτές (σε μία φορά) να μεταδώσει μια τιμή: "0" ή "1". Έτσι, το buffer ταξινόμησης μπορεί να παρακάμψει τιμές ή να αποκλείσει την πηγή εξόδου από τη μετάδοση δεδομένων
  • Ο καταχωρητής εντολών και ο αποκωδικοποιητής εντολών διατηρούν υπό έλεγχο όλα τα παραπάνω στοιχεία

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

  • "Η εγγραφή Α δέχεται την τιμή που προέρχεται αυτήν τη στιγμή από το δίαυλο δεδομένων"
  • "Η εγγραφή Β δέχεται την τιμή που προέρχεται αυτήν τη στιγμή από το δίαυλο δεδομένων"
  • "Το μητρώο C δέχεται την τιμή που προέρχεται αυτήν τη στιγμή από την αριθμητική λογική μονάδα."
  • "Ο καταχωρητής μετρητή προγράμματος παίρνει την τιμή που προέρχεται αυτήν τη στιγμή από το δίαυλο δεδομένων"
  • "Εγγραφή διευθύνσεων για αποδοχή της τιμής που προέρχεται από το δίαυλο δεδομένων"
  • "Ο καταχωρητής εντολών δέχεται την τιμή που προέρχεται αυτήν τη στιγμή από το δίαυλο δεδομένων"
  • "Αυξήστε την τιμή του μετρητή προγράμματος [κατά ένα]"
  • "Ο μετρητής εντολών θα μηδενιστεί"
  • "Ενεργοποίηση ενός από τα έξι buffer ταξινόμησης" (έξι ξεχωριστές γραμμές ελέγχου)
  • «Πείτε στην αριθμητική λογική μονάδα ποια λειτουργία πρέπει να εκτελέσει».
  • "Ο καταχωρητής δοκιμής δέχεται δοκιμαστικά bit από την ALU"
  • "Ενεργοποίηση RD (κανάλι ανάγνωσης)"
  • "Ενεργοποίηση WR (κανάλι εγγραφής)"

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

Μνήμη μικροεπεξεργαστή


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

Παραπάνω γράψαμε για λεωφορεία (διεύθυνση και δεδομένα), καθώς και για κανάλια ανάγνωσης (RD) και εγγραφής (WR). Αυτοί οι δίαυλοι και τα κανάλια συνδέονται με τη μνήμη: μνήμη τυχαίας πρόσβασης (RAM) και μνήμη μόνο για ανάγνωση (ROM). Στο παράδειγμά μας, θεωρούμε έναν μικροεπεξεργαστή του οποίου το πλάτος κάθε διαύλου είναι 8 bit. Αυτό σημαίνει ότι είναι ικανό να διευθύνει 256 byte (δύο στην όγδοη δύναμη). Μπορεί να διαβάσει ή να γράψει 8 bit δεδομένων από τη μνήμη ταυτόχρονα. Ας υποθέσουμε ότι αυτός ο απλός μικροεπεξεργαστής έχει 128 byte ROM (ξεκινώντας από τη διεύθυνση 0) ή 128 byte μνήμη RAM (ξεκινώντας από τη διεύθυνση 128).

Μια μονάδα μνήμης μόνο για ανάγνωση περιέχει ένα συγκεκριμένο προκαθορισμένο μόνιμο σύνολο byte. Ο δίαυλος διευθύνσεων ζητά ένα συγκεκριμένο byte από τη ROM να μεταφερθεί στο δίαυλο δεδομένων. Όταν το κανάλι ανάγνωσης (RD) αλλάζει κατάσταση, η μονάδα ROM παρέχει το ζητούμενο byte στο δίαυλο δεδομένων. Δηλαδή, σε αυτήν την περίπτωση, είναι δυνατή μόνο η ανάγνωση δεδομένων.

Ο επεξεργαστής δεν μπορεί μόνο να διαβάσει πληροφορίες από τη μνήμη RAM, μπορεί επίσης να γράψει δεδομένα σε αυτήν. Ανάλογα με το αν εκτελείται ανάγνωση ή εγγραφή, το σήμα εισέρχεται είτε στο κανάλι ανάγνωσης (RD) είτε στο κανάλι εγγραφής (WR). Δυστυχώς, η μνήμη RAM είναι ασταθής. Όταν η τροφοδοσία είναι απενεργοποιημένη, χάνει όλα τα δεδομένα που είναι αποθηκευμένα σε αυτήν. Για αυτόν τον λόγο, ένας υπολογιστής χρειάζεται μια μη πτητική συσκευή αποθήκευσης μόνο για ανάγνωση.

Επιπλέον, θεωρητικά, ένας υπολογιστής μπορεί να κάνει χωρίς RAM καθόλου. Πολλοί μικροελεγκτές επιτρέπουν την απευθείας τοποθέτηση των απαραίτητων byte δεδομένων στο τσιπ του επεξεργαστή. Αλλά είναι αδύνατο να γίνει χωρίς ROM. Στους προσωπικούς υπολογιστές, η ROM ονομάζεται βασικό σύστημα εισόδου και εξόδου (BIOS, Basic Input/Output System). Κατά την εκκίνηση, ο μικροεπεξεργαστής ξεκινά τη δουλειά του εκτελώντας τις εντολές που βρήκε στο BIOS.

Οι εντολές του BIOS εκτελούν δοκιμές στο υλικό του υπολογιστή και, στη συνέχεια, αποκτούν πρόσβαση στον σκληρό δίσκο και επιλέγουν τον τομέα εκκίνησης. Αυτός ο τομέας εκκίνησης είναι ένα ξεχωριστό μικρό πρόγραμμα που το BIOS διαβάζει πρώτα από το δίσκο και μετά τοποθετεί στη μνήμη RAM. Μετά από αυτό, ο μικροεπεξεργαστής αρχίζει να εκτελεί εντολές από τον τομέα εκκίνησης που βρίσκεται στη μνήμη RAM. Το πρόγραμμα τομέα εκκίνησης λέει στον μικροεπεξεργαστή ποια δεδομένα (που προορίζονται για μετέπειτα εκτέλεση από τον επεξεργαστή) πρέπει να μετακινηθούν επιπλέον από τον σκληρό δίσκο στη μνήμη RAM. Αυτός είναι ο τρόπος με τον οποίο ο επεξεργαστής φορτώνει το λειτουργικό σύστημα.

Οδηγίες μικροεπεξεργαστή


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

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

  • LOADA mem — Φόρτωση καταχωρητή A από κάποια διεύθυνση μνήμης
  • LOADB mem — Φόρτωση καταχωρητή B από κάποια διεύθυνση μνήμης
  • CONB con — Φορτώστε μια σταθερή τιμή στον καταχωρητή Β
  • SAVEB mem — Αποθηκεύστε την τιμή του καταχωρητή B στη μνήμη σε μια συγκεκριμένη διεύθυνση
  • SAVEC mem — Αποθηκεύστε την τιμή του καταχωρητή C στη μνήμη σε μια συγκεκριμένη διεύθυνση
  • ADD — Προσθέστε (προσθέστε) τις τιμές των καταχωρητών A και B. Αποθηκεύστε το αποτέλεσμα της ενέργειας στον καταχωρητή C
  • SUB — Αφαιρέστε την τιμή του καταχωρητή Β από την τιμή του καταχωρητή Α. Αποθηκεύστε το αποτέλεσμα της ενέργειας στον καταχωρητή Γ
  • MUL — Πολλαπλασιάστε τις τιμές των καταχωρητών A και B. Αποθηκεύστε το αποτέλεσμα της ενέργειας στον καταχωρητή C
  • DIV — Διαιρέστε την τιμή του καταχωρητή Α με την τιμή του καταχωρητή Β. Αποθηκεύστε το αποτέλεσμα της ενέργειας στον καταχωρητή Γ
  • COM - Συγκρίνετε τις τιμές των καταχωρητών Α και Β. Μεταφέρετε το αποτέλεσμα στον καταχωρητή δοκιμής
  • JUMP adr - Μετάβαση στην καθορισμένη διεύθυνση
  • JEQ addr - Εάν η συνθήκη για τις τιμές δύο καταχωρητών είναι ίση, μεταβείτε στην καθορισμένη διεύθυνση
  • JNEQ addr - Εάν η συνθήκη για ίσες τιμές δύο καταχωρητών δεν ικανοποιείται, μεταβείτε στην καθορισμένη διεύθυνση
  • JG addr - Εάν η τιμή είναι μεγαλύτερη, μεταβείτε στην καθορισμένη διεύθυνση
  • JGE addr - Εάν η τιμή είναι μεγαλύτερη ή ίση με, μεταβείτε στην καθορισμένη διεύθυνση
  • JL addr - Εάν η τιμή είναι μικρότερη, μεταβείτε στην καθορισμένη διεύθυνση
  • JLE addr — Εάν η τιμή είναι μικρότερη ή ίση με, μεταβείτε στην καθορισμένη διεύθυνση
  • STOP - Διακοπή εκτέλεσης

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

Λειτουργία μικροεπεξεργαστή χρησιμοποιώντας το παράδειγμα του παραγοντικού υπολογισμού


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

παραγοντικό του 5 = 5! = 5 * 4 * 3 * 2 * 1 = 120

Στη γλώσσα προγραμματισμού C, αυτό το κομμάτι κώδικα που εκτελεί αυτόν τον υπολογισμό θα μοιάζει με αυτό:

A=1;f=1;ενώ (α

Όταν τελειώσει αυτό το πρόγραμμα, η μεταβλητή f θα περιέχει την τιμή του παραγοντικού του πέντε.

Ο μεταγλωττιστής C μεταφράζει (δηλαδή, μεταφράζει) αυτόν τον κώδικα σε ένα σύνολο οδηγιών γλώσσας συναρμολόγησης. Στον επεξεργαστή που εξετάζουμε, η μνήμη RAM ξεκινά από τη διεύθυνση 128 και η μόνιμη μνήμη (η οποία περιέχει γλώσσα συναρμολόγησης) ξεκινά στη διεύθυνση 0. Επομένως, στη γλώσσα αυτού του επεξεργαστή, αυτό το πρόγραμμα θα μοιάζει με αυτό:

// Υποθέστε ότι το a βρίσκεται στη διεύθυνση 128 // Ας υποθέσουμε ότι το F βρίσκεται στη διεύθυνση 1290 CONB 1 // a=1;1 SAVEB 1282 CONB 1 // f=1;3 SAVEB 1294 LOADA 128 // εάν a > 5 το άλμα έως 175 CONB 56 COM7 JG 178 LOADA 129 // f=f*a;9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128 // a=a+1;13 CONB 114 ADD15 SAVEC 128 πίσω σε

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

  • LOADA - 1
  • LOADB - 2
  • CONB - 3
  • SAVEB - 4
  • Μέλος SAVEC - 5
  • ΠΡΟΣΘΗΚΗ - 6
  • ΥΠΟ - 7
  • MUL - 8
  • DIV - 9
  • COM - 10
  • JUMP adr - 11
  • JEQ adr - 12
  • JNEQ adr - 13
  • JG adr - 14
  • JGE adr - 15
  • JL adr - 16
  • JLE διεύθυνση - 17
  • ΣΤΟΠ - 18

// Ας υποθέσουμε ότι το a βρίσκεται στη διεύθυνση 128 // Ας υποθέσουμε ότι το F βρίσκεται στη διεύθυνση 129Addr εντολή/τιμή μηχανής0 3 // CONB 11 12 4 // SAVEB 1283 1284 3 // CONB 15 16 4 // SAVEB 1297 // SAVEB 1291 / 1289 12810 3 // CONB 511 512 10 // COM13 14 // JG 1714 3115 1 // LOADA 12916 12917 2 // LOADB 12818 12819 12819 8 //5 LOADA 12823 1 2824 3 // CONB 125 126 6 // ADD27 5 // SAVEC 12828 12829 11 // JUMP 430 831 18 // STOP

Όπως θα παρατηρήσετε, επτά γραμμές κώδικα C έχουν μετατραπεί σε 18 γραμμές γλώσσας assembly. Πήραν 32 byte στη ROM.

Αποκρυπτογράφηση


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

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

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

  • Κατά τη διάρκεια του πρώτου κύκλου ρολογιού του επεξεργαστή, η εντολή φορτώνεται. Σε αυτό το σημείο, ο αποκωδικοποιητής εντολών πρέπει: να ενεργοποιήσει το buffer ταξινόμησης για τον μετρητή προγράμματος. ενεργοποίηση καναλιού ανάγνωσης (RD). ενεργοποιήστε το μάνδαλο του buffer ταξινόμησης για να περάσουν δεδομένα εισόδου στον καταχωρητή εντολών
  • Κατά τη διάρκεια του δεύτερου κύκλου ρολογιού επεξεργαστή, η εντολή ADD αποκωδικοποιείται. Σε αυτό το στάδιο, η αριθμητική λογική μονάδα εκτελεί πρόσθεση και μεταφέρει την τιμή στον καταχωρητή C
  • Κατά τη διάρκεια του τρίτου κύκλου της συχνότητας ρολογιού του επεξεργαστή, ο μετρητής προγράμματος αυξάνει την τιμή του κατά ένα (θεωρητικά, αυτή η ενέργεια επικαλύπτεται με αυτό που συνέβη κατά τον δεύτερο κύκλο)

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

Μικροεπεξεργαστές: Απόδοση και Τάσεις


Ο αριθμός των τρανζίστορ σε έναν επεξεργαστή είναι ένας σημαντικός παράγοντας που επηρεάζει την απόδοσή του. Όπως φαίνεται νωρίτερα, ο επεξεργαστής 8088 απαιτούσε 15 κύκλους ρολογιού για να εκτελέσει μία εντολή. Και για να πραγματοποιηθεί μία λειτουργία 16-bit, χρειάστηκαν περίπου 80 κύκλοι. Έτσι σχεδιάστηκε ο πολλαπλασιαστής ALU αυτού του επεξεργαστή. Όσο περισσότερα τρανζίστορ και όσο πιο ισχυρός είναι ο πολλαπλασιαστής ALU, τόσο περισσότερα μπορεί να κάνει ο επεξεργαστής σε έναν κύκλο ρολογιού.

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

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

Επεξεργαστές 64 bit


Αν και οι επεξεργαστές 64-bit έγιναν ευρέως διαδεδομένοι μόλις πριν από λίγα χρόνια, υπάρχουν εδώ και σχετικά μεγάλο χρονικό διάστημα: από το 1992. Τόσο η Intel όσο και η AMD προσφέρουν αυτήν τη στιγμή τέτοιους επεξεργαστές. Ένας επεξεργαστής 64-bit μπορεί να θεωρηθεί ότι είναι αυτός που έχει μια αριθμητική λογική μονάδα 64-bit (ALU), καταχωρητές 64-bit και διαύλους 64-bit.

Ο κύριος λόγος που οι επεξεργαστές χρειάζονται 64-bit είναι επειδή η αρχιτεκτονική επεκτείνει τον χώρο διευθύνσεων. Οι επεξεργαστές 32-bit έχουν πρόσβαση μόνο σε δύο ή τέσσερα gigabyte μνήμης RAM. Κάποτε αυτοί οι αριθμοί φαίνονταν γιγάντιοι, αλλά έχουν περάσει χρόνια και σήμερα μια τέτοια ανάμνηση δεν θα εκπλήσσει πλέον κανέναν. Πριν από μερικά χρόνια, η μνήμη ενός τυπικού υπολογιστή ήταν 256 ή 512 megabyte. Εκείνες τις μέρες, το όριο των τεσσάρων gigabyte εμπόδιζε μόνο διακομιστές και μηχανήματα που εκτελούσαν μεγάλες βάσεις δεδομένων.

Αλλά γρήγορα αποδείχθηκε ότι ακόμη και οι απλοί χρήστες μερικές φορές στερούνται δύο ή και τέσσερα gigabyte μνήμης RAM. Αυτός ο ενοχλητικός περιορισμός δεν ισχύει για επεξεργαστές 64-bit. Ο χώρος διευθύνσεων που έχουν στη διάθεσή τους αυτές τις μέρες φαίνεται άπειρος: δύο έως τα εξήντα τέταρτα byte, ή κάτι σαν ένα δισεκατομμύριο gigabyte. Τέτοια γιγάντια μνήμη RAM δεν αναμένεται στο άμεσο μέλλον.

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

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

Βασισμένο σε υλικά από το computer.howstuffworks.com

Ταξινόμηση και τύποι επεξεργαστών. Προδιαγραφές CPU

ΕΠΕΞΕΡΓΑΣΤΗΣ.

Στάδια ανάπτυξης κεντρικών επεξεργαστών για προσωπικούς υπολογιστές. Σύγχρονη τεχνολογία και αρχιτεκτονικές λύσεις. Τεχνολογίες RISC και CISC. Βασικές παράμετροι επεξεργαστών. Επεξεργαστές 32 και 64 bit. Επεξεργαστές 32 bit από μεγάλους κατασκευαστές: Intel, AMD, VIA. Συγκριτική ανάλυση των χαρακτηριστικών των σύγχρονων επεξεργαστών. Κύριες τάσεις και προοπτικές ανάπτυξης.

Ο μαθητής πρέπει να γνωρίζει:

  • κύρια χαρακτηριστικά των επεξεργαστών.
  • σχετικά με τα στάδια ανάπτυξης επεξεργαστή.
  • τύποι επεξεργαστών?
  • κύρια σύγχρονα μοντέλα επεξεργαστών.

Ο μαθητής πρέπει να είναι σε θέση:

  • να προσδιορίσει τα κύρια χαρακτηριστικά του επεξεργαστή χρησιμοποιώντας δοκιμαστικά προγράμματα.

Στόχοι μαθήματος:

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

Η πρόοδος του μαθήματος:

Θεωρητικό μέρος.

Ο «εγκέφαλος» ενός προσωπικού υπολογιστή είναι ένας μικροεπεξεργαστής ή κεντρική μονάδα επεξεργασίας - CPU (Central Processing Unit). Ο μικροεπεξεργαστής εκτελεί υπολογισμούς και επεξεργασία δεδομένων (με εξαίρεση ορισμένες μαθηματικές πράξεις που εκτελούνται σε υπολογιστές που διαθέτουν συμεπεξεργαστή) και είναι συνήθως το πιο ακριβό τσιπ σε έναν υπολογιστή. Όλοι οι υπολογιστές που είναι συμβατοί με υπολογιστή χρησιμοποιούν επεξεργαστές που υποστηρίζουν την οικογένεια τσιπ της Intel, αλλά παράγονται και σχεδιάζονται όχι μόνο από την ίδια την Intel, αλλά και από την AMD, την Cyrix, την IDT και την Rise Technologies.

Η Intel κυριαρχεί επί του παρόντος στην αγορά των επεξεργαστών, αλλά αυτό δεν συνέβαινε πάντα. Η Intel συνδέεται στενά με την εφεύρεση του πρώτου επεξεργαστή και την εμφάνισή του στην αγορά. Η καλύτερη ώρα της Intel και της Microsoft ήρθε το 1981, όταν η IBM κυκλοφόρησε τον πρώτο προσωπικό υπολογιστή, τον IBM PC, με επεξεργαστή Intel 8088 (4,77 MHz) και το Microsoft Disk Operating System (DOS) έκδοση 1.0. Από εδώ και πέρα, σχεδόν όλοι οι προσωπικοί υπολογιστές είναι εξοπλισμένοι με επεξεργαστές Intel και λειτουργικά συστήματα Microsoft.

  • Παράμετροι επεξεργαστή

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

Οι επεξεργαστές μπορούν να ταξινομηθούν σύμφωνα με δύο κύριες παραμέτρους: χωρητικότητα bit και ταχύτητα. Η ταχύτητα του επεξεργαστή είναι μια αρκετά απλή παράμετρος. Μετριέται σε megahertz (MHz). 1 MHz ισούται με ένα εκατομμύριο κύκλους ρολογιού ανά δευτερόλεπτο. Όσο μεγαλύτερη είναι η ταχύτητα, τόσο το καλύτερο (τόσο πιο γρήγορος είναι ο επεξεργαστής). Η χωρητικότητα του επεξεργαστή είναι μια πιο σύνθετη παράμετρος. Ο επεξεργαστής περιλαμβάνει τρεις σημαντικές συσκευές, το κύριο χαρακτηριστικό των οποίων είναι η χωρητικότητα bit:

  • Δίαυλος εισαγωγής και εξόδου δεδομένων.
  • εσωτερικά μητρώα·
  • Δίαυλος διευθύνσεων μνήμης.

Οι επεξεργαστές με ταχύτητες ρολογιού μικρότερες από 16 MHz δεν έχουν ενσωματωμένη κρυφή μνήμη. Σε συστήματα πριν από τον επεξεργαστή 486, εγκαταστάθηκε γρήγορη μνήμη cache στην πλακέτα συστήματος. Ξεκινώντας με τους 486 επεξεργαστές, η κρυφή μνήμη L1 εγκαταστάθηκε απευθείας στο πλαίσιο και λειτουργούσε με ταχύτητα επεξεργαστή. Και η προσωρινή μνήμη στη μητρική πλακέτα άρχισε να ονομάζεται προσωρινή μνήμη δεύτερου επιπέδου. Δούλευε ήδη σε συχνότητες που υποστηρίζονται από τη μητρική πλακέτα.

Στους επεξεργαστές Pentium Pro και Pentium II, η προσωρινή μνήμη L2 είναι εγκατεστημένη στη συσκευασία και είναι φυσικά ένα ξεχωριστό τσιπ. Τις περισσότερες φορές, μια τέτοια μνήμη λειτουργεί στη μισή (επεξεργαστές Pentium II/III και AMD Athlon) ή ακόμη λιγότερο (τα δύο πέμπτα ή το ένα τρίτο) της συχνότητας πυρήνα του επεξεργαστή.

Σε επεξεργαστές Pentium Pro, Pentium II/III Xeon, σύγχρονους επεξεργαστές Pentium III, Celeron, K6-3, Athlon (μοντέλο 4), Duron, η κρυφή μνήμη λειτουργεί στη συχνότητα πυρήνα. Ο λόγος που η κρυφή μνήμη L2 έτρεχε σε χαμηλότερη συχνότητα από τον πυρήνα του επεξεργαστή ήταν αρκετά απλός: τα υπάρχοντα τσιπ μνήμης cache δεν πληρούσαν τους όρους της αγοράς. Η Intel δημιούργησε ένα τσιπ μνήμης cache υψηλής ταχύτητας για τον επεξεργαστή Xeon, το κόστος του οποίου αποδείχθηκε εξαιρετικά υψηλό. Ωστόσο, η εμφάνιση νέων τεχνολογιών επεξεργαστών κατέστησε δυνατή τη χρήση της κρυφής μνήμης που λειτουργεί με ταχύτητα πυρήνα σε φθηνούς επεξεργαστές Celeron δεύτερης γενιάς. Αυτό το σχέδιο υιοθετήθηκε από τη δεύτερη γενιά Intel Pentium III, καθώς και από τους επεξεργαστές K6-3, Athlon και Duron της AMD. Αυτή η αρχιτεκτονική, που χρησιμοποιείται επί του παρόντος σε όλα σχεδόν τα σχέδια της Intel και της AMD, είναι ο μόνος περισσότερο ή λιγότερο οικονομικός τρόπος χρήσης της υψηλής ταχύτητας μνήμης cache L2.

Ταχύτητα επεξεργαστή

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

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

Ρύζι. 1. Γραφική αναπαράσταση της έννοιας της συχνότητας ρολογιού

Η μικρότερη μονάδα χρόνου (κβαντικό) για έναν επεξεργαστή ως λογική συσκευή είναι η περίοδος του ρολογιού ή απλά το ρολόι. Κάθε λειτουργία απαιτεί τουλάχιστον έναν κύκλο. Για παράδειγμα, ο επεξεργαστής Pentium II πραγματοποιεί ανταλλαγή δεδομένων με μνήμη σε τρεις κύκλους ρολογιού συν αρκετούς κύκλους αναμονής. (Ένας κύκλος αναμονής είναι ένας κύκλος ρολογιού στον οποίο δεν συμβαίνει τίποτα· είναι απαραίτητο μόνο να αποτρέψουμε τον επεξεργαστή να «τρέξει» μπροστά από πιο αργούς κόμβους υπολογιστή.)

Ο χρόνος που απαιτείται για την εκτέλεση εντολών ποικίλλει επίσης.

8086 Και 8088 . Σε αυτούς τους επεξεργαστές, χρειάζονται περίπου 12 κύκλοι ρολογιού για να εκτελεστεί μία εντολή.

286 Και 386 . Αυτοί οι επεξεργαστές μείωσαν τον χρόνο εκτέλεσης εντολών σε περίπου 4,5 κύκλους ρολογιού.

Οι 486 και οι περισσότεροι επεξεργαστές τέταρτης γενιάς συμβατοί με την Intel, όπως ο 5x86 της AMD, έχουν μειώσει σε 2 κύκλους ρολογιού.

Σειρά Pentium, Κ6. Η αρχιτεκτονική του Pentium και άλλων επεξεργαστών πέμπτης γενιάς συμβατών με Intel από την AMD και την Cyrix, η οποία περιλαμβάνει διπλές αγωγές εντολών και άλλες βελτιώσεις, επιτρέπει την εκτέλεση μίας ή δύο εντολών ανά κύκλο ρολογιού.

Pentium Pro, Pentium II/III/Celeron και Athlon/Duron. Οι επεξεργαστές κατηγορίας P6, καθώς και άλλοι επεξεργαστές έκτης γενιάς που δημιουργήθηκαν από την AMD και την Cyrix, σας επιτρέπουν να εκτελέσετε τουλάχιστον τρεις εντολές ανά κύκλο ρολογιού.

Ο ποικίλος αριθμός των κύκλων ρολογιού που απαιτούνται για την εκτέλεση εντολών καθιστά δύσκολη τη σύγκριση της απόδοσης των υπολογιστών με βάση αποκλειστικά την ταχύτητα του ρολογιού τους (δηλ. τον αριθμό των κύκλων ρολογιού ανά δευτερόλεπτο). Γιατί ένας επεξεργαστής λειτουργεί πιο γρήγορα από έναν άλλο με την ίδια ταχύτητα ρολογιού; Ο λόγος βρίσκεται στην απόδοση.

Ο επεξεργαστής 486 είναι ταχύτερος από τον 386 επειδή απαιτεί κατά μέσο όρο τους μισούς κύκλους ρολογιού από τον 386 για να εκτελέσει μια εντολή. Και ο επεξεργαστής Pentium έχει δύο φορές λιγότερους κύκλους ρολογιού από τον 486. Έτσι, ένας επεξεργαστής 486 χρονισμένος στα 133 MHz (τύπου AMD 5x86-133) είναι ακόμη πιο αργός από έναν Pentium χρονισμένο στα 75 MHz! Αυτό συμβαίνει επειδή ο Pentium εκτελεί διπλάσιες εντολές από τον επεξεργαστή 486 στην ίδια συχνότητα. αριθμός κύκλων.

Συγκρίνοντας τις σχετικές αποδόσεις των επεξεργαστών, μπορεί κανείς να δει ότι η απόδοση ενός Pentium III που τρέχει στα 1000 MHz είναι θεωρητικά ίση με την απόδοση ενός Pentium που τρέχει στα 1500 MHz, που με τη σειρά του είναι θεωρητικά ίση με την απόδοση ενός 486 που τρέχει. στα 3.000 MHz, και, με τη σειρά του, είναι θεωρητικά ίσο με την απόδοση των επεξεργαστών 386 ή 286 που λειτουργούν σε συχνότητα ρολογιού 6.000 MHz ή του 8088, που λειτουργεί σε συχνότητα ρολογιού 12.000 MHz. Λαμβάνοντας υπόψη ότι ο αρχικός υπολογιστής 8088 χρονολογήθηκε μόλις στα 4,77 MHz, οι σημερινοί υπολογιστές είναι πάνω από 1.500 φορές πιο γρήγοροι από αυτό. Επομένως, δεν μπορείτε να συγκρίνετε την απόδοση του υπολογιστή με βάση μόνο την ταχύτητα του ρολογιού. Πρέπει να ληφθεί υπόψη ότι και άλλοι παράγοντες επηρεάζουν την αποτελεσματικότητα του συστήματος.

Η αξιολόγηση της απόδοσης ενός κεντρικού επεξεργαστή είναι αρκετά δύσκολη. Οι κεντρικοί επεξεργαστές με διαφορετικές εσωτερικές αρχιτεκτονικές εκτελούν εντολές με διαφορετικό τρόπο: οι ίδιες εντολές σε διαφορετικούς επεξεργαστές μπορούν να εκτελεστούν είτε πιο γρήγορα είτε πιο αργά. Για να βρει ένα ικανοποιητικό μέτρο για τη σύγκριση CPU διαφορετικών αρχιτεκτονικών που λειτουργούν με διαφορετικές ταχύτητες ρολογιού, η Intel επινόησε ένα συγκεκριμένο σύνολο σημείων αναφοράς που μπορούν να εκτελεστούν σε τσιπ Intel για τη μέτρηση της σχετικής απόδοσης των επεξεργαστών. Αυτό το σύστημα αναφοράς τροποποιήθηκε πρόσφατα για τη μέτρηση της απόδοσης των επεξεργαστών 32-bit. ονομάζεται δείκτης (ή δείκτης) iCOMP 2.0 (Intel Comparative Microprocessor Performance - συγκριτική απόδοση του μικροεπεξεργαστή Intel). Η τρίτη έκδοση αυτού του ευρετηρίου χρησιμοποιείται αυτήν τη στιγμή - iCOMP 3.0.

Ταχύτητα ρολογιού CPU

Σχεδόν όλοι οι σύγχρονοι επεξεργαστές, ξεκινώντας από τον 486DX2, λειτουργούν με συχνότητα ρολογιού ίση με το γινόμενο ενός συγκεκριμένου πολλαπλασιαστή και τη συχνότητα ρολογιού της μητρικής πλακέτας. Για παράδειγμα, ο επεξεργαστής Celeron 600 τρέχει με εννέα φορές την ταχύτητα ρολογιού της μητρικής πλακέτας (66 MHz) και ο Pentium III 1000 τρέχει με επτάμισι φορές την ταχύτητα ρολογιού της μητρικής πλακέτας (133 MHz). Οι περισσότερες μητρικές έτρεχαν στα 66 MHz. Αυτή είναι η συχνότητα που υποστήριζαν όλοι οι επεξεργαστές της Intel μέχρι τις αρχές του 1998 και μόλις πρόσφατα η εταιρεία ανέπτυξε επεξεργαστές και chipset που μπορούν να τρέχουν σε μητρικές πλακέτες με ονομαστική συχνότητα 100 MHz. Ορισμένοι επεξεργαστές Cyrix έχουν σχεδιαστεί για μητρικές πλακέτες με ονομαστική συχνότητα 75 MHz και πολλές μητρικές που έχουν σχεδιαστεί για Pentium μπορούν επίσης να λειτουργούν με αυτήν την ταχύτητα. Συνήθως, η ταχύτητα ρολογιού και ο πολλαπλασιαστής της πλακέτας συστήματος μπορούν να ρυθμιστούν χρησιμοποιώντας βραχυκυκλωτήρες ή άλλες διαδικασίες διαμόρφωσης της πλακέτας συστήματος (για παράδειγμα, επιλέγοντας κατάλληλες τιμές στο πρόγραμμα ρύθμισης του BIOS).

Στα τέλη του 1999, εμφανίστηκαν chipset και μητρικές πλακέτες με ταχύτητα ρολογιού 133 MHz, που υποστηρίζουν όλες τις σύγχρονες εκδόσεις του επεξεργαστή Pentium III. Ταυτόχρονα, η AMD κυκλοφόρησε μητρικές πλακέτες Athlon και chipset 100 MHz χρησιμοποιώντας τεχνολογία διπλής μεταφοράς δεδομένων. Αυτό επέτρεψε στον ρυθμό μεταφοράς δεδομένων μεταξύ του επεξεργαστή Athlon και του κύριου chipset να αυξηθεί στα 200 MHz.

Μέχρι το 2001, η ταχύτητα των διαύλων επεξεργαστών AMD Athlon και Intel Itanium αυξήθηκε στα 266 MHz και η ταχύτητα διαύλου επεξεργαστή Pentium 4 αυξήθηκε στα 400 MHz.

Μερικές φορές τίθεται το ερώτημα γιατί ο ισχυρός επεξεργαστής Itanium χρησιμοποιεί πιο αργό δίαυλο CPU από τον Pentium 4. Αυτή η ερώτηση είναι εξαιρετικά επίκαιρη! Η απάντηση πιθανότατα βρίσκεται στο γεγονός ότι αυτά τα στοιχεία δημιουργήθηκαν από εντελώς διαφορετικές ομάδες προγραμματιστών με διαφορετικούς στόχους και στόχους. Ο επεξεργαστής Itanium, που αναπτύχθηκε από κοινού με την HP (Hewlett Packard), σχεδιάστηκε για να χρησιμοποιεί μνήμη διπλού ρυθμού δεδομένων (DDR), η οποία με τη σειρά της λειτουργεί σε πιο φιλικό προς τους διακομιστές 266 MHz. Η αντιστοίχιση της ταχύτητας του διαύλου CPU με τον δίαυλο μνήμης επιτρέπει την υψηλότερη απόδοση, επομένως ένα σύστημα που χρησιμοποιεί DDR SDRAM αποδίδει καλύτερα εάν η ταχύτητα ρολογιού του διαύλου CPU (κεντρική μονάδα επεξεργασίας) είναι επίσης 266 MHz.

Από την άλλη πλευρά, το Pentium 4 σχεδιάστηκε για να χρησιμοποιεί RDRAM, επομένως η ταχύτητα του διαύλου συστήματος ταιριάζει με αυτή του RDRAM. Λάβετε υπόψη ότι η απόδοση του διαύλου, όπως κάθε επεξεργαστής που κυκλοφορεί από την Intel, ενδέχεται να αλλάξει στο μέλλον.

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

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

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

  • Αποδοτικότητα επεξεργαστών Cyrix

Η σήμανση των επεξεργαστών Cyrix/IBM 6×86 χρησιμοποιεί την κλίμακα PR (Performance Rating), οι τιμές της οποίας δεν είναι ίσες με την πραγματική συχνότητα ρολογιού σε megahertz. Για παράδειγμα, ο επεξεργαστής Cyrix 6x86MX/MII-PR366 λειτουργεί στην πραγματικότητα με ταχύτητα ρολογιού 250 MHz (2,5×100 MHz). Η ταχύτητα ρολογιού της μητρικής πλακέτας του καθορισμένου επεξεργαστή θα πρέπει να ρυθμιστεί σαν να εγκαθιστάτε έναν επεξεργαστή με συχνότητα ρολογιού 250 και όχι 366 MHz (όπως υποδηλώνει ο αριθμός 366 στην ετικέτα).

Λάβετε υπόψη ότι ο επεξεργαστής Cyrix 6x86MX-PR200 μπορεί να λειτουργεί στα 150, 165, 166 ή 180 MHz, αλλά όχι στα 200 MHz. Αυτή η αξιολόγηση απόδοσης προορίζεται να συγκριθεί με τους αρχικούς επεξεργαστές Intel Pentium (Ο Celeron, ο Pentium II ή ο Pentium III δεν περιλαμβάνονται σε αυτήν την αξιολόγηση).

Υποτίθεται ότι η βαθμολογία απόδοσης (P-Rating) καθορίζει την απόδοση του επεξεργαστή σε σχέση με τον Intel Pentium. Αλλά πρέπει να σημειωθεί ότι ο συγκριμένος επεξεργαστής Cyrix δεν περιέχει τεχνολογία MMX, η κρυφή μνήμη L1 είναι μικρότερη, χρησιμοποιεί μια αρκετά παλιά πλατφόρμα μητρικής πλακέτας και chipset, για να μην αναφέρουμε πιο αργή μνήμη. Για αυτούς τους λόγους, η κλίμακα P-Rating δεν είναι πολύ χρήσιμη όταν συγκρίνετε επεξεργαστές Cyrix με Celeron, Pentium II ή Pentium III, πράγμα που σημαίνει ότι βαθμολογούνται καλύτερα από την πραγματική απόδοση. Με άλλα λόγια, ο επεξεργαστής Cyrix 6x86MX/MII-PR366 τρέχει μόνο στα 250 MHz και μπορεί να συγκριθεί με επεξεργαστές Intel με παρόμοιες ταχύτητες ρολογιού. Πιστεύω ότι η ετικέτα MII-366 για έναν επεξεργαστή που τρέχει πραγματικά στα 250 MHz είναι λίγο παραπλανητική για να πούμε το λιγότερο.

  • Αποδοτικότητα επεξεργαστών AMD

Η απόδοση των επεξεργαστών της σειράς AMD K5 συγκρίνεται με παρόμοιο τρόπο. Η βαθμολογία απόδοσης των σειρών K6 και Athlon υποδεικνύει την πραγματική συχνότητα λειτουργίας. Σε επεξεργαστές της οικογένειας Athlon, ο δίαυλος λειτουργεί με διπλάσια συχνότητα από τη μητρική πλακέτα (200 MHz).

Δίαυλος δεδομένων

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

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

Τα δεδομένα σε έναν υπολογιστή μεταδίδονται με τη μορφή αριθμών σε τακτά χρονικά διαστήματα. Για τη μετάδοση ενός μόνο bit δεδομένων σε ένα συγκεκριμένο χρονικό διάστημα, αποστέλλεται ένα σήμα υψηλής τάσης (περίπου 5 V) και για τη μετάδοση ενός bit δεδομένων μηδέν, αποστέλλεται ένα σήμα χαμηλής τάσης (περίπου 0 V). Όσο περισσότερες γραμμές, τόσο περισσότερα bit μπορούν να μεταδοθούν ταυτόχρονα. Οι επεξεργαστές 286 και 386SX χρησιμοποιούν 16 συνδέσεις για την αποστολή και τη λήψη δυαδικών δεδομένων, επομένως διαθέτουν δίαυλο δεδομένων 16 bit. Ένας επεξεργαστής 32 bit, όπως ο 486 ή ο 386DX, έχει διπλάσιες από αυτές τις συνδέσεις, επομένως μεταφέρει διπλάσια δεδομένα ανά μονάδα χρόνου από έναν επεξεργαστή 16 bit. Οι σύγχρονοι επεξεργαστές τύπου Pentium διαθέτουν εξωτερικούς διαύλους δεδομένων 64 bit. Αυτό σημαίνει ότι οι επεξεργαστές Pentium, συμπεριλαμβανομένων των αρχικών Pentium, Pentium Pro και Pentium II, μπορούν να ωθήσουν 64 bit δεδομένων στη μνήμη του συστήματος (ή εκτός) κάθε φορά.

Ας φανταστούμε ότι το ελαστικό είναι ένας αυτοκινητόδρομος με αυτοκίνητα να κινούνται κατά μήκος του. Εάν ένας αυτοκινητόδρομος έχει μόνο μία λωρίδα προς κάθε κατεύθυνση, τότε μόνο ένα αυτοκίνητο μπορεί να ταξιδεύει κατά μήκος του προς μία κατεύθυνση κάθε φορά. Εάν θέλετε να διπλασιάσετε τη χωρητικότητα ενός δρόμου, για παράδειγμα, θα πρέπει να τον διευρύνετε προσθέτοντας μία ακόμη λωρίδα προς κάθε κατεύθυνση. Έτσι, ένα τσιπ 8-bit μπορεί να θεωρηθεί ως αυτοκινητόδρομος μονής λωρίδας, επειδή μόνο ένα byte δεδομένων περνά μέσα από αυτό τη φορά (ένα byte ισούται με οκτώ bit). Ομοίως, ένας δίαυλος δεδομένων 32 bit μπορεί να μεταφέρει τέσσερα byte πληροφοριών τη φορά, αλλά ένας 64 bit είναι σαν ένας δρόμος ταχείας κυκλοφορίας οκτώ λωρίδων! Ένας αυτοκινητόδρομος χαρακτηρίζεται από τον αριθμό των λωρίδων και ο επεξεργαστής χαρακτηρίζεται από το πλάτος του διαύλου δεδομένων του. Όταν ένα εγχειρίδιο ή φύλλο δεδομένων αναφέρεται σε έναν υπολογιστή 32-bit ή 64-bit, συνήθως αναφέρεται στο πλάτος του διαύλου δεδομένων του επεξεργαστή. Μπορεί να χρησιμοποιηθεί για να εκτιμήσει χονδρικά την απόδοση του επεξεργαστή, και επομένως ολόκληρου του υπολογιστή.

Το πλάτος του διαύλου δεδομένων του επεξεργαστή καθορίζει επίσης το πλάτος της τράπεζας μνήμης. Αυτό σημαίνει ότι ένας επεξεργαστής 32 bit, όπως η κλάση 486, διαβάζει ή γράφει στη μνήμη 32 bit κάθε φορά. Οι επεξεργαστές κατηγορίας Pentium, συμπεριλαμβανομένων των Pentium III και Celeron, διαβάζουν ή γράφουν στη μνήμη 64 bit κάθε φορά.

  • L1 cache

Όλοι οι επεξεργαστές που ξεκινούν με τον 486 διαθέτουν ενσωματωμένο (επίπεδο 1) ελεγκτή κρυφής μνήμης με κρυφή μνήμη 8 KB σε επεξεργαστές 486DX και 32, 64 KB ή περισσότερο στα σύγχρονα μοντέλα. Η κρυφή μνήμη είναι μια μνήμη υψηλής ταχύτητας που έχει σχεδιαστεί για την προσωρινή αποθήκευση κώδικα προγράμματος και δεδομένων. Οι προσβάσεις στην ενσωματωμένη κρυφή μνήμη γίνονται χωρίς καταστάσεις αναμονής, αφού η ταχύτητά της ταιριάζει με τις δυνατότητες του επεξεργαστή, δηλ. Η προσωρινή μνήμη L1 (ή η προσωρινή μνήμη στο τσιπ) εκτελείται με ταχύτητα επεξεργαστή.

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

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

  • L2 cache

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

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

Οι σημερινές τυπικές ταχύτητες ρολογιού της μητρικής πλακέτας είναι 66, 100 ή 133 MHz, αλλά ορισμένοι επεξεργαστές λειτουργούν στα 600 MHz ή υψηλότερες. Τα νεότερα συστήματα δεν χρησιμοποιούν κρυφή μνήμη στη μητρική πλακέτα επειδή οι γρήγορες μονάδες SDRAM ή RDRAM που χρησιμοποιούνται στα σύγχρονα συστήματα Pentium II/Celeron/III μπορούν να λειτουργούν με την ταχύτητα ρολογιού της μητρικής πλακέτας.

Οι επεξεργαστές Celeron με ταχύτητες ρολογιού 300 MHz και άνω, καθώς και οι επεξεργαστές Pentium III με συχνότητες πάνω από 600 MHz, περιέχουν μνήμη cache L2, η ταχύτητα της οποίας είναι ίση με τη συχνότητα του πυρήνα του επεξεργαστή. Η προσωρινή μνήμη στο τσιπ στους επεξεργαστές Duron και στους τελευταίους επεξεργαστές Athlon λειτουργεί επίσης με ταχύτητα επεξεργαστή. Οι προηγούμενες εκδόσεις του επεξεργαστή Athlon, καθώς και οι Pentium II και III, χρησιμοποιούν εξωτερική κρυφή μνήμη με συχνότητα λειτουργίας ίση με το μισό, τα δύο πέμπτα ή το ένα τρίτο της ταχύτητας του ρολογιού του επεξεργαστή. Όπως μπορείτε να δείτε, το τρέχον εύρος ταχυτήτων της κρυφής μνήμης, από τη συχνότητα πλήρους CPU έως τη χαμηλότερη συχνότητα κύριας μνήμης, ελαχιστοποιεί τη διάρκεια αναμονής που μπορεί να ανεχθεί ο επεξεργαστής. Αυτό επιτρέπει στον επεξεργαστή να λειτουργεί σε συχνότητα που είναι πλησιέστερη στην πραγματική του ταχύτητα.

  • Τεχνολογία MMX

Ανάλογα με το περιβάλλον, το MMX μπορεί να σημαίνει επεκτάσεις πολυμέσων ή μαθηματικές επεκτάσεις μήτρας. Η τεχνολογία MMX χρησιμοποιήθηκε σε παλαιότερα μοντέλα επεξεργαστών Pentium πέμπτης γενιάς (Εικ. 2) ως επέκταση που επιταχύνει τη συμπίεση/αποσυμπίεση βίντεο, τον χειρισμό εικόνας, την κρυπτογράφηση και τις λειτουργίες I/O - σχεδόν όλες οι λειτουργίες που χρησιμοποιούνται σε πολλά σύγχρονα προγράμματα.


Υπάρχουν δύο σημαντικές βελτιώσεις στην αρχιτεκτονική του επεξεργαστή MMX.

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

  • Τεχνολογία SSE

Τον Φεβρουάριο του 1999, η Intel παρουσίασε τον επεξεργαστή Pentium III στο κοινό, που περιείχε μια ενημέρωση για την τεχνολογία MMX που ονομάζεται SSE (Streaming SIMD Extensions). Μέχρι αυτό το σημείο, οι οδηγίες SSE ονομάζονταν Katmai New Instructions (KNI), καθώς αρχικά περιλαμβάνονταν στον επεξεργαστή Pentium III, με την κωδική ονομασία Katmai. Οι επεξεργαστές Celeron 533A και ανώτεροι επεξεργαστές που βασίζονται στον πυρήνα Pentium III υποστηρίζουν επίσης οδηγίες SSE. Οι προηγούμενες εκδόσεις του επεξεργαστή Pentium II, καθώς και η Celeron 533 και χαμηλότερη (με βάση τον πυρήνα Pentium II), δεν υποστηρίζουν SSE.

Οι νέες τεχνολογίες SSE σάς επιτρέπουν να εργάζεστε πιο αποτελεσματικά με τρισδιάστατα γραφικά, ροές ήχου και βίντεο (αναπαραγωγή DVD), καθώς και με εφαρμογές αναγνώρισης ομιλίας. Συνολικά, το SSE παρέχει τα ακόλουθα οφέλη:

  • υψηλότερη ανάλυση/ποιότητα κατά την προβολή και την επεξεργασία εικόνων γραφικών.
  • βελτιωμένη ποιότητα αναπαραγωγής αρχείων ήχου και βίντεο σε μορφή MPEG2 και
  • επίσης ταυτόχρονη κωδικοποίηση και αποκωδικοποίηση της μορφής MPEG2 σε εφαρμογές πολυμέσων.
  • μειωμένο φορτίο CPU και αυξημένη ακρίβεια/απόκριση όταν
  • τρέχει λογισμικό αναγνώρισης ομιλίας.

Οι οδηγίες SSE και SSE2 είναι ιδιαίτερα αποτελεσματικές κατά την αποκωδικοποίηση αρχείων MPEG2, το οποίο είναι ένα πρότυπο συμπίεσης ήχου και εικόνας που χρησιμοποιείται σε DVD.

Ένα από τα κύρια πλεονεκτήματα του SSE έναντι του MMX είναι η υποστήριξή του για λειτουργίες κινητής υποδιαστολής SIMD, κάτι που είναι πολύ σημαντικό κατά την επεξεργασία εικόνων γραφικών 3D. Η τεχνολογία SIMD, όπως και το MMX, σας επιτρέπει να εκτελείτε πολλές λειτουργίες ταυτόχρονα όταν ο επεξεργαστής λαμβάνει μία εντολή.

  • 3DNow και ενισχυμένη τεχνολογία 3DNow

Η τεχνολογία 3DNow αναπτύχθηκε από την AMD ως απάντηση στην εφαρμογή υποστήριξης για οδηγίες SSE σε επεξεργαστές Intel. Για πρώτη φορά (Μάιος 1998), το 3DNow εφαρμόστηκε σε επεξεργαστές AMD K6 και αυτή η τεχνολογία αναπτύχθηκε περαιτέρω - Enhanced 3DNow - στους επεξεργαστές Athlon και Duron. Παρόμοια με το SSE, οι τεχνολογίες 3DNow και Enhanced 3DNow έχουν σχεδιαστεί για να επιταχύνουν την επεξεργασία τρισδιάστατων γραφικών, πολυμέσων και άλλων εφαρμογών έντασης υπολογιστών.

Ερωτήσεις ελέγχου

  1. Ποιες συσκευές παρέχουν την ελάχιστη σύνθεση ενός Η/Υ;
  2. Δώστε μια ταξινόμηση των διαφορετικών τύπων μνήμης. Ποιος είναι ο σκοπός τους;
  3. Ποια κύρια στάδια ανάπτυξης της ΤΠΔ γνωρίζετε;
  4. Ποια είναι τα κύρια στοιχεία μιας μητρικής πλακέτας υπολογιστή;
  5. Ποιος είναι ο σκοπός των λεωφορείων Η/Υ;
  6. Ποιες παράμετροι χαρακτηρίζουν την απόδοση του επεξεργαστή;
  7. Ποια είναι τα κύρια χαρακτηριστικά των τσιπ μνήμης;