Hellenica World

.


Στην επιστήμη της αρχιτεκτονικής υπολογιστών, ο Καταχωρητής (Processor register) είναι ένας τύπος μικρής αλλά πολύ γρήγορης μνήμης που βρίσκεται μέσα στο τσιπ του επεξεργαστή. Η μνήμη αυτή χρησιμοποιείται για την βελτίωση της ταχύτητας εκτέλεσης των διαφόρων προγραμμάτων, αφού σε αυτήν συνήθως αποθηκεύονται δεδομένα που χρησιμοποιούνται συνέχεια από τα προγράμματα. Στην περίπτωση αυτή ο καταχωρητής παρέχει πολύ γρήγορη πρόσβαση σε αυτά τα δεδομένα και έτσι το πρόγραμμα εκτελείται πιο γρήγορα. Οι περισσότεροι από τους σύγχρονους ηλεκτρονικούς υπολογιστές λειτουργούν σύμφωνα με την εξής λογική: μεταφέρουν δεδομένα από την κεντρική μνήμη στους καταχωρητές, κάνουν τις διάφορες πράξεις πάνω στα δεδομένα και στην συνέχεια μεταφέρουν το αποτέλεσμα από τους καταχωρητές πίσω στην κύρια μνήμη. Η τεχνική αυτή ονομάζεται load-store architecture.

Η μνήμη ενός ηλεκτρονικού υπολογιστή μπορεί να διαταχθεί σε μορφή πυραμίδας. Τα κατώτερα στρώματα της πυραμίδας προσφέρουν μεγαλύτερη αλλά πιο αργή μνήμη. Αντιθέτως, τα ανώτερα στρώματα της πυραμίδας προσφέρουν μικρότερη μνήμη αλλά πολύ πιο γρήγορη. Το κατώτατο στρώμα της πυραμίδας είναι οι μαγνητικές ταινίες και ανεβαίνοντας προς τα πάνω συναντά κανείς τους USB Flash δίσκους, τα CD-ROM ή DVD-ROM, τους σκληρούς δίσκους, την κύρια μνήμη RAM, την μνήμη L3 / L2 / L1 Cache του επεξεργαστή και τέλος τους καταχωρητές. Άρα λοιπόν οι καταχωρητές βρίσκονται στην κορυφή της πυραμίδας και προσφέρουν την πιο γρήγορη μνήμη που υπάρχει. Δυστυχώς όμως το μέγεθος της μνήμης αυτής είναι πολύ μικρό και περιορισμένο.

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

#include <iostream>


int main()

{

for (int i=0; i<5000; i++)

{

cout << i << endl;

}

return 0;

}

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

#include <iostream>


int main()

{

for (register int i=0; i<5000; i++)

{

cout << i << endl;

}

return 0;

}

Παραδείγματα

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

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

Intel Core Duo 8 8
Intel Core 2 16 16
Pentium 4 8 8
Pentium 4 with EM64T 16 16
Athlon 64 16 16
Athlon MP 8 8
Opteron 240 16 16
Itanium 2 128 128
UltraSPARC IIIi 32 32
POWER3 32 32
6502 3 0

Δείτε επίσης

Ιστορία των μέσων αποθήκευσης δεδομένων

Κρυφή μνήμη ΚΜΕ

Μνήμη τυχαίας προσπέλασης

Μηχανισμός των Αντικυθήρων - Apple I - Commodore - ENIAC - Macintosh - SGI Indy - Sinclair ΖΧ80 - Sinclair ΖΧ81 - Z3 - ZX Spectrum

Ιστορία των υπολογιστών

Προσωπικός υπολογιστής (PC)
Επιτραπέζιος υπολογιστής (Desktop) · Φορητός υπολογιστής (Laptop/Notebook) · Netbook · Tablet · Συσκευές χειρός.

Retrieved from "http://el.wikipedia.org/"
All text is available under the terms of the GNU Free Documentation License

Τεχνολογία

Επιστήμη

Αλφαβητικός κατάλογος

Home